Orion: So)ware Developmentin the Browser
Boris BokowskiIBM O9awa Lab
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
About me
• IBM, O9awa, Canada
• Eclipse 1.0, Eclipse 3.2-‐
• PlaQorm UI: JFace, Workbench, IDE
• Orion Co-‐Lead
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
tl;dr -‐ What is Orion?
• So)ware development in the browser: edit code, navigate code, search, versioning/SCM...
• Not an IDE in the Browser -‐ a set of linked web pages
• This makes adding funcEonality easy: link to new pages, potenEally from different servers
• Current target: client-‐side web developers, working with JavaScript, HTML, and CSS
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Why Orion?
•Me-‐too-‐argument:(Almost) everything else is already web-‐based
•More arguments later
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
SW development in the Browser
• Bug tracking (Bugzilla, JIRA, Trac, Lighthouse, RTC)
• Builds (Jenkins/Hudson, CruiseControl, Bamboo, BuildForge)
• Code review (Bugzilla, Gerrit, GitHub)
• DocumentaEon, Code Snippets
• Code repositories (GitHub, ViewCVS, Ohloh, Code Search, RTC)
• Debugger (Firebug, Web Inspector)Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
What’s missing? Not much:
• Code Editor
• Navigator
• SCM (Commit, Compare, Merge, etc.)
• Indexing/Search
• Unit tests
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Demo
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Code Editor
• Fast
• Scalable
•Works in all desktop browsers
• Faster than desktop Eclipseeditor!
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Orion Design Principles
• Regular Hyperlinks, back bu9on, bookmarking, link sharing.
• FuncEonality on separate pages. Page = Task+Resource.
• Performant and Lightweight. Speed trumps power.
• Components should have value on their own.
• Low barrier of entry for adopters. Don’t require technology buy-‐in.
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
IntegraEon PossibiliEes
• Hyperlinks as an integraEon mechanism.
• OSLC, OAuth: Consume and produce server APIs.
• Client-‐side plug-‐ins: adding commands to exisEng UI.
• Integrate with browser debuggers:Firebug, WebKit Inspector
• Host addiEonal UI components, e.g. OpenSocial Gadgets.
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
AddiEonal thoughts: Why Orion
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Development Tools
•We build our own tools.
• Not many other professions are like that.
•We enjoy wriEng tools!
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Command Line
• Edit-‐> Compile -‐> Run
• but also:
find . -‐type f -‐name '*.png'| sort| perl -‐n -‐e 'chomp; /^.*\/([^\/]+)\.png$/; print "\t<section class=\"auto\"><hgroup><h1>".$1."</h1></hgroup><img src=\"content/" .$_. "\"></section>\n";'</p>
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Command Line
• Experts can add tools.
• Powerful integraEon through file system and pipes.
• ScripEng.
• DistribuEon is a problem.
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
IDE
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
IDE
• Hard to add tools.
• Deep integraEon but complex APIs.
• DistribuEon is a problem (sEll).
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
The Web
• Easy to add tools, reachable by URL.
• DistribuEon problem is solved!
• IntegraEon -‐ How do these tools work together?
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
The Web
• Easy to add tools, reachable by URL.
• DistribuEon problem is solved!
• IntegraEon -‐ How do these tools work together?
this is what Orion is about,and why we need to start now
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Why now?
• Online IDEs are up and coming (e.g., Cloud 9 IDE)and to influence the direcEon, we need to play
•We need to fail, learn from mistakes, try again -‐ some things are similar to what we know about IDEs, some things not
•We (IBM) are interested in community-‐building and are contribuEng code as a seed. We want this community to form at the Eclipse FoundaEon
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
DisrupEve InnovaEon
Examples: Digital photography, LC Displays
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Image from Wikimedia Commons: h9p://en.wikipedia.org/wiki/File:DisrupEvetechnology.gif
The Web is the PlaQorm!
• highly distributed content
• scalable compuEng power
• simple connecEvity -‐-‐ links
• trivial update mechanism
• powerful rendering engine
• large, acEve community
• arEfacts all over the web
• large scale analysis possible
• no central “IDE”
• refresh the page
• look and feel easy to adapt
• innovaEon by everyoneCopyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Sign up at eclipse.org/orion
Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Thank you!QuesEons?
on Twi9er: @bokowski Copyright (c) 2011 IBM CorporaEon. This work is licensed under a CreaEve Commons A9ribuEon-‐ShareAlike 3.0 Unported License.
Recommended