Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Web As A Platform

2,477 views

Published on

Web as a Platform presentation given by Evgeny Morozov at a Transitions Online training in Prague, May 09/2008

Published in: Economy & Finance, Technology
  • Be the first to comment

Web As A Platform

  1. 1. Web as a Platform May 09, 2008 by Evgeny Morozov
  2. 2. Why do we need platforms?
  3. 3. THEY HELP US BUILD STUFF They help us build stuff
  4. 4. Windows OS is a platform
  5. 5. It helped to build this man's fortune
  6. 6. But it also helped to build millions of software applications for Windows
  7. 7. How do you become a Bill Gates (i.e. build a successful platform)? IMPORTANT TAKE-AWAY!
  8. 8. Caution: do you really want it?
  9. 9. Answer: Develop a good API
  10. 10. Do we need another API? :-)‏ Academic Programs International American Petroleum Institute Australian Property Institute Australian Pharmaceuticals Industries American Press Institute Aerospace Products International Animal Protection Institute Asia Paranormal Investigators Attachment Parenting International American Poster Institute
  11. 11. API crash-course API, or Application Programming Interface, is a set of functions that one computer program makes available to other programs so they can talk to it directly.
  12. 12. Programs talk to each other all the time ( programmers not so much;-)
  13. 13. How does one create software that draws?
  14. 14. Program: "I need to draw a line" Windows: "To draw a line, use Function 1” COMMAND: "...if a program asks for Function 1, execute Activity 1”
  15. 15. Result: Photoshop
  16. 16. Program: I need to input & edit text OS: “To delete, use Function 1, to start a new line use Function 2” COMMAND: “If program requests Function 1, execute Activity 1; if program requests Function 2, execute Activity 2”
  17. 17. Result: MS Office
  18. 19. + millions of other commands
  19. 20. =Microsoft Vista (400 USD and 20 GB of space)‏
  20. 21. How Not to Become a Bill Gates Build a poorly structured and undocumented platform
  21. 22. Internet was born in chaos, more a data dump than a platform
  22. 23. Internet before Web2.0 was great for displaying and viewing data, not for building data applications
  23. 24. Teaser: Web2.0 changed some of that
  24. 25. ...but first Crash course on “Data studies”
  25. 26. 1. Content 2. Structure 3. Presentation 1. Content 2. Structure 3. Presentation Web data: 3 key features
  26. 27. :CONTENT:
  27. 28. Content “ Free for all” area that contains just the words (or numbers)‏ The words could be about: * A story * Instruction * Definitions * Or what have you
  28. 29. text
  29. 30. :STRUCTURE:
  30. 31. II. Structure This is the document type and the organization of its elements. For example: * Memo * Contract * Newspaper article * Glossary * Index
  31. 35. :PRESENTATION:
  32. 36. III. Presentation This is where the information presented to the client is organized and formatted Presentation would control elements such as font types and sizes, etc
  33. 38. Time for inappropriate analogy!
  34. 39. Is music data? Is music data?
  35. 40. Anatomy of a tune 1. Content (the actual sounds)‏ 2. Structure (length, volume)‏ 3. Presentation (tempo, mood)‏ Anatomy of a tune
  36. 41. Same tune; two methods
  37. 42. The intuitive way
  38. 43. The academic way
  39. 44. Web1.0: Era of HTML With HTML your Content, Structure, and Presentation are all integrated.
  40. 45. In short, the HTML code a) makes your page look like it does b) contains the actual data displayed on the page c) controls fonts, text size, etc
  41. 46. HTML PROVIDES FOR DISPLAY, NOT DOCUMENT STRUCTURE, SEMANTICS, OR CONTENT
  42. 47. HTML=The Intuitive Way You play the tune even though you have no idea about sheet music
  43. 48. Web2.0: Era of XML Content, Structure, Presentation are separate
  44. 49. XML provides a standard approach for *Describing information * Capturing information * Processing information * Publishing information
  45. 50. XML allows you to describe the abstract structure of your data using your own vocabulary
  46. 51. XML=The Academic Way You know how to read music
  47. 53. Cooking Rhubarb Cobbler Evgeny Morozov May,09 2008 Rhubarb Cobbler made with bananas as the main sweetener. It was delicious. Basically it was 2 1/2 cups diced rhubarb 2 tablespoons sugar 2 fairly ripe bananas 1/4 teaspoon cinnamon dash of nutmeg Combine all and use as cobbler, pie, or crisp. Related recipes: Garden Quiche
  48. 54. What is “rhubarb”?
  49. 55. HTML <h1>Cooking Rhubarb Cobbler</h1> <h2>Evgeny Morozov</h2> <h3>May,09 2008</h3> Rhubarb Cobbler made with bananas as the main sweetener. It was delicious. Basically it was <table> <tr><td> 2 1/2 cups <td> diced rhubarb <tr><td> 2 tablespoons <td> sugar <tr><td> 2 <td> fairly ripe bananas <tr><td> 1/4 teaspoon <td> cinnamon <tr><td> dash of <td> nutmeg </table> Combine all and use as cobbler, pie, or crisp. Related recipes: <a href=&quot;#GardenQuiche&quot;>Garden Quiche</a>
  50. 56. XML <recipe id=&quot;117&quot; category=&quot;dessert&quot;> <title>Rhubarb Cobbler</title> <author>Evgeny Morozov></author> <date>May 09, 2008</date> <description> Rhubarb Cobbler made with bananas as the main sweetener. It was delicious. </description> <ingredients> <item><amount>2 1/2 cups</amount><type>diced rhubarb</type></item> <item><amount>2 tablespoons</amount><type>sugar</type></item> <item><amount>2</amount><type>fairly ripe bananas</type></item> <item><amount>1/4 teaspoon</amount><type>cinnamon</type></item> <item><amount>dash of</amount><type>nutmeg</type></item> </ingredients> <preparation> Combine all and use as cobbler, pie, or crisp. </preparation> <related url=&quot;#GardenQuiche&quot;>Garden Quiche</related> </recipe>
  51. 57. Building an API Super-cool cooking site: “How do I display how many spoons of sugar to use to cook Rhubarb Cobbler?” XML site: “Query for <amount> of the <type> “sugar” HTML site: I beg your pardon? (eventually crashes ;-)‏
  52. 58. From rhubarb to YouTube
  53. 59. YouTube's API Your blog : &quot;I need to display all videos from your site tagged as &quot;FUNNY&quot; YouTube : &quot;Please access videos at youtube.com/tag/word, where &quot;word&quot; should be replaced with &quot;FUNNY&quot; COMMAND: &quot;...to display video tagged with a particular tag, the query should be of the form youtube.com/word/tag/&quot;
  54. 60. AMAZON's API: Online retailer: &quot;I need to display price for all Amazon items I am selling” Amazon: &quot;Please ask for parameter PRICE to get price information&quot; COMMAND: &quot;...if a third-party site asks for PRICE, display PRICE value&quot; Online retailer: &quot;I need to display price for all Amazon items I am selling” Amazon: &quot;Please ask for parameter PRICE to get price information&quot; COMMAND: &quot;...if a third-party site asks for PRICE, display PRICE value&quot;
  55. 61. XML allows to EASILY move data between different platforms XML allows to EASILY move data between different platforms
  56. 62. How do you play the guitar part on the piano? Academic: “just look at the sheets, stupid” “ Intuitive”: “this keyboard looks...ummm...weird..”
  57. 63. Web2.0 explained in one line XML liberated data from its “carriers”
  58. 65. RSS: a way to distribute XML content
  59. 66. RSS is content neutral: it could deliver text, could be photos, could be videos It's just a pipeline carrying content to the end-user
  60. 67. Push versus Pull
  61. 76. “ Digital Footprints”
  62. 80. Why remix? Most data sets are imperfect and incomplete; mixing it with other sets of data often helps make a better/informed decision
  63. 81. Leg Room Information
  64. 82. +Flights
  65. 83. = Flights with more Leg Room!
  66. 84. Remixing the data was extremely difficult in the age of Web1.0
  67. 85. Remixing in the age of Web1.0
  68. 86. Remixing in the age of Web2.0
  69. 87. Spot the difference WEB1.0 WEB1.0 WEB2.0
  70. 88. Web2.0: the Age of the Conductor
  71. 89. Yahoo Pipes: The Conductor
  72. 91. It's not oil, it's data!
  73. 92. A web mashup is a web page or application that combines data from two or more external online source s
  74. 94. Mash-ups: The Lego Model
  75. 95. 3 Lego blocks Pictures Maps Text
  76. 96. Pictures Pictures
  77. 97. Maps Maps
  78. 98. Text (news)‏ Text (news?)‏
  79. 99. Mash-up Matrix (basic)‏
  80. 100. Pictures+Text
  81. 101. Pictures+Maps
  82. 102. Pictures+Maps
  83. 103. Maps+Text
  84. 104. Mash-up Matrix Advanced
  85. 105. Programmable Web Mashup Matrix
  86. 106. #Most mash-ups are developed by third-parties #Just let them know how to use your functions (=provide an API) or give out as much raw data as possible (=provide XML feeds)‏
  87. 107. Good APIs GOOGLE MAPS : 1412 mash-ups FLICKR : 336 mash-ups YOUTUBE : 239 mash-ups Source: Programmable Web, May 2008
  88. 108. Maps Mash-ups: case-study
  89. 120. Working with textual data can often be EVEN more rewarding than working with maps
  90. 132. COMMUNITY

×