Improving the UX of extension install, and Butterfly

I don't think there's any question that improving the extension
ecosystem is important. It's been terrible since Day 1 and only gotten
worse. The question is how we go about doing it.

I would argue that the ordering should be:

  1. Decide what extension points we want to support & document the rest
    as deprecated
  2. Review/design the APIs that support those extension points with a
    careful eye towards long term maintainability
  3. Put additional technical infrastructure in place to support this such as:
    a. hiding internal implementation classes in private packages
    b. making an API compatibility review part of the release process, etc.
    c. bulletproofing extension loading
  4. Review 1-3 with existing and potential extension developers and
    revise as necessary
  5. Implement the above
  6. Update sample extension, tutorials, documentation
  7. Release the above together with any other breaking changes which
    are pending (Servlet API, etc)

These are the technical underpinnings for thriving ecosystems like:

https://chromewebstore.google.com/

Tom

2 Likes