The Old Way Ain't Dead Yet!

The survey from earlier this week made for an interesting result. So, only 10% of you have converted completely to XPages. And only 40% of you are doing any XPages at all.

What surprised me is that 77% of you are still doing Domino dev the old way. I wasn't expecting that!

Now, when I say "you" I mean merely readers of this site. I don't want to extend the results to the all Domino developers as they don't all read this site - particularly, I'd expect, the hard-code XPagers. So that 10% figure could well be out.

The survey has only had ~300 votes but it seems to be the case that results are indicative of the wider audience once numbers get past a couple of hundred. If 3000 of you voted then the result would be unlikely to change. I think.

Either way it's safe to say the old way is still in use and so I will write the article that prompted the survey and - possibly - more after that.

More LotusScript

As if to prove a point Fabian Robok emailed me on the day of the survey with an improvement he'd made to the LotusScript code in my WebSession class, which apparently, like me, he still uses.

What he (or his colleague at least) has done is replaced about 20 lines of code with one. Here's how he suggests getting URLQueryString values:

Public Function urlQueryString(Byval paramName As String) As String
        urlQueryString = Strtoken(Strtoken("&" + Me.queryString +"&", paramName + "=", -1, 5) ,"&", 1, 0)
End Function

Note: I've not tested the above. I'm just taking his word that it works.

Whether or not you consider reducing 20+ lines of code down to 1 line an improvement is another debate. Personally speaking, I tend toward less code over readable code. I know, I know!

