Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/RequestProcessor.java	(revision 6536)
@@ -394,4 +394,7 @@
 
         r.printf("{ \"request\" : \"%s\"", cmd);
+        if (handler.getUsage() != null) {
+            r.printf(", \"usage\" : \"%s\"", handler.getUsage());
+        }
         r.append(", \"parameters\" : [");
 
@@ -458,4 +461,7 @@
             usage.append("<li>");
             usage.append(handler.getKey());
+            if (sample.getUsage() != null && !sample.getUsage().isEmpty()) {
+                usage.append(" &mdash; <i>").append(sample.getUsage()).append("</i>");
+            }
             if (mandatory != null) {
                 usage.append("<br/>mandatory parameters: ").append(Utils.join(", ", Arrays.asList(mandatory)));
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/AddNodeHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/AddNodeHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/AddNodeHandler.java	(revision 6536)
@@ -49,4 +49,9 @@
     {
         return new String[] { "addtags" };
+    }
+
+    @Override
+    public String getUsage() {
+        return "adds a node (given by its latitude and longitude) to the current dataset";
     }
 
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/AddWayHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/AddWayHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/AddWayHandler.java	(revision 6536)
@@ -50,4 +50,9 @@
     public String[] getOptionalParams() {
         return new String[] { "addtags" };
+    }
+
+    @Override
+    public String getUsage() {
+        return "adds a way (given by a semicolon separated sequence of lat,lon pairs) to the current dataset";
     }
 
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/FeaturesHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/FeaturesHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/FeaturesHandler.java	(revision 6536)
@@ -9,5 +9,5 @@
 
 /**
- * Reports avalable commands, their parameters and examples
+ * Reports available commands, their parameters and examples
  * @since 6091
  */
@@ -78,4 +78,9 @@
 
     @Override
+    public String getUsage() {
+        return "reports available commands, their parameters and examples";
+    }
+
+    @Override
     public String[] getUsageExamples() {
         return new String[] {"/features", "/features?q=import,add_node"}; 
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImageryHandler.java	(revision 6536)
@@ -114,4 +114,9 @@
 
     @Override
+    public String getUsage() {
+        return "adds an imagery layer (e.g. WMS, TMS))";
+    }
+
+    @Override
     public String[] getUsageExamples() {
         final String types = Utils.join("|", Utils.transform(Arrays.asList(ImageryInfo.ImageryType.values()), new Utils.Function<ImageryInfo.ImageryType, String>() {
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/ImportHandler.java	(revision 6536)
@@ -49,4 +49,9 @@
     public String[] getOptionalParams() {
         return new String[] {"new_layer"};
+    }
+
+    @Override
+    public String getUsage() {
+        return "downloads the specified OSM file and adds it to the current data set";
     }
 
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java	(revision 6536)
@@ -77,4 +77,9 @@
 
     @Override
+    public String getUsage() {
+        return "download a bounding box from the API, zoom to the downloaded area and optionally select one or more objects";
+    }
+
+    @Override
     public String[] getUsageExamples() {
         return getUsageExamples(myCommand);
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadObjectHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadObjectHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadObjectHandler.java	(revision 6536)
@@ -38,4 +38,9 @@
     {
         return new String[] {"new_layer", "addtags"};
+    }
+
+    @Override
+    public String getUsage() {
+        return "downloads the specified objects from the server";
     }
 
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/OpenFileHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/OpenFileHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/OpenFileHandler.java	(revision 6536)
@@ -32,4 +32,9 @@
 
     @Override
+    public String getUsage() {
+        return "opens a local file in JOSM";
+    }
+
+    @Override
     public String[] getUsageExamples() {
         return new String[] {"/open_file?filename=/tmp/test.osm"};
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/RequestHandler.java	(revision 6536)
@@ -113,5 +113,9 @@
         return null;
     }
-     
+
+    public String getUsage() {
+        return null;
+    }
+
     public String[] getUsageExamples() {
         return null;
Index: /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/VersionHandler.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/VersionHandler.java	(revision 6535)
+++ /trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/VersionHandler.java	(revision 6536)
@@ -53,4 +53,9 @@
 
     @Override
+    public String getUsage() {
+        return "returns the current protocol version of the installed JOSM RemoteControl";
+    }
+
+    @Override
     public String[] getUsageExamples() {
         return new String[] { "/version", "/version?jsonp=test"};
