Nokia Looks to Jumpstart Enterprise Mobile
Nokia wants to break down some of the long-standing impediments to mobile development for the enterprise. Integration Develoepr News spoke with execs from Nokia's developer tools and community programs to find out why 2004-05 might finally be the year enterprise devs can start thinking seriously about mobile.
Nokia is putting programs and people in place that may finally begin to break down some of the long-standing logjams that have plagued mobile development for the enterprise.
In the wake of its latest reorg, Nokia is bringing new energies to its mobile developers' efforts, including programs to provide:
- Better multi-device developer platform capabilities to reduce time and cost of mobile development;
- Speedier certification; and
- A deeper level of developer/ISV community.
Nokia's Mobile Dev Efforts for the Enterprise
Even though Nokia execs readily admit that consumer mobile (specifically mobile gaming) is still where the action (and money) is for mobile developers, they see signs that enterprise mobile is gaining steam.
"Until very recently, mobile devices came into the enterprise over the transom. Various users would buy their handheld or cell phone on their own, and then bring it into work and use it for work, " said D'Arcy Salzmann, senior manager for Nokia's Product & Partner Management (who is responsible for Nokia's tools initiatives and tools partnerships).
"Today, however," Salzmann added, "that's starting to change," as IT managers are being flooded with ad hoc users of Blackberries, Palms and cell phones with browsers. Even though Nokia is not a software company, Salzmann said Nokia recently decided "we need to try to keep pace with this in terms of how we build and deliver development tools and platforms."
Nokia's "keeping pace" is taking several forms, Salzmann told IDN including:
- Cross-platform developer platforms for easier development;
- Unified testing criteria to eliminate the need for multiple certifications; and
- Deeper relationship building with system integrators, CxcO and developers.
As Salzmann see it, the long-standing challenge for mobile developers is a lot like the challenges facing enterprise developers in the early '80s, before the standardization of the PC. "There are too many competing platforms that are too different from one another, and so each project often became a specialized project, and that meant all sorts of developers and CIOs had to build business cases on how to justify their ROI," he explained.
But, mobile devices, particularly cell phones, are starting to evolve into standard platforms, Salzmann said.
He told IDN that Nokia design engineers are speeding that commonality across platforms by designing their mobile developer platforms, tools and SDKs to work across multiple units in the same Nokia product family -- Series 60 or Series 80/90, for instance.
While the base-level Series 40 Nokia handset offers developers "a flavor of programmable format" (via MidP 1.0 and MidP2.0), MidP is not fully suited to an enterprise developer's needs. "MidP 2.0 is tolerable to program some very basic things in," Salzmann said, "but it really won't meet the needs of an enterprise developer who wants to do more than build an app that allows some kind of measurement to be taken, and send that measurement to some sort of application server ."
He suggested enterprise developers would be better served to investigate Nokia's Series 80 and Series 90 SmartPhones, which support Java and SymbianOS, and also support third-party development tools that support VB and Visual Studio.NET (from AppForge).
Salzmann explained the shift from painful development to not-so-painful development this way:
"In the past, a new terminal would come out, and we would add or subtract APIs and build an SDK for that terminal. The next time a new handset came out, we would revise it again. That meant the developer had to identify the terminal he was interested in, find the specific SDK for that terminal, and then code or recode to that terminal," Salzmann said.
"And even after all that one-off work, a developer couldn't even get "a strong guarantee that the application would work on other devices in the same family, or even upgrades of the device, at least not without retesting," he added.
Nokia has made some "significant improvements" in this developer area, Salzmann said, noting that Nokia is aiming to "make the mobile platform more predictable and easier to work with."
"With Nokia's latest 'developer platform' approach, a developer can go to the website, pull down an SDK, say for Series 60 developer platform 2.0, and be confident that his application will work on all Nokia terminals that use that iteration of the Nokia developer platform," Salzmann said. "We've become more predictable to developers."
Nokia is also working on more ease-of-use techniques, Salzmann said, partnering with companies such as Sun and Borland to "build development support" for mobile developers, including templates, wizards, skeleton applications and even predefined connectivity to the database.
Further, the company wants to better integrate traditional IDEs with mobile development tools. Just Earlier this year, Nokia and Borland released a C++ Mobile Edition plug-in for Borland's C++Builder IDE, which offers a RAD framework built in for Nokia's Series 60, which powers the Nokia 6600, 7650 and several other terminals..
Unified Mobile Certification
But the matrix of mobile complexity goes beyond tools, Lee Epting, Nokia's Vice President for Developer Operations, told IDN.
"Mobile hasn't ever been write once, deploy on all," Epting, a veteran of Palm and Handspring," said. "The nature of mobile development is that you have customization in the functional and style dimensions that are requirements that create differentiation, through different keyboard layouts, different screen sizes, different implementations." All of these developers absolutely need to know, and that, she added, can be very confusing.
So, as Epting sees it, the complexity that has dogged the progress of enterprise mobile involves an entire end-to-end picture of mobile -- from design, development, testing, certification and deployment.
Epting's job, as head of Forum Nokia, is to cut away at this complexity on many fronts. A key to reducing complexity, Epting said, "is to go out and strike up key relationships with system integrators, ISVs, middleware players and server vendors. There are many components we need to align in order to put together the end-to-end solution."
One of her latest successes is with mobile app certification -- the creation for a common testing initiative that removes the requirement for developers and ISVs to get their application tested by multiple parties.
"With Sun and many other Java terminal manufacturers, we launched a Java-certified program for developers which gives them one set of [common] criteria to test to. This takes care of about 80% of the common criteria for testing," Epting said, adding that Nokia is working on a similar streamlined certification program for Symbian applications.
[While at this time, Nokia has no plans to directly support Microsoft's .NET Compact Framework, the company is working with AppForge, which provides a development environment for VB and Visual Studio.NET developers to target Nokia devices.]
"Developers had raised their voice," Epting said. "They were clearly getting frustrated by the number of different testing initiatives they would have to go through," and, as she paints the picture, it's amazing any enterprise mobile apps have been built at all.
"It used to be," Epting explained further," a developer would go though a Nokia OK program and then go to an operator to sell that solution, but the operator would say 'Hey, that's great that you got that Nokia OK program, but here we have our own program, so you need to go do that.' And then they would go to an independent vendor like Handango, and they would say, 'Well, we have our own program.'" This [multiple certification approach] just became more exasperating and more expensive for developers," she said.
"Forum Nokia was the key driver of the common testing initiatives," Epting said. "Other groups have been involved, of course, but the makeup of the Forum Nokia program is coming directly from developer feedback, as well as our operators and licensee partners who are also concerned about the issue."
What's Next for Enterprise Mobile -- 2005 and Beyond
Epting and Salzmann readily admit there is more to do to truly make mobile development an attractive investment for CxOs and a rich career option for developers. Here's an overview of some of the places Nokia says need improvements: management, code portability and even more mobile-friendly Java among them:
Further SDK Portability
Salzman said he wants to push Nokia's SDK portability beyond the current state of a developer platform for a Nokia Series family. He wants to make mobile development even easier across all Nokia cell-phones, making it look and feel to developers a lot more like building x86 Windows apps.
"Where I'd like us to get over time is much more toward essentially a common set of APIs implemented across most of our native platforms," Salzmann said. "Over time we would provide a small intermediary [software] layer on the device that would interpret core functions, like the need to insert a drop down box or radio button, so that the exact code that's needed to implement that is masked from the developer. Salzmann said his vision would not extend to non-Nokia devices, but said the company is working with ISVs such as AppForge to bring VB/Visual Studio.NET development capabilities to Nokia phones.
Mobile Java Needs Improvement
While Nokia's enterprise-caliber devices support Java, Salzmann said Java is still not ready for many mobile developers. "Today, the Java that's on these devices is of less utility to the enterprise that wants to make use Java on a mobile device that it could be," Salzmann conceded. "I think over the next 12 months, you'll see the Java environment on these devices will mature to a level that enterprise developers will be able to develop front-end clients to their back-end applications that they can deploy much more akin to how they build clients."
Salzmann said Nokia is looking at Java Server Pages and Java Server Faces technologies, as well as some others now in JSR stage at the JCP (Java Community Process). "The real challenge in [mobile] tools is that the hardware in the phone business evolves at a much more rapid pace than in the enterprise client or server markets," Salzmann said. "So we tend to wait for the platform to stabilize before we introduce solutions to the developer, because we don't want to force them to use a platform that will be outdated."
The Make-Up of an Enterprise Mobile App
We asked Salzmann to describe the prototypical enterprise mobile app. Will it be a loosely coupled client connected to the back end? Will it be a self-sufficient device that simply ties into the back end as needed? Or something in between? Salzmann said the market, which includes vendors, end users and developers, is still working that out. For now, though, his best guide is to look at how processing power and connectivity changed the nature of the PC desktop from the 1980s to the 1990s.
"Historically, if you build an enterprise application that takes advantage of the processing power of the device, you've built a lot of app logic into the terminal," Salzmann said. "I think you'll find web services growing over time so there is a measure of more distributed computing occurring. The [back-end] data networks are so robust you can have applications that interact with a back end much more fluidly than they were able to in the past."
"I don't see the handset becoming an ultimate thin client," Salzmann said, "in part because the nuances of being mobile mean that you may phase in and out of radio coverage, so there has to be a local ability to manipulate your data offline, [enabled by] local storage and such." But, he said, "I do see a much stronger role for web services built into the application, and that means the client will have an opportunity to depend the data network in a way that it hasn't in the past."
Better Mobile Management Needed
Salzmann said that CIOs have another concern beyond the time and cost of building a mobile application, and that's managing that application. He compares today's mobile management nightmares to the early days of Java. "My background is as one of the earliest users of enterprise Java," Salzmann said. "Long before there was a J2EE, there was bunch of us trying to cobble [enterprise-caliber Java] together, and it was a painful experience." The scenario is much the same today for managing mobile apps, he added.
"Device management is absolutely important," Salzmann said. "It's a critical thing to assure IS managers that their device can be controlled in a way that the rest of their infrastructure can be controlled." All told, Salzmann said, IT management needs the capability to treat a mobile device as an endpoint that can be updated, manipulated and shut off (or turned back on), as circumstances arise. "An IS manager has to be comfortable so that when a user calls in and tells him, 'I've lost my phone,' that manager can disable the phone or delete the data that might be on that device."
Mobile Patterns Needed
"I think it's still pretty early for mobile patterns or best practices, especially for the developer building a J2EE back-end app and potentially with thin clients or J2SE clients; today there's still a gap if they want to take this down to mobile devices," Salzmann said.
He expects, however, some "interesting developments" within 12 months will make it much less of a hurdle for enterprise deevelopers to mobilize their existing applications. "We'd like to see mobile just be one more 'channel' for his software," Salzmann added.
The Changing Profile of Mobile App
Promises More Attractive ROIs
All told, Epting and Salzmann say the changing mobile ecosystem will soon set the stage for all types of developer imagination, and that it will get a lot easier for developers and designers to take their ideas from whiteboard to prototype to deployment.
They say the changes in hardware and developer platforms complement the increased interest in mobile from system integrators, the network operators and major tools companies like Borland, Sun -- and Microsoft.
"It's not just up to the mobile device maker anymore," Salzmann said. "Although we're taking steps to improve the developer experience, we now have quite a few more interested parties than just a few years ago," he said. "That will make a lot of difference in the amount of change and how quickly we can make it" for mobile developers, he added.
Salzmann offered a hands-on insight to make his point: "Not long ago, our enterprise-grade device was the Nokia 9200 Series Communicator, which had a hinged back and full keyboard. That terminal had no high-speed data connection; it simply had data over GSM," he said.
As a result, the typical enterprise application for the 9200 would more resemble a PDA app than a truly mobile application that would rely on communication. Salzmann described the workings of a typical application as follows: Set your device into a cradle connected to your PC or network, download a subset of your data, manipulate your data and resynch it up when you got back to the office, then resend it back to your PC or host. "You wouldn't really be designing applications for true mobile capabilities" where you were connecting to the Internet or your host, he said.
Now, the profile is changing, Salzmann explained. "For instance, the other day I heard about a medical app that uses cell phones to enter blood sugar readings and sends those via a data connection to a central server in the hospital network to keep track of 25-50K outpatients," Salzmann said.
"Now you're doing data collection, but not dependent on data from the host, actually generated from the field, and sent from the field back to the enterprise. It's a much different application, with an easier-to-justify ROI."