Published Sep 3, 2019

Episode 113: Building Platforms with Jeff McAffer

Discover the art of building robust platforms with Jeff McAffer, as he delves into the nuances of platform versus frameworks, the critical role of API design, and overcoming challenges in maintaining balance and vision in development.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • API Compatibility

    Maintaining API compatibility is crucial in platform development, as it ensures that existing plugins and applications continue to function smoothly across updates. explains that binary compatibility allows compiled bundles to be reused without recompilation, which is essential for seamless platform evolution 1. However, challenges arise when changes, such as adding methods to interfaces, break this compatibility, leading to runtime errors 2. inquires about strategies to maintain backward compatibility, highlighting the importance of careful API design and versioning to avoid such pitfalls 3.

    If I then turn around and add a method to Foo, then your implementation of Foo will be broken.

    ---

       

    Design Principles

    Effective API design is foundational to creating robust platforms. emphasizes that concise and flexible APIs are critical for platform quality, enabling ease of use and maintenance 4. He illustrates how platforms like Eclipse have transformed industries by providing a solid foundation for building diverse applications 5. Additionally, API tooling plays a vital role in managing version numbers and ensuring compatibility, which helps maintain the platform's integrity over time 6.

    API design impacts everything from your ability to how flexible something is to your ability to evolve it.

    ---

       

    Client Feedback

    Client feedback is integral to refining APIs and ensuring their relevance. discusses the importance of maintaining open communication with clients to align platform development with user needs 7. He shares a personal experience where lack of feedback discouraged further input, underscoring the necessity of valuing client contributions 8. By fostering a culture of interaction and transparency, developers can create more effective APIs and maintain user trust 9.

    If you can instill upon your consumer community a real sense that what they think and what they say matters, then they'll give you that feedback.

    ---

Related Episodes