The Future of (Domino) App Dev in a Single Word
There have been some lively discussions over the last week about application development and Domino, initially prompted by a blog post by Niklas Heidloff but continued on Twitter. The comments included quite a wish list from IBM, but to my mind the future of application development – on Domino or elsewhere – can be summed up in a single word: community.
One of my very first blog posts highlighted how building on the open and public work of others, we can achieve more, so community and collaboration has always been part of me. So none of what follows should seem out of character.
Community was one of the reasons OpenNTF began, one of the challenges with the existing ecosystem that, as a board, we’ve identified over the last year, and one of the things we’re looking to address. Downloads and submissions to OpenNTF have been falling. There are occasional Notes Client projects, some Digital Experience projects, a whole history of Domino projects, and amongst all of this the XPages Extension Library with frequent deliveries and a significant amount of new functionality beyond core Domino 9.0.1. Those who complain that IBM have not done much for application development over the last two years should take a look at the change logs of the core Extension Library – and bear in mind that packages like relational existed in ExtLibX in the 9.0 timeframe, but were not part of the core, installed package. This has always been a multi-developer project – something I firmly believe is important for good, sustainable projects on OpenNTF. But it’s now also a multi-developer project contributed to by multiple organisations, not just IBM but with a host of contributions from me and other members of the community. And for those stuck in the past who will only put code on their server that’s officially supported by IBM, when XPages on Bluemix goes GA in the near future the latest Extension Library will officially by supported on Bluemix.
Another large, multi-developer project is OpenNTF Domino API, which Jesse Gallagher and I will be speaking about on next week’s TLCC webinar. Engage was the first user group for some years where I didn’t do a session on ODA. But Nathan’s session on graph would not have existed without it, as would Oliver Busse’s session at ICS.UG a couple of weeks before. We have a community developing (John Jardin recently contributed a feature request and the code for it), evangelising and using it. There have been a number of questions on StackOverflow about it. Just last night, Stephan Wissel asked on the XPages chat about how to determining if a column had a static value. I pointed him to code in ODA which works that out, so he didn’t have to reinvent the wheel.
And for those wanting to use non-Domino backends, Frank van der Linden has contributed to ExtLibX a datasource connector to Cloudant.
The biggest challenge now is that with so much choice available for application development, knowing the right choice for you is very difficult unless you try a particular route first. It also means too much for any one to provide all the materials for people to get started, hence again the requirement for the community to add their expertise (like the blog posts I’ve done, building on others, of using Vaadin on Domino, which I know the developer advocates at Vaadin have themselves used with customers).
Some will no doubt be asking whether or how this will attract new developers to Domino. From speaking to active members of the community or from IBM Connect, I’m seeing people coming in from outside, maybe not many, but some. Yes, we can try to get more, but when you have a user group with over 400 people registering in Netherlands, up from last year, the community is clearly not moribund. Others may focus on new seats on a platform. Frankly, I think there is a large audience who need engaging, envigorating and educating before we can even consider looking beyond. There are a lot of Domino applications out there with a lot of data, scripted workflow, integration to other systems and backend processes. If we can get existing Domino customers and developers leveraging those more effectively rather than considering migration, we will have a more attractice proposition for new developers.
IBM and Feature Requests
And to those who feel that is a reason to criticise IBM, look at non-IBM application development technologies. The most active embrace open source and embrace contributions, whether as add ons or core code.
We are now in an era where every Domino application server should be extended with open source software. IBM sessions for years have been talking about OpenNTF and about leveraging code from OpenNTF. Those who think the Domino server should have no third-party additions and only have code developed by their own in-house developers are out of touch with the platform and out of touch with modern application development.
Niklas’s blog post highlights one thing, something I’ve been acutely aware of from an OpenNTF standpoint: his move to Bluemix has left a void that some of the XPages development team like Brian Gleeson (and others) have filled as much as their main priorities as developers can allow (and it’s also great to see Stephan Wissel back working with Domino). But the work done a few years ago has not been fully replaced. It needs to be engagement with developers not only at business partners but also customers. The likes of David Leedy and his colleagues at Czarnowski, not to mention other customer community advocates like Mitch Cohen, are invaluable to our community. I came to Intec many years ago from a customer, and before that was a power user on Lotus Notes before helping out with development of a new release of the department’s database. It’s debatable whether the roadmap from power user to developer still exists, but the pathway from customer to business partner and beyond is critical for the success of Domino app dev. There is work that can be done by IBM as well as the community to ensure there are others coming up behind them.
This is why I’m also positive about the future. In her very first address at IBM Connect a couple of months ago Inhi Cho Suh focussed on community. When I spoke to her at Engage and learned she started the first IBM Champion program, that resonated. And her determination to ensure IBM Connect 2017 was announced at Engage, plus the amount quantity and quality of IBMers at Engage further prove her commitment to community. A visionary leader cannot change the world alone, and it requires many people pulling in the same direction. But the leader we have gives me confidence that the community will become stronger.
From an application development point of view, there is a lot to do. Even for OpenNTF’s project governance review, I am under no illusions that the work required to increase downloads and contributions is not small. To build the application development community to what it was even before the recession is much bigger. Not least is educating a lot of customers who have allowed their Domino app dev corpus to ossify, who only speak to business partners with app dev expertise when they’ve got rid of their internal expertise and want someone to support legacy systems until they have completed migration. Personally I believe this requires educating and engaging the right people into the community, something that marketing doesn’t do. Those choosing alternate application development platforms are not doing so through a specific company’s marketing (with certain exceptions like Sharepoint, where app dev is not the hook but a promised side-effect). It’s done because of the community surrounding those technologies.
A Call To Arms
It was said most eloquently some years ago in HTML.
</bitching><doing> (Stop bitching, start doing)
If I remember correctly, it immediately preceded the community driving the use of StackOverflow for questions (currently over 4000 questions tagged with “XPages”) and the community collaborating on an IBM Press book, XPages Extension Library.
For anyone who wants IBM or any application development platform provider to deliver all the tools, don’t complain if they don’t develop it in the direction you want. The days of that are long gone. I have heard Christian Guedemann speak a number of times about the book The New Kingmakers and how developers are now key. By making the platform extensible, open sourcing more and more of the XPages components and accepting contributions to them, IBM have empowered the community to do great things together. Domino is becoming more and more our application development platform and those who accept the offer are already doing amazing things. I encourage my community colleagues to not bemoan it as an abrogation of responsibility by IBM, but embrace it as an opportunity for us all.