Sean Cull

Please don’t be shy at Lotusphere

Sean Cull  14 January 2012 15:21:20


Can I ask all  of you who are lucky enough to be at Lotusphere one favour ?


Please don't be shy.


We are all customers of IBM, we pay them hard earned money so that we can use their products and services.

They are also genuinely interested in our views about how to make their products and their approach to selling their products better - so tell them what you think would work better.

At UKLUG this year a group of about ten of us were standing talking about the future of XPages and our frustrations with the licensing schemes that were available.

Ted Stanton from IBM had given the Key Note at the event and happened to be walking by.

We sort of "door stopped" him and asked if he would listed to our views. He very graciously did and later took the time to write those up and pass them on to others such as Ed Brill and Pete Jenzen.

I did initially feel a bit bad about pouncing on him but he recognised our enthusiasm for his products and we had a really good ad-hoc session. Pete Jenzen then followed up with various members of the group over the next few weeks and some of what was discussed probably helped influenced the shape of  the XWork server.

I have also found that the developers and support guys to be fantastically helpful. Martin Donnelly, Tony McGuckin, Susan Bullock, Mary Beth Raven ( now ex IBM ), Maureen Leyland,  and various others have all taken the time to understand my ideas and make helpful suggestions on previous occasions.

And there's also the irrepressible Joyce Davis who is the linchpin of IBMs community outreach work,

The Lotusphere Labs are a great way to meet the people who actually code the stuff we love. Go play with their new stuff and tell them what you think.

Have a think about what the top 5 things you would ask for would be AND why.


For me as a developer it would be :

1) SSJS debugger because it would cut our costs by 20% +

2) Automatic SSJS syntax checking because it would really reduce the risk of breaking apps in production.

3) Full feature parity in XPINC generally but specifically for opening documents using parameters so that we can have full fidelity XPinC apps.

4) Removal of the 64K limit in SSJS @dbcolumn lookups so I can have filters on XPage views where I won't get empty results.

5) Better ( some even ) control over which replica a link will open because too many customers seem to end up inadvertently using servers in Aberdeen, Brazil, China.etc..


Oh, and one last thing, make sure you tell them the 5 best things that they have already given you !


For me it would be

1) XPages

2) Support of OpenNTF

3) A rich Application Server that I can deploy very easily on a range of Operating Systems

4) The XWork server and the opportunity to loose the negative conjurations associated with Lotus ( which annoy me but we need to move on )

5) The mobile, REST and RDBMS functionality appearing in XPages.

5.1) XPINC - It really serves our customers well - the always connected world isn't here yet.

5.2) OneUI - seriously, it makes my life as a developer much easier.

Thanks and have a great time. I'm not jealous at all ;-)

Sean

 Lotus  LS12 


Configurable low overhead scheme for date dependent colour coding in views

Sean Cull  23 December 2011 21:06:10

It is useful to have colour coding of target dates in views but in traditional Notes applications ( as opposed to XPages ) this carries a big overhead if you do the date calculation in the actual column using @today etc.

Also see Steve McDonagh's post on colour blindness. You could also use this approach for icons.

Image:Configurable low overhead scheme for date dependent colour coding in views

This scheme uses a scheduled agent to replace the column formula each night with a hard coded date. It runs on 120 views in less than 1 second.

The scheme also uses a configuration document for the formula so that super users can update the threshold values.

There are 3 parts to consider :

1) the column formula. The image below shows it in the configuration document.


The bits in yellow are the constructors that are used to insert the relevant dates for the banding.
In this case
> 5 days away is neutral
0 - 5 days is yellow
overdue = red

Image:Configurable low overhead scheme for date dependent colour coding in views


2) The column in the view.


This column is hidden and has the property "Use value as colour".  This title of this column must start AGENTLINKED so that the scheduled agent can pick it up and modify it ( see below )
There must also be another column to turn the colour off again. The value of the formula after the agent has run is shown below - you can leave it blank and then run the agent to populate it.

Image:Configurable low overhead scheme for date dependent colour coding in views

Image:Configurable low overhead scheme for date dependent colour coding in views


3) The Scheduled Agent


The scheduled agent loops through every view and every column within each of those views.
Where it finds a column with he AGENTLINKED string in the title it tries to update this.

When updating it :

1) extracts the relevant configurable formula string from the configuration document shown above. You can have multiple configuration documents  in case you need different target thresholds for different views etc..

