200 likes | 347 Views
Smarten Up Your Address Book with a Plaxo Mashup. Presentation to Mashup University Joseph Smarr Plaxo, Inc. July 11, 2006. How Many Web Sites Use Address Book Info?. How Many Web Sites Use Address Book Info?. Any service where users Share content Connect with friend
E N D
Smarten Up Your Address Bookwith a Plaxo Mashup Presentation to Mashup University Joseph Smarr Plaxo, Inc. July 11, 2006
How Many Web Sites Use Address Book Info? • Any service where users • Share content • Connect with friend • Invite people to join • E-mail info to others • Nearly all web apps do (or should) use address book info • Key to viral success of many companies • Usually not a core competency
How Do They Get Users to Fill in Their Address Book Info? • Manual entry • How many e-mail addresses do you know off the top of your head? • Import CSV • Not user-friendly • Quickly gets out-of-date • Auto-import from another web site • Painful to build (authentication, scraping site) • Even more painful to maintain (hotmail windows live)
How’d They Do That? • Add the button to your page <a onclick="showPlaxoABChooser('textarea', '/cb.html'); return false" href="#"> <img src="http://www.plaxo.com/images/abc/buttons/add_button.gif" alt="Add from my address book" /></a> • Specify the ID of your e-mail <textarea> • Specify the location of your hidden callback page • Add a small callback page on your site <html><head><script type="text/javascript" src="https://www.plaxo.com/ab_chooser/abc_comm.jsdyn"></script></head><body></body></html> • Full instructions and demo:http://www.plaxo.com/api/widget
Ok, How’d They Really Do That? • Notice: Plaxo filled in a textarea on zazzle! • Need to get around same-origin policy • Without server-side proxy (JS/HTML only) • Normal workaround: JSON script injection • But zazzle wouldn't know when to request it • Solution: “The JavaScript Wormhole” • Add hidden callback page on zazzle that includes Plaxo script • Plaxo popup loads callback in an iframe when done • Script is dynamically generated, and includes selected data • IFrame is also on zazzle (and has the data), so it can tell parent.opener to fill in the textfield
Ok, How’d They Really Do That? zazzle.com/email_this plaxo.com/ab_chooser plaxo.com/ab_chooser Iframe: zazzle.com/cb.html Script: plaxo.com/ab_chooser/abc_comm.jsdyn
Who’s Using the Plaxo Widget? • See more at http://www.plaxo.com/api/gallery • Using the widget? Let us know! “I went from a nagging request from one of our investors to a completed implementation in a matter of days, I spent no money, and I had a very happy development team!” –Cynthia Francis, CEO, Reality Digital
Plaxo Address Book Access Widget: Summary • Use it any place users have to enter contact info • Give users access to their existing address book info • Users do not need to be Plaxo members to use widget • Quickly integrate with a few lines of HTML / JavaScript • No server-side code required • No changes to what you do with the contact info • It’s FREE! …but, it doesn’t keep the contact info in sync!
Need a Persistent Address Book?Then Keep it in Sync • Plaxo Widget is best for quick-access • Share content, send invites, find friends, etc. • Many services need to maintain their own address book • Rarely the user’s primary address book • Thus, usually incomplete and out-of-date • Users don’t want yet-another-address-book • But sync is hard; many popular address books
Good News: Plaxo has Already Done the Hard Part for You! Plaxo = Smart Address Book • Already syncs with many popular address books • Simple Sync API lets anyone plug in • It’s FREE! Your site’s address book Sync API Other Plaxo API partners (PocketPC, mail.com, etc.)
Case Study: AOL Instant Messenger • Goal: expand info in buddy list to enable richer communication (e-mail, SMS, phone, etc.) • Solution: partnered with Plaxo • Import/sync with Outlook/Yahoo/etc. • Richer contact info for existing buddies • New buddies discovered from address book (e-mail lookup / Plaxo) • Concept to shipped in 3 months!
The Sync Recipe • Remember the last time you synced • Send Plaxo any updates on your end • Adds/updates/deletes since last sync • Receive incremental updates from Plaxo • Send back IDs for any new contacts Plaxo handles the tricky parts: merging, mapping, history, partner auth, etc.
Plaxo’s Sync API is REST-ful • All API functions are invoked by URL • Input is sent in POST body • Output is returned in response body • Simple JavaScript-like syntax (ala gmail) • Full documentation and examples:http://www.plaxo.com/api/sync ['Sync', 'Target', 'Contacts', 'Source', 'DevLocalContacts']['Add', 'Type', 'Contact', 'ItemID', '', 'ServerItemID', '68339'], ['Data', 'BusinessEmail', 'joseph@plaxo.com', 'DisplayName', 'Joseph Smarr', 'HomePhone', '650-555-1212']['/Sync']
But Wait…There’s More! Plaxo address books are also self-updating
Plaxo Sync API vs. AB Access Widget Summary: • Widget is quicker to implement • Sync API is better if you’re storing AB info
A Bit More about Plaxo • Founded in 2001; currently 50+ employees • Private company; raised >$20M to date • Sequoia (Mike Moritz), Globespan, Cisco, Ram Shriram, Tim Koogle, … • 10+ million members, >2 Billion contacts • 500 Million unique people in all address books • Built into new AOL Instant Messenger • Basic service is free; premium bundle
Coming Attractions • More API bindings • JSON, XML, SOAP, SyncML • Developer toolkits (SDK, sample code) • More web widgets • Contact info / calendar on your blog • Calendar sync API …and, of course: • More sync endpoints & more Plaxo users
Smarten up Your Address Book Today! http://www.plaxo.com/api (and look for us at MashupCamp!)