Application Standards for ‘Push’ Content and Streaming Media Hadi Partovi Microsoft Corporation.
Post on 23-Dec-2015
223 Views
Preview:
Transcript
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
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
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 - 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
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
top related