Collaboration University was running this week in London, and by all accounts it was as useful and informative to the attendees as we have come to expect over the years. A few of us went out for dinner and a drink during the evening earlier in the week and, of course, the conversation turned to tech at some point. The question was asked "XPages... convince me". This was a more general question than purely technical, the nature of the people at the table is that they know the geeky stuff well, this was more about the business benefits, whether it's worth spending the time learning the detailed technical elements.
Now of course, I am hardly impartial, most of the work I've done in the last year has been XPages based in one way or another. But it has given me a decent perspective of using XPages in the real world (not an internal IBM view). So I thought I'd put the argument for, from the Manager's point of view, for a change.
The first thing to say, is that of course there is a learning curve for your developers and compared to previous additions to Domino development it is relatively steep. It will take a good couple of weeks to be doing productive work with XPages. But my main argument for their use is that once you have climbed that initial hill, the developer gets offered a couple of routes, they can stay using the standard controls (views, data tables, forms etc etc) that IBM offer us out of the box and they can be putting together really nice looking and well performing applications. Or they can continue to learn the more technical aspects of XPages, digging down into the JSF underpinnings that actually make up an XPage and really get into some very cool, deeply technical web development. The point being that XPages is very unlike classic Domino web development where to do *anything* of any complexity you needed a serious amount of skill, or at least a lot of time served to learn all of the hacks that make up a Domino web application.
The example I use is IdeaJam. I have effectively worked on two different IdeaJam applications, we ship, in the same template, a classic Domino web interface, and also an XPages version. The administrator can choose which one to run in the configuration of the application. The classic IdeaJam interface looks decent and works well, but to get to that point I have used pretty much every Domino web development hack that I have learned over the fourteen years that I've been working on Domino. In contrast the XPages version of IdeaJam has pretty much every feature of the classic version (including a few extras that just aren't possible in classic) and, by definition, I can't have had more than one year's experience to write it. In fact most was written when I had less than 3 months XPages under my belt.
So what does this mean for you, the poor, put upon dev team manager? It means that you can worry less about who is going to support that super spangly Domino application that the (very expensive) Domino consultant came in and wrote for you. One of your existing dev team will almost certainly be able to get up to speed on the development techniques within a month or two to be able to support the app for you. They'll also be able to write new apps or at least make significant updates to your existing XPages apps.
It sounds like I'm trying to do myself out of work here, as my bread and butter is writing custom apps for different companies. But, to be honest, I *hate* doing application support, so if I can write the code and then hand it over to someone else then I really am a very happy bunny indeed.
So we've made support easier for you. What else can XPages offer? How about blurring that distinction between web and Notes client development? In Notes and Domino 8.5.1, the capability to run XPages in the Notes client becomes a reality. For those applications that your business users want to run in both environments you've had basically two choice in the past; either do lots of dev and test work twice so that you get a decent user experience in the client and browser, or force the users to decide between the two. With XPages in the client you get a lot of the benefits of the Notes Client (offline access seems to be the killer feature here) combined with the nice UI and functionality offered by XPages. I won't try and convince you that you'll get the full "rich client" experience, you won't, but you're getting a new option to offer your users, and that's never a bad thing.
I'm a developer, and to be honest, the geeky pleasure of playing with new tech was enough to convince me that XPages are a good thing, I don't have to worry about those annoying budgets and support and things that you manager types have to think about. Hopefully this will let you see some of the non-geeky benefits that XPages can offer.
Disclaimer: IBM Lotus Notes/Domino and Lotus Notes Traveler 8.5.1 is prerelease code and there are no guarantees from IBM that the functionality presented will be in the final shipping product.
Is social media going to kill SEO?