Jump to: navigation, search

Orion/Use Cases

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.


Nathan is a web site developer. His site uses a third party hosting service that provides commodity server components. He doesn't do any server side development. His site consists of traditional web technologies such as PHP, HTML, CSS, and JavaScript. Nathan thinks Git is just a British slang word, and his idea of source control is to rely on the automatic backup services of his hosting provider.

Before Orion came along, Nathan's traditional workflow was to copy the site contents to his Ubuntu desktop using an SFTP client, 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.


Ellie is the author of a popular JavaScript library, CoolStuff.js. The library is used by thousands of web sites, as well as many standalone Rhino or node.js applications. Her project is hosted on GitHub, where she interacts with a wide community of followers and forks. She has a large suite of JavaScript unit tests that she uses to validate changes and avoid regressions in her library.

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.