2) it replaces the [#n#] with a date which is n days from now

3) it inserts the modified formula into the column as shown above.

Sub
Initialize
     
     ' Sean Cull, FoCul Ltd.
     ' Released under Apache 2.0
     ' The purpose of this agent is to modify the column formula
     ' for columns so that dates can be highlighted as they become overdue.
     ' the column title will need to start with the phrase ".AGENTLINKED"
     ' e.g .AGENTLINKED : Colour_on_001
     ' this is then used for the keyword document that contains the formula.
     ' in the keyword document date increments are notated byu [#x#] where x
     ' is the number of days from today.
     ' e.g  @If ( target_date_dt > [#3#]; bgd:Dark_Blue ; ........
     ' full example : red := 255:0:0; blue := 0:0:255; green := 0:255:0; gold := 255:128:0; black :=0:0:0; white := 255:255:255 ; yellow:= 255:255:0; bgd := 224:241:255 ; Dark_Blue := 0:0:128; @If ( target_date_dt > [#3#]; bgd:Dark_Blue ; target_date_dt >= [#0#];yellow:black; target_date_dt < [#0#];red:white; -1:-1:-1)
     
     Dim session As New NotesSession
     Dim rightNow As New NotesDateTime(Now)
     Dim db As NotesDatabase
     Dim configview As NotesView
     
     Set db = session.CurrentDatabase
     Set configview = db.GetView("vlukeywords")
     ForAll v In db.Views
             ForAll vc In v.columns
                     If InStr(vc.Title,"AGENTLINKED")>0 Then
                             Call process_column(vc,configview)
                     End If
             End ForAll
     End ForAll
     
End
Sub
Sub
process_column(vc As NotesViewColumn, configview As NotesView)
     
     Dim configdoc As NotesDocument
     Dim strvar As String
     Dim strvar2 As String
     Dim pos As Integer
     Dim pos2 As Integer
     Dim incrementstr As String
     Dim datestr As String
     Dim dt As New NotesDateTime("Today")
     Dim z As Integer
     
     Set configdoc = configview.GetDocumentByKey("." + vc.Title )
     
     If configdoc Is Nothing Then
             MsgBox " could not find configuration key ." + vc.Title
             Exit Sub
     End If
     
     strvar = configdoc.KeywordList_tx(0)
     
     pos = InStr(strvar,"[#")
     Do While pos > 0
             Call dt.SetNow
             strvar2 = Right(strvar,Len(strvar)-(pos+1))                
             pos2 = InStr(strvar2,"#]")
             If pos2 = 0 Then
                     MsgBox "Error, did not find closing #] in column formula"
                     Exit Sub
             End If
             incrementstr = Left(strvar2,pos2-1)
             Call  dt.AdjustDay( CInt(incrementstr))
             datestr = "[" +  CStr(dt.DateOnly) + "]"
             strvar = Replace(strvar,"[#" + incrementstr + "#]", datestr)
             pos = InStr(strvar,"[#")
             
     Loop
     
     vc.Formula = strvar                        
     
End
Sub

 Dev Tips  Lotus 


So how do you open an xpage in a different database in XPINC ?

Sean Cull  20 December 2011 00:27:03

Image:So how do you open an xpage in a different database in XPINC ? I have spent a large chunk of the weekend and tonight trying to make a suite of XPages applications work in both XPINC and the browser.

I'm still confused





How it works when everything is in the same database


If you want to open a document from a repeat when it is from the same database the recommended method is to use Open Page simple action using parameters and it works really well for both browser and XPiNC and is also helpful in that it is a put request rather than a GET request ( Mastering XPages page 658 ) - apologies to Tony McGuckin who I promised I would blog this 9 months ago.

Image:So how do you open an xpage in a different database in XPINC ?

Image:So how do you open an xpage in a different database in XPINC ?


The problem with data sources from other Notes databases


OK, so XPages is all about consolidating the presentation of multiple data sources in one place.

How then do you open a document from another database via a repeat ?

The crux here is that the dialogue above only presents "XPage" choices for the current database and there is no way of computing the other database - so you cannot use the simple action method.

Well for the browser you construct a URL, that is pretty straight forward. But what do you do for XPiNC ?

There are 3 methods which I believe should work although I have found that 2 are very flaky for me.

1) You can modify the underlying form associated with the XPage so that if the document is called then it will automatically be presented as the relevant XPage


To do this you would use a URL like this :

notes://server as common name/0/universalid

