A Remote Chance of Success

Progress, as I’m sure you can establish from the (in)frequency of posts here, has been rather slow, but I have attempted to resume development of my Sky prototype reproduction. I’ve added the basis of the menu system (besides the EPG, which I had already written), so I should be looking to add the actual menus in time. Below you can see the beginnings of the menu system:

SkyGuide-TV-Placeholder

The interactive “page” is actually a placeholder even in the real firmware, for a year or so at least, the interactive services hadn’t yet launched, but the boxes had been released with the future functionality in mind. They promoted the not-yet-available functions as a future perk, which would be added when it became available (which it was, in 1999, I believe). Luckily for me, that means I don’t actually have to do anything more in this section, beyond tweaking the “coming soon” banner to be sized more like the real thing.

SkyGuide-Interactive

If you’ve used a Sky receiver before, you’ll know that the icons at the top of the screen aren’t usually yellow and blue, but I have a bit of a problem here. I partly chose blue and yellow just for the sake of testing, it’s nice and easy to see the difference, easier than two shades of blue. However, to the best of my knowledge there are no screenshots or demos of this area of the UI dating as far back as the EPG screenshots I’m basing my work on. This might be because they hadn’t designed/written the menu system yet, or just because they didn’t feel the need to show it off, I don’t know, but the problem is that the icons on the retail firmware are blue and white. But I can’t use white, because the prototype design uses a white background. So I’m left to guess or improvise, and blue/yellow is what I’ve chosen for the time being.

RemoteControl.png

I’ve also picked up a FLIRC IR receiver dongle, and I can now control what I’ve written so far with an official Sky remote control, which feels much more natural. However, the FLIRC dongle has a habit of sending certain button presses a number of times at once, so I’ve had to artificially slow the responsiveness of the UI in an attempt to prevent unintended actions. I don’t know how else to fix this issue at present, but it’s hardly the first issue I’ve had, so it’ll go on the list of “things to attempt to fix properly at some point”. I’ve also added the ability to use the channel up/down buttons to navigate for channel hopping, however this exhibits some problematic behaviour at present, either reloading the current channel or skipping several at once.

DudText.png

See that? That’s the absence of teletext. I know it works, it works on my TV, but try as I might (and I have, I bought yet another capture device for the job), I can’t get my PC to “receive” teletext for capturing examples and demos. It might be DScaler, the capture application, but there seem to be so few options for doing things like this, particularly on more modern operating system versions.

Segmentation fault

I’m still having to wrestle with, or more accurately grudgingly tolerate, the instability of the libraries the application is based on. It’s exceptionally good at segfaulting, which is incredibly unhelpful. I think it could probably be worked around by ensuring that the network connection is rock solid and the video files are encoded in a codec as friendly to the video decoder as possible. It’s not foolproof, but it’ll have to do, unless I figure out how to fix that as well.

That’s about where I’m at right now, I’ll continue to incrementally improve it as well as I can, and I hope when I’m “done” it’ll pass for a functional application.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s