Diagrams to die for
Spotlight on: GenMyModel, UML modelling in the browser
Like it or not, software is increasingly moving into the browser (see: Firefox OS and most of Google’s products). Software development, on the other hand, is transitioning at a far slower pace. While the concept of “coding in the cloud” has been pioneered by IDEs such as Cloud9 and Codenvy, many developers are sticking with trusty desktop editors.
One company betting big on this trend taking off is GenMyModel. Based out of Lille, France, the company have produced a web-based UML modelling tool which is able to generate code directly from the model’s classes. Models are constructed using a simple drag-and-drop visual editor, and can be exported as images, XMI files or auto-generated code (Java POJOs, JPA beans, SQL or Spring code) to be pushed directly to GitHub.
GenMyModel CTO Thomas Legrand claims that, as most dedicated modelling software is far from intuitive, many developers resort to drawing their UML diagrams by hand. But most drawing tools currently available are not UML-compliant, meaning there is “no checking and no compliance”.
“When you use a drawing tool, all you can use is a PDF or drawing file,” he told JAXenter. “But you cannot explore it or generate anything from it. And you cannot say to your boss – ‘look, this is a real model. I'm sure if we just develop this project using my model, it's going to be a success’.”
As you might expect from a web-based service, sharing files is as simple as sending a URL. But Legrand says this “only the first step”, with an update due October allowing for real-time collaboration on the same document – “the same as Google Drive”. Following that, the team are ambitiously planning to introduce a built-in version control system and chat system.
While in beta, the product is entirely free, and will remain so for at least another year, says Legrand. “We'll probably have pricing plans, but the thing is we'll always be likely to have a public, free version of GenMyModel for public projects.” In other words, they’re going with the tried-and-tested GitHub model.
GenMyModel’s origins come out of an R&D project at Inria, a research institute funded by the French Government. So far, the company’s costs have been covered mostly by grants from associated startup programme Concours national d'aide à la création d'entreprise.
“We had a technology to produce and to generate code,” Legrand told JAXenter. “It was a very technological project, and after a market study [we found that] users and people said, 'well, very interesting, but we'd like to get a good UML tool before, and we would especially like to get one on the web. And then after that, that would be great to use your code generators’.”
In April last year, Legrand and co-founders Alexis Muller and Stéphane Deveaux spun GMM off into a company of its own, focusing on building a web-based interface for UML.
“We had to face big technical challenges,” Legrand said. “The main technical problems were around model storage – how do you store a UML model in a database?”
Synchronising the model and its visual representation live in the browser also proved difficult, the various issues taking a year and a half to overcome. However, with the core product now stable, the team are eyeing up further possibilities.
Once the real-time features are in place, Legrand hopes to partner with other web-based programming tools, such as code editors like CodeEnvy. GenMyModel already has APIs designed to make interaction with external services easy, and Legrande said this would be a priority in the beginning of next year.
He stressed that the company intends to mark out a niche rather than take on every aspect of development themselves. “We won’t create a code editor in the coming months and the coming years,” he said. “We only want to focus on modelling.”