Developing Interactive Applications Using Windows Live Robots, Activities, and Alerts - Presentation Transcript
Developing Interactive Applications Using Windows Live Robots, Activities, And Alerts Campbell Gunn Program Manager Microsoft Corporation John Kim Pierre Berkaloff BTB025
Agenda
Introduction
Activity Applications
Alerts
Building and Deploying ‘Bots’
Windows Live™ Messenger Platform
Build interactive multi-user applications
Potential audience of 200 million users
Opportunities for business and hobbyist
API access free upon accepting TOU
Serve ads and share revenue
Purchase advertising
Pay for placement
A new twist on Mash-ups
DHTML and AJAX style development
Multi-user apps without the pain
Windows Live™ Messenger Applications
Its all about user interaction and engagement!
Activities, Bots, Alerts
Windows Live™ Messenger Applications
Client to Client data xfer
Conversation interaction
HTTPS for secure data exchange
Mashup style applications (DHTML & AJAX)
Activities , Bots, Alerts Activity Window
Windows Live™ Messenger Applications
Interact via the conversation, user tile, psm
Broad, or domain specific interaction
Can be combined with Activity apps
Built on 3rd party hosting platforms
Activities, Bots , Alerts Bot Conversation
Windows Live™ Messenger Applications
Published via RSS feeds
Draw users back into Messenger
Launch Activities and Bots from toast
Activities, Bots, Alerts
What Are MSN Alerts?
A great new way to deliver information to consumers
Up to 10x more effective than simple e-mail *
Find where customers are on network, then deliver by
MSN Messenger (Desktop Alert and Tab)
MSN Hotmail
MSN Mobile*
A great new way to partner with MSN
Drive traffic
Reinforce brand
Generate revenues
* Based on 1% average simple email response ** Mobile available in US and Canada only
Windows Live Safety Scanner Activity Application ESPBilly Bot And Activity Application
Activity Applications
Activity Applications
How to Create a Messenger Activity
Multi User Activity
Sample Code
Single User Activity
Sample Code
Debugging an Activity App
Demo-Walk through
What Are Activity Apps?
One or two user apps built on the Windows Live ™ Messenger communication infrastructure
Connect Peer to Peer or through the Windows Live Cloud
Work across firewalls and proxies
Run in an IE window attached to the Messenger Conversation window
Security considerations require that ActiveX apps be certified by Windows Live
No adult, gambling or hateful content
Application should include a Help link
Messenger Activity Objects
External – Parent object
Channel – Client to client communication
Error – Error code and data
FileInfo – File transfer operations
Messenger – Dialer and Options dialogs
User – User properties
Users Collection – Enumerates user list
Access restricted
Activities Architecture Multi (Two) User Activity Activity Application Activity Application Servers
Required Definitions Apps must sync these events function Channel_OnRemoteAppLoaded() { // The remote application is loaded and ready; start multiplayer } function Channel_OnRemoteAppClosed() { // Remote application is shutting down; game over } function Channel_OnDataReceived() { // Data received from remote app, inspect value of Channel.Data } function Channel_OnDataError() { // Error during SendData, may need to retry. } function Channel_OnTypeChanged() { // Inspect Channel.Type for the state of the connection (Direct, Indirect, Disconnected) } function Channel_OnAppClose() { // Messenger is shutting down, clean up application }
Provisioning Restricted Functionality
SendIM
Exposes EnterIM & SendIM methods in the Channel object
ReceiveIM
Exposes OnIMReceived event and IM property (ro)
ActiveX
load ActiveX controls in local user security context
EnableIP
Allows access to local & global IP addresses
ReplaceIM
Exposes OnIMReceived event and IM property (rw)
SendFile
Exposes file xfer PEMs in the Channel object
UserProperties
Exposes E-mail and Name in User object
Channel Object
Properties
Data
A variant containing the data received from the remote application
Error
An Error object containing data that could not be delivered
FileInfo
A FileInfo object that represents a file being sent or received. Requires SendFile permission
Type
A ConnectionType value representing the type of connection between peers
IM (read-only)
String containing the instant message that was received and displayed. Requires ReceiveIM permission
IM (read-write)
String containing the instant message that was received. The message can be changed before it is displayed. Requires ReplaceIM permission
Use Of XMLHTTP
Given to you with IE 7.0
Windows.External.XMLHTTP
Allowed with IE 6.0
ActiveX control allowed to load
CreateObject(XMLHTTP);
Pull in dynamic AJAX content into your Application without IFrame manipulation
Support for XMLHTTP
Get it with Windows Live Messenger Version 8.0
MSN Messenger 7.5 and lower needs IE 7.0
Building An Activity Application
What Is Provisioning?
Two step process
Enabling you to test your application
Making your app available to Windows Live Messenger users
Why is provisioning required for Windows Live Messenger Activities.
Verify apps use the Activity API properly
Verify app compliance with Terms of Use
Give Messenger users a great experience
Provisioning Settings Creating the msgrp2p.xml file
Enables Messenger to load an un - provisioned application for testing
Multi-user apps require 2 machines to have 2 Messenger logins
Edit msgrp2p.xml to reference web server
Place msgrp2p.xml on test machines
C:Program FilesMSN Messenger
Debugging Tips And Tricks
Use VisualStudio 2005.net
Have the debugger break post the point where you want to check variables and walk backwards
Check the P2P channel occasionally in application
JavaScript: Use the “debugger” keyword to start script debugging
Place “debugger” keyword at top of page
Enables vars in Immediate window, Enables setting breakpoints
Use Alerts often
Use Channel.SendIM to output debugging text to conversation window
Reopen conversation to reload msgrp2p.xml
App is reloaded on every invocation
Provisioning, Debugging And running Application
Alerts
What Are MSN Alerts? FREE Real-Time Info Delivery A Killer Communications Platform ! Any Kind of RSS-Triggered Information News Sports Blogs Job hunting Travel Products
How Do Users Sign Up?
100% User Opt-In Delivery to: Desktop Email SMS
Using PRESENCE, Our Alerts Platform Automatically Finds User With RSS-Triggered Information
… Which DRIVES Traffic To Your Platform
… And Offers Stunning Click-Thru PERFORMANCE To Almost 200 Million Messenger Users
L’Oreal 24% and 35% (Beauty Alerts)
MSN Autos 18% (Detroit Auto Show)
ILoveMessenger 23% (Contest)
Messenger Beta 37% (Upgrade info)
MSN Alerts Manager Online App To Manage It All Customize Create Report
MSN Alerts Platform Partners Include…
Windows Live Expo
MSNBC
FOX Sports
MSN Spaces (Australia)
Feedburner
MSN Travel
Money Central
Etc.
Best Part ZERO deployment time Please visit http:// SignUp.Alerts.MSN.com or [email_address] for more information MSN Alerts Platform is Free to Developers and Users (Ad Supported)
Building And Deploying Windows Live Robots John Kim Pierre Berkaloff
IM Robots Are Not Web Sites
Conversational nature
Rate of growth
Traffic patterns
Incoming users ramp-up rates at peak times
Responsiveness expectations from users
Off the shelf Web serving technology is not practical in this environment.
Web serving bandwidth constrained
IM Bots are CPU constrained/OS limitations constrained
Case Study Smarter Child
Launched 4 months ago on MSN
300 million+ queries per month
3 million + unique messenger users
Traffic at peak times 300 queries per sec
never promoted or advertised anywhere
viral growth (entirely word of mouth)
[email_address]
What You Need To Build Bots
Natural Language Engine
Conversational System
User Profile
Messenger network faceless client supporting latest large range of features
All these should be highly scalable and cost effective
What You Need Natural language
Comprehensive natural language processing engine
Highly optimized for IM scale traffic
Efficient natural language definition syntax
Support for both Static , dynamic (data-driven) and procedural lexical items
Automatic binding of user input data to variables
Dialog handling
Ability to handle complex conversational dialogs
Context awareness
Giving preference to the current conversation subject
Anaphora ( Ex: Can you show it to me ?}
Ambiguity resolution
recognizes ambiguous queries
Prompts user to clarify intent
Language Libraries
Language Parsing Rules
Lexicons
Industry specific Extensions
Spell Correction
What You Need Conversational Centric platform
Adaptive output
IM centric User Profile Management
Logging
Usage Reporting
Quality Analysis
What You Need Messenger Features Support
Display Pictures
Emoticons
Dynamic Display Pictures
Pretty Name
Personal Messages
Backgrounds
MSN Activities
Ability to invite
Accept invitation
Transfer information between the bot and the user
Page driving
Building An Agent
Adding Basic Natural Language
Starting the Agent
Data Feed Binding
User Input Binding
Adding Conversational Structure
Adding Activity Support
Adding Basic Natural Language And Conversation Structure
Learn how to create rich and deeply integrated appl more
Learn how to create rich and deeply integrated applications leveraging the 200 million worldwide Windows Live Messenger users. Windows Live Messenger offers a unique platform for building applications that provide a shared experience, such as joint shopping, multi-user gaming, customer support, and more. Windows Live Messenger applications can use a combination of features including BOTS, Alerts, and Activities (which is the application window within Messenger), as well as social networking. Learn about the business opportunities exposed by the Windows Live Messenger platform and details on how to build applications that capitalize on these opportunities. less
0 comments
Post a comment