Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
jbrave
Channel Surfer

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
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
0 Kudos
11 REPLIES 11
TheEndless
Channel Surfer

Re: RokuMarkupLanguage - a proposal

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.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
kbenson
Visitor

Re: RokuMarkupLanguage - a proposal

"TheEndless" wrote:

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.


Hmm, see my rdCSS proposal here: http://forums.roku.com/viewtopic.php?f=34&t=35267&p=227675&hilit=rdcss#p230706. You might find it interesting.
-- GandK Labs
Check out Reversi! in the channel store!
0 Kudos
malloys
Visitor

Re: RokuMarkupLanguage - a proposal

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).
0 Kudos
kbenson
Visitor

Re: RokuMarkupLanguage - a proposal

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..
-- GandK Labs
Check out Reversi! in the channel store!
0 Kudos
jbrave
Channel Surfer

Re: RokuMarkupLanguage - a proposal

My goal on this posting is to get some folks together to create a simple markup language for building graphical pages, and an interpreter to display them. If roku chooses to build in a feature, great. I came up with this idea when contemplating what the heck to do if a user clicks on a banner ad - clearly a page with info needs to appear. If we can have a standard format for defining a page, then an in app advertising platform is born which may help encourage companies and individuals to support the roku platform. Also, with a markup language and interpreter, roku apps can be created using XML alone, we could tell the roku something like this:



<posterscreen>
<categories>
<category>music</category>
<posteritem>
<Line1>U2 - The Unforgettable Fire</line1>
<line2>Live in Amsterdam</line2>
<imageurl>http://www.u2.com/albumcover.jpg</imageurl>
<action>http://www.u2.com/tracklisting.xml</action>
</posteritem>
<posteritem>
<line1>Timbuk 3 - The future is so bright</line1>
<line2>I gotta wear shades</line2>
<imageurl>http://timbuk3.com/albumcover.jpg</imageurl>
<action>http://www.timbuk3.com/tracklisting.xml</action>
</posteritem>
<posteritem>
<line1>The Clash</line1>
<line2>London Calling</line2>
<imageurl>http://theclash.com/albumcover.jpg</imageurl>
<action>http://www.theclash.com/tracklisting.xml</action>
</posteritem>
<category>art</category>
<posteritem>
<line1>Andy Warhol</line1>
<line2>Campbells Soup</line1>
<imageurl>http://www.warhol.com/soup.jpg</imageurl>
<action>http://www.warhol.com/slideshow.xml</action>
</posteritem>
<category>video</category>
<posteritem>
<line1>When Harry</line1>
<line2>Met Sally</line2>
<imageurl>http://movies.com/harryandsally.jpg</imageurl>
<action>http://www.movies.com/playmovies/harryandsally.xml</action>
</posteritem>
</categories>
</posterscreen>


So a whole roku app could be built from xml with the right interpreter. I think I could write it, but this is really a G+K Labs kinda thing. I'm going to write a primative interpreter that will work with imagecanvas based on the XML that I put into the first posting of this thread, just so I can help my clients do useful banner advertising in my apps, but I hopefully you can see from the above xml in this post that one could indeed generate an entire Roku app from XML with a good interpreter. The interpreter would simply create the elements dynamically from xml. When a posteritem for instance is clicked on, the interpreter would load the xml that would define what to do from the <action></action> url. In fact a roku app could be dynamically created in real time from a php/mysql database system for example, even reconfiguring itself entirely in relationship to the users activities.

- Joel
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
0 Kudos
jbrave
Channel Surfer

Re: RokuMarkupLanguage - a proposal

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
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
0 Kudos
WardFamily
Visitor

Re: RokuMarkupLanguage - a proposal

Will this allow someone to go to say abc.com and let you watch a tv show or will sites be limited?
http://lindenalabama.net
0 Kudos
TheEndless
Channel Surfer

Re: RokuMarkupLanguage - a proposal

"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.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
gonzotek
Visitor

Re: RokuMarkupLanguage - a proposal

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>
Remoku.tv - A free web app for Roku Remote Control!
Want to control your Roku from nearly any phone, computer or tablet? Get started at http://help.remoku.tv
by Apps4TV - Applications for television and beyond: http://www.apps4tv.com
0 Kudos