Does Domino Suck? Ironically, Yes, It Does

Thanks for all your comments on Monday's entry. Much appreciated. It's always good to know you're not the only one on the boat. I even enjoyed the entry made by a grammatically-challenged Anonymous Coward, which included this JavaScript code:

<script>alert("I think Lotus Domino sucks, why? Lazy Lotus Developers write bad code, I'd be careful about letting people submit data to your site, could be used to own your visitors!!! peace ")</script>

The obvious effect being that everybody who opens the page gets this message in their face. Luckily it was only there for about 5 minutes and didn't do much "damage". The fact that it actually worked surprised me though, as I was pretty sure I'd prevented this in my none-lazy code. After I took another look at the code I found that the following line, which should be in the Input Translation event, was actually in the HTML Attributes of the fields concerned:


How on earth it got in there I have no idea. I distinctly remember testing the code and have not touched it since, assured as I was that the site was safe from these attacks. I love the irony of it all.

For the record I don't really think Domino sucks anyway. I think it's a great product. It's just that it's very annoying sometimes. And, yes, I know all products have bugs, annoyances and gotchas. It's just that I use Domino primarily and so that why I sound-off about it so much. If I were a .Net developer I would probably bemoan that just as much. Whichever way, it's simply free speech, to which I have the right like everybody else. Please don't feel it gives you the right to hack my site. No matter how well meaning it is.


    • avatar
    • Aden
    • Thu 13 Jan 2005 06:08

    Karma is going to creep up on our anonymous visitor, he will see......

    • avatar
    • Phil
    • Thu 13 Jan 2005 08:09

    In no way do I condone hacking your site but it really pi**es me off how users attack Notes/Domino. I work for an IT solutions company which tends to push Microsoft. We use Notes internally but this seems to aggravate a number of our techos who like to constantly bemoan Notes over it's inadequacies when compared with Outlook. I don't know how many times I've quoted the line "Outlook is mail, Notes does mail", but nobody seems to get it.

    I find it even more astounding when clients of ours spend tens of thousands of dollars to switch from a Notes-based mail solution to Exchange, just for the sake of it, and have more admin-related issues but it seems *ok* as they now can use Outlook. Has nobody heard of the Outlook connector?

    Domino is far, far easier to maintain from a mail perspective than Exchange, and has far less problems but people seem to be blinded by the "Outlook is best" mantra.

    I realise this is a little off topic here, but as a Notes "consultant" covering ALL aspects of Notes/Domino, it does get very frustrating.

    • avatar
    • Lance
    • Thu 13 Jan 2005 09:00

    Phil, you are so right. Our techies pushed Exchange until we said 'ok, but you'll have to admin it'. They backed off rather quickly after that. Once in a while we have a user that asks 'why don't we use outlook', and we ask if they would rather have the bells and whistles or be able to access their email all the time.

    Plus, we decided early on that POP mail was not secure enough for business use. Does the Outlook connector use POP or IMAP ?

    The great think for us, is that we have built some mission critical apps that would take a lot of work to replace so it would be harder to switch to something else.

    Plus everyone still remembers the huge virus outage a couple of years ago at companies that use exchange, everyone in our city was down (city, university, manufacturing company) except us...

    • avatar
    • Phil
    • Thu 13 Jan 2005 09:10

    Lance, the Domino connector (ie not the MS one, as I have no idea what that uses) uses the Notes protocol.

    If people want to use Outlook, fair enough - but there's no reason why they have to migrate their Domino environment to Exhange to do so. It's just wasted money.

    • avatar
    • Mike
    • Thu 13 Jan 2005 10:01

    What I love about Notes:

    Notes/Domino can do a little bit of everything - some things it can do "a lot of bit" . You can take Notes and do some/all of the things that are done in Outlook,Oracle, ASP, etc. You cannot say that about those other technologies. In some cases you need all of them to complete a project that can be done entirely in Notes. But hey - IT managers love buzzwords and trends.

    • avatar
    • Luke
    • Thu 13 Jan 2005 11:13

    Yes, Notes can do a little bit of everything, and nothing well. I'm busy porting my site after 4 years of Domino (and 20,000 hits a day) to Tomcat and mySQL, and loving all the neat things I can do that I cannot with Domino.

    Jack of all trades, master of none.

  1. I'm a big fan of "use the right tool for the job". The image of trying to tighten a screw with a hammer always comes to mind when people choose the 'wrong' technology.

    I guess I'm perfectly happy to admit there are many things you don't want to do in Domino, like super hi-capacity websites or applications with diabolical data models. My only gripe is when people look at Domino and whatever Technology B is and choose B because, as Mike points out, someone fell in love with a buzz word or decided something (J2EE) should be the corporate standard.

    That's kind of like saying "4 door sedans are now the standard, whether your delivering papers, minding meters, or hauling gravel." Standards should rest on guidelines and parameters, not a single technology. And so often, Domino gets discareded simply "because".

    I guess a modern day analogy would be, do you want to cary a multi-tool or pick one tool from the tool box to rest your hopes on? Which fits with what Luke said.

  2. I might have tried refactoring before porting, Luke, but that's just me. The site, as it stands, is many times more verbose than it needs to be. I can't speak towards architecture, since I don't know how it's being put together under the covers (I know which bits are views and so forth, but that means little from a critical perspective), but it would certainly be feasible to halve your character count (or better). 20K hits/day really isn't out of control, even for a single-processor PII-class machine -- provided that the hits are being handled efficiently.

    As for master of none, well, there are things that Domino does better than anything else (like managing large pools of essentially unstructured data). Problems with the platform usually boil down to driving screws with a hammer (thanks, Jerry).

    Apart from being the only platform of its type, though, and therefore by definition best-of-breed, though, Notes sucks. From a developer's perspective, it's just wa-a-ay to quick and easy to screw everything up. There are quirks one has to learn to live with. But for all of the griping and whinging I may do, I can still do twice as much in half the time as I can in .NET or Java (okay, half the time is being really, really optimistic about J2EE development cycles). When it is THE right tool for the job, though, forget about going elsewhere.

    • avatar
    • tq
    • Fri 14 Jan 2005 04:02

    Jake, I come from a Domino background but right now I am doing a lot of .Net development. Initially I thought I would be bemoaning .Net a lot, but I have to say that I have been quite surprised and actually enjoy the functionality and the IDE - so much so that when I have to go back and do LS or @function coding the environment seems a bit archaic. I still love Domino but the dev environment just doesnt't have a patch on it's MS equivalent. Agreed, doing stuff in Domino is much quicker, but as Stan points out above, it is much quicker to screw stuff up as well.

  3. I must admit when I was looking at web development I played around in .Net and Coldfusion and I found them both much nicer to use than Domino for making websites. It is true that things take longer, especially in .Net, I have my doubts about Coldfusion, but it is also true you feel you can develop properly, easier. It is like an open playground, rather than feeling like a box you have to work in.

    While I realise it is not .Net or J2EE (well, it is really) Coldfusion is an excellent product. I moved my site from Domino to Coldfusion and I found it has a similar approach in terms of 'ease of use' to Domino but actually creates Java compiled code at the end of the day. The security model is nice and you can use Coldfusion Components for good site design and everything.

    It's a pity it isn't used more to be honest, as it runs on pretty much all major J2EE platforms.

    Still, I'm moving a way of development all together, did about three years ago really. IT consultancy. I don't really miss the development, I always only got excited about what the development could allow the business do, rather than enjoying the development process itself.

    • avatar
    • Frank Black
    • Fri 14 Jan 2005 11:11

    Funny you mention Cold Fusion... I've lost virtually all of my applications that don't require mobile/replication to the CF team at my employer. I just saw a demo of their new Flex product and it's going to be the death of me as a Notes developer. I love Notes/Domino, but it has become a very difficult sell with the availability of mobile Internet hotspots.

  4. The poor mans Flex is Lazlo Systems. I just posted something about it on my website at {Link}

    This is hot stuff and it is free.

  5. Thanks for the feedback, Stan. The problem isn't so much the load (we have a dual PIII-600 w/1GB) but just the fact that there are a lot of things that the Domino platform simply doesn't support.

    We know it's not a relational database (and ultimately, 90% of my data is structured and relational). It doesn't easily support ad-hoc queries over the web. It doesn't have transient session support that ASP and servlets have had for, well, YEARS. It still doesn't let me rip out the HTTP stack for Apache - so the promised DB2 integration makes me skeptical that it'll ever get to other databases like Postgres and mySQL.

    Add to that the licensing costs and the fact that hardly anyone develops in Domino anymore, and the logical step for me to do is write it in an open architecture and hand it off. That's why there's hardly any new Domino development anymore, and it's a strategic risk to base your systems on it.

    Got to admit, there's very little pure servlet/JSP development these days. Most pointy-heads are enamored with "frameworks" like Struts and the like (never mind portals) that add tons of complexity and save no time over the long run.



    • avatar
    • Axel
    • Fri 14 Jan 2005 12:21

    Ts.Ts.Ts. how comes you simply don't get that Domino WILL BE j2ee with workplace. You just write your @formulas and LotusScript and get one of those fancy J2EE apps with Workplace. Fully tshabadi-waka-yoyo transparently.

    Stop with jokes: Maybe any job has its annoying parts. Its good to have 2nd or 3rd feed somewhere. Maybe its good to have at least some knowledge about 1 technology which looks like mad-crazy-idiot science at first, but which makes sense after having read some stuff and played around with it. I think, that there's no easy way out. But there might be. Only thing that I know is: NEVER BELIEVE MARKETING A WORD. But that's not big a secret.


  6. I think Domino is not the best choice for building web apps BUT for small (and sometimes even large) groupware apps there is no other tool on earth which let's you create a whole application in some days. You can pick (nearly) a language of your choice (@Function, JavaScript, Java, LotusScript, CSS) and with a few clicks you have a nice GUI in the corporate design.

    OK, some things you should never do. The worst is using Lotus Workflow (we suffer some years from this thing now) but for most customers Domino has a much better TCO than J2EE or .NET .

    And last but not least the mail part from Notes 6 or 6.5 is now really good, too.

    • avatar
    • Fideliteus
    • Mon 17 Jan 2005 14:40

    Someone made the point of using the right tool for the job. I'm not a Notes evangelist, nor .NET or anything else. Notes is good at what it does, but some solutions are much better suited to .NET (like SOAP, web services) or J2EE (stability, scalability, transactional). In the city in which I live, there have been many very large migrations from Notes to Exchange. The reasons are usually not what you'd think...rather, it was a push from some exec(s) who preferred Microsoft for some reason and just made it happen. Notes had just run its course at these companies and lack of whiz-bang features in new releases caused the platform to just wilt. Of the few that I had inside information on, there was very little pushback from IBM. You'd think they'd bring in their own execs for some ivory tower talk...

    In those situations, techies can pontificate until their face is blue, it has no impact.

  7. Well, there is SOAP and native web services in Domino 7, but I guess that'll be too late for your situation.

    • avatar
    • Fideliteus
    • Tue 18 Jan 2005 06:37

    That seems to be the story for Lotus Notes over the past several years... too little, too late.

    • avatar
    • Axel
    • Tue 18 Jan 2005 07:03

    I think the biggest problems with notes comes from app maintainability/adding new stuff.

    Especially with bigger notes-apps this can create big costs.

    With proper design/development techniques in more oo environments like .net or j2ee you simply do not get lost so easily (like test driven dev, design patterns, layered architecture, etc.).

    But Rational is way to heavy maschinery :-)

    You can have it more simple. And I think it works.

    You may say that LS is also OO, but it lacks abstract classes, interfaces and static-stuff which is important.


  8. And YOU may think that LS is all that's available in Notes and Domino, but you'd be wrong.

    Architecture is architecture. A badly designed app (or one that is overly optimized) may be difficult to extend, but there's nothing built into Domino that requires one to paint oneself into a corner, or from creating implementing "patterns". Nor is there anything in .NET or J2EE to prevent a developer from painting himself into the same corner. And really -- how much of the code that actually runs the world is based on reused components or extended classes? Looks great in classroom exercises, and it's a great way to write a framework, but process code normally only extends framework classes that the workaday programmer never writes.

    As for the "too little, too late" crack -- well, waiting for a standard to mature beats the thundering crap out of, say, implementing a SOAP framework that later needs to be abandoned because it won't work with the standard envelope when it does emerge. Not that I'm saying that a company like, say, Microsoft might do something like that or anything....

  9. I tend to find there is two programming worlds. Mine, and I'm possibly guessing the majority of people here, in which Domino can be a pain but is a suitable application, and then the other world in which using Domino is alien.

    This other world has the true OO methods as much more holy scripture, they spend time writing data access layers or generating them automatically to provide a service to all code, etc.

    This happens in .Net a lot, just look at various ,Net forums you get two sides: the people who could use Domino just as well as a .Net solution, and the architecture/Enterprise people who see Domino as a pretty crappy product - from their point of view they are correct.

    It's all where you're viewing it from.

    • avatar
    • Fideliteus
    • Fri 21 Jan 2005 08:54

    Crack? That wasn't a crack, it was my opinion...like it or not. You seem to be very hostile toward people who have anything negative to say about Notes. Please don't take these as personal attacks, they are just opinions from your peers, which are just as valid as your own. Like Ian stated, "it's all where you're viewing it from." Having recently given up on a SOAP project in Notes and ending up doing it in VB.NET in about 2 hours, I can say what I say with the utmost conviction.

  10. So you missed the pleasurable experience of rewriting MS apps because of the SOAP change? It's timing, dude -- that's all.

    And no, I'm not particularly hostile. "Crack" must have a significantly different meaning in your part of the world than it does in mine if you see its use indicating hostility.

  11. I'm waiting for technologies such as HTTP sessions and Java garbage collection to sufficiently "mature" to the point where Domino supports them. :)



  12. Still lookin' for Java to clean up outside the JVM, eh, Luke? .NET doesn't do it either, but MS have been smart enough to provide an explicit release. And sessioning's been an option since forever -- you just need to use "entity beans" instead of "session beans". I'll let you think that over a bit.

  13. Looking for Java to clean up outside the JVM? No, not really - I'd just prefer that IBM didn't come up with a Java API that breaks the fundamental contract of garbage collection being handled by the JVM, not the developer. If we're going to do that, the Pope might as well not be Catholic.

    I mean, every single other Java API that I've worked with in the past decade that calls native code can clean up after itself. Why can't the Notes Java API? Heck, the LS wrapper onto the exact same C calls can do so, there's no requirement in LS to recycle.

    Part of the reason why Domino has stagnated is that folks are so willing to excuse IBM's complete ianction on implementing these basic Java features. Don't even get me started on the fact that we're usually 1 (if not 2) releases behind the standard JVM from Sun.

    And since when did Domino support HTTP sessions? I'm not talking EJBs here. (You do know what an HTTP sesison is?)



  14. Yes, I do -- and you need to take a page out of the bean book. "Entity bean" is a Java wonk's way of saying "stored information". In Notes, we say "document". (There is native sessioning with session authentication, but there is no data persistence unless you store something other than the SSID.)

    • avatar
    • Flymo
    • Tue 12 Apr 2005 13:49

    I've worked in large companies using notes and am currently at a software house which writes apps for Exchange and Outlook.

    I'd say Notes is far better for sites who want to write collaborative applications (and once you have notes you really should), but the mail is a bolt on (which is admittedly getting much better).

    Exchange and Outlook are primarily email systems with development bolted on. Writing apps is a complete pig compared to Notes. Too many half finished ways to access the data, and Outlook forms aren't a patch on Notes documents. For email it's great !

    So despite earning my living with Exchange if you're a developer then vote Notes ....

    • avatar
    • Tony
    • Wed 27 Jul 2005 05:15 PM

    I'm a ColdFusion Developer and PHP Developer and I have just started working a Notes environment and I have to say that it is so limiting. There are so many things I want to do but I can't and it drives me crazy. I hate how there are no "files" that I can ftp into and and edit them with any editor of my choice. Oh and code view? Where the hell is code view?

    Tables... HOLY CRAP.. it's like fighting a war with their tables. Currently I'm working on documents which are insanse! You have to measure things by inches! WTF! and it's not even on a 72dpi rez.

    Yeah Notes is going to fizzle out very quickly because it's not really expandable. The worse thing is I'm trying to control the formating of content and it seems to not generate block level tags such as H1 or P or DIV. That makes it hard.

    Notes is NOT made for the web as the web is continually ever expanding. If you want something new you have to wait till it comes out.

    • avatar
    • Amy
    • Fri 1 Jun 2007 04:07 PM

    I'm an ASP Classic, SQL, and Javascript developer and I have to say that I can't stand Domino - I just started working with it and I am so frustrated with all the errors and limitations. I am not used to having SO much control snagged away from me.

    I feel like I'm battling a sea of javascript errors whenever I try to edit ANYTHING on the pages. It's not truly relational, and it drives me insane.

    Alas, I have no choice - I must work with it, but I really really hate it.

Your Comments


About This Page

Written by Jake Howlett on Thu 13 Jan 2005

Share This Page

# ( ) '


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 »

More Content