Brief Summary
This episode features an interview with Bing Toos, the founder of Craft, a highly opinionated text editor. The conversation explores the challenges of being a design-first engineer and the unique engineering decisions behind Craft's development. The episode highlights the importance of building custom components, the benefits of a single codebase across platforms, and the power of local-first software.
- Bing Toos shares his experience as a design-first engineer, navigating the expectations of both engineering and design teams.
- He discusses the unique engineering decisions behind Craft, including building custom components and using a single codebase across platforms.
- The episode emphasizes the importance of local-first software and its potential for personal software categories.
Being a Design-First Engineer
Bing Toos discusses his journey as a design-first engineer, highlighting the challenges of fitting in with both engineering and design teams. He explains that his focus on user-facing experiences led him to prioritize UI and UX over traditional backend engineering principles. He shares how his approach was often met with skepticism from both sides, leading him to occupy an "in-between" space.
Craft's Unique Engineering Decisions
Bing Toos explains the unique engineering decisions behind Craft, emphasizing the importance of building custom components instead of relying on native iOS and Mac ones. He argues that this approach allows for greater control and flexibility, enabling Craft to achieve a level of fluidity and responsiveness that wouldn't be possible with pre-built components. He also discusses the decision to avoid using Auto Layout, a framework that simplifies layout but can lead to performance issues and limitations.
Craft's Single Codebase
Bing Toos explains the decision to use a single codebase for Craft across mobile, iPad, desktop, and even Vision Pro. He believes that this approach allows for a more consistent and unified user experience, ensuring that the same features and functionality are available across all platforms. He also highlights the benefits of this approach in terms of development efficiency, as it reduces the need to maintain multiple codebases.
Local-First Software
Bing Toos discusses the importance of local-first software, arguing that it offers significant advantages for personal software categories. He explains that local-first software allows users to access their data and functionality even when they are offline, making it ideal for situations where internet connectivity is unreliable. He also highlights the potential for local-first software to reduce server costs and offer more flexible pricing models.
Craft's Design System
Bing Toos explains Craft's design system, which differs from traditional Atomic design systems. He argues that Craft's approach focuses on creating a consistent and harmonious user experience through animation and visual customization. He emphasizes the importance of having a shared understanding of animation principles and the need to enforce consistent usage of animation libraries.
Craft's Opinionated Design
Bing Toos discusses Craft's opinionated design, arguing that it is essential for personal software categories. He draws parallels with the success of opinionated brands in other industries, such as running shoes, where consumers choose products based on their values and aesthetics rather than purely objective performance. He believes that Craft's unique features and design choices contribute to its appeal and differentiate it from other text editors.
Craft's Small Team
Bing Toos discusses the size of Craft's team, revealing that it consists of around 20 people, including product engineering, design, and QA. He explains that the team is structured around platform teams, with three to four people on each team. He also shares his experience with scaling the team, noting that larger teams can lead to communication breakdowns and slower iteration speeds.
Advice for Front-End Engineers
Bing Toos offers advice to front-end and mobile engineers who are passionate about their craft but feel stuck in their careers. He emphasizes the importance of building prototypes and showcasing the value of their work to decision-makers. He also encourages engineers to embrace the power of AI and LLMs to accelerate their prototyping process.
Using AI in Front-End Development
Bing Toos discusses his use of AI in front-end development, highlighting its potential to accelerate the development process. He shares an example of how AI helped him solve a complex shape recognition problem in Craft, saving him significant time and effort. He also discusses the potential for AI to assist with writing Shader code, opening up new possibilities for visual design.
Bing Toos's Hands-On Approach
Bing Toos emphasizes his hands-on approach to development, explaining that he still writes a significant amount of code. He believes that this approach allows him to maintain a deep understanding of the product and stay connected to user feedback. He also highlights the value of his unique skillset, which combines product engineering and design, enabling him to find pragmatic solutions to complex problems.
Rapid Questions
Bing Toos answers a series of rapid questions, revealing his favorite programming language (Swift), his preferred design tool (code), and his recommended book (Hard Things About Hard Things by Ben Horowitz).