设计phone app的10点建议 - [用户体验]
1. Considering the user.
This might seem like an obvious point, but it's probably the most important of the lot. Don't just think about the functionality of the application, but the context in which the user will be experiencing it. This is especially important when design apps for phones. This is a great time to create some personas or scenarios to help with your designs. These will not only help your think outside the box but also get some context about how the application might be used.
Remember: you are not your user!
2. Sketch it out
Start drawing up screens and ideas of how the application will flow, make sure they are easy to change and update as the project grows. This will help avoid spending hours on a piece of functionality only to realise its not fitting in as well as you had hoped, but it will probably get included anyway because so much time/money was spent on it. This also helps in a team environment so everyone is on the same page when the development actually starts.
If you have someone who knows Microsoft's Expression Blend, consider spending the time mocking up your sketches and interactions using Sketchflow. It's awesome because you can make changes and test again very rapidly. It's also a great tool to help explain how certain parts of your application might work in more depth.
3. Personality/Identity
Give you app it's own unique personality. There is a chance that there are applications similar to yours already out there, so how do people remember one from the other if they don't look and feel different. It could be a memorable logo or something as simple as a striking colour that is used throughout the app.
This one seems extra relevant at the moment with the rise of style guides and app stores/marketplaces. It's very easy to fall into designing your application to the strict guidelines provided and ending up with an application that looks like everyone else.
This is also important to easily provide a connection if you are running on more than one platform, this identity will help users feel comfortable when going from a phone interface, to desktop, to tablet.
4. White space
This is a tricky one when designing for small form factors like phones, but its just as important as if you had a 24' monitor as your canvas. To much clutter on the screen severely takes away from the experience, making items harder to find, not knowing where to look and being generally confusing.
Space your elements out, use more screens if you need, and if the data has to be all on one page, consider different ways of displaying it, rather than just trying to squeeze it all in. Worry less about people being required to navigate a little, and more about people being confused, frustrated and shopping for a new app.
5. Weigh it up.
Give weight to whats important. This includes in the design of your screens and the architecture of the application. Make sure your most important tasks and elements step out and introduce themselves to the user. You can hopefully define what is most important with your scenarios and personas early on in the project.
6. Use what you already have
Everyone wants to design the next incredible user interface, but unless you have a whole bunch of money to throw at testing and revising then chances are you will end up with something that is just hard to use and confusing. There are plenty of fantastic controls already around that should suit your needs, and if you need something a little special, find something close and build on it. Redesigning the way people interact with an interface is a tricky business, so unless you have an awesome idea and are willing to go the extra mile with testing, just be very careful.
7. Keep the user in the loop/feedback
When creating a good experience, it's important to keep the user informed. If something is going to take a little while to load, let the user know. It only takes a few seconds for someone to get bored and close your app. Of course it would be better not to keep the user waiting at all, but letting the user know it's doing it's best can be a huge help.
You app should make the user feel comfortable with their actions and not be afraid to push forward and drill into the application. This involves many different aspects of the application, from what happens when a button is pressed, when animations occur and even the choice of words used. When a user presses a button, let them know you have heard and that your app is busy completing the task.
8. Use a grid!
This one is a bit of a visual design item, but alignment of elements is something thats pretty easy to do, although I see app after app that drops a few pixels here and there throwing out the whole balance of the application. Paying close attention to this can bring the quality of an application up 10 fold. </rant>
9. First impressions last.
You really only have a few minutes to impress someone, if you fail in that time they may never come back to you app no matter how many updates you do. Look at different ways you can ensure the initial impression of the application is a good one. Custom loaders, splash screens and exciting/inviting first pages are vital to making sure the user wants to dig deeper and learn more.
10. Test the experience!
And when I say test, not functionality, test how people react when you drop the app in front of them. Ask them to try and perform some of the scenarios you wrote out at the start. Testing as much as possible and the earlier you start testing, the less time you waste on something that doesn't work. Test your experience on real users who aren't afraid to tell you how it really is.
So I guess that's a bit of a list of the things I think about when designing applications... There are so many more things to consider, and if you want to share some that would be awesome. Otherwise, I hope this has helped you a bit on your way to creating an awesome experience that users will keep coming back to enjoy!
About the Author
Alex Knight
Alex is a Silverlight MVP with a strong focus on the graphics and user interface side of things. He runs Xamling with Jordan Knight (@jakkaj) which specialises in creating awesome experiences for Silverlight and WPF. So it doesn't matter what platform, if its xaml he digs it. If you want to find more out about Alex, check out:
@:卿之 → http://www.cnblogs.com/wpdev
©:博文是本人当时的学习笔记及知识整理,由于自身局限错误在所难免,敬请斧正.
©:本文版权属于博客园和本人,版权基于署名 2.5 中国大陆许可协议发布,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接和署名卿之(包含链接),不得删节,否则保留追究法律责任的权利。