Forum Discussion

jbrave's avatar
jbrave
Channel Surfer
15 years ago

RokuMarkupLanguage - a proposal

Hello fellow dev's. I have an idea that could partially answer the question that so many users have asked on the general forum: "can we have a web browser on the Roku"

The idea is that we all agree on a standard markup language that could be used to easily build an image canvas, and then we can create sites that actually are browsable by the roku. Of course, nobody wants to type in long urls with their thumbs, so there would probably need to be a central browsing directory that one could start at and navigate to other pages.

So here is my basic idea: simple xml layout information that gets parsed and loaded into an array by the "browser" and displayed by calling canvas.setlayer(layer,array):


<imageHD>
<url>http://asdfasdf.com/img.jpg</url> - url of image
<positionx>12</positionx> - x position
<positiony>144</positiony> - y position
<width>640</width> - image width
<height>100<height> - image height
<color></color> - only used if url is null
<trans></trans> - transparancy -only used if url is nul
<orient><orient> -rotation in degrees
<layer></layer> - layer to display this element
<islink></islink> true if the image is meant to be selectable
</imageHD>

<imageSD>
<url>http://asdfasdf.com/img.jpg</url> - url of image
<positionx>12</positionx> - x position
<positiony>144</positiony> - y position
<width>640</width> - image width
<height>100<height> - image height
<color></color> - only used if url is null
<trans></trans> - transparancy -only used if url is nul
<orient></orient> - rotation in degrees
<islink></islink> true if the image is meant to be selectable
<layer></layer> - layer to display this element
</imageSD>
<textHD>
<url>http://babab.com/text.txt</url>
<positionx></positionx> - text box upper left x position
<positiony></positiony> - text box upper right x position
<width></width> - text box width
<height></height> - text box height
<color></color> - color of text - standard html
<trans></trans> - transparancy of text
<orient></orient> - rotation in degrees
<islink></islink> true if the text is meant to be selectable
<layer></layer> - layer to display this element
</textHD>
<VideoHD>
<url>http://babab.com/text.txt</url>
<positionx></positionx> - video box upper left x position
<positiony></positiony> - video box upper right x position
<width></width> - video box width
<height></height> - video box height
<format>mp4</mp4>
... other video format items could go here
<length></length>
</VideoHD>
<VideoSD>
<url>http://babab.com/text.txt</url>
<positionx></positionx> - video box upper left x position
<positiony></positiony> - video box upper right x position
<width></width> - video box width
<height></height> - video box height
<format>mp4</mp4>
... other video format items could go here
<length></length>
<layer></layer> - layer to display this element
</VideoSD>


This way we can create an "underweb", and companies interested in getting content or advertising on the Roku will hopefully be willing to implement this. Of course someone will have to write a simple app that outputs code like this (hopefully in java or something cross platform).

Who thinks this is a good idea? Well, if you don't, please don't argue, just post an alternative idea that is hopefully simpler and more powerful.

- Joel

10 Replies

  • Interesting idea, but I'm not sure how it would address the requests for a web browser. In general, I think people want to be able to browse to their favorite web sites, not Roku specific ones. If I'm reading your proposal correctly, it sounds like you're suggesting the web site owners would have to develop a Roku compatible version of their site. I'm not sure that really addresses any current need.

    On the other hand, I think a markup language for the image canvas is a really good idea. Drawing a custom screen at the moment is tedious at best. Anything geared towards making that task easier gets the thumbs up from me.
  • If the goal is to give the Roku box a way of accessing, displaying, and interacting with web sites/pages...

    I suggest a solution that's more in line with what Roku has appeared to do so far when adding new functionality -
    Roku should create a new component precisely for that purpose.

    Specifically, I suggest creating a new component that encapsulates one of the embeddable web browsers available out there.
    There are several options for an embeddable engine, but if it were up to me, I'd choose WebKit - it's proven, it stays at the forefront of standards, and it's in widespread use in Chrome, Safari, iPad, and nearly every smartphone (iPhone, Android, Palm WebOS, Simbian, etc.). Webkit's use in smartphones means it's proven to run on small footprint CPU/memory machines with *nix based O/S, so it's likely to work well and integrate easily with the Roku box. Also, the licensing of Webkit is LGPL or BSD - which is commercial-use friendly - i.e. no major financial or legal burden on Roku (other than the usual development and support costs for a new component).
  • The problem with all this is that it skirts the issue of usability. Boxee got around that by shipping a crazy remote, but to add something like that to the Roku would cost money. Maybe if an upgraded remote was offered as extra component from their store, they could keep the cost of the unit down. The problem is the users with traditional removes. Four directional buttons plus a few other buttons thrown in for good measure do make make for a good browsing experience.

    I'd love to see a web browser component, but I think Roku is taking the wise course in letting others test the waters and experiment with different remote types, if they are event planning a browser component at all..
  • jbrave's avatar
    jbrave
    Channel Surfer
    one more thing:

    There already is a "mobile" web with iphone formatted websites and sites generically formatted to run on small screens. Why not RML (RokuMarkupLanguage) formatted websites designed to run on Roku, and perhaps other browserless devices.

    - Joel
  • Will this allow someone to go to say abc.com and let you watch a tv show or will sites be limited?
  • "WardFamily" wrote:
    Will this allow someone to go to say abc.com and let you watch a tv show or will sites be limited?

    No, and I'd venture to say that no channel/functionality will ever be added to allow for that.
  • I'd propose choosing a subset of real html tags to support in some standard way, rather than inventing yet another markup language. This way a site could potentially be web-browser and roku friendly at the same time, with the same code. For example, the following validates as html5(with a warning or two).
    <!DOCTYPE html>
    <html>
    <head>
    <title>Roku HTML Example</title>
    </head>
    <body>
    <div class="posterscreen">
    <div class="categories">
    <ul class="category" id="music">
    <li class="posteritem">
    <a class="action" href="http://www.u2.com/tracklisting.xml">
    <span class="line1">U2 - The Unforgettable Fire</span>
    <span class="line2">Live in Amsterdam</span>
    <img class="imageurl" src="http://www.u2.com/albumcover.jpg">
    </a>
    </li>
    <li class="posteritem">
    <a class="action" href="http://www.timbuk3.com/tracklisting.xml">
    <span class="line1">Timbuk 3 - The future is so bright</span>
    <span class="line2">I gotta wear shades</span>
    <img class="imageurl" src="http://timbuk3.com/albumcover.jpg">
    </a>
    </li>
    </ul>
    </div>
    </div>
    </body>
    </html>
  • "gonzotek" wrote:
    I'd propose choosing a subset of real html tags to support in some standard way, rather than inventing yet another markup language.

    Too late, already invented.
  • "evilmax17" wrote:
    "gonzotek" wrote:
    I'd propose choosing a subset of real html tags to support in some standard way, rather than inventing yet another markup language.

    Too late, already invented.
    😉