When I first started working with mobile devices, I made the mistake of thinking of them as very small computers. I mean, they have memory and a processor, and they run software—which sure sounds like a computer. But, as we learned from the movie Monty Python and the Holy Grail, very small rocks don’t float. Likewise, these very small devices aren’t really computers. They are the instruments of evil.
Network? Not work!
One thing I’ve been working on is finding a way to access mobile devices remotely, to make it easier to test mobile apps on a variety of devices. It would be nice if every tester didn’t need four tablets and six phones on his or her desk, and if we could put them in a secured lab instead. This would also cut down on the mess of USB cables I try to strangle myself with a few times a week. Unfortunately, mobile devices use wireless, which is less than ideal for computers that need to be permanently available. A wired connection is a lot more reliable, but last I checked phones typically don’t come with an Ethernet port! Granted, you can purchase a micro USB-to-Ethernet adapter for a reasonable price these days, but now how do you charge the battery? And this is why mobile devices are evil. How many computers make you choose between network and power?
Portability or poor ability?
The second reason mobile devices are evil is portability. Many people assume that creating cross-platform apps is no more complicated than swapping out the nozzles on a bicycle pump. It’s not. HTML has been around for more than twenty years, and we still can’t get websites to render consistently in Chrome, Firefox, Internet Explorer and Safari. For mobile, we’re dealing with multiple hardware platforms, different operating systems (OS), manufacturer-specific OS customizations, carrier-specific OS customizations and wildly varying screen sizes. Yet customers (and my boss …) expect any app to run on any phone or tablet. Contributing to this evil conspiracy is the blur between native apps and web apps. Web apps are cross-platform by nature (browser differences notwithstanding), and if one type of app works, why not the other? Products like IBM Worklight have really taken the pain out of creating cross-platform apps, but, at the same time, they have also raised the bar.
Level with me
The third reason mobile devices are evil is the lack of control over software versions, especially at the OS level. This is a much bigger problem for Android than it is for iOS, but the issue affects both. For consumers, the OS level is rarely a consideration, especially given the short life span of a mobile device. But for business and industrial applications, this can be a real problem. Many companies are slowly replacing dedicated devices for capturing signatures, diagnosing alarm systems and checking cable connections with tablets. Tablets are significantly cheaper and far more versatile, but they are not as stable. An upgrade to the OS or an app could cripple a critical function, and that gets expensive really quickly. A five-year-old deprived of Angry Birds can ruin your weekend, but imagine what would happen if you had 1,200 telephone installers idling for a day while the IT department rolled back an update. Of course, this problem isn’t unique to mobile devices. Computers running UNIX, Windows, z/OS and so on have similar exposures. But they don’t force you to replace the entire OS at once, with mass updates to drivers and system applications. Another complication is that the market for such specific applications is quite small, which means developers cannot afford to test them on every platform and OS version.
Fighting over the remote
The final reason mobile devices are the domain of He Who Must Not Be Named is the lack of remote access. Telnet, VNC, Remote Desktop, just about every platform has at least half a dozen ways to avoid having to physically touch the machine in order to use it. But not so with these wretched devices, at least not without rooting or jailbreaking them. Despite all the advances we’ve made through the Internet, cloud computing, broadband and virtual private networks, we’re right back in the Dark Ages with these shiny boxes of misery.
And that brings us to what’s perhaps the most insidious aspect of mobile devices. We’re so busy trying to solve Bring Your Own Device (BYOD) and securing enterprise data that we often forget the basics. The current mobile architecture and software delivery model works great for consumers but is not very friendly for creating business software. It’s time we exorcised these demons!
These are some of my frustrations with mobile devices. What unexpected mobile challenges have you encountered? Leave a comment or contact me on Twitter @baspluim.
Bas is an IBM Redbooks thought leader