Love it or hate it though, the old way will be around for a while.


  1. Yes you're right, it will be around a while.

    Just finished a contract...Notes 7, the way i see it no way they will go 8.5 let alone XPages in the forseeable. (Still on i.e.6 as standard browser)

    Too many meetings to be had, issues to resolve, arses on the line, endless testing to be done etc etc before any chance that anything will happen. - maybe in my lifetime.

    To be frank I was in agony with it all. Safe safe safe.....boring.

  2. It may be old. But it's simple and it works.

    With everybody looking at mobile apps these days, we're back at the early days of apps again. Until there is a decent cross platform framework which works nicely on all flavours of mobiles, people are sticking to the lowest common denominator. Long live REST.

    • avatar
    • Erik Brooks
    • Fri 9 Sep 2011 07:18 AM

    Just rolled out a few screens the other day: 2 "classic" pieces (really simple stuff) and one absolutely, incredibly complex XPage that's one of the slickest screens I've ever seen on any web application.

    I feel bad for all of the people who equate (for whatever reason, warranted or not) "rolling out XPages" with "we need to upgrade to the 8.5.x client." It is definitely a heavy install. Thankfully our users are 100% browser-based.

  3. Jake,

    Domino is special. It is just so flexible and powerful. There is so many ways of building an applications unlike other platforms where there is a defined way of doing things. It is good and bad, but it gives developers like yourself the power to do it the way you think is best for yourself and your user. XPages is hip right now. I wish they fix the bugs first. The interesting news from AusLUG was that IBM was developing a Web container for the basic client to run the classic Web application and life for the classic way or my hybrid approach will be around for a long long time. The classic Web development approach has its disadvantages but it also has its advantages over XPages. I think the more important question is whether us as a developer community can create solutions that drives Domino as the premium Web application server regardless on what method is used. I believe so.

  4. Interesting survey Jake and interesting also to see that 50% of the respondents are using XPages (be it solely or partially) - which isn't bad for a nearly 3 year old product. 50% of Domino developers are using XPages - cool!

    Though saying that, it would also be interesting to hear how many of these developers are using XPages on projects that are in production and not just doing stuff during their lunch break.


    1. I use nothing but, I own a subscription based data service and Building Drawings Control company, so I can pretty much choose whatever technology I want.

      I converted classic notes to XPages, and my experience is that my clients much prefer XPages.

      Don't really get it when people have a go at XPages. I see it as a game changer. - Did take a while to get good at it though.

  5. Xpages was a desperate attempt to "save" web appdev on Domino. It's been a very costly failure. No one even talks about xpages in the Notes client anymore, although it was touted as a huge selling point early on. It just didn't work.

    I had occasion to show some colleagues who had never seen a Domino app before what a plain old discussion db looks like. I demoed the v7 discussion and the v8.5 xpages version. Everyone agreed that the older one had more functionality. The supposedly fantastic new UI in the xpages one? Meh.

    What a waste of effort. Sad.

      • avatar
      • Giulio
      • Sun 11 Sep 2011 11:55 PM

      Someone said to me recently about their experience with Xpages. "...It's alot like learning to walk again after a suffering a stroke.". Pretty harsh words.... Then there is IBM's "Web Experience Factory", which I saw at AusLug recently, and just thought Space shuttle pre-flight checks before you can even bang out a form.

      There is something to be said about the evolution of simplicity, which is a key success factor of the original designer. It was managed quite well initially, then, rather than refine those successful elements, IBM has just bashed in more unused / incomplete features whilst ignoring the attention needed for the winning elements... Bookmarks ? Composite applications ? WebDav ? Template control ? Webservices ?

      Show the rest of this thread

    1. Well, not no-one, I'm developing apps for our company for XPiNC so they can be used internally and on the web. Works for us, although there are a few differences which it would be nice to get sorted out (eg opening attachments directly, web links opening in browser rather than the client)

    2. Wouldn't use any template out of the box. Have you seen XTalk by Declan? Great app.

  6. Re Richards quote -

    "The interesting news from AusLUG was that IBM was developing a Web container for the basic client to run the classic Web application..."

    I have been screaming for YEARs that the single biggest evolution would be to build a browser plug in/container/whatever that will allow Notes apps to be run using a browser.

    This will effectively do away with all the issues/moans about supporting the Notes client which I hear all the time (quite often caused by the way things are set up/maintained not by any intrinsic client weakness). I appreciate the technical difficulties but this would be a leap forward imho.

    I'm not holding my breath...

    1. If I could bang my "open source Notes" drum along with your pining for a plugin, maybe they'll hear.

      Yeah... nah.

  7. @Jerry: Open-source Notes?!? I don't think you appreciate the business/licensing/contractual implications of that decision from IBM's standpoint.

    @Bob, I'd hardly say xpages is a failure. There are some good apps out there that seem to function well, and IBM has never disclosed how much effort went into the development, so we can only make assumptions.

    I do think it's likely that IBM is putting too much weight behind the xpages efforts. As a customer, I want a faster starting, stable client to easy my current pains, and long-term I want a strategy to convert my apps to a web platform with ease and grace. I responded to Jake's survey saying I do some xpages, but that 'some' is mostly tinkering. I have maybe two applications in production that have xpages functionality.

    I'm not particularly interested, as a customer, in re-writing functional and popular apps in xpages, because I have complete control of my environment. Rolling out the client is trivial, since it's on our images, and a few hours of training comes with orientation. As a VAR or BP, I see the benefits, but in a corporation, the benefits diminish significantly. VARs and BPs need something self-contained that they can sell as SAS if needed. The blogs are mostly filled with BPs/VARs, so the web message isn't really a true representation of what IBM customers are looking for, IMHO.

    At some point we will probably make the switch to web apps, but it's not yet on the immediate radar. When that time comes, I will look for a mature tool to migrate my countless current apps (one that isn't cost-prohibitive). If that tool doesn't exist, we will see what state xpages is in, and see if that is the web platform of choice moving forward, but we will do our homework and make sure Notes is still the correct platform for my company.

    1. It's an old wish of mine, dating back to the release of R5.

  8. Huh? cannot find original implementation of URLQueryString anywhere...

    1. You're right, urlQueryString is not even in the current version of WebSession. :-) I wonder if it ever was. Anyhow, at some point in time somebody had published a WebSession mod, that condtained the following function:


      ' * Returns the value of a given URL query parameter.

      ' * Code from 7.0.2 RSS template.

      ' * @param sParamName String specifying the query parameter to read.

      ' * @return String containing the value of given query parameter

      ' */

      Public Function urlQueryString(Byval sParamName As String) As String

      Dim sRtn As String, sTmp As String, i As Integer

      If (Len(Me.queryString) > 1) Then

      sTmp = "&" & sParamName & "="

      i = Instr(Me.queryString, sTmp)

      If (i > 0) Then

      sRtn = Mid(Me.queryString, i + Len(sTmp))

      i = Instr(sRtn, "&")

      If (i > 0) Then

      sRtn = Left(sRtn, i - 1)

      End If

      End If

      End If

      URLQueryString = sRtn

      End Function

Your Comments


About This Page

Written by Jake Howlett on Fri 9 Sep 2011

Share This Page

# ( ) '


The most recent comments added:

Skip to the comments or add your own.

You can subscribe to an individual RSS feed of comments on this entry.

Let's Get Social

About This Website

CodeStore is all about web development. Concentrating on Lotus Domino, ASP.NET, Flex, SharePoint and all things internet.

Your host is Jake Howlett who runs his own web development company called Rockall Design and is always on the lookout for new and interesting work to do.

You can find me on Twitter and on Linked In.

Read more about this site »

More Content