This week in our Windows Phone developer interview series we're joined by David Hamilton, CTO and Co-Founder of Pepper. We took a quick look at Pepper from a recent Windows Phone User Group meet-up and were intrigued by both the idea behind the app and the vision for future cross-platform development.
So what's the deal with Pepper and how did it come to be? We threw Hamilton a set of questions for an insight into not only app-specific development, but how the team views Windows Phone against competitors. Head on past the break for the full interview.
Tell us about yourselves and how you got into software development.
I'm David, the CTO and Co-Founder of Pepper. I really got into development when I was young, computing has always been part of my life, however, my degree was mainly in Electronics (with some programming), and my early jobs after university were in the mobile industry, and ended up being a technical consultant to most of the major mobile networks in the UK.
Until recently, development has really been more of a hobby than a job, well, it seemed to crop up from time to time as I did small projects for companies, ran training courses on it etc. Development has only really been a real job for me for the last 4-5 years.
What do you think of Microsoft's platform (from a user perspective) and how do you compare it to competitors?
My personal thought on the platforms is that there are 4 major players around at the moment, iOS, Android, BlackBerry & Windows Phone - With Windows Phone being the best one by a long way. It is a simple, clean, modern and feature rich platform that has everything built-in an average mobile user would want. People say it is lacking in the quantity of apps, but I don't think there are any that I am dying to use that aren't available, it even has a remote desktop client (Ok, a technical app, possibly not for the average user, but it's on the platform).
There are of course numerous benefits to each of the individual platforms, and I am sure that my next few comments will upset users of the other platforms, but here is how I see WP competes with each of them.
iOS: It is just old, nothing new has actually happened to this platform for a long time. iOS 5 was disappointing, I think a lot of people were expecting some new wow factor, this just wasn't produced. If the next iPhone isn't pretty special I think it will start loosing noticeable market share.
Android: Far too fragmented and open, just leaves the whole thing looking a bit of a mess. For the average user, this platform is too technical - after all, this is reason why people stop using a PC and get a Mac - it doesn't break (translated to - you can't mess with the settings). Sales staff seem confused that it is all about how fast the processor is and forget that a lot of limitations are still down to the quality of signal the phone is getting.
Also, the low end devices just shouldn't exist, they don't function correctly, and give users a bad experience of smart phones. I'm very interested to know the Android Market share without these poor low end devices (anyway, that's another topic).
Blackberry: BlackBerry was great a long time ago when getting email to a mobile device was a new thing. I really fail to see what they are doing now. Every new strategy they have seems to be based on BBM. Like iOS, it needs a re-think, something brand new.
What's the number one feature you love the most in Mango, and what are you looking forward to in Apollo?
I'm not sure I can pick just one feature from Mango, I need to look at it as both my experiences as a developer and a user.
I think that from a developers point of view, I love the background tasks, this provides such a great way (although not guaranteed) to keep the information on the app up-to date. I believe that in this modern world of being always connected, all great apps are exactly that, always connected. The user however, does not want to sit there and wait for that data to appear, so background tasks become vital to get that data to the user before they even need it.
From the users point of view, it has to be the ability to pin a tile to the home screen. When I look at the functionality of Pepper, this is amazing, pinning my favourite venue or artist profiles means I can go direct to their page get the latest information and events they are involved in. It could mean that an artist doesn't need to invest in building an app all of their own, the tile is their 'virtual app'.
With Apollo, I think the thing I am most excited about is the App-app communication, this could be really interesting, creating API's for other apps to integrate with us.
What path(s) led you to develop for Windows Phone?
I was very lucky to be involved in Windows Phone before it's original launch, in fact, I got the chance to go over to Redmond and work with the team behind the OS, picking their brain and getting the best ways to perform certain tasks.
When putting Pepper together as a business a year ago, it seemed to just make sense, joining the Microsoft BizSpark program, and then utilizing as many benefits as we could, cutting the cost of setting up Pepper quite dramatically. We have the Windows Azure platform running the backend of our app, so everything is .NET, making it just so much easier in the early development phases.
We also love the Metro UI, not only is it clean and simple, but when demonstrating the app, people take notice because it looks different.
What's your take on the Windows Phone development process, is it worthwhile?
The development process is simple, there really is nothing to it, just take Open Visual Studio, start a blank windows phone project and then get going, it just works straight away.
However, there are a few things to be wary of to keep the app flowing smoothly:
- Reduce the amount of XAML on a screen at any one time, don't use excessive borders etc
- Try not to put too much code in app.xaml, this just makes you splash screen visible longer, and if it is there too long, the app won't be allowed to boot.
- On each page, keep the Constructor, OnNavigated To/From areas with minimal code in them. Too much in here stops the transitions from one page to the next being fluid.
- Use the page Loaded event to populate data - This does mean that the page will be visible and empty initially, so find nice ways to handle the information appearing with animations etc.
- Lists - Mango is much better at handling lists, but I would still recommend only putting the information in it you require, this will cut down on the amount of xaml being processed. Think about the user, will they really look at all 100 items, or just the top 20. Add additional items once they scroll below a certain point.
How does the development process compare to other platforms?
I have only done a small amount of development for iPhone and Android, and neither of these seemed to be very easy. iPhone seemed focused around interface builder (feels like a Blend equivalent to me, and I try not to use Blend too often), it was very hard to make progress from a code only method.
The development environment of Android for me just suffers from everything bad about Open Source, far too many ways to do it, and none of it is really plugged together correctly.
Talk to us about the concept of Pepper, why did you choose to launch on Windows Phone first?
Ok, so Pepper is a live music social network, I guess we have just taken the best of many other services out there and made it into what we believe will become the user's ultimate experience around live music. Pepper has a focus around local, as a user how far am I really likely to travel? To an extent, Pepper is also a fairly closed social network, only allowing you to socialise with people that you actually know, we are not a discovery tool to add random people you don't know, this means we become spam free and the user only has information relevant to them.
There are so many reasons why we chose Windows Phone to launch Pepper on first, without going into too much detail, or in any particular order:
- Windows Phone Rocks - I think it is the best mobile platform (Ok, that's a personal reason, not a business one).
- The unusual (well, not recognised by most people) UI blows partners away when demonstrating.
- Smaller app store, so easier for us to get noticed and featured.
- It made a big difference in developing with everything being .NET just made it for and work well. We actually thought iPhone would be the first out when we were planning the business.
- Joe Pratt (CEO & other Co-Founder of Pepper) wrote a lot more about this for Ubelly recently
- It allows us to build hype for the other bigger platforms as we market and get press for Windows Phone, hopefully giving us a bit of a kick-start when the others are launched.
The steady stream of 5 stare ratings for Pepper is admirable, what's your secret?
This is actually a bit of a shock to us here at Pepper, ok we are still new, but I'm not sure I've ever seen any other apps with a full 5 star rating... so a massive thank you to everyone that has rated us. We are not feeling any pressure now when it comes to the updates, honest!
I actually believe that these rating come from our philosophy here at Pepper both Joe and I are strong believers that every app should look and feel like I belongs on the phone (make it Metro), and also that apps are about being instantaneous, not having to hang around for data to load. Joe handles all of the UI design, and between us we have an unusual relationship of developer and designer being able to really understand what each other is thinking.
Most importantly is that we believe that the user comes first. If what we do makes their journey become awkward then we'll just chuck it out, redo it until it is right. The user comes before the business.
What's planned for the future of your already approved app?
There are many features planned for Pepper, this will include integration into Twitter and Facebook (next release), photo sharing whilst at the events (mid may), and a more detailed commenting system on friends activity. There are a whole host of features planned, a lot that I can't really talk about quite yet (but I am very excited about them). In general, we plan to do an update to the app every 2-3 weeks, this will generally follow a format of New Feature, Tweaks/Bug Fix, New feature, Tweaks/Bug Fix, etc.
What other Windows Phone projects are you working on, any that aren't in the Marketplace?
Pepper is the only project that we are working on so there won't be many additional apps appearing in the marketplace from us (Just means more features being added to Pepper). However, we are already looking at plans to make additional apps under the Pepper brand (exactly what, I can't really say just yet) - There is also plans for a Windows 8 app in the pipeline.
We are also in the process of sorting out the logistics of taking the app over to the US and other countries.
What advice would you give to other aspiring developers from your experience?
Windows Phone is a great platform to develop for, and there is definitely money that can be made out of developing mobile apps.
Do not rush to get your app out there, take your time with your idea, build it piece by piece, and always think of the user. Microsoft are a very approachable company, with representatives regularly at events such as Windows Phone User Group (and many others). Get involved in the community and Microsoft will help you through your journey.
Thank you for your time. Any closing words about WP7's future?
No problem at all, I hope I didn't waffle too much. There are a lot of people out there who believe that Windows Phone doesn't have a chance in the market, I guess really, that I would just like to say to all those people that they should take a step back, look at the history of the mobile market, and the current home computing market. Microsoft are setting themselves up in a great position as these 2 markets get closer to merging, Windows phone will be a big part of that, and I can easily see that a few years from now there will be big changes in who the big players are in mobile platforms.
Windows Phone will be there... will some of the others? I think there will be some big losers.
That wraps up the interview with David Hamilton, one of the developers of Pepper for Windows Phone. Be sure to check out their free app (QR Code provided) on the Marketplace and official website for more information.