A friend of mine recently sent me an email regarding Coghead. According to their website Coghead is: “A simple, powerful new way to create web-based business applications that can be used by anyone, anytime, anywhere!” This is not a new idea, however Coghead seems to be getting a lot of attention. I want to investigate Coghead in more detail, however in the meantime I wanted to post this overview of some web 2.0 online development environments. Guy Kawaski posted an article on his blog and the comments are a good overview of what people think about these types of environments.
Some of the pro’s of this approach:
- Put application development in the hands of the business users. (also a con)
- The development environment is online and always available. Customers don’t have to worry about servers, backups, etc.
- The development environment is immediately available.
- Most of these environments are WYSIWYG.
- Developers can focus on developing the difficult enterprise wide applications.
…and some con’s of this approach:
- the application is only available while you have access to the Internet and the host website is available,
- many companies may not be comfortable storing their data at a different site,
- potential customers may ask: “What happens to my applications and data if the company goes under?”
- only a small percentage of development is taken up by coding, most of it is spent on design. I’m not sure if end users are the best at application design. Do end users understand abstraction and program design?
The Law of Leaky Abstractions:The following article does a great job of explaining the concept of abstraction and why “code generators” mostly fail to be successful. Here is an extract of the article — I recommend that you read the entire article.
“The law of leaky abstractions means that whenever somebody comes up with a wizzy new code-generation tool that is supposed to make us all ever-so-efficient, you hear a lot of people saying “learn how to do it manually first, then use the wizzy tool to save time.” Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don’t save us time learning.”
OK, and now the list of online web application development environments:
- Coghead,
- dabbledb – the 7 minute demo is quite a tour-de-force,
- Zoho Creater,
- Caspio,
- Dataweb,
- Interneer,
- Wufoo – form generator,
- Thingamy, and
- Jotspot – wiki-based development environment recently acquired by Google.
Don’t forget about the following mainstream products:
- Appexchange from Salesforce.com,
- SAP’s Visual Composer, and
- Oracle’s Application Express.
These tools are more for developers, but worth a mention when discussing realtime application development environments:
- Ruby on Rails,
- CakePHP, and
- Groovy.
[July 12, 2007 update: Magic Software, OpenSpan, and Joomla are also interesting alternatives.]Please send your comments and let me know if I missed any significant environments.
4 Responses to “Realtime Application Development Online?”
Chris Miller’s February 1, 2007 comment:Hm…. sounds promising. I’ve always been interested but usually dissappointed in auto and psuedo-code generators in much the same way that MS Word gets some of the auto-grammar right but you sure wouldn’t want it to write your final presentation (ie. you still need to know grammar to keep it from doing something stupid)That said, the website and applets for The Creative Coast Initiative was entirely re-written in Ruby on Rails and after escaping the steep part of the curve, we have been extremely happy with our ability (actually Fitz Haile’s ability) to rapidly build and delpoy a whole range of small tweaks and large appls on a whim.It also works and plays well with the other kids in as much as CSS, PHP, a little java and AJAX seem right at home in this playpen. This is seriously cool stuff and so far, we haven’t seen a downside.You can check out the results an see for yourself: http://www.thecreativecoast.org
Carel’s Feb 3, 2007 response: I recently came across Flapjax. I’m not sure where it fits into the development landscape. See http://www.flapjax-lang.org/.
Matt Brown’s Feb 6, 2007 comment:I gotta say, I agree wholeheartedly with the Law(?) of Leaky Abstractions. I have written a few code generators for various languages and purposes, and it always has proven out for me that they are best used to automate a tedium that I don’t care to repeat.On the subject of Rails, though, I find they have something innovative in their Engine construct. It’s a sort of run-time code generator. Of course, then, I suppose Ruby itself allows for dynamic code generation itself right in the language, so it’s not new there, but it is novel!
Carel’s Feb 7, 2007 response: Thanks for your comments Matt. Matt is a great guy, very smart, Mac user (yes!) and the CEO of Cordata. Check our their website: http://www.cordata.com.