Tips and gotchas for Windows 8 apps: WayTwoGood
This series features interviews with student Windows 8 app developers who share the lessons they learned building Windows 8 applications.
This week’s interview features Three Red Cubes a team of students from Ryerson University who built an application called WayTwoGood.
Could you briefly describe your application/game?
WayTwoGood is built to deliver aggregated daily deals from multiple websites. By using Windows 8 APIs the application makes it easy to find great deals across many major cities in North America.
Did you use .NET and Silverlight, HTML and Java, or DirectX and C++
We used .Net and Silverlight. Since the app is very presentation-oriented and data-intensive, we used our experience of building Windows Phone apps to create a polished and rich app.
What was your banging your head against a wall moment?
While applying the Windows 8 development methods, it took us a little while to understand how the different visual states worked and to create them. This is a major feature on Windows 8 and we wanted to make sure our app took advantage of the different view states.
Did you ever solve that issue?
By going through the default sample and understanding how the LayoutAwarePage class (provided in the sample) handled Snapped, Filled, Portrait and Landscape views, we were able to incorporate that into our app.
If you had to build this same app again from scratch, what would you do differently?
Having understood the different visual states, if we were designing it from scratch, we would be more forward thinking about the different elements and controls we created for the app. Making the process of creating a fully compatible Windows 8 app a breeze.
Any nice surprises?
- The huge amount of code we reused from the Windows Phone version of the app was very surprising and welcome.
- The “async, await, Task” pattern of Windows 8 development was very easy to adopt and move away from event-driven approach. This made our app very efficient and provided a great, fluid user experience.
Did you leverage the mobile platform?
We built the app to be completely compatible with different screen resolutions, orientations and visual states. Because Windows 8 will be on many different devices of different form-factors we wanted to make sure our app provided a great, uniform experience.
Did you leverage touch?
The application provides full support for touch. The Windows 8 APIs make it really easy to provide user interactions through both keyboard-mouse and touch.
Did you have a favourite Windows 8 feature?
It’s really difficult to choose between the Windows 8 API contracts and “async, await, Task.” Without either of them our application would have been very different.
What is one thing you think you did really well in this application?
The application is really responsive thanks to the “async, await, Task” model of programming that’s taken centre stage in Windows 8 development.
Are you publishing your application/game?
Yes we’ve already published the app and is being featured on the Marketplace since last month. Download it from the Marketplace here:
Did you fail certification? If so what caused you to fail, and how did you fix it?
We failed certification the first time we submitted the app because of how we had structured navigation and data loading, which was causing the app to show slow performance on first run. We fixed it by creating an overlay which disappeared as content was being downloaded, once again, by virtue of “async, await, Task” calls.
Where can I learn more about your app/game?
Visit on our website at http://threeredcubes.com/ and check out all our projects. If you’re in Toronto, you can always visit our office and say hi.
Who developed this application?
We’re a team of Ryerson University students who have a start-up called Three Red Cubes and we’re working out of Ryerson’s Digital Media Zone.
Don’t forget to create your account in the Windows 8 store, reserve your app name, and get your app out there. For information about how to create your account and resources on how to get coding check out our Windows 8 resources page