New Technologies

45
Future Technologies @RobOusbey

description

Presented at Distilled's ProSEO (now called 'SearchLove') conference in Boston, May 2011. The focus was on why new technologies can help you win in the SEO game - and some particularly useful tech that you can start using straight away. This was also the presentation where I formally announced my own webapp, Linkstant - the instant link alert tool. It's available for you to use at: http://www.linkstant.com Feel free to get in touch if you have any particular questions about this presentation.

Transcript of New Technologies

Page 1: New Technologies

Future Technologies

@RobOusbey

Page 2: New Technologies

The Future

Where we’re going,

we don’t need roads.

Page 3: New Technologies

Why do

you care?

Page 6: New Technologies

Why do you care? First Movers Get Links

Any link building tactic diminishes in effectiveness over time. New technologies are a smart way to attract the interest of the Linkerati.

Page 8: New Technologies

HTML5

It’s easy, once you’ve

read the directions.

Page 9: New Technologies

Why do you care? First Movers Get Links

App launch website at: http://benthebodyguard.com/

Page 10: New Technologies

HTML 5: Graphic.ly

A beautifully presented HTML5 graphic-novel interface, with Frank Miller-esque touches. http://graphic.ly

Page 11: New Technologies

HTML 5: Mag.Reevoo.Com

A weekend hack project to demonstrate some HTML5/CSS3 features. http://mag.reevoo.com

Page 12: New Technologies

CSS3

Third time lucky.

Page 15: New Technologies

CSS3: Transitioning

http://media.24ways.org/2009/14/5/index.html

Page 17: New Technologies

CSS3: 39 Box Shadows, No Good Reason

A sample of the demos available at: http://www.viget.com/uploads/file/boxshadows/ Info: http://www.viget.com/inspire/39-ridiculous-things-to-do-with-css3-box-shadows/

Page 18: New Technologies

AJAX

Looks more complicated

than it ought to be.

Page 19: New Technologies

Use jQuery. http://jquery.com/

You can thank me later.

Page 20: New Technologies

AJAX: The Old Way Sucks

www.example.com/shop

www.example.com/shop#cameras

www.example.com/shop#DVDs

www.example.com/shop#laptops

This sucks: link juice doesn’t go to the correct places.

Page 22: New Technologies

AJAX: Twitter’s Implementation

twitter.com/RobOusbey

twitter.com/#!/RobOusbey

ROBOTS Google translates it to:

twitter.com/?_escaped_fragment_=/RobOusbey USERS

See the page here.

NON-JS USERS Not so much.

302

200

Why? Why would anyone do this? It really f/#!/ng sucks.

Google indexes the content here.

Page 23: New Technologies

AJAX: Gawker’s Implementation

gawker.com/category/post-title-12345.php

gawker.com/#!12345/post-title

ROBOTS Google translates it to:

gawker.com/?_escaped_fragment_=12345/post-title USERS

See the page here.

NON-US USERS Redirects to home page.

302

200

Allows Google to index content here.

200

Page 24: New Technologies

Gawker resolved URLs at the ?_escaped_fragment_ stage, and they were indexed with hashbangs.

AJAX: Gawker’s Implementation

Page 25: New Technologies

AJAX: The New Implementation

When someone clicks the link…

… load content in with AJAX …

… change the URL …

… but don’t refresh the page.

$('nav a').click(function(e) { url = $(this).attr("href"); $.getJSON("content.php", {cid: url, format: 'json'}, function(json) { $.each(json, function(key, value){ $(key).html(value); }); }); window.history.pushState('object', 'New Title', url); $('li').removeClass('current'); $('a[href="'+url+'"]').parent().addClass('current'); e.preventDefault(); }

Page 26: New Technologies

history.pushState()

history.replaceState()

Very basic .pushState() demo published at http://html5.gingerhost.com See the technology in use on any blogspot blog, eg: thesartorialist.blogspot.com/view/sidebar/ More info: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

Page 27: New Technologies

APIs

Helping us get to the future,

faster.

Page 28: New Technologies

APIs: Contacting People – Twilio.com

$response = $client->request("/v1/Accounts/id123/SMS/Messages",

"POST", array(

"To" => $cellNumber,

"From" => "206-965-9265",

"Body" => "Hi $customerName, your order is ready for collection at $location"

)

);

Page 30: New Technologies

APIs: Qwerly.com

Page 31: New Technologies

APIs: Google’s APIs

Android Rendering API

Android Accessibility API

Android Marketplace API

Buzz API

Latitude API

Translate API

* Google Places API

Blogger Admin API

Google Apps APIs

Google Maps API

Google Earth API

App Engine Full Text Search API

Google Checkout API

* Google One Pass: Paywall API

Google Tasks API

Honeycomb API

Near Field Communications API

Brain API

Google eBooks API

In-App Payments API

Google Shopping API

App Engine Pipeline API

Google Fusion Tables API

App Engine Task Queue API

* Machine Learning Prediction API

YouTube Caption API

YouTube Data API

Google Charts API

* Google Page Speed API

* Android Open Accessory API & Development Kit

http://developer.android.com/guide/topics/usb/adk.html http://www.google.com/enterprise/prediction/

Page 32: New Technologies

APIs: Robots

Page 34: New Technologies

SPeeDY

Page 36: New Technologies

Let’s be honest,

it’s kind of old fashioned.

Polling

Page 37: New Technologies

Polling: Server to Server

Publisher Reader

Anything new?

Anything new?

Anything new?

Anything new?

Anything new?

For the love all that is good,

YES. Anything new?

This type of repeated polling is unnecessary; it puts additional load on the publisher, and the subscriber has to downloads lots of data that it doesn’t need to.

Page 38: New Technologies

Polling: Publisher / Subscriber

Publisher Subscriber

1: Anything new?

Hub 2: I’ll let you know.

3: I’ve got new content! 4: There’s

something new!

http://code.google.com/p/pubsubhubbub/ http://code.google.com/apis/pubsubhubbub/

Page 39: New Technologies

Polling: Browser to Server

Web Server

Web Browser

Anything new?

Anything new?

Anything new?

Anything new?

Anything new?

For the love all that is good,

YES. Anything new?

Examples: Twitter, webmail, etc. In this case, solutions include clever things like long-polling and websockets.

Page 40: New Technologies

WebSockets

They’re not safe,

but they’re really effective.

Page 41: New Technologies

WebSockets: Pusher.com

<script src="http://js.pusherapp.com/1.8/pusher.min.js"></script> var pusher = new Pusher('API_KEY'); var myChannel = pusher.subscribe('MY_CHANNEL'); myChannel.bind('thing-create', function(thing) { alert('A thing was created: ' + thing.name); });

Page 42: New Technologies

Go and Win

HTML5 + CSS3

Make your site faster & cooler

Page 43: New Technologies

Go and Win

Qwerly

• Parse your email subscription list

• Reach out to the Twitter / Facebook users

• Create some niche-site content

Page 44: New Technologies

Go and Win

WebSockets

Make life a lot easier for yourself:

sign up for a Pusher.com account.