"The future is here. It's just not evenly distributed yet." --William Gibson
The Future Is Here: It's Just Not Evenly Distributed
-
Upload
martin-hamilton -
Category
Technology
-
view
1.012 -
download
5
Transcript of The Future Is Here: It's Just Not Evenly Distributed
![Page 1: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/1.jpg)
The Future is Here:It’s Just Not Evenly Distributed
Martin Hamilton
http://martinh.net
@martin_hamilton
Photo by Sarath Sreekumar via Flickr
![Page 2: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/2.jpg)
![Page 3: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/3.jpg)
my.Lboro
• New site bringing together student info:
–Google Email, Calendar and Docs
–Learn (Moodle) VLE
–Library Services
–Newsfeeds and key links
• This talk: How it works :-)
![Page 4: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/4.jpg)
App, or website?
![Page 5: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/5.jpg)
But First…
![Page 6: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/6.jpg)
![Page 7: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/7.jpg)
Diagram credit: Andy Powell
![Page 8: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/8.jpg)
![Page 9: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/9.jpg)
![Page 10: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/10.jpg)
![Page 11: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/11.jpg)
About Me
![Page 12: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/12.jpg)
![Page 13: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/13.jpg)
![Page 14: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/14.jpg)
![Page 15: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/15.jpg)
![Page 16: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/16.jpg)
Now Back to The Programme…
![Page 17: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/17.jpg)
RSS/ATOM
• It’s all around you
<link href=“…” rel=“alternate”
type=“application/rss+xml” />
• But it might need a clean up
– Consider implications of embedded HTML
![Page 18: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/18.jpg)
![Page 19: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/19.jpg)
ATOM Sample with Namespaces
<item><title>Cake/Pie.</title><pubDate>Mon, 12 Dec 2011 00:37:46 +0000</pubDate><link>http://lsucs.org.uk/threads/cake-pie.5963/</link><guid>http://lsucs.org.uk/threads/cake-pie.5963/</guid><author>Lord_Infamy</author><dc:creator>Lord_Infamy</dc:creator><slash:comments>1</slash:comments></item>
![Page 20: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/20.jpg)
Newsfeeds on my.Lboro
RSS aggregator written in Perl. Choses newsfeeds based on staff/student status
![Page 21: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/21.jpg)
Google Docs:
DocumentsListAPI via Zend, with 2 Legged OAuth
![Page 22: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/22.jpg)
Time for a REST
GET/feeds/documents/private/full?xoauth_requestor_id=f.j.bloggs-08%40student.lboro.ac.uk HTTP/1.1
Host: docs.google.com
Connection: close
User-Agent: Lboro.ac.uk-My-2.1 Zend_Framework_Gdata/1.11.1
Accept-encoding: identity
Authorization: Oauth realm=”X", oauth_consumer_key=”Y",
oauth_nonce=”Z", oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1323821672", oauth_version="1.0",
oauth_signature="4hfRnByN%2F2DZya8t797CQqPmCTg%3D”
![Page 23: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/23.jpg)
'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER,'version' => '1.0’, 'signatureMethod' => 'HMAC-SHA1','consumerKey' => ‘XXX’, 'consumerSecret' => ‘YYY’
);
$config = new Zend_Oauth_Consumer($options);$token = new Zend_Oauth_Token_Access();$httpClient = $token->getHttpClient($options);$client = new Zend_Gdata_Docs($httpClient);
$feed = $client->getDocumentListFeed('https://docs.google.com/feeds/documents/private/full?xoauth_requestor_id=' . urlencode($email_address));
foreach ($feed->entries as $entry) {$title = $entry->title; $href = $link->getHref();print "<li><a target='_gdocs' href='$href'>$title</a></li>\n";
}
![Page 24: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/24.jpg)
<entry><id>https://docs.google.com/feeds/documents/private/full/spreadsheet%3A0AtfqxZt971TSdFFvQlRTZ3ZpRkVyYkZERnVxclZMMXc</id><published>2010-05-25T14:53:42.396Z</published><updated>2010-05-25T15:02:10.470Z</updated><category scheme='http://schemas.google.com/g/2005/labels'term='http://schemas.google.com/g/2005/labels#viewed'label='viewed'/><category scheme='http://schemas.google.com/g/2005#kind'term='http://schemas.google.com/docs/2007#spreadsheet'label='spreadsheet'/><title type='text'>Single Sign-On target services</title><content type='text/html’ src='https://docs.google.com/feeds/download/spreadsheets/Export?key=0AtfqxZt971TSdFFvQlRTZ3ZpRkVyYkZERnVxclZMMXc&[email protected]'/><link rel='alternate' type='text/html'href='https://docs.google.com/a/student.lboro.ac.uk/spreadsheet/ccc?key=0AtfqxZt971TSdFFvQlRTZ3VpRkVyYkZERnVxclZMMXc&hl=en_US'/><link rel='http://schemas.google.com/spreadsheets/2006#worksheetsfeed’ type='application/atom+xml’ href='https://spreadsheets.google.com/feeds/worksheets/0AtfqxZt971TSdFFvQlRTZ3ZpRkVyYkZERnVxclZMMXc/private/full'/>
![Page 25: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/25.jpg)
<linkrel='edit-media' type='text/html'href='https://docs.google.com/feeds/media/private/full/spreadsheet%3A0AtfqxZt971TSdFFvQlRTZ3ZpRkVyYkZERnVxclZMMXc/[email protected]'/><author><name>f.j.bloggs-08</name><email>[email protected]</email>
</author><gd:resourceId>spreadsheet:0AtfqxZt971TSdFFvQlRTZ3VpRkVyYkZERnVxclZMMXc
</gd:resourceId><gd:lastModifiedBy><name>f.j.bloggs-08</name><email>[email protected]</email>
</gd:lastModifiedBy><gd:lastViewed>2011-10-06T21:29:56.187Z</gd:lastViewed><gd:quotaBytesUsed>0</gd:quotaBytesUsed><docs:writersCanInvite value='true'/></entry>
![Page 26: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/26.jpg)
Gmail:
Zend Librarywith2 Legged OAuth
![Page 27: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/27.jpg)
Google Calendar:
ZendLibrary with2 Legged OAuth
![Page 28: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/28.jpg)
Learn widget:
MySQL connectionto underlyingMoodle software
Exported view ofUnderlying StudentInformation System
![Page 29: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/29.jpg)
Budget widget:• MS SQL (ODBC) connection• Card vendor Web Services API• Home grown Library API
![Page 30: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/30.jpg)
Putting It Together
![Page 31: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/31.jpg)
![Page 32: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/32.jpg)
Putting It Together
Visiting http://my.lboro.ac.uk:
– Shibboleth prompts for SSO login if necessary
• SAML response includes LDAP attributes from Active Directory, e.g. student ID
– Populates skeleton HTML of page
• Starts AJAX callbacks going to render widgets
• Choice of staff/student content
– Appearance driven via CSS + jQuery
![Page 33: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/33.jpg)
Traps for the Unwary
• Are you using UTF-8 everywhere?
• SimpleXMLElement barfs on malformed XML
• How much intermediate caching to do?
• Do you even have APIs??
• 2 Legged OAuth not well understood
• REST good, SOAP bad – but use JSON rather than XML if you can
• print_r() and Data::Dumper are your friends!
![Page 34: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/34.jpg)
Closing Thoughts
![Page 35: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/35.jpg)
![Page 36: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/36.jpg)
CMIS / Google Calendar
![Page 37: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/37.jpg)
Add mobileVersion here
![Page 38: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/38.jpg)
![Page 39: The Future Is Here: It's Just Not Evenly Distributed](https://reader033.fdocuments.in/reader033/viewer/2022052912/55a140b41a28abf0278b4795/html5/thumbnails/39.jpg)
The Future is Here:It’s Just Not Evenly Distributed
Martin Hamilton
http://martinh.net
@martin_hamilton
Photo by Sarath Sreekumar via Flickr