georgia tech hack day

154
HackTech Christian Heilmann | http://wait-till-i.com | http://scriptingenabled.org Georgia, Atlanta, US, Hack-U Georgia Tech, March 2009

Upload: christian-heilmann

Post on 20-Aug-2015

4.829 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Georgia Tech Hack Day

HackTech

Christian Heilmann | http://wait-till-i.com | http://scriptingenabled.org

Georgia, Atlanta, US, Hack-U Georgia Tech, March 2009

Page 2: Georgia Tech Hack Day

Hello, I am Chris.

Page 3: Georgia Tech Hack Day

I am a hacker and a geek.

Page 4: Georgia Tech Hack Day

And I love to share my passion.

Page 5: Georgia Tech Hack Day

http://wait-till-i.com

http://twitter.com/codepo8

Page 6: Georgia Tech Hack Day

It is nice to be back in Atlanta.

Page 7: Georgia Tech Hack Day

Last time I was here for the Webmaster Jam session

Page 8: Georgia Tech Hack Day

All work and no play.

Page 9: Georgia Tech Hack Day

This time I am here to help out with the University Hack Day

for Georgia Tech.

Page 10: Georgia Tech Hack Day

As part of a big hack team.

Page 11: Georgia Tech Hack Day

All of which are not here yet because of snow.

Page 12: Georgia Tech Hack Day

I live in London, England.

Page 13: Georgia Tech Hack Day

And coming here I made a new enemy.

Page 14: Georgia Tech Hack Day

Hartsfield Airport

Arrival + Passport Control + waiting for luggage.

Page 15: Georgia Tech Hack Day

Hartsfield Airport

Go through customs +put luggage on another

conveyor belt.

Page 16: Georgia Tech Hack Day

Hartsfield Airport

Go through security oncemore – belt out, shoes

off, laptop out.

Page 17: Georgia Tech Hack Day

Hartsfield AirportTake train to main

baggage retrieval

Page 18: Georgia Tech Hack Day

Hartsfield Airport

Your luggage is probably here

Page 19: Georgia Tech Hack Day

All the luggage from all the flights of the same airline gets collected in the arrivals hall for

pickup at a single point.

Page 20: Georgia Tech Hack Day

This baggage belt is publicly available, no need to have a

ticket.

Page 21: Georgia Tech Hack Day

Asking for the reason of this procedure built to delay

people and make it easy to steal luggage what is the

answer?

Page 22: Georgia Tech Hack Day

Security, sir.

Page 23: Georgia Tech Hack Day

This was not built by geeks.

Page 24: Georgia Tech Hack Day

Geeks are great to have as they get excited about everything.

Page 25: Georgia Tech Hack Day

Geeks are also full of ideas and need a channel to release

these ideas.

Page 26: Georgia Tech Hack Day

This is why we at Yahoo have Hack Days.

Page 27: Georgia Tech Hack Day

For 24 hours normal work is put on hold and the geeks are

allowed to roam free.

Page 28: Georgia Tech Hack Day

We can take any of our systems and build something

totally new with it.

Page 29: Georgia Tech Hack Day

This allows people to do what they always wanted but didn’t have a chance to.

Page 30: Georgia Tech Hack Day

It also allows people to play with new technologies.

Page 31: Georgia Tech Hack Day

This was such a massive success that we thought to

take it on the road.

Page 32: Georgia Tech Hack Day

We now have Open Hack Days around the globe.

Sunnyvale (2x), Taiwan, London, Bangalore (2x), Sao Paulo

Page 33: Georgia Tech Hack Day

These are massive affairs

Page 34: Georgia Tech Hack Day

And we do University Hack Days!

USA, India, Great Britain

Page 35: Georgia Tech Hack Day

These are somewhat smaller.

Page 36: Georgia Tech Hack Day

But they follow the same flow.

Page 37: Georgia Tech Hack Day

But they follow the same flow.

Hack

Page 38: Georgia Tech Hack Day

Snack

Eat!

Hack

Recharge

Page 39: Georgia Tech Hack Day

Hack Fix

Present

Win!

Page 40: Georgia Tech Hack Day

The question is though: where do you start?

Page 41: Georgia Tech Hack Day

After all, you are not a geek, right?

Page 42: Georgia Tech Hack Day

A good hack starts with an idea.

Page 43: Georgia Tech Hack Day

It starts with something you care about.

Page 44: Georgia Tech Hack Day

And it starts with having fun with it.

Page 45: Georgia Tech Hack Day

Nobody expects you to deliver the hottest new thing for the

market.

