ESME Blog

enterprise microsharing in a process context
November 30, 2009

Ripples from Salesforce’s Chatter

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

There were three events in the last few weeks that led to an massive increase in attention about ESME (leading to a record number of page views on our wiki!)

1. On November 19, Salesforce introduced Chatter which

lets employees set up profiles to connect with coworkers, issue status updates to say what they’re up to, and subscribe to feeds from people–and from applications. Also for collaboration, it lets people join groups to share updates and content. And the service integrates with today’s two hot social-networking services, Twitter and Facebook. [Source]

There are similarities between the functionality offered by Chatter and that offered by ESME which caused many individuals to take another look at ESME and its relevance.

2. In his keynote at the SAP UK & Ireland User Group Conference 2009,  analyst Ray Wang compared ESME and Chatter.

3. ZDNet Blogger Dennis Howlett wrote a blog entitled “Fawning over Chatter and how SAP missed its chance”

All three events fit in well with the increased activity in ESME that has occurred in the last few months.  As new contributors join and old contributors become active again, there is definitely a feeling of progress that has energized the extended ESME community.

I’m sure the next few months will be even more exciting.

March 9, 2009

Official Siemens SIS Press Release about ESME

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

Siemens SIS has just released an official press release about ESME and about Siemens SIS’ involvement in the project.

The official press release is available here.

January 24, 2009

Summary: Our first Apache ESME Scrum meeting

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

We’ve always used the Scrum methodology as the basis for our development work. Last week, we started our first iteration / sprint since we joined the Apache Incubator and I wanted to create a quick blog describing what we are planning.

Note: All this material is also present on the esme-dev mailing list at Apache as well as on the Apache Jira site for ESME but I wanted to save people the effort of foresting through all the posts to find the details.  The post of this summary is also another indication of the openness of the project. If you want details for each task, then go to Jira and look at the individual tasks

Scrum completion date: Feb 6, 2009.

Teams:

  • Idea is that there will be two teams that focus on particular tasks. Each team will have between 5-10 tasks for each sprint / iteration.
  • Server team: David, Daniel Koller, Darren, Vassil
  • UI team: Bill, Mrinal, Anne, (Dick – Use cases).

User Interface:

  • General User Interface (UI) roadmap with order of goals and what needs to be accomplished
  • Adequate description of User Interface  architecture
  • Creation of first sprint specification
  • Partial implementation  (Web Interface)

Server:

  • Generic code clean-up
  • Unifying server calls (JSON-related)
  • Support for Twitter API
  • Document how compass can use other persistency types
  • Merge Action branch into official trunk
  • Further work on java API (GetMessages)

Note: Some of these tasks have already been accomplished.

January 5, 2009

What the story about VAXNotes tells us

Author: dick - Categories: Background, Marketing - Tags:

Dennis Howlett recently sent the ESME team a link to a long article about VAXNotes which was a collaboration tool that was active in the 1980’s (!) at  Digital Equipment Corporation (DEC). I was reading this article and had a real case of Deja Vue.  The article provides an excellent description of the use cases involved in the use of the tool as well as the corporate culture that was necessary for its widespread usage within DEC.

As I read this article, I realized that many of the use cases that micro-blogging tools are meant to solve are actually problems that have been around a long time – for example, the need for employees in distributed companies to be able to collaborate and discover individuals (those old “weak ties”) who can solve their problems. The high level of employee involvement at DEC regarding VAXNotes (irregardless of job title, location, etc.) shows that the assumption that active enterprise collaboration is just restricted to the generation who have grown up with Web 2.0 technology is wrong. VAXNotes emerged in an environment that was pre-Web 2.0 – indeed it was pre-Web 1.0.  Thus, the assumption that it is just Generation Y employees who will be the primary users of such micro-blogging tools is misleading. If the corporate culture (as evidenced by the DEC article) supports such tools, users from all generations will use them.  

Read it all..

December 7, 2008

ESME accepted into prestigious Apache Incubator

Author: dick - Categories: Background, Design, Marketing - Tags:

ESME (Enterprise Social Messaging Experiment) has been officially accepted into the prestigious Apache Incubator – http://incubator.apache.org/projects/esme.html.

ESME is a microblogging tool and community project which originated in conversations amongst members of the SAP Community, moved to Google Code, and was the first submission in the history of SAP TechEds which was present at all three Demo Jams (Las Vegas, Berlin and Bangalore) in one year.

The Apache Incubator is the entry path into The Apache Software Foundation (ASF) for projects and codebases wishing to become part of the Foundation’s efforts. All code donations from external organizations and existing external projects wishing to join Apache enter through the Incubator. The Apache Software Foundation (ASF) provides organizational, legal, and financial support for a broad range of open source software projects. The Foundation provides an established framework for intellectual property and financial contributions that simultaneously limits contributors potential legal exposure.

