Labs/Bespin/Roadmap/Reboot: Difference between revisions

From MozillaWiki
< Labs‎ | Bespin‎ | Roadmap
Jump to navigation Jump to search
Line 21: Line 21:
* Embedded component is a first class citizen
* Embedded component is a first class citizen
* Provide a fantastic editor user experience
* Provide a fantastic editor user experience
* Support for local file access and multiple backends


What are un-goals?
What are un-goals?

Revision as of 23:29, 1 September 2009

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