A friend of mine recently bought a HTC HD2, the extra large touch screen Windows Mobile 6.5 phone. He loves it, it’s great for movies and the mobile web, thanks to Opera and other apps built in to the Sense UI.
A friend of his gave him a memory card with a load of programs on it. Whilst on the tube, my friend went through the list and selected a few to install, things like extra dictionaries, radios and the like. By the time he had reached his stop, he couldn’t make phone calls directly from the contacts list, and by the time he was at his front door, text in SMS messages was ten times larger than normal.
This is an issue for “open” operating systems, and especially true for constrained mobile OSs that rely on a small number of core classes. These can have fundamental settings overridden by apps which appear quite innocent at first, but have ramifications across the device if programmed improperly. That’s just the start; all sorts of things can go wrong including the potential for malicious apps to quietly access all of your data and e-mail it to anyone it wishes.
OS makers have now learnt their lessons, sandboxing apps and allowing for limited communication between services using registered links and restricted APIs. This ‘closed’ solution hasn’t limited developers as many expected, most have simply found ways around the solution, often coming up with innovative and novel methods, working with the strengths of the device instead of against each other.
My friend has learnt his lesson too. He’s reset the phone to factory settings and is building the application library up one at a time from trusted sources. He’ll know better next time.