2013 Challenges for Developers, Part I: Mobile and Cloud
In 2013, life for developers is going to get interesting, say industry watchers -- which sounds great until you remember that old (purportedly) Chinese curse. Living in "interesting times" is likely to prove challenging to hard-working codederos.
Dana Gardner, president and principal analyst for Interarbor Solutions (and a must-read blogger) sees 2013 as the time for developers to make strategic bets on both mobile and cloud, but he also advises caution.
"Sorting out the Web-vs-native development equation (and how to best target the most devices) gets trickier in 2013," he said. "Selling software as native apps is costly and high-stakes. Web-only is lower in costs and may get better adoption, but with really low margins, usually. The bottom line is that developers need to be better at forward-looking business development and micro-economics, no matter how good they are at their coding crafts."
If you want to see where this particular debate is headed, Gardner said, keep your eyes on current trends in game development. He points to cross-platform PC-based virtual environments with cloud services, such as Steam, vs. proprietary consoles, or more pure SaaS games, such as Minecraft.
While you're sorting out "Web-vs-native," you're also going to have to think carefully about picking cloud partners, both in terms of the technology and the relationship, Gardner said. Start by asking yourself a lot of questions.
"PaaS strategies and making the right choices about them have huge implications for next five years," Gardner said. "Losing control to a PaaS may be advantageous in economic and risk terms, but it's still a big bet. Are there ways to hedge? Should a multi-PaaS approach hold for the near term? If tools and IDEs are nearly the same, what not chose a multi-PaaS approach? Write once, PaaS anywhere? Will enterprises also go for multiple sources on PaaS or pick one? Developers should have a say in these decisions, as ISVs and as enterprise dev players."
"The good news," Gardner added, "is that CIOs and enterprise strategists are sorting this out too, and a developer with strong insights can rise quickly by reducing uncertainty and bringing clarity to the planning process. So developers should raise their hands and be heard, not sit back and wait for the dictates from above at this dynamic stage in the business."
Randy Heffner, vice president and principal analyst at Forrester Research, is a leading expert on architectures and design approaches to building enterprise applications (and another blogger worth reading). He agrees that 2013 will a big year for developers defining their mobile strategies, but he argues that those decisions need to be made within the context of "cross-channel interaction."
"It is easy to be all about getting a mobile app out there and to forget that what your customers and employees really need is to be effective across mobile, Web, voice, e-mail, social, and other channels," Heffner said. "Even if today's challenge is focused on mobile, if you don't consider how today's mobile app will, in the future, grow to be cross-channel, you're building in significant rework."
Heffner goes into this point in detail in his November 2012 report, "Use a Reference Architecture to Speed Cross-Channel Digital Experience Delivery."
Heffner also believes that finding a new way to think about integration is going to be a critical developer challenge in 2013.
"The old mindset for integration is that its purpose is to connect and reconcile among siloed applications," he said. "When you add to this the proliferation of integration technologies and patterns (SOA, BPM, CEP, business rules, etc.), you start adding technology silos on top of the application silos. What we need is an integrated view that focuses on the real goal of business technology: building an effective, agile business. Rather than putting siloed applications at the center of the design model, we need to put the design of our business at the center.
Heffner calls this idea "digital business design," and he blogs on the topic here.
Al Hilwa, program director for IDC's application development software research, believes that the biggest challenge facing developers in 2013 boils down to effective navigation of their platform choices.
"The world is quickly shifting to one where applications, both on the client and the server, have many choices of platforms competing for developer affectations," Hilwa said. "For applications targeting consumers, and even for those targeting enterprises in the age of BYOD, choices have to be made about which platforms to support and which to leave behind or defer until a later time. For each of the major platforms, like iOS or Android, the developers are aware that their potential users are making selections between ecosystems of content and services, and so they must make choices that are similar to target those users. Once a platform is chosen, then decisions have to be made about whether to approach the application development with native tools or with Web tools targeting mobile browsers, where much of the code can be leveraged for supporting other platforms."
"However, targeting HTML5 involves compromises in functionality and performance that also require careful navigation," he added. "On back-end platforms, developers have to choose cloud services, whether to operate on IaaS and spin their own machines or whether to use more curated models which support certain programming languages in a more intimate fashion. Fundamentally, 2013 is a year of developer choices to an even greater degree than any other which preceded it, and with these choices come a lot of anguish and agonizing."
Hilwa's latest research reports are available on the IDC Web site.
Mike Gualtieri, principal analyst at Forrester Research (and no-nonsense blogger), offers a succinct New Year's recommendation for developers:
"Write a mobile app already," he said. "You gotta have mobile app development on your resume. Even if it just means you downloaded the Android SDK or Apple Xcode and hacked out a test app. Carve out a Saturday afternoon and just do it. That's all the time it will take if you are already a pro Java, C# or C++ developer. Now you can talk with some authority about mobile app development because your next job will probably depend on it."
Posted by John K. Waters on 01/07/2013 at 10:53 AM