Difference between revisions of "Usage Intro"

From LinuxMCE
Jump to: navigation, search
Line 26: Line 26:
  
 
Just like LinuxMCE creates some default activities for you, it also creates some default event handlers.  For example, in any room where you have a TV and lights, it not only creates a Showtime activity, it also creates an event handler that listens for the 'Watching Media' event from any media player in that room, and executes the Showtime scenario automatically.  This means that whenever you start a movie, the Showtime activity is executed, which be default dims the lights.  There are also some default event handlers to intercept events like 'Security Breach' and 'Fire Alarm' from your home's security system and respond with default behavior.
 
Just like LinuxMCE creates some default activities for you, it also creates some default event handlers.  For example, in any room where you have a TV and lights, it not only creates a Showtime activity, it also creates an event handler that listens for the 'Watching Media' event from any media player in that room, and executes the Showtime scenario automatically.  This means that whenever you start a movie, the Showtime activity is executed, which be default dims the lights.  There are also some default event handlers to intercept events like 'Security Breach' and 'Fire Alarm' from your home's security system and respond with default behavior.
 
  
 
== Controlling an Orbiter ==
 
== Controlling an Orbiter ==
Line 45: Line 44:
  
 
This 3 button model is a new concept and very different from traditional navigation.  Since you've been doing it the 'normal' way all your life, it will take a bit of getting used to.  But once you adjust to it, most people say they are much, much faster with this than a normal remote.
 
This 3 button model is a new concept and very different from traditional navigation.  Since you've been doing it the 'normal' way all your life, it will take a bit of getting used to.  But once you adjust to it, most people say they are much, much faster with this than a normal remote.
 +
 +
== Regen Orbiters & Reload Router ==
 +
 +
While using LMCE you'll see sometimes a message asking if you want to reload the router, or if you want to regenerate the Orbiter's UI's.
 +
 +
Reload Router: All the devices in LMCE get their configuration information from the router, which is the central piece of software on the core.  All the devices also request from the router a list of all other devices in the home when they startup so they can react accordingly.  For example, an IP camera device will turn on lights in the room when you're viewing the camera.  Thus, the IP camera needs to know what lights are in the room.  Typically a device requests this information only once when it's starting up to be most efficient.  Therefore, while you add new plug and play devices, those new devices will generally work immediately, but the functionality may not be there fully until the router does a reload and tells all the other devices to also reload and re-request this data so they can work with this new device.  This process is known as a 'reload'.  It only takes about 10 seconds.  Every time you add or remove devices, or change some device's configuration, you may be asked if you want to do a reload.  If you're still going to be adding more devices or making more changes, just say no.  There's no hurry, you can do the reload when you're done.  Also, if you're in the middle of watching a movie or tv, you can postpone the reload since, when the media players will generally stop playing media during a reload.  Note that your phone calls aren't affected, and any tv shows being recorded by MythTV in the background are also unaffected.
 +
 +
Regen the orbiter: LMCE's Orbiter's, or user interfaces, are all "pre-rendered" in order to be more efficient.  In other words, the source images are all very high resolution, and need to be resized for whatever resolution your screen is running.  Also, as you add new activities, those will result in new buttons for the main menu, and sometimes new screens, or perhaps changes to the text on existing buttons.  So when you add new activities, you won't immediately see them on an orbiter until you do a regen.  If you're still going to be adding more activities, just say 'no', and do a regen when you're all done.  If you added new activities and want to test them quickly without waiting for a regen of all the orbiters, which takes about 2 to 5 minutes per, then just regen the one orbiter you're using for your tests, and regen the others only after you're sure everything is done.  Once you do a regen of all orbiters, they will all have the same list of activities.
 +
 +
This regen process is a bit annoying but necessary for a lot of low-power devices like the desktop phones which just don't have the processing power to do scaling and rendering on the fly, and need all the images pre-rendered and with the text pre-embedded in the images.  However, since the media stations have a lot more processing power and can render their ui's on the fly, it's in the works to make the orbiter's on the media stations render their ui's on the fly so you don't need to do a regen every time you add/remove activities.

Revision as of 03:08, 25 March 2007

