Over the last month we have been putting together a research project on Windows 8 development. Specifically we focused on trying to figure out how dynamic and engaging a Metro App built using HTML5 can really be. Along with that thought experiment, we also wanted to use this opportunity to understand what it will take to write good, manageable, maintainable software on this platform.
With these goals in mind, we set out to create a great user story to put context around our exercise. We worked with our BI group and came up with a tablet BI Dashboard concept. We worked through the concept, trying to leverage the best of what Microsoft’s “Metro” design language had to offer and worked closely with SlingRock to create a great visual design. End to end, we created a great UI prototype and learned a whole lot about developing Metro apps using HTML5 and the new WinJS framework.
Over the next several weeks I will be taking all of the incredibly useful patterns and concepts we learned during this process and sharing them in this series of blog posts. I’ll try to cover everything from our UI design process to the nitty gritty of how we integrated D3.js for visualizations, created dynamic user-controls modeled off of WinJS’s user controls, handled data binding, and even how we worked around a few bugs in WinJS.
Oh and feel free to ask questions in the comments, or make a specific request. While I can’t share the exact source code, I will be more than happy to share in excruciating detail how we achieved any of these technical feats. And if a simple comment reply won’t be enough detail, I’ll write a specific blog post on the question.