Apps4TV develops software for television, computers, tablets, phones and beyond.
Making cool stuff for people is just what we do around here.

Saturday, September 22, 2012

Remoku Firefox Add-On v2 Released

The latest Remoku Firefox Add-on has been fully approved by Mozilla for distribution in the Mozilla Add-Ons gallery. This version is a complete rewrite from the last major version, 1.3. Changes include:

  • The add-on no longer requires restarting Firefox to install
  • Settings are available to adjust the panel size, go to Firefox's Add-Ons window>Remoku>Options to change.

Get it now: Remoku for Firefox

Also, I've verified that the web app continues to work on iOS6 and the iPhone5. In fact, the extra page height helps reduce the need to scroll when favorites are used.

Sunday, September 16, 2012

Minor Update

Continuing the first-visit improvements. Simplified pre-setup config. Build : September 14, 2012 10:14:18 PM

Sunday, September 9, 2012

The Technology That Powers Remoku: HTML

One of the earliest choices I made before starting on Remoku was to implement it as a web app, so that it could be available on as many platforms as possible. Choosing to implement the entire app as client-side html, css, and javascript would prove to be a challenge in many ways, but it also enabled me to rapidly improve the app and distribute changes instantly. App stores are popular for a lot of reasons today, and there is a lot of good to be said about that kind of distribution model, but they can also be difficult for developers of small apps to stand out in and can present other challenges as well.

I started the earliest work on Remoku in late September or early October of 2010 (here's the first post about Remoku in the Roku forums).

Here's the break down of Major browser versions at the time:
  • Internet Explorer: 8
  • Firefox: 3.6
  • Chrome: 6/7 ;-)
  • Safari Mobile: iOS 4.2 :-)
I spent a lot of time researching modern web development techniques, including various javascript patterns, copious amounts of time understanding HTML5 features and browser quirks around them, and many hours searching sites like Stack Overflow. So, only thanks to all the other developers out there working to share and improve the web, was Remoku possible.

At the time, HTML5 support was only beginning to appear in browsers but fortunately there are many options to make an app work in older browsers, if you're willing to put in the time to research and test.  The best part is that browser technology keeps getting better and in the nearly two years since my first release, there are many more devices and modern browsers that can access Remoku, and I have been able to continue adding features to the app that work across all of them.

Sunday, September 2, 2012

Minor Update

I pushed a build of Remoku last night (Build Date: September 02, 2012 12:45:59 AM), with a change to how the page looks when you first visit it.  Previously, when you first visited you would immediately be taken to the settings page, with an introductory help text placed at top.  With this update, first time visitors will see the main remote page until a button is pressed, then they will be taken to the Settings page so they can connect to their Roku.

This was a very small and non-dangerous code change that I believe it will have a dramatic impact on first impressions, as now you can see what it looks like before you start using it it :-)

Sunday, August 26, 2012

The Technology That Powers Remoku

(1st in a series)

Remoku started as simple enough idea: I wanted something on my phone and pc that could control my Roku. After using some other apps, I decided it would be a fun way to introduce myself to programming for Roku and simultaneously teach myself about the new html5 features, as well other emerging web technologies.

I decided early on that because it was going to be a web app, I wanted to support a broad range of devices, including pcs & macs, phones (especially iphone and android), tablets, e-readers, handheld gaming systems, and so on. That choice helped to define the scope of the project, and would impact many design choices going forward. It meant that the features I could support would be dependent on what the browsers on those devices were capable of. Some devices make it possible to treat a web app nearly the same as a native app, from a user perspective; others still don't fully support web apis that have been standardized for years. Wherever possible, I've tried to make a feature work across a broad range of devices, but I wouldn't ever call it complete :).

So that's my introductory post about the tech of Remoku. In future posts I'll call specific topics such as the html application cache, localStorage, JSON, security, CSS, creating browser shims, and unusual bugs and the eventual solutions to them. While the topics may be geeky, I'll do my best to make the posts accessible for more casual readers.