Page 46: Georgia Tech Hack Day

But we expect you to have a good stab at building

something new.

Page 47: Georgia Tech Hack Day

A good hack doesn’t need to be a big thing.

Page 48: Georgia Tech Hack Day

But it should make a difference.

Page 49: Georgia Tech Hack Day

Here’s one not so current example.

Page 50: Georgia Tech Hack Day
Page 51: Georgia Tech Hack Day

http://en.wikipedia.org/wiki/John_Snow_(physician)

HACKER!

Page 52: Georgia Tech Hack Day

John Snow helped the London authorities in 1854 to trace

back the reason of cholera...

Page 53: Georgia Tech Hack Day

...by placing the deaths caused by cholera on a map

and analyze the surroudings.

Page 54: Georgia Tech Hack Day
Page 55: Georgia Tech Hack Day

The answer:

water supply!

Page 56: Georgia Tech Hack Day

This hack relied on the first thing you should think about.

Page 57: Georgia Tech Hack Day

DATA

Page 58: Georgia Tech Hack Day

John Snow spent quite a while collecting his data.

Page 59: Georgia Tech Hack Day

Nowadays this is much easier and you don’t need to be a data wizard.

Page 60: Georgia Tech Hack Day

What do you see when you surf the web?

Page 61: Georgia Tech Hack Day

End users see web sites

Page 62: Georgia Tech Hack Day

Developers see code.

Page 63: Georgia Tech Hack Day

I see sweet, sweet data!

Page 64: Georgia Tech Hack Day

And it has never been easier to get these sweets and bake

them into something new.

Page 65: Georgia Tech Hack Day

The oldest way is to cheat your way in using a very cool

piece of software.

Page 66: Georgia Tech Hack Day
Page 67: Georgia Tech Hack Day

Using cURL, you can be your own browser and get any

data from the web to remix.

Page 68: Georgia Tech Hack Day

The problems are that you don’t get the data back in a

structured way.

Page 69: Georgia Tech Hack Day

You’re at the mercy of the HTML structure and if that one changes your hack fails to work.

Page 70: Georgia Tech Hack Day

This is why clever companies realized that it does make sense to offer their data in easier to digest formats.

Page 71: Georgia Tech Hack Day

RSS or Really Simple Syndication was born.

Page 74: Georgia Tech Hack Day

Using RSS or Atom feeds you get data in a predictable and

easy to convert format.

Page 75: Georgia Tech Hack Day

It doesn’t allow you to request specific data or define a different format though.

Page 76: Georgia Tech Hack Day

This was the next step: REST APIs or Web Services.

Page 77: Georgia Tech Hack Day

REST based Web Services allow you to request the

correct data from a system.

Page 80: Georgia Tech Hack Day
Page 81: Georgia Tech Hack Day

... lots more...

Page 83: Georgia Tech Hack Day

A lot of web services also allow you to choose your data

format.

Page 85: Georgia Tech Hack Day
Page 86: Georgia Tech Hack Day

This makes it dead easy to get the data and re-use it in your

own interfaces.

Page 87: Georgia Tech Hack Day

What if you want to use several sources?

Page 88: Georgia Tech Hack Day

There’s Yahoo Pipes for mixing, filtering and

matching.

Page 90: Georgia Tech Hack Day

Or if you like SQL-style data conversion there’s YQL:

Page 92: Georgia Tech Hack Day

Both of these systems allow you to reach data from Yahoo

and other services and pre-filter it for use in your own

hacks.

Page 93: Georgia Tech Hack Day

Let’s think about the next thing you should consider

about your hack.

Page 94: Georgia Tech Hack Day

A working and interesting interface.

Page 95: Georgia Tech Hack Day

I don’t care what interface your hack uses.

Page 96: Georgia Tech Hack Day

However, if your build a web application...

Page 97: Georgia Tech Hack Day

... be aware that it is deceptively easy to write

HTML, CSS and JavaScript...

Page 98: Georgia Tech Hack Day

... but there are dozens of ways to mess it up.

Page 99: Georgia Tech Hack Day

The wild wild web is full of bad browsers and setups.

Page 100: Georgia Tech Hack Day

You have no right to require a certain setup and you have no clue about what is used.

Page 101: Georgia Tech Hack Day

Therefore it is a good idea to find a way to abstract these unknowns away from you.

Page 102: Georgia Tech Hack Day

If you’re thinking about building something running

on mobiles (cell phones), this increases tenfold.

Page 103: Georgia Tech Hack Day

Two helpers (from us) are available to you:

Page 104: Georgia Tech Hack Day

