ESME Blog

enterprise microsharing in a process context
October 18, 2008

ESME at DemoJam Berlin

Author: dennis - Categories: Vision - Tags:


Courtesy of SAP, I’ve lifted the ESME section from DemoJam. Enjoy.

The link to the full show is here.

October 10, 2008

Opportunities, Opportunities

Author: dick - Categories: Design, Development, Marketing, Vision - Tags: , , ,

Often when a new micro-blogging tool for the enterprise, the focus is just on the benefits for the end-users. With ESME, we’ve realized that our open-source model opens a variety of opportunities for others as well.

For IT suppliers

  • You can host ESME either for internal or external customers. You make sure the ESME server(s) is running and has great performance and provide this service to end-users. 
  • You can provide expert support on configuration and other trouble-shooting issues for corporations that have their own ESME installations.

For consultants

  • You can provide advice to enterprise users on how they can best integrate ESME into their existing processes.
  • You can suggest which ESME architecture is most appropriate for the requirements of that company or division. Based on ESME’s flexibility, there is definitely not one configuration that fits all use cases.

For developers

  • Create an ESME client. The REST API is available although it is still in Alpha status. We already have clients for the web (scala-based), ABAP and AIR.  There are still a variety of platforms / development languages and use cases for which it should be possible to write new clients. I’m especially interested in Sharepoint integration and assume there is a lot of potential here.
  • Create an internal ESME extension. Don’t forget that ESME is open-source. You can take ESME and add functionality to its Scala / lift core.  Submit it as a patch to the Google Code group to hopefully have it added to main trunk.
  • Create a external ESME extension. Via the REST API, you can hook into ESME’s feature set from a variety of applications.   I’ve already created two simple clients for VBA and Javascript. We also have APIs for Java (Coming soon) and ABAP.  Based on these examples, it should be easy to integrate ESME into most applications.  If you have a good enough idea, you might even be able to sell it and make a fortune. 

For end-users

  • Take ESME and use it to improve your internal communication either within a development team, project or division.
  • Take ESME and use it to improve your communication with customers or business partners. Since ESME is open-source, you (or your internal IT) can take ESME and install it inside the firewall, the DMZ or in the cloud.

What are other opportunities that you see for ESME?

October 6, 2008

Architecture Patterns: Internet, Extranet, Intranet

Author: dick - Categories: Design, Vision - Tags:

Lately, I’ve been spending some time considering the various possibilities to use ESME in the enterprise setting.  Based on these ruminations, I’ve created a series of possible variants on the uses of ESME in the Internet (cloud-based), in an extranet and in an intranet. I’ve also looked at different configurations for ESME’s database as well as its user managment functionality (”Corporate LDAP”).

The variants are currently only depicted graphically.  A more detailed description (for example,  to determine advantages and disadvantages, the situations in which a particular variant should be used, etc.)  is still missing.

My main intention is initiate a discussion of this topic.

I’ve created a PDF file with the variants here.

Two new contributors to Google Code repository

Author: dick - Categories: Design, Development - Tags: , ,

We would like to announce that we have just added two new contributors to our Google Code repository.

  • Vassil Dichev has been contributing some very interesting work on actions . His new event-hooks give ESME functionality that no other tool currently has.      

  • Thomas Jung has been working on cool ABAP – related code.   For example, the WebDynpro ESME client below with XCelsius-based graphics.
ESME WebDynpro

ESME WebDynpro

October 3, 2008

ESME Integration: Javascript

Author: dick - Categories: Development - Tags: , ,

In preparation for our presentation at the DemoJam in Berlin, I wanted to find a way to mimic ESME functionality of applications to which I don’t have direct access. I wanted to to be able to click on a HTML page with a image (screenshot) and have an ESME message sent. I thought about it and did some digging / experimenting and finally found an easy via javascript.

The resulting code is based on the VBA code that I described in a previous blog.

To authenticate themselves, ESME users must replace “[REPLACE_TOKEN]“ with their own authorization token. Tags are currently hard-coded as well. 

<script type=”text/javascript” language=”javascript”>
   var http_request = false;
   function makePOSTRequest() {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,…
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
             http_request.overrideMimeType(’text/html’);
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject(”Msxml2.XMLHTTP”);
         } catch (e) {
            try {
               http_request = new ActiveXObject(”Microsoft.XMLHTTP”);
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert(’Cannot create XMLHTTP instance’);
         return false;
      }
     
      http_request.open(”POST”, “http://api.esme.us/esme/api/login?token=[REPLACE_TOKEN]“, false);
      http_request.send(null);
      http_request.open(’POST’, “http://api.esme.us/esme/api/send_msg?message=javascript_test+AJAX&tags=Test,javascript&via=js“, false);
      http_request.send(null);
      http_request.open(’GET’, “http://api.esme.us/esme/api/logout“, false);
      http_request.send(null);

   }
  
</script>
<form name=”myform” id=”myform”>
<input type=”button” name=”button” value=”Submit”
   onclick=”javascript:makePOSTRequest();”>
</form>

Just copy this code into an empty text file, rename it “ESMEtest.html”, load the local file in your browser and you can create ESME messages.   This code could be enhanced and placed in more complex applications.

Note:  I’ve only tried it locally and with Internet Explorer. Maybe someone can test in FF to see if it works there as well.

October 1, 2008

The Origins of ESME: Selected Use Cases

Author: dick - Categories: Background - Tags: ,

Since ESME is project that has its origins in the community, I thought it would be useful to provide some insights into how the project moved from an idea in Plurk into a real application. 

Since most of those involved have/had some relationship to enterprise IT (either from large enterprises themselves, partners providing services for the enterprise or vendors providing software to such customers), there was a real awareness of the requirements of this environment.  

Michael Cote described this characteristic in a quote in an article about ESME in Baseline magazine.

“ESME is interesting because of the background of the people building it,” says Red Monk analyst Michael Cote. “Primarily, there are a lot of enterprise software — specifically, ERP — people involved in the project.”

We not only wanted to create a tool that was primarily focused on the enterprise, we also wanted to use the methodologies with which we were familiar.   To achieve this goal, we created use cases that were the basis for the initial UI designs.  These use cases would be familiar to any analyst who was / is involved in enterprise software.

Usually, this information never makes it to the surface and is buried somewhere in a project archive. ESME is a new sort of open-source project that involves the whole spectrum of roles typical in an enterprise software project but in a community setting. We’ve decided to make a few of these use cases available so that the public can gain better insights into how such projects emerge.

The selected use cases are available for download here.

Please note that some of the use cases included describe functionality that are not currently available. Indeed, the described functionality may surface at a later date in an entirely different form.