HNTF/Home Network TF Discussions/UPnPHomeNetworkUA
From Web and TV IG
Use Case: Home Network Enabled User-Agent
Submitter(s): Samsung Electronics (Russell Berkoff)
Description:
- Enable a User-Agent to act as a Home Network Media Player
- Enable a User-Agent to act as a Home Network Media Server
- Enable a User-Agent to control a Home Network Recording Device
- Enable a User-Agent to control other media oriented Home Network Devices (3-box model)
- Enable a User-Agent to control future Home Network Device classes
- See: Home Network Browser System Diagram
Need/justification:
- Existing Home Network interfaces do not (by scope/tradition) standardize user interface control. However, the combination of HTML markup and Javascript allow both access to Home Network devices functions and access to very capable user interface resources.
Scenarios
- The use-case scenarios are divided into the following sets:
- The User-Agent acts as a Home Network Media Player device. For example:
- List available Home Network Media Server devices. Steps
- List available content on a Home Network Media Server. Steps
- List available content on a Home Network Media Server matching specified metadata criteria. Steps
- Play content from a Home Network Media Server. Steps
- View EPG data from a Home Network Media Server. Steps
- Tune and play live programs from a Home Network Media Server capable of streaming live content.
- Select and play recorded content from a Home Network Recording device.
- The User-Agent acts as a Home Network Media Server device. For example:
- List available content that the User-Agent chooses to make available on the Home Network
- Provide descriptive metadata (title, description) for this content.
- Provide multiple binary formats for this content.
- Provide functionality to allow other User-Agents to search for content matching specified metadata criteria.
- Notify User-Agents of changes to available content.
- The User-Agent controls a Home Network Recording device. For example:
- Request the recording device capture content based on simple time/date criteria.
- Request the recording device capture content based recurring time/date criteria.
- Request the recording device capture content based on an EPG description.
- Request the recording device capture content based on a metadata description.
- Provide controls to suspend/restart/cancel planned recording activities.
- Provide status information for current/future recording activities.
- Provide access to recorded program descriptions and content.
- The User-Agent commands other media oriented home network devices. For example:
- Direct a Home Network Media Rendering device to play content stored from a Home Network Media Server.
- Direct a Home Network Media Rendering device to play live content from a Home Network Media Server capable of streaming content.
- Control Home Network Media Renderer attributes: Brightness, Contrast, Volume, etc.
- Control Home Network Media Renderer multiplex stream selection: Closed Captioning, Language, Subtitling, Camera Angles.
- The User-Agent commands future home network device classes. For example:
- Control of home-automation devices such as window shades or (HVAC) room temperature.
- Control and monitoring of home-energy standards compliant devices (energy usage, time-of-day scheduling).
- Control of E-Health and Fitness devices.
- Control of Device Management devices (provisioning, firmware upgrades, etc).
- The User-Agent acts as a Home Network Media Player device. For example:
- Why were you not able to use only existing standards to accomplish this?
- HTML User-Agents do not provided the abstractions necessary for Javascript to issue discover and issue commands to home network devices.
- Basic access methods to home network devices need to be standardized so that developers can implement pages to control Home Network devices using Javascript/HTML.
- What might you suggest could be standardized?
- Provide generic access methods to enable a User-Agent to discover and command home network devices.
- Provide extensions to HTML5 <video>, <audio> elements to allow HTML5 to comply with Home Network Media Transport Requirements (mainly DLNA specific headers). Also, provide backward-compatible extensions to previous HTML versions to support similar functionality (presumably as browser-plugins).
- Provide access and privacy controls for untrusted pages accessing home network devices.
- Allow pages to control future Home Network device classes where the comand sets are not currently known.
- Allow pages to discover functional differences (optional functionality) that may be implemented in some but not all Home Network ecosystem devices.
Steps:
- The User-Agent acts as a Home Network Media Player device.
- List available Home Network Media Server devices.
- Web page issues a method to discover home network devices
- User-Agent gets an event indicating the list is ready.
- User-Agent retrieves a list of handles representing the discovered devices
- Web page issues a method to get information about each discovered device
- Web page retains handles for devices of the appropriate type.
- Web page displays available devices to end-user.
- End-User selects one of the displayed devices.
- Web page issues method to access the device.
- User-Agent responds that a password is required.
- Web page obtains the password from the end-user (or secure password store) and issues method to provide the password to the User-Agent
- Web page can now access the device.
- List available content on a Home Network Media Server.
- Web page formats an action request to browse the Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device
- User-Agent sends request to Home Network Media Server device.
- User-Agent generates event when Home Network device responds (or times-out)
- Web page gets response (XML document) from Home Network Media Server device.
- Web page displays containers and items as indicated in XML document
This depends on the data representation of Home Network Media Server content metadata. - Web page displays the information in the Home Media Server response.
- List available content on a Home Network Media Server matching specified metadata criteria.
- Web page formats an action request to determine searchable metadata on the selected Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device.
- Web page formats an action request to search the Home Network device metadata store.
- Web page issues method to send action request to selected Home Network device
- User-Agent sends request to Home Network Media Server device.
- User-Agent generates event when Home Network device responds (or times-out)
- Web page gets response (XML document) from Home Network Media Server device.
- Web page displays containers and items as indicated in XML document
- Play content from a Home Network Media Server.
- End-user select displayed Home Network Media Server item for playback.
- Web page formats an action request to browse metadata for selected item.
- User-Agent sends request to Home Network Media Server device.
- User-Agent generates event when Home Network device responds (or times-out)
- Web page gets response (XML document) from Home Network Media Server device.
- Web page selects media binary format that is compatible with User-Agent.
- Web page displays Media Player using HTML5 <video> element.
- Web page transfers item URL to <video> element @src (or creates
Invalid language.
You need to specify a language like this: <source lang="html4strict">...</source>
Supported languages for syntax highlighting:
4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, erlang, f1, fo, fortran, freebasic, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, hicest, hq9plus, html4strict, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, oobas, oracle11, oracle8, oxygene, oz, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, plsql, postgresql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, vala, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, z80, zxbasic
- List available Home Network Media Server devices.
