I’ve implemented a prototype that I’d like to describe in this and future blog entries. I call it the Notes plugin for Aptana Studio.
Here is a demonstration. Please check it out. I think it is pretty cool.
My main motivation for writing this prototype was to show that Notes/Domino supports the standard/normal web application programming model. I’ve heard too many times that people still consider Notes/Domino proprietary and that Notes/Domino application development requires proprietary and exotic skills. Technically this is really hard to understand. Notes/Domino supports a lot of different standards. With Notes 8x we even base on Eclipse RCP which many people consider the defacto standard for rich client programming. I think in order to change this perception we need to better communicate the capabilities of Notes/Domino. While there is more non-technical work to change this perception I’ve thought about different ways to change this perception via technical samples.
Notes/Domino supports this more or less as well, but because of various reasons people don’t get this message. One reason is that Notes/Domino has much more to offer than just this least common denominator and people think Notes/Domino only supports these other models. Notes/Domino has been and is so successful because of its rapid application development capabilities. The classic Notes database design to build rich client apps and the new XPage model for web applications are great examples. To be very clear, with my prototype I’m not suggesting to change anything in this regard. I love the XPage programming model, the classic Notes database design and the Eclipse model. They have clear advantages compared to the least common denominator approach described here.
What I’d like to show with this prototype is that Notes/Domino additionally supports the least common denominator web programming model if people want to use this. If we could make this prototype available to non Notes/Domino developers they might use it as an entry point in the great Notes/Domino world. In other words they could first see that they can do what they can do on other platforms but then later discover that Notes/Domino has much more to offer.
For my prototype I’ve interviewed a couple of people asking them how they write web application frontends these days. Most of these people pointed my to Aptana Studio. Aptana describes their community edition of Studio as a free and open source Ajax development environment with good debugging capabilities. They claim it has already over 2 million downloads. There is a standalone version and an plugin to the Eclipse IDE. It runs on Windows, Linux and Mac. The IDE can be extended via plugins, for example Apple iPhone and Adobe Air.
My prototype shows another plugin for Aptana Studio. You can now also create Lotus Notes projects. A Lotus Notes project is a project in Aptana Studio which points to one NSF and reads and writes all files in the project to and from the NSF as file resources.
Once you do this the Notes client comes up with your web application. You could also hide the URL address bar, put this component in a composite application or sidebar.
This first sample shows how you can run web applications in Notes in an online mode. However Notes has much more to offer, esp. around offline. I don’t know any other product in the world with such a powerful replication mechanism. And replication of data is key when implementing offline applications. There are many competitors who just give a local SQL database and tell customers to do the replication themselves. Providing a local store however is not the hard part, it is the replication.
Please reply to this entry with your feedback. I’ll write some more about it over the next days.