Apache projects are considered the top open-source projects and many of have become standards in software development (Tomcat, Struts, etc.)

Why the inclusion of ESME in the Apache Incubator is ImportantAs I described in my last blog about innovation and the SCN community, I’d like to suggest that the evolution of ESME proves that the potential of the SCN community lies in looking beyond borders of the community itself and must include the experience gained from other communities in order to evolve itself. Although I am very much an Apache novice, I’ve been fascinated by the processes and policies that are present in this organization. For example, there is much that we (SCN) can learn from how Apache deals with IP-related issues. This cross-pollination is especially relevant based on the various open-source-related discussions occurring in background in the SCN.

 As SAP’s participation (including Senior Vice President of the SAP Community Network Mark Yolton) in the Open Source Meets Business (OSMB) Congress demonstrates, there is an increasing awareness that the relationship of corporations to open-source software should be more than just as consumers but also as contributors. This changing role requires a great deal of re-thinking in terms of corporate policies (legal, organizational, etc.); thus, the experience of the ESME team (many of whom are SAP mentors) in Apache will flow back into our involvement with the SCN as well as assist our respective corporations to deal with this new opportunity.

Note: This blog was also posted on the SDN.

November 25, 2008

Analysis of ESME UI Design from Bill Fernandez

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


Bill Fernandez created a long analysis (over 72 pages!) of ESME and its UI design. 

From Wikipedia:

Bill Fernandez is a user interface architect who was Apple Computer’s first employee when they incorporated in 1977. He worked on both the Apple I and Apple II personal computers, and in the 1980s was a member of the Apple Macintosh development team.

The analysis is split into various chapters including:

  • The Rationale for ESME
  • Conceptual Model
  • User Interface Preliminaries

There are long descriptions of various UI components in the next generation user interface of ESME.

If you have comments concerning the new UI, please add them to the esme-dev Google Group.

November 8, 2008

ESME and the Apache Incubator: We’ve submitted a proposal

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

We’ve submitted a proposal to join the Apache Software Foundation (ASF) which

… provides organizational, legal, and financial support for a broad range of open source software projects. The Foundation provides an established framework for intellectual property and financial contributions that simultaneously limits contributors potential legal exposure. .

 We are seeking admission to the ASF via the Apache Incubator which

… is the entry path into The Apache Software Foundation (ASF) for projects and codebases wishing to become part of the Foundation’s efforts. All code donations from external organisations and existing external projects wishing to join Apache enter through the Incubator.

The process to become a “podling” in the Apache Incubator is well described and we are excited to have been provided this opportunity to participate.

The ESME project team is interested in joining the Apache Software Foundation for several reasons:

  • To help the project attract contributors and service providers who will feel more comfortable with the licensing coming through a respected, well known and established organization such as Apache.
  • To facilitate the growth of a broader community of users. The project currently lacks sufficiently clear direction, leadership, and process; we believe the project will benefit greatly from Incubator mentorship.

Voting on inclusion of ESME in the Incubator will take place in the next few weeks, we’ll keep you informed regarding our progress.

November 4, 2008

Pure Javascript Messaging Client

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

There is a now a message-receiving client for ESME that is written entirely in Javascript. This very first cut of a client was created as a proof-of-concept to show that a very simple client was possible without any dependence on the server-side programming language.  Based on the current implementation, it could be embedded in Java, C#, etc. It could run in a variety of environments including SharePoint, SAP Portal, etc.

This first version offers:

  • Long-polling
  • Flexible design
  • The client uses XSL transformation to create HTML from the XML that originates from the ESME’s REST-API

The drawbacks of this first version:

  • The UI is real ugly. Someone needs to redo the XSL file.
  • The UI is not complete. I have not added all the features that are possible (reply, etc.). I was more intent on showing ESME messages in a Javascript-based environment.
  • It is not bug-free
  • I have only tested it in Internet Explorer 6.0. Someone might have to go and try it out in FF.
  • XSL file is currently local instead of stored on server
  • The token is currently hard-coded. 
  • Documentation is still pretty poor.

Thanks to Darren for doing the initial corrections that started me out on the right foot.

The code is in the Google Code wiki.

October 29, 2008

A Vote of Thanks

Author: darren - Categories: Background - Tags: , , , , , , ,

The ESME Project has come a long way in only five months, from its genesis in a conversation between people who had never met, to a demo-grade prototype which has been shown on a live stage to a crowds of thousands in Las Vegas and Berlin. This has been achieved in the spare time of a fantastic team of people, but what I want to talk about here is the support we have had along the way. The people and companies mentioned here deserve our thanks for being there when we needed them on our journey. In alphabetical order, they are as follows:

Adobe

