Archive for the ‘Hobbies’ Category

Good Morning

First off - I have managed to play some lately! First I did some fun spiking in Flash figuring out some interesting solutions to a problem I was having (I’ll post more about that soon on the Automata Studios blog.). Then, this weekend I managed to spend some time digging in with some electronics. We currently have a project that requires a lot of hardware integration and I needed to build a debugging module for all of it (let’s just say I didn’t want to setup a full HVAC setup!). I ended up designing and building the whole thing - and it worked the first time! Holy cow!

It was a lot of fun really defining the problem and then scouring the net for the information I needed. I re-learned a lot of basic electronic theory that I learned back in high school and then went further to really finally understand capacitors, diodes, rectifiers and even a bit of AC theory. Oh - and I found out I haven’t fully lost my soldering skills too!

Telephony and Convergence

First a rather mundane thing. I love my phone. No, not my iPhone (I do love that though) - but my real “landline” phone. I love it because it is no longer a landline at all. We just moved the office phones over to RingCentral and for less than your standard wireless phone plan we have a virtual PBX and three VoIP lines. The virtual PBX is easily programmable and you manage it entirely on the web. The VoIP lines deliver absolutely beautiful audio - and we’re not even using phones! Heck we’re not even using RingCentral’s softphone software! They will happily give you all of the SIP information so you can use any SIP-compatible softphone you like! (I’m currently playing with X-Lite, a free offering from CounterPath and while ugly, it seems to kick ass in every other metric).

The other thing I wanted to mention was a thought I had today about convergence and how it seems to be this big lofty goal of a lot of pieces of software and hardware. The problem is that our definition of “everything” seems to be expanding all the time. Think about it… a few years ago YouTube and Facebook didn’t exist, yet now any “convergence” device or application is found wanting if it doesn’t tie them.

It seems to me that more important than single devices or applications that do everything are interchangeable formats. Ways that these new and different worlds of information can talk together. These technologies are often simple (such as JSON) and use existing standards (like REST). This is a good thing and honestly, I’m finding that interoperability gets me a lot more interested these days than convergence. Let me decide what bits I want to stick together and give me to tools to do it!

Living with things

Just a random thought that popped into my head… it seems like a lot of products have that initial polish down pat but then end up failing once you really start to live with it. Case in point, my office phone. Yes, I can make phone calls, and yes the speakerphone in it actually works quite well for a portable phone. The problems come down to the stuff you don’t do everyday and thus forget how they work. Muting the phone for example requires pressing a series of 3 buttons (menu, down, select - I think). The problem is that doing anything with the menu key means there’s a good chance you will accidentally hang up on the person you are talking to due to the chiclet-like nature of the buttons and the fact that it doesn’t really stand out from the other “meta” face buttons on the phone.

If you used this feature everyday it would become second nature I’m sure - but I think the only people who would do that are receptionists (who have much better phones generally) or the people who made the phone. This problem seems to infect software UIs as well, but at least with software we can iterate our designs fairly easily.

It seems to me that a good way to create a UI from a scientific standpoint would be to start with a very basic and naive UI - one with all of the features display at once. Then let users play - and analyize the distribution of the use of the features. This would give you a glut of statistics about the features including the most important features and the most common grouping of the features (which ones were used with which other ones). From there it’s just a matter of changing the design accordingly.

I know Microsoft and others have tried this approach with their old “learning menus” from the office suite circa 2002 I believe - but I think their approach of putting those changes into the actual users hands was misguided. They were committing the common programmer sin of heaping the responsibility onto the user (Joel on Software has a great rant about this - I’ll see if I can dig it up later). Instead, the base setup for the software should be made to handle and work well for the vast majority of users. It’s hard work that requires a certain amount of dialing down of ones ego, but at least you don’t have to re-tool a factory to iterate the interface.