n a recent interview with DevX, Alex Slawsby, research analyst for smart handheld devices at IDC, laid out a challenging roadmap for developers preparing to take the plunge into wireless development. “Developers have to be aware that unlike a PC environment with everyone running on Win2000 or XP, which is somewhat easily translatable, if you have different device types, different battery lives, different performance characteristics, it’s a radically different paradigm for development,” he said.
You’ll need to adjust your thinking to truly move forward with your wireless initiatives. Many aspects of your organization’s development environment that you take for granted?upgraded PC and laptop clients, common operating systems, five-nines reliability?become potentially confounding variables when you enter the fray of wireless development. Slawsby said, “Instead of being able to say ‘I’ve got XP on my PCs, XP on my laptops; everything is a PIII, 500MHz minimum, with a half a gig of RAM, so I can just plow away,’ [with wireless] solutions it’s much more a strategy where you have to build a very basic app that puts up a very small window with limited information to ensure that a broad range of devices can access it.”
Where as if you have a machine running an outdated OS that won’t allow a user to run an application you just wrote, you can simply upgrade that client and then deploy your application, in wireless development you have to bring the application down to the level of the client. “In some ways you have to get the lowest common denominator to ensure that the solution will work across a range of devices,” Slawsby explained. “You have to pick the lowest-end device you support and ensure your app works there, and then do what you have to do to make it support higher-capability devices.”
Even if you follow the lowest common denominator strategy, however, some case-by-case customization is inevitable “because each device will present you with a different set of capabilities,” said Slawsby. “Even if you write an app in Java, you’re still going to have to edit it and adapt it in different ways to make it succeed across devices. And [it] also has to be very reliable in the sense that the software has to be able to deal with different methods of connectivity, different bit rates, different size screens, different size resolutions, different display capabilities, and things like that.”
Write Once, Run Anywhere? Maybe Someday
How can you best overcome the multi-device hurdle in your organization? While he acknowledges that the write once, run anywhere concept is not yet reality, Slawsby said Java is “one the best ways to go right now.” Although a Java app written for a Palm device won’t run the same way on a PocketPC or Symbian device in many cases, according to Slawsby, “you can be sure that a lot of those products will be able to run Java. You can write an app and at least have a relatively easier progression from the way it runs on the initial device to having it run on a range of devices?without having to rewrite that code completely.”
Slawsby also stressed the importance of standards in easing the accommodation of multiple device types. He stated that standards are currently limited and still have a long way to go, but they can help get around the multi-device problem. One standard in particular, XML, shows promise for wireless platform independence. “If you stick with a standard like, say, XML,” he explained, “then you could develop an application in XML form and as long as the end client has access to a browser that can view XML, it doesn’t matter which carrier they’re on,” which device type it is, or which OS it’s running.
Asked which current wireless technology standards developers will encounter as they begin to build mobile apps, Slawsby listed a number he believes will be around for the long haul. “It’s pretty clear that the wireless standards are going to stay?Bluetooth and 802.11x will be there. The cellular frequencies will be there?GSM, GPRS, and CDMA will be the major ones. You’ll clearly see color screens. Expansion cards, secure digital cards, and multimedia cards have a lot of legs. I think CF (CompactFlash) will follow PC cards in terms of its use in mobile devices down the road. SD (Secure Digital Card) and MMC (MultiMediaCard) are quite strong.”
The Burden of Reliability
Beyond standardizing for greater ease of transferability, the issue of ensuring wireless application reliability is a challenging one because much of it is out of the developer’s control. It rests instead with wireless networks, which according to Slawsby, “are not nearly as good as they need to be to deliver the kind of reliability that’s traditionally expected.” He stated that “network stability and reliability is by far the toughest thing to deal with” in the wireless world.
Because developers can’t just throw up their hands and concede to unreliable service, Slawsby says developers have to pick up the slack. “There’s a greater dependence on the intelligence of the software or the solution itself to make up for the fact that wireless networks are not as reliable as one would like them to be,” said Slawsby.
He cited the need for wireless message acknowledgement in an SMS exchange as an example of this dependence. The developer needs to force the receiver, the network, or the solution itself to positively acknowledge that the message was received. If that received message is not acknowledged because of a dropped network connection, then the solution has be smart enough to wait a little bit and then reconnect. “The software itself has to be more intelligent and has to be more tolerant of a lack of total reliability,” he explained.
The Low-hanging Fruit of Wireless Development
So when you do get the call to develop wireless applications, which solutions will your organization most likely need you to build? Slawsby sees e-mail synchronization as the most obvious choice. He said, “E-mail is the low-hanging fruit?and it’s more broadly applicable than other solutions.” A solution that enables a user to have a single mailbox that they can view on their handheld, as well as on their PC or laptop, is a key mobile deployment.
Another solution Slawsby suggested is mobilizing traditionally paper-based processes, such as inputting data to a form or referencing data from a book. “These are tasks that can be mobilized rather easily and that a lot of companies can use, because many are relying on paper forms and reference books,” he said.
When’s the Wireless Revolution Coming?
To this point, only vertical enterprises have fully adopted wireless solutions. Companies such as SAP, Siebel, and PeopleSoft employ mobile devices for their customer relationship management (CRM) and sales force automation (SFA) solutions. However, unlike e-mail and paper-based processes, which are broadly applicable across nearly all enterprises, CRM and SFA are specialized concepts in which most enterprises don’t have a vested interest.
Identifying applications and real solutions in the enterprise that could leverage the capabilities presented by mobile solutions is a process most companies have yet to undertake, according to Slawsby. They have been?and will continue to be?slow to launch any wireless initiative unless the solution instantly demonstrates a savings of money or an improvement in employee or business-processes efficiency and productivity.
Slawsby does, however, see potential for a ubiquity of wireless devices in the enterprise several years down the road. A reality, he said, that might’ve happened sooner had “the economy and the market for information technology spending not slowed to a halt.”
|Alex Slawsby is a research analyst in International Data Corp.’s (IDC) Smart Handheld Devices program. Mr. Slawsby is primarily responsible for researching, analyzing, and forecasting Technology within the Smart Handheld Devices space. Reach him at [email protected]|
The Role of Call Data: How Call Tracking Can Improve Customer Experience
Who would argue that experiences reign supreme? But not just any experiences — the ones that occur when customers interact with your business. It’s these real-life interactions that have the
Data Observability Explained
Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the
Logitech G502 Software: Optimize and Customize Your Gear
One of the most significant surges of the 21st century is gaming. Gaming is more popular than ever before thanks to innovative new consoles, high-tech PC setups, mobile gaming improvements,
Different Types of Data Models Explained with Examples
In the modern world, data is everything and everywhere. With so much access to technology, data has become a valuable resource for any business. Albeit a complex one. Data is
Revolutionizing Search: A Glimpse Into Google’s Generative Experience
Google is revolutionizing the search experience as we know it with its latest generative experience. No longer will you be bound by the limitations of traditional keyword searching. Now, you
10 Productivity Hacks to Supercharge Your Business in 2023
Picture this: your team working seamlessly, completing tasks efficiently, and achieving goals with ease. Sounds like too good to be true? Not at all! With our productivity hacks, you can
GM Creates Open Source uProtocol and Invites Automakers to Adopt It: Revolutionizing Automotive Software Development.
General Motors (GM) recently announced its entry into the Eclipse Foundation. The Eclipse Foundation is a prominent open-source software foundation. In addition, GMC announced its contribution of “uProtocol” to facilitate
What is Metadata?
What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular
What We Should Expect from Cell Phone Tech in the Near Future
The earliest cell phones included boxy designs full of buttons and antennas, and they only made calls. Needless to say, we’ve come a long way from those classic brick phones
The Best Mechanical Keyboards For Programmers: Where To Find Them
When it comes to programming, a good mechanical keyboard can make all the difference. Naturally, you would want one of the best mechanical keyboards for programmers. But with so many
The Digital Panopticon: Is Big Brother Always Watching Us Online?
In the age of digital transformation, the internet has become a ubiquitous part of our lives. From socializing, shopping, and learning to more sensitive activities such as banking and healthcare,
Embracing Change: How AI Is Revolutionizing the Developer’s Role
The world of software development is changing drastically with the introduction of Artificial Intelligence and Machine Learning technologies. In the past, software developers were in charge of the entire development