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
Google My Maps
A Mashup Opportunity: Mapping Yahoo! Local Collections
Transforming the Yahoo! Local XML into CSV for
Collection Building in Microsoft’s Live Search Maps
Summary of Making Maps Without Programming
Data Exchange Formats
Microformats and Metatags for HTML
Yahoo!’s Use of GeoRSS and Yahoo! YMaps Extensions
Interoperability Among Formats: GeoRSS vs. KML
Creating Maps by API Programming
Google Maps API
Yahoo! Maps API
Microsoft’s Live Search Maps/Virtual Earth
Yahoo! Maps
Google Geocoder
Virtual Earth
Geocoding Non-­U.S. Addresses
Google Earth and KML
Displaying and Handling KML As End Users
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
14. Exploring Social Bookmarking and Bibliographic Systems
The Social Bookmarking Scene
Using to Examine the Popularity of APIs
Using the API
Third-Party Tools for
Third-Party API Kits
Yahoo! Bookmarks and MyWeb
A Flickr and Mashup
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
An End User Tutorial API
Event Aggregators
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
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
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
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
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
Examples of Microformats
hCard and adr
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
19. Integrating Search
Google Ajax Search
Manipulating Search Results
Yahoo! Search
Yahoo! Images
Microsoft Search
Google Desktop HTTP/XML Gateway