Orion is not just another set of developer tools. More broadly, Orion is a way of doing software development on the web. Such development invariably uses a wide variety of tools, services, and web sites. Some of these tools and services will be hosted on an Orion server, others will be hosted elsewhere -- possibly along with a small bit of glue code to facilitate integrating them with other Orion tools. As such, there are many different ways to "use Orion". This document attempts to capture some of the basic Orion usage workflows that we intend to focus on in 2011.
To facilitate discussion of these different uses of Orion, here are some proposed Orion user personas. Feel free to flesh these out with more detail, or add others.
Before Orion came along, Nathan's traditional workflow was to copy the site contents to his Ubuntu desktop using Filezilla (SFTP), and then use local development tools such as vi, grep, etc. He would "test" changes by pushing them directly to the live server. If a change felt risky he would create a separate copy of the web page for testing, then push that test page to a separate URL on the live server with no links to it.
Before Orion, Ellie used the git command line to pull changes to her MacBook, where she used a combination of TextMate and browser debugging tools to develop her library. After running her test suites in a variety of browsers she would push changes back to GitHub for the community to grab the changes.
Principle Tooling Requirements
Here is what each of the user personas needs most from Orion:
- Global search
- SFTP import/export
- A way to test changes without delivering to live server
- Tools for managing and running JS test suites
- Basic Git workflow: clone, log, status, push, pull
- Global search
- Ability to use a combination of browser-based and traditional desktop tools