A comment from one of our PocketBible 4 beta testers got me thinking about the nature of what we do and what users complain about. I’ve expressed this with respect to the iPhone but I haven’t put it into a larger context that might help people understand what software designers are up against when we implement a solution, regardless of the platform. These issues are especially true of the mobile device market but the same ideas apply to the desktop and other general-purpose computing platforms.
If you start from the beginning, you find a user with a problem. It might be: “How do I take my contact database with me?” or “How can I work on my spreadsheets on the train?” or “How can I browse the Web when I’m away from my computer?”. Hardware companies like Sony, Apple, HP, and HTC get together with software companies like Microsoft and whatever Palm is calling itself today and come up with a device and operating system software that address those problems. In the course of doing so, they create a way for third parties (that’s us) to create software for their new device/OS platform.
By the time we consumer software companies (independent software vendors or ISVs) get our hands on these products, we’re no longer solving the original customer problem. Instead, we’re programming for a device, and the device is solving the problem. When we program for a device we have certain limitations imposed by the hardware and software. The screen is only so big. There may or may not be a keyboard. There may or may not be much memory. There may or may not be good internet connectivity. The tools provided by the OS software developer may not be very powerful. There are a host of these limitations, and we have no control over them. It is the sandbox in which we have to play if we’re going to play at all.
We might have solved the customer’s original problem differently. But that’s water under the bridge. We can only operate within the limitations of the platform.
Some of the limitations imposed on us are not necessarily firmly fixed in hardware. They might be user interface standards that are intended to give the user a common UI experience as he or she moves from application to application on the device. So we all put scrollbars on the right even though lefties might like them on the left. Menus, buttons, toolbars, etc. are generally drawn from a common source so they all look the same and are sized and placed the same in all applications.
Obeying the philosophical limitations is just as important as obeying the hardware limitations, even though the former is not as rigidly enforced. Depending on the platform, a device from another manufacturer might expect you to have followed the rules. It may implement new features, which, as long as you’ve followed the rules, fit seamlessly into your existing program with no changes. So it’s to our advantage (and by extension, our customers’ advantage) for us to play within all the rules.
So what does this all mean? It means that when you have an iPhone, you don’t have a clipboard. It’s not the case that iPocketBible doesn’t have a clipboard, it’s that your iPhone doesn’t have a clipboard. As of right now, it means that you depend on Internet access because all your third-party apps are Web-based. It’s not that Laridian screwed up by only providing a Web-based application for your iPhone, it’s that Apple screwed up by not supporting native, third-party apps right out of the box.
It means if you have a Nokia phone you can’t tell if software is going to run on it because it doesn’t tell you anywhere what version of the operating system you’re running. Yes, if you’re an expert user you already know you have an S60 or whatever, but the average person who reads the Bible and bought a Nokia phone “because it’s blue” isn’t going to be able to tell whether a particular piece of software will run on the phone or not.
It means that if you have a Pocket PC, it’s hard to operate programs with your fingers instead of a stylus. The buttons are too small, the keyboard input methods are too dumb, and many of the controls are simply impossible to operate with something as big as a man-sized finger. It doesn’t mean that PocketBible is hard to operate with your fingertip, it means that Microsoft expects you to use a stylus and designed their device that way.
Sure, we could make our buttons really big and give you all kinds of flexibility for defining how the d-pad buttons work with our program, but eventually you’re going to have to type a note on that little software keyboard that pops up at the bottom of the screen, or select an option from a little combo box or menu, or try to tap on just one Strong’s number in a sea of blue underlined links. We can’t do enough to overcome the limitations imposed on us by the underlying software and hardware, for which we have no responsibility.
It’s fairly common for people to complain to the wrong party about these things. Since we’re the last link in the OEM – OS – ISV chain, we get blamed for a lot of the problems of our software running on these devices — problems that actually are the result of limitations dictated to us by those who came before us. So if you have fat fingers or you don’t have WiFi at your church, I’m afraid we can’t help you. Someone else stuck you with a bad solution before we got to you. The best we can do is create software that works well on the platform you’ve chosen. Whether that platform is right for you is a decision you have to make, and one that the OEMs and OS developers are more responsible for than we are.
On Pocket PCs, Smartphones and Windows Mobile
One of the more common questions that we receive related to our mobile PocketBible product line is this: “I have a Windows PDA, but how do I know if it is a Pocket PC or a Smartphone?” This can be especially confusing because some Pocket PCs are also phones, and the marketing names for these devices has changed several times over the last few years. These various devices have been referred to as Windows CE, Palm-size PCs, Handheld PCs, Handheld PC Professionals, Handheld PC 2000s, Pocket PCs, Pocket PC 2002, Smartphones, Smartphone 2002, Pocket PC 2003, Pocket PC 2003 second edition, Smartphone 2003 and now Windows Mobile Classic, Standard, and Professional. Whew. You can understand how some one might be confused. (And I might have even left out a few names!)
While all Windows Mobile devices use a version of the Windows Mobile operating system, there are significant differences between the various classification of devices (Classic, Standard, Professional).
Both the Classic and the Professional devices include a touch-sensitive screen. The Professional device also includes a phone. The Windows Mobile Standard device is also a phone, but does not include a touch-sensitive screen. We tend to call the former devices Pocket PCs and the latter devices Smartphones.
So, how do you know what kind of Windows Mobile device you have? Take this simple quiz:
Prior to our recent release of PocketBible 4 for Windows Mobile, we packaged our PocketBible program in a Pocket PC version and in a separate Smartphone version. As noted above, it wasn’t uncommon to receive questions about whether a particular device was a Pocket PC or a Smartphone. It also wasn’t uncommon to have someone buy the Smartphone version, but really need the Pocket PC version. While this was easily corrected by contacting our technical support department, it wasn’t always convenient.
However, now with the release of PocketBible 4 for Windows Mobile, we have packaged a version of PocketBible designed for the touch-sensitive screen models (Pocket PC, Classic, Professional) along with a version of PocketBible designed for the non-touch-sensitive screen models (Smartphone, Standard). Our setup program will then determine which version to install to your device based on the information about itself that the device supplies to ActiveSync or the Mobile Device Center. While the features between these two versions of PocketBible differ (since the devices themselves are very different), the PocketBible setup program will now automatically determine the correct version of PocketBible to install.
You will still see some of our products referred to as “for Pocket PC”. This simply indicates that that program is available only for the Pocket PC (aka Windows Mobile Classic and Windows Mobile Professional) devices, and not for Smartphones (aka Windows Mobile Standard).
And as time goes on, you may even find that I refer to these handheld computers less and less as Pocket PCs or Smartphones, and more and more by their new name du jour!