Keep track of all the latest news and events on developer tools and technologies you care about
Shhhhhh.... we've heard that lots of .NET enterprise devs are dabbling in app development in their spare time. We caught up with Julius Agweny to find out about the Windows apps he's been building...
What's your background? What did you do before building Windows Phone apps?
I'm currently working full time as a .NET enterprise developer with a company called Salongenius. I studied computer science in university and since I graduated I've worked for various software companies both local and internationally. I write Windows 8 apps and Windows Phone apps for fun during my free time.
What motivated you to start building apps?
I started building apps with the Windows Phone SDK from the early days of the developer preview. I was among the early developers to get apps in the Windows Phone Store. I was greatly attracted by the improvements to the tooling provided by Microsoft like the free SDK for developers and lots of resources and support available via MSDN and the internet in general.
How did you come up with the initial idea for the TOP MOVIES app?
After my experience building Windows Phone apps I felt I needed to write my first Windows 8 app. I needed a great idea so that I could exploit all the traits of a great Windows Store app. Above all, I wanted an app which would engage and connect with users. Top Movies seemed a natural choice for me because I could easily connect users to their favourite movies online and give them a great experience.
What are the objectives of the app and how did you address them in the design and build?
A great app with ability for users to browse top movies, search for movies, and share what they've watched with friends. All of this requires an internet connection. I therefore chose a hierarchical navigation pattern with various levels to enable users to view the movies by genre and top rated films.
What was your inspiration for the design?
I have to say I drew my inspiration by reviewing some of the sample apps that Microsoft released with the Windows 8 developer preview. Secondly, I wanted to keep a consistent user experience such as when users browse movies from other popular web resources like Netflix, IMDb among others.
What’s your process for designing the user journey?
I choose an agile, quick turnaround approach with short iterative designs. It was easy to come up with ideas, visualise how the users will interact with the app and come up with wireframes. I ensured my designs were within the UX specifications for Windows 8 apps. I also had a chance to review my design with Microsoft through the Windows Store App Labs programme.
How does the Windows platform make the most of the user journey?
To be honest, there are a huge amount of templates out there that developers can re-use to quickly get the designs going. I have to admit the Windows platform has done fantastic work in this regard, so it was easy for me to re-template a few UX elements here and there and get going.
What was the biggest challenge you faced and how did you overcome it?
Ensuring the images were displayed well under various screen resolutions was a challenge. This was partly because I was consuming the images from a web service and I had no control on their sizes and resolution/quality. I overcame these challenges by testing thoroughly on all supported resolutions by using the Visual Studio Simulator.
What technology did you use for your app development?
TOP MOVIES is written in C# and XAML.
What techniques did you use for testing your application and were there any challenges with this?
I love unit testing, so I try and write unit tests in all my apps. Secondly I used the Visual Studio Simulator to test for different resolutions. There is also this cool Windows App Certification Kit utility in Visual Studio which validates your app compliance with Store requirements. I'd recommend developers to try and use this always before submitting their apps to the store. It will help you catch some issues that would otherwise have made your app not to be certified in the first place, and can save you some time as well. The only challenge was I did not have an actual Windows 8 device to test the user experience of my app.
What are the unique aspects of your application other than the initial idea (design, architecture, implementation, testing, other)?
The ability for users to mark favourite movies, share what they are watching with friends and even record short clips or take pictures from within the app. This "connected" nature adds live to the app and improves the overall user experience.
How do you plan on marketing/distributing your app?
Within the Windows Store and I also have a blog where I list my apps (wp7agile.wordpress.com). I also from time to time use social media to market my apps.
What's the business model and why did you choose that option?
I use the paid plus free trial model. I believe giving end users a chance to try your app is a great idea both in terms of feedback on how many users end up paying for it.
As a phone developer, what made you want to build a Windows 8 app? What appealed to you?
First of all the technology is the same, C#/XAML. Secondly the .NET framework and WinRT are very seamless. The design principles are very similar such as the MVC or MVVM pattern.
What would you say to other phone developers who might be sitting on the fence as far as Windows 8 development is concerned?
The time is now. Jump in and get your Windows 8 app into the store! There are several developer communities around to join if you feel isolated.
What's different about Windows from other platforms you've worked on (good and bad)?
I will say Visual Studio is the best Integrated Development Environment I have used to date. It has evolved over the years and gotten better and better and I am always very productive using it. The developer community via MSDN, TechNet and others forms another pillar in the platform.
What's the appeal of Windows from a business perspective?
From a business perspective Windows 8 makes a lot of sense. Microsoft has integrated the SkyDrive into Windows 8 allowing seamless data access. Apps can easily add files to SkyDrive via the Share charm. Because this data is held in the cloud, you can seamlessly sync user settings on various Windows 8 devices too. And because Windows 8 is designed for mobility there are robust tools for connecting and managing cellular networks. There is a powerful API for interrogating network types, so you can make informed decisions on data usage within the app.
What were the challenges for you building this app?
This was my first Windows 8 app so there was the obvious "first time" challenges of ensuring the app met all the requirements for the Windows Store. Also ensuring the app met all traits of a great Windows Store app such as Modern UI, fast and fluid, snap beautifully, use of right contracts, roaming to the cloud and above all embracing Microsoft Design principles. But finally I got there!
What support did you get from Microsoft?
I was privileged to get support from Microsoft as part of the Windows Store App Labs programme. An engineer from Microsoft had a one-on-one session with me and we reviewed all aspects of the app from idea conception to delivery into the Store. It was an excellent learning experience and it helped me polish up my designs and publish the final app in store in time for the official release of Windows 8 last October.
What’s next for the app?
I want to add functionality to consume other movie services such as IMDb, Cineworld, among others.
... and what's next for you?
I plan to write more apps. As we speak, I have released a total of 8 apps into the Store. I also plan to convert my Windows Phone apps into Windows 8 apps.
What would you say was the one big thing that surprised you about developing an app for Windows 8?
The learning curve was easier than anticipated. If you have developed a windows Phone before, it is very straight forward to develop for Windows 8 too.