Making Sense of the Microsoft UI Roadmap
During a heavily attended session at Visual Studio Live! 2013 Las Vegas last week, Brian Noyes attempted to clear up some of the confusion about where developers should focus their efforts in the crowded field of Microsoft technologies. Noyes, a Microsoft regional director and MVP, and CTO and architect at Solliance, counseled that developers should primarily consider their users and those users' needs when choosing a technology path.
"Don't be focused on the technology first," Noyes said. "Technology is a means to an end. Figure out what your apps needs, who your users are, what your requirements are, and then start trying to align that with what the technologies are best for."
Noyes' talk was titled "Demystifying the Microsoft UI Technology Roadmap," and the packed room and number of audience questions showed that many Microsoft devs are searching for direction. Noyes fielded questions about the viability of Silverlight and Windows Presentation Foundation (WPF), the changing mobile landscape, Windows 8 style guidelines and more. Guidance for the mobile space was of particular concern: When Noyes asked how many attendees have current or near-future requirements to build apps for tablets or phones, more than half the audience raised their hands.
"Mobile is the wildcard in all this," Noyes said, explaining that friction is to be expected when moving or redesigning traditionally desktop-based line-of-business (LOB) apps to mobile devices.
Noyes gave a general breakdown of which Microsoft technologies are best for which scenarios. For traditional, content-focused enterprise LOB apps, Noyes suggested focusing on the Modern UI style or WinRT for Windows 8 apps. For small and midsize businesses (SMBs), he noted that Bring Your Own Device (BYOD) scenarios will be more common, and those scenarios will be best served with rich HTML for multiple platforms. For their traditional desktop apps, Noyes added, SMBs should focus on WPF. For businesses supporting tablets and other devices with touch interaction, Noyes suggested focusing on WinRT. He also recommended branching out of the Microsoft stack if needed, and "using the native client platform to provide good UX" -- iOS for Apple products, Java for Android and HTML5 for browser clients. But these recommendations came with a caveat: Noyes said that in the Microsoft tech roadmap, there's no single "best" path.
"The key thing for people to understand is that there is no silver bullet out there," Noyes cautioned. "The UI technology landscape is a confusing morass of overlapping capabilities and you really have to have a good understanding of your user and deployment scenarios, as well as your development team's technology biases, to be able to select the right technology for your application."
Asked why it's so difficult to select a technology path, Noyes responded: "Microsoft's perspective, and the product teams' perspectives, is that they want you all to be happy. Wherever you are today, they want you to be happy and have a path forward. That's why there are so many choices [out] there."
The best thing developers can do, Noyes said, is protect themselves from the number of technology choices -- and the pace of change among those choices -- by trying "to design in such a way [that you] don't paint yourself into a box."
He continued: "Don't put logic on the client side unless you have to. Put things behind the service boundary...You can't think just in terms of the UI. Even if you don't have current requirements to be on tablets and mobile devices, pretend you do. [And] designing for the cloud as your back-end, to the extent possible, is going to make your life easier."
Posted by Katrina Carrasco on 04/01/2013