7LS Logo

Web Browser for ROKU

INTRO
7LS - "seven legged spider" The 7LS Browser is an internet web browser designed for Roku TV devices. It is designed to allow fast and easy page creation tailored around the capabilities of the Roku platform. Why a seven legged spider? There once was a spider named Frank. He had a pet mouse who he called James. One night while Frank was sleeping, James chewed off one of Franks legs and ran away from home. Now Frank only has seven legs and no mouse. The 7LS browser is a uniquely designed application that allows developers to push content from the internet to an end users Roku device. It uses an XML approach to codify the user application interface for both visual and logical functionality. An internet resource is fetched from the web using a standard address format. (http://domain.com/resource.rxml) Once the resource is downloaded, it is read from top to bottom in a single pass creating objects as it encounters them. Because of this, care must be taken to ensure objects have been created before being referenced by other objects. One major deviation from standard XML is how children objects are created. Normally children would be nested within the definition of a parent. <parent attribute1="somevalue" > <child attribute1="anothervalue" > </child> </parent> Children objects must be defined as a separate node with an explicit reference to the parent in the "parentid" attribute. If no "parentid" is designated, it is assumed that the node is a "top" level node. <node objtype="node" id="parent" > </node> <node objtype="node" parentid="parent" id="child" > </node> In addition to this requirement that child nodes be defined outside of the parent node definition, all nodes must have an "objtype" attribute. There are two main types of objects: Renderable objects non-Renderable objects Renderable objects can appear as visual representations on the GUI (graphical user interface). Some examples would be rectangles, images, and text. Non-Renderable objects have no visual representation. They do their work in the background. Some examples of these would be variables, events, methods, controls, containers and timers.