Microsoft has given software developers a lot to think about with Windows Phone 7. And at the company's yearly MIX conference this week, a lot of them were doing just that.
MIX focuses mainly on the Microsoft web platform, but Microsoft used it this year to go into much more detail about creating software for its radically redesigned mobile operating system. Based on conversations, most of the attendees looking at Windows Phone 7 are impressed with the new visual "face" of the operating system.
Some will plunge at once into Windows Phone 7 development, leveraging the release of free Express editions of the core Microsoft development tools, all now enabled for Windows Phone. Others, in both Microsoft and non-Microsoft development shops, have a more complex set of decisions to make. The fact that they're thinking about the decision at all is a victory for Microsoft's mobile ambitions.
Not all of these are enterprise-based or enterprise-focused developers. But their assessments and questions often reflect the same concerns and requirements of those who are. Their questions are part of the unfolding exploration of just what Microsoft is delivering, and not delivering, in the first release of the mobile platform.
On Monday, Microsoft announced that free Express versions of the latest iterations of its core development toolkits, enabled for Windows Phone applications, are available for download.
MIX10 attendees generally seemed impressed, even amazed, at what Microsoft achieved in the new UI layer for the mobile operating system.
"It's very new, and very nice," says Thomas Ribreau, project manager for Ave!Comics, an online marketplace for digital comics, based in Montpellier, France. "Microsoft has created a new way of to think [about mobile applications]. That's new to me, to see that in Microsoft."
The company evaluated Windows Mobile 6.5. "It was not smooth enough for us," Ribreau says. "The graphical functionalities were very very low." But Windows Phone 7 is causing Ribreau to rethink. "I think we can do something with it."
iPhone user Mark Tinderholt, a developer with Avanade, a systems integration joint-venture by Accenture and Microsoft, is struck by the Windows Phone 7's differentness from the iPhone UI. Avanade has done some big Windows Mobile deployments with a range of big private companies and public sector clients. One difference is Windows Phone's use of animation, movement and colour. "I had a visceral reaction to that," he says. "I just didn't like all the animation and movement. The iPhone is all column and row based. It's just different."
Another difference is the Windows Phone concept of "hubs." "It's very different from Apple," Tinderholt says. "The iPhone has discrete apps that do one thing. There's no integration." He has 35 applications on his own iPhone and he organises and administers them manually, with rather limited options. "Hubs integrate," he says. "They're a common place for similar activities. They give users a high level process or workflow view of the applications. It's more abstract. Whereas iPhone icons can be all over the place."
Both differences create opportunities for developers, Tinderholt says. But they also potentially create more complexity. "Windows Phone does open up opportunities for customisation. On the iPhone, you only have the [application] icon and you can set some indicators on it. Microsoft appears to be real flexible. But that creates a concern about it becoming a free-for-all."
Ave!Comics Ribreaux sees the other side of that coin: The Windows Phone development guidelines are strict. And that's good because it creates a consistent development environment. "Consistency is very nice," Ribreaux says.
"I think consistency will be a very big selling point for Windows Phone 7," agrees Piers Finlayson, product manager (and former coder dealing with human interfaces) with Metaswitch Networks. The company provides core software-based services for telecos and mobile operators, including visual voicemail systems that can be accessed from smartphones. Currently, Metaswitch supports iPhone, Android, and BlackBerry devices.
They're likely to add Windows Phone 7 if Finlayson's assessment is any guide. "I think it looks very impressive," he says. "It's crisp, clean and minimal. It will make for a much more cohesive user experience."
Metaswitch uses Microsoft Visual Studio, and Finlayson says the Windows Phone version of VS2010 and the latest version of Expression Blend "look extremely powerful" as development tools.
Windows Phone requires developers to work only with managed code, which executes in a Microsoft runtime environment, either Silverlight or, for games, XNA. Low-level, native code applications and direct access to the underlying operating system kernel are not permitted. For some developers, that's a problem.
"It's an easy way to develop things," says Mesut Yousseinof, R&D engineer with MobiTV, a software company that offers a managed service platform for multi-media delivery over wireless and broadband networks. "But, you're locked up to Silverlight." MobiTV has native applications, such as a media player written in C/C++ for Windows Mobile and Linux devices, and a version for iPhone. Such "generic" applications can run on multiple devices, he says. "It will be difficult to use this on Windows Phone 7," Yousseinof says.
He acknowledges that Silverlight is available on different operating system platforms. "But if you want full control of sockets or other low level functions, you have to go deeper [than what Silverlight allows]," he says.
Metaswitch doesn't use Silverlight, but Finlayson seemed unworried. "It would be nice if they had went toward a more standards-based approach, as Palm did with webOS, so I could [fully] reuse existing HTML and CSS code," he says. "But Silverlight doesn't look like a problem."
For Avanade's Tinderholt, and a lot of other enterprise developers, Silverlight is the opposite of a problem. "Being able to use Silverlight to build applications to target the desktop and now the phone is a big deal," he says. "Silverlight developers absolutely will try this." Tinderholt's already working on porting a Silverlight game he created over to Windows Phone. "It's just copy and paste," he says.
The decision is much more complicated for a non-Silverlight shop like Ave!Comics, whose e-commerce site is built on Adobe Air. For Ribreau, the critical issue will be what he calls the "war" between Adobe and Silverlight. Switching from one rich web platform to another is not a trivial issue. "For us, it's a very very big deal," he says.
On websites, Silverlight doesn't have the penetration of Adobe, though Microsoft touts some highly visible deployments, including the recent Winter Olympics, where Silverlight handled the vast amount of the Games' online video. Despite that, "Silverlight is not widely used on the web right now," Ribreau says.
Yet, he's impressed with Silverlight's performance especially in the about-to-be-released 4.0 version. "The speed of graphics is very good. [Adobe] Flash is not so fast," he says. In part that's due to Microsoft's increasing ability to exploit the underlying client graphics processing unit hardware through Windows. "We want to take advantage of the PC or client [processing] and Microsoft does this with hardware acceleration for Silverlight," Ribreau says.