SlideShare a Scribd company logo
1 of 45
Download to read offline
Future Technologies
       @RobOusbey
The Future



   Where we’re going,
    we don’t need roads.
Why do
you care?
Why do you care? Build Faster Websites




Example data via: http://ezlocal.com/blog/post/page-speed-vs-pages-crawled.aspx
Why do you care? First Movers Get Benefits from Google




Recipes: http://www.google.com/support/webmasters/bin/answer.py?answer=173379
Events: http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=164506
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.
Why do you care? First Movers Get Links




http://upload.wikimedia.org/wikipedia/commons/7/74/Timeline_of_web_browsers.svg
SVG Ranking Factors: http://www.andyjamesdavies.com/experiments/svg-two/
HTML5


   It’s easy, once you’ve
     read the directions.
Why do you care? First Movers Get Links




App launch website at: http://benthebodyguard.com/
HTML 5: Graphic.ly




A beautifully presented HTML5 graphic-novel interface, with Frank Miller-esque touches.
http://graphic.ly
HTML 5: Mag.Reevoo.Com




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



       Third time lucky.
CSS3: Beautiful Sites




http://www.zurb.com/playground/sliding-vinyl
CSS3: Text Stroke




Lots more at: http://www.css3files.com/ and
http://www.smashingmagazine.com/2011/05/11/the-future-of-css-experimental-css-properties/
CSS3: Transitioning




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




http://webdesignerwall.com/trends/47-amazing-css3-animation-demos
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/
AJAX



   Looks more complicated
    than it ought to be.
Use jQuery.
    http://jquery.com/
  You can thank me later.
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.
AJAX: The Interim Way Kind of Sucks


 www.example.com/shop#!DVDs

 www.example.com/shop?_escaped_fragment_=DVDs




Info + Demo: http://www.seomoz.org/blog/how-to-allow-google-to-crawl-ajax-content
AJAX: Twitter’s Implementation

    twitter.com/RobOusbey

                  302                     Google indexes
                                         the content here.
    twitter.com/#!/RobOusbey
         200
                                            ROBOTS
       USERS                          Google translates it to:
 See the page here.      twitter.com/?_escaped_fragment_=/RobOusbey


   NON-JS USERS
   Not so much.

Why? Why would anyone do this? It really f/#!/ng sucks.
AJAX: Gawker’s Implementation

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

                  302


     gawker.com/#!12345/post-title
          200
                                              ROBOTS
         USERS                          Google translates it to:
   See the page here.     gawker.com/?_escaped_fragment_=12345/post-title

                                                    200

    NON-US USERS                         Allows Google to index
Redirects to home page.                      content here.
AJAX: Gawker’s Implementation




Gawker resolved URLs at the ?_escaped_fragment_ stage, and they were indexed with
hashbangs.
AJAX: The New Implementation

$('nav a').click(function(e) {                      When someone clicks the link…
   url = $(this).attr("href");

    $.getJSON("content.php",
        {cid: url, format: 'json'},
        function(json) {
            $.each(json, function(key, value){              … load content in with AJAX …
               $(key).html(value);
        });
    });

    window.history.pushState('object', 'New Title', url);            … change the URL …
    $('li').removeClass('current');
    $('a[href="'+url+'"]').parent().addClass('current');

    e.preventDefault();                                        … but don’t refresh the page.
}
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
APIs



   Helping us get to the future,
    faster.
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"
   )
);
APIs: User Data




www.rapleaf.com // code.google.com/apis/socialgraph // qwerly.com
APIs: Qwerly.com
APIs: Google’s APIs

 Android Rendering API                     Honeycomb API
 Android Accessibility API                 Near Field Communications API
 Android Marketplace API                   Brain API
 Buzz API                                  Google eBooks API
 Latitude API                              In-App Payments API
 Translate API                             Google Shopping API
 * Google Places API                       App Engine Pipeline API
 Blogger Admin API                         Google Fusion Tables API
 Google Apps APIs                          App Engine Task Queue API
 Google Maps API                           * Machine Learning Prediction API
 Google Earth API                          YouTube Caption API
 App Engine Full Text Search API           YouTube Data API
 Google Checkout API                       Google Charts API
 * Google One Pass: Paywall API            * Google Page Speed API
 Google Tasks API
 * Android Open Accessory API & Development Kit




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




