Just as we have many types of Domino customers, so to is there many types of Domino developers. Building an application development platform for a generic “developer” could be a mistake. In some ways our attempts to make Domino all things for all developers over the years has probably help drive it to becoming a less than effective tool for most people. Domino needs to bring a focus on simplicity to Domino development in much the same way as Steve Jobs did with the computers and other devices he developed. We need to put application development in the hands of the many rather than trying control its access to the few privileged people.
Citizen developers were a critical part of the growth of the Notes platform during its first 10 years. After that time we started to see responsibility for Domino applications being consolidated into IT departments and citizen development started to be discouraged in many organizations. After Notes 5 many of the new features such Web services, DB2 integration, Composite Applications, an Eclipse IDE, class editor for LotusScript, and XPages were targeted more at IT developers. So the platform itself got more complicated without delivering a lot of new power for citizen developers. In recent years the voices of IT developers have probably drained out those of citizen developers in our community. User Group conferences, technical blogs, and webinars tend to be targeting professional developers more and more.
If we look at Domino being at ecology, citizen developers are the all important breeding grounds necessary for a new generation of Domino applications. If it was my choice Citizen developers would be my primary target for Domino 2025. This was the path by which I become involved with Domino so I may be a little biased. As I see it the greatest opportunity for attracting much needed new customers to the platform would come from positioning Domino as a low-code platform for citizen developers. One that would allow developers to go way beyond building applications as we know it but moves ahead of the crowd to provide an intuitive way to integrate data from many sources to not only automate existing business processes but also design new processes that may not have been possible before. I would like to see Domino setting new standards for how application can be integrated as part of the Internet of Things using tools like IFTTT, Microsoft Flow, and Zapier.
We must acknowledge that there is a large pool of Notes developers who work inside of many IT departments that may well have once been citizen developers but don’t necessarily have the formal computer science (or similar) training of professional developers. These are a very distinct type of developer very common within Domino shops. While they may be able to do amazing things with the Domino platform they can be a little intimidated by modern Web development. I am convinced XPages pushed a few of these people into early retirement rather than having to start afresh and learn a bunch of new technologies.
It would be fair to say IBM and I differ quite significantly when it comes to XPages. I believe quite strongly that XPages is not the answer for making Domino applications in a world that demands that applications must be accessible from web browsers. It’s a snapshot of an alternative universe that would have become a reality if IBM Workplace lived on a lot longer. It seems to me that XPages is too complicated for citizen developers, is too constraining and behind the curve for professional developers and at the same time encourages Notes developers to build poorly engineered and poorly designed applications that are no longer acceptable in 2017. I doubt IBM (or HCL) could ever throw enough money at XPages to allow it to compete with the widely adopted development platforms such as .Net. As I see it we need to assume many Notes applications will follow a path that starts with citizen developers before being passed on to Notes developers to implement more sophisticated functionality. It also needs to be a platform that supports the low cost rapid application development for new medium complexity applications. Applications that are not constrained to a Notes client but also equally at home in a web browser or mobile device. Applications that are connected and integrated while maintaining a simplicity not common in professional web development platforms.
My three wishes for Notes developers are as follows.
The professional developer usually ends up inheriting many of the applications developed by citizen and “Notes” developers. Especially the successful ones that suddenly become enterprise applications. The benchmark of success should be that a professional developer could be asked take time out from their current project to implement some enhancements to a Domino application and come away saying… “hmmm, that wasn’t anywhere near as bad as I was expecting”. I doubt Domino will ever be a platform of first choice for professional developers unless it somehow found a way of provide quick and easy ways to get achieve some pretty cool things they couldn’t already do with other platforms. So, of the three, Professional developers would be a lower priority for which my three wishes would be:-