Final thoughts on stepping up & the nifty fifty

Just read this comment on Ed’s site from one Carl Eldenhearst:

Dream on. If IBM was going to do this, it would have been done. And openNTF’s concepts are great, but the templates are nothing special.

Good to see that constructive debate is still alive and well eh?

Anyway, I don’t think a resolution is going to come any time soon on this whole issue. So I guess we carry on as we were. One note of caution however is this: my experience of Lotus Notes and Domino developers in the UK is that the vast majority are are not au fait with the “Domino community” that’s out there, specifically things like the ’blogs, OpenNTF, Lotus User Group, dominoblogs, and so on. So in the discussions around provision of templates, sources of code, I wouldn’t lay too much weight on resources like those I just listed: there are just too many nine-to-fivers who pay these things no heed…

… Which is pretty sad. As a developer in any technology, if you don’t lift your nose from the grindstone from time-to-time, take a look around, you really miss out on what’s going on—and if you’re not careful, your code will start to smell! :-o


  1. What I'd love to see proliferate on OpenNTF is a series of "modules" that take advantage of Domino's design inheritance scheme to insert specific functional pieces into any application and easily upgrade only that module when updates are available. OpenNTF's current strength is all of the standalone solutions (i.e. Blogsphere, domBulletin, and - of course - DominoWiki). But what seems to be missing is a set of embeddable features that allow developers to rapidly juice up their existing apps… not replace them. I think I'll write up an article on this idea; I've used this approach internally at several companies now, and it's always been well received by mgmt/users.Tim Tripcony#
  2. I currently work with a person who has fallen into the trap of working head down for a few years now. He's made it out to LS a couple of times, but isn't a regular participant in the Domino web space, except for searching the Lotus KBase for help to errors he encounters. He claims that this is due to the amount of work that he has had, but I think it has just as much to do with his personality and other priorities. Although he is a good developer, he has issues outside his work that cause him not to "have time" to do anything be get the job done the way he knows how. We can't expect everyone who works in Notes/Domino to be as passionate about learning new stuff as we are. Some people just have a different set of priorities at this time in their lives. The same can be said for anyone else in any profession out the. Sometimes, you need to coast in one part of your life while you concentrate most of your energy in another part.

    Sean---Sean Burgess#
  3. Sean, fair points. I don’t expect everyone to be passionate about what they do. I DO expect people to do a good job though, else why the hell are they doing it? Time to try something else? Life is too short ater all.

    As for time, well my job is stupidly demanding. I work shed-loads of overtime. I also have a long commute, three young children, and a wife who assigns me tasks in addition to people who request stuff for DominoWiki. You can fit it all in if you really want to… ;-) Ben Poole#
  4. Tim, I know what you mean: I love that aspect of Notes & Domino, and I’m using it a lot in a current project. It takes a bit of planning up-front, which I guess is why it hasn‘t happened on OpenNTF. I’d be interested in your expanded thoughts on this though, definitely. Even if this template thing isn’t going to happen, there’s other stuff we can do.Ben Poole#
  5. Ben, here's my extremely wordy expanded idea: Tripcony#
  6. Have you guys seen openslice? It's meant to do exactly what you're describing:

    I'm working on a personal project to use DXL to apply UI styles to existing design elements, which goes a step further than just using a template.Charles Robinson#
  7. Hi Charles - I’ve seen references to OpenSlice, but not tried it out yet, will take a peek.

    Re your DXL project—good luck! I started down that route with an action bar processor (the download is in articles), but never got around to extending it. It also throws random DXL processor errors from time-to-time… meaningful error logging isn’t quite there yet ;-) Ben Poole#
  8. @1 - Trip, I'm right there with you on the whole modular thing. Use them all the time and have progressively fine tuned a whole generic db architecture full of them over the years. Excellent approach which makes me super-effiecient. Sadly, I have rarely been in a position vis a vis my numerous clients to see this approach become religion among the full-time Notes staffers.

    @6 - Openslice…saw the reference to it over on John Head's blog and have spent a little time investigating. Looks very promising, and very familiar in some respects, both to my own aforementioned "standard architecture" and to what ITFactory developed back in the day. One of the interesting bits was that it appears to make liberal use of CSS in the Notes client, so would appear to at least partially "skinnable".

    Which brings up a larger point, which is the distinction between UI and *architecture*. On another related blog entry here on Ben's blog ( the two concepts seemed to get tangled up. If there is a "nirvana" to which we should all strive, it is not a "common UI" but rather a "common architecture with a skinnable UI".

    What I'd like to see is a sort of online Birds-of-a-feather collaboration effort to 1) spec out what sort of building block modules should be built, 2) identify best examples of each and allow interested parties to collaboratively improve them further, and 3) ensure that all modules share common CSS "hooks" so that collectively they can be skinned.

    What I'm proposing amounts to establishing a sort of "open-source best practice standard" for Notes development, and to the extent we have a head start in the form of the Openslice example, it might actually be doable. I say *might* because if the resulting collection of code is not understandable by what Ben refers to as a "reasonable developer", it will likely be more trouble than its worth. ITFactory's efforts to achieve a similar goal collapsed in part because the learning curve for their "system" was so steep. A cautionary tale if ever there was one.Kevin Pettitt#
  9. Thanks for the post Kevin, some excellent points. Goodness, ITFactory: there’s a blast from the past! I remember seeing those guys present at Lotusphere Europe in 2000. They showed some real enevelope-pushing stuff for Domino back then.

    I suspect the UI / architecture thing gets wrapped together a lot because of the natre of the Notes client. On the one hand Notes was extraordinarily ahead of its time in terms of eeping data and design separate (e.g. the form vs. the document), yet on the other hand in reality the two are often quite closely linked. And what’s more, until Ytria and DXL came along, we had a bloody hard time updating the UI of a Notes client application in one fell swoop.

    CSS in the client helps a little, but it has a way to go eh. And even then, without the common “hooks” into standard CSS links, a common architecture with a decent way of skinning the UI is a little way off. Can’t hurt to give it a crack though!Ben Poole#
  10. Ben, I actually went to Copenhagen in 2001 to attend an ITFactory-hosted conference, and it was shortly after that their spending spree in the US started to unravel. I had brought their architecture into my client at the time, and was about to get hired by ITFactory directly, but alas it wasn't meant to be and their hiring budget disappeared.

    Looking back, what was exciting (at least for me) about their modular approach to Notes coding was how similar it was to my own approach, albeit theirs was vastly more mature from an engineering standpoint. Making everything configurable, "componentizing" pieces of functionality using subforms, etc. Even openslice seems to have adopted similar conventions to the ITFactory architecture, especially in terms of design element naming.

    I learned a lot from the experience, and have since pieced together what I sometimes call a "mini-ITFactory" architecture that I have used repeatedly to quickly overhaul apps at various clients. Teamstudio and Ytria have helped tremendously in these endeavors as well, particularly in terms of hooking pre-existing design elements into the new standardized architecture.

    The PROBLEM with the whole "standardized architecture" approach is that it requires a discipline that is hard to instill in other developers you may work with, to say nothing of developers who may not have you around to show them how it works. It can work great (and has) in a "queen bee" development environment where a lead developer oversees the work of several junior developers (who haven't picked up bad habits yet :-)). However, there is a huge training hurdle, which ITFactory tried to but could not overcome. In their case, the hurdle was especially high, because their architecture was so incredibly complex. No one wants to take the time and spend the money to retrofit existing apps that work fine. Considering that a key strength of Notes is its ability to give novice, and even non-developers, the ability to build highly useful apps pretty easily, wide adoption of a complex architecture would be difficult at best and might even create mass confusion. Come to think of it, this ability is also a key weakness of Notes, but I digress…

    I still think there is tremendous value in having something akin to an "open source ITFactory" that encapsulates the best of openslice et. al. and gives those of us willing to embrace the necessary discipline a powerful tool that doesn't require licensing fees. It could be an OpenNTF project in its own right (or several, each focusing on a specific area of functionality, e.g. Agent Management, Modular Validation, or Logging), and I suspect it would probably spark a flurry of new OpenNTF projects based on that architecture - something akin to plug-ins perhaps. I don't know how much easier the effort will be with CSS and DXL as potential tools, but it certainly looks like the talent is out there, we just need to get organized.Kevin Pettitt#

Comments on this post are now closed.


I’m a software architect / developer / general IT wrangler specialising in web, mobile web and middleware using things like node.js, Java, C#, PHP, HTML5 and more.

Best described as a simpleton, but kindly. You can read more here.