logo

Is Domino Really So RAD?

Last night I posted a screencast of me trying to build a Domino CRUD website in 5 minutes. I failed. This morning I tried again. I failed again.

Here's what I'm trying to achieve in the 5 minutes:

  • Create a new site from scratch
  • Add a form to let me add, view, edit and delete Contact records
  • Add a view to let me see a list of all the Contact records
  • Add a new Contact record for myself
  • Edit that new contact record and change the phone number
  • Delete the record

Easily done in 5 minutes, right? Seems not. Here's my second attempt:

It's the fiddly bits like adding edit/delete links and adding all the columns to the view that take up most of the time.

Maybe it can be done quicker? If you think so then please have a stab and records your efforts using Screenr.

I'd also be very interested to see somebody do it using XPages too!! Not only because I'm interested to see how, but also to see whether it's any faster than Domino classic.

A Quicker Way

Here's me doing the same things in ASP.NET MVC 3 using Visual Studio and getting it all done in 2 minutes 30 seconds.

All I needed to do was define the "fields" in my Model class and let MvcScaffolding do the rest. Without scaffolding then it would probably take the best part of a morning to hand-write all the code for this! The scaffolding code even created the backend database and table for me!

You could argue that using a scaffolder is cheating, but the fact is, I got it done in half the time. If there were a way to scaffold the tedious parts of making this in Domino then I'd have used that too.

And My Point Is?

There's no real point to this. It's just a bit of fun really. Although I did want to introduce you to the concept of scaffolding and, in particular, its use with ASP.NET MVC. I already thought MVC "rocked" but now I can scaffold my apps it's just blown me away.

More generally my point is: don't go thinking that Domino is the only RAD tool out there and that other platforms take forever.

At the end of the day though this is all pointless. No real world solution is ever built in 5 minutes and nor should it be.

