• Browse Blogs
  • My Blog
  • My Updates

+Tags Get help with tags?

+ Similar Entries

photo

Adding Pager Icons i...

Blog:  Paul's Domino...
Paul Hannan
Updated 
No RatingsRatings 0     No CommentsComments 0
photo

Dojo gets a new home...

Blog:  Erik Brooks
Erik Brooks
Updated 
No RatingsRatings 0     No CommentsComments 0
photo

Project Klingon: Vul...

Blog:  Beyond The Ye...
Peter Presnell
Updated 
No RatingsRatings 0     CommentsComments 3
photo

What I think I've le...

Blog:  Notes from th...
Jerry Shelley
Updated 
No RatingsRatings 0     CommentsComments 2
photo

Summary of New Lotus...

Blog:  Beyond The Ye...
Peter Presnell
Updated 
No RatingsRatings 0     CommentsComments 6

+ Bookmarks

+ Blog Authors  

The Notes Client Still Rules

Peter Presnell |   | Tags:  compositeapplications notes85 xpages lotusscript | Comments (15)  |  Visits (1,043)
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.
  1. 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.
  2. 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).
  3. 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.
  4. 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
  1. 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.
  2. 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.
  3. 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.

RatingsRatings 2

Comments (15)

photo
1 Nathan T Freeman commented   Permalink No RatingsRatings 0

I think people have all-but-forgotten that 8.5.1 brings the new Lotusscript editor. :-)

The improvements are... substantial.

photo
2 Jan Schulz commented   Permalink No RatingsRatings 0

@ 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...

photo
3 Nathan T Freeman commented   Permalink No RatingsRatings 0

@Jan, are you trying to nitpick all the places where LS isn't perfect? With ME!!???!

photo
4 Stephan H. Wissel commented   Permalink No RatingsRatings 0

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.
I think the next logical step would be to rewrite the compiler to generate JavaByte code. Suddenly all the missing pieces (like network i/o) would be available since you can call any JavaClass then.

photo
5 Jan Schulz commented   Permalink No RatingsRatings 0

@NTF: hm, ok, better not :-)

It's just that the experience of developing a "not two frames, content on the right, view-links on the left" UI was so extremely bug ridden. It felt like I used LS/@Formela features/corners, which were never discovered by unit tests or other people doing the same. I always felt, that Notes had this simple kind of UI, because they were *so* easy to do by beginners and you never learn otherwise, but now its more like "it's so hard to do it otherwise, that you will give up"...

That's a case, where notes is lacking technology and the technology is holding notes as a whole back.

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?

photo
6 Henning Heinz commented   Permalink No RatingsRatings 0

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.

photo
7 Nathan T Freeman commented   Permalink No RatingsRatings 0

"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?"

SessionScope and ApplicationScope variables are both suitable for this purpose. However, it's important to be aware that you can't put Notes objects into those scopes. The lotus.domino.Session is recycled at the completion of each page request. But you can keep filepath & UNID information for fast follow-up access.

That's actually what I'd love to see Peter do with the next phase of his open source efforts. Xpages needs a good library to do smart caching of Notes objects in these higher scopes, which means it needs caching objects smart enough to understand when their linked objects have been destroyed and re-acquire the associated database/view/document handles.

For the record, I think the application development strategy coming from the Notes/Domino team right now is a mess. The APIs that we have today are consistent only in their incompleteness. And while I'm bound by NDA not to discuss future plans in public, I can offer an opinion about those plans, and it's simply that I don't know of any efforts going on that make me feel confident we'll see a better overall app dev strategy from Lotus any time soon.

Obviously, I think that's a great tragedy.

This is all the reason I'm such an advocate of the newer dev models with Xpages and RCP components. We're never going to see substantially advancement in Notes Forms or Lotusscript at this point, so why bother arguing about it? Instead, I'd prefer to see stuff like Xpages or the Java UI API slingshot past the older technology, achieve prolific status throughout the development model, and ultimately supplant the original stuff completely.

Unfortunately, there seems to be pretty much zero support for strategic-level thinking around Domino as an app dev platform. IBM has accomplished some great things with N/D technology over the last 3-4 years, but the empowering of developers have been largely a consequence of IBM either scratching it's own itch (the entire Eclipse container in 8) or technical fetish experiments from motivated individual engineers (the Java UI API.) Xpages is the best opportunity for serious commitment on dev from IBM, so I'm hoping it will be so wildly successful that IBM will keep pouring resources into it. Because they're just not going to pour those resources into a next-generation Lotusscript or better support for CSS in rich text.

Here endeth the sermon. ;-)

photo
8 Jan Schulz commented   Permalink No RatingsRatings 0

@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.

photo
9 Eric Mack commented   Permalink No RatingsRatings 0

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.

You have no contact information listed but I would like to talk with you.

Hopefully my login will provide you with my contact info. If not, you can find me via my blog http://www.NotesOnProductivity.com

Eric
http://www.eProductivity.com

photo
10 Nathan T Freeman commented   Permalink No RatingsRatings 0

@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.

The basic problem with App Dev on the ND platform at the moment is that there's no individual IN CHARGE of it. It's more spread out across the people that are responsible for the Domino server, the Notes client, and the overall Expeditor clients. All of these people are talented, focused engineers that bring a huge amount of direction to their teams. But none of them are specifically charged with making Notes/Domino a more successful application development platform. The people that are responsible for app dev can only ASK for resources and direction on this front. They don't get to TELL.