The downside to this is that where I work our "Best Practice"  is to be able to open the back end forms as native Notes forms for administration and troubleshooting - it is a very powerful tool.

I also have some suspicions as to whether the specified server is honored in this scenario.

So all in all not a good option.

2) You could call the XPage using the following construct


notes://server as common name/dp replica id/xp_f_document.xsp?openXPage&action=readDocument&documentId=8E800DB89E9E144A80257968004CDEE4

This should work although case sensitivity may be at play on our linux server - its hard to tell sometimes as daft as that sounds.

This method only works on 2/3 of my documents. I have eliminated issues with the logic on the XPage being the cause by using a very simple XPage with no improvement

So all in all not a viable option.

3) You could use a non rendering XPage with a "before render" script to redirect to the correct document.


This would be in the target database but might be more than 2/3 reliable. This would be a pure frig but I am tempted.

Again, not a great choice.


Some Observations


I have been on a real high with XPages of late and we have been doing some great stuff which I hope to share soon. But this project is dual XPINC and Browser.

Just at the moment I am beat - this feels like the dark days of XPages 8.5.0 and 8.5.1 - spending hours and days getting nowhere and feeling like you are the first to try something and find it lacking.

If XPINC is to be a first class client and if IBM is to deliver the vision of code once deliver on many platforms ( which is so so close based on my recent experience )  then XPINC needs to get more exposure inside IBM.

It simply wasn't usable in 8.5.2 but is much better in 8.5.3. Darren Duke once said that he would know XPages was here to stay when the mail client was in XPages - in my opinion that would make a big difference in flushing out the issues.

Come on IBM, drink your own XPages champagne.

 Lotus  XPages  XPINC 


I am very honoured to be an IBM Champion

Sean Cull  14 December 2011 21:39:36

Warning, long and rambling post ahead.

Its been almost a week now since IBM made me an IBM Champion for IBM Collaborative Solutions and it is just beginning to sink in. It is a fantastic honour and I am very humbled by it. I am a huge fan of Notes and XPages and am very impressed with what IBM has given us in terms of both the platform and their very significant contributions to OpenNTF.

I started with Notes in 1995 and have been blogging since 2008. I find blogging and commenting on Notes a difficult balance. When you are so passionate about something it can be very frustrating when you feel that it could be even better. It is my nature, and my professional background, that I always push for things to be better than they are, sometimes that is seen as a negative but at other times people appreciate the feedback. Sometimes I still get it wrong and am too flippant with my comments.

To be honest receiving the award did make me stop and think if I should be more "positive". It coincided with a great experience of Notes with a customer which reminded me how powerful Notes is and also the experience of installing and using Notes on a brand new MAC.  The Notes on MAC experience was not so good.

Having thought about it a bit more I have decided that I should just be "me" but I should make more of an effort to take the time to tell my story about how I see Notes ( and IBMs wider collaboration solutions ) helping businesses manage costs, processes and knowledge but at the same time not to shirk away from saying what needs to be better too.

It has been a frustration of mine for some time that not enough is said about the huge value that the IBM collaboration solutions add to businesses around the world every day. Most of us who work with Notes are proud to be Geeks and we want to see the demos at the OGS ( remotely in my case unfortunately ) but the reality is that if Business Leaders do not understand what the IBM platform ( that they often already have ) can deliver then there will be no install base for us to deliver to. I guess it is for that reason that LotuSphere has become LotuSphere + Connect.

It will also be interesting to see how IBM positions XPages. I am an applications person at the end of the day. I can see that Connections and other Social collaborations tools will become increasingly important but a lot of business is about structured collaborative processes. Many of these processes are "sub enterprise" and at the departmental or site level - this is where, in my view, Notes and XPages are at their strongest. There is still no other application platform that can plug these sub enterprise collaborative requirements as well as Notes. I think that IBM lost sight of this and Microsoft won the email battle even though the war was about much more than email.

Which brings us to XPages. XPages has been revolutionary in terms of improving the solutions that we have been able to deliver. At work we are flat out building our XPage skills and delivering some fantastic applications. We only have a relatively small set of loyal customers and as a business owner I feared that we had reached saturation by having done all of the obvious things with Notes. XPages has totally changed that with customers who are on 853 and those who see value in bringing their own customers into their collaborative processes via the browser. About 30% of our work over the last year has also been with net new customers who don't have "Notes".