LinuxMCE's main concepts are Devices, Events, and Activities (aka Scenarios, Command Groups, etc). An Orbiter refers to the user interface, be it on a media station, web pad, mobile phone, etc.

Devices

A device is some piece of hardware or software, like the Xine Media Player, the light switch in the bedroom, or your mobile phone. All devices do 3 things: 1) Retrieve configuration data 2) Respond to commands, like turn on, turn off, fast forward, etc., 3) Fire events, like 'motion detected', 'playback started', etc. These are abbreviated "DCE" (Data, Commands, Events).


Activities

Activities, scenarios and command groups are interchangeable and all mean the same thing. This is really just a group of commands that get sent to a device. In LinuxMCE, your main menu consists of a several activities, grouped by room, and categorized as Lighting, Media, Climate, Telecom and Security. All the activities do the same thing: send commands to devices. The categories lighting, media, climate, telecom and security are arbitrary and just for convenience so it's easier to find the activity you want. Whenever you tell LinuxMCE to do something, it's always by choosing an activity from the main menu on an Orbiter. LinuxMCE creates lots of default, common activities for you automatically. For example, in any room where you have both a TV and some lights, LinuxMCE automatically creates an activity called 'Showtime' that dims the lights to 10%. In any room where you have a PVR or other TV-enabled device, it creates a scenario called 'TV' in the 'Media' category that starts the TV system. It also creates a command in the 'Media' category called 'Video' that sends a command to the Orbiter GUI telling it to display all your video content. Activities are automatically created under Telecom to make phone calls, and under Security to view cameras and arm your alarm.

These are just default activities. You can have a fully-functional system and do almost everything using only the default activities. If you want to change or remove some default activities, or add your own, do it using the admin web page, under Wizard, Scenarios. Note that when creating an activity, or scenario, the web page will give you a wizard that's most appropriate based on the category you picked. So if you're adding an activity in the lighting category, the wizard will show you all your lights and let you pick which ones to turn and off. If you're creating an activity in the security category, it will show you what cameras you have, and selecting that activity on the orbiter causes it to show the camera.

Remember the categories, and the wizard, are just for convenience. Any activity can send any command to any device. So, when you're adding an activity in the lighting category, although by default the admin site will only show you lights, if you click the 'Advanced Wizard' option you'll see that as part of that activity you could send any command to any device. You could make a phone call, for example, using an activity in the lighting category.

The grouping by room is also for convenience, and doesn't restrict the activity to only controlling devices in that room. So if your kitchen is near the garage and you want an activity 'turn off the garage light', you can put that activity in the room 'kitchen', and not in the room 'garage' if it's something you would normally want to do while you're in the kitchen. It doesn't matter that the light you're controlling is in the garage. You tell each Orbiter which room it's in, and it will always show you the activities for that room. The orbiters, or user interfaces, that appear on the tv and which you control with a remote control, will be by default in the same room as the media station is. You probably won't ever change this because that media station is generally in a fixed place. Something like a webpad, however, may be carried throughout the house. So, whenever you enter a room, note the 'Room' at the bottom of the screen and confirm it really is the room you're in. Otherwise you will see the activities from another room. And this may be confusing. Both the Living Room and Bedroom may have an activity 'TV'. You have a web pad that is in the Bedroom, and carry it to the Living Room, and forget to tell the web pad it's now in the Living Room, and notice that at the bottom of the screen it still says 'Bedroom'. So you hit the 'TV' button expecting the Living Room TV to come on, when in fact you're still controlling the bedroom.

Once you get used to this concept, however, you'll find it's very convenient. Because every orbiter, be it the one on the TV, the web pad, the pda, the mobile phone, etc., can be set to be in any room and choose activities from that room. And every orbiter has the exact same activities for each room. You do not create activities for one orbiter and not another. The activities are grouped by room--not Orbiter. So whether you pick up your mobile phone, your web pad, or your remote control, when you're in the Living Room, you will have the same list of options for the Living Room.

