HackTech Christian Heilmann | http://wait-till-i.com |http://scriptingenabled.org Georgia, Atlanta, US, Hack-U GeorgiaTech, March 2009
Hello, I am Chris.
I am a hacker and a geek.
And I love to share my passion.
It is nice to be back in Atlanta.
Last time I was here for the Webmaster Jam session
All work and no play.
This time I am here to help out with the University Hack Day forGeorgia Tech.
As part of a big hack team.
All of which are not here yet because of snow.
I live in London, England.
And coming here I made a new enemy.
Arrival + Passport Control + waiting for luggage. HartsfieldAirport
Go through customs + put luggage on another conveyor belt.Hartsfield Airport
Go through security once more – belt out, shoes off,laptop out. Hartsfield Airport
Take train to main Hartsfield Airport baggage retrieval
Your luggage is probably here Hartsfield Airport
All the luggage from all the flights of the same airline getscollected in the arrivals hall for pickup at a single point.
This baggage belt is publicly available, no need to have aticket.
Asking for the reason of this procedure built to delay peopleand make it easy to steal luggage what is the answer?
Security, sir.
This was not built by geeks.
Geeks are great to have as they get excited abouteverything.
Geeks are also full of ideas and need a channel to release theseideas.
This is why we at Yahoo have Hack Days.
For 24 hours normal work is put on hold and the geeks areallowed to roam free.
We can take any of our systems and build something totally newwith it.
This allows people to do what they always wanted butdidn’t have a chance to.
It also allows people to play with new technologies.
This was such a massive success that we thought to take it onthe road.
We now have Open Hack Days around the globe. Sunnyvale (2x),Taiwan, London, Bangalore (2x), Sao Paulo
These are massive affairs
And we do University Hack Days! USA, India, Great Britain
These are somewhat smaller.
But they follow the same flow.
But they follow the same flow. Hack
Snack Hack Recharge Eat!
Hack Fix Present Win!
The question is though: where do you start?
After all, you are not a geek, right?
A good hack starts with an idea.
It starts with something you care about.
And it starts with having fun with it.
Nobody expects you to deliver the hottest new thing for themarket.
But we expect you to have a good stab at building somethingnew.
A good hack doesn’t need to be a big thing.
But it should make a difference.
Here’s one not so current example.
John Snow helped the London authorities in 1854 to trace backthe reason of cholera...
...by placing the deaths caused by cholera on a map and analyzethe surroudings.
The answer: water supply!
This hack relied on the first thing you should think about.
DATA
John Snow spent quite a while collecting his data.
Nowadays this is much easier and you don’t need to be adata wizard.
What do you see when you surf the web?
End users see web sites
Developers see code.
I see sweet, sweet data!
And it has never been easier to get these sweets and bake theminto something new.
The oldest way is to cheat your way in using a very cool pieceof software.
Using cURL, you can be your own browser and get any data fromthe web to remix.
The problems are that you don’t get the data back in astructured way.
You’re at the mercy of the HTML structure and if that onechanges your hack fails to work.
This is why clever companies realized that it does make sense tooffer their data in easier to digest formats.
RSS or Really Simple Syndication was born.
Using RSS or Atom feeds you get data in a predictable and easyto convert format.
It doesn’t allow you to request specific data or define adifferent format though.
This was the next step: REST APIs or Web Services.
REST based Web Services allow you to request the correct datafrom a system.
Yahoo Answers http://uk.answers.yahoo.com
http://answers.yahooapis.com/ AnswersService/V1/questionSearch?query=sunderland®ion=uk&lang=e n&appid=yahoodemo
... lots more...
A lot of web services also allow you to choose your dataformat.
http://answers.yahooapis.com/ AnswersService/V1/questionSearch?query=sunderland®ion=uk&lang=en&appid=yahoodemo&start=1&output=json&callback=useme
This makes it dead easy to get the data and re-use it in yourown interfaces.
What if you want to use several sources?
There’s Yahoo Pipes for mixing, filtering andmatching.
Or if you like SQL-style data conversion there’s YQL:
Both of these systems allow you to reach data from Yahoo andother services and pre- filter it for use in your own hacks.
Let’s think about the next thing you should consider aboutyour hack.
A working and interesting interface.
I don’t care what interface your hack uses.
However, if your build a web application...
... be aware that it is deceptively easy to write HTML, CSS andJavaScript...
... but there are dozens of ways to mess it up.
The wild wild web is full of bad browsers and setups.
You have no right to require a certain setup and you have noclue about what is used.
Therefore it is a good idea to find a way to abstract theseunknowns away from you.
If you’re thinking about building something running onmobiles (cell phones), this increases tenfold.
Two helpers (from us) are available to you:
Here are our helpers: YUI BluePrinthttp://developer.yahoo.com/yui/http://mobile.yahoo.com/developers
There will be detailed talks about these later in the week.
One thing I want people to think about when buildinginterfaces.
Think about accessibility.
Any web product should be available to users regardless of theirability.
The next thing to wonder is how to get users for your hack.
One cool thing is that companies nowadays not only offer theirdata to you...
...but also allow you to piggy- back on their userrelationships.
You can also build applications for where people areanyways.
vv v ||v |v | .-, | | | .--./ / | _.---.| '-. (__..-\"\\ And of course \\ a| ',.__. ,__.-'/ there is Twitter.'--/_.'----'` T H E W HA L E SLEEPS T O N I G HT
How about some hack examples?
Let’s take Twitter.
I’m a big Twitter user.
I like that I get notified when there is a new person followingme.
What I don’t know is when people left me.
Or what I was telling the world before they left me.
(which could be related)
So I read the API docs, and found the user_timeline function.http://apiwiki.twitter.com/REST+API+Documentation#usertimeline
Notice the repetition.
For every tweet there is the whole user information and atimestamp.
Using this I could show the change in user numbers and see ifthat happened in a very short period of time.
Adding YUI CSS grids and Google Charts I builtTweetEffect.com
And ended up where I quite didn’t expect to be.
Another quick example. This time from Rasmus.
How do you get a map of all the current earthquakes on theplanet?
http://paul.slowgeek.com/hacku/examples/ jslibrary4.php
What about reach? That was us, time for you to show what you cando!
Build teams and think of a hack.
Find a need.
Or look at an existing solution from a different angle.
And then know where to go.
All of our APIs, documentation and examples:http://developer.yahoo.com
Very quick and dirty code examples for hacks:http://paul.slowgeek.com/hacku/
Rasmus Lerdorf’s demoshttp://talks.php.net/show/hacku/1
Start thinking about the hack and plan it.
You will have 24 hours to build a working prototype.
Don’t get lost in shiny bells and whistles and try toimpress with a snazzy interface.
Don’t be too shy to ask for help, we are here allweek!
Don’t listen to the feature creature on your shoulder toadd yet another thing to the hack.
Instead plan for a solid base functionality and then build ontop of that.
However, don’t get too stressed when there are a fewbroken bits.
We want you to find your own potential and show us what you cando with our offers!
THANKS! Keep in touch: Christian Heilmann http://wait-till-i.comhttp://scriptingenabled.org http://twitter.com/codepo8
This slideshow was converted by Easy Slideshare.
The original slides can be found on Slideshare.
Slide content copyright by cheilmann