Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Developing UX is your job!

Roberto Orgiu
September 10, 2015

Developing UX is your job!

Every day, we use tons of apps and, for most of them, we usually find something we don't really like. That's because of the expertise we gain while using the Android system on a daily basis: as developers, we can make this whole ecosystem much batter by taking care of some small aspect of the UX that we can truly affect... let's do it!

Roberto Orgiu

September 10, 2015
Tweet

More Decks by Roberto Orgiu

Other Decks in Technology

Transcript

  1. Why this talk? We are not designers but we are

    developers! and we can do pretty nice things too!
  2. What is UX? image curtesy of uxisnotui.com UX is not

    UI What the user sees and what the user feels
  3. Who’s doing what? • Think about a feature • Prototype

    it • Design the UI and the interactions • Develop the feature
  4. Show passwords • Typing while moving is hard • Less

    authentication calls • Less frustration
  5. Implement proper navigation • Navigation Drawer is not the universal

    solution • You can still use tabs • Root element • Back stack
  6. Double back to exit • Unnatural behaviour • Manually override

    system’s default • Remember what the user pressed • No added value Don’t use it, unless it is REALLY necessary (i.e. unsaved data)
  7. Dialogs • They come from Fragment • Passing back the

    response is harder • Can be replaced if there’s no need for user interaction
  8. Toolbars • Extension of ActionBar and more • Easy to

    implement and use • Place where to put all the tools • Can give a sense of continuity
  9. Floating Action Button • Should be used for the most

    frequent action • You probably do not need it • Do not force the concept of primary action
  10. Long operations • Main Thread is not good. Never. •

    Loading indicators can be useful • Pre-load data when possible Don’t force long operations on main thread, they lead to bad things (i.e. NetworkingOnMainThreadException)
  11. Errors Users do not care why the error happened, they

    need to know how to avoid it. You know how to avoid the error, tell it simply.
  12. Casting things • Show the button at the right moment

    and with the right state • Don’t forget the receiver • Controls on lock screen http://goo.gl/yOXfLM
  13. Don’t hide things! • Not everyone knows where to look

    for a specific element • Try and make everything easily reachable • Do not make a single Activity make everything
  14. Rotation • Very few apps need to lock the rotation.

    • You have to manage manually a huge amount of possible scenarios • You have to reset the system rotation value to the user’s preference
  15. Empty status • An empty window can be discouraging. Certainly,

    it’s ugly. • Think of a way to add data • Or refresh the content • Do not underestimate this issue, it can happen a lot.
  16. Care about your user • Avoid making too many networking

    request while on mobile • Remember about wake locks: are they always needed • Postpone heavy operations until the device is connected to a power source and under a Wi-Fi network
  17. Android Wear • Micro-interactions: do one thing, do it fast

    and do not keep your user out of the world • Design for big actions • Provide the needed information in the most clear way
  18. Test your app 1. Be a user, not someone who

    knows the app 2. Ask your mum, dad, dog, hamster to try your app! 3. Proper user testing and QA 4. Ask your friends developer to try your app!
  19. Conclusion • As Dev you can do good things for

    UX, just do it • Bug fix is good, make the user notice it while using your app • Don’t be too serious, when you can