Back in 2000, native apps meant Windows apps. Microsoft built a great set of tools (Visual Basic, Visual Studio) to build Windows apps. Hundreds of thousands of developers were trained on these tools. IT deployed Windows apps to endpoints (desktops and laptops) that they owned. And IT managed the applications with ESD tools (Altiris, SCCM, etc.).
Even in this simple world with one platform, lots of trained developers, and enterprise-owned endpoints, IT still struggled to deploy and manage applications with ESD. I have heard many IT Directors tell me that ESD tools worked 80% of the time. So when they deployed an app, it was correctly installed on 80% of the desktops/laptops. This was a big problem – if you had 10,000 users, then some random 2000 of those users did not get the apps properly installed. IT would then spend days, sometimes weeks, resolving these problems.
I see problems in all three stages with today’s native apps:
(a) Tools: In today’s native world, there are far more endpoint platforms – iOS, Mac, Windows 7, Windows 7, Android (all of its versions), Blackberry, etc. Where are the cross-platform tools that simplify the job of developing across multiple platforms?
(b) Developers: There are very few developers who are trained to build across any one of these platforms, let alone cross-platform. None of the existing cross-platform tools has a critical mass of trained developers? Will there ever be one like all the tools for Windows or Web development?
(c) Management: These native apps have to be deployed onto endpoints that the user owns, not IT. What are the odds that in this chaotic, heterogenous environments the equivalent of ESD – MDM tools – will work any better? Will MAM tools allow similar cross-platform control of these apps?
I can see how the ISVs, SaaS vendors, etc. will hire developers to build cross platform native apps. But will the challenges IT will have in managing these apps on many heterogenous employee owned devices create a backlash against native apps? Or will IT simply give up and stop trying to control these apps?
I don’t see how enterprise IT can successfully build custom native apps like they have been building Windows and Web apps for the last two decades. Too many obstacles of tools and lack of trained developers.