Part IV. Exploring Other Mashup Topics

Now that you’ve had some experience of the anatomy of a mashup and come to grips with some specifics, this part will apply what you’ve learned to a range of different APIs and technologies. We’ll examine a different category in each chapter, starting with online maps in Chapter 13 and moving onto social bookmarking, online calendars, online storage, office documents, microformats, and searches.

Table of Contents

13. Remixing Online Maps and 3D Digital Globes
The Number of Online Maps
Examples of Map-­Based Mashups
Making Maps Without Programming
Mapbuilder.net
Google My Maps
A Mashup Opportunity: Mapping Yahoo! Local Collections
Transforming the Yahoo! Local XML into CSV for Mapbuilder.net
Collection Building in Microsoft’s Live Search Maps
Summary of Making Maps Without Programming
Data Exchange Formats
CSV
Microformats and Metatags for HTML
GeoRSS
Yahoo!’s Use of GeoRSS and Yahoo! YMaps Extensions
KML
Interoperability Among Formats: GeoRSS vs. KML
Creating Maps by API Programming
Google Maps API
Yahoo! Maps API
Microsoft’s Live Search Maps/Virtual Earth
Geocoding
Yahoo! Maps
Geocoder.us
Google Geocoder
Virtual Earth
Geocoding Non-­U.S. Addresses
Google Earth and KML
Displaying and Handling KML As End Users
KML
Programming Google Earth via COM and AppleScript
Mapstraction and OpenLayers
An Integrative Example: Showing Flickr Pictures in Google Earth
KML NetworkLink
Generating the KML for the Photos
The flickrgeo.php Code
Summary
14. Exploring Social Bookmarking and Bibliographic Systems
The Social Bookmarking Scene
Using Programmableweb.com to Examine the Popularity of APIs
del.icio.us
Using the del.icio.us API
Third-Party Tools for del.icio.us
Third-Party API Kits
Yahoo! Bookmarks and MyWeb
Connotea
A Flickr and del.icio.us Mashup
Summary
15. Accessing Online Calendars and?Event Aggregators
Google Calendar
Setting Up Google Calendar As an End User
Exploring the Feed Formats from Google Calendar
Using the ­GData-­Based Calendar API Directly
Using the PHP API Kit for Google Calendar
Using the Python API Kit for Google Calendar
30boxes.com
An End User Tutorial
30boxes.com API
Event Aggregators
Upcoming.yahoo.com
Eventful.com
Programming with iCalendar
Python and iCalendar
PHP and iCalendar
Exporting an Events Calendar to iCalendar and Google Calendar
The Source: UC Berkeley Event Calendars
Creating an iCalendar Feed of Critic’s Choice Using Python
Writing the Events to Google Calendar
Summary
16. Using Online Storage Services
Introducing Amazon S3
Rationale for S3
Conceptual Structure of Amazon S3
The Firefox S3 Extension Gets You Started with S3
Using the S3 REST Interface
Listing Buckets Using the REST Interface
Using the SOAP Interface to S3
Amazon S3 API Kits
PHP
Python
Summary
17. Mashing Up Desktop and ­Web-Based Office Suites
Mashup Scenarios for Office Suites
The World of Document Markup
The OpenDocument Format
Learning Basic ODF Tags
Create an ODF Text Document Without Any Styling of ODF Elements
Setting the Paragraph Text to ­text-­body
Formatting Lists to Distinguish Between Ordered and Unordered Lists
Getting Bold, Italics, Font Changes, and Color Changes into Text Spans
API Kits for Working with ODF
Odfpy
OpenDocumentPHP
Leveraging OO.o to Generate ODF
ECMA Office Open XML (OOXML)
Viewers/Validators for OOXML
Comparing ODF and OOXML
Online Office Suites
Usage Scenarios for Programmable Online Spreadsheets
Google Spreadsheets API
Python API Kit
Mashup: Amazon Wishlist and Google Spreadsheets Mashup
Zend PHP API Kit for Google Spreadsheets
A Final Variation: Amazon Wishlist to Microsoft Excel via COM
Zoho APIs
Summary
18. Using Microformats and RDFa As Embeddable Data Formats
Using Operator to Learn About Microformats
adr (Addresses)
hCard (Contacts)
hCalendar (Events)
geo (Locations)
tag (Tagspaces)
Definitions and Design Goals of Microformats
Microformats Design Patterns
rel-design-pattern
class-design-pattern
abbr-design-pattern
include-pattern
Examples of Microformats
rel-license
rel-tag
xfn
xFolk
geo
hCard and adr
hCalendar
Other Microformats
Microformats in Practice
Programming with Microformats
Language-Specific Libraries
Writing an Operator Script
Studying the Tutorial Script
Writing a Geocoding Script
Resources (RDFa): A Promising Complement to Microformats
Reference for Further Study
Summary
19. Integrating Search
Google Ajax Search
Manipulating Search Results
Yahoo! Search
Yahoo! Images
Microsoft Live.com Search
OpenSearch
Google Desktop HTTP/XML Gateway
Summary