Web Orbiter 2.0

From LinuxMCE
Jump to: navigation, search
Version Status Date Updated Updated By
710 Unknown N/A N/A
810 Relevant 23rd July 2010 Purps
1004 Unknown N/A N/A
1204 Unknown N/A N/A
Usage Information

A Web Orbiter is any device (such as a iPhone, iPod Touch, iPad, laptop, PC, etc.) that accesses the Orbiter user interface (UI) through a Web browser.

The new Web Orbiter 2.0 has been re-written from the ground up to make sure it has a much smoother performance overall but especially on slower lower powered devices and devices that are connected over slow LAN connections or even slower external connections...such as a Mobile 3G network or slow WiFi connection.

So what has changed? Well visually your Orbiter UI will look like it does on your existing standard Orbiters but you will notice that unlike the original Web Orbiter the new 2.0 version does not refresh every 5 secs. The new Web Orbiter now only updates if something changes in the system and that requires the UI screen you are currently viewing to be updated or if you click on a UI button or other UI element and that causes a screen update.

To achieve this the Proxy_Orbiter has been updated so that it sets a flag called 'ANYNEWS' to 'true' if some element of the current displayed screen has been updated. The Web Orbiter makes a light weight call to query the state of this flag once every second and only gets an updated UI screen if the flag is set to 'true' otherwise no screen update is requested. So in use the new Web Orbiter 2.0 behaves in a very similar fashion to the Orbiter on one of your MD's - and now it even performs with a similar performance level too.

Whats a proxy_orbiter? Proxy_orbiter runs on the Core and its job is to render the UI for the Web Orbiter that is running remotely on some other device. Each Web Orbiter has an associated proxy_orbiter and the two work in partnership. Proxy_orbiters do all the 'heavy lifting' rendering the UI and this allows the remote device that is running the Web Orbiter to be much less powerful and very simple devices indeed if needed.

Another change in the new 2.0 Web Orbiter is that screen refreshes are double buffered so that the new Web Orbiter receives the new screen update from your Core in the background and only redraws the screen when it has the complete image stored in memory - this makes the update process smoother and faster.

The overall effect of all these changes is to vastly improve the performance and usability while at the same time reducing the processing overhead of the Web Orbiter massively.

Setup

The procedure to setup a Web Orbiter is simple but the order of steps is important.

  1. First of all, add a new Generic Web Device as a Child Device for your Core:
    1. Goto the LinuxMCE Admin website--> Pull down Advanced --> Configuration --> Devices --> This shows the devices tree on the left window --> click CORE. The CORE's detail page should appear.
    2. Click 'Create Child Device'.
    3. In the Description, enter the name of the specific web orbiter.
    4. In the Add child device window, click the button 'Pick device template'. The new pop-up window containing device templates will be opened.
    5. In the 'Device Category' dropdown list, choose 'Peripherals'.
    6. In the 'Device Template' dropdown list, find and select "Generic Web Device" (or just type the template id: 1748 and press go).
    7. Click the button 'Pick Device Template'. The Add Child Device Window will close, and the Generic Web Device will be added to the Core, as the updated Device Tree will show.
    8. A new Generic Proxy Orbiter will also be created automatically. Watch the Orbiter generation process on the Orbiters page: Wizard-->Devices-->Orbiters.
  2. Wait till the Orbiter generation procedure finishes. A message on an active Orbiter or on the Orbiter page will indicate when it has completed.
  3. Set the appropriate screen resolution to suit the device your Web Orbiter is intended for from the 'Size' drop down
  4. Set the 'Skin' drop down to the skin you want to use (normally this would mean the UI1 Standard Variation or a derivative)
  5. Click on your new Generic Proxy Orbiter in the device tree, give it a unique name and then scroll to the bottom of the page on the right and look for the field called 'Listen Port'. This field will be set to '3461' by default (if this Web Orbiter is not your first then you should increment this value by one ie to '3462' - each Web Orbiter must have a unique 'Listen Port' number)
  6. Now click the 'Save' button at the bottom of the screen to save the changes you have made.
  7. Now do a 'Full Regen' from the 'Wizard - Orbiters' page (use the 'Full Regen' for the specific Web Orbiter you have created and not the overall 'Full Regen' button at the top of the page). Next when the Regen has completed do a "Quick reload router". Otherwise, the Web Orbiter won't work properly.

