I had a potential customer ask me yesterday if we could build mobile apps. Apparently they had just spent a lot of money on an app that would allow them to collect data in the field, but it did not integrate with any of their shipment data or POS sales data to complete the picture for their field personnel. This company also did not have the resources to build any kind of custom app from scratch themselves. So, if you are thinking about taking this feat on, let me break it down for you in a few high level steps.
There are many scenarios that you can walk down, but I am going to walk down two specifically: Custom app vs. MicroStrategy mobile app.
Scenario 1 – Building a custom app from scratch.
First off, you are going to need a good overview on iOS development. Try here for starters. When you go down this road, you are going to need a Mac to do your development on. You will also need a developer account with Apple to be able to publish the app. If you want to be backwards compatible, you may need more than one Mac to test on, as the XCode environment is tied to the OS (from what I can tell). You also will need an iPad or two, or three for testing. If you want to support iPhones, you will need some of those. What about the version of iOS? We are currently on 9.x. Do you want to support 8.x as well? While there are testers for some of this in xCode, if you want to make sure your app works across all of these environments I think it is a good idea to develop a test plan on actual HW so that your app isn’t flakey.
On your app side, you are going to be writing a lot of Objective C code to run the app, but you are also going to need a service in the background to dish out data and be the backend for the app. I doubt you would want the app to connect directly to your database. This service should also handle secure logins, passwords, user management, resetting a user password – all of the plumbing that will enable a user to mange the app, their account, and themselves. It also needs to grab data from the data warehouse and package it back to the app. You might need to compress it to make the app more faster.
Now, once you’ve climbed through all of that, you get to manage change management coming from user feature requests, from corporate, from bugs. You get to roll out new versions, craft a test plan to make sure it all remains backwards compatible with older versions of iOS, across all apple devices. To keep up, you may have to juggle a roadmap with multiple versions in play at various lifecycle stages – or in other words, you may be performing user acceptance testing on version 2.5 while you are working on publishing version 2.4 to the app store, as well as scoping changes to version 3.0 to be released next quarter.
I would not say any of this is rocket science, but it can grow to be quite an undertaking if you want to do it right. Wait – where is your Andriod app at? Corporate CFO has an android and wants his version for his phone. Where do you start for that? Now, remember that app that you thrashed in the comments because it was so buggy last week? Feeling even the least bit sorry for that company if this is one or two people trying to keep up with all of this?
Scenario 2 – MicroStrategy Mobile
Now that your head is spinning from trying to develop and support a custom app, there is a bright side to all of this – MicroStrategy Mobile. There are lots of other platforms, and this article could go on for days, but we have direct experience in MicroStrategy Mobile so we will give a glimpse of this one to compare and contrast.
First off – you will need a MicroStrategy environment. This of course is not free – you will need to get an enterprise license for this and each user will need a license. Second – you will need to develop your data objects. This also is not for the faint of heart. Most companies do all of this because they want slick reports, dashboards, and gorgeous data visualizations., regardless of mobile or not. This is pretty much MicroStrategy’s bread and butter. It handles all of the service back end, scheduling, report automation, security, throttling, and presentation. You just need to get your data into a data warehouse. There are lots of strategies for BI – but, if you go down the MicroStrategy route, then you inherit a Mobile strategy second to none.
All of the reports you built for your monday morning dashboard can translate directly into a mobile app with just a small amount of effort. There is no source code you need to master. MicroStrategy can handle much of the iOS compatibility and hardware testing. It’s almost like a buy one, get one free. You get enterprise class reporting along with enterprise class mobile.
MicroStrategy also has transaction services, which allows you to input data on the iPad. Need to capture store shelf quantity, or survey questions? No problem. It can capture data alongside all of your enterprise data warehouse metrics for a complete, 360 degree dashboard. It can show images, take pictures, capture data, report data, drill into your data, visualize your data in graphs and charts. You can build an entire customer service app – just in MicroStrategy – with your company icon and logo.
Now, if you just needed a mobile app, is this the easier route? Depends on how you look at it. There is probably equal amount of effort getting both scenarios up to speed. I won’t lie and say that MicroStrategy is easy. The payoff comes downstream when you need to support your app. If someone requests changes to your app, you can make a change to your MicroStrategy dashboard inside of MicroStrategy – without needing to recompile, test, and publish your app to the Apple app store. This change, depending on the significance, could literally take you 2 minutes to log in and change something minor. Want to roll out a version of this app for a new customer? Copy, paste, and change the logo – again, maybe a 10 minute change. Because of the object oriented development nature of MicroStrategy, each dashboard will inherit all of the building blocks in the foundation you build. So if you formatted a date wrong, you go change the date attribute. All of your reports, dashboards, and mobile apps then inherit the change – no need to touch them.
Hours or days – not weeks or months. No objective C code to maintain. No API service backend to maintain.
80% of what you build in MicroStrategy is reusable. This is not the case with Tableau, Qlikview, SSRS, Crystal Reports, or custom ASP.NET portals. This is why we lead with a MicroStrategy solution. If we build a customer a neat dashboard to be consumed in a web browser, and the CFO determines they want it on their iPad, we just have to copy, paste, and then do a little resizing so it fits nicely and viola – instant mobile app. Maybe less than a day’s work. If you are building a custom app from scratch – where is your git repository hosted at again?
If your organization could benefit from a BI platform to deliver reporting,dashboards, and data discovery – and also needs a mobile app strategy – then this seems like a no brainer to me. Even if you think it might be useful down the road, then having a combined strategy for BI and mobile makes sense. If you go down the road of separate BI and mobile, then you are eventually going to have to join them up, and it will be twice the support at that point. Twice the cost and twice the fun.
Please contact us today to see how we can help you with your mobile app and BI challenges.