Monthly Archives: February 2013

A story about a mobile “app”

In October 2012 we participated in a local exhibition. The exhibition was targeted at the consumer market – so why did we get a booth??? Well, we decided that at least some of the more than 170 other exhibitors were potential customers to our products and services. Many exhibitors were small companies like ourselves – and they may not (yet) have realised that they needed or products  8-).

You can scan this code (or click the image) to open the mobile app

We decided that the best way to communicate what we do was to develop a small “Exhibition app”. The idea was to create a web page acting as a mobile app. Then we printed a short sign for each booth with a QR-code that visitors could scan to jump straight into that exhibitor’s contact information, special exhibition discounts, draws, etc.

At the entrances to the exhibition halls and in central passages we placed general signs with a QR-code for the “main page” of the app and a short description of how to scan such codes. An lastly, we had our young employee run around with a T-shirt with a large QR-code on his chest, the so called “QR boy”. And on all the signs (and the back of the QR boy) we pointed people in our direction if they needed help. Ready, set, go!

So how did it go? Well, maybe we are just too far out in the country side – anyway there were not too many people who used the system. However, some did. And it was funny to see that the differences were not related to e.g. age. Some of the “grey gold” were totally up to date with the newest phones and only need few directions (or none) to use the system. We found that it was a major challenge to encourage the other exhibitors to contact us with their details (web page, mail address, draws, special discounts, links to social media, etc.) prior to the exhibition. So we used the opportunity to send two of our employees out to talk to our co-exhibitors, tell them about the solution and in most cases get their details back which we then updated right away. In the end the system was used less than we hoped, however, it gave easy access to talk to the other exhibitors – and it was an easy way to communicate what we do.

Now to the technical part. The whole idea of creating this solution was to show others what we can do. Secondly, it was a good task to give ourselves to get some more experience on using the new XPages tools in Lotus Domino combined with the mobile controsl in the Extension Library (in the form of update 1 to the Domino server).

Messe-app på iPhoneTherefore, we started out with a traditional XPage with mobile controls. It could work… However, there were some problems. As mentioned there was 170+ exhibitors. So providing a list of all exhibitors and a button to present the “next 10” really did not make in reality. The obvious choice was then to create a type-ahead function and allow the user to start typing the name of the exhibitor or the number of the boot. Great idea, but… in reality we found several problems with the approach. Even sitting on a local area network next to the server it was slow. Not a good start. Even worse – sometimes (every 2-4th time) the type-ahead just stopped working. Really bad!

After several different angles had been tested, we gave up. We through away all the code we had created and re-coded the thing in jQuery Mobile (disabling all the Dojo that automatically comes with XPages). And that worked a lot better. We now read all exhibitors’ names and did the type-ahead on the device. This is slow (but acceptable – and faster than the original approach) on an iPhone 4. But on an iPhone 4S it was really fast! And as an added bonus we found it easier to create a common visual layout for several platforms when using jQuery Mobile.

There are still a couple of lessons to be learned from this experiment:

  • In the real world you really have to consider bad network coverage. In an exhibition area there are many people at the same time giving only little bandwith while the signal on its own may be fine
  • You should cache heavily (that is a subject of its own)
  • You should minimize the number of requests to the server – and the amount of data that you need to transfer

Feel free to have a look at the app if you are interested. You can open it on the address: (or by scanning the QR-code above with your phone)

Starting a blog….

This is the first step into writing about things that matter – to me! I will mainly write about XPages development and developing mobile solutions since this is what I do the most. Læs mere