That, to me, is a fairly simple problem to resolve. You just have to promote ONE PERSON. Everything else falls into place after that.

Right now, you have competing engineering visions of development on Lotus platforms. N/D is by far the most prolific dev platform in Lotus -- at least by number of developers and number of applications. (Portal *might* have more consumers of the actual apps -- it's difficult to say.) But the programmability needs of the Domino server team are addressed by one person, while the Notes client is addressed by another, while Expeditor itself is set by still another -- and that's leaving out all the direction being set by Sametime, Portal, Mashups, Forms, Connections and Quickr in various groups.

Can we really expect a unified vision of what it means to be a Domino developer while there's still one major team focused on C/C++ solutions, one major team focused on OSGi solutions, and one major team trying to find a middle-ground between both of those and legacy support?

Getting to a unified vision is going to mean some level of legacy sacrifice, though. A company can't keep 6 APIs concurrent -- I don't care how skilled and rich they are. So anyone in this position would have to pick their battle lines, and that would mean picking languages, models and specific integration points with related technologies. It would be a thankless job, honestly.

I mean, if IBM *did* put out a development vision statement, and that vision was "Java everywhere," which meant that you'd be able to write Java code everywhere you can currently write LS and @formula, while those two would be deprecated -- would you really be happy?

Maybe you would. I certainly would. But I'd also know that it was a BIG job and that it was going to take 2 or 3 major versions to get there. Whoever set that direction wouldn't be popular in the process.

I don't think we should be sad about that. I think we should be enthusiastic. I think we should smile at IBM and cheer them and say "YES, we're willing to take some pain to get to a proper vision for the platform."

But then, one might argue that they tried to do that before, and it failed. So maybe I'm just re-processing the thinking of 7 years ago.

photo
11 Henning Heinz commented   Permalink No RatingsRatings 0

"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)?
It is not I see massive migrations to Oracle Collaboration Suite but Exchange and Sharepoint. If you drive a Java only strategy what do you tell those that have a huge investment in Microsoft (some still have). Or why should I not use Google Web Kit?
With Lotus Expeditor there already is a compelling platform (and the foundation for the Notes Eclipse client). Isn't what you propose making one platform obsolete?
What do you do with those that have been working with Notes put do not have a real programming background. Would you sacrifice this market to take advantage of Notes then being a "real" development platform with all the advantages and disadvantages?
How would you ensure that customers will not try to move to a complete free (as in beer) environment without license fees?

photo
12 Nathan T Freeman commented   Permalink No RatingsRatings 0

"How does that differ from what is currently happening (seriously asking)?"

Off the top of my head...

1) No migration path from existing code (no J2LS bridge)
2) No commitment to making Java a first class language in all code locations (UI elements, actions, view columns, etc)
3) No commitment to resolving the mess stemming from .recycle()
4) C/C++ still primary language for server platform development

I'm sure I could think of more.

"If you drive a Java only strategy what do you tell those that have a huge investment in Microsoft (some still have). Or why should I not use Google Web Kit?"

I'm not clear on why a Java-centric development strategy would be further away from Microsoft than the current approach is. Are you saying that because Lotusscript shares some syntactical history with VB, Microsoft shops are more at home with Notes development?

"Isn't what you propose making one platform obsolete?"

Not the whole platform. Replication, security and messaging services are still all unparalleled in the market. But, as I said, nobody can keep 6 APIs concurrent -- so some of them MUST be deprecated.

"Would you sacrifice this market to take advantage of Notes then being a "real" development platform with all the advantages and disadvantages?"

I don't know what a "real" development background means, honestly. But if you're asking whether I'd want to make everything too complicated for the typical Notes developer -- well, I'd argue that this is already happening. How many languages must you know to be effective on the platform today? @Formulas for views, Lotusscript for client UI controls, Javascript for web UI controls, Java for integration (HTTP, SOA, etc), and a mishmash of HTML, CSS, Expression Language, SOAP, and if you ultimately want to hook into server events -- C++. And if you throw Quickr into the mix, you add on APP via REST.

So I really don't see how radically simplifying this story would make things *harder* for novice developers.

"How would you ensure that customers will not try to move to a complete free (as in beer) environment without license fees?"

By continuing to deliver unmatched ease of deployment, security, workflow, messaging, redundancy and cross-platform availability. There are TONS of great things about the Domino platform that have nothing to do with what API you use to manipulate it.

photo
13 Henning Heinz commented   Permalink No RatingsRatings 0

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.

photo
14 Giulio Campobassi commented   Permalink No RatingsRatings 0

@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. You mention the a Development vision statement for Lotus Notes and having SOMEONE put in charge of it, or someone that can stay above the competing technologies within IBM. This would be an great step forward. And I don't mean that we need a fully technical person running that. I would hope that it's someone with a "solution delivery bent" that gets Lotus Notes and how to drive the worthwhile solutions with the platform. He/she would need a very good business view.

But, last thing we need is another geek in this. What we need is someone who can put forward a good business cases for solutions, not just another voice helping us use XPages or make widgets.

There are lots of very intelligent people in IBM, no doubts there, but once the organisation gets to a certain size (ten's of thousands), and you have a gigantic array of offerings, it's not surprising a clear message just disappears in the static and noise. It just turns IBM into a big blue robot...

photo
15 Peter Presnell commented   Permalink No RatingsRatings 0

@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.

Add a Comment Add a Comment

Previous |  Main  | Next
Skip to main content link. Accesskey S
IBM Lotus Connections Help Tools About