application standards for ‘push’ content and streaming media hadi partovi microsoft corporation

25
Application Standards for ‘Push’ Content and Streaming Media Hadi Partovi Microsoft Corporation

Upload: julius-berry

Post on 23-Dec-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Application Standards for ‘Push’ Content and Streaming Media

Hadi Partovi

Microsoft Corporation

Agenda• Justification

• Technologies of today:– Smart Pull– True Push, Streaming Media

• CDF - Unifying Pull and Push– Demo, Details

• Technologies of tomorrow:– Searching and Filtering– Profiling and Personalization

Justification

• The Web today:– Different standards for pull vs. push– Many different push mechanisms, transports– No interoperability in “push”

• The Web tomorrow– New ways to manage content– Even greater need for interoperability

Technologies of today

Smart Pull

True Push

Streaming Media

Push = Smart Pull?

• “Smart” means automated, scheduled pull

• HTTP as the underlying transport

• Driven by data about the content

• User Interface provides “push” experience

• Many players in this space

Smart PullDelivering Content for Offline User

Client polls for new information about content

Web ServerClient

Actions

1. Client “Subscribes” to the Web Site2. Server side provides directives for smart pull3. Web pages described in these directives are automatically fetched delivered to client

DirectivesPages sent

Directives

True Push (1 of 2)

• New transport protocols solve problems not addressed by HTTP today– Multicast information to many clients

efficiently– Data change notifications– Different physical media (e.g. airwaves)

True Push (2 of 2)

• Diverging solutions for multicast and broadcast protocols

• Many of these protocols also include similar directives– What content to deliver– Schedule

Streaming Media

• Similar to “true-push” multicast solutions

• Similar directives for streaming content– What streams to “play”– Timing information

• Many more problems beyond regular Web content (out of scope)– Video / presentation issues

Channel Definition Format

Unifying Push and Pull

Demo

Details

CDF - Unifying Pull and Push

• Author once for different delivery mechanisms

• Single, simple data format, procedural API– eXtensible Markup Language (XML)– Document Object Model

• Extensible vocabulary for common application directives

• Scalable

What is a channel?

• Meta-information about content

• Automated delivery

• Offline use

• Personalization rules

• Vision supplied by many companies

The role of CDF

• Existing vocabulary has played a unifying role in the marketplace– Majority of ‘push’ clients, servers, tools– Countless content sites– Evolved from Sitemaps (HTML-WG)

• Built on XML - (first widely publicized application of XML)

• CDF-based solutions for smart pull or true push

Flexibility of Implementation

• Interoperable client, server, tool implementations available today

• IE4 will provide best of breed, cross platform.

• Open COM-based architecture allows multiple transport protocols to plug in

• Independent of content format

CDF - Demo

Content hierarchy

Offline use

Display directives

CDF - Selected Details

• Content grouping

• Update Schedule

• Display preferences

CDF - Content Grouping

• Hierarchical grouping– <CHANNEL> and <ITEM>

• Absolute or relative URLs– <BASE> just like HTML

• Cache directives – LASTMOD attribute (avoid roundtrip)– PRECACHE attribute (for offline use)– LEVEL attribute (for crawling subtrees)

CDF - Update Schedule

• Required update frequency: – INTERVALTIME

• Optional channel lifetime: – STARTDATE, ENDDATE

• Optional - control over time of update: – EARLIESTTIME, LATESTTIME

CDF - Display Preferences

• <LOGO> - visual cues– for channels or items

• <USAGE> - display venue for presenting channel or item content– e.g. channel-viewer– e.g. screen-saver– e.g. a notification pop-up– e.g. a printer

OSD - Open Software Description

• Philosophically aligned with CDF

• Value is in vocabulary– XML for syntax– DOM for procedural API

• CDF is vocabulary for content

• OSD is vocabulary for software packages – Dependencies per platform/lang/etc

Technologies of Tomorrow

Searching, Filtering

Profiling, Personalization

Moving Forward - Searching, Filtering, Aggregating

• Client-side or Server-side• “Push” vocabulary helps search content, filter

unwanted info, aggregate desired info• Use XML-Namespaces and XML-RDF to

add annotations• Search results themselves may be “pushed”• Need language and application rules for

CDF filtering

Profiling and Personalization• Again, personalize on client or on server• Upcoming work from P3 group - profiling

– Communicating private info between client and server

• “Pushed” content should be personalized– Client-side personalization essential for many “true-

push” mechanisms– Need common standard for CDF personalization

directives

CDF Futures

• CDF v1 - shipping, industry momentum

• CDF v2– Filtering / Personalization language, rules– Vocabulary extended (use XML Namespaces)– Relationship to other proposals (XML for

native types, XML-RDF for annotation, OSD for software push)

Summary

• Need standards in diverging area of push

• Many future technologies at stake

• CDF is already in use by over 50 software vendors, over 1,000 high-profile web sites– Clients, Servers, Tools - shipping, many impls– Wire (or air) Protocols– Content - grassroots momentum

• Looking forward to formalizing CDF, defining future versions