Today's blog post comes courtesy of Angus McIntyre, the Group Product Manager for Notes/Domino application development.  Angus was recently at the Lotusphere Comes to You in Cincinnati, and with that audience, played this fill-in-the-blank:

Lotus developers are more productive than other developers (e.g. .NET, C#) because....

Some of the example answers provided were:

  • Security is built in, not bolted on.
  • Notes applications are compatible release to release.   According to one attendee "Notes applications don't break".
  • Applications are easily built, and quick to update for new functions.

What other answers would you provide to complete the sentence?

Angus is also interested in knowing your Notes application ratio -- how many Notes/Domino applications do you have in production, and how many developers do you have working on them.

Should you prefer to reply privately, we would still be interested in your feedback.  Just hit me up @work and I'll share.  Thanks.

Post a Comment

  1. 1  Anonymous  |

    In response to:

    # Applications are easily built, and quick to update for new functions.

    I almost choked on vomit reading that. Updates that I make to existing Notes applications take almost longer than it would take to re-write the application in C#

  1. 2  Nathan T. Freeman http://nathan.lotus911.com |

    @Ed - Can you say "lightning rod?"

    Good luck with this.

  1. 3  Ed Lee  |

    Just a few from me:

    I can put groups on the ACL and let the business control access to the database

    I can distribute changes through templates and even roll back changes through templates.

    I can copy and paste design elements from one database to another.

    I can import and export design elements using DXL

    I can link up to lots of non notes systems easily and the user never needs to know.

    The notes community likes to share solutions

  1. 4  Ben  |

    The choice to use Lotus Notes demonstrates their superior intelligence. Superior intelligence results in higher productivity.

  1. 5  John Vaughan http://jonvon.net |

    ...one Lotus developer can do what it takes a team of people to do in other technologies. for instance a Lotus developer doesn't need a DBA.

    skill levels vary, but i can do all the UI, web or Notes client, all the database (data structure) stuff, all the security stuff, all the workflow, and i can turn it around in less time that an entire team of people working across disciplines. and my apps look good too.

    speaking of data structure, i can change the structure of the data to fit changing requirements on the fly and Notes doesn't blink.

    Anonymous, you quite obviously don't know what you are doing.

  1. 6  Mike Brown  |

    @1,

    >> I almost choked on vomit reading that

    Your own or somebody else's? You didn't specify.

    (With regards to Spinal Tap).

    Cheers,

    - Mike

  1. 7  Joseph Hoetzl http://www.josephhoetzl.com |

    I don't have to re-invent the email wheel to email enable an application.

  1. 8  Kevin Pettitt http://www.lotusguru.com |

    @1 - Anonymous, would you care to be more specific as to what kind of updates take you so long?

    @5 - John sums it up pretty well, and in the process touches on one of the broad misconceptions that holds back adoption of Notes as an application development. Specifically, many IT decision makers think they need the same headcount to do projects in Lotus as they would in those other technologies. Once that false assumption is adopted, it's easy to see the smaller number of available Lotus professionals as a "shortage", and to see Lotus as a "risky" strategic platform to pursue.

    The follow-on to the (correct in my view) assumption that Lotus developers are more productive is that THEY SHOULD BE PAID MORE because of that. This of course often requires overcoming restrictive salary guidelines which many not have a category for "Application Analyst/Architect/Developer/QA Specialist Extraordinaire". It may also fly in the face of tradition that dictates managers should get paid more than the people they manage.

  1. 9  Henry Ferlauto http://www.geniusinside.com |

    I would simply say Domino Developers are more productive because "almost everything" is built-in.

    At the risk of some shameless promotion, take a look at Microsoft's s Microsoft Office Enterprise Project Management solution's (a.k.a. "Project Server") system requirements:

    { Link }

    Now compare that laundry list to the requirement for Project4Domino: One Domino application server; 6.5.4 or greater.

    We've actually won deals simply because the I.T. Dept. threw up their hands after being forced by the PMO to install Project Server.

    Then they download Project4Domino and have it running in a few hours. It's a pretty powerful argument.

    I'm sure other ISVs could make some similar statements.

  1. 10  Paul Mooney http://www.pmooney.net |

    @1 whoa... an anonymous troll barking on about software they know nothing about or not smart enough to understand it!

    I have never seen that before. Seriously... wow....

  1. 11  Brett  |

    I wonder why @1 chooses to remain anonymous? Perhaps he does not wish to reveal his own shortcomings? Those that come from a different way of building apps tend to over-think the Notes development methodology. So much is built in and not "bolted on" that they can't see the forest for the trees.

    Notes + Domino = True RAD

    True RAD != just doing .NET really fast ;-)

  1. 12  Dan Sickles  |

    Integrated persistence. No separate database language and no ORM to objectify the database language. Just a simple document API for persistence.

    @1 - Most poorly designed applications suffer from poor extensibility regardless of platform. A typical response is "I could re-write that on xx platform faster than I could modify this.." Then again, that response is also typical of just not knowing the platform and/or not understanding the application.

  1. 13  Byju Joy  |

    The term "other developers" is vague. It should be something with a meaning of "other developers who develop groupware/collaboration stuff", such as Microsoft SharePoint developers. Comparing productivity of a Lotus Domino developer with that of a Java developer is like comparing apples with oranges. Lotus Domino programming platform cater only to specific types applications. With that specialty clause, Lotus Domino come packed with all supporting stuff(ACL/Replication/Logging/Data management/Mailing/Chatting etc). Since Java or C being a basic language it's not a fair comparison. (...of course Lotus Domino is developed in C/C++ with decades of effort already spent. So the comparison is not fair.

  1. 14  Kevin Pettitt http://www.lotusguru.com |

    @13 Byju: "The comparison is not fair"

    Exactly! That's the point. Comparing Lotus Developer productivity to that of someone building something *roughly equivalent* using more "basic" languages (i.e. they have to do all those things Domino handles w/o additional programming) is inherently unfair. Yet the comparison is made anyway by those who don't know better and happen to decide how to spend IT $$$.

  1. 15  Brett  |

    The OT of this post is already specific to the development of the type of applications built in Notes. Any other comparison would not be valid and technically off-topic for this post.

  1. 16  David Racicot  |

    @13. Lotus Domino is used for way more than groupware/collaboration. You are missing the entire Domino web server to ANY back end database capability if you think that it is only for groupware/collaboration. The comparison is totally valid.

    The application support question is a tough gauge. I have 3 developers supporting 60 to 70 applications across numerous customers. 20 of these applications make up one of the largest Lotus Notes application suites around (say 700 forms, 500,000 lines of code).

    A lot of the other apps are quite simple.

  1. 17  Nathan T. Freeman http://nathan.lotus911.com |

    @16 - Oh, I wouldn't wager on that being a particularly large Notes Application suite. :-D

    I bleed yellow, but my answer to Angus would be: "lowered expectations."

    Domino developers seem more productive because they eschew detailed specifications, largely ignore usability, and almost never QA their work. Domino projects are almost never run with maintainability or scalability as key design considerations.

    When Domino developers practice real software engineering, they're about as productive as developers on any other platform.

  1. 18  Andy Steven http://www.hillclimbr.com |

    I ran a challenge to see if anyone could beat me in a challenge, { Link } in creating a simple secure web database. I did it in 3 miniutes, best answer from anyone else was a couple of days!

  1. 19  Brett  |

    @17 "I'm sorry... are you from the past?"

    That's circa R5 talk.

    Yes a lot of developers took advantage to Notes' RAD capabilities and built shoddy, ugly, hard to use applications, but those days are fading fast.

    I myself got "schooled" by the folks at the IBM Innovation Center in Chicago when my designs weren't up to snuff, it changed my thinking forever. Specifically because of that experience and seeing the shortcomings in other developer's work, I have always gone out of my way to make attractive, highly usable, efficient, easy to maintain applications. They have all been for small to medium scale implementations, so I can't say much about their scalability, but they've worked just fine with several hundred users (sure, not thousands of users, but how often does one get to work on THAT kind of project?)

    I do believe that the in-house Notes developer has often been responsible for the crappy reputation unfairly heaped upon Notes itelf. It's up to us to turn that impression around and make compelling Web 2.0 looky feely apps that wow the user AND management. Doing it in half the time of the other platforms is a bonus! Woo Hoo!

  1. 20  Sri Bedathur http://bedathur.wordpress.com |

    I was going to say what Nathan just said. A lot of Notes applications are really crappy because Notes allows you to write crappy programs as much as it empowers you to write great programs. In fact, poorly built applications have made immense contribution to users' bias against Notes.

    Being a Notes Developer doesn't automatically make you more productive than non-Notes developers. So, I think the question should be changed to "Lotus developers *CAN BE* more productive than other developers because..."

  1. 21  Volker Weber http://vowe.net/about |

    Spot on, Nathan.

    Sri, a guy with a hammer is more productive than other workers because ... he is tasked to drive nails into wood. He would be less productive than a plumber with a wrench if tasked to fix your sink. It all depends on what you want to build.

  1. 22  Anonymous  |

    @All

    A .NET developer will /never/ convince a Lotus Notes developer that .NET is a superior development environment. Similarly a Lotus Notes developer will not convince a .NET developer (well, I know many Notes developers have tried it on me) that Lotus Notes is a superior environment.

    They are different, plain and simple.

    However, the one thing I keep hearing from many, many groups of people is how many annoyances they have with Lotus Notes. The moment I bring up the fact I develop in Lotus Notes the immediate reaction is fire and grimstone in their eyes and the statement "I hate notes" I know very few people who haven't been affected by notes. And I am /not/ talking about all of you, I am talking about the end user. The majority of end-users (NOT develoeprs) use Microsoft Windows, fact. They expect applications to work a particular way, they expect applications to /look/ a particular way. Most applications do this, almost all applications developed using WinForms for .NET /do/ do this. Lotus Notes goes against all the intuition that users expect from Windows applications. Lotus Notes does not /look/ the same, does not /act/ the same as other applications, therefore making it more difficult for users to use.

    One thing that I cannot deny, and would not believe any of you if you tried to tell me otherwise, is that the development environment and support for developers provided for developing in the .NET environment *is* superior to that given by IBM for Lotus Notes/Domino. I can not see how Lotus Designer (yes, even 8.5) is superior to Visual Studio 2008.

    Having said all that, I keep having the statement: "Arguing on the internet is like competing in the Special Olympics, even if you win you're still retarded."

  1. 23  Nathan T. Freeman http://nathan.lotus911.com |

    @19 - Brett, do you seriously think I don't know what I'm talking about? Do I need to offer up a C.V. at edbrill.com?

    Ask yourself a few questions:

    What percentage of Domino developers code strictly in OO? What percentage of Domino developers use MVC (or any other good design pattern?) Use data models that allow for transactional boundaries and rollbacks? Create audit trails? Have proper error handling? (ON ERROR RESUME NEXT ain't it...) Use PNG graphics? Use abstract skinning for style controls? Use abstraction for layout controls? Use governance controls for change management?

    Actually, here's an easy one: what percentage of Domino developers TRACK DELETIONS?

    Can you imagine any other software platform permitting users to delete data in a non-auditable, non-reversable fashion?

    Angus McIntyre is the Group Product Manager for Notes/Domino application development. Mr. McIntyre should understand that primary reason Domino applications aren't taken serious by most of the market is because Domino doesn't provide tools for good software engineering practices... yet. It's starting to catch up. It has a very long way to go.

    Ultimately, I should note that the question was about *LOTUS* developers. Well, Lotus developers on anything besides Domino AREN'T more productive. When was the last time you heard someone claim that Portal developers were more productive than Domino devs? Don't we Domino fans laugh at that all the time? Are Sametime developers more productive than OCS or Jabber devs? Is there even a relevant population of Connections developers, and if so, are they more productive than, say, Facebook developers? I guess we could talk about Expeditor developers, but is someone going to claim that they are more productive than .Net developers?

    For cryin' out loud, we don't even have VERSION CONTROL!!! Are we seriously supposed to be more productive than other developers?!??!

  1. 24  John Turnbow http://www.recondite2.com |

    To Anonymous: Very cowardly of you not to post your name...

    Now... Notes is RAD must faster development there than on any other platform.

    Now Domino (web) is NOT.

    R8.5 is nice, but still needs improvement to be a "Web" RAD development platform. Need more plug-n-play for reporting, and editing in a table manner, etc. Not enough controls yet. Looking good, I like the road, but it's not finished yet.

    Keep up the good work, don't want to be on the road to nowhere...

  1. 25  Graham Dodge http://www.bcd.net.au |

    @22 Competing in the Special Olympics has nothing to do with being retarded. The Special Olympics is for people who have a disability and having one specific physical or mental disability does not mean that a person is unable to achieve other social norms.

    OTOH, making socially insensitive statements simply to create a somewhat flippant sound bite does raise questions about a person's ability or willingness to integrate into a community.

    I do agree with your comment about the lack of support for Notes developers compared to the MS universe.

  1. 26  Anonymous  |

    @24 I agree that R8.5 and XPages are on the right path, however I would much have preferred IBM to have made it a little more "complete" before releasing it as a "final" product, it feels a little beta or even alpha to me.

  1. 27  Anonymous  |

    @25 I apologise if I offended. It was not my intention.

  1. 28  Nathan T. Freeman http://nathan.lotus911.com |

    @27 - Liar. It certainly was your intention.

  1. 29  Chris Blatnick http://interfacematters.com |

    Just had to chime in to say that with any of this, it's all relative. The answer to the question and the supporting facts COMPLETELY depend on the business problem you are trying to solve or the processes you are working to improve.

    If I'm an internal developer trying to help my company be agile in today's marketplace and am building an application to be used by one department for a short term tactical goal, there's no need for design documents, qa testing, etc. Instead, speed to business is what it important. If I've engaged a business partner to construct a mission critical enterprise application, then I expect you to use true software engineering practices like those laid forth by Nathan.

    The beauty of the Notes platform in my eyes is that it provides the flexibility to use both models and everything in between.

  1. 30  Tony Palmer http://palmerweb.blogspot.com |

    I think that Chris (@29), Nathan (@17, @23) and Kevin (@14) have some very valid points IMHO. Choosing the right development process, tools (notes, .net etc) and level of engineering discipline should be determined by the problem that you are trying to solve. The other factor is the availability of skills in those tools and processes, which can influence the choices that are made.

    I'm not really sure about the question either. Would the way a LN developer views his productivity differ from that of their managers or end users ? I think that there is a lot of ambiguity in the question and the metric which is reflected in the comments so far.

    I'm sure that there are some very experienced J2EE developers who would say that they are more productive than .Net developers and Ruby developers who say they are more productive than J2EE developers - are they really ? Now throw in productivity in terms of what skill levels are you talking about and again you'll get different views.

    What about the question.

    I selected Lotus Notes & Domino for my solution because....

    - I've got good availability of skills in house

    - We have a number of reusable components we could take advantage of

    - It would support the data and number of users required

    - I could migrate the solution to a more powerful hardware and os platform if need be.

    - The in-built security platform was already written

    - building access to the backend database was easy

  1. 31  Anonymous  |

    @28 I'm sorry, but no, it was not. My intention through that comment was not to offend anyone.

  1. 32  Anonymous  |

    @29 I think you've just hit the nail on the head. I agree completely.

  1. 33  Rishi  |

    "Angus is also interested in knowing your Notes application ratio -- how many Notes/Domino applications do you have in production, and how many developers do you have working on them" ; Nobody has answered to this question or Am I missed ?

  1. 34  Luke  |

    @Anonymous:

    I'm not going to say that Notes is better than .Net or other platforms. Visual Studio 2008 is a great sw, and .Net is a great platform to develop on. I actively work on Notes (not yet on XPages) since 1994, I started working on .Net last year and work on Ruby on Rails since a few months.

    If I had to pick a platform, there isn't just one I'd choose. But, looking at this very moment with world-economic crisis, I'm recommending to every of my customers to not switch to .net. It's the only platform that ties both hands and feets to the Microsoft canon. Ruby on Rails can do everything you do with .net, while being on free SQL Servers (PostgreSQL is fantastic) and free OS (Linux) or best OS (OS X for those who are willing to spend to get the best they could). Notes is a multi-platform environment, and as far as cost savings it's showing his advantages over building workflow-mail involving applications vs. other solutions. So far, working on those environments, I'd tell that RAD could be done on every platform. Usually , when working on true multi-tables solutions for web apps, I skip to Ruby on Rails, while when I'm deploying the fastest solutions for the client and not for the web, I pick Notes.

  1. 35  Grant Norman http://www.governancefornotes.com |

    As a tools vendor we speak to teams that encompass all possible ranges of development sophistication. We show them ways to potentially improve their efficiency and productivity whilst doing development. Whilst we can't help everyone, and we have no problem with that as a company, @23 & @29 are spot on, Notes developers can use the RAD strengths to make apps quickly and come across as being responsive and productive, but they (and more to the point their managers) need to know that there is a more efficient, safer, more productive way and they also need to know when to use it, and when not to.

    The problem we come across most is that half the time they are unwilling to go down the road of changing how they work because they have been in Notes for years and "know" the platform. Knowing the platform typically means they are so ingrained in the old techniques that acknowledging there could be a more efficient way is a sign of weakness.

    Some notes devs may be more productive, some may not be. Those that aren't need to work smarter. Notes IS comparable with other technologies in that you can use 3rd party tools to leverage the full power of the platform, and that includes version control as @29 knows very well. Iron out the creases, fill in the gaps and any Notes dev can be more productive.

  1. 36  Grant Norman http://www.governancefornotes.com |

    Sorry, version control reference was meant to be @23, not @29 D'oh #fail

  1. 37  Darren Duke http://blog.darrenduke.net |

    For most of STS's customer base, they have NO FTE developers. They bring us in when needed, and in about a day we can do what would take a month on most other development platforms.

    Most customers have at least ONE Notes app that is business critical. Some have more but it's hard to generalize.

    Most Notes shops have more apps than employees.

    OK, part two....we are more productive because....

    1) the toolset. It is out-of-date (but slowly changing) but still provides developers with an excellent framework. In most other "languages" you have to find a framework to abstract the complexities of the language (PHP.Nuke, .Net-Nuke, Portal, etc) and then you have to learn them too.

    2) experience. How many here have been doing Domino dev less than 24 months? How many Sharepoint developers can say that (ratio wise)? When you know the "framework" like the yellow-spherions do, *you will always* be more productive.

    3) pragmaticism (I think I just created a new word!). Goes hand-in-hand with (2), but we're never going to build an accounting package in Notes. Yes, "Notes can do that", doesn't necessarily means that it should ;)

    4) failure isn't going to crash a plane. @17 Nathan, has is right, but he makes it sound bad thing. Now, I *am not justifying* bad application designs, lack of user input, etc, but it isn't all that complicated to change the functionality in even the worst of Notes apps. You never *have* to rewrite an application to add or change functionality.

    5) developers are NOT programmers. We interact with end users, get feedback, try again. Most other framework users do not and cannot get user feedback as it is difficult to create that type of flow due to the tight coupling between all the "bits". And most can hold a conversation too. That helps to be productive!

  1. 38  Nathan T. Freeman http://nathan.lotus911.com |

    @31 - Oh, so you're not a troll; you're just stupid. Okay, I can live with that.

  1. 39  tom http://www.codepress.net/b |

    I have to completely agree with Brett. Domino is RAD. It still is RAD. Domino 8.5 did not change that one bit.

    The #1 factor that makes Lotus Notes a RAD environment is its CloudDB structure. That's right... the fancy new non-relational database structures that Amazon and CloudDB use... we've been doing it for years.

    If someone happens to say that they can program a c#/.Net application as fast as Lotus Notes. They're doing it wrong. It is impossible for a relational database to adjust to a change in process like a cloudDB can. Impossible. Now... if someone told me they had a framework for .NET that used a non-relational database... I might believe them.

    There are other really important factors mentioned before that make Lotus Notes so strong:

    Security

    Indexing

    Full-Text Indexing

    Application Catalogs

    Lotus Functionality/Objects (which I almost call APIs)

    Rich Client (if you use Lotus Notes for mail)

    etc...

    People make fun of me. I am the guy who sits bored in a meeting while people discuss $100k+ projects. I then ask the business line five (maybe six or seven) questions. I say "What if I could show you something that meets your requirements... in two days. Would you be willing to look at that prototype?" I am quickly reprimanded by IT in the room (or on the phone). I am doubted. But the business line almost always says yes... and my "free" solution is what they end up using a month or two later.

    I am not that great of a programmer. I am the guy who can listen to what somebody wants and put together a solution in my head before I leave the room. Lotus Notes is what makes me good and what saves the company I work for a lot of money.

    I do have one confession though. Reports and reporting. Relational databases spank our boots with the ability to give a end-user Microsoft Access, Excel, or Crystal Reports and say "Get of my back and do your own reports." I hope someday I figure out a good solution for that.

    That also means I have turned work away and said Lotus isn't the best technology for their needs.

  1. 40  Mike McP http://openntf.org/mPortal |

    @22 Agreed that VS is a superior IDE. Absolutely no argument there. I've used both extensively, and am relatively impartial.

    However, I can run circles around even the most highly trained .Net developer when it comes to speed of development. The .Net team at my former employer was writing a simple time-off application. I spec'd it as a 2-week, one man project, and it was going to be relatively robust. MONTHS later, the six person .Net team was still trying to build a Sharepoint compatible time-off application using a model view controller design that fit the needs of each site, and they were dropping the more difficult requirements as 'phase 2' last I checked:)

    The problem with Notes apps looking poor, is that it's so easy to develop them that you have untrained folks in small organizations getting a hold of designer and building apps. This is both a blessing and a curse unfortunately. Often it leads to more advanced, dedicated development, but by the time that happens, there's usually a mess of ugly apps.

    This issue always bugs me, because nobody really looks at a bad .Net app an blames IIS, yet people always blame the platform for a poorly designed/written Notes application. It seems like a bit of a double-standard, but I think that's because so few people have seen quality Notes apps, yet they've all seen million dollar web sites. Even the stuff that comes out of the box with Domino has been historically horrific. Once a good developer comes onboard, I've seen entire organizations fall in love with Notes. I've even seen some of the stuff that people like from openntf, and it looks like crap, to the point I'd never bring it in-house (no offense meant, I've written some turds too in my time!)

  1. 41  Kevin Pettitt http://www.lotusguru.com |

    @39 - Tom touches on another key advantage of Notes that is worth highlighting: It enables those with strong business analysis skills and a decent aptitude for development to directly translate business need into application design. No middleman, nothing lost in translation. In fact this hybrid skillset often enables those who possess it to identify even "unstated requirements" that business folk don't even know they want until they see them implemented. In effect you take a very generalized request and extrapolate all the details on your own because you understand the business process as well as, or better than, the person making the request. I do this all the time and business clients love it.

    Keep in mind that it is very hard for most people not named Nathan to be BOTH a highly socialized, business savvy analyst type AND an uber-geek programmer type steeped in the intricacies of so called "real software engineering". By enabling those with a more realistic blend of business and geek skills to build highly useful applications, while handling a lot of the security, email, and other housekeeping stuff, Lotus Notes truly shines as a development platform.

  1. 42  Nathan T. Freeman http://nathan.lotus911.com |

    @41 - ROFL. Who could argue with that? ;-)

    For the record, I'm not picking on Domino here because I don't like it. Obviously I do like it. But I think it's dangerous for Domino devs to walk around chest-thumping about how much more they get done, when what's really happening is that they're shorting the process.

    There are a lot of things that Domino makes easy. But there are a lot of things that it makes untenably difficult, too. We're at version 8.5, and we still can't merge the contents of two NSFs into one display list without twisting ourselves into pretzels. How many workarounds and hacks are deployed into production solely because Domino can't do JOINs in a view? How much development time is invested in building and maintaining those hacks? What does that do for a metric like "productivity?"

  1. 43  Brett  |

    Gee wiz Nathan, dish it but can't take it?

    My comment was not directed at your obvious uber-programming skills, there is no doubt that you are a master of many forms of development and design. But the disparaging generalizations against other Notes developers was a bit "off".

    If the applications look cool and work well it makes the users happy. Just because many of the Notes apps in frequent use nowadays don't require the awesome level of code wrangling that you are clearly capable of, does that make it a "bad" application, does that make the developer a "bad or lazy" developer? I for one am too busy doing the 37.5 other things that are part of my job to code that level into every little thing I build (where on earth do you get time to be so good?) To me Notes has always been the perfect vehicle for the "low hanging fruit" type of application. The one's that CAN be built in a few short weeks, the one's that are in user's faces every day.

    I'll gladly leave the massive enterprise-level applications to folks named Nathan. I'm too busy having fun building the playdough-scale applications over here in the corner.

  1. 44  Kevin Pettitt http://www.lotusguru.com |

    @43 - I prefer Legos to playdough myself :-)

  1. 45  Michael de Haas  |

    @39 and @41. That nails it for my experience. I am a generalist that enjoys providing cost effective solutions to business needs and hate working on the 6 man teams taking months to do phase1. It bores me stiffless. Not being as capable in the software engineering dept as a N T. F , but being able to take a five line description from my Director and produce something, and grow it, ... well that is value for money - or is that exactly the problem with Notes? I have seen some multi databaqse apps that I am convinced contributed to Notes being thrown out they were so badly done.

    @Nathan - could not resist the dig - I find your style, as when blitzing Anonymous, absolutely hilarious - love it!!! Moto: never trust the nice guys = N T. F, absolutely trustworthy :_).

  1. 46  Kevin Pettitt http://www.lotusguru.com |

    @45 - Hey! I'm nice ;-(

  1. 47  Nathan T. Freeman http://nathan.lotus911.com |

    @43 - My point about C.Vs was not my uber-programming skills (which are probably more myth than fact anyway,) but about how long I've been working on the platform. :-)

    I'm not calling Notes developers "bad or lazy." Or stupid. They're probably all smart, hard-working people. But you and Kevin make the point perfectly by describing the apps as Playdough and Legos -- the scope and depth of the typical Notes/Domino application just doesn't approach that of a major .NET or J2EE project. Using WAS/DB2 or IIS/SQL for those "low-hanging fruit" apps is usually a bad business decision. But that's not a question of productivity -- that's a question of self-selection of goals.

  1. 48  tom http://www.codepress.net/b |

    @47 I agree 100%. I have turned away work because it didn't work within our environment. I even developed a C#/SQL Server app because it was necessary (thank goodness for real DBA's because my design was laughable).

    But...

    I've seen millions wasted on .NET/E-Biz solutions only to be thrown out without even a simple prototype. I've seen tens of thousands of hours wasted on .NET projects to be used by 1-2 people.

    In not all but several occasions... I have offered our group's (free) services to help "prototype" requirements and give examples of expectations. They scoffed at me and threw UXP designed wireframes in my face.

    I understand why .Net is the desired product in most locations and Domino is looked down upon. Microsoft .Net means more jobs for more people. You need more programmers, more DBA's, more UXP people, waaaay too many project managers, all of those people need managers, etc etc etc.

    So... the CIO looks good because everyone is so busy.

    You're not going to replace corporate HR, Help Desk, etc... applications with Lotus Notes. But I have saved companies $100k's by not customizing their tool to fit a workflow. Instead... we used a Lotus Domino Web Site app to handle some pieces of it.

    Lotus Notes is not Playdough and Legos. Playdough and Legos are toys and we are not a toy.

    We are the swiss-army knife sitting in a box of many tools. We can do a lot of "stuff" and we're the tool you should bring out first. If we don't work... go on to the bigger tools.

  1. 49  Nathan T. Freeman http://nathan.lotus911.com |

    @48 - Lego is NOT a toy. kthx. :-)

  1. 50  Brett  |

    Well put Tom, if you just need to bang a nail in, you don't bring out a Howitzer with a five person team, a project manager and a tea lady, just hit it with a hammer!

    BUT

    When some random manger wants to spend huge amounts of time, money and cycles to puff up their own importance in an organization and make lots and lots of busy work for everyone involved, THEN go with the Howitzer.

  1. 51  Kevin Pettitt http://www.lotusguru.com |

    @48 - Why wouldn't you do a corporate help desk in Notes? There are several good ones available, including at least three on OpenNTF and a bunch of commercial ones. I frankly don't see why, for an organization already running Notes, you would choose some other big non-Notes 3rd party help desk app over a Notes one. It would probably lack easy integration with Notes mail and existing security/group settings, probably be hard to customize, probably require additional technical skillsets to maintain, probably require a lot of additional end-user training, and probably cost a boatload of money.

    Unless of course the organization is hell bent on going with the Howitzer.

  1. 52  tom http://www.codepress.net/b |

    @51 I have to say it greatly depends. If your corporation has 40,000+ people... I would not recommend using Lotus Notes for your help desk app. If your corporation has 200... go right ahead.

  1. 53  David Racicot  |

    @52. I disagree re: help desk. Notes can do that is can do that well. And that system can be build a lot quicker and modified easier than a .NET, C#, or Remedy system. And it will have 'many' features that do not have to be written by the developers.

  1. 54  tom http://www.codepress.net/b |

    @52. Help desk systems should not be "quick and modified easy." I'm of the firm belief that they should rarely change and the data (per record) kept small.

    Reporting is probably the #2 utility of a such a system (after incident resolution). Do you really want to mess with secondary systems just to get Lotus Notes reporting to work?

    Step away from the Lotus Notes sandbox for a second. There are some things we should not do.

    People actually respect us and believe us more if we understand our own limitations.

  1. 55  Kevin Pettitt http://www.lotusguru.com |

    @54 Fair points on reporting limitations in Notes. Have you looked at 3rd party reporting tools like Integra and Intelliprint?

  1. 56  tom http://www.codepress.net/b |

    @55 I wish. Once again. We (my team) are free for a reason. I have a MSDN license, Team Studio Delta, and Configurator That is the extent of my tools. My computer is from 2002. We don't get to look at 3rd Party tools or add-ons.

  1. 57  David Racicot  |

    You are missing the DB2 possibilities. You have a Lotus Client or Domino Web front end and a DB2 backend (or other database. You use a reporting tool over that. The data is stored in DB2 or NSF and DB2. Do other development tools have reporting tools or is the reporting an add-on? Picking on the words "quick and easy" are an attempt to skew the context of what I am saying by implying no formal processes would be followed. You want an new field and new value a new column in a view. Easy.

    But maintenance a side, try building a Help Desk system in .NET or Java or Lotus Notes and Lotus Notes will win by a long shot. Heck the Lotus solution would be protoyping and RADing before the others can even tool up. Oh and let's not forget about platform upgrades. Good luck NOT making a MAJOR project out of keeping your .NET or Java apps up to date. For version control there is Team Studio. Sorry you can't beat the product for 95% of applications.

  1. 58  Ian Scott  |

    ....Lotus Notes is really very very powerful.

    ....a Notes developer can do seemingly impossible things quickly.

    ....Lotus Notes lifts the weight of burdensome issues from customers minds.

    ....it is difficult to think of things Notes can't do with the corollary that the customer consistently perceives the Notes developer as relating to them and producing what they want.

    ....Notes development is more tolerant of scope creep than traditional waterfall methods so the customer gets closer to what they want, and quickly.

    ....Notes developers can engage the customer in a collaborative development context that encourages process innovation - ie through cycles of rapid prototyping a Notes developer can give the customer something to see, use and relate to that encourages them to redefine their articulation of the business problems they face, extends their awareness of the technical possibilities, and which confers on the customer ownership of the eventual solution.

  1. 59  Nathan T. Freeman http://nathan.lotus911.com |

    @57 - The DB2 possibilities that have been put into maintenance mode?

  1. 60  David Racicot  |

    @59. Please elaborate.

  1. 61  Nathan T. Freeman http://nathan.lotus911.com |

    @60...

    { Link }

    { Link }

  1. 62  Brian Green  |

    ...BMW mechanics are always busy. Always something to maintain, learn, fix.

    ...Honda mechanics are bored. Very little to do. Zzzzz!

    ...Thus goes the Domino server. It's stable and reliable, and thus, the most boring server on the network. Why would a new network admin want to learn that? Zzzzz! ;)

  1. 63  David Racicot  |

    Well that is support to 2017, and NSFDB2 is only one way to have Notes data in DB2 (or other database) as ....

    What other options are available for relational database information access within Lotus Domino?

    Traditional techniques for relational database access (for example, Lotus Enterprise Integrator (LEI), Decs, ODBC, etc.) are still available for Notes and Domino applications. LEI's virtual documents activity allows forms and views to access data from relational data stores in real time. Query views can be emulated by using a combination of LEI activities. The replication activity can be used to synchronize data between NSF(s) and relational table(s). With the Notes data now stored in a relational table, a LEI Virtual Document activity can be used to make that data available to Notes' view selection formulas. Additionally, the new Domino 8.5 XPages feature exposes the entire JDBC library, enabling access to relational data using SQL. This means you can generate result sets using SQL SELECT statements and bind them to controls on an XPage which emulates a Query View. For an example of how this works, see this wiki article.

    ... highlights.

    So not sure why you are heaping reporting difficulties on Notes when there are plenty of solutions and I don't see other platforms being any better. I mean the argument is that the overall product allows Notes developers to be more productive, not that Notes shouldn't be used for x type of application. Picking out specific technical areas is rather pointless since the Notes side could pick apart any other platform just as easily (or more so likely because of all the plumbing that is included in Notes). Should one build a <pick-an-app> from scratch or build it in Notes/Domino? How many @formula commands (or Lotusscript functions) can replace weeks of development that would have to be done in other platforms?

  1. 64  Charles Robinson http://www.cubert.net |

    I won't hesitate admitting that for many applications Notes is a far superior tool. As a developer, though, Domino Designer makes me want to cry every time I try to use it (as of 8.5). Sad, but true.

    I will also admit that I like what I have seen in 8.5 (if not 8.5 itself), and from what I have read about 8.5.1 it's going to be a pretty significant release that addresses a lot of issues. I am really looking forward to seeing DDE with more polish. I truly want to like doing Notes development. :-)

  1. 65  Charles Robinson http://www.cubert.net |

    Oh, and what I love most about Notes is the security model and the instant application upgrades. Oh what I wouldn't give to have that in SQL Server and .Net!

  1. 66  tom http://www.codepress.net/b |

    @65 Just wait... if they can get Eclipse/Domino Designer to push code into tools like ClearCase. Auditors will lock everything down in a hurry.

  1. 67  Pejman  |

    notes developers are ONLY more productive on "document oriented applications" (applications using one flat table)

    - template system

    - domino directory and easy ACL

    - replication

    on applications needing more than one table, joins and triggers, egg 95% of the market, Notes & Domino are out of the fight. DB2NSF was a starting response but it is abandoned.

    we're still waiting a technical response for that

  1. 68  axel  |

    Such lists of arguments are kind of superficial. Depending on the requirements of the project each and any of those arguments mentioned can have advantages or even disadvantages. Aditionally we have a wide set of products that can be used for building colaborative applications. A more worthwhile approach would compare each and any of those platforms against Notes.

    Such list only generate kind of a dangerous and shallow pseudo rationalism. And thats the deeper reason for our capabilities to create bubbles.

    Btw: I have experience which Portal, Springframework and talk a lot with fellow .NET programmers. Notes is definetly still a good platform for a lot of areas. But you should really consider employing at least one guy/gall with quite a bit experience with it. There are, because its been a stable platform for a lot of years.

  1. 69  david racicot  |

    That's absurd.

  1. 70  david racicot  |

    @67 I mean. That's absurd.

  1. 71  Pejman  |

    @68

    Domino is great as a messaging or repository platform. Sorry for using a direct style but most of applications need relational capabilities.

    let's take the help desk example. if you need to declare an incident, a form is sufficient and Domino can fit. but if you add the customer entity you'll have to do a join for seeing the incidents per month and by customer. you can only do that with a query view.

  1. 72  Pejman  |

    @70 that is very constructive and it helps a lot.

  1. 73  david racicot  |

    @71 and @72. You are saying I can't have a form and a view for customers and a form and a view for incidents and display incidents by customer in Notes. hahahahahahahahahahahahahahaha. Yes it is absurd. Go ahead and spend your time building 3rd normal form tables, while I rollout my help desk application which uses a simple lookup for customer while the incident is being filled. In the applications we support (especially the large 500000 line one we have no trouble at all linking information from different forms and databases. So I need to call your comment absurd so that readers who may not know the platform don't believe a comment like @67.

  1. 74  Ed Brill http://www.edbrill.com |

    Ok, guys, if this discussion is going to continue, I'd like everyone to keep it civil... no anonymous postings, full names, valid e-mail addresses Thanks.

  1. 75  Charles Robinson http://www.cubert.net |

    I thought this was appropriate for this discussion: { Link } :-)

    @71/63 - That's the problem XPages looks to solve, and I have heard that XPages is one reason why NSFDB2 is being phased out. I wish that weren't the case, though, because Notes needs better RDBMS integration. Perhaps XPages can fully fill that void, I haven't worked with them enough to know.

  1. 76  Pejman  |

    @74) no Pb Ed.

    @75) you can see customers and incidents in a view by duplicating data (it becomes like a flat table). if you don't want to duplicate data you have to use a query view. listen, I'm not an anti-Domino so don't be aggressive. I'm just saying that for being more than a collaborative platform we need something like DB2NSF.

  1. 77  Pejman  |

    @74) no Pb Ed.

    @75) you can see customers and incidents in a view by duplicating data (it becomes like a flat table). if you don't want to duplicate data you have to use a query view. listen, I'm not an anti-Domino so don't be aggressive. I'm just saying that for being more than a collaborative platform we need something like DB2NSF.

  1. 78  Luke Kolin http://www.deltava.org |

    @73: Really, David. Sure you can put together a form and a view for document A, and a form and a view for document B, and if you're app is nothing more than that you'll be fine and far more productive than developers using other tools or platforms. But that's just a toy app, and neither of us writes toys.

    I saw plenty of apps that started that way, and as they proved their business value then constantly grew until they had progressed into a large, multi-database app that had data requirements that Notes/Domino simply could not provide. If you have multiple child-parent relationships, ensuring their consistency and copying data up/down the chain. If you need to write to multiple documents as an atomic operation, instead of failing half-way through and leaving the data in an inconsistent state. And Notes' RAD capabilities and non-constrained data turned into a mess when builds were pushed out, and then quietly wrote crap into certain documents before this was noticed. It's absurd to me that I can make no guarantees whatsoever that a field exists, its data type and its value. That's a recipe for chaos once your scale gets big enough.

    To compare Domino to larger tools is like comparing a car to an airplane. Delta offers service from Atlanta to Macon, but I can guarantee you that I will be in Macon MUCH sooner if I simply keep driving down I-75. Jacksonville or Daytona Beach? Maybe now it's a bit of a race. Miami I'd lose, but it's probably still cheaper.

    When I did work in the Lotus space, I saw plenty of apps where the customer had been very impressed with the speed of getting to Macon, and decided to extend things to Orlando. I was usually brought in around Miami, when they were half way on a drive to Jamaica. I'll leave the reader to wonder how they could get there.

    Domino developers are more productive in applications that require Domino's strengths and avoid its weaknesses. Unfortunately, you can replace Domino with any programming tool, language or framework, and as such the statement does little except make people feel better about themselves.

    Cheers!

    Luke

  1. 79  Brett  |

    Hah hah hah! @79! Go ahead mate, keep deluding yourself. When you grow up and get a real job, maybe daddy will show you what a real collaboration framework is. Untill then, go back to your myspace page and let the adults talk.

  1. 80  Andy Steven http://www.hillclimbr.com |

    All this talk about Notes won't scale, have you ever tried to scale MS Access?

    In small business (80% of the market?), sadly access is king..

  1. 81  Matthias Wille http://www.flexdomino.net |

    I have been with Lotus Notes Domino for the last 15 years and if there is one thing (or a few more for that matter) to say about this environment then this: it is robust, secure, scalable and as far as the Notes Client is concerned a very rapid development environment.

    Having said this, a few comments I very often read are simple myth: that Notes applications do not break from version to version. So far I had not a single project that did not require re-testing and code changes for new major releases, sometimes even for point releases. I'm not saying that the required changes where major nor do I intend to compare my experience with Notes to other development environments. I simply want to point out that upgrading a Notes/Domino environment is not always that straight forward. IBM should know as many major Notes/Domino shops take their time on upgrading to newer releases or skip some version altogether for exactly that reason.

    But a more important point when it comes to the efficiency of Notes development is something else: a good development environment requires tools for the developers to analyse their development. There are two tools to point out: a debugger and a profiler. And excuse my French, both s..k in (or are not present) in the Notes Designer.

    The Notes debugger doesn't deserve to be called a debugger and I can give many reasons for that:

    1) Debugging outside the scope in which the debugger has been initiated in is not possible (you cannot debug cross-database). When attempting this scenario the Client crashes most of the time

    2) You cannot debug Lotus Formula

    3) The debugger window is not an independent task. What I mean is that you cannot watch the code flow in the debugger whilst interacting with the debugged application

    4) Debugging of certain events is not possible (drag&drop)

    5) Variables are listed in natural order (not alphabetically sorted)

    6) Variable watches are not possible

    7) Assigning of new values to variables is not possible

    8) Debugging of dialogs is not possible

    9) Debugging of web-enabled Notes applications? Ooops what's that?

    I could go on, but I believe I made my point. The debugger isn't a debugger and as a result debugging in Notes means using message boxes, print statements and or the development of a logging mechansim.

    This is a major time waster and if you ask me makes Notes for the development of large and or complex projects not a particular efficient tool.

    In matter of fact after 15 years of war-shipping Lotus Notes Domino, I'm now looking at other tools for the front-end development (still of course accessing Domino databases)

  1. 82  Henning Heinz  |

    I am sure this was meant to be a fun topic. Funny it is but probably only for the other side.

  1. 83  Rishi  |

    @79, Don't talk like a stupid carrier consular . Even I can point hell of bugs in Windows OS which is so called robust.Only thing is what you can make best out of your working platform. If you think Notes is dying , IBM is not giving any shit for your thought.Same as, If I say SharePoint/Exchange stolen most of the stuffs from Lotus Notes , MS is not giving any shit for my thought. We don't go to MS forums and talk nonsense.you don't know "L" about Lotus Notes , so better keep your mouth shut.

  1. 84  Pejman  |

    please, let's focus on other thing than the classical Domino vs Exchange.

    For the moment Domino is a great messaging system which can also host other secured repositories* (document repositories). if you want to implement complex apps, you have to shift to another platform (php, java or asp). why ? because of the lack of all the required basic tools provided by the DB infrastructure (sequence, private key, foreign key, commit, rollback, triggers, stored procedures etc ...)

    I would like to have Ed's position about all these non-messaging shifts ? (or let them go, as I see it for many years, to php, ASP or J2E)

    * secured repositories : means more focused on data than on business logic (like a relational Db without stored procedures).

  1. 85  Nathan T. Freeman http://nathan.lotus911.com |

    I love how these threads devolve after about 65 posts. Only the moonbats and wingnuts keep coming back. It's so much fun to watch.

  1. 86  Henning Heinz  |

    And that now includes yourself too. By the way I completely agree what you wrote here so far. That probably means you must be mistaken.

  1. 87  Nathan T. Freeman http://nathan.lotus911.com |

    @87 - I'm well-aware of the double-standard. :-)

  1. 88  David Racicot  |

    At risk of being a moonbat, the post topic was "Lotus Developers are more productive ... " I think they are because you can get applications to production faster than other platforms (we obviously don't agree on what kind of apps, but I know what we have built and it works fine). I also believe that vitality and maintenance is less expensive, and flexibility is greater. The developer still has to write good code (which you can in Notes as well as in other products), but business does not care about issues with debugging @formula, how good the designer is, foreign key, etc. The "bottom line" is what matters to business (and security and stability of course so don't go there please). So for the business it is a win win win win despite not having 'perfect' features for some of the things mentioned above.

  1. 89  Alan Dalziel  |

    @79. Until you put your (real) name to your posts you can consider yourself an anonymous coward. Trolling might be fun but at least us Domino Devs have the time to respond because, after all, we are more productive ;-)

  1. 90  axel  |

    I like relational database and have worked with Posgresql, Db2, mysql, Oracle, etc.. But for help desk applications, you certainly don't need them. Anyway, couchDB is quite successfull and thats kind of a re-creation of the database of notes.

    With Notes on Eclipse it should now be possible to integrate very popular, stable and non-freakware orm mapper like hibernate or ibatis-sqlmaps into Notes. I give that a much better chance than another IBM approach to a notes-to-relational mapper.

    Like others I see the biggest problem of Notes in a very populistic cultural attitude, that disqualifies anything else as "too complex". The guys with the blue and red flag are freaky computer nerds whereas us are the ones who care about the "business problems of the customer".

  1. 91  Brett  |

    @86 Hey! I resemble that remark!