TL;DR: My suggestion for every Domino/Notes developer is to run away!
First time I was planning to "abandon" Domino as my primary application platform around 2002, when I decided to switch to Java. A decision that has proven to be very wise during last 14 years. First of all learning how things are done elsewhere helped me to get better at developing programs in general. And it helped me to recognize what were weak points of Domino/Notes platform, what were its strong ones and when to use it and when don't. But I did not leave, Domino and Java were taking approximately half of my time each.
Second time I was planning to leave around the time XPages were introduced. And it has stopped me from doing so. It showed me the potential of the platform that (with right approach and focus from IBM) could have been really successful. In my opinion, at least. I really did believe in it, silly me :-)
Third time is now. I don't think there is anything left to be done, even if IBM wanted to (and they do not want or can not). It is just too late. People still can make good money maintaining existing apps and maybe adding web interfaces to them. But they are facing the same fate as Cobol programmers. Still couple of them work on ancient applications as you read this, they probably make good money, but there is no future for them.
If you do just Domino/Notes, maybe not even XPages, not even Java in Domino, you are in a serious trouble. Without moving on and learning new modern stuff, your position on the market is hopeless. Unless you have two years to retirement age and a nice job at company with a lot of Notes apps.
There are still millions of Notes application being used. I wonder what suggestion will IBM make to customers as to where to migrate them etc. I would not be surprised by IBM providing services to aid the migration to some other vendor's platform. They are still making a lot of money for renewal of existing licences and I guess they will try to make as much money as possible. Sadly, in expense of customers, in expense of loyal business partners (I would be very happy to be proven wrong on this).
Comments
More info
Submitted by Sean Cull on
Hello Martin,
I have been looking at his topic for some time. Can you give a bit more info about your plans. Mine are still very fluid but go something like this ( all comments very subjective ):
Front End : Aurelia
React - licencing puts me off
Angular 1 - will be obsolete
Angular 2 - too dependent on Google and googles own needs for their "Green Tea" CRM - also complex
Polymer - not sure
Aurelia - seems to be trying to meet enterprise needs but is still open source. Good starter documentation but not much in the way of public examples / boiler plate for more complex stuff. Aware that I may have drunk the Aurelia Cool Aid - https://www.youtube.com/watch?v=PrNYL42x85o
Database : MongoDB for the most part
Back End : this is less clear. We have invested a lot in Java and like it. It also seems to change at a slower pace than JS ( a good thing ) but I am thinking about 1) new devs in the future and 2 ) mobile apps. Node / Express would seem like a good choice for JS and maybe Java Spring for Java ?????
Vaadin
Really like the idea of focusing on business processes with a fairly vanilla UI - it was one of the attractions of XPages. My problem is vendor lock in. I know that Vaadin is open source but for efficiency reasons i can see that their designer tooling, charts etc.. would be useful - just not very comfortable with the vendor lock in aspect.
Would love to hear other views on this from those that have tried Vaadin.
Overall Strategy
I think The XPages runtime and the NSF will be robust for some time, my concern would be browser compatibility and Dojo in particular.
So 1) move XPages providing REST service to an Aurelia based front end
2) move database to another platform
3) move XPages runtime stuff to a new platform ( express.js or Java )
It is a big job but it can be done a bit at a time. The past move to Java based XPages development and backing beans inside a MVC style of architecture will make it easier for us than if we had bound design elements directly to databae fields.
Just my subjective thoughts - Iwould love to hear what other people are planning.C
Spring and Play
Submitted by martin jinoch on
For replacing XPages there are so many options out there, but my first try would be what I know and use - Spring (and for some specific tasks Play! Framework, but I use it less and less).
Regarding Node and such - Javascript world is insane, reinventing wheel every other week. That's something I am too old for, I guess :-)
Spring Boot
Submitted by Frank van der Linden on
Hi Sean,
As your backend is mostly in Java, keep it their. Spring is a very robust framework, with lots of modules, like security, MVC. Spring Boot is one of the new modules, very powerful and easy to set up.
For an (XPages) application we decided to not using the NSF as datastore but Cloudant. I must say like MongoDb, Cloudant is very easy to setup and to use. Cloudant have certain familirities with the NSF, like replications, ftSearch and tasks (agents)
Currently I am most of the time in the Java Enterprise world, WAS, Spring, Junit Tests and more. I must say, I like it this world ;-)
Are you at IconUK in September, may be we can catch up and discuss some future decicions?
Cloudant
Submitted by Sean Cull on
Hi Frank, we are just about to use your Cloudant examples to add an activity stream and usage logging to our apps :-)
The plan is to cut our teeth using your cloudant example and then compare to MongoDB
I am hoping to get to ICON, just trying to sort out child care.
SEan
Frameworks
Submitted by Oliver Busse on
Sean, this was a comprehensive comment!
Same here: frameworks over frameworks, the linked video is a good start to get an overview. Honestly I never concerned using on of these at all as they all look "odd" to me. Maybe I am too "stuck" to the well-known.
I see another problem (except from the database question): what server? Java app server? Node.js server? Plain webserver? How about scalability? What about security? Etc.
It'll become a huge discussion over the next months. If you can make it to ICONUK I'd be happy to discuss that with you - and with all the others who like to join.
alts
Submitted by Patrick Kwinten on
the JS frameworks I find hard to consider as an alternative, they are fine as a current replacement for Domino, but as you say you don't know what you can expect from them in the future (tomorrow). Nice if you want to learn new web technologies and catch up with the latest buzzwords.
Domino has been for so long so I would rather invest in something that will be there for some time, proven technology, rich in information resources to educate developers, a lively community where ideas are shared. I am kinda charmed of Spring Boot.
Well
Submitted by Michael on
Let's see what this "App Modernization" point in the Q3 roadmap is, then decide where to go.
I can't believe IBM let customers and business partners without a road ahead, Domino or not : they can not just say "move on, good luck"
And btw, what is very sad is that all the alternatives (LCDVia for ex) tend to "rebuild" Domino strentgh point but based on other platform (mongo, Node...) : that prooves domino stengths could still be very valuable, provided that IBM kept them up to date (which they could easily do if they wanted)
It does not mean much
Submitted by martin jinoch on
Nobody is working on it, all hands are on Verse on premises.
Which is not a bad news,
Submitted by Michael on
Which is not a bad news, Verse On prem being a pure web 2.0 based on Domino ...I expect it Will force Java 8 upgrade and some other fmk versions....
I might agree if it used XPages
Submitted by Sean Cull on
I might agree if it used XPages - does it ?
I had heard they were moved to Toscana
what is toscana ?
Submitted by adam on
I cannot find anything on it?
Verse?
Submitted by David Leedy on
Verse is a distraction and waste of effort and resources from IBM. They're basically doing all this to make a nicer mail front end when they've already lost the email wars. Verse is not the savior of Domino. The taking resources away from improving Domino app dev was the final nail in the coffin.
No Java8 for Verse on Premises
Submitted by Stephan Wissel on
There will be a FP7. We averted to have a Solr dependency. There is no Java8 dependency. It will be 64Bit (not more, not less) only. Most of the functionality is delivered as OSGi plugins. The UI is the same code as the cloud version.
really?
Submitted by martin jinoch on
Scott Souder (according to John Head) said at MWLUG that Java 8 is dependency for Verse.
Local Replicas
Submitted by Colin on
Has anyone found an alternative platform that will deliver local replicas anything like Notes does? Willing to use a web app or windows app? If so does this require a lot of additional coding for the local app? Will this handle large database e.g. 7GB / 70,000 records? Any suggestions welcome.
Look at Darwino
Submitted by Peter Presnell on
Phillippe Riand (the original developer of XPages) has developed an interesting new product called Darwino you might want to look at to address your concerns about local replication.
It's not sad any more - it's technology life
Submitted by Marky on
It was sad 13 years ago when SharePoint 2003 came out and started to make very serious inroads into notes client apps
It was sad 10 years ago when mail was clearly lost due to lack of investment and vision
It was sad 5 years ago when it was clear that although XPages was introduced, there was only a tiny small number of people working on it. It was clear then that IBM was only doing enough to keep the revenue stream moving along and it was never going to be the next big thing.
It's not sad any more, it is an old fact of life which we have to deal with.
That is why PSC has decided to take up more of a leadership role in how do we modernize the platform and at the same time plan to get off it. It is not "going to happen" it has happened and is happening all around us. There is opportunity to learn new skills and move forward. Looking back never helped anyone with world domination
Modernizing in a way so you
Submitted by Michael on
Modernizing in a way so you are ready to move to something else when needed seems a good strategy
Identifying the "next" plateform is quite challenging (many many possibilities, a lot of hype, many projects dies extremely fast and may even be dead before Domino is...)
What amazes me is how can IBM just "let it go" cause, obviously, 99% of people moving away from Domino when they do won't chose an IBM platform...
What's a platform?
Submitted by Marky on
Honestly I think the days where one company tries to standardize on one platform are gone - was a nice idea to force everything to go one way but the demise of customized sharepoint industry has demonstrated that forcing everything onto one platform is very expensive, a nightmare to maintain and what did we really gain from it??
The right tools for the right job is the way to go - as harder as it is to mine that data from a corporate perspective, it is much more agile and let's people get shit done faster.
That said - "platforms" like O365, Salesforce, SAP and Oracle's Clouds are very strong in the capabilities - just depends on what you need. I know Notes customers going to the SAP cloud and struggling because they are trying to make it do what notes did. That is absolutely not the way to go - that is not what modernization should be all about.
Migrations are not so much technical challenges, they are human challenges. Getting the people to move, having a willingness as the ground level is much harder than a CIO waving his arms and saying "do this, it'll be better...."
I should write this up in more detail :D
Oh yes, please - do it! ;-)
Submitted by Oliver Busse on
Oh yes, please - do it! ;-)
Not for you
Submitted by Marky on
I didn't mean for you lazy bones :P
Re: What's a platform?
Submitted by Jesse Gallagher on
This is a great point. Over the years, the development landscape has made "picking and choosing" much easier, and one lesson we should take away from Domino is that diversifying your dependencies is vital. We should focus on picking tools that are either directly interchangeable, are conceptually similar enough to others that they don't need massive retraining, or otherwise facilitate resilience.
What about SUTOL?
Submitted by Andrew Magerman on
Hi Martin,
What about SUTOL? Are you stopping that too?
Andrew
Re: What about SUTOL?
Submitted by martin jinoch on
HI, nope, SUTOL is run by several individuals, so my "end with Domino" does not have direct impact on it.
what do you think about intelij as a ide?
Submitted by axel on
In your case it would be a patriotic decision as it is from Czech Republic.
It gave my ageing brain a serious productivity boost in the last 2 years.
For me, best contribution from Czech Republic since Pan Tau movies of childhood.
Re: what do you think about intelij as a ide?
Submitted by martin jinoch on
Every time I start Android Studio, I suffer :-) I'm more Eclipse guy...
IntelliJ
Submitted by David Leedy on
A lot of people seem to like IntelliJ. I'll be focusing on that myself instead of Full Eclipse. IntelliJ has this really nice feature called "Presentation Mode". Wow. I actually said the IDE has a really nice feature. Been a long time since I could say that. :)
What about 'good documentation'
Submitted by Andrew Magerman on
One of the things I've been saying which came as a surprise as I sniff around the yellow bubble is 'Wow, that's really well documented'. It's so weird not having to scan through many obscure, not really well searchable forums. :-)
Web Components
Submitted by Peter Presnell on
Build your new front ends to Notes data with Web components. It will not matter then if new JavaScript frameworks come and go as long as they support Web components. The same is true of writing your back end logic to support REST APIs using Java, C# etc.. Any data can be connected to any business logic language which can then integrate An Web Components. Pick and chose and evolve as you want. Replacing/migrating is what is expensive. We can engineer our way out of that with or without IBM's help.
Vaadin
Submitted by Stanislav Marsz... on
Hi, let me share our experience with migration from Domino. We’ve come across similar phase as Martin few years ago. Declining of Notes business, no advertisement of product, no real maintenance, so we’ve started to seek a new ways of doing business while using our experience from Notes application development.
As a base database we chosen MongoDB with Elastic for more complex searching.
More difficult choice was framework. We started with Symfony PHP framework. That means quite big jump to completely new language and redevelopment of some core applications and components from Notes. Here I mean the access rights, history logging, views, searching. The biggest pain with Symfony was hiding of UI components, Ajax calls and overall interaction of UI elements with backend which can be done but it is quite overwhelming even by using node.js, vue or similar programs. Overall it takes us around 1,5 year to build application suite which can be presented to customer or give him for testing.
Due to above mentioned reasons we moved to Vaadin/Spring (using IntelliJ IDE), where you built applications completely in Java including UI, so you don’t need to worry about hiding elements, fill combobox with data which depends on previous user choice etc. Also lot of codes can be ported easily from Xpages so the learning curve is not so steep. On the other hand you have to get used to “draw” a form just by code, which seems to be not so intuitive for the beginners.
So now we are at the stage that we abandoned Symfony PHP framework and have around 15 core business applications in Vaadin, which was taken from Notes (like customers, activities, projects, tasks, workflows etc.). It took us almost 2 years to build it and we are trying to offer it to our customers who don’t need specific technology behind, while still maintaining our Notes clients. If that will be the future, probably nobody knows, but it is good to have at least something in hands.
Pro Tools ?
Submitted by sean cull on
I think in a previous article you said that you only used the "open source" Vaadin stuff and not the sunscription based pro-tools - did you look at the pro tools to determine if they would add enough value to be worthwhile ?
More on Vaadin ...
Submitted by Rob Wills on
Sean, I just wanted to comment on your "vendor lock in" comment with regard to the Vaadin Pro Tools. I subscribe to the Vaadin Pro Tools and they are great tools but Vaadin without the Pro Tools is still great. They have a directory of add-ins mostly provided open source and pro tools like charting are only options that you could replace with all the other charting tools around. It is better to go with a company that is making money and getting funding or else your choice may go nowhere.
Vaadin have been doing a lot of work recently around web components (https://vaadin.com/blog/-/blogs/using-web-components-in-jquery-projects). They are not all about server side java.
The technology wins for me because the framework deals with the client side javascript automatically (and lets you deal with client side if you want to) so I don't have to worry about browser compatibility. Like the Notes client 20 years ago, it allows one person to develop complex applications. The difference is that they look good too and are using up to date technology!
Thanks Rob
Submitted by sean cull on
I have contacted Vaadin and am seting up a call for next week so that they can talk me through my concerns.
Hello domino!
Submitted by Thilo (Team Tec... on
I agree with Michael. The strength of Domino (especially security and rapid development) gets lost,
if you switch to another platform. No other product has a longer history then Notes (ok maybe SAP) and has confirmed
the security concept behind it. If you use another platform all the features have to be reverse engineered.
On the other side, the notes client is worse. And XPages have many pitfalls. You will lose the rapid development platform
and IBM has forgotten thousands of classic notes programmers who know a lot about Notes but don’t have skills
in Java or web development.
No doubt, to create a great user experience you have to develop a modern interface for web and mobile. But you don’t want to re-develop existing applications from scratch. It makes much more sense to build up on your existing code and just create
a modern interface. Basically what we need is “Lotus Script” for web programming.
Doing so, existing capabilities of developers can be used and combined with modern technologies integrated in a Domino application.
Domino and Vaadin
Submitted by Steven Rieger on
I'm just starting to learn Vaadin and struggling to integrate it with Domino. Is anyone available to help me figure out how to do this? I've only seen a couple demo's that create OSGI plug-ins. Is there any simpler way to do access my Domino data?
I'd be happy to engage someone for a couple days consulting time! srieger@lmsnet.com