1 / 24

Plug Into Messaging

Plug Into Messaging Extend the Messaging Experience Gregory Cypes, Principal Software Engineer AIM What is the AIM Developer Program? An engineering-driven effort at AOL to position AIM as a premier “Web 2.0” platform

Leo
Télécharger la présentation

Plug Into Messaging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Plug Into Messaging Extend the Messaging Experience Gregory Cypes, Principal Software Engineer AIM

  2. What is the AIM Developer Program? • An engineering-driven effort at AOL to position AIM as a premier “Web 2.0” platform • A comprehensive set of APIs, each targeted at different types of applications • A business model where AOL can freely support innovation, while retaining the ability to maintain network integrity

  3. What are the goals of Open AIM? • Help 3rd party developers to derive revenue from successful innovations on the AIM platform • Make it known that AOL is interested in openness and building platforms • Enhance the value of the AIM network by allowing developers to innovate on our platform

  4. Components of Open AIM • Web AIM APIs (sometimes referred to as WIM) • Whimsicals • Javascript embed-able objects (buddy list, presence, IM) • Wimzi • Javascript or Flash embed-able object for anonymous IM • Direct Server APIs • SDK APIs • Custom Clients • Plugins • Bots

  5. AIM SDK Info • Core AIM technology library, supports all AIM functionality • High Level COM API • Platform supports for… • Windows • Mac OS X • Linux • Windows Mobile • Uses proven third-party technology • NSS (Mozilla) for security • sipXtapi (Pingtel) or RTC (Microsoft) for audio/video • Used internally at AOL for AIM 6.x and others • Usable by Java via Java wrapper

  6. More SDK Info • Custom Clients • Build your own AIM experience into an application • Build it on a device • Plugins • Full access to the API to build and extend features of AIM • Bots • Full API…bots can do file transfer, a/v etc.

  7. What can it do for you? PC-PSTN audio calls Preference Management PC-PC video calls Presence lookup from email Military-grade encryption of all communications Email and toaster alerts Custom presence info AIM location services ICQ/federated interop AIM directory info Location Services Report spam/Notify Custom p2p sessions for data streaming • Presence/Buddy List • File Transfer • IM Sessions/Chat rooms • Image Transfer • SMS/IM Forwarding • Buddy List Transfer • Expressions and emoticons • File Sharing • Away messages and profiles • PC-PC audio calls and conferences • Expressions and emoticons • File Sharing • Privacy Management

  8. AIM Custom Clients • Standalone AIM applications built on top of Open AIM • Allows for creation of specialized clients • Automatic support for AIM plugins • Can be deployed as a server • Custom Clients deployed in the field today • SuperComputer International’s Playlinc client (gamer’s client) • Web Ex’s AIM Pro client (Enterprise client) • Doppleganger’s PCD Lounge (music lovers experience) • AIM Lite (simple client experience) • AIM Express (Web based client) • And more to come…

  9. Demo

  10. Open AIM Plugins • Code that is loaded inside the AIM application when it signs onto the AIM service • In-proc COM objects, can be written using standard tools in any language that supports COM • Full support for Visual Studio.net 2005 and WPF/XAML • Full Open AIM API exposed to plugins; in general, anything AIM can do, a plugin can do • AIMCC responsible for loading plugins, so plugins can function in any AIMCC-based application • Can interact with the host application UI; e.g. adding commands to AIM 6.x’s “Actions” menu, Buddy List right-click menu and IM Window.

  11. Plugin API • Plugins primarily interact with 4 main interfaces: • IAccPlugin – implemented by plugin to allow for initialization and shutdown • IAccSession – called by plugin to perform AIM operations (e.g. create A/V conversation) • DAccEvents – desired event handlers implemented by plugins (e.g. when an A/V session is initiated.) • IAccCommandTarget – optional; implemented by plugin to receive commands from AIM UI

  12. Open AIM Widgets • Available for AIM Lite (http://x.aim.com/laim); and for AIM 6.x • Uses JavaScript and Boxely UI technology for rapid development and deployment of plugins • Widgets have full access to the Open AIM API • Widgets are zip files that contain: • JavaScript • Manifest file containing Open AIM key and plugin information • Optional Boxely file, if your plugin contains UI

  13. Demo

  14. AIM Location Services • Currently a plugin for AIM 6.x and Open AIM clients • Opt-In plugin shares location info with users on your buddy list • Integrated with Mapquest’s API to plot buddies on the map • First plugin that uses the Boxely engine to render UI • Available via the web APIs – Can be used by cell phones • Set your location outside your client via an AIM Location Web page

  15. Open AIM Bots • Bots are automated AIM clients • Typically, writing a bot involves writing a lot of basic stuff for login, authentication, etc, and only basic text functionality supported • With AIMCC, all bot infrastructure is provided; developers can simply focus on their business logic • AccBot shell application loads bot “plugins” that perform the bot functionality • Bots can fully access enhanced IM functionality, including file transfer, audio/video, images • Some ideas: • Easy upload of images and podcasts to AOL Journals • Send an IM with a location, get back a map • Dial-A-Song

  16. Demo

  17. Keys and Fingerprints • All AIM Developer APIs require keys • Keying allows us to identify who is using our network, and to restrict/deny access if abuse occurs • A key is a unique text string; common practice for Web APIs (Google Search, Google Maps) • Keys for plugins and clients require fingerprints • Fingerprinting prevents unauthorized use of a key • A fingerprint is a SHA-256 hash of a DLL or EXE • AIMCC automatically sends keys and fingerprints to the AIM servers during login • Web service requests include key in the URL

  18. Keys • Separate keys for Web Services, Plugins, and Custom Clients • Plugin and client keys have different “levels” • Development key – no fingerprint required, but usage limited to ~200 logins/day • Deployment key – fingerprint required, usage limited to ~200K logins/day or 2M logins/month • Unlimited key – fingerprint required, no usage limits • Web services keys also have usage limits • Unlimited keys require a relationship with AOL

  19. AIM: Urls • aim: scheme URLs can allow web pages to pass commands to AIM clients • Complements AIM web services • Some examples: • aim:addBuddy?screenname=<sn> (adds buddy to buddylist) • aim:goIM?screenname=<sn> (brings up IM window) • aim:goTalk?screenname=<sn> (brings up Talk window) • aim:buddyIcon?src=<url> (sets buddy icon) • Low-tech but simple way to integrate

  20. Open AIM Examples Deployed Today • Custom Clients • Doppelganger’s PCD Lounge • Playlinc • AIM Pro • Plugins • Obopay • AIM Tunes • QQ Games • Bots • Prof. Gilzot • Spleak • And More to Come…

  21. What is AIM Tunes?

  22. Still not convinced? • 3 Steps to integrate Web IM • http://dev.aol.com/data_sheets/WebAIM_Quick_Start_Guide.pdf • AIM Widgets • Visual Studio not required • Turn key solution • AIM Gallery • Easy to upload finished work • Comments and feedback built into the site

  23. Getting Started • Official site - http://developer.aim.com to get keys and download the SDK • Read the Quickstart guide • Look at the plugin tutorials • Look at the sample code • Look at the interface docs available online • Searchable via Your Favorite Search Engine • Let us know what obstacles you ran into

  24. Contact Info • AIM Developer main page • http://developer.aim.com • Get Plugins, Bots, Clients and other goodies • http://gallery.aim.com • My Info • http://www.gregsmind.com • Gregory.Cypes@corp.aol.com

More Related