Bashing Domino »
FERDY CHRISTANT - NOV 22, 2006 (07:36:22 PM)
Last Monday, Jake had a stab at Domino. It resulted in quite an intense, but good discussion about Domino as a web platform in nowadays market. It is a discussion that has taken place over the last years. However, the discussion is getting more fierce because time goes by and nothing seems to ease the old pains.
Below is my take on some of the comments in that thread and how I currently feel about Domino. I'm not going to get personal, but I'm going to be very blunt. Just to get things of my chest, to do a reality-check, and simply because I care about the product.
I wonder if Domino is still the best platform for web development?
It is the worst web development platform I have ever witnessed, and I say that as a big promoter of Domino web development. It feels like web support is added as an afterthought, without proper architecture or vision. It may have cut it back in 1999, but it certainly doesn't right now. There is a reason why hardly any internet site runs on Domino. I do it, and many in the Lotus community do it, but that's about it, exceptions aside.
Not only is it cumbersome to develop for the web in Domino, the extremely unnatural way of doing things (read: work around the out-of-the-box functionality) can seriously screw up one's web development skills if you don't know any other platforms. I would even go as far as to abuse a legendary quote of Dijkstra concerning Visual Basic to illustrate the poor state of Domino web development:
“It is practically impossible to teach good programming to students that have had a prior exposure to Domino: as potential programmers they are mentally mutilated beyond hope of regeneration.”
Of course that remark was over the top, but this post needs the humour, trust me. It took me years to figure out, and many platforms to try out, but I can't make this any prettier: Domino web support is way behind other platforms. It really hurts me to observe this. The Lotus community is awesome, full of passionate enthusiasts with great personalities. We deserve something better.
So Domino is an unsuitable platform for web development?
I'm not saying that. I have used it for countless applications at work and also to develop Blogo. I now realize that there are better platforms to build the same applications, however this does not render Domino as useless to me. For instance, at work we use Domino as a very thin web front-end while the real web front-end runs inside a portal. In hybrid architectures like that, the strength of Domino's document-based database and workflow capabilities are combined with powerful web features of a portal system. For all-round web development, I think the Domino platform will stay as it is, but there are still jewels to be found.
If you think you know it all, why don't you request IBM support?
Because I have lost hope that Domino will ever be a serious web platform. There are many complaints outstanding for years, and I'm not seeing the solutions. Even if they were there, to me it feels like the base architecture is wrong, and only a drastic change could fix it. This seems to be consistent with IBM's strategy where a move to Eclipse/J2EE is promoted. In other words, the Domino engine will stay as it is, but will slowly evolve into something much different. If you intend to stay on the Domino platform, you're probably never going to see the improvement you have screamed for the last years. You may even have a problem, as that market is quite thin (I think).
The Eclipse/J2EE market is big, why not move along with IBM's roadmap?
This may not be a bad idea at all. To me personally, IT strategy at work has pushed my path away from J2EE. I did try to learn and practice it. My opinion is that J2EE certainly is a better web platform than Domino, but it has it own problems. Many in the J2EE community admit that J2EE has failed at being a successful web platform. It certainly has lost its momentum considering the rise of PHP and Ruby. PHP and Ruby succeed because they are designed and architected as a web platform, they do just that and they do it well. They embrace simplicity and productivity. Therefore, I have my doubts about IBM's Domino successor.
Can I continue to make a living of Domino development?
Maybe, but I think the question itself is wrong. One should not rely on a single vendor or platform to make a living. I know it is an idealistic statement, but it is my philosophy towards technology. It is good to be passionate about a technology but don't make it a religion before it bites you in the ass. Drastic changes in the IT landscape and market occur at a frequent rate, if you don't reevaluate your own strategy, you're in for a big risk. Remember, technology vendors like IBM have an agenda and you have your own. They do not necessarily match at all times.
I personally try to push it even further: one should not rely on technology alone to make a living. Learn to properly test software, architect it, specify requirements, so that you maximize your value and diversity in the ever changing job market.
How will I cope with having to learn all this new stuff?
Step one. Acknowledge that you need to learn it. In the long term, do you really think you have a choice? Or do you want to wait for a technology to be become obsolete? Or perhaps you think your job will never be offshored?
Step two. Position yourself so that you actually want to learn it. Without the passion to want it yourself, it is unlikely that you will successfully adopt to change.
Step three. Time management. It can be hard to combine study with your life but it is almost always possible. My strategy is to combine frequent short sessions with long deep sessions. There is always a way, especially if it concerns your future income.
Having said that, there are strategic choices to be made about what to learn, and its not an easy one.
To end this ramble I would like to make an ode to Jake. He pretty much alone pioneered advanced Domino web development in our community. I can hardly imagine the countless hours of voluntary work he has done to bring Domino development to a higher level. He deserves respect for that, from us, but also from IBM.
Final note: At one point in the aforementioned discussions, it was stated that large enterprises use Lotus Notes for email only, and that this moves the focus away from Lotus Domino. I don't claim to represent all those companies, but I work in a 110,000 seat Notes environment where the platform is used for pretty much anything. Sadly, it will probably not take long before we migrate away. Well, in fact the migration itself will take long but you know what I mean.




