Hacking 101 Christian Heilmann | http://wait-till-i.com | http://scriptingenabled.org Delhi, India, University Hack Day, January 2009
Hacking 101
Christian Heilmann | http://wait-till-i.com | http://scriptingenabled.org
Delhi, India, University Hack Day, January 2009
नम#$
Namaste
I’m Chris, hacker and geek.
I am today here to introduce you to what hacking means
to us.
To me it means:
“Altering a system to do what you want it to do using what
is at your disposal.”
It also means having a lot of fun trying to make things do what they weren’t made for.
It is unrestrained innovation.
So welcome, innovators!
We want you to show us what can be built using the systems
we (and others) offer...
...that makes a difference in your lives and make the
things you care about easier to achieve.
Find something that always annoyed you with systems
you use...
...and build a workaround.
You’ll be amazed about the impact this can have.
To reach hackvana you need three things:
Access, Data and an Interface.
Access is granted to you via feeds, web services and SDKs.
Feeds are data in a predictable format, for
example RSS.
http://www.guardian.co.uk/travel/restaurants
http://www.guardian.co.uk/travel/restaurants/rss
Web services are quite similar, only they allow you to filter down the data you
want.
http://answers.yahooapis.com/
AnswersService/V1/questionSearch?
query=delhi+puppies®ion=in&lang=en&
appid=yahoodemo
... lots more...
http://developer.yahoo.com/answers/V1/questionSearch.html
They also allow you to get the data in other formats to
easily re-use it.
The idea of hacking is to use this data, mix it up with other
ideas and other data to provide a better service for
the end user.
This is dead easy these days!
There’s Yahoo Pipes for mixing, filtering and
matching.
http://pipes.yahoo.com
Or if you like SQL-style data conversion there’s YQL:
http://developer.yahoo.com/yql/console/
Both of these systems allow you to reach data from Yahoo
and other services and pre-filter it for use in your own
hacks.
Data however is not enough.
Building *working* web interfaces is a specialist skill.
I’ve been developing for the web for 12 years and it still is a
mystery to me why some things just don’t work.
The technologies are easy enough:
HTML for structure
CSS for presentation
JavaScript for behaviour
Where it gets truly annoying is the unknowns.
You have no idea about the user’s setup, ability or rights
to change their technical environment.
And then there are the browsers and all their
wonderful bugs and quirks.
This is why it is a good start to use libraries or frameworks.
Here are our helpers:
http://developer.yahoo.com/yui/ http://mobile.yahoo.com/developers
YUI
BluePrint
Using these, you can quickly build interfaces that work on
the web and mobiles.
What about reach?
The newest way of access that systems and companies allow you these days is opening up
their address books.
http://code.google.com/apis/opensocial/http://developer.yahoo.com/social/socialdir/
http://developers.facebook.com/connect.php
Instead of building it and waiting till people come, build
where the people are.
http://developer.yahoo.com/yap/
And build with what they use already.
http://developer.yahoo.com/search/boss/
How about some hack examples?
I use SlideShare – a lot.
http://www.slideshare.net/cheilmann/slideshows
One cool thing is that SlideShare automatically creates transcripts of your slides:
So I’ve used this to create a version that is easily
accessible for blind people or those who don’t have Flash.
http://icant.co.uk/easy-slideshare/?slides=http://www.slideshare.net/cheilmann/playing-with-the-web-
presentation
Using YQL, it was also easy to write a JavaScript wrapper that allows you to show the transcripts with your slides.
http://www.wait-till-i.com/2009/01/11/adding-transcripts-to-presentations-embedded-from-slideshare-using-yql/
I use Twitter – a lot.
I got all this emails from Twitter telling me about
people following me.
What I didn’t get was it telling me when people left me.
Or what I was telling the world before they left me.
So I dug into the API a bit and built TweetEffect.com
http://tweeteffect.com/?user=codepo8
I put it up, and started testing edge cases.
One of them was Guy Kawasaki, whom I knew has a lot of followers and updates.
One of them was Guy Kawasaki, whom I knew has a lot of followers and updates.
And that started a landslide of visitors, comments and ideas
for it.
Guy KawasakiGuy Kawasaki
Ryan CarsonRyan Carson
Tim O'ReillyTim O'Reilly
And without knowing it, I became a startup to watch!
What about reach?That was me, time for you to
show what you can do!
Innovation is not a matter of skill or being in the right job
position.
It is a matter of wanting to change what we have and be
ready to play.
We do this to help you see your potential.
And we do this to see if we do a good job in explaining our
offers to the developer world.
The web is yours, go out and play!
Access happens on several channels.
T H A N K S !
http://www.flickr.com/photos/nez/378349478/