Being totally honest I have never quite understood why IBM gave us XPages. Don't get me wrong I will be eternally grateful that they did but it did seem to come out of the blue. I'm guessing here but I suspect that its success took some at IBM by surprise. Long before XPages an IBMer said to me - "Nothing in IBM is allowed to be a failure - it gets recycled into a success" - XPages is certainly a success. The next question is how does IBM position it ?

I understand that "Social" is important and that it is a wave worth riding but I can't be the only one who is uncomfortable with the "Social" label - actually I know that I am not because my mainly industrial customers are uncomfortable with that label too. They are all for collaboration but their main need is for structured workflow and knowledge management processes  that deliver and demonstrate control of processes and knowledge. Having said that Activity Streams have huge potential and IBM is delivering tools to integrate XPages with Connections for just that reason.

How would I like to see IBM position XPages ?

I have heard IBM describe XPages as the "framework for building collaborative social business applications" - that is much to narrow.

XPages will certainly be a great platform to build the structured business process that will follow and compliment the more free form Social processes but it is not just about social.

I have no idea if it is technically feasible but I hope to see XPages in WebSphere and on every other IBM platform. I would love to see IBM throw their weight behind it as "the" IBM collaborative development platform. By all means leverage the "Social" buzz but also recognise that there is a demand for collaborative applications from people who do not see their need as "social" or who, and perhaps I am one of them, misunderstand what IBM means by social.

Actually I do think I understand what IBM means by Social - its essentially people working together - which is what collaboration is - but I still find the label uncomfortable and my customers even more so.

