Microsoft recently launched its Windows Phone App Studio. It’s a simple tool that takes you from nothing to a working app in four steps. It took me less than 10 minutes to build a basic CITEworld app from the site’s RSS feed using one of App Studio’s standard templates. It’s not quite as easy to use as IFTTT, but it’s a lot easier than starting with a blank text editor.
Building an app with Windows Phone App Studio starts with signing in to the site. Once you're logged in, Microsoft gives you a selection of templates to get you started, or you can just start with a blank app. You’ll start by giving it a name, a description, and a 160 x 160 pixel logo (it turned out that designing a logo took a lot longer than assembling our app!). As I knew what I was planning to do with my test app, I chose the option of building a blank app, which gave me the option of adding my choice of data sources and content pages to my app.
Like an Access or FileMaker app, Windows Phone App Studio Apps use data connections to build apps around a master/detail view model. You can connect to a feed (either RSS or from YouTube or Flickr), or use the app to host your own content – and of course mix and match content from various sources, using different connections in different sections of your app. Along with feeds, there are three ways to host your own content in an app, as HTML formatted pages compiled into your code, or using simple databases Microsoft calls “collections”.
Collections are an interesting concept, giving you a simple table structure for your information; though currently there’s no way of uploading data from existing sources. Data you don’t expect to change can be compiled into an app, giving you a quick way of rendering data driven content (you’ll just need to publish a new version each time the data changes). Alternatively you can use dynamic data, which is hosted by the Windows Phone App Studio service, and loaded when a user opens your app. The same tool used to create data collections is used to update dynamic data.
I hooked my test app to the CITEworld RSS feed. All I needed was the feed URL, and the App Studio automatically created a screen that would display a list of recent articles, and a second screen to show detailed information about an article. I could choose from several different layouts for the two screens, with live data from the feeds showing me just what my app was doing. Once I was satisfied with my screen layout I could tweak colors, and compile my app.
Installing apps is easy, thanks to Windows Phone’s built-in QR code support. First you need to install a certificate on your phone – and that’s handled by a QR code that downloads the certificate straight to your phone. Another QR code installs the app on your phone, while you can share your app with other users – as long as they have their own Windows Phone App Studio accounts.
It’s clear that Windows Phone App studio is designed for BYODev scenarios, when the app you want is needed quickly, and without taking part in the full application development lifecycle – though the ability to download source code also means that you can also use the service to prototype apps, before handing your code over to a development team to add the final finishing touches, and connect to internal data sources rather than App Studio’s cloud-hosted collections.
Building our own app wasn’t all plain sailing, as the RSS parser used by the App Studio had issues with the format of the RSS feed generated by the site. That could have been a disaster, as it meant that article summary text wasn’t being displayed – and like most cloud-hosted development tools, the opportunity for effective debugging is limited by the wizard-like nature of the App Studio.
That’s one reason why Microsoft lets you download your app’s source code, ready for use with Visual Studio. It’s packaged as a Visual Studio project, and can be imported straight into a desktop IDE, ready for debugging. Debugging the app with a local device simulator quickly shows the problem – an embedded image at the start of the description field of the feed meant the feed content was being deleted. A quick change to the code, and the app worked as expected.
As well as simplifying debugging, access to source code also makes it easier to customize the generated code, either by tweaking screen layouts, or by changing the underlying data connection to a private source. The generated code is commented, and as it uses a common development design pattern when generating apps, it’s a lot easier to understand just how each piece of code works and how it can be changed to fit your needs.
One thing’s clear about tools like these: they’re not designed to build complex applications. They’re like the plastic model kits we built as kids: all the pieces are there, you just have to put them together and apply a coat of paint. As you get more skilled, like those plastic aircraft, you can start to customize your code, and use it to build more complex apps. What you get with tools like Windows Phone App Studio is the programming equivalent of that kit of plastic parts: a framework that delivers basic content driven applications, working with RSS feeds, web content, and local content bundled into the app.
Of course that kit’s not going to be everything you want for a business application, no matter how simple. But that’s not the point, the generated code gives you a framework which you can build on, as well as the instant gratification of a simple application that’s app store-ready, and can be shared directly with members of a workgroup with an email. If you’re going to get started developing your own apps, then this is a very good place to start.