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.

Building web applications using the web.


Published on

Introduction on how to build web applications quickly by using the web and YQL. Delivered at Open Hack Day Brazil 2010

Published in: Technology, Business

Building web applications using the web.

  1. 1. Building web applications using the web. Christian Heilmann, Brazil Open Hack Day, March 2010, Sao Paulo, Brazil
  2. 2. Web development is becoming more and more easy.
  3. 3. The reason is that the web itself became a platform to build with.
  4. 4. Another reason is that we have pre-built blocks that can be put together quickly to create something.
  5. 5. Something that works, is easy to maintain and can deal with change.
  6. 6. The main trick to building great web products is shifting your point of view.
  7. 7. The interface is not the start.
  8. 8. The interface comes at the end - as it needs the most work.
  9. 9. What you start with is information and a goal.
  10. 10. In other words: What does your app deal with and how do you make it useful for the end user?
  11. 11. Let’s see some examples of that:
  12. 12. GooHooBi
  13. 13. Keywordfinder
  14. 14. GeoMaker
  15. 15. Flickrcollector
  16. 16.
  17. 17. Some very good data sources: everything.html government-data datablog
  18. 18. The trouble with data: You need to get access to the data sources (API keys, authentication) You need to get data in formats that are easy to use for your use case You need to filter the data down to what you really want to have in the end. All of the above multiplies in annoyance with the amount APIs you use.
  19. 19. A great workaround:
  20. 20. YQL turns the web into your database. select * from {datasource} where {conditions}
  21. 21. select * from where text="donkey"
  22. 22. select * from where q="healthcare"
  23. 23. select * from query.multi where queries in ( 'select * from where query="healthcare"', 'select * from where query="healthcare"', 'select * from where q="healthcare"' )
  24. 24. select content from html where url="" and xpath="//h2/a"
  25. 25. select * from google.translate where q in ( select content from html where url="http://" and xpath="//h2/a" ) and target="pt"
  26. 26. insert into (title, description, blogurl, username, password) values ("Test Title", "This is a test body", "http://", "yqltest", "password")
  27. 27. Using YQL has a lot of benefits: No time wasted reading API docs Using the console makes creating complex queries dead easy. Data filtering down to the least amount necessary. Fast pipes. Caching + converting Server-side JavaScript
  28. 28. Using YQL is easy! (PHP)
  29. 29. Using YQL is easy! (JavaScript)
  30. 30.
  31. 31. Starting with the data made me independent of the final platform.
  32. 32.
  33. 33. The next trick is to use libraries to make the problem of browsers vanish.
  34. 34. Libraries. (...)
  35. 35. h%p://
  36. 36. h%p://
  37. 37. And tools that work around cross-platform issues.
  38. 38. Appcelerator Titanium
  39. 39. If you build your app, start with interfaces that work everywhere.
  40. 40.
  41. 41. bloc=230&bstart=50&bend=54&start=50&end=54&loc= 230
  42. 42. When you have that - enhance it to make the experience smoother.
  43. 43. #configure
  44. 44. autocomplete/ac_basic_array.html
  45. 45. slider_dual_with_highlight.html
  46. 46. Data to be used can be in “offline” formats - the web will take care of that.
  47. 47.
  48. 48. 11/winter-olympics-medals-by-country
  49. 49. select * from csv where url="http:// key=tpWDkIZMZleQaREf493v1Jw&output= csv" and columns="Year,City,Sport,Discipline,Countr y,Event, Gender,Type" and Year="1924"
  50. 50.
  51. 51. So, think of a problem to solve and then start gathering your data.
  52. 52. Then use the blocks I talked about to put the solutions together.
  53. 53.  Chris:an Heilmann  h%p://wait‐:ll‐  Thanks!  h%p://developer‐  h%p://