An early, though temporary, member of the ESME team was Matthias Zeller of Adobe. Matthias was instrumental in introducing the team to Scrum, a project management technique which revolves around multi-week implementation “sprints” and daily quickfire team status meetings. Matthias’ great gift to the team, via Adobe, was the use of an Adobe Connect Pro room and a daily slot on a conference call number. Adobe Connect Pro allows us to gather as a team in a shared space where we can share live desktops, make notes and draw on a whiteboard together – key tools in the early phases of design. Adobe’s help has enabled us to use Scrum to function as a globally-distributed agile team, able to resolve in minutes issues which might have taken days to resolve via email exchange.

Assembla

While Adobe provided us with real-time collaboration tools, the good folks at Assembla provided us with all the asycnhronous collaboration tools that are essential to running a software project: source control, bug tracking, project documentation wiki and file upload/download. On top of this, they providing their own functionality to help with Scrum-based projects, and they even do this for free for modestly-sized projects such as our own. In our case, we just checked the box labelled “Trac with Subversion” and off we went. In their own words:

Trac is a popular open source ticketing system, with the mission to “help developers write great software while staying out of the way.”, if you are familiar with Trac, this package is perfect for you. In this configuration, you will get a Subversion repository you can easily manage and other enhancements like a simplified team management, HTML alerts (called “notifications” in trac), and hourly and weekly alert summaries. You can upload your existing Trac directory and import your existing Subversion repository.

Subversion is the most popular centralized source code repository and version control system. Our subversion tool includes email alerts on commit, code browsing, linking of comments to tickets, and a post-commit hook to trigger your own actions. We know that reliability is important for subversion users, so we backup to failover servers.

If Trac and/or Subversion are not your particular tools of choice, they also offer source control using Git & Mercurial, and their own Wiki and ticketing system. In their latest offering there is a Mylyn connector for Eclipse (Eclipse-integrated source & ticket control with Mylyn is awesome) and even a Twitter tool so you can feed your project activity into Twitter. Hmmm… must talk to them about ESME integration. :-)

Families & Friends

Everyone in the ESME team has worked on the project in their own time. As we have approached our various internal deadlines, this has meant spending significant amounts of time away from our loved ones, who have supported us amazingly well in our endeavour and complained only when we have been truly overdoing it. One strength of our team is that we are always able to carry on if individual team members need time and space, ready to pick up again when they come back to the project, but even so we are fortunate to have got this far with personal relationships still intact.

Google

Our primary means of team communication in between daily Scrum calls has been a private Google group for the core team. We are slowly moving most of the traffic from this group to the public esme-dev* Google group, but we still use the private group for organisational discussions, as well as plotting how to win the next Demo Jam away from the eyes of our competitors. :-)   In addition, since we took the project open source in September, we now use Google Code* to host the project source code, issue log & documentation. I don’t think Google have made much (if any) money from us in this way – there aren’t too many advertisers who want to be associated with an open-source enterprise micro-messaging platform just yet – and so Google deserve our thanks for providing these services.

Joyent

Joyent provide cloud-based hosting on heavy-duty Sun servers running OpenSolaris. In our earlier days, they generously offered to host an ESME instance for us, running on SAP’s NetWeaver platform. We would really have loved to take them up on the offer, but we couldn’t figure out any way of getting a NetWeaver license from SAP to do this. We’re still enaging with SAP on this issue via the SAP Mentor programme (several of the ESME team are SAP Mentors), but right now SAP just don’t have a licensing or operational model for working with community-based teams. They are definitely thinking about it – in some quarters at least – but we are not there yet, which is a shame. There is a lot to be gained from showing how SAP can work in the cloud, and Joyent provide the kind of heavy-duty infrastructure that SAP installations can often require.

Plurk

Plurk was the service that really started us thinking about the potential for micromessaging in the enterprise. During a Twitter outage, a bunch of us congregated their for a while. The differences between Twitter and Plurk got us talking about what we in the enterprise software world would want from such a service, and that conversation led directly to where we are now.

RedMonk

Open-source analyst firm RedMonk is made up of the smartest quartet of people this side of MIT, and they have been enaging with us in small but important ways ever since we started. Among many other contributions from them, this article was prompted by James Governor quite rightly pointing out that we’d been using a lot of free help and not thanking anyone publicly for it. James tell it like it is, and that is a highly valuable attribute. Michael Coté did a great video interview with some of the team, Stephen O’Grady has helped us with some thinking about open source business models, and Tom Raftery has us thinking about how to make software green – in our case, designing a messaging system with awesome performance and scalability, meaning fewer servers generating heat in datacentres.

SAP