Comments

  1. "let MvcScaffolding do the rest", it's sounds like a template, isn't it ?

    OK, i think you're now in love with ASP.net, and your old love (Domino) starts to shiver .. so enjoy your wedding !

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 06:22 AM

      It depends how you think of a template. It kind of is a template, but then, kind of isn't.

      The MvcScaffolder uses it's own templates to create the files on which the site is based, but I don't see it as a template.

      A template, to me, already has all the fields defined and you have little say over it.

      While Domino has templates, it doesn't (AFAIK) have any way of scaffolding apps like this?

      BTW: Domino was never really a love of mine. It was more like an arranged marriage I was happy to go along with while the times were good. Recently times have been hard and I'm now going through a long and messy divorce process.

      Show the rest of this thread

  2. XPages should do in less than 5 minutes, easily.

    Create a form - 4 fields

    Create a view - one column, sorted

    Create a XPage. Bind it to the form as the data source. DND the fields to the design pane. Add a submit button. Add a cancel button. Add a button to edit the document (use a change document simple action here). Then add a view panel to that Notes view. Select the column to display as a link to launch the document in read mode if you wish. Enable checkbox for this column too. Add another button and use the delete documents from the view panel simple action here.

    CRUD done.

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 06:32 AM

      How about taking 5 minutes to prove it? :-)

      http://www.screenr.com

      Show the rest of this thread

      • avatar
      • noon
      • Sun 27 Mar 2011 11:55 PM

      I think (!!) 5 minutes with XPages + XPages Extension Library combination is enough to create a CRUD application. In addition you get the oneui look and feel :)

    • avatar
    • Nick
    • Thu 24 Mar 2011 06:44 AM

    I can't see the examples, it is blocked by websense, so someone tell me, whatever is created in domino, does it look like domino on the web? Or a nice web page? Same goes for ASP.NET, which looks more professional.

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 06:59 AM

      Yes, the Domino version looks like vanilla web app (not pretty). The MVC one looks plain, but acceptable.

      Show the rest of this thread

  3. Well the idea of Domino once was.

    You develop an application and it will work

    - in the Notes rich client on Windows

    - in the Notes rich client on the Mac

    - as a bonus in a web browser

    The Notes client will have VPN quality encryption secured with a Notes ID. For the web Domino has never been really RAD besides some very simple tasks. Codestore became famous for all the web hackery.

    In addition you compare GUI style development with text coding using a ready to run CRUD module.

    And maybe the most valid point. The development model you use has been on hold since 2002 (that is 9 years). Lotus Notes 6 was the last release that significantly improved the old development model. Notes 7 was a no feature release and Notes 8 brought a new (or old if you consider it Workplace recycling) way of developing applications (XPages).

    Now compare everything in IT that is 9 years old with something from 2011 and don't be surprised who wins.

    Would it work with XPages in 5 minutes? I don't know. Maybe you would need a CRUD template too (and it would definitely possible with XPages). Unfortunately the new way of Notes client applications (you run a slow local instance of a web server on the client) imho is a very dumb approach.

    And as a pure web environment, there already were some comments that said that XPages is just one out of many and in some way even very limited (only supports 1 javascript library (Dojo), only 1 database (nsf) and is full of javascript hackery that tends to break whenever there is a new major browser release).

  4. Why are you creating HTML links/button in the form? You can use the action bar instead which should have simple actions for what you want to do.

    Under 5 minutes should be more then enough time even without XPages (and certainly much faster in XPages).

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 06:57 AM

      No particular reason. Just the way I role. I wouldn't use Action Bar buttons on the web in real life, so didn't in this test.

  5. Jake - *YAWN*

    Umm, who cares? To me this is like who's car starts faster. One has the system where I keep the key in my pocket and the door unlocks as I step up to the car and once in the seat, just press a button and the car starts. The next car I need to manually unlock the door, insert the key and turn it to start the car. WOW, look at the difference in starting times. One saved me 15 seconds! Just like this exercise, it means nothing. It's the rest of the experience that matters.

    How about creating a REAL application? Something that will take weeks or longer. Even then, different approaches will produce the same end result. Measurements like this is just more FUD.

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 07:30 AM

      I don't really care myself either. Like I said though, it's just a bit of fun. The underlying message being - Domino is not the only tool with which you can *quickly* knock together a functioning website.

    1. In fairness Jake has a point. The ease at which you can create something is more likely to get people who are new to adopt faster.

  6. I wonder how long it would take to create a decent looking and fully functional discussion forum, wiki or open source community management app in XPages?

    • avatar
    • axel
    • Thu 24 Mar 2011 07:33 AM

    For someone who doesn't have a clue about .NET, mvc and all that stuff, its not RAD, because you first have to educate yourself.

    Some not to be named guy on planetlotus recently said that rad is out of fashion, as "nobody is talking about it". Now thats really funny, as RAD means real business value: Showing the app early to customers and finish it in little time. This is part of all those very influential agile schools of pm. And it makes sense in a sense of real business value sense.

    Currently I sit in a java project where planning started in 2007, coding in summer 2008 and still no line delivered to a customer. Thats really weird.

    But its a exception. A lot of tool do have RAD aspects. A lot of modern java programming should consists mainly in wiring together frameworks, for example, which I consider as RAD too.

    I don't think that any domino expert consider his platform to be THE RAD platform at this point of time.

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 08:22 AM

      Perhaps RAD is the wrong term to use. I know what it stands for but have to admin I don't understand what it actually *means*.

      Show the rest of this thread

  7. I'm with John on this....RAD has to include more then just data entry and display. What about security? What about delivery? What about AJAX? I'm not saying Domino is better or worse, but a bit more in-depth would be useful.

    I did like the comment about "arranged marriage". That made me chortle.

    Henning also had a fair point that RAD from 2002 may not be as "rapid" as RAD in 2011. Still it goes to show how far ahead of it's time Domino was.

    I have a feeling David Leedy is taking up the challenge in NotesIn9 later today ;)

    On a separate note I was always surprised that you stuck with Domino (classic, sans XPages) as long you did. It always sucked to build nice, functional web apps in Domino. Just look at the iNotes code in the mail template. XPages has (or maybe will....it is still in it's infancy) help with this. It's a shame you suffered for a decade or more and are missing the new and improved "easy life" ;) (although XPages is still a bit hack-tastic too)

    The jury is still out whether one can make a living doing Domino/XPages development, and that is more of a decision point than anything else. Is it the start of a resurgence or a last gasp attempt to mike the cash cow? Only time will tell.

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 08:33 AM

      I'm surprised I stuck with so long too. Financially I never had just cause to though. Until now.

  8. Ok I tested and doing it old style is a bit messy. Using XPages (detailed above) I could do in under 5 minutes easily.

    Need to see about creating an account on Screenr though.

  9. Under 5 mins. Would of been faster but I accidentally messed up my UI mid-recording. :)

    http://www.screenr.com/cjo

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 08:25 AM

      Thanks for taking up the challenge Simon. I'm impressed that you did it in under 5 (just! ;-) -- still took twice as long as my MVC version though '-)

      It was interesting to watch an XPage being built for the first too. Thanks for the demo.

      Show the rest of this thread

    1. This is the best intro to XPages I've seen ... and I've been looking a lot. I feel like I could "break" into XPages if I could just get a couple of questions answered. This little demo answered several of those questions right off.

      Thanks Simon ... and thanks Jake for posing the challenge and supporting the conversation. That's what I like about CodeStore the most!

      Peace,

      Rob:-]

      Show the rest of this thread

  10. I was focusing too much on the timer, so two mistakes.

    1. Anonymous didn't have delete access, which is why the popup at the end.

    2. I had set the view column to run as links and edit document. So adding the action was not required.

  11. I've created an episode of NotesIn9 to respond to this. I think I came in at around 3:47.

    http://XPag.es/?XPagesIsRAD

    :-)

    Jake - if you're interested in at least learning more about XPages, I have a bunch of short (and long) videos at http://xpages.tv

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 09:25 AM

      Ok, I'm impressed.

      Thanks for being so nice about me at the beginning David. I didn't expect that at all.

      You've got a good style at presenting. Like you said, my sound was bad (can't get mic to work) which is probably a good thing as my presenting style is poor -- just me going "Errm" a lot and whistling along with very little perzazz.

      I'll try to watch more XPages videos if I get chance. But then again, is there any point if there's no work with it (for me at least it seems)...

      Show the rest of this thread

    • avatar
    • JFranchetti
    • Thu 24 Mar 2011 09:07 AM

    I found the above videos and the ones the commenters had done extremely useful. I wish there was more hands-on posts in the community.

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 09:21 AM

      Glad you did. It's always my hope that whatever I write about is at least of some use to somebody. Most response here is to shoot my down (probably rightly so) but it's good to still know that, as I would hope, there are plenty of non-commenters out there who watch in interest.

    1. in the designer help file, when i started out, i found the tutorials section and it had one for building an xpages app, i still copy the search formula from there occasionally

  12. Jake,

    It's fun comparing technologies. I've done the 5 min. exercise myself with XPages and it's a nice fast way of showing how to initially make an interface from scratch in any technology.

    As a complete ignorant in ASP.net my only concern is how do you have to proceed from your local project to deploy it on a production server and make it, in a secure way, available for users.

    This kind of entries are good to make us, Domino developers, aware of what's going on outside our "yellowverse". :-)

      • avatar
      • Jake Howlett
      • Thu 24 Mar 2011 09:32 AM

      I'll try and cover that over the coming days weeks, but, as you can probably guess, it's nowhere near as easy as with Domino.

    • avatar
    • Richard Shergold
    • Thu 24 Mar 2011 09:24 AM

    I think David's excellent video shows just how RAD XPages development is. It certainly seriously competes anyway. And like he said, this was NOT using any add-on to the basic product - no scaffolding required! And what's more, I expect as you took the simple app to the next stage (or stages) of development, you might find Domino/Xpages pulling further ahead in the race.

      • avatar
      • Erik Brooks
      • Thu 24 Mar 2011 11:22 AM

      Excellent points. If you add security and deployment, .Net falls WAY behind XPages/Domino.

      And this is just Domino 8.5.2. 8.5.3 (with a ton of crazy enhancements) is due out next quarter, the extensibility library has new updates almost weekly, and Dojo is moving forward very fast now.

      IBM's got SERIOUS momentum and backing behind XPages and Domino, and it's really starting to show. It's going to continue to accelerate forward.

    • avatar
    • Andrew
    • Thu 24 Mar 2011 09:24 AM

    Sure reminds me of Ruby on Rails :)

    Pretty nifty.

    How does a production deployment of this code compare to Domino including the build process?

  13. It doesn't really matter if Domino is RAD if you can't afford to licence the Apps - have you tried selling a simple SAAS domino app to an organisation with > 1000 employees - even if only 20 use it ?

    I know that IBM is keenly interested in this so if you can raise it with them and it affects you now or in the future then please do so.

    • avatar
    • Steve
    • Thu 24 Mar 2011 03:24 PM

    @ Daren Duke, I'm chortling at the use of the word chortle. :)

  14. I wonder why we can sell projects solved with Domino cheaper than projects solved in ASP? Less development time!

  15. Ruby on rails = 1:41

    http://www.screenr.com/jH3

      • avatar
      • Jake Howlett
      • Fri 25 Mar 2011 01:38 AM

      Now, that's quick!

      Reminds me why i liked RoR so much when i first saw it.

      Thanks for the demo.

  16. Interesting, here's a link to WaveRunner, a recent acquistion by VMware for SpringSource. Now it was done as a demo, not sure it fits in the 5 minute time limit, but worth the watch at least.

    http://www.wavemaker.com/screencasts/cruddemo/cruddemo.mp4

    1. very impressive

  17. Jake,

    There is no doubt that the simple process that you described can be executed easily in any one of a number of tools.

    Here's the next challenge. Include in the app the ability for the user to add a 'history' record attached to the main record, and then display that history in a list while viewing the main record.

    I know how difficult this is to do in a MS environment. I know how quickly and easily I can execute this simple task in Domino.

    And that's where Domino shines as a RAD platform.

    Thanks for the demo.

      • avatar
      • Jake Howlett
      • Fri 25 Mar 2011 01:40 AM

      I wouldn't say this was difficult in ms. Perhaps not as easy as notes, but... What notes approach are you talking about? Multiple value fields? Doesn't that limit the size of the history section?

      Show the rest of this thread

    • avatar
    • Ferdy
    • Fri 25 Mar 2011 02:57 AM

    Looks like a fun exercise, and I agree with your point that Domino is not the only RAD platform in town.

    However, given the simplicity of this application, which is non-relational CRUD, one could "build", or better said configure it in a platform like SharePoint within 1 minute. Too lazy to record it, but it would go like this:

    - Create new custom list

    - Add the columns

    - Done

    You will get the creation, editing, deleting and views out of the box. On top of that, you get subscriptions, Excel exporting, filters, user-configurable views and much more. Your point still stands, but these kind of greenfield CRUD "apps" can hardly be called apps anymore. In my environment, they would not be developed as a custom app.

    Therefore, if you would ever plan to do more advanced comparisons, I have some suggestions :)

    - Complex workflows. Recently did one containing 80 steps, both serial and parallel with lots of custom routing

    - Integration with back-end systems such as SAP

    - Data-driven security at every level

    - Relational data combined with unstructured data

    - Mobile access

    - Offline access

    - Email integration (lazy approval, task creation, scheduling)

    - SSO

    - Portal integration (SAP portal, SharePoint)

    - BI/BW reporting

    I know, it would be impractical to screencast such a comparison, I'm just saying that the typical custom enterprise app (if created at all) in my experience contains many of the elements above.

    So yes, Domino is not alone in its RAD capabilities and your comparison proves it. Yet, it does not compare actual productivity in the creation of a real world app. If you want to be thorough, you would even have to include non-development tasks, such as deployment.

    I have been in the fortunate position to have seen LN&D, PHP, .NET and SharePoint in use on a large scale in the same team, in the same company, building roughly the same kind of applications. That makes for a decent comparison I think. I could list dozens of criteria and list you the differences, but I'll instead jump to the conclusion: the differences are neglectible from a business/cost point of view.

      • avatar
      • Jake Howlett
      • Fri 25 Mar 2011 05:49 AM

      So, you're saying that SharePoint is better than Domino then Ferdy? :-)

      Show the rest of this thread

    • avatar
    • jana
    • Wed 30 Mar 2011 03:54 PM

    Hi

    If use CodeIgnater , "scaffold" , then it will be quicker than "ASP.Net"

    • avatar
    • Ayhan
    • Thu 28 Apr 2011 03:54 AM

    Was in vacation and read this post, tried it bymyself "Notes-Classic"-Style ;-)

    http://www.handwerker-im-allgaeu.de.. ..ker/allgaeu/web.nsf/id/0D7CC4A36140D95DC1257880002F763D

Your Comments

Name:
E-mail:
(optional)
Website:
(optional)
Comment:


About This Page

Written by Jake Howlett on Thu 24 Mar 2011

Share This Page

# ( ) '

Comments

The most recent comments added:

Skip to the comments or add your own.

You can subscribe to an individual RSS feed of comments on this entry.

Let's Get Social


About This Website

CodeStore is all about web development. Concentrating on Lotus Domino, ASP.NET, Flex, SharePoint and all things internet.

Your host is Jake Howlett who runs his own web development company called Rockall Design and is always on the lookout for new and interesting work to do.

You can find me on Twitter and on Linked In.

Read more about this site »

Elsewhere

Here are the external links posted on the same day.

More links are available in the archive »

More Content