Labs/Bespin/Roadmap/Reboot
Jump to navigation
Jump to search
Bespin Reboot 2009
We have a new project to reboot Bespin, building on the knowledge that we have gained from the experiment so far. The goal is to allow us to build a solid foundation for the community at large to build on.
We have a different schedule for the reboot, which is:
- Weekly meetings, building to in person week
- September 4th; flushing out the high level goals
- September 11th
- September 18th
- September 25th
- In person: Week of Sept 28th
- Bringing in consultant to help build on SproutCore
- Use the week to decide if SproutCore Is It
High level principles for Bespin
What are the guiding principles for Bespin?
- Platform for developer tools
- Embedded component is a first class citizen
- Provide a fantastic editor user experience
- Support for local file access and multiple backends
What are un-goals?
- Provide a UI toolkit
- Use canvas
- Be everything to everyone
What are tactical things we want to fix?
What have we learned from Bespin that we don't want to mimic:
- Use a framework
- Events are great, but not too many
- One system for keyboard handling
- Embedded component must be a first class citizen else it gets left behind
- Tests, tests, tests
- Prototypes, prototypes, prototypes
- We jump to implementation too fast
- Plugins, plugins, plugins
- Documentation, ...
What is our software development process?
- How do we do design?
- How do we work together?
- How do we prototype?
How do we work with the community?
- How are we inclusive?
- How do we deal with contributions?
- How do we reward the community?
- How do we grow the community?
What does the architecture look like?
- What does the model look like?
- Does Bespin become a single page app? (no front page, dashboard, login)
- Do we use the concept of "states" to go between LOGIN and COLLABORATING?
- ties into login being part of the main app and not the page before
- How does the embedded editor component fit in?
- Do we build bespin.mozilla.com with the embedded component itself?
- Does it depend on SproutCore? or standalone?
- The system works from a session which can be tied to an account
- Tie into Mozilla ID (which is OpenID) ?
- Allows anonymous/no account access
- Multiple backend provider support baked in
- Multiple servers
- Include support for local file access
- Do we require the concept of "projects"?
- Ramifications for:
- wanting to quickly edit a page (create hidden project?)
- wanting to search across a set of files and grouping operations (e.g. compile)
- Ramifications for: