Plug Into Messaging - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Plug Into Messaging

Description:

An engineering-driven effort at AOL to position AIM as a premier 'Web 2.0' platform ... A business model where AOL can freely support innovation, while retaining the ... – PowerPoint PPT presentation

Number of Views:149
Avg rating:3.0/5.0
Slides: 25
Provided by: gregs3
Category:
Tags: aol | messaging | plug

less

Transcript and Presenter's Notes

Title: Plug Into Messaging


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 APIbots can do file transfer, a/v etc.

7
What can it do for you?
  • 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
  • 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

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 Internationals Playlinc client
    (gamers client)
  • Web Exs AIM Pro client (Enterprise client)
  • Dopplegangers 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.xs 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 Mapquests 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
  • aimaddBuddy?screenname (adds buddy to
    buddylist)
  • aimgoIM?screenname (brings up IM window)
  • aimgoTalk?screenname (brings up Talk
    window)
  • aimbuddyIcon?src (sets buddy icon)
  • Low-tech but simple way to integrate

20
Open AIM Examples Deployed Today
  • Custom Clients
  • Doppelgangers 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_at_corp.aol.com
Write a Comment
User Comments (0)
About PowerShow.com