diff --git a/dev/js/src/plugin/server.js b/dev/js/src/plugin/server.js
index 4504e56..76ac11d 100644
--- a/dev/js/src/plugin/server.js
+++ b/dev/js/src/plugin/server.js
@@ -8,7 +8,7 @@
  * @author Nils Diewald
  */
 
-define(["plugin/widget", 'plugin/service', 'state', "util"], function (widgetClass, serviceClass, stateClass) {
+define(['plugin/widget', 'plugin/service', 'state', 'util'], function (widgetClass, serviceClass, stateClass) {
   "use strict";
 
   KorAP.Panel = KorAP.Panel || {};
@@ -109,10 +109,12 @@
       if (!name)
         throw new Error("Missing name of plugin");
 
+      var desc = obj["desc"];
+      
       // Register plugin by name
       var plugin = plugins[name] = {
         name : name,
-        desc : obj["desc"],
+        desc : desc,
         about : obj["about"],
         widgets : [],
         services : []
@@ -181,7 +183,8 @@
             let id = that.addWidget(this, {
               "name": name,
               "src": onClick["template"], // that._interpolateURI(onClick["template"], this.match);
-              "permissions": onClick["permissions"]
+              "permissions": onClick["permissions"],
+              "desc":desc
             });
             plugin["widgets"].push(id);
             
diff --git a/dev/js/src/plugin/service.js b/dev/js/src/plugin/service.js
index 4c91f6a..3a39c4d 100644
--- a/dev/js/src/plugin/service.js
+++ b/dev/js/src/plugin/service.js
@@ -24,6 +24,7 @@
       this.name = data["name"];
       this.src = data["src"];
       this.id = data["id"];
+      this.desc = data["desc"];
       let _perm = new Set();
       let perm = data["permissions"];
       if (perm && Array.isArray(perm)) {
diff --git a/dev/js/src/plugin/widget.js b/dev/js/src/plugin/widget.js
index e661e6d..546cd1b 100644
--- a/dev/js/src/plugin/widget.js
+++ b/dev/js/src/plugin/widget.js
@@ -50,7 +50,11 @@
         this.name, {'cls':['button-icon', 'plugin']}, function (e) {
 
           // Temporary
-          window.alert("Basic information about this plugin");
+          let str = this.name;
+          if (this.desc !== undefined) {
+            str += "\n\n" + this.desc;
+          };
+          window.alert(str);
       }.bind(this));
       
       return obj;