To prevent some family members from using some activities, use the admin web panel to lock down which rooms an Orbiter can switch to. Maybe the Orbiter that is on the desktop phone in little Suzy's bedroom will be locked to only be able to switch to her room and to the living room. That means she can execute the activities in her room, like 'go to sleep' which may turn off her lights, and in the living room, but her Orbiter won't let her switch to the Master Bedroom and choose the activities in that room. You can also say that a pin code is required to switch an orbiter into a certain room, so the whole family can share a web pad as an orbiter, and the kids can use it in the living room to watch tv, but they cannot switch it the master bedroom and run the activities in that room without entering a pin code.


Events

Remember devices send off events, like 'Playback started', 'Motion Sensor tripped', and so on. The normal way in LinuxMCE to do something is, as mentioned, to create an activity that you select from an Orbiter. But if you want something to happen automatically without the user doing something, you can create Event Handlers. For example, you can create an event handler that listens for the 'Motion Sensor tripped' event from a motion detector and in response turns on some lights. Or an event handler that listens for the 'Sunrise' event which the event plugin sends every time the sun comes up, and make it do certain things in response too.

Just like LinuxMCE creates some default activities for you, it also creates some default event handlers. For example, in any room where you have a TV and lights, it not only creates a Showtime activity, it also creates an event handler that listens for the 'Watching Media' event from any media player in that room, and executes the Showtime scenario automatically. This means that whenever you start a movie, the Showtime activity is executed, which be default dims the lights. There are also some default event handlers to intercept events like 'Security Breach' and 'Fire Alarm' from your home's security system and respond with default behavior.

Controlling an Orbiter

To control the system, you use any orbiter, which is just LinuxMCE's term for a remote control. All Orbiter's have the same basic function: to display all the activities in whatever room you're in and let you pick the one you want. The different Orbiter's may display this slightly differently depending on their screen size, but the function and the list of activities is always the same. The normal UI1 interface which you'll use on webpads and pda's, displays all the activities in a room in horizontal rows. Just pick the one you want and it's executed. If there are more than will fit on a row, you'll have a more button. If you're ont already at the main menu, there is generally a home button that takes you there. On small displays, like mobile phones and desktop phones, there's not enough room to show the activities themselves, so the top level menu typically just shows you the categories: Lights, Media, Climate, Security and Telecom. You pick a category to see the activities in that category.

UI2 is the preferred user interface for the media stations. If you're using a traditional i/r remote, you'll find it's not much different than any other media center pc. The menu button brings up the main menu, and you use the left/right/up/down/enter buttons to navigate it, and the fast forward/rewind/skip +/skip - for media playback.

However UI2 also supports a quite unique control architecture that lets you do everything with only 3 programmable buttons plus an ok and cancel, provided you have a pointing device, like a mouse or a gyro air mouse. The 3 buttons are: MEDIA, MENU, AMBIANCE. On a mouse with 3 programmable soft buttons, like the gyration, these are the 3 buttons, from left to right. If you're using a traditional 3 button mouse, use the F6, F7 and F8 on the keyboard for media, menu and ambiance instead. In both cases, the left mouse button is ok, the right mouse button is cancel/go back. And in all cases, the behavior is "absolute" when you press and hold the menu/menu/ambiance button and "relative" when you tap and release, where "absolute" is generally the faster way of doing things. In the case of the middle button, F7, "absolute" means it's just 1 click and you don't have to press OK. So if you press and hold the menu button (ie f7), don't let go, and move your mouse pointer to the option you want, then let go, that option is selected. So it's all done in one continuous motion with 1 click. If you tap and release the menu button, then you can highlight the menu option you want and press ok (ie the left mouse button).

The categories appear along the bottom of the screen, and the activities in that category popup vertically, like a pull-down menu in a pc, except upside down. If the main menu isn't already visible, bring it up by pressing the 'start' button on a Windows I/R remote, or the menu button as explained in the 3 button concept. To get rid of whatever menu is on the screen, click the back button on the i/r remote, or the cancel button (ie right mouse button) in the button concept, or press ESC on a keyboard. In UI2 there is always media full screen, and this media is gallery art from the internet if you're not playing your own media. So if you see scrolling pictures on the media station, press the menu/middle/F7 button to bring up the menu, and right click/esc to get rid of it or any other menu that's on top of your media. The same is true if your own media is playing.

