Transcript
Page 1: Orion (What's Next conference)

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.

Page 2: Orion (What's Next conference)

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.

Page 3: Orion (What's Next conference)

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.

Page 4: Orion (What's Next conference)

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.

Page 5: Orion (What's Next conference)

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.

Page 6: Orion (What's Next conference)

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.

Page 7: Orion (What's Next conference)

Demo

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Page 8: Orion (What's Next conference)

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.

Page 9: Orion (What's Next conference)

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.

Page 10: Orion (What's Next conference)

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.

Page 11: Orion (What's Next conference)

AddiEonal  thoughts:  Why  Orion

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Page 12: Orion (What's Next conference)

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.

Page 13: Orion (What's Next conference)

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.

Page 14: Orion (What's Next conference)

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.

Page 15: Orion (What's Next conference)

IDE

Copyright  (c)  2011  IBM  CorporaEon.  This  work  is  licensed  under  a  CreaEve  Commons  A9ribuEon-­‐ShareAlike  3.0  Unported  License.

Page 16: Orion (What's Next conference)

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.

Page 17: Orion (What's Next conference)

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.

Page 18: Orion (What's Next conference)

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.

Page 19: Orion (What's Next conference)
Page 20: Orion (What's Next conference)
Page 21: Orion (What's Next conference)
Page 22: Orion (What's Next conference)
Page 23: Orion (What's Next conference)
Page 24: Orion (What's Next conference)
Page 25: Orion (What's Next conference)
Page 26: Orion (What's Next conference)
Page 27: Orion (What's Next conference)
Page 28: Orion (What's Next conference)
Page 29: Orion (What's Next conference)
Page 30: Orion (What's Next conference)
Page 31: Orion (What's Next conference)
Page 32: Orion (What's Next conference)
Page 33: Orion (What's Next conference)
Page 34: Orion (What's Next conference)
Page 35: Orion (What's Next conference)
Page 36: Orion (What's Next conference)
Page 37: Orion (What's Next conference)
Page 38: Orion (What's Next conference)
Page 39: Orion (What's Next conference)
Page 40: Orion (What's Next conference)
Page 41: Orion (What's Next conference)
Page 42: Orion (What's Next conference)
Page 43: Orion (What's Next conference)
Page 44: Orion (What's Next conference)
Page 45: Orion (What's Next conference)
Page 46: Orion (What's Next conference)
Page 47: Orion (What's Next conference)
Page 48: Orion (What's Next conference)
Page 49: Orion (What's Next conference)
Page 50: Orion (What's Next conference)
Page 51: Orion (What's Next conference)
Page 52: Orion (What's Next conference)
Page 53: Orion (What's Next conference)
Page 54: Orion (What's Next conference)
Page 55: Orion (What's Next conference)
Page 56: Orion (What's Next conference)
Page 57: Orion (What's Next conference)
Page 58: Orion (What's Next conference)
Page 59: Orion (What's Next conference)
Page 60: Orion (What's Next conference)
Page 61: Orion (What's Next conference)
Page 62: Orion (What's Next conference)
Page 63: Orion (What's Next conference)
Page 64: Orion (What's Next conference)
Page 65: Orion (What's Next conference)
Page 66: Orion (What's Next conference)
Page 67: Orion (What's Next conference)
Page 68: Orion (What's Next conference)
Page 69: Orion (What's Next conference)
Page 70: Orion (What's Next conference)
Page 71: Orion (What's Next conference)
Page 72: Orion (What's Next conference)
Page 73: Orion (What's Next conference)
Page 74: Orion (What's Next conference)
Page 75: Orion (What's Next conference)

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.

Page 76: Orion (What's Next conference)

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

Page 77: Orion (What's Next conference)

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.

Page 78: Orion (What's Next conference)

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.

Page 79: Orion (What's Next conference)

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.