Creating the windows 8 pepper app-a developer 's view9 September 2012
David Hamilton is the CTO & Co-Founder of Pepper, a social discovery application for live music enthusiasts. David showed off his Windows 8 app during Martin Beeby's session at Reasons to Be Creative earlier this week, and I caught up with him after the session to find out more...
What's your background - how did you get into development?
I've been heavily involved in both the mobile and IT industries for the last 12 years, having worked as a technical consultant for mobile networks and most recently leading the development team of a new social mobile app. Getting into development really happened by accident for me, I started my life at university studying hardware development, but part of the course was software which just seemed to come naturally to me and have never really looked back. My working life started in the mobile industry in a technical support role, getting mobile phones to connect with laptops and PDA's, over time, I moved more and more into networking systems of databases which is where I came back to development. Over the last few years I've moved into other areas such as VoIP or designing corporate wireless networks, but I always come back to development, and especially love the fast-pace and new challenges that arise in the start-up world.
Tell us about the app, what is it and who is it for?
Pepper is Social Discovery Platform specifically designed for live music events. Pepper's most simple feature is to help a user find out about live music (or clubbing) events around a location they specify. However, Pepper actually goes a lot deeper than other 'event listing' services, creating a social network specifically around music allows a user of Pepper to interact with the event, and discover new artists through friends.
How is it different from the phone app you built?
Fundamentally, the Windows 8 app is no different from our phone app, however there are some small features that are potentially less relevant to a Windows 8 portable device compared with a phone. The Windows 8 app will also include some more media rich services such as streaming of video within the app which lends itself better to a larger screen. I am also quite excited about DLNA support and being able to play the content straight from our app to other media devices.
What's the business model?
Pepper is a free service, both for users of the app and for the industry when listing their events. We are very committed to making Pepper become a service that helps to rejuvenate the live music scene, especially at the smaller 'local' events. Having said this, like all other businesses, we obviously need to generate revenue to make the service work, and we will do this through additional features such as the sales of tickets for events.
Why a Windows 8 app?
The current mobile world (phones & tablets) is generally dominated by iOS in terms of apps. I believe that the consumer is now wanting more and that Windows 8 will be a game changer, taking the PC world to a truly mobile world. As a business we love the Windows UI, the CEO of Pepper Joe Pratt has talked before about how simple the UI is to design for and it really allows us to concentrate on the content to make sure the user gets the best experience.
What other platforms have you developed for?
As a developer, I feel like I have developed for most platforms, from iOS all the way through to traditional web. But my heart always falls back to the .NET world as it has made things so much simpler when trying to create a complete system. We use Windows Azure for our backend, all of this is .NET too, so it removes a level of complexity when trying to debug issues between the client device and API's.
What languages did you use to write the app?
Pepper has been written as a XAML/C# app for Windows 8, the main reason for this choice was purely for my comfort and the fact that our Windows Phone app is also built in XAML, meaning that we have been able to re-use a lot of the business logic and methods I created for Windows Phone.
How long did it take to build?
We starting looking seriously at our Windows 8 app in late May, a couple of weeks looking at feature changes and researching the WinRT behaviours so that we could enable Pepper to give the user the best experience possible. As soon as we were happy with what the app was to achieve, it took around 6 weeks to really get our designs right before moving on to the development. From the coding side of things we are now at a stage that is more about small tweaks and bug fixes before putting the app in for the final submission. Coding has so far taken around 7 weeks in total. Some of this is due to pre-empting Windows Phone 8 and making sure that common classes have been separated to save any recoding.
What did you have to consider from a design and user experience point of view?
The focus of Pepper has always been with mobile devices in mind and having designed for mobile phone first meant that the information architecture is already simplified. Often with design one of the hardest things is stripping out information. The key to designing for Windows 8 was to establish the differences between how a mobile, tablet or desktop user would differ in their needs of the application, most of these changes are quite subtle, but a fairly major assumption that we have made is that the majority of people won't be taking/using their Windows 8 devices in a live music event (although not unheard of with other tablet devices) meaning that we have reduced some functionality or not made it such a core feature. In turn, this has given us the opportunity to enhance other features meaning that phone and tablet/laptop etc. are 2 separate apps that will complement each other instead of performing exactly the same functions. The way a user interacts with other features has changed due to the charm system used throughout Windows 8. Features such as searching and sharing have moved into these charms, but at the same time giving a greater flexibility on what aspects of the app can be shared. In fact, this design change has now had an impact on our phone apps helping us to streamline the search experience across all platforms.
Were there any specific design challenges and how did you overcome them?
There are 3 main challenges that come to mind, adapting for a landscape view with horizontal scrolling, adapting the UI to work effectively with multiple resolutions and making the most of the extra space provided on a Windows 8 device.
The landscape layout idea was completely new to our design team who have previously focussed solely on portrait based devices. This became even more challenging with the dynamic nature of the content we provide. In most places we have overcome these issue by use of panorama or tabbed style pages.
Adapting to multiple screen resolutions not only cause design problems, but also development problems in having to make some of our pages even more dynamic than they already were. Most of this has been achieved by looking at minimum and maximum amounts of data we are likely to display and then finding a number (12 seemed to be the most common) that would then work in keeping a good look regardless of the number of rows or columns. In other case (for example the photo albums) we have worked on a more tile based system working from the smallest sized object in a grid and making bigger objects to fill spaces - this also gives a great new look to areas of the app.
Although the extra space was generally less of an issue, it did keep challenging us and bringing us out of our comfort zones (small screens for phones). More often than not it was exciting to cross this problem, being able to find some new information to display to our users. But, as a basic rule, increasing the size of text and images really brings the attention to the important areas of content making the app easier to navigate for the user.
How has Windows 8 helped the development process when it comes to Connectivity and what does this mean for the end user?
Connectivity in a mobile (smartphone or tablet) app that really needs to be online with live data is a really big issue, and one that we need to be clever about both from a developer and design point of view to make sure that the user is still getting the best experience possible. In particular with Windows 8, the network connectivity APIs built-in give me very detailed information about the connection, such as whether the user is roaming to another country, or the costs involved in using the network. This information has been no end of use within the creation of Pepper, making sure that we can provide the user with a media rich service when their connection is good and unrestricted, and taking the service down to a more on-demand service where we can notify the user of the restricted activity helping us to keep the user informed and also show that we care.
What are your plans for the future?
We're looking to expand Pepper in many ways over the coming months. We're currently still in our 'setup phase' of the business so everything is likely to change as we adapt to market changes (Windows 8 wasn't on our horizon when we started last year). Our general plan for the apps are to make them a complete user experience from discovery of an event through to completion and beyond, with many new features up our sleeves to introduce to each platform over the next few months. We're also looking at growing the business internationally, and some pretty advanced recommendation systems to ensure that as a user you can find not only the music you already like, but new music you may not have heard before. All of us at Pepper are enthusiastic about many types of music and we are all very excited about the next few months as we get to launch some of our new features.