Dear tool vendor, I know your page includes some success stories where your clients explain how much they improved their productivity when using your tool. I’ve also seen that you have some sample applications so that I can get the idea of how fast I can create a basic data-intensive web application (i.e. a basic CRUD functionality on top of a small data model).
All this is good but I need more than this to convince my project manager into adopting MDE (and buying your tool!). Therefore, I’d like to ask you to create with your tool fully functional clones of popular apps (e.g. Facebook, StackOverflow, GitHub,…)? See for instance this “not real twitter” build with Bubble.
Obviously, you need to generate those clones using a full code-generation or model interpretation approach (and if this is not 100% possible, be clear on where you added manual code and what that code is doing).
Otherwise, there is always the lingering question of whether MDE tools can be useful for more than typical CRUD apps. I know they are, but many other people would be more easily convinced if they were able to play online with actual web apps completely created following an MDD approach.
What do you think? Any vendor ready to start working on some clones? (if you do, and you make the models behind the clone available, that would be awesome; let me know and I’ll be more than happy to highlight your examples in this portal).
FNR Pearl Chair. Head of the Software Engineering RDI Unit at LIST. Affiliate Professor at University of Luxembourg. Â More about me.
“I have created a truly remarkable DSM implementation of Facebook, StackOverflow and GitHub, which this comment box is too small to contain” 🙂
Please see the Language Workbench Competition/Comparison/Challenge:
http://www.languageworkbenches.net/
And the earlier comparison of Microsoft DSL Tools, Eclipse EMF/GMF/oAW, GME, MetaEdit+ and others, all implementing the same real-world language and generators:
http://www.dsmforum.org/events/MDD-TIF07/
Also the article by the Eclipse committers comparing RSA, GME, MetaEdit+, Obeo, and GMF, all implementing the same real-world language:
http://t.co/QJyDAwEn
Given the authors found the other tools are 10-50x slower than the fastest one (modesty prevents…), that could well explain why you don’t see many examples. At least not of something like Facebook – I’m not sure whether you were joking about that or not, but obviously a real Facebook rather than cut-down toy example just makes no commercial sense. MDD tool vendors aren’t in the business of creating social media apps. Facebook spent about $1bn – yes one billion dollars – last year on developer salaries.
I’m all for making examples, and hopefully the MetaEdit+ ones are useful:
http://www.metacase.com/cases/dsm_examples.html
I think there are two CRUD ones there, out of 26. There are plenty with full source code, but of course some of them we can’t show: they’re the property of the companies using MetaEdit+, who are in fact very kind in even letting us show screenshots.
Steven, thanks for all the links but two comments:
– The post was more about having examples of “end user” applications so that software developers could see what they could build with MDE tools (with or without the need of creating a DSL in the process). So my first goal is not to compare MDE tools between them but to highlight all you can do “without programming” (to put it simply).
– I was serious about facebook but of course I’m not asking MDE vendors to create a competitor of facebook, I want them to show that MDE tools can be used to create something more than a PetStore and have the power of creating facebook-like apps.
Thanks for the clarification, Jordi! I assumed you were talking about language workbenches, but I guess you actually wanted examples from companies like Mendix. Let’s see if Johan den Haan can help you out!
Exactly. I wasn’t at the “meta” level in this post 🙂
If you really want to convince your project manager or boss, you probably want examples that relate to your business. This means a CRM system, Order Entry portal, or healthcare portal, etc. We have lots of examples, but in most cases the models cannot be shared because they contain sensitive information.
Our App Store contains quite some “business components” https://appstore.mendix.com/ but again, the really interesting components from a business perspective are not open source.
We also have non-trivial demo applications we use, these are mostly domain-specific and need some explanation if you don’t know the domain.
In my experience we do not really need to convince people that MDD can result in non-trivial apps in a short time. Mostly, what people want to know is if these bigger applications have a good performance, are maintainable, and scale well, i.e. the non-functionals.
By the way: if you want to play around with a non-trivial application built using MDD you can also have a look at our App Platform at http://home.mendix.com Sign-up is free and our platform is built using our platform 🙂
I agree. In order to be convinced someone wants to touch with his hands a MDD generated application, then he can believe.
Unfortunately most of the application made with our tool are for private use, inside an intranet or protected by a secured.
On the other side, fortunately WebRatio is able to generate public applications too. Here you can find a list:
http://www.webratio.com/portal/content/en/online-applications
Some of them are:
http://www.acer.com (worldwide corporate website of Acer Computer)
http://www.packardbell.com (worldwide corporate website of Packard Bell)
http://www.trenta.it (corporate website and online services for customers of an Italian Energy company).
These are examples of how WebRatio can manage a sophisticated layout by keeping the MDD paradigm working and how also non-functional requirements like performance, usability, scalability are addressed.
Finally, the idea to build a clone of a popular app as a showcase for MDD sounds interesting. I have to say that we were already thinking about it. Thus, we will update you as soon as we have something to show!
One of the problems of building a Facebook clone is that you won’t be able to replicate the volume of transactions that the app can support, which would be the really interesting thing to see. At most you’ll be showcasing how well the app mimics Facebook’s layout and functionality, and I don’t think that’s of much interest.
As Stefano and Johan have mentioned regarding their products, many real life examples from customers are behind a firewall and cannot be shown. But fortunately there are some public examples – in OutSystem’s case there are two worth checking.
One is http://www.Fly.com, a flight search engine that manages millions of search queries a day. I think it is a very good example of how you can use tools like the OutSystems platform to create highly complex, scalable and robust solutions.
The second is our own community website (http://www.outsystems.com/community). At OutSystems we like using our own technology to create our web applications – both internal and customer facing ones (like the website and community) because:
1) it is a great way for us to go throughout the full experience that our customers have when using our products (which, on its own, is a great way to improve it);
2) If we’re telling our prospects and customers that our technology is perfect to build all sorts of web applications, then it would be kind of suspicious if we used something like WordPress to support our website or community. Building your customer facing apps with your own MDE is actually a perfect way to showcase the type of apps you can build with it!