Here are our helpers:

http://developer.yahoo.com/yui/ http://mobile.yahoo.com/developers

YUI

BluePrint

Page 105: Georgia Tech Hack Day

There will be detailed talks about these later in the week.

Page 106: Georgia Tech Hack Day

One thing I want people to think about when building

interfaces.

Page 107: Georgia Tech Hack Day

Think about accessibility.

Page 108: Georgia Tech Hack Day

Any web product should be available to users regardless of their ability.

Page 109: Georgia Tech Hack Day

The next thing to wonder is how to get users for your hack.

Page 110: Georgia Tech Hack Day

One cool thing is that companies nowadays not

only offer their data to you...

Page 111: Georgia Tech Hack Day

...but also allow you to piggy-back on their user

relationships.

Page 113: Georgia Tech Hack Day

You can also build applications for where people

are anyways.

Page 115: Georgia Tech Hack Day

And of course there is Twitter.

v v v | | v | v | .-, | | |.--./ / | _.---.| '-. (__..-" \ \ a | ',.__. ,__.-'/ '--/_.'----'`

T H E W H A L E S L E E P S

T O N I G H T

Page 116: Georgia Tech Hack Day

How about some hack examples?

Page 117: Georgia Tech Hack Day

Let’s take Twitter.

Page 118: Georgia Tech Hack Day

I’m a big Twitter user.

Page 119: Georgia Tech Hack Day

I like that I get notified when there is a new person

following me.

Page 120: Georgia Tech Hack Day

What I don’t know is when people left me.

Page 121: Georgia Tech Hack Day

Or what I was telling the world before they left me.

Page 122: Georgia Tech Hack Day

(which could be related)

Page 123: Georgia Tech Hack Day

So I read the API docs, and found the user_timeline

function.http://apiwiki.twitter.com/REST+API+Documentation#usertimeline

Page 124: Georgia Tech Hack Day
Page 125: Georgia Tech Hack Day

Notice the repetition.

Page 126: Georgia Tech Hack Day
Page 127: Georgia Tech Hack Day

For every tweet there is the whole user information and a

timestamp.

Page 128: Georgia Tech Hack Day

Using this I could show the change in user numbers and

see if that happened in a very short period of time.

Page 129: Georgia Tech Hack Day

Adding YUI CSS grids and Google Charts I built

TweetEffect.com

Page 131: Georgia Tech Hack Day
Page 132: Georgia Tech Hack Day

And ended up where I quite didn’t expect to be.

Page 133: Georgia Tech Hack Day
Page 134: Georgia Tech Hack Day

Another quick example. This time from Rasmus.

Page 135: Georgia Tech Hack Day

How do you get a map of all the current earthquakes on

the planet?

Page 137: Georgia Tech Hack Day
Page 138: Georgia Tech Hack Day

What about reach?That was us, time for you to show

what you can do!

Page 139: Georgia Tech Hack Day

Build teams and think of a hack.

Page 140: Georgia Tech Hack Day

Find a need.

Page 141: Georgia Tech Hack Day

Or look at an existing solution from a different angle.

Page 142: Georgia Tech Hack Day

And then know where to go.

Page 143: Georgia Tech Hack Day

All of our APIs, documentation and examples:

http://developer.yahoo.com

Page 144: Georgia Tech Hack Day

Very quick and dirty code examples for hacks:

http://paul.slowgeek.com/hacku/

Page 145: Georgia Tech Hack Day

Rasmus Lerdorf’s demoshttp://talks.php.net/show/hacku/1

Page 146: Georgia Tech Hack Day

Start thinking about the hack and plan it.

Page 147: Georgia Tech Hack Day

You will have 24 hours to build a working prototype.

Page 148: Georgia Tech Hack Day

Don’t get lost in shiny bells and whistles and try to impress with a snazzy

interface.

Page 149: Georgia Tech Hack Day

Don’t be too shy to ask for help, we are here all week!

Page 150: Georgia Tech Hack Day

Don’t listen to the feature creature on your shoulder to add yet another thing to the

hack.

Page 151: Georgia Tech Hack Day

Instead plan for a solid base functionality and then build

on top of that.

Page 152: Georgia Tech Hack Day

However, don’t get too stressed when there are a few broken bits.

Page 153: Georgia Tech Hack Day

We want you to find your own potential and show us what you can do with our offers!

Page 154: Georgia Tech Hack Day

Keep in touch:

Christian Heilmann

http://wait-till-i.com

http://scriptingenabled.org

http://twitter.com/codepo8

T H A N K S !