[mythtv] MythWeb

Richard Morton richard.e.morton at gmail.com
Tue Dec 30 18:26:45 UTC 2008


Hi,

This is my first posting to this list as I have just joined. I am quite
obviously not a Mythtv developer but I am interested in finding about the
status of a component and contributing, if I can.

My particular area of interest is building a context sensitve web-browser
based remote control for my Sony Ericsson P1i, Apple iPhone, Nokia N800i and
of course this laptop.

I was browsing around the MythWeb code and noticed that there is a place
holder in it for just such a remote, but nothing more... so before I worked
on something I wanted to where we are at. I would most likely build it as a
seperate module as my PHP is not too hot and I would hate to mess up someone
elses hard work, hopefully if it catches on it would get adopted/refactored.

The concept of the remote is to use a touchscreen as the primary screen for
browsing media, although eventually it would be fab if it (e.g. the EPG)
could be seamlessly moved between the mobile remote and the main playback
screen. One thing that is becoming obvious is that the mythtelnet interface
would need some alterations to complete the project, or some other way of
starting and controlling playback of games, music, video and recordings.

I have written a few thoughts of how this would be used, feedback welcome. I
am sorry if this is being posted in the wrong place.

Richard





----------------------------------------------------


MythWeb Advanced Remote


 There are a few usecases for mythweb;

   -

   Remote scheduling
   -

   Remote Viewing
   -

   Local (in room) remote control of a front end with control of onscreen UI
   -

   Administration (predominantly local)


 there is a usecase that is not currently supported by MythWeb



   -

   local (in room) remote control of a front end but with all data presented
   on the remote device (e.g. webpad)


 it is this last usecase that the advancedremote would be targeted at. There
are cross overs between the usecases in certain situations and this is where
tight integration with mythweb would allow the mixing between scenarios.



 *The Use Case description:*


 using a web pad as a (touchscreen) remote control, the user must look at
the screen of the device in order to use the onscreen (touchscreen) buttons.
As the users attention is on the touchscreen display the result of the user
interaction should also be on the touchscreen display. If the user is in a
group who are all interested in the information the information should be
able to be shown on the main display, ideally in sync with the information
on the touchscreen display.


 The network may consist of multiple front ends, the user should ideally be
able to control each of these front ends and swap between them. The control
software would ideally only need to be installed on the master-backend.

The user may have many different web-pads and so the system must account for
multiple web-pads of various types. A type of web pad has generic settings
about the web pad stored and specific settings to that web pad stored
against it (over writing general web pad type settings) these settings would
include screen resolutions, orientations, themes, button size and spacing,
flash support, ajax support, available locations and other settings. All the
web-pads maybe in use simultaneously.

All the controls should be finger sized be in a consistent location, have a
logical layout, each control has multiple states, enabled, disabled,
selected/toggle/depressed, not shown. The system should be efficient on
resources and also be fast (caches which periodically update – pre-generate
complex screens?)


 When a new webpad connects to the system the system asks for a password to
ensure that the device is authorised to use the system. The system then goes
through a series of setup screens for the device. Once complete the system
shows which front ends are available (select distinct(hostname) from
settings – assumes setting identifier is resolvable in DNS).

The webpad when it connects to the solution, the system should provide a
relevant page based on the context of what the front-end is doing, I.e. it's
context; the following contexts are to be supported, they remember the last
frontend they were connected to and they query the front ends state to
determine the page it should move to – a setting should exist which
determines if it queries the state of the front end and move to that page
every so long (after no activity).


 standard controls (button to go to mainmenu, back / forward to page, name
of frontend, keyboard remote, synchronise remote with frontend)


 MainMenu: TV, Recordings, Videos, Music, Streams, Images, Information,
Games, change frontend, removable-media (rip / play / eject / burn/archive),
mythweb, switchoff



 Custom Calls. All modules installed will have to have custom handlers for
all events. This is so that modules may be contributed such as context
sensitive, lighting, home automation etc.


 Moving to the TV EPG on the device would issue to the handlers "remote",