Comments: 20
Reviews: 4
Average rating:
Highest rating: 5
Lowest rating: 2
COMMENT: JEFF CROSSETT


NOV 22, 09:40:41 PM
I made the jump to the .NET world and I find it painful when I have to go back to the LND world. It's not easy to change, but there is no where else to go. Folks just gotta move on. «
COMMENT: FERDY
NOV 22, 10:05:57 PM
Despite the changes at work I don't see myself moving away from Domino entirely in my hobby time. I still write articles about it and I maintain my Blogo product, which I use to run this site. I'm actually still quite enthusiastic about my Domino work for the community.
Nevertheless, since about 2 years I also spent a lot of time on PHP and occasionally J2EE. I look forward to adding .Net to my belt, and even Ruby. Domino is still in the picture, its just that it isn't my only choice.
In the end, they're just tools. I earn money with them and try to have fun with them. Who cares about anything else
«
COMMENT: TONY PALMER
NOV 23, 02:25:27 AM
1) Yes, I believe that Jake has lost his passion/mojo for Domino
2) It's not the fittest that survive it's the one that adapt to change, keeping your eggs in one technical basket is career limiting in this industry - even more so if you are running your own company.
Jake did great work when Domino web development was closer to the leading edge and gave inspiration to countless developer. However, the marketplace has moved on, new technology options are now available for web development.
Mabe its time to reinvent and invigorate....and get the mojo back.
Jake 2.0 ??? «
COMMENT: EGOR MARGINEANU

NOV 23, 09:23:40 AM
I made the jump to .Net 2 years ago and J2EE 1 year ago. Now I'm learning Python and Django Web Framework. My opinion is that every developer should learn something new every year. «
COMMENT: HENNING HEINZ
NOV 23, 09:55:16
IBM has excellent tools to scale up especially if you do not care about the hardware requirements (that should not bite that much for such a big company). As much as problems I see for small shops, IBM should be a good partner for a company of that size!?
I would not agree with your description of Domino web development. There is not much that I miss (but I am not a core web developer) but the fact that certain annoyances exist for years with no hope of being fixed anytime soon drive me nuts from time to time.
Keep up the good work and if you haven't done so maybe have a word with Ed Brill about your company. «
COMMENT: PATRICK KWINTEN
NOV 23, 11:12:15
I agree that Domino is not the best WEB platform to develop, but customers are still amazed how easy it is to set up a Notes database and include all the workflow / security models.
Maybe some technically daring project would bring your mood again??
COMMENT: MICHAEL
NOV 23, 04:24:53 PM
I also think that developers tend to think that the more "low level" code they do, the more powerfull the platform is.
Take J2EE for exemple, beeing completely free is very cool sometimes, but many times you deal with complexity that should not exist anymore (persistence anyone ?).
I would also be very curious to know the developers reaction if they had to switch back to "command line" stuff like you do in RnR and stuff like that...is this really a progress ? What's the big deal with that ? Not having to deal with persistence ? my god...
And how many "monsters" each and everyone of you has seen built with those "hype frameworks"... «
COMMENT: FERDY
NOV 23, 06:51:24 PM
I guess I agree with you disagreeing on my criticism of the platform. Domino web development in itself takes a while to get used to, and after that I may not feel awkward anymore. The pain I feel is that everything around Domino is moving and improving rapidly, whilst Domino stands still. This triggers the question: do I also want to stand still, or will I move to something more modern and suitable that sells better in today's market?
Egor, couldn't agree more. I try to learn something new each year as well. There's a danger in it though. Before you know it, you know a little about everything, and thats it. It is sometimes better to limit the amount of education targets, but to do them well, resulting in deep knowledge and skills.
Patrick, yes, the workflow and security models rock. But I wonder, with the proper amount of architecting and reuse, can we not get the same productivity factor in other platforms? I think it can, my experience with PHP and limited experience with .Net tell me it can be achieved.
Not too sound arrogant, but I had my share of daring project in Domino. I also did some where Domino was not the ideal platform given the requirements. For my after work activities, I mostly like to learn new stuff, and Domino I feel I already know long enough.
Michael, I couldn't agree more with your "best tool for the job" point. But for web development, Domino simply isn't always the best tool for the job. It could be if it was taken seriously, but it is standing still. I agree with your point on J2EE as well, I don't consider myself a fan of it at all. I have learned that PHP and .Net do deliver in the area of rapid application development, so there are more choices than just J2EE.
I still love Domino web development, even though I stated before that I find it awkward. I'm productive in it and I think I know it well. I'm definitely not saying goodbye to it at all. Its just that over the years, my perspective on it has changed. I no longer see it as my standard choice. I now realize that there are many choices, and that often other platforms are much more convenient for web development. So, its a platform I have in my portfolio, and I use it when I find it suitable, without religiously attaching myself to it. «
COMMENT: MICHAEL
NOV 23, 10:05:39 PM
COMMENT: SASHA
NOV 24, 09:35:03 AM
It must also be said that the client, still alive in most big corporate companies, offers lots of features over the web interface, and there are lots of applications alive for the client. Going to migrate them to a complete new and different platform will offer new knowledge but lot of pains too. For instance, developing a simple workflow application on Domino is a matter of a few hours, while doing it on a .net platform requires some days. Is this overhead really needed? Is it going to improve the business? I don't think so. We'll get the same application, shining for the new interface, rewritten from scratch, it'll take more than double of the time to implement and will offer the usual advantage: a new flow that better suits the new business model and more knowledge to the developer. So in the end it won't be that bad, but the same could be done with Domino in less than half of the time.... In the end there is still little that can't be done on Domino...
Just my 2 cents. «
COMMENT: MICHAEL
NOV 24, 10:20:29 AM
COMMENT: BEN POOLE