If you're using UI2's 3 button navigation model, all the normal media control options on the traditional remote are replaced with one button: media (ie the left soft button or F6). Press this and then move the pointer up and down for your skip functions (ie ch+, ch-, skip fwd, skip back), and move the pointer left and right for speed control (ie rewind, fast forward). The further you move, the faster the media playback changes. If you keep the button held down (the left soft button or F6), then your movement is absolute, not relative, and instead of the traditional jog shuttle-type control, moving to the right goes to the end of your media, and moving left to the beginning. Once you get used to it, you will find that navigating media is orders of magnitude faster and easier with this model than with a traditional remote, and you can find any spot in a 2 hour movie in only a couple seconds with a click of 1 button, compared to hitting a slew of media control buttons over and over again for several minutes using a traditional remote.

Also, in UI2 you can press the ambiance button (ie right soft button or F8), you move up/down to adjust lights, and left/right to adjust volume. Like with the media playback, if you keep the F8/right soft button down while you move left and right, your volume control is in absolute mode, not relative, so moving hard right is full blast, hard left is mute. This requires you have a tv or receiver that is serial controlled, however, so LMCE can directly and instantly set the volume position in sync with your hand movements. Few tv's and receiver's have hit feature, unfortunately.

There are other media control functions besides just the most commonly used fast fwd/rewind/skip up/skip down, like 'subtitles' when watching a dvd, 'guide' when watching tv, and 'random' when listening to an audio cd. In the UI2 3 button model, all these functions appear on the main menu on the left most pad which is entitled 'now playing' and changes based on what type of media you're currently using. So pres the menu button (ie middle/f7) to select these options.

This 3 button model is a new concept and very different from traditional navigation. Since you've been doing it the 'normal' way all your life, it will take a bit of getting used to. But once you adjust to it, most people say they are much, much faster with this than a normal remote.

Regen Orbiters & Reload Router

While using LMCE you'll see sometimes a message asking if you want to reload the router, or if you want to regenerate the Orbiter's UI's.

Reload Router: All the devices in LMCE get their configuration information from the router, which is the central piece of software on the core. All the devices also request from the router a list of all other devices in the home when they startup so they can react accordingly. For example, an IP camera device will turn on lights in the room when you're viewing the camera. Thus, the IP camera needs to know what lights are in the room. Typically a device requests this information only once when it's starting up to be most efficient. Therefore, while you add new plug and play devices, those new devices will generally work immediately, but the functionality may not be there fully until the router does a reload and tells all the other devices to also reload and re-request this data so they can work with this new device. This process is known as a 'reload'. It only takes about 10 seconds. Every time you add or remove devices, or change some device's configuration, you may be asked if you want to do a reload. If you're still going to be adding more devices or making more changes, just say no. There's no hurry, you can do the reload when you're done. Also, if you're in the middle of watching a movie or tv, you can postpone the reload since, when the media players will generally stop playing media during a reload. Note that your phone calls aren't affected, and any tv shows being recorded by MythTV in the background are also unaffected.

Regen the orbiter: LMCE's Orbiter's, or user interfaces, are all "pre-rendered" in order to be more efficient. In other words, the source images are all very high resolution, and need to be resized for whatever resolution your screen is running. Also, as you add new activities, those will result in new buttons for the main menu, and sometimes new screens, or perhaps changes to the text on existing buttons. So when you add new activities, you won't immediately see them on an orbiter until you do a regen. If you're still going to be adding more activities, just say 'no', and do a regen when you're all done. If you added new activities and want to test them quickly without waiting for a regen of all the orbiters, which takes about 2 to 5 minutes per, then just regen the one orbiter you're using for your tests, and regen the others only after you're sure everything is done. Once you do a regen of all orbiters, they will all have the same list of activities.

This regen process is a bit annoying but necessary for a lot of low-power devices like the desktop phones which just don't have the processing power to do scaling and rendering on the fly, and need all the images pre-rendered and with the text pre-embedded in the images. However, since the media stations have a lot more processing power and can render their ui's on the fly, it's in the works to make the orbiter's on the media stations render their ui's on the fly so you don't need to do a regen every time you add/remove activities.