Device Screen Resolutions

If the 'Device' your planning to use your Web Orbiter on is a Desktop or Laptop then use the biggest resolution that will comfortably fit onto your screen. If your device is a touch screen device like an iPad, iPhone or iPod Touch then choose a resoltion that matches the overall resolution of the devices display; Do Not use 16:9

iPad

The iPad has a screen resolution of 1024x768 so if your creating an Orbiter for the iPad this is the resolution you should select for this Web Orbiter.

iPhone (pre iPhone 4) or iPod Touch

The iPhone/iPod Touch have a screen resolution of 480x320 so if your creating an Orbiter for either of these this is the resolution you should select for this Web Orbiter.

iPhone 4

The iPhone 4 has a screen resolution of 960x640 so if your creating an Orbiter for the iPhone 4 this is the resolution you should select for this Web Orbiter.

Google Nexus One or HTC Desire (Android)

If you have a Nexus One you will need to select a resolution of 480x800 (select N770 in the web admin, it is 480x800) so if your creating an Orbiter for the Nexus One this is the resolution you should select for this Web Orbiter.

On the HTC Desire you might also have to go into the web browser settings and change the default zoom to "far away" (mine is danish, so don't know the exact english decription). After that it should be full screen.

Nokia 5800 XpressMusic

For a fullscreen orbiter, iPhone resolution 480x320 works quite well. For a screen that's full width (but requires some vertical scrolling), 640x480 (Standard TV) works well. This resolution allows for easier reading of some orbiter buttons, without the need for zooming in.

Nintendo DSi

Best screen resolution, 480x320 so far. Lower resolutions may work well also with "Mobile Phone Basic" skin applied.

Web orbiter dsi.jpg

Good skins for small screens

here we should list the skins that can be used on the smaller screens of Phones and alike.

The skin "Mobile Phone Basic" is OK readable on the HTC Desire at 480x800.

iPhone/iPod Touch - The "Basic" skin works well. The Titanium skins should also work ok although might be a little bit harder to make out text in file lists etc. "Mobile Phone Basic" isn't a good choice as it is missing a few buttons (eg. Random in the remote) as it was designed for devices with hardware buttons. Once you load up the web-orbiter on your iPhone the Safari 'menu' bars get in the way a bit. This can be overcome by hitting the '+' symbol on the bottom bar and adding an icon to your home screen. This will then open up with only the 'status' bar at the top.

Access to the Web Orbiter

From within your home

You can access the Web Orbiter 2.0 from any of the following Web browsers (Google Chrome, Mozilla Firefox, Safari). Others may also work but have not been tested (your experiences with other web browsers would be welcome here) :


For the 810 releases the correct URL is: http://<core_ip>/lmce-admin/weborbiter.php

  • From within the "internal" LinuxMCE LAN, for example:
http://192.168.80.1/lmce-admin/weborbiter.php (0810)
(This assumes the IP address range set by default at installation.)
  • You can also use the network name of the Core in place of the IP address. For example, if the Core was named "dcerouter" during the default installation, you could use:
http://dcerouter/pluto-admin/weborbiter.php
  • From the "external" WAN side of the Core, the core_ip would be the WAN IP address of the core (ie the one offered to the WAN side NIC on the Core by your broadband Router). If, for example, the core has a WAN side address of 192.168.0.50 offered up by your Broadband Router, use:
http://192.168.0.50/lmce-admin/weborbiter.php
(Note: To use this method, Outside Access must be enabled.)

From the Internet

You could use the IP address:port for your home LAN, with port forwarding to the Core's LAN IP address (enabled by your home LAN router).

  • This is an advanced topic and may not be secure in the current version.

By default, LinuxMCE is not accessible outside your home. This makes the system secure, but it prevents you from accessing the web site via the Internet while away from home. You can turn on Internet access, allowing access to the admin website anywhere. For your own security, however, we recommend you first read about Security & Privacy Issues.

Login page

  • A simple login page should be displayed. Input an existing user name and password, then click "Login".
  • From the dropdown list of devices, choose the Web Orbiter you would like to use and click or touch 'Open'. If you have got several web orbiters in your system then they will be displayed in the dropdown and you can choose which one to use. (only one user can use any Web Orbiter at a given time)
  • A page that looks similar to this should appear:
    Web Orbiter.jpg
  • Here is another UI1 variation loaded into Web Orbiter 2.0:
    Web orbiter 20 in chrome1.jpg
  • This image is of Web Orbiter 2.0 running on an iPod Touch:
    Web orbiter on iPod Touch4.JPG

How do I save my login details?

NOTE: I have no idea how secure this is, if at all.

From a security standpoint, this is horribly insecure. Anyone with access to http://yourcore/weborbiter/login.html can see your uname/pass. KlfJoat 16:39, 24 November 2010 (CET)

On your core (or ssh into it, see "Logging In") we need to edit /var/www/lmce-admin/weborbiter/login.html. But first, let's make a backup...

cp /var/www/lmce-admin/weborbiter/login.html /var/www/lmce-admin/weborbiter/loginbackup.html

Should you need to, restore the original file using...

cp /var/www/lmce-admin/weborbiter/loginbackup.html /var/www/lmce-admin/weborbiter/login.html

Once you've made your backup and are ready to make the changes, open login.html in your favourite text editor...

sudo nano /var/www/lmce-admin/weborbiter/login.html

And look for the following line...

<input id="username" type="text" name="username" value="" /></p>

Add your username to the "value" part, between the quotation marks...

<input id="username" type="text" name="username" value="YourUsernameHere" /></p>

Then find this line...

<input id="password" type="password" name="password" value="" /></p>

Add your password to the "value" part, between the quotation marks...

  <input id="password" type="password" name="password" value="YourPasswordHere" /></p>

Save, exit, and that should be it!

Where is the Web Orbiter code on my system?

Look in the following directories on your Core

Look in;

/var/www/lmce-admin/

You will see the following Web Orbiter related files (there are many other unrelated files in this directory too);

weborbiter_command.php
weborbiter_image.php
weborbiter.php

Look in;

/var/www/lmce-admin/weborbiter

You should see the following files;

IT.php         
jquery.min.js  
jquery.timers.js
login.html
waiting.gif
weborbiter.css
weborbiter.html
weborbiter.js
weborbiter_select.html

Devices that have been tested with Web orbiter 2.0

This is a simple list of devices that have been tested with Web Orbiter 2.0. If you have got a new device to add to this list then please add it below...or if you have some experiences with a device already listed then please add some simple notes here too.

Ipad

iPod

iPhone 3GS

iPhone 4

HTC Hero (Android 1.6)

I can confirm that the HTC Hero does work. I am using 2.1 firmware though (Sprint)

HTC Desire (Android 2.1)

Screen size is a little bit small I think, it is difficult to hit the up/down keys.

For full screen orbiter - take a look above at "Device Screen Resolutions" for the right settings

AT&T Motorola Bravo (Android 2.1)

Screen resolution should be that of the Nokia 770. Need Root if you have AT&T as they lock down apps that are not secure. Runs well as Full Screen After Rooted, download com.linuxmce.apk, install using - adb install path/to/.apk file. Works Great!!

Nokia N800

Nokia N900

Nokia 5800 XpressMusic

Both "S60 Browser" (default) and "Opera Mobile" work well.

Nintendo DSi

Eken M002

See M002 info here Eken_m002. See video of the M002 running Web Orbiter 2.0 here; Eken m002

Zenithink ZT-180

See Zenithink_ZT-180

Web Orbiter 2.0 has been tested on the following browsers

Firefox 3.6

Works fine.

Chrome 6.0.453.1 dev

Works fine.

Also works fine as a chrome application shortcut. Just create the shortcut when you are logged into the orbiter and have the right device chosen.

OperaMini

Works fine.

OperaMobile 10

Works fine.

Midori 0.2.2

Works fine.

Internet Explorer

Not working due to javascript issues.

S60 v5 Browser

Default Symbian browser - works fine (tested on Nokia 5800 XpressMusic)

Nintendo DSi Browser

(based on Opera)

Troubleshooting

Connect failed

If you try to connect to the Web Orbiter and see this message: "Connect to proxy orbiter failed, please try again", this means that Orbiter generation hasn't finished yet, or that you forgot to do a quick restart of the router.

Keywords: WebOrbiter