NOV 24, 22:21:55
COMMENT: RICHARD SCHWARTZ

NOV 25, 04:02:08 AM
COMMENT: FERDY
NOV 25, 11:05:33 AM
COMMENT: ROB

NOV 25, 04:46:49 PM
COMMENT: ROSS HAWKINS

NOV 27, 01:14:41
Having said all that, I'm still incredibly passionate about Notes/Domino and the things that can be achieved with it, but more and more it feels like it's the Betamax of the Web x.0 world. I still work with Domino, but these days I'm finding that as a consultant, 95% of my time is being spent in the world of .NET - the transition is something which was a little harsh to make initially, but it's something I'm incredibly glad I did, and it's also something which was driven by sheer market demands over here (it's also something that I wanted to write more about like Jeff, but never seem to find the time!).
Btw, keep up the good work with Blogo! «
COMMENT: MICHEL VAN DER MEIREN

NOV 27, 09:53:59 AM
And the interface is about 20 times slower too. So I returned to Domino in my free time and started a blog on all the things you can do with Domino when you combine it with XML and JavaScript...
For my own blog template, I used Blogo for inspiration a lot. Thanks, Mr. Christant! «
COMMENT: DD

NOV 29, 12:48:27 PM
COMMENT: PEJMAN

DEC 29, 11:07:01 PM
And this IS NORMAL for 2 reasons
- the designer is ui oriented
- the platform offers a lots of built-in functionalities : security, replication, directory, archiving, messaging, transparent persistence, database, container concept....... and this should also change with the new rich client, the new transactional capabilities and web services orientations.
I spend 95% of my time on WebSphere and WebSphere Portal but from what I know about Domino, I have a simple question :
Is it more productive to write DAO's or struggle with spring, hibernate, struts, jsf, ....
or just drag / drop a field on a form ?
technology is not important (XML, SOA, Perl, PHP... )
simplicity, ease of use, learning curve, maintenability.. these concepts are important and have deep impact
The grass is not always greener on the other side «
COMMENT: CHRISBOOTE
JUL 21, 2008 - 08:19:18
I hve clients who are moving away from Domino, and willing to take all the cost and pain of losing Domino and over a decade's worth of apps, not because it can't do what they want, or because it's not suited for Web apps, but because they can't guarantee to find any Domino developers for new apps or to maintain or upgrade old ones
It's a vicious circle that IBM just doesn't understand - they are lukewarm about Domino & don't work with it properly => fewer devlopers => fewer clients/customers => fewer developers => ... «