"TV" "program" and "listing" selecting a channel to show on the screen would
issue something like "display", "TV", "channel=bbc1", "play",
"genre=action". This would allow custom modules to change the sound volume,
balance, equaliser settings, lighting settings, close the curtains based on
the modules rules about these things.


 Change Frontend: list of registered frontend servers (ping to confirm alive
and indicate status)


 Play Video / Play Music Play-pictures / Live-TV / Stream Trailors:

TV playback controls (pause, previous/next-chapter/track/commercial-marker,
fast-forward/rewind, toggle-subtitles, volume/mute, controls should
integrate with infrared senders / home automation etc show information on
main screen display, EPG on touchscreen, save screenshot as thumbnail),
information about the currently playing item



 EPG – Grid:

grid of programs and channels over time, able to scroll with a finger
vertically through channels and horizontally through time. Controls (select
a program to show information, select a program to show the program/record
the program if it is in the future, toggle display order, genre filter,
search, favourites channel list, EPG now/next, channellist). If the user
selects a program to play, the screen changes to the play control screen.


 EPG - now/next:

column of channels with now and next programs indicated


 Channellist – thumbnail buttons for each channel and title of channel,
pressing a thumbnail changes the channel, brings up the program information
in an information box with a button to move to the play screen, after a
configurable amount of time the screen changes to the playback screen
anyway. (channel list - select channum, chanid, icon, name from channel
order by channum, program information - select * from channel, program where
channum=1 and channel.chanid = program.chanid and starttime<now() and
endtime>now(); )



 Search/filter: dialogue box for search criteria and genre drop down filter.
Configurable on screen keyboard?


 Item Information page: shows full title, and other program information
(title), auto updates when item playing changes. Allows search depending on
websites (depending on category: video, recording, tv, music), searching for
artist, artist and album, artist, album and track for music, tv program,
film name, etc. may just use google, but could be imdb for films, amazon


 Media Browser: Video / Music / recordings / games / streams

Controls (same as EPG + switch to playlists/genre list, browse into folder
as well as select a program to show the program/record the program if it is
in the future & add item to playlist – hidden in epg but space remains,
delete item, play item in flash on remote – using mythweb flash support)

thumbnails of items in columns shown in folder list structure, playlists,
truncated title, vertical scrolling, press for information (Information
page) or play depending on control setting (play page).


 Playlist management:

create new playlist based on selected items, setup task on selected
items/playlist (transcode and copy to device for example)


 Thumbnails should consist of an custom image of the item (channel icon for
TV channels, coverart for videos/music/game, preview image for recordings,
stream graphic, image preview), if these are not available use a standard
image for that media type. images: should use images located in theme
directory above those generically created. All images including customised
thumbnails should be stored in theme directory if they are not available use
generic directory as setup in settings for thumbnails in the
frontend/backend settings.


 Information;

enable integration with mythweather and mythfilms


 Removable Media:

option to play disc or rip disc:

rip happens in background with all interaction through the webpad. Playback
moves the screen to the playback screen. Controls (Option to move interface
to main screen such as for title entry)









 Themes


 Themes should be specific to a device or series of devices with similar
capabilities. Three themes that are to be created: Nokia N8xx, SonyEricsson
P1i, Laptop



 Nokia N8xx – 800 x 480

split into a vertical column for main controls, rest of space used for
context total of 10 buttons across and 5 buttons high, space between them.
Visual feedback for button presses.





 SonyEricsson P1i – 240 x 320

Laptop – 1024 x 768











 Initial Features:

change front end

Channel List

Channel Now and Next

standard remote control ( to enable the rest of the functions )


 Second Release

EPG

ability to set record from EPG

Rip/play disc

show list of recordings / info about recording


 Third Release – requires integration – enhancements to MythTelnet?

Start playback

Music browsing and playback

playlists
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mythtv.org/pipermail/mythtv-dev/attachments/20081230/07d6f724/attachment.htm 


More information about the mythtv-dev mailing list