Zeitgeist? It also seems like IT was viewed as more fringe. Now that it's more mainstream and part of our day to day lives it would cross over more and more into the political; whether it be surveillance using tech or the regulating of domestic or foreign tech companies.
That's pretty amazing. We used to have a Harmony remote like 15+ years ago. Best remote we ever owned. Great at controlling everything, including the original xbox for dvd viewing.
Then they went and updated. They artificially limited the number of devices a class of remote could control. They moved more "features" into the display of the remote which made them harder to use and reduced buttons. The quality went down, and the the newer remotes stopped being able to accurately control all my devices.
I now sit with 5 remotes on my couch's armrest instead of one harmony. They had the best universal remote and they ruined it. If I were more of a hardware guy, I'd start a competing product that added the required sensors as a dongle to your phone.
The Harmony remote without the display works better, lasts longer, and is more durable and resistant to obsolescence than the ones with the display and touchscreen. Buttons last a long time. I bought one for the living room 15 years ago when Amazon had a special on it with the Harmony hub, and it's been working flawlessly ever since. The battery life on the thing is incredible: The CR2032 has only been replaced once in that time!
The shortcuts they took when developing this remote are just mind boggling! I never would have imagined it was running a full networking stack, servers, and Flash for the UI. Just incredible.
It's hard to see, but I think he could have cut the plastic in the charger to let the rf blaster to function while it was connected to the charger. But it's always nice to hack old hardware instead of looking for a shortcut.
I wrote the client/server/embedded software for the Harmony (technically the 'EasyZapper'(!) at first). It was the original 'two guys and a laptop' project. My mate Justin was the electrical/industrial/hardware/UI designer (although he will blame all the shitty software UI on me...).
OK, look, it was a long time ago, but I don't actually think we used Flash. Maybe one of the later versions where we tried to make it look sexier and/or more integrated? The original client side architecture was basically:
1) Some wrapper that let us embed a web browser that wasn't too buggy
2) Some crazy bridge that got us down to native (ish) code
3) Some crazy native code that abused the HID protocol to talk to the remote itself
We had this working for:
Windows - pretty sure it was VB embedding Internet Explorer that bridged down to a C++ COM component for communication
Mac - Safari talking to java HID bridge
Linux - Firefox talking to java HID bridge
It was a long time ago, but that sounds 80% correct.
Originally we wanted to use full java on all 3 platforms, but back then (2000), it was too slow and buggy. Ironically, we ended up using VB for the server stuff (for a consistent dev environment), and then had to rewrite back to java in 2003 ish.
OK, that must be a much later remote (2006+). The original remotes were heavily COGS optimized. For example, the first remote used a PIC microchip with 1kB of ram. We had 2MB of flash, so the server would create a massive state machine that the remote would then interpret (dumbly). For example, on menu #27 it would show four textual menu items, where say item #3 would cause IR command #38 to be sent then jump to menu #11.
This core architecture (server working out all of the UI and then sending it down to a psychotically dumb remote) was in place for all remotes between 2000-2005.
It is worth noting that in 1024 bytes of ram, we managed:
1) Call stack frame and local variables
2) Full graphical menuing system with text and icons
3) Infrared sending
4) Infrared learning
5) Smart State Control (i.e. for each device, simulate what state it 'should' have been in, then work out what commands needed to be sent to hopefully get it into the new state'
6) Synchronization (i.e. when Smart State didn't work, sending the user through a graphical workflow that would get it going again)
7) Interactive TV listings (i.e. when watching TV, it could show you what programmes were on which channel, select to change to that channel)
8) Dynamic content 'zapping'. OK, it was a dumb feature, but you could press the 'Zap' button and it would remember what channel you were watching at what time, and then take you to relevant content (e.g. ads).
9) Favourite channel lists - pressing channel up would only cycle you through the channels you liked, working out if it was 2 or 3 digits, zero prefixed, 'channel up shortcut' etc.
10) USB HID protocol stack (the USB chip was only a dumb transceiver).
How long did you stay on the Harmony team? I was a SME with these remotes and worked with the support team in Phoenix until they shuttered that office. I've still got one of the original remotes and early beta models of the H900 and the PS3 adapter in my collection.
Logitech bought us in 2004, I think I stayed on for about another 12-18 months or so. I would have finished up around mid-late 2005. I have a ridiculous collection of early Harmony Remotes that I cant bear to get rid of :-)
Foone is into such fun things, but I absolutely can’t stand how everything is “stupid”, “the dumbest thing ever”, “what were they thinking?”, etc. It must be exhausting to hate everything so much. It sure is exhausting to read about it.
29 comments
[ 139 ms ] story [ 842 ms ] threadThen they went and updated. They artificially limited the number of devices a class of remote could control. They moved more "features" into the display of the remote which made them harder to use and reduced buttons. The quality went down, and the the newer remotes stopped being able to accurately control all my devices.
I now sit with 5 remotes on my couch's armrest instead of one harmony. They had the best universal remote and they ruined it. If I were more of a hardware guy, I'd start a competing product that added the required sensors as a dongle to your phone.
[0] - https://twitter.com/Foone/status/1251483589914423296?s=19
I wrote the client/server/embedded software for the Harmony (technically the 'EasyZapper'(!) at first). It was the original 'two guys and a laptop' project. My mate Justin was the electrical/industrial/hardware/UI designer (although he will blame all the shitty software UI on me...).
Happy to answer any questions.
Glen.
1) Some wrapper that let us embed a web browser that wasn't too buggy
2) Some crazy bridge that got us down to native (ish) code
3) Some crazy native code that abused the HID protocol to talk to the remote itself
We had this working for:
Windows - pretty sure it was VB embedding Internet Explorer that bridged down to a C++ COM component for communication
Mac - Safari talking to java HID bridge
Linux - Firefox talking to java HID bridge
It was a long time ago, but that sounds 80% correct.
Originally we wanted to use full java on all 3 platforms, but back then (2000), it was too slow and buggy. Ironically, we ended up using VB for the server stuff (for a consistent dev environment), and then had to rewrite back to java in 2003 ish.
Fun times.
This core architecture (server working out all of the UI and then sending it down to a psychotically dumb remote) was in place for all remotes between 2000-2005.
1) Call stack frame and local variables
2) Full graphical menuing system with text and icons
3) Infrared sending
4) Infrared learning
5) Smart State Control (i.e. for each device, simulate what state it 'should' have been in, then work out what commands needed to be sent to hopefully get it into the new state'
6) Synchronization (i.e. when Smart State didn't work, sending the user through a graphical workflow that would get it going again)
7) Interactive TV listings (i.e. when watching TV, it could show you what programmes were on which channel, select to change to that channel)
8) Dynamic content 'zapping'. OK, it was a dumb feature, but you could press the 'Zap' button and it would remember what channel you were watching at what time, and then take you to relevant content (e.g. ads).
9) Favourite channel lists - pressing channel up would only cycle you through the channels you liked, working out if it was 2 or 3 digits, zero prefixed, 'channel up shortcut' etc.
10) USB HID protocol stack (the USB chip was only a dumb transceiver).
https://twitter.com/Foone/status/1251462876029579264
n. (1)
A unit of cultural information, such as a cultural practice or idea, that is transmitted verbally or by repeated action from one mind to another.
The software is awful and has always been awful, but the hardware has been pretty consistently solid.
I really wish there was a way to run a custom firmware on these devices, particularly the Harmony Hub + Simple Remote.