A recent article asked the question, is Windows 8 app development a burden or a breeze? Instin’s answer is: it’s a breeze!
This is our story of going from zero lines of code and zero knowledge of how we build a Windows 8 app to being in the Windows 8 store in 2 weeks.
When we were first approached by Microsoft to build myHomework for the Windows 8 store earlier this year, we weren’t too jazzed by the idea. Our immediate reactions were:
- It’s Windows. None of us have a machine that runs Windows these days. We haven’t used Visual Studio in years.
- While Apple has been great to/for us, Android has often been a headache. Can we risk even more device-specific support issues by tackling a 3rd platform with our 3 person company?
- Is this worth our time or should we wait and see if the Windows 8 store takes off?
We decided to move on to other things we felt were more important at the time.
Over the course of the summer, however, we liked much of what we saw coming out of Microsoft. From Windows 8 previews to the unveiling of the Surface tablet, Microsoft was not only seeing the light on the importance of touch devices, they were also bringing some new ideas to the table. Great UI/UX and app discoverability are extremely important today and Windows 8 certainly has both.
Towards the end of the summer some folks at the KC area Microsoft office invited us in to talk some more about Windows 8 and why bringing myHomework to their store was a good move. We came out of that meeting further impressed by Windows 8 on touch devices, but more importantly the quality of the people we were working with at Microsoft and the attention to detail they were putting on apps that enter their store. Shortly after that meeting, we entered into their BizSpark program, which among other things gives selected startups and students free access to tools like Visual Studio. We were also able to find some loaner PC’s to develop on, though Rigo later figured out how to be productive on a Windows 8 VM for his Mac (hint: more RAM!)
We didn’t go straight to work on the Windows app. We had other projects we were in the middle of, so it was mostly just Rigo spending time on Basecamp with a designer from a design firm we were given access to for a few weeks.
On September 13th our Microsoft contact sent us an email reminding us of our October 1st deadline for submitting our app to the store with a chance of getting featured. To that, our CEO Keith Entzeroth responded with: “We’ll be there :)”. That was great, except for the fact that we hadn’t completed a Windows 8 Hello World tutorial, let alone written a line of code for the actual app! Luckily, we had a few things going for us:
- A well understood app that we’d already written for the web, iOS and Android, with many lessons learned along the way.
- A little bit of talent. #humblebrag
- The ability to work on nothing but the app for 2 weeks.
Keith felt the same way. Unlike other HTML/CSS/JS toolkits or frameworks we’ve tried for Android, this one’s actually supported and recommended by the platform itself.
The next Monday I started working on the app full time, Keith joined in on Tuesday and after wrapping up some iOS work, Rigo joined in on Wednesday.
Splitting up the work was fairly easy, as we’ve quickly built websites and apps several times before and know each other’s strengths and weaknesses. I tackled the local storage/retrieval, API calls, Facebook sign-in and Windows search. Keith handled the user input flows, integration with Google analytics and sharing. Rigo did the Windows 8 tailored visual design, navigation, grid/list/detail/snapped views, zooming and he made the images and code changes to support different resolutions and orientations.
After the first week we had a working app that had much of the functionality we wanted to build, but didn’t look great. The second week was spent fixing bugs, implementing some of the windows specific features and improving the look & feel.
On October 1st we submitted myHomework for Windows 1.0.0, which was approved and available for download a few days later. While there’s still quite a few features and more Windows 8 goodness we want to bake into the app, we’re pleased with that first version. We had a blast working together in a HTML+JS+CSS environment we’re extremely comfortable in for a platform we think our users will really like.
Besides the docs and example code, we liked:
- Visual studio’s tablet/touch simulator. We especially liked the inspector, which felt like our normal web development work.
- The async approach built into much of their toolkit was well done and easy to implement things in the background.
- It was easy to break pieces of the app into different HTML, JS and CSS files to keep the code clean, much like we would when building a website.
- We had several questions pop up during development. Our forum posts were responded to quickly and Microsoft moderation helped make the best answers stand out. Our contacts at Microsoft were also extremely helpful during those two weeks.
Of course, we do have a few nit-picks:
- The options for data storage are limited right now. There’s no built-in core data or sqlite to work with, so we ended up with in-memory data backed by a JSON file. We’re happy with how it turned out, but having a framework-supported local database would’ve been a nice option to explore.
- There are some HTML5 concepts they make windows specific, such as using a WinJS.UI.DatePicker instead of a type=date HTML5 input. Further, the date picker doesn’t support optional dates. That means you either need to roll your own date picker or you have to default some kind of date in there, even if there isn’t a great default date for your use case. We had to change our UI to account for this, which makes entering those dates require an extra tap. Hopefully that DatePicker enhancement gets added soon!
- There’s a few quirks in their list and grid views that took us a while to figure out, so better documentation and examples could help other Windows 8 newbies out.
All in all, we had a great experience writing our first Windows 8 app.
On touch devices, Windows 8 is very slick. We’d argue Windows 8 tablets offer a better user experience than the current iPad, something we wouldn’t have expected to say a few months ago. The questions that remain are: will they price Surface competitive with the iPad and will enough developers bring the apps users love to the Windows 8 store? From our experience developing on the platform, we think the answer to the second question is an emphatic YES!
You can look for more blog posts from us on our Windows 8 development experience. Rigo plans to talk about designing for Windows 8 and Keith will be talking about how he integrated Google analytics into our app.