Skip to content

Symphony 3 Vision

Craig Zheng edited this page Apr 26, 2011 · 2 revisions

Summary

Symphony 3 will be faster, easier to use, and more flexible than ever before.

It will make enormous strides in terms of usability—building simple sites will be insanely easy, and building complex sites will be surprisingly elegant. The system will have a robust, secure API that makes it easy to import and export content and integrate with third-party services. The extension ecosystem will be well-organized and thriving, and high-quality extensions will be easy to discover, install, and update from within the Symphony admin.

Oh, and the UI will be intuitive and beautiful.

What are our priorities?

We have five broad architectural priorities for Symphony 3:

  1. Leanness — be fast, efficient, and have a small footprint
  2. Usability — be easy to learn, easy to use
  3. Modularity — provide the tools for users to craft their own solutions
  4. Openness — have a robust, consistent API, and support more formats
  5. Extensibility — support a well-organized, robust, easy-to-use extensions ecosystem

In addition to these broader architectural priorities, we’ll be asking each of the working groups to develop a set of implementational priorities. The Core group, for example, will prioritize things like code structure and consistency and the provision of framework-level utilities for routing, validation, and so on.

What are the problems we’re trying to solve?

One of our primary goals with Symphony 3 will be to address the most glaring shortcomings of Symphony 2. Broadly speaking, we see this work grouped into four overarching tasks:

  • Improve developer workflows by making it easier to work across multiple environments; providing a better API; and making it easier to build, find, and install extensions.
  • Improve publisher workflows by providing an access control layer; making it easier to manage content relationships; making it easier to manage assets; and providing more intuitive interfaces.
  • Address core inefficiencies and limitations like the high use of system memory, database queries, the inflexibility of data storage, and the rigidity of field architecture (not repeatable, etc).
  • Solve specific implementation problems like content versioning, multilingual sites, and static pages.
Clone this wiki locally