Anyway, I have rambled on even more than ever, and probably caused a few IBM people to wonder why I was made a champion. I am very pleased that they did make me a champion and I am looking forward to telling all who will listen ( I'm impressed if anyone still listening now ! ) as many good business success stories around IBM collaboration as I can find.

 Lotus 


What advice would you give a MAC newbie ?

Sean Cull  25 November 2011 17:51:43

Image:What advice would you give a MAC newbie ?

Having mulled over a new laptop for a very long time I am now the proud owner of a MBP.

When I got new Windows Laptops I always imaged them so that I could roll back to a clean machine easily. I also had a list of useful software such as clipcache, acronis, winscp, putty etc..

What would you recommend I do with the MBP ?

Also any suggestions for a smart backpack and / or sleeve (15") ?

Will the MBP really help me loose weight as demonstrated above ?

Thanks, Sean
p.s. I am mostly a developer with Linux and Windows servers

 Lotus 


New IBM supported XPages Extension Framework Deployment Database

Sean Cull  16 October 2011 11:39:46

It has turned out to be one of those frustrating weekends where servers simply do very odd things ( no css but just on ios devices and on 2 x 853 servers - weird - solved by a full rebuild of the servers ) and the IBM technotes are all 404 ( sounds like a typical weekend you say ).

One of the nice discoveries has been this wiki article from Paul Hannan of IBM about the new way to deploy the Extension Framework.

#####

This is where the bloody gremlins are striking again, I have added this link umpteen times and the = always gets corrupted to ç. I even created a new post - somebody has it in for me this weekend !

try this => http://goo.gl/MQGHD

#####

Anyhow, there was previously a project by Stephan Wissel and co and the documentation for the Latest 853 extension framework still says that you must drop the files to the server manually but there is an officially supported application bundled with 853.

A couple of things to watch :

Note to those ( like me ) not familiar with plugins. When you upload site.xml you must do it from an folder that also contains the other elements of the zip that it came in e.g extract the contents of updateSite.zip to a folder and THEN upload site.xml.
You do not get an error message if the files referenced inside site.xml cannot be found e.g.

The ini setting cannot be changed via the console. You must edit the ini file manually - not sure why and it seems like an impediment to deployment.

 Admin Tips  Lotus  XPages 


Is your VMWare Workstation network really slow <solved> ?

Sean Cull  15 October 2011 18:37:40

My VMware desktop system has almost ground to a halt, replicating a 40MB database tot he virtual server was taking 1.5 hours.

I came across this post ( item 30 ) and now it takes seconds, basically turn off anything to do with Large Offloads and Jumbo Frames.

Image:Is your VMWare Workstation network really slow <solved> ?

 Dev Tips  Lotus 


Apache XPages Survey Applications

Sean Cull  15 October 2011 00:25:57

At FoCul we have been doing quite a bit of XPages work, The single biggest enabler for us has been the generosity of the Lotus community in posting Blogs, Open Source Projects and tutorials - we simply couldn't have done it without the community.

I work with an excellent developer called Andrew Champion. About 6 months ago we developed an XPages based web survey tool as a commercial product. We wrote it from scratch but it was inspired by the early XPage articles from John Mackay.

We are releasing three versions of the application :

A Pro version
A free Lite version
An Apache Open Source Version

You can see more on our web site , try a demo here and download a copy at OpenNTF.

Let us know what you think.







 Open Source  XPages  Survey Application  Lotus 


Our latest XPage project

Sean Cull  3 October 2011 07:53:21

Some of you may have seen me present on the ABB Risk Based Inspection System that FoCul have developed and maintained ABB over the last 10 years. It has been fantastically successful and has contributed over $3 million to efficiency savings for ABB and their customers.

ABB have recognised the additional benefits that XPages can bring and we are now working on a new version of the application. The reason for the move to XPages included :

> A much more modern look and feel
> The ability to bring customers in via a browser offering and still use local replicas
> Multilingual capabilities
> Configurable forms
> In-line charting
> Reduction in replication conflicts through using multiple data sources on forms

There are certainly some challenges along the way but it will be a great system and will give us some great things to blog about.

The XWork server announced by Ed Brill will also be a very useful tool in allowing ABB to deploy this product to their customers as intranet applications.

In the past exploratory discussions around the opportunity to do this kind of thing were always couched in vague terms and we had to work very hard not to confuse the line of business users with "virtual servers" and the dreaded PVU.

Now it is simple - yes absolutely Mr Customer, your customers can run this application platform on their site with no restrictions for about $2000 per year - it doesn't get much simpler than that.

p.s. thanks to the XPages team for speeding up XPages in the Notes Client in 8.5.3, the project wouldn't have flown without that.

 Lotus  XPages  FoCul  Business Value of Notes  XWork 


7 Steps to making the new XPages Wiki simpler ( about an hour )

Sean Cull  15 September 2011 19:03:39

The "new" XPages wiki on Openntf ( known as the Xpage Documentation Wiki ) has some useful improvements over the older version but the tailoring for its use in the IBM product Wikis has also made it more complicated. This is a very quick article showing how it can be simplified so that it is easier to use for general projects etc..

The end result



Image:7 Steps to making the new XPages Wiki simpler ( about an hour )

Step 1 - Hide the media gallery if you don't want it




Image:7 Steps to making the new XPages Wiki simpler ( about an hour )

Continue Reading "7 Steps to making the new XPages Wiki simpler ( about an hour )" »

 Admin Tips  Dev Tips  Lotus  XPages 


SNTT : Pulling Notes data into Excel via http / XML

Sean Cull  5 September 2011 22:51:45

Just a very quick tip to show how you can dynamically pull your latest Notes / Domino data into an Excel Spreadsheet.
Note that this method will only work for domino applications which do not require authentication

Basic Idea


In Excel go to Data and click on the Data and then "From Web" options

Image:SNTT : Pulling Notes data into Excel via http / XML

Next paste in the URL of your Domino XML feed ( more on that later )

Accept all of the options and your data will be added in a nicely formatted table.
The table is also given a name so that when you reference it from pivot charts etc.. the chart will always contain all of the data from the XML feed.

Creating the XML Feed

Continue Reading "SNTT : Pulling Notes data into Excel via http / XML" »

 Lotus  MS Office  Show-n-Tell Thursday 


Thank you to Tim Tripcony and the XCast and how XPages is going for me

Sean Cull  13 August 2011 20:59:38

During a recent XCast podcast Tim Tripcony said some very powerful stuff about how in the Lotus ( or whatever we are called ) community we all benefit from each others contributions via blogs, forums, LUGs etc..

Heres a short clip, I hope the guys don't mind. clip.mp3

I started this blog in 2009 because I felt that I needed to give back to the community for the great help that I have received in building my Notes skills, my company and providing for my family.

A large part of my less frequent blogging has been due to how successful XPages has been for myself and my colleagues. It has allowed us to take on new customers, to reinvigorate existing customers and to enjoy the excitement of learning a new skill and sharing the vibe in the community that new challenges create. It has been hectic and blogging had, until now, dropped off the list.

None of this success would have been possible without the tremendous contributions that the community has made in terms of showing each other what can be done with XPages - the Custom Controls competition has been a great example of that.

Tim ( and Paul's ) comments have reminded me of how much I have gained from the community blogs and how important it is that I continue to blog.

Another thing that has re-invigorated my energy to blog is IBMs decision to share the presentations form LS11. IBM do a great deal to support the community though OpenNTF but withholding very useful enabling information from their own developer community just rubbed me up the wrong way - I am not sure if that was a common or justified reaction but it was how I felt.

So going forward I will endeavour to ensure that our success with XPages does not get in the way of repaying my debt to the community by sharing what I have learnt along the way.

 Lotus  XPages 


Active Directory / Domino Authentication - easy but not easy enough

Sean Cull  16 July 2011 09:33:42

I have been working on a scheme to use Active Directory LDAP authentication for an XPages App. I posted about my early experiences with it here - everything seemed very promising but actually putting it into production has proved quite difficult. The scheme is based on dual entries in the AD Directory and the Domino Directory which are kept in sync by an agent. This is running on an XPages appliance with no day to day local IT involvement.

The difficulty comes from mapping user names from AD to Domino in a useful way.

A typical AD Distinguished Name looks like this CN=Sean Cull/OU=Users/OU=SiteA/OU=Resources/DC=acme-uk/DC=acme/DC=local

The directory assistance document allows you to map which AD field you want to use as the Notes Distinguished Name but you can only use an existing AD Attribute as opposed to constructing a mapping scheme e.g. name & "/OU=some OU"..... Effectively this means choosing one of the following :

CN=Sean Cull//OU=Users/OU=SiteA/OU=Resources/DC=acme-uk/DC=acme/DC=local
Sean Cull
CullS

Only the first option is acceptable because you can easily get two people with the same name but from different OUs.

Because Notes does not seem to regard the CN=xxx.....DC=acme  as a fully hierarchical name ( because of the DC element ? ) the abbreviated name function does not work although the Common Name does. In many of our applications we would display names in the format Sean Cull/FoCul to give some protection against people from different OUs having the same name - with Domino authentication we could do this by computing a display name from the full name.

To achieve the same thing with AD authentication we have to maintain a document which maps the actual username to a display name and a set of parallel fields on the forms for the real names and the display names.

This solution is manageable but it would be so much nicer to be able to map the AD name to a different name structure in the Domino NAB.

From the users perspective it is great though, they just log into the application with their usual name and password.

IT love it too because it is one less thing to worry about.

As solution providers we love it because it is one less barrier to getting appliance based XPage applications into non-domino shops or ex-domino shops.

 Active Directory  Admin Tips  Appliance  Lotus 


Be thankful for Notes / Domino backward compatibility

Sean Cull  18 June 2011 08:14:12

At one point about 6 years ago we had looked at developing part of the business around using opensource systems like Joomla for collaborative applications ( the push being a frustration with IBM licensing ). We set up some sites for local charities as a way of dipping our toe in the water.

All my spare time ( and more ) is now going into fixing these charity websites that we set up and support for free or for a nominal fee - its a bit of a nightmare really :-(  

The sites are on a version Joomla ( originally Mambo ) which is no longer compatible with the version of PHP that the web hosting provider has upgraded to and they have all fallen over.
Image:Be thankful for Notes / Domino backward compatibility

The learning that we took away fairly quickly ( and hence stayed with Domino ) was that managing the core opensource module and the different plugins connected to that module is very difficult, particularly where each project was bespoke

The key issues were : Continue Reading "Be thankful for Notes / Domino backward compatibility" »

 Lotus 


IBM’s XPages App Server Dilemma - a faster horse, a cash cow or a compelling new concept ?

Sean Cull  31 May 2011 07:00:00



"If I asked my customers what they wanted they would have said a faster horse" - Henry Ford

Introduction


I try to keep opinion out of this blog and stick to techie stuff but Ed Brill has tweeted encouraging more discussion on this topic so here goes.

In my world XPages has been the best thing to come to Notes / Domino since the product since embedded views were added. It has the potential to give Notes / Domino a new lease of life as an application development platform. In my opinion two things are holding it back. The first is a critical mass of developers and users. The second is an attractive licensing  model for ISVs and net new customers.

I think that IBM faces a dilemma with the new XPages Application server licence. The new licence will invariably lead to some organisations leaving the full Notes product and licensing for applications only - these companies have probably already moved to exchange for mail and are essentially taking notes maintenance just for applications. If the GBS Transformer product is successful this will add further organisations to this pool.

Conversely if IBM can fully tap into the potential of XPages with an attractive licence they can expand their licence sales to the point where the net benefit is positive and the future is brighter.

IBM is listening


I genuinely believe that IBM is listening very hard. Myself and some other Lotus advocates got talking on this issue at UKLUG and Ted Stanton very kindly fed our views back to Ed and his colleagues. The next day they phoned me to understand our concerns better. I put my thoughts to them in a note which was very similar to the views I am sharing below :

Background


I run FoCul which is a Notes / Domino development shop based in the UK. Our target market is the manufacturing sector and traditionally we have been restricted to working with manufacturing organisations who already ( wholeheartedly ) support  a Notes infrastructure. This market is rapidly shrinking in the UK.

Recently we have had some good success offering XPages Apps on virtual Domino Appliances to some ex Notes  ( no current maintenance ) and non Notes shops  and there is interest from more. We use an ASL Licence. The process to get this licence was difficult.

Every prospective customer we talk to already has a fully licensed .Net / SQL infrastructure and a SharePoint install of some kind. We believe our edge is primarily our industry knowledge / solutions and then, to a lesser extent, our choice of XPages as a solution platform - frankly we would have a much easier sell if we used .Net and made it seem like SharePoint ( as in a Ford is a much easier sell than a Lexus to most car owners ).

My opinion on the importance of an Application Server


This is the last chance for IBM to stop Domino disappearing as a supported development platform from all but a few large organisation sin the UK. This window of opportunity is rapidly closing. There are a number of schemes that IBM could adopt but at the extremes these are :

1) An initiative to make XPages "go viral". Free to small organisations or lightly loaded servers ( with no IBM support ) , attractive pricing, boost the pool of developers.

2) To treat XPages as a cash cow while IBM makes the most of the legacy curve that Notes / Domino is progressing along in the eyes of many CXO's.

Option 1) has been mooted for some time and has gained very little traction. I would be naive to think that it is easy to get anything to go viral and I know that there would be no marketing by IBM. There are other Community editions of IBM products and Microsoft apparently offers free SQL servers for smaller databases ( <10GB ). IBM also offers DB2 Express for free although it is hard to understand what the costs for Websphere Application Server Community Edition are.

I would love this to happen and in reality IBM gets little or no revenue from the 95% of companies in the UK that have less than 20 employees - yes that is a true statistic.

Option 2) must surely be tempting to IBM. An XPages appliance server would free some organisations of the handcuffs that keep them on Notes maintenance even though they have moved to Exchange for mail. A licence of say USD 50 per person might make it attractive for those companies to move Apps to XPages ( I have my doubts about Transformer but that's a whole different issue ) but a USD 50 per person charge levied on all users would kill a lot of possible projects - particularly where the users were customers of an organisation rather than employees.

As Vowe recently commented - If Henry Fords had asked his customers what they wanted they would have replied "a faster horse". Similarly I don't recall anyone in the yellowsphere asking for Workplace Component Designer to be re-badged as XPages and added to Domino.

IBM has shown that it can wow its customers with a compelling new concept rather than a faster horse.

A word of caution though, positioning the XPages application development platform as part of the bigger "Social" initiatives in IBM will not increase its perceived worth amongst my customer base.

What I want from an Application Server


Appliance based solution


I want to be able to provide appliance based solutions to organisations of all sizes where the pricing is about the numbers of people using the applications rather than the ultimate size of the legal entity.

Example : I want to be able to sell a 50 user application to "MegaCorp" and then hopefully sell the same solution again to other sites in MegaCorp
In reality each site will probably want their own appliance but if they wanted one central appliance I do not have a problem with the notion that multiple sells of our solution should also mean multiple sells of the underlying IBM platform.

While I have mentioned the number of users as being important I am not a fan of absolute per user pricing because I want as many users as possible to use our applications because that is what makes them sticky in the organisation - but - the design of the application means that the client will not want to try and use it for more than one site because they will deliberately want to silo those work processes and knowledge to keep them manageable => you will not get the case that MegaCorp will run everything globally through one instance of our application on a 100pvu IBM licence. Bands of users might be a solution i.e. 0 - 50, 50 - 100 etc..

The PVU thing is a real issue, per socket would seem better although I am not an expert on this ( and more to the point neither are my customers ).

I believe that 100 PVUs is adequate for most of our projects assuming a server instance per sell. Where multiple sells used the same server more power would result in more PVUs. Equally a limit on the number of application databases could also drive this additional sell to IBM.

The same solution as SAAS


I want to be able to do the above as SAAS
In our case we could manage with a separate server instance per customer but to be able to serve different customers on the same server instance ( multi tenanted ? ) would also be attractive - they have no access to the nab nor any need for it.

The above with a mixture existing Notes users ( fully licensed on maintenance ) and non notes users


I have several opportunities at the moment where we would like to propose an XPages stand-alone application to manage training records for an organisation where 75% of the users already have Notes licences. There is no prospect of the remaining 25% being put on Notes as they are production line workers.

I would like to be able to sell an appliance / XPages / browser based solution that covered 100% of the workforce ( about 500 people ). It would be useful if that appliance were allowed to replicate back to the existing enterprise servers so that the HR department could use the rich client to look at the data or for the 75% of users with Notes licences to use XPages in the client to work with the system.

The above with an RDBMS back end


When functionality to integrate XPages with RDBMS becomes available ( it has been suggested that something will appear on OpenNTF as part of the extension library ) it would be very useful to be able to bundle a simple RDBMS with the server. As a rule of thumb we will not use Notes if there are more than 100,000 records in a database. For something like a training history system we would like to use a RDBMS for the simple transactional data.

The above with no impediment to external users


The difference between internal and external users is becoming more and more blurred in business. I need the ability for customers to bring their customers an suppliers into  these processes in a simple way. At the same time it would be good to realise that organisations are not willing to pay a per head charge for large number of customers to be brought into their systems for simple tasks - yes I know these two things are a contradiction !

Integration into AD authentication


AD authentication will be the de facto authentication method for employees in white space projects. This needs to be included. I don't think TDI is relevant ( too complex ) but LDAP seems to work OK in the trials we have done.

Anonymous usage


All forms of licence need to allow this

XPages in the Client ( XPiNC)


Replication is still a key selling point for us but it is usually for a subset of the users. I believe that users with a full client licence should be able to use the same server for XPiNC.
I would also love an XPiNC client that was not Lotus Notes and did not have all the other stuff that you get with a Notes install - just an XPages run time.

Choice of OS


I absolutely understand that IBM will not offer support if we build the appliances on Ubuntu / CentOS but this should not be a licence constraint.

I don't think that Amazon EC2 is that useful in this space, the sizing bands are not a good fit with Domino ( in my opinion ) and there are cheaper alternatives.

The use of virtualised servers must be supported

The requirements imposed by sub capacity licensing are much too onerous and confusing

Thoughts on the mechanics of licensing


I would be very happy ( would very much prefer even ) to have limiting controls built into the server rather than written constraints in the written licence terms.

These could include concurrent users, named users, numbers of databases, size of databases, processors.

I am conscious that this brings its own problems as we saw when Ed looked at the artificial differences between express and enterprise.

What actually happens when a limit is met is also interesting - slowing the server down without a clear indication to the users of why it has been slowed could easily back fire.

My thoughts on each of the above

concurrent users :
A scheme whereby more users cannot log on until some have left
There would need to be a very clear explanation to the users
Developers may have to change apps to deal with this

named users :
I personally don't like charging per user because it adds bureaucracy and can prevent an application from reaching critical mass.
If the licence was relatively cheap then bands of users ( 0 - 10, 10 - 50 etc ) might work but I am still not keen

numbers of databases:
This could work but it would need to be built into the system as a real constraint rather than a terms of usage
We would typically have 3/4  databases per sell.
     The Application
     An Archive
     A reporting Tool
     Sometimes we also have a large object store

We are also asked for test and training environments which would mean another 1 or 2 sets of databases on that server associated with that single sell.
Need to watch out for things like temporary restores

Size of databases:
Apparently MS does this
Difficult one as things like the Full Text Index will affect it
Views alone can often take up 30 - 60 % of a database size - what happens if someone opens a view for the first time ?
How will users know that a limit has been reached ?
What is the warning mechanism as the threshold is approached ?

Power of server:
I think the whole PVU thing is mad but I can see that server power is important.
A socket based system ( like Websphere community edition ) would be OK but I would much rather have some internal server mechanism to throttle performance so that customers could use whatever hardware they chose to.
Any system needs to be applicable to virtual servers
I firmly believe that IBM should not restrict our ability to run servers on Ubuntu CentOS via licensing constraints - by all means refuse support but licensing should be separate.
The requirements imposed by sub capacity licensing are much too onerous and confusing

Your Thoughts


I am not sure how typical my point of view is. Please add your own comments below or contact Ed Brill with your views if this is important to you.

 Appliance  Lotus  Opinion  XPages