UPDATE: See also the review of the Documentum Mobile App here.
I have been playing for a while with the idea of tablet (read iPad) enterprise application development. We have some custom solutions on top of EMC Documentum and others which could benefit from such applications. One of them is being built as we speak, but I’m not going to talk about it here. I’ll talk about a second one.
In the past we have built some mobile friendly UIs but I was eager to refresh that experience.
So, when the opportunity rose, we took it.
Who and why asked for it? The obvious use case: top management which needs a streamlined user interface to some important business actions it needs to take while being mobile.
The full blown solution being made on top of xCP (aka TaskSpace/BPM on EMC Documentum) so we had some possible ways of addressing this: wait until EMC provides an iPad version of TaskSpace or build it ourselves. Waiting is not exactly the strong point of management and also not our way of working. So.. let’s build it.
At this moment I have to thank the EMC Community for making available the Travel App with Mobile UI xCellerator. This provided 2 things: a reference point for us in building what we needed and also raised the customer confidence in our proposed approach.
How it went? Since we still have some work to do in order to polish it (yes, we strive to perfection :)) here are some notes:
– accessing Documentum to get the needed information is straighforward (then again, we do have over 7 years of experience with it)
– deciding what to do is complicated. This is where the xCellerator helped – it’s a very good point to start
– building the UI is the thing which takes the most part of your effort (think about 80%). because you need to create a truly good mobile experience, not just a web app
– if your BPM and xForms contain a lot of custom/complex logic then you need to work on it to make it ok on the mobile also (since the mobile UI is actually a completely sepparated web app)
– we used DQL for most processing since going to the DFC/DFS APIs were a bit too slow for what we needed
– we have built our own REST services to be called by the Sencha based UI
Also, please consider that there are multiple ways to build an application for iPad:
- You can build a native one (eg. iOS),
- You can build a web app which is optimized for mobile devices or
- You can build a web app which uses javscript magic to respond to “touch” gestures (eg. use Sencha Touch)
The advantages and disadvantages are obvious but I want to point one in particular: any framework has limitations. Especially new ones. Which will make you work more than expected sometimes to reach a particular design goal.
Also, since your enterprise app probably has a lot of business logic inside which can’t always be described with the ootb BPM toolset, you will have custom code. When building the mobile app you will need to reuse that code. When you started building the solution you probably did not think about the fancy mobile UI you’ll make later. And deadlines did not help either. So, you’ll need to refactor some code and isolate the implementation better so you can reuse it in both apps (BPM/TaskSpace/xForms and your great app).
And please call in a web designer. Enterprise software looks usually lame, building a mobile UI experience gives you the opportunity to make it sexy.