...
- Different group of users have different mindsets in using an application. How to make the app has high usability intuitive to all users is a hard problem. Therefore, how to make the app easy to learn and easy to understand becomes important since it is nearly impossible to make an app cater to all the people.
- It is hard to hide system implementation from design. Programmers are used to “programming language” and sometimes this makes the app not speak user’s “human language.” For example, we used to have “latitude, longitude” to express user’s current location.
- The tradeoff between implementation and design. Good designs might sometimes entail hard implementations. In this course, we don’t have many chances to do prototyping on implementations, therefore, even though we had some really nice design features in paper-prototying, we were unable to carry it out due to implementation limitation. This also makes us deviate from our previous design and produces immature features.