How to Build an iPhone App that Doesn't Suck

TL;DR
Start by defining who the user is and what problem you are solving, not by jumping to a solution or code. The strongest path is building for yourself, because you already know the need, as Lauren did with Tweety. Before coding, study the App Store and Apple's own apps so users can instantly understand your design.
Transcript
Stanford University all right why don't we get started all right so afternoon everyone uh my name is Steve marman um I amum I I was invited here today to talk about uh the iPhone user interface guidelines and I'm going to talk about that but in a broader context in in sort of the larger process of how you actually make an iPhone application that do... Read More
Key Insights
- The Apple HIG is a valuable but low-level document, specifying which control to use and how many pixels it sits from another, so it is too narrow for someone deciding what app to build or how to approach the overall process.
- A common mistake is starting with a solution, like a location-aware social network, instead of identifying the underlying user need, such as friends struggling to coordinate where to eat dinner.
- The first step is choosing who the specific user is and what problem you are solving, because it is impossible to build software for everybody, so you must pick a particular person or user group.
- Building for yourself is the guaranteed path to a successful app, since you know your own needs, features, and usage, and get an immediate feedback loop while developing, which is how Lauren built Tweety.
- Roughly 80% of software projects fail because developers do not understand what users actually want until the finished product is put in front of them and users say they needed something different.
- When building for others, such as grandmothers, you should go out and meet those people and create a Persona, a stereotypical made-up user, to guide feature decisions throughout development.
- On the iPhone users have very limited attention and patience, and most applications are never used more than once, so an app must be immediately learnable and similar to what users already know.
- Before coding, visit the App Store and study popular apps and Apple's built-in apps, because apps are often already written well, and this reveals user expectations and avoids reinventing the wheel.
Install to Summarize YouTube Videos and Get Transcripts
Explore YouTube Video Summarizer or Get YouTube Transcript Extractor
Questions & Answers
Q: How do you build an iPhone app that doesn't suck?
According to Steve Marmon, you follow a broader design process rather than just the Apple HIG. Begin by deciding what to build based on a specific user and a real problem, ideally building for yourself. Study existing App Store and Apple apps before coding so your design is familiar and immediately learnable. The user interface matters to a huge degree in whether an app succeeds or sells poorly, even in spaces without much competition.
Q: What is the first step in building an iPhone app?
The first step is deciding what to build, which means identifying who the specific user is and what problem you are trying to solve. Many people mistakenly start with a solution, like a location-aware social network, without being clear on the underlying need. Because it is impossible to build software for everybody, you must choose a particular person or user group before jumping to solutions or writing any code.
Q: Why is building an app for yourself the best approach?
Building for yourself is described as the guaranteed path to success because if you are the user, you already know your needs, which features you want, and what you will and won't use. You get an immediate feedback loop and can use the app while developing it. It is extremely hard to imagine what other people want, which is why roughly 80% of software projects fail, so being your own user removes that uncertainty.
Q: What is a Persona and why should you create one?
A Persona is a representation of the user you are building the app for when it isn't yourself. It does not have to be a real person; it can be a stereotypical made-up individual formed from people you have met. Marmon gives the example of a grandmother in Michigan with three grandkids in California who loves drawing pictures with them. Posting the Persona above your computer helps you judge whether each feature actually fits that user's needs.
Q: Why do most software projects fail according to the talk?
About 80% of software projects fail because the developers do not really understand what users actually want until the product is finished and placed in front of them. At that point users often say they didn't need what was built and needed something else instead. Imagining what other people want is much harder than developers realize, which is why understanding the real user and their problem up front is emphasized so heavily.
Q: What is the Apple HIG and why isn't it enough on its own?
The HIG, or Human Interface Guidelines, is a document Marmon calls wonderful and says everyone should read. However, it focuses on low-level details such as which control to use, where it goes on the screen, and how many pixels it should be from another control. That makes it very useful as a reference while developing, but too narrow and specific for someone just starting who wants to know what app to build and what the overall process should be.
Q: Why should you visit the App Store before writing code?
Marmon recommends visiting the App Store first because it is surprising how often people write apps that already exist and have been written well. Beyond that, studying popular apps and Apple's built-in apps shows how controls are really used and what users expect. Since the iPhone gives little room to teach new interactions and most apps are never used more than once, matching familiar designs makes your app immediately learnable and helps you avoid reinventing the wheel.
Q: What made Tweety succeed compared to other Twitter apps?
Tweety, built by Lauren, became the bestselling Twitter app on the store even though it costs money while the majority of other Twitter apps are free. It did not really have many more features than the other apps, so its dominance came down largely to its user interface. Lauren built it for himself rather than for everybody, which gave him a clear understanding of the needs and an immediate feedback loop during development.
Summary
In this video, Steve Marmam discusses the process of designing an iPhone application. He emphasizes the importance of considering the broader context and user needs, rather than just focusing on the technical details. He shares insights from his experience working at Apple and the Design School. Throughout the video, he provides valuable tips and recommendations for creating a successful app.
Questions & Answers
Q: What are some issues with the iPhone user interface guidelines (HIG)?
The HIG is a useful resource for referencing specific controls and positioning on the screen. However, it can be too focused on low-level details and lacks guidance on the overall app development process. It's important to think beyond the HIG and consider the broader context and user needs.
Q: How should you decide what app to build?
Instead of starting with a solution, it's important to first identify the specific user group and problem you want to solve. For example, if you want to build a social network for grandmothers, talk to them and understand their needs. Building an app for a specific user group increases the chances of success.
Q: What is the best way to ensure a successful app?
Building an app for yourself, where you are the target user, is the best path to success. This allows you to understand your own needs, what features you want, and the immediate feedback loop as you develop the app. However, if you want to build for a different user group, it's crucial to connect with them and understand their needs through interviews and observations.
Q: How can you leverage existing apps and designs?
Looking at the App Store and using existing apps as references can provide valuable insights. Consider what popular apps are doing and how users interact with them. This helps you understand user expectations and avoid reinventing the wheel. You can also find design inspiration and learn from successful apps in your target market.
Q: How should you approach exploring solutions for your app?
It's important to be mindful of the constraints of the iPhone, such as screen size, limited input capabilities, and short user interaction times. Think about what data is necessary and prioritize the essential features. Avoid overloading the app with unnecessary features, but ensure it still meets the needs of the target user group. Be minimal in your design approach and strive to achieve the right balance of features.
Q: What is the benefit of sketching and paper prototyping?
Sketching and paper prototyping offer a quick and low-cost way to explore design ideas and test user interactions before investing time in coding. Sketching multiple versions of your app allows you to iterate and narrow down the best design. Paper prototypes enable users to interact with the app's interface and provide valuable feedback. Through this process, you can discover and address usability issues early on.
Q: What tools can be used for designing iPhone apps?
Applications like OmniGraffle are recommended for designing iPhone apps. These tools provide stencil libraries and vector-based design capabilities. OmniGraffle allows you to create precise and pixel-perfect designs that closely resemble the final app. It is especially useful for collaboration and sharing design files with other team members.
Q: Why is it important to be pixel perfect in the design phase?
Being pixel perfect in the design phase ensures that the layout, spacing, and visual elements are accurate and realistic. It allows you to see how the app will look and function before starting the development process. Pixel-perfect designs also facilitate effective communication and alignment among team members, reducing confusion and interpretation issues.
Q: How can you ensure the success of your app throughout the design process?
The key is to iterate and gather feedback at each stage of the design process. Engage with actual users or target user groups to test prototypes and gain valuable insights. Embrace failure early on to identify and address flaws and usability issues sooner rather than later. This approach increases the chances of creating a successful app that meets user needs and expectations.
Q: How does exploring different design possibilities help in the app development process?
Exploring different design possibilities allows for innovation and creativity. By considering various options, you can identify unique features or design elements that set your app apart from competitors. It also gives you a better understanding of what works best for the target user group, ultimately leading to a more refined and user-friendly app.
Q: How can storytelling assist in designing an app?
Creating a narrative or persona of the target user can guide the design process. This persona represents the user's characteristics, needs, and goals. By referencing this persona during the design process, you can ensure that the app's features and functionality align with the user's expectations. Storytelling helps maintain a user-centered focus throughout the app development journey.
Takeaways
Creating a successful iPhone application involves more than following the user interface guidelines. It requires considering the broader context, understanding user needs, exploring design possibilities, and gathering feedback at each stage of the process. By being mindful of constraints and leveraging existing designs, developers can create user-friendly applications that meet specific user needs. The key is to iterate and gather feedback early on to identify and address issues before investing significant time and resources in coding. Implementing a user-centered approach and being open to failure are crucial for building impactful and successful iPhone apps.
Summary & Key Takeaways
-
Steve Marmon, a Stanford HCI master's student who has worked at Apple and the design school affiliated with IDEO, presents a broader ten-step process for making an iPhone app that doesn't suck, going beyond the low-level Apple Human Interface Guidelines that only cover specific controls and pixel placement.
-
The first step is deciding what to build by identifying a specific user and the problem being solved, rather than jumping straight to a solution or to code. Building for yourself is the surest path to success because you understand the need firsthand, as Lauren did with Tweety.
-
When building for others, meet those people and create a Persona to guide decisions. Before coding, study the App Store and Apple's apps, since work is often already done, users have limited patience, most apps are used only once, and familiarity makes an app instantly learnable.
Read in Other Languages (beta)
Share This Summary 📚
Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator
Explore More Summaries from Stanford 📚






Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator