“I was passed on a job because I don’t have enough empathy for the users.”
From the original Macintosh until today’s iOS-focused environment, Apple’s ecosystem thrived because of its user-centric bias. As an iOS developer you can’t go far without having this basic premise pinned down. At best you’ll be blindly implementing other people’s design specifications and won’t be able to provide good inputs when it comes to addressing the users’ needs. Not caring about users would be just fine if you write software that won’t be used by people. Similarly if you work (or aim to work) in a bureaucratic organization that takes pride in creating user-hostile systems. But those who wants to thrive in user-centric ecosystems would really need to feel things from the users’ point of view and design their products accordingly. Here is a list of starter references for beginning iOS developers to move up a notch and begin to understand the human-oriented aspects of user interfaces and people-focused designs. If you “have read about 30 books on pure programming and 0 about anything to do with UI/UX” then this list is for you.
- Long Read: UI vs. UX: What’s the difference between user interface and user experience. Many technology practitioners still thinks that UI and UX are the same thing — or thinks that UI/UX people are just Photoshop/Illustrator jockeys. Read this if you’re still not sure what is user interface, user experience, how those two are different and how they are interlinked. Also read it if you’d like more materials to explain the idea to your clients, colleagues or managers.
- Book: Zen of Palm, 2001–2003. “Those who do not study history are bound to repeat it” (George Santayana). PalmOS was probably the first pocket computer that was widely accepted, due to its elegant balance between functionality, user experience, and the technology that was available at the time. The competitors at PalmOS’s peak era either had too much functionality — creating unnecessary complexity and reduce performance — or had too few features, which made them little more than over-glorified pocket calculators. Have a glimpse of how the company studied the difference of tasks that people need to do with computers on their desks versus those in their pockets — then find a good balance based on the technology that was available at the time.
- Book: (The Original) Macintosh Human Interface Guidelines, 1995. Another history lesson containing many concepts that are still relevant today — what constitutes good human-computer interactions and various aspects that needs to be considered when designing and implementing user interfaces.
- Book: The Design of Everyday Things, 2013 Revised Edition (Donald A. Norman). Product design often neglects the user in favor of aesthetic, marketing, or other factors. Yet the users’ needs is paramount — since the product exists to solve the users’ problems in the first place. Learn of whats wrong in the design of everyday items so that you won’t repeat their mistakes in your products.
- Long Read: 5 Stages in the Design Thinking Process. Design Thinking is a methodology that promotes a holistic people-centered approach in solving problems. This article shows an overview of the process and some links where you can learn more.
- Book: The New Design Fundamentals. Contains excerpts of various books to help you improve and justify your decisions in designing digital products.
- Book: The Encyclopedia of Human-Computer Interaction, 2nd Ed. Overviews the various topics of designing interactions between people and computers – including computer-mediated human interactions and the evolving topic of human-robot interaction. Collaboratively written by over 100 designers, authors, and professors in the field.
- Book: Don’t Make Me Think: A Common Sense Approach to Web Usability, 2000 (Steve Krug). The web has been around for longer than people having Internet-connected computers in their pockets. Get the principles to make websites more usable and some can translate to your app’s design as well.
- Long Read: UX Design Patterns for Mobile Apps (Luis Abreu). Design Patterns are time-tested solutions to known problems. This article describes five challenges in interaction design of mobile applications with their respective solutions.
- Video Playlist: Big Mountain Studio UI Tips (Mark Moyken). Hands-on programming tips revolving around programming user interfaces on iOS. Most videos shows Xcode 8 and Swift 3 but you can take the gist of it since iOS APIs are quite stable.
- Web Reference: iOS Human Interface Guidelines. Last but not least, the official human interface guidelines from Apple. I was surprised to find people who self-proclaimed as iOS Developers but never took the time to understand and digest what I see as a standard reference. Note that Apple updates this guidelines with every operating system release — be sure to review it at every WWDC season as new user-facing features are introduced.
Hopefully that’s useful for you. Do let me know if you find some good user-centric resources for technologists.