Things to use, find and share


Published on

My talk at the inaugural Yahoo7 open sessions talking about all the developer helpers Yahoo offers.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Things to use, find and share

  1. 1. Things to use, find and share. Christian Heilmann | | Yahoo7 Open Session, Sydney, Australia April 2009
  2. 2. Hi there, I am Chris.
  3. 3. I am right now on a pretty mental schedule giving talks down south.
  4. 4. Last week I flew from home (London, UK) to Hong Kong, Taipei, drove to Hsinchu, back to Taipei, onwards to Sydney via Hong Kong, then to Melbourne and now back to Sydney.
  5. 5. All with the mission to share good info to make web development easier.
  6. 6. Doing that and not sleeping much does things to you.
  7. 7. You see hidden messages.
  8. 8. ...and you misinterpret others.
  9. 9. I live in London, England
  10. 10. Spring Summer The snow flake that spells the end of public transport * Autumn Winter
  11. 11. Originally I am German
  12. 12. FIRST!
  13. 13. Humour.
  14. 14. I building great interfaces to access and find data.
  15. 15. And I love making them work for everybody.
  16. 16. The problem is that for years it was quite a job to make this is a reality.
  17. 17. Nowadays we are very lucky as developers.
  18. 18. It is increasingly easy to develop great products.
  19. 19. The trick is to build them with parts that are proven to work.
  20. 20. And these parts are readily available for us.
  21. 21. Over the last years a revolution happened.
  22. 22. Companies and individuals started realizing the power of giving things out to the public.
  23. 23. By allowing people to use your products and keep an open ear you have a great opportunity to improve them.
  24. 24. And this is exactly what we do at the Yahoo Developer Network.
  25. 25. Basically almost everything you see in use on Yahoo’s sites is available to you to build your solutions on.
  26. 26. This starts with the thing great products are built on: user research.
  27. 27.
  28. 28. The pattern library contains information on how users told us they reach their goals on our sites the easiest.
  29. 29. The information is licensed creative commons, which means you can use and alter it.
  30. 30. If you want to plan your interfaces based on these results, you even get them as stencils.
  31. 31.
  32. 32. Once you planned your product, the next problem is ensuring it works.
  33. 33. For this, we need to somehow make sense of the crazy world of user agents (browsers, really).
  34. 34. Trying to build web products that look and work the same for every browser out there is not possible...
  35. 35. ...unless you limit yourself to a terrible user experience.
  36. 36. As we didn’t want this, we came up with a methodology to define “support”.
  37. 37.
  38. 38. Once this was done, we had a chance to fix problems and build a solid base to work on.
  39. 39.
  40. 40. The Yahoo User Interface Library starts with making the creation of predictable designs easy.
  41. 41. CSS
  42. 42. CSS reset gets rid of browser differences.
  43. 43. CSS fonts allow you to create predictable and scalable typography across browsers.
  44. 44. And CSS grids allow you to create multi-column layouts.
  45. 45. Even for *very* lazy developers:
  46. 46. Once the CSS was less confusing, we tackled JavaScript and browser confusions.
  47. 47. And with this arsenal we built reusable widgets to mix and match.
  48. 48.
  49. 49. All of the widgets can be extended and styled the way you want them to.
  50. 50.
  51. 51. You can extend the widgets by listening for events that happen to them.
  52. 52. ac_basic_xhr_log.html
  53. 53. They are built with ideas I very much subscribe to, like progressive enhancement.
  54. 54. Without JavaScript With JavaScript
  55. 55. Without JavaScript With JavaScript
  56. 56. We provide the bricks, you build the product.
  57. 57. All of this is open source, fully documented and you can either host it yourself or get it from a high speed distributed network (even Google’s).
  58. 58. Another thing to consider is how your products perform.
  59. 59. Fast and smooth products make users happy.
  60. 60.
  61. 61. You can test your products easily with YSlow.
  62. 62. This solves most of our issues these days.
  63. 63. And allows you to quickly create products that work.
  64. 64. This solves most of our issues these days.
  65. 65. How about reaching out and finding data in other resources?
  66. 66.
  67. 67. Using Yahoo BOSS you can build own search engines based on Yahoo’s search index.
  68. 68. Results include news, images or web results.
  69. 69. Including keywords, microformats, RDF, social bookmarking data, incoming links...
  70. 70. Thus you can create niche search products.
  71. 71. Thus you can create niche search products.
  72. 72. Thus you can create niche search products.
  73. 73. What if you want to reach even further?
  74. 74. I personally have this crazy idea of the web.
  75. 75. Users see the web as an interface.
  76. 76. Developers have x-ray vision and see code
  77. 77. I see something different.
  78. 78. * Sweet data to pick and mix.
  79. 79. We’ve provided a way to access this data for quite a while now.
  80. 80.
  81. 81. However, this was all visual.
  82. 82. How about doing this on a language basis?
  83. 83. Say you want to get photos of Sydney that you are allowed to show in your own products.
  84. 84. You need to define Sydney, Australia without a doubt. select woeid from geo.places where text='sydney,au'
  85. 85. Then find photos that were taken there. select id from where woe_id in (select woeid from geo.places where text='sydney,au')
  86. 86. Check that they have the right license. select id from where woe_id in (select woeid from geo.places where text='sydney,au') and license=4
  87. 87. And get all the information about them. select * from where photo_id in (select id from where woe_id in (select woeid from geo.places where text='sydney,au') and license=4)
  88. 88.*%20from %20from%20geo.places%20where%20text%3D%27sydney%2Cau%27)%20and %20license%3D4)
  89. 89. YQL gets the data, caches it and gives you information about the retrieval time.
  90. 90. The results are available in XML or JSON and can be filtered down to the bare necessities.
  91. 91. Using this you can get all the data you spread on the web...
  92. 92. ...and collate it in a single interface.
  93. 93. You can also use YQL to help people like me to get and use data provided by you using this interface.
  94. 94. The trick is to tell us with a schema where your data is.
  95. 95. And then use the schema in a query inside YQL as an “open table”
  96. 96. use ' search.xml' as nmm; select * from nmm where category = 'art' and searchterm = 'quot;tower bridgequot;'
  97. 97. A lot of companies already start doing that.
  98. 98.
  99. 99. So, go and grab and use and give back and we’ll all make the web the best it can be.
  100. 100. THANKS! Christian Heilmann Text