In these 10 minutes we want to share our experience designing and developing our WP7 app, FeedTso, a google reader client. And we want to give you some suggestions that will make your WP7 application a bit better. We have a FeedTso t-shirt to give away: we have just one so at the end we will ask a question about the presentation to select the winner
You cannot please everyone, so choose wisely your target. If you try to please everyone, your application will be too loaded with features and the users will be confused. We decided to build a feed reader for people that have an average number of feeds, are “power users” of Google Reader, have a social approach on reading feeds and that have a higher than average attention to design and are not developers. So we built our features for that target: pervasive photography, social features, and a great attention on design details. We received complaints from users that don’t have friends who share posts so the social area of the app was always empty. Or people that don’t use categories but have their feeds grouped in categories. But that was not our target.
On a mobile device, people don’t focus 100% on the app while using it: they might be walking, travelling, having breakfast, driving (even if they shouldn’t). Key, and also one of the design principle of WP7, is allowing this partial attention. At the first glance they should be able to understand if they have focus on the app, or keep doing what they were doing. So, important is to put in the first screen an overview of all the contents that might be important for the user to make this decision. And then drill down to the detailed contents. Don’t put too many information in the first pages.
So we decided to use a Panorama screen that shows the latest (and in the future the most important) news, the list with categories with most updates and what your friends shared.
One thing we saw in many applications is that the user doesn’t understand what is going on with your application. Whenever you wait for data from the internet, or you execute an action, remember to notify the user that something is going or that the operation is completed. I think this will be enforced in future app submissions. But don’t use the default progress bar because it has bad performances; use the one that is part of the Silverlight for WP toolkit on codeplex. Gives also touch feedback: buttons have it by default (the button changes color when tapped). But if you use clickable links, or if you don’t use the standard layout for buttons remember to do it as well. The “tiltable” behavior is both very effective (the button moves as if you were pressing a physical button) and easy to implement (there is a sample on MSDN for it).
Keep consistency throughout the application. Seems like an obvious thing, but if you have a look at many apps in the marketplace (and in the appstore) it’s not that obvious for many. In the development of WP7 apps there are some guidelines: stick to that, don’t invent new UI elements that are not in line with the UI of the phone. But give you personal touch to it (example is our 2 way scrollable list of posts) And also never let user think “what the hell happened here”? For example, if you have a long scrollable page, restore the scrolling position when going back to the page, and remember that pivot and panos don’t keep the position you left them, so reposition them manually.
Another obvious thing: respect the user preferences in terms of color and theme. Use the accent to highlight elements on the page, the same way you would be using bold. Test your app is readable in any combination. If you use the standard themes, this will work out of the box. If not, manually change the background based on the phone’s theme.
People don’t buy app without trying them and stats say that apps with trial sell 10 times more and downloaded 70 times more than apps without trial. As ex: reduce features Ads Time bomb Our app doesn’t have many features and reducing the feature would have made the app less useful. So we decided to force the user to enter the login credential every time.