Most of the people on the ESME team are involved in the SAP ecosystem in one way or another – working for SAP partners, SAP customers, even for SAP itself, but also passionate and dedicated to what SAP is about. Many of us are SAP Mentors, and of course our public demonstrations of ESME to date have been at the SAP Tech Ed conferences. SAP has paid for our entry to these conferences, and has even loaned us a server hosted at the SAP Co-Innovation Lab so that we can run ESME on the SAP NetWeaver platform. Most of the enterprise-oriented thinking around ESME is based on our experience working in the SAP arena. We hope that SAP sees the value in this, and is able to come up with some kind of community licensing scheme that will make projects like ours viable.

Siemens SIS

One of our team works for Siemens SIS, and the Siemens name is one of the factors that got us an entry into Demo Jam – there’s nothing like having a big-name customer reference on the entry. More recently, Siemens SIS have been a really useful sounding board for discussing such things as cloud-hosted SAP NetWeaver and some of the large-enterprise-scale business scenarios for ESME.

Twitter

Last on the list, but reallt the first: Twitter is really where this all began. The core team behind ESME started off as a Twitter-based network of people from the SAP community, and we still regularly use Twitter alongside ESME. We do not compete with Twitter at all – in fact we are completely complementary. Twitter is the PSTN, we are the PBX – or to translate that from telecomms acronyms, Twitter runs a public, accessible-to-all communications service, whereas we focus on running within and between the boundaries of companies. There are overlaps in functionality, but a completely different emphasis on features.

October 19, 2008

Demo Jam (Berlin) Script

Author: dick - Categories: Background, Marketing, Vision - Tags: ,

Although the script below doesn’t contain the exact words that we said at the Demo Jam in Berlin, it was our basis. 

Dick

We are all part of teams. Java teams, ABAP teams. Communication in these teams can be a challenge, and is most often not as rapid as we would like it to be.

Every day we are flooded with emails and hand on your heart, do you read every line in all your emails? When you need to communicate with teams, how do you usually do it? You send an email to a distribution list. Spray and pray.

With ESME, introduces a new concept in communication, which lets you filter out the noise! You decide which information you would like to receive and respond to.

Let’s look at three common problems:

1. How do I get answers to technical questions? Today, I use that old email distribution list and hope I find the right person. 

2. How do I deal with problems that occur in the development lifecycle? Today, I have to dig through various systems to find out what happened.

3. How do I deal with developers that change code without the telling the team? Today, I have to wait for my code to break before responding.

Let’s look at a simple problem: getting answers to technical questions

Anne

I have a CE installation problem. I have ESME open in my browser. I am going to type in my message here which goes to my followers and add these extra words, which are called tags. What are tags? Tags are special keys that other users in my team or company can listen or subscribe to. Because I add these words I make sure that my message goes to those people who are interested in this subject.

Darren is from another part of my company and has subscribed to tags that interest him. Remember I don’t know Darren. He gets a message about my problem and sends me a message in return referring to the SAP Note that helped him and solves the problem.

I don’t find an answer. I find the right answer.

Dick

With ESME, I can communicate with people whom I don’t immediately know. I can tap into tribal knowledge. Now what if we extend this so that the system talks to the same group of people?

Let’s look at a more complicated problem: how do I deal with issues that occur in the development lifecycle?

Imagine this, I am developing a WebDynpro application. Usually, when an exception occurs, I have to log onto the NetWeaver Administrator and open up the log viewer and find my exception amongst the 1000s of other exceptions. †Wouldn’t it be cool if this exception was sent to me?. When they have problems, maybe I will be informed but maybe not. Wouldn’t it be nice if I was sent this information.? Better yet, wouldn’t it be useful if my entire network was informed about this problem?

Let’s see how this works.

Anne

I am going to create an exception with my WebDynpro application.

See, a message just appeared in ESME. This message is created with tags. Those individuals subscribing to these tags will get the message.

You might think that people would be flooded with information but because, they choose to receive messages on certain topics or individuals, they decide what they receive.

Dick

Let’s look at a real complex problem: how do I deal with developers that change code without the telling the team?

Picture this: someone goes in and changes your code or one of your development objects. What happens – your code breaks. I bet this never happens to you. Now you have to find who broke the code and why.  Wouldn’t it be cool, if the system informed you when others changed their code?

Let’s see how this works.

Anne

I will now pretend I am that developer down the hall, and I will change one of my function modules in his name. Because this function module is one of my development objects, I subscribe to any changes which happen to it.

I just activated the function module and as you can see the system immediately sent a message to me, which arrived in my inbox in ESME.

The message tells me which object was changed, who changed it and when the change happened.

I can now respond before code breaks.

Dick

We have just shown you three ways to solve problems you experience on a daily basis.

1. How do I get answers to technical questions?

2. How do I deal with problems that occur in the development lifecycle?

3. How do I deal with developers that change code without the telling the team?

All with one tool – ESME.