Requirements Elicitation on April Fool's Day
-- Good Old Tricks in Modern Software Industry (1)

The story starts by an April Fool's day. Our protagonist is the hottest model-driven software company, Itemis. The most well-known product of Itemis is Xtext, a framework and toolkit for generating source code from domain-specific models.


In 2010, the company was not big, only consists of a dozen people. However, they have contributed the 3rd largest number of lines of code (millions of them) to the open-source Eclipse community, ranked just after IBM and Oracle.

How was that possible? Well, thanks to the popularity of Xtext framework, adopted by a number of research labs including OpenOME from University of Toronto (tool supporting for i*), OpenPF from The Open University (tool supporting Problem Frames), and LTS from Imperial College London (tool supporting for Linear Temporal Logic), to name a few.

These users of Xtext generate a lot of code! Once these generated code were committed back to the open-source community, the LOC count of Xtext increases, there is no magic really! :-)

Additionally, the generated code from Xtext framework has quite a few useful functions, such as syntax-guided text editors and graph editors, graph layout algorithms, printing to SVG or PDF, format converstions, EMF-based model transformations, etc. These functions come for "free", and provide basic but decent quality, very suitable to rapid prototyping.

The story

On April 1, 2010, the very April fool's day, the CEO of Itemis, Sven Efftinge posted the following blog, "Bringing Xtext to the Web". In brief, although Xtext could already help generate Eclipse plugins for you, probably you would also like to generate Browser extensions that can edit the model directly, without having to wait for the installation of Eclipse. Now the functionality is here, see the video clip, etc., etc.

As a practitioner of Automated Software Engineering and developer of Eclipse-based software tools, I am one of the users who need this function desperately, because it would be such a nice feature:

Imagine we create a Problem Frames model in UK, and after informing my potential colleague in China, it would be great for them to see an editable model on the Web browser, rather than waiting for me to tell them the URL to download and install the tool. Perhaps our attention span would not last longer than the installation, we will waste such a good opportunity for collaboration.

Of course, we know now that Google and other cloud computing companies have provided such collaborative editing features in their latest product. But back in 2010, it was a nice feature to have! Plus that Google doc tool then was only for a few predefined formats, not usable for research prototypes that are user defined.

If only user-defined domain-specific models could be shared and edited using browser-native tools, that would be cool and extremely useful !

The video link provided by Itemis in the April 1st blog was so real, that it was as if the feature was already there in the product beta, just before releasing to the public after serious testing.

I subscribed to the blog and monitored its progress, just hoped to be the first to try it out. Only to found a week later the following post someone asked the question for me:

I was stunned. Although I had a little hunch initially not to trust the news on April Fool's day, I was sold by the German company's sincereness over the years. Never suspected that this could happen to me! With additional inquires on the thread, all was explained by the following post finally:

The catch


The joke was intentional. Itemis would like to know whether there was any market or real need to have such a non-functional requirement, by testing the temperature of the water. Such a "social experiment" served the purpose.

Of course, the technical challenge to deliver these features was huge. It was not achievable until Eclipse platform had evolved around browser-based technology, 3 years later...

Although I am not in for this kind of lie-telling games, I could still appreciate the effort for requirements elicitation.

Believe it or not, subsequently I published two articles on the basis of the lessons from this story...


PS. Only one day in a year you can play this trick without damaging the reputation! Well, maybe it is better now. The "Kick Start" project is a dedicated fora for companies to trying out unrealised prototypes to see whether enough people would buy it or not. Of course, that's already another story ...

Chinese Translation

Email: Office: +44 (0) 1908 6 55562