The Notes Client Still Rules
I typically blog about two things. Books I am reading and my latest gadget :) No, its my pet .Domino Framework project on OpenNTF and my interest in the future direction of Notes. In a way the two are interwined....
Jan Schulz has posted a very good article questioning the future of LotusScript and the Notes client. It is was one of a growing number of varied perspectives I have been reading with interest. I have been asking myself similar questions over the past year since the 8.5 beta was first released. I have also had the chance to look closely at the 8.5.1 beta, a release I have long said would be a pivotal release in Notes history. And while I cannot disclose anything specific about 8.5., 1 I still feel this is the case.
I have been doing my bit to create debate within the yellowverse about the direction Notes development might be going . Not because I believe I have the answers but because I believe it is a very important issue for us ALL to discuss.
- The organizations for whom we all work must eventually decide about migrating Domino servers and Notes clients to 8.5.0 (and 8.5.1 when it is released). The Domino server side is much easier to execute and IBM have created a compelling business case for doing this. The client side seems to often be driven by support issues and the functionality of the mail client. Sadly few companies I have worked for are driven to deploy newer Notes clients to allow Notes developers to build better applications (but they should!). Regardless of where you may sit on the arguments about the use of LS, Java, SSJS, XPages etc. having your companies upgrade their Notes clients to 8.5.1 is only going to increase your options as a developer. You need to convince yourself that this release is important enought to fight for.
- Whether you are a contractor or employee, your value as a Notes developer depends heavily on the skill set you have and the skills that are now needed. Almost certainly there will now be some change in the skill sets that are being sought for Notes development. So each of us needs to make decisions about what skills we want to develop to allow us to continue to be important to our current employer as well as make us attractive o prospective new employers. This doesn't mean always moving the latest and greatest. If you had jumped on the Java bandwagon when Java was first added to Notes you would have a skill that is of value but is still largely a niche market for Notes (I have never had a Java Notes developer work on any of my teams). If you jumped onto the IBM Workplace bandwagon you would have made IBM happy but you would have acquired skills that were largely useless (except perhaps in now helping you with XPages).
- It is no fun working with old code and companies seem to be forever replacing legacy applications. If Notes code does change significantly as a result of XPages it would be better to stop producing legacy code sooner than later.
- Notes has defied the odds to remain a vibrant product in part because it acquired a niche market. It filled a void between low end Excel/Filemaker products and the high end Java/Oracle & .Net/SQL Server platforms. It is classic marketing scenario, if we chose to leave our present market to compete in another more lucrative market (e.g. Web development) we better make sure we gain more customers than we lose.
Every change brings opportunity. And those that profit the most from change are those that see it coming and position themselves to take advantage of the change.
We are seeing a lot of change in what is now being offered for Notes development but I am not sure the future of Notes is yet written. That is because we have separate camps each being motivated by different things
- IBM: I have long argued that Quickr and Lotus Connections could easily have been added as extensions to Lotus Notes giving both products the power of the rich client experience while still allowing a more universal Web client access. Of course such an approach may not allow IBM to generate additional revenue streams that new products allow. IBM also invested a lot of money into developing IBM Workplace. They can only begin to recoup those costs if they find alternative products into which they can inject this technology. IBM also has a product portfolio in which the common programing language is largely Java/Eclipse, with the exception of Notes and Symphony. I am sure IBM want to see Notes form part of an integrated product offering and would love to see all us Notes developers programming in Java of SSJS. I am sure Xpages is largely being added by IBM as a way of meeting some of these goals.
- Notes Gurus: The Notes community has a relatively small number of people who are constantly finding ways to redefine just what Notes is capable of doing. The best example of this is Lotus911's Bones project. Most of the Notes gurus tend to be located in software development companies or large companies which invest heavily in technology. This group are prominent in our community through blogs, presentations at LotusSphere etc, OpenNTF, and the Design Partner program. Simply put their voice is probably a lot louder than the general Notes community combined. It is in their interest to see technologies such as XPages come to the fore. They are better placed than most to deal with the added complexities of technologies being added to Notes like Xpages, Java, SSJS, Eclipose, Expiditer etc. and motivated by the superior quality of what they can then produce.
- The Yellow Blob: Most of us are in a position where we must follow rather than lead. We work with the version of Notes our employer provides. We build Notes client solutions when asked for, and Web client solutions when called for. We do have some influence.... We often do have a significant input into how our assigned projects are architectured and designed. With XPages and Composite Applications we now have additional choices. XPages adds a lot more capabilities to Notes but there are a lot of Notes things it still can't do. It was not designed for Notes but adapted to work with Notes. It also requires a whole new learning, something not all of us are in a position to do. It will be up to you to decide the extent to which XPages and CA are adopted in your application design. Customers don't ask for XPages and more than they ask for Java or LS. They ask for functionality, ease of use, and performance (oh and for a low cost). You must decide the most cost effective way to deliver those requirements with the toolset now at your disposal. You do have a say despite what IBM wants -- you didn't follow IBM's lead with Java for Notes, Workplace or DB2 and IBM did listen.
My series of blogs on XPages are entitle "The Good, The Bad, and the Ugly": for a reason. There is both a good side and a bad side to XPages. And 8.5.1 probably provides more questions than answers. There is some really powerful stuff there in 8.5.1 that we should all be pushing to get access to when it is released later this year. What I can say about 8.5.1 is I do not see either the Notes client or traditional Notes client development going away any time soon. Lets be clear, 8.5.0 was for Web developers, 8.5.1 is for Notes client developers. It is public knowledge that 8.5.1 brings XPages to the Notes client. But what exactly does it bring to the Notes client? To what extent does IBM plan to bring the many great features already available to Notes application development into XPages. The NSF container, replication, security, design templates, Rich Text editor, view control, outlines (including drag/drop), shared actions, shared fields, shared columns, personal folders, profile documents, name fields, Sametime awareness, and yes LOTUSSCRIPT. Having seen 8.5.I have thought a lot these past two weeks about what it means for me. I do about 95% of my development for the Notes client. The XPages project I am working on at the moment is to enhance a dual client application in which the existing Web component was a little hokey. XPages can fix that. I am not walking away from the Notes client. I believe strongly in the power of a rich client over a Web browser. I believe given the chance to deploy and use 8.5.1 not only will I be continuing to do mainly Notes client development but with the power it gives me I will be pushing to have Notes client applications displace Web-based applications being developed in non-Notes platforms. Notes 8.5.1 is simply that good. But it is not (yet) perfect. In my next blog I would outline my view on what my ideal Notes development platform would looks like.
|
Ratings
2
|
Comments (15)
I think people have all-but-forgotten that 8.5.1 brings the new Lotusscript editor. :-)
@ NTF: Also improvements to the underlying interpreter/compiler?
Things like "on event" work flawless without specifying the
language in the form itself? "Illegal circular use" gone? A new "on
help" with LS equivalents to the @Formela?
The editor is nice for productivity, but as long as there are bugs
and missing pieces in everything more "frameworky" or just "less
scripty", it doesn't really matter, at least against SSJS and
xPages...
@Jan, are you trying to nitpick all the places where LS isn't perfect? With ME!!???!
What holds LotusScript back as a language is the fact that the compiler needs its own virtual machine that needs to run on all supported platforms. That also requires extensions to be created on all platforms.
@NTF: hm, ok, better not :-)
Well it is not that there is a lack of ideas but someone has to do it (for a closed source product the main part belongs to IBM). I would love IBM to be more vocal about their development roadmap.
"Another question: is it possible (and not a big hack like you did with forms and LS) to do (DB-)session wide variables in XPages?"
@NTF: Reading this makes my kind of sad. Giulio Campobassi at http://giuliocc.dominodeveloper.net/giuliocc/home.nsf/dx/07042009092208PMBLO75V.htm
has also a great blog entry, which goes into the direction of
training and marketing. He seems to have the same problem with IBM
and there strategy towards Notes.
Peter, thanks for exploring this issue. As the creator of eProductivity, a productivity application that builds on the power of the Notes Client, I'm very interested (and heavily invested) in the future of Lotus Notes.
@Jan, why sad? Not to say that it's *good*, but there's nothing about the situation that a little executive motivation couldn't take care of.
"I mean, if IBM *did* put out a development vision statement, and that vision was "Java everywhere,"[...]
"How does that differ from what is currently happening (seriously asking)?"
Thank you for taking the time to answer my questions. I agree that the current situation is not much Microsoft friendly too but if I want to grow I would like to take accounts from any platform. I wasn't aware of 1) to 4). I thought that IBM had that sorted out already. You have some interesting/valid points that I'll need to think about.
@Jan. I know I have been heavily bagging IBM to make a point, and I don't mean to make you feel sad, but for a very long time I have seen press release after press release from IBM for Lotus Notes that espouses some great success, or growing revenue, but it doesn't match regional activity that I can see waaaay down here. So generating some local news for each region would carry more credibility.
@Nathan - Could we not overcome the limitation of storing Notes objects in state by using NotesURL (or is that HTTPURL with Xpages??. This would work with NotesDatabase, NotesView, and NotesDocument - and even NotesDocumentCollection could be
represented as an array of NotesDocument URLs. I have long been
impressed with how this can be used with LS as a way of safely
serializing a Notes object that can be reestablished using Resolve.
If its not there all ready we should be asking IBM to provide this
with SSJS.