Mobile Enabling Your Notes Apps with IDMA - Your Questions Answered

By Brian Arnold

In the first half of 2018, IBM and HCL announced that they were working on a special mobile application codenamed “Nomad” which they claimed would allow your existing IBM Notes & Domino applications to work “without any code changes on Apple iPads.” In the second half of 2018 they delivered a series of beta versions to select clients and business partners. On April 22, 2019 IBM announced that the IBM Domino Mobile Apps iOS application was publicly available for installation on Apple iPads. If you have not yet seen the new IBM Domino Mobile Apps (IDMA) application then it is well worth the download to see what all of the hype is about.

I’ve been receiving a lot of questions from both other staff members and our clients on what I think about the new IDMA offering:

  • What’s it like?

  • Does it actually work?

  • Have you tried using Notes databases with it?

  • Is it worth installing?

  • Are there any “gotchas”?

The list of questions goes on and on. Within this blog post I hope to answer most if not all of your questions.

The installation process of the IDMA client is as simple as you would hope. Simply open the Apple AppStore on your iPad, search for “IBM Domino Mobile Apps” and install the program (here’s a direct link in case you’re reading this post on your iPad).

It does require that your iPad is running a minimum of iOS 11.4 so check that out before trying to install.

Once installed, you will see that it does indeed look like a mobile version of an IBM Notes client, albeit simplified for use on an iPad. You won’t find all of the familiar menu items that you are used to, instead it has the minimum functionality needed to connect to an IBM Domino server, open your databases and even replicate them to your iPad. When I first connected to our IBM Domino server and opened some databases I was immediately impressed with the presentation of the interfaces. They look and feel just like what I experience in my IBM Notes client.

Here are the two environments side by side showing the same database:

As you can see, the user interface for each client is very similar. Items that you would normally use your mouse to click on are all now touch enabled (e.g. action bar buttons, twisties in views, etc). For the most part you should see all of your existing functionality working in the IDMA client.

I have to admit that I was skeptical that an existing IBM Notes database would “just work” in the IDMA client as they promised. Many of us who have been developing with IBM Domino over many years have heard this before. If my memory is correct I believe that was the entire premise behind the release of the Lotus Notes server V4.5 when Domino was a server plugin and they promised the “Write Once, Run Everywhere” methodology would work with existing Lotus Notes databases way back in 1997.

Well this time they got that right (or at least 90% of it :))

Like any program working across different operating systems, there will be some loss of functionality. In the same way that LotusScript referencing Microsoft Windows DLLs will not work in the MacOS version of the IBM Notes client, you should already expect to run into those same complications with the IDMA client.

But here’s the thing; it’s a LOT easier to locate and change the areas in your Notes database that don’t work the same than to completely rewrite your code in another language, even if it’s still in the Domino database.

The key question for you to consider is: would you rather do some research and remediate your existing code to accommodate usage in the IDMA client or completely re-write it in XPages with the Mobile Custom Controls? Which option do you think would take less time, effort and money? I think we all know the answer to that.

2. Error Message.png

When we were provided the beta for the IDMA client, my first task was to test out a series of Notes databases that I knew would fail. These were Notes databases with a lot of integration into external systems, Microsoft Office integration and general usage of Microsoft Windows DLL files. As suspected the areas that contained this functionality failed. In the beta version, the IDMA client would crash, in the now GA version I receive a proper message stating what is not supported.

So, in reality you won’t need to make any changes to your IBM Notes database designs to get them running on the IDMA client, although your users may get annoyed if they keep seeing the above error message.

A much better approach would be to do your homework so that you understand what will NOT work on the IDMA client and then either get it to work, or at a very minimum “hide” the functionality when it is being used in the IDMA client.

Hiding the functionality is pretty straight forward. Let’s say you have an action bar button in a view that creates a Microsoft Excel spreadsheet from the information in the view. This of course is not going to work in the IDMA client, but it’s easy to hide. Simply use the following @Formula in the Hide When formula for the action bar button:

@Platform=”iOS”

That’s it. Really!

The iPad reports back its operating system as “iOS” when you use the @Platform formula call and the LotusScript call “session.Platform” also returns “iOS”. Simply apply a condition around the code that you know does not run on an iOS device and then you’ve at least made the IDMA client experience a little smoother for your end users.

But how do you know what will and will not work? Well you can go through a series of trial-and-error tests to see what fails, or you can rely on what we at Teamstudio have already done, which is testing all @Formula and LotusScript methods to see what doesn’t work.

In March of 2019 we released a new set of Upgrade Filters for IBM Domino 10 and Mobile. With these filters you can easily check your IBM Notes database for compatibility issues when used in the IDMA client. Best of all, we are offering these filters for free! Check out the blog post where we announced the availability of the new Upgrade Filter pack here.

If you want to know what is included in the Upgrade Filters and where we found the most areas where code did not work we also created a blog post which discusses these items in more detail and also explains how to use the Upgrade Filters. Here’s a link to that post as well.

All in all, I have been incredibly impressed with the functionality and amazed at the performance within the IDMA client. Having converted a number of IBM Notes databases into mobile ready versions (using XPages, Cordova, Xamarin and other development platforms) I truly wish this was available years ago. It would have saved a tonne (or ton) of time, effort and frustration!