Jump to: navigation, search

Difference between revisions of "Orion/Use Cases"

(Nathan)
Line 9: Line 9:
 
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. His issue tracking system is a combination of a "TODO" folder in his email client, and sticky notes attached to his monitor.
 
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. His issue tracking system is a combination of a "TODO" folder in his email client, and sticky notes attached to his monitor.
  
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.
+
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.
  
 
== Ellie ==
 
== Ellie ==

Revision as of 15:47, 21 April 2011

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.

Personas

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

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. His issue tracking system is a combination of a "TODO" folder in his email client, and sticky notes attached to his monitor.

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.

Ellie

Ellie is the author of a popular JavaScript library, CoolStuff.js. The library is used by many kinds of consumers such as web sites, mobile applications, and standalone Rhino or node.js applications. Her project is hosted on a third party SCM service (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.

Boris

Boris develops Orion itself. He works on both server side components written in Java, as well as the client built on HTML, CSS, and JavaScript. He needs to use traditional Eclipse desktop tools for server development, but Orion for everything else. He uses git.eclipse.org for source control, and Eclipse bugzilla for issue tracking.

Principle Tooling Requirements

Here is what each of the user personas needs most from Orion:

Nathan

  • Excellent source editor HTML, CSS, PHP, and JavaScript
  • Global search
  • SFTP import/export
  • A way to test changes without delivering to live server

Ellie

  • Excellent JavaScript editor
  • Tools for managing and running JS test suites
  • Basic Git workflow: clone, log, status, push, pull

Boris

  • Excellent source editor HTML, CSS, and JavaScript
  • Global search
  • Ability to use a combination of browser-based and traditional desktop tools