MarkerMetro is the world's first 100% Windows Apps agency, and Guest Editor Ben Gracewood is their Metro Practice Lead. Ben has a long history of developing with Microsoft, speaks at TechEd as well as User Groups, is a former Windows Phone MVP, and has worked with many of New Zealand's top companies.
People often ask us what developing for Windows Phone is like. I tell them it’s simple: building applications for Windows Phone is the most productive development work I’ve ever engaged in. The combination of the limited scope of mobile applications and the frankly fantastic Microsoft development tools allows us create working apps in an incredibly short amount of time.
However, at Marker Metro we have a single-minded focus on quality apps, and that’s where we take our time. From the initial wireframes, through visual design and development: we obsess over individual pixels and milliseconds. While we can indeed slap an app together in record time, we’ve been known to obsess for hours over the way a list loads on screen, and can go as far as implementing deliberate delays in our code so that initial results are presented immediately to the user.
The availability of open source frameworks also makes our development process extremely efficient. Frameworks like Hammock and RestSharp for REST API communications; and Caliburn Micro or MVVM Light for data binding and dependency injection. We also rely on third party controls from Telerik for controls that aren’t available natively in Windows Phone. All of these frameworks are top-notch, and help speed development without getting in the way.
When we started to put together our first Windows 8 applications, we opted to build using XAML and C#, continuing with the toolset we know and love from Windows Phone. The familiarity helped us hugely, and we’ve been rolling out Windows 8 apps at an almost unbelievable pace. In cases where we are building Windows 8 versions of our phone apps, we’ve been able to lift large parts of the logic code across and compile it with minimal changes. The Visual Studio 11 betas also work seamlessly with our existing Team Foundation source control system.
On the design front, while XAML syntax is common across Windows Phone and Windows 8, we’ve chosen to redesign from scratch. This is because the larger screens and horizontal scrolling on Windows 8 need a different treatment from Phone. Additionally, features built-in to Windows 8 allow us to remove entire components from our apps. For example the search charm means we no longer need to have search input boxes anywhere in our apps. Likewise the share charm means we barely need to think about Twitter or Facebook integration: we can rely on other apps to share for us, and just pass off the relevant text or link.
Windows 8 gives us so much more than Windows Phone in a lot of places. Some of these are the obvious things that come with developing for bigger devices: larger screens, more memory, and faster disks. Others benefits come from the additions to XAML that come with Windows 8: template selectors being a big one, making it much easier to do things like “hero” item layouts on hubs. The virtualized lists and GridViews are also fantastic, making it simple to pull pages from web APIs as the user scrolls a long list, only when they are needed.
It hasn’t all been plain sailing. We’ve had some early struggles with the fact that our favourite frameworks either haven’t been ported to Windows 8, or don’t work properly. Having said that, we’re finding framework developers are porting pretty quickly, and we look forward to the 3rd party control vendors making our lives easier in the near future.
Overall, as Windows Phone developers, our experience with Windows 8 development has been spectacular. Sure, you could say a similar platform has existed for years with WPF and Silverlight, but XAML really shines when combined with the Windows 8 platform, charms, and App Market. We can build quality apps extremely quickly, and we can’t wait to release them so users can see what we’ve been up to.