http://www.youtube.com/watch?v=FxXBUp-4800
http://code.google.com/p/rosjava/
SPeeDY
SPDY




http://www.chromium.org/spdy
http://www.chromium.org/spdy/spdy-data
Polling



   Let’s be honest,
    it’s kind of old fashioned.
Polling: Server to Server


                                  Anything new?
                                  Anything new?
                                  Anything new?
         Publisher                                                   Reader
                                  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.
Polling: Publisher / Subscriber


                                    1: Anything new?


                                 Hub            2: I’ll let
Publisher                                      you know.      Subscriber
                     3: I’ve got
                    new content!               4: There’s
                                            something new!




http://code.google.com/p/pubsubhubbub/
http://code.google.com/apis/pubsubhubbub/
Polling: Browser to Server


                                  Anything new?
                                  Anything new?

            Web                   Anything new?                        Web
           Server                 Anything new?                      Browser
                                  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.
WebSockets



  They’re not safe,
    but they’re really effective.
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);
});
Go and Win



    HTML5 + CSS3
     Make your site faster & cooler
Go and Win



                 Qwerly
• Parse your email subscription list
• Reach out to the Twitter / Facebook users
• Create some niche-site content
Go and Win



           WebSockets
Make life a lot easier for yourself:
     sign up for a Pusher.com account.
Thank you.
 www.distilled.net

  @RobOusbey

More Related Content

Viewers also liked

Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...
Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...
Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...Lucía Marín
 
Oracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid CloudOracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid Cloudjobacle
 
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...Jeff Kayser
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsGokhan Atil
 
How to Build a Cold Call Script that Works
How to Build a Cold Call Script that WorksHow to Build a Cold Call Script that Works
How to Build a Cold Call Script that WorksSalesScripter
 
Punk Rock SEO from State of Search 2015
Punk Rock SEO from State of Search 2015Punk Rock SEO from State of Search 2015
Punk Rock SEO from State of Search 2015Mike Arnesen
 
SMX Advanced 2015 - Semantic Entities
SMX Advanced 2015 - Semantic EntitiesSMX Advanced 2015 - Semantic Entities
SMX Advanced 2015 - Semantic EntitiesMike Arnesen
 
AMPed SEO with Mike Arnesen & SEMpdx
AMPed SEO with Mike Arnesen & SEMpdxAMPed SEO with Mike Arnesen & SEMpdx
AMPed SEO with Mike Arnesen & SEMpdxMike Arnesen
 
Understanding & Facilitating Semantic Search - #SearchFest 2016
Understanding & Facilitating Semantic Search - #SearchFest 2016Understanding & Facilitating Semantic Search - #SearchFest 2016
Understanding & Facilitating Semantic Search - #SearchFest 2016Mike Arnesen
 
MozCon 2013: How To Be A One-Person Link Building Army
MozCon 2013: How To Be A One-Person Link Building ArmyMozCon 2013: How To Be A One-Person Link Building Army
MozCon 2013: How To Be A One-Person Link Building ArmyMike Arnesen
 

Viewers also liked (10)

Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...
Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...
Google Tag Manager: un nuevo paso en la Analítica Digital (Congreso de Zarago...
 
Oracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid CloudOracle Enterprise Manager 13C and Hybrid Cloud
Oracle Enterprise Manager 13C and Hybrid Cloud
 
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...Oracle Enterprise Manager 12c:  The Oracle Monitoring tool of choice – Why yo...
Oracle Enterprise Manager 12c: The Oracle Monitoring tool of choice – Why yo...
 
Oracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAsOracle Enterprise Manager Cloud Control 13c for DBAs
Oracle Enterprise Manager Cloud Control 13c for DBAs
 
How to Build a Cold Call Script that Works
How to Build a Cold Call Script that WorksHow to Build a Cold Call Script that Works
How to Build a Cold Call Script that Works
 
Punk Rock SEO from State of Search 2015
Punk Rock SEO from State of Search 2015Punk Rock SEO from State of Search 2015
Punk Rock SEO from State of Search 2015
 
SMX Advanced 2015 - Semantic Entities
SMX Advanced 2015 - Semantic EntitiesSMX Advanced 2015 - Semantic Entities
SMX Advanced 2015 - Semantic Entities
 
AMPed SEO with Mike Arnesen & SEMpdx
AMPed SEO with Mike Arnesen & SEMpdxAMPed SEO with Mike Arnesen & SEMpdx
AMPed SEO with Mike Arnesen & SEMpdx
 
Understanding & Facilitating Semantic Search - #SearchFest 2016
Understanding & Facilitating Semantic Search - #SearchFest 2016Understanding & Facilitating Semantic Search - #SearchFest 2016
Understanding & Facilitating Semantic Search - #SearchFest 2016
 
MozCon 2013: How To Be A One-Person Link Building Army
MozCon 2013: How To Be A One-Person Link Building ArmyMozCon 2013: How To Be A One-Person Link Building Army
MozCon 2013: How To Be A One-Person Link Building Army
 

More from Rob Ousbey

A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020Rob Ousbey
 
SEO & UX: Finding the Balance - Rob Ousbey
SEO & UX: Finding the Balance - Rob OusbeySEO & UX: Finding the Balance - Rob Ousbey
SEO & UX: Finding the Balance - Rob OusbeyRob Ousbey
 
Attracting Visitors Through SEO - Converge 2015
Attracting Visitors Through SEO - Converge 2015Attracting Visitors Through SEO - Converge 2015
Attracting Visitors Through SEO - Converge 2015Rob Ousbey
 
Growth Hacking Your Content
Growth Hacking Your ContentGrowth Hacking Your Content
Growth Hacking Your ContentRob Ousbey
 
Lean Marketing
Lean MarketingLean Marketing
Lean MarketingRob Ousbey
 
Using Content at the Top of the Funnel
Using Content at the Top of the FunnelUsing Content at the Top of the Funnel
Using Content at the Top of the FunnelRob Ousbey
 
Characteristics of a Successful Outreach Campaign
Characteristics of a Successful Outreach CampaignCharacteristics of a Successful Outreach Campaign
Characteristics of a Successful Outreach CampaignRob Ousbey
 
User Experience and SEO
User Experience and SEOUser Experience and SEO
User Experience and SEORob Ousbey
 
SEO Ranking Factors
SEO Ranking FactorsSEO Ranking Factors
SEO Ranking FactorsRob Ousbey
 

More from Rob Ousbey (9)

A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
A Novel Approach to Scraping Websites - Rob Ousbey, MozCon 2020
 
SEO & UX: Finding the Balance - Rob Ousbey
SEO & UX: Finding the Balance - Rob OusbeySEO & UX: Finding the Balance - Rob Ousbey
SEO & UX: Finding the Balance - Rob Ousbey
 
Attracting Visitors Through SEO - Converge 2015
Attracting Visitors Through SEO - Converge 2015Attracting Visitors Through SEO - Converge 2015
Attracting Visitors Through SEO - Converge 2015
 
Growth Hacking Your Content
Growth Hacking Your ContentGrowth Hacking Your Content
Growth Hacking Your Content
 
Lean Marketing
Lean MarketingLean Marketing
Lean Marketing
 
Using Content at the Top of the Funnel
Using Content at the Top of the FunnelUsing Content at the Top of the Funnel
Using Content at the Top of the Funnel
 
Characteristics of a Successful Outreach Campaign
Characteristics of a Successful Outreach CampaignCharacteristics of a Successful Outreach Campaign
Characteristics of a Successful Outreach Campaign
 
User Experience and SEO
User Experience and SEOUser Experience and SEO
User Experience and SEO
 
SEO Ranking Factors
SEO Ranking FactorsSEO Ranking Factors
SEO Ranking Factors
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

New Technologies

  • 1. Future Technologies @RobOusbey
  • 2. The Future Where we’re going, we don’t need roads.
  • 4. Why do you care? Build Faster Websites Example data via: http://ezlocal.com/blog/post/page-speed-vs-pages-crawled.aspx
  • 5. Why do you care? First Movers Get Benefits from Google Recipes: http://www.google.com/support/webmasters/bin/answer.py?answer=173379 Events: http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=164506
  • 6. 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.
  • 7. Why do you care? First Movers Get Links http://upload.wikimedia.org/wikipedia/commons/7/74/Timeline_of_web_browsers.svg SVG Ranking Factors: http://www.andyjamesdavies.com/experiments/svg-two/
  • 8. HTML5 It’s easy, once you’ve read the directions.
  • 9. Why do you care? First Movers Get Links App launch website at: http://benthebodyguard.com/
  • 10. HTML 5: Graphic.ly A beautifully presented HTML5 graphic-novel interface, with Frank Miller-esque touches. http://graphic.ly
  • 11. HTML 5: Mag.Reevoo.Com A weekend hack project to demonstrate some HTML5/CSS3 features. http://mag.reevoo.com
  • 12. CSS3 Third time lucky.
  • 14. CSS3: Text Stroke Lots more at: http://www.css3files.com/ and http://www.smashingmagazine.com/2011/05/11/the-future-of-css-experimental-css-properties/
  • 17. 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/
  • 18. AJAX Looks more complicated than it ought to be.
  • 19. Use jQuery. http://jquery.com/ You can thank me later.
  • 20. 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.
  • 21. AJAX: The Interim Way Kind of Sucks www.example.com/shop#!DVDs www.example.com/shop?_escaped_fragment_=DVDs Info + Demo: http://www.seomoz.org/blog/how-to-allow-google-to-crawl-ajax-content
  • 22. AJAX: Twitter’s Implementation twitter.com/RobOusbey 302 Google indexes the content here. twitter.com/#!/RobOusbey 200 ROBOTS USERS Google translates it to: See the page here. twitter.com/?_escaped_fragment_=/RobOusbey NON-JS USERS Not so much. Why? Why would anyone do this? It really f/#!/ng sucks.
  • 23. AJAX: Gawker’s Implementation gawker.com/category/post-title-12345.php 302 gawker.com/#!12345/post-title 200 ROBOTS USERS Google translates it to: See the page here. gawker.com/?_escaped_fragment_=12345/post-title 200 NON-US USERS Allows Google to index Redirects to home page. content here.
  • 24. AJAX: Gawker’s Implementation Gawker resolved URLs at the ?_escaped_fragment_ stage, and they were indexed with hashbangs.
  • 25. AJAX: The New Implementation $('nav a').click(function(e) { When someone clicks the link… url = $(this).attr("href"); $.getJSON("content.php", {cid: url, format: 'json'}, function(json) { $.each(json, function(key, value){ … load content in with AJAX … $(key).html(value); }); }); window.history.pushState('object', 'New Title', url); … change the URL … $('li').removeClass('current'); $('a[href="'+url+'"]').parent().addClass('current'); e.preventDefault(); … but don’t refresh the page. }
  • 26. 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
  • 27. APIs Helping us get to the future, faster.
  • 28. 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" ) );
  • 29. APIs: User Data www.rapleaf.com // code.google.com/apis/socialgraph // qwerly.com
  • 31. APIs: Google’s APIs Android Rendering API Honeycomb API Android Accessibility API Near Field Communications API Android Marketplace API Brain API Buzz API Google eBooks API Latitude API In-App Payments API Translate API Google Shopping API * Google Places API App Engine Pipeline API Blogger Admin API Google Fusion Tables API Google Apps APIs App Engine Task Queue API Google Maps API * Machine Learning Prediction API Google Earth API YouTube Caption API App Engine Full Text Search API YouTube Data API Google Checkout API Google Charts API * Google One Pass: Paywall API * Google Page Speed API Google Tasks API * Android Open Accessory API & Development Kit http://developer.android.com/guide/topics/usb/adk.html http://www.google.com/enterprise/prediction/
  • 36. Polling Let’s be honest, it’s kind of old fashioned.
  • 37. Polling: Server to Server Anything new? Anything new? Anything new? Publisher Reader 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.
  • 38. Polling: Publisher / Subscriber 1: Anything new? Hub 2: I’ll let Publisher you know. Subscriber 3: I’ve got new content! 4: There’s something new! http://code.google.com/p/pubsubhubbub/ http://code.google.com/apis/pubsubhubbub/
  • 39. Polling: Browser to Server Anything new? Anything new? Web Anything new? Web Server Anything new? Browser 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.
  • 40. WebSockets They’re not safe, but they’re really effective.
  • 41. 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); });
  • 42. Go and Win HTML5 + CSS3 Make your site faster & cooler
  • 43. Go and Win Qwerly • Parse your email subscription list • Reach out to the Twitter / Facebook users • Create some niche-site content
  • 44. Go and Win WebSockets Make life a lot easier for yourself: sign up for a Pusher.com account.