The Five Minute Domino CRUD Website Challenge
We all know how quickly you can create a functioning website using Domino, right?
But. Is there another platform that lets you create CRUD-like websites as quickly as Domino does? Well, you might be surprised to hear (I think) I can do it just as fast (perhaps faster?) in ASP.NET MVC!
To prove the point I wanted to time myself doing a similar task in both environments. Then I decided it would make sense to try and record (and share) it with you. In steps Screenr.com, which lets you do screencasts without installing any software (apart from Java) and for free.
Screenr has a time limit per screencast of 5 minutes, which should be ample and I've set that as the limit for how long it must take to build either site.
The site I'm going to build is a simple store of contact documents. Each document will store the name, company, phone and email of the person. You should be able to view them all, edit each one as well as delete the entries.
Using Screenr I managed to easily put this screencast online of a demo run:
I need to work out why my mic isn't working properly.
What surprised me was how quickly five minutes passes. After 5 minutes I hadn't added a way to edit or delete documents. On the next attempt I'll skip creating tables on the form and other bits not needed. I'm sure I can do it in 5 mins.
But, anyway, over the next couple of days I hope to show two screencasts of creating the CRUD Contacts website - one with Domino and one with ASP.NET MVC.
In the mean time why not time youself and see how quickly you can do it? If you know of another environment where you think you can do it as quickly then why not share a screencast of you doing that?
* CRUD = Create, Read, Update and Delete
Well http://www.playframework.org has a 11min introductory video with a basic crud interface example at the end. There are also several examples in Grails, Rails or PHP although most of them take longer than 5 minutes (like creating a Stack Overflow clone in an hour).
Reply
Its difficult to convince people in yellowverse that domino is NOT the only RADD platform.
Reply
As quickly, sure, but as easily? ;) I've seen people who can barely tie their own shoes get a Notes app up and running.
We all have. They're terrible.
Reply
I think if the developer is familiar enough with the tools, this 5 minute crud challenge could probably be achieved for any given platform, be it PHP, Rails, Django or any other high level web framework. Developer familiarity and experience is the key.
The notion that Domino is the best and most suited platform for rapid style development is really a myth perpetuated by those who have years of experience in Domino and zero real world experience with anything else (like those who create a Stack Overflow clone in 7 hours).
Reply
Agreed. Challenge is probably the wrong word and, yet again, I've not thought things through before burning my thoughts on the internets. Doh.
The goal of the exercise is merely to show, like you say, that Domino isn't the only fruit when it comes to RAD.
Maybe I'll just see in which I can do the same task the quickest -- Domino or .NET MVC.
Reply
I just did a test run in ASP.NET MVC and it took just over 2m 30s. http://www.screenr.com/F5o
Reply
Agree with some of the above comments - experience is key here. Most of today's frameworks allows you to build a CRUD like webapp in no time (once you know your weapon).
it's often later on in the dev-process that you might benefit (or not) from the builtin capabilities of the platform (thinking about access-rights, roles, search, app-isolation, task-scheduling and so on).
Each framework helps solving different aspects of the requirements in a more or less time- effective/automated way.
Sometimes you need to ad layers of functionality to accommodate the reqirements of the system (or the maintainability). Each layer/product might be a rock-solid solution by it's one but when you throw several of those in the mix things get complex fast.
Sometimes I feel we tend to spend more time focusing
on finding the perfect tool (feature-by-feature) rather than learning how to build a great app from a solid design/archtectural perspective regardless
platform.
Reply
Building the lowest common app in a short time is no benchmark I care about.
My minimum app must have the ability of users to create accounts, have web side admin of the app including setting up and maintaining membership lists, groups, page creation/editing workflow, etc. That's where I start from with my existing Domino framework.
When I think about switching from Domino, that's the framework I want or must create to get back to square one. From my research, Plone comes closest out of the box but I haven't taken that plunge. It has a considerable learning curve just like Domino and I'm 14 years up the Domino curve.
Peace,
Rob:-]
Reply