thoughts on browser usability
Jake Kuramoto from Oracle Apps Lab has a great post about common search terms for the three main search engines and notes that 'facebook.com' (and variants thereof) appear in the lists of most frequently used keywords.
Recently, I have been observing my wife who is a non-technical (Firefox) user although I must admit to a vested interest here. I am keen to understand any areas where Linux Mint is 'worse then Windows'. Over the last few weeks, I have noted the following:
The Web browser is Firefox 3.6 and the starting page is a single tab - Google.com (my choice).
This start page is minimalist in the extreme and dominates the screen. The user is instinctively drawn to this large, central area of the screen. Note to Google designers: This striking, beautiful minimalism is rather spoiled once you use the mouse.
My wife's Web session starts here. It always starts here. She might be searching for 'john lewis', 'maths revision guides', 'how to kill husband and get away with it' or 'weather london'. It is entirely logical that, if she wants to visit Facebook, she will simply hit 'Home' and initiate another 'mini-session by searching for 'facebook' (or some variant).
This may not the the quickest, optimal way of getting the job done but it's quick enough, it works and it is a learned behaviour.
I agree about search being more forgiving than typing raw text into the address bar. Google does the right thing with 'facebok' but the address bar doesn't. Don't try this experiment at work as it's potentially NSFW.
However, I think the key issue here is more about usability. The Google search page dominates the screen and the centrally placed search box dominates the Web page. Her eyes are drawn towards it. It is much harder for the brain to even consider the alternative options of 'address bar' 'search bar' or even 'Bookmarks' because these options are located at the top of the screen and are tiny in comparison - almost inconsequential. Therefore the brain has to do more work - particularly for 'Bookmarks' which nestles between 'History' and 'Tools'.
Coincidentally, I recently exposed the Bookmarks Toolbar with just two sites (Amazon, Facebook). These icons are now relatively large and easily visible and using them to quickly navigate is just a single mouse click but I don't believe she uses them. Old habits die hard perhaps.
This isn't being patronising but I don't believe she knows what the address bar is. Until recently, she didn't know what the search bar was. When I explained that the 'Google' in the bar and the magnifying class icon indicated you could search by typing into this text box, her reaction was 'Oh so it's like the Home page but smaller'. I am sure this mentality isn't unique among novice and non technical users.
She finds it confusing that the address bar takes things like 'amazon.com' (URL's) whereas the search bar takes 'amazon UK books' (search terms) and gets the two confused. Mostly this ambiguity doesn't affect the end result but it's confusing and poor UI design. Chrome addresses this nicely with a single unified bar which is exactly how it should be.
My wife often bookmarks stuff and recently complained that 'Bookmarks don't work. I can never find stuff again.' It transpired that she expected her lengthy list of Bookmarks to be listed in reverse chronological order and was unaware of the 'Recently Bookmarked' submenu. But then again, that's a extra click. Again, more work for the brain and people are lazy.
Although I am not a Web designer, I find usability and user interface design a fascinating area. I would love to conduct detailed interviews with my wife, my kids and my father to compare and contrast their usage of their respective computers.
when ethernet cables go bad
Idea for a new TV series - 'When Ethernet cables go bad' - A fascinating 60 minute documentary into the wide range of issues people have with wireless networks. The program would also include some 'C' list celebrities and a phone/text in competition to win something.
I have had a wireless network in my house for at least four years. Perusing the annals of this blog reveals that while I have experienced various, sporadic issues over this period, by and large, the wireless network has been pretty reliable with three PC's, a laptop and an iTouch device using it without problems.
Most issues could be resolved simply by rebooting the router and cable modem or very occasionally traced to a broader problem with network connectivity from my ISP, Virgin Media.
Recently, my 7x24 Internet monitoring service known as my son came down into the lounge to watch TV. This normally means one thing - the Interweb is down and Call of Duty is missing one of their Lieutenants. And so it proved.
On this occasion, rebooting the router and modem didn't resolve the problem and plugging a laptop into the cable modem proved that the lack of connectivity wasn't due to Virgin Media.
A hard reset to the factory defaults and running an open network worked. For a while. Then the router dropped again. Installing the Linksys firmware to replace the open source and freedom loving Tomato software worked. Briefly. Then it broke again. Stubbornly the router reported 'Could not renew lease.'. No matter how many times, or how hard, I hit the 'Renew Lease' button.
This state of affairs simply could not continue so after investigating a little on the Interweb, I reached the reluctant conclusion that my 5 year old Linksys wireless router was, in technical terms, broken.
Curiously, for me, I spontaneously decided to buy another Linksys router to replace it. A like for like replacement. Subconsciously, despite the unit failing, I still viewed Linksys as reliable and found myself strangely reluctant to try another make and model.
I quickly shopped around and purchased a Linksys WRT54GL and, to my surprise, found it slightly cheaper at ebuyer.com than my usual preference for online purchases - Amazon. The router arrived the next day and I was able to quickly configure the network again as the family gathered expectantly inquiring 'Can I play Call of Duty yet ?', 'When can I check my email ?' and 'Listen - I need to get on Facebook now.'
Everything ran smoothly and everyone was deliriously happy. For 8 days until Norman Junior III came down into the lounge to watch TV again. After a period of 8 full days without watching any TV or speaking to us.
'Is it down again ?' 'Yeah - I rebooted both boxes and my PC can see the router but the router can't access the Internet.'
Back upstairs to stare at the Administration screens and the worryingly familiar 'Can not renew IP address' message. This time, I installed the Tomato firmware which worked briefly. I then reverted to the Linksys firmware as I prepared to raise the problem with Linksys technical support. But I didn't need to as, after resetting to the factory defaults and reconfiguring, it worked. Internet access was restored. Everyone was happy and didn't thank me. For a couple of days.
This loss of connectivity was now a complete mystery and now starting to get very irritating. Brand new router. Sporadically failing. My son and I stared at the blue box with the flashing lights and the contents of the new router box looking for the sentence on 'Troubleshooting'.
Norman Junior broke a rather stony and tense silence: 'What's that blue cable ?' 'Oh - it's just an Ethernet cable that came with the router.' 'Maybe that would work better as it's brand new.' 'It won't be that. These problems are not caused by an Ethernet cable. They either work or they don't.'
'What's the harm in trying it though ? We haven't got any other ideas, have we ?'
So I exhaled loudly, sighed, threw in a couple of expletives and switched the original grey Ethernet cable supplied all those years ago by Virgin Media with a shiny, new, slightly shorter blue Ethernet cable.
And lo and behold, the blue Ethernet cable worked. Access to the wireless was restored. The bloody Internet worked. Perfectly. For 3 weeks, 4 days and 17 hours and counting. Rock solid.
He's a bloody genius, my son.
And the elephant in the room - the original 'failed' Linksys WRT54G router sitting up on top of the wardrobe, taunting me, calling to me, nagging away at me like a dripping tap. The temptation to switch back to the original router and try it with the blue Ethernet cable is one I have been able to resist. So far.
why can't people understand date arithmetic ?
AND TO_NUMBER(TO_CHAR(appt_start_dt + 9/24, 'YYYYMMDDHH24MISS'))
<= TO_NUMBER(TO_CHAR((TO_DATE(:b1, 'DD/MM/YYYY HH24:MI:SS')), 'YYYYMMDDHH24MISS'))
Please can a clever Oracle person explain, in English, the precise semantics of this WHERE clause snippet in the comments below.
I realise this construct and variants thereof have probably been discussed ad infinitum on Oracle WTF but I just don't get it.
I don't know whether this SQL was written by a human being or a third party ETL tool but it doesn't matter. Currently, all ETL tools are written by humans in any case.
Why do people struggle so much with date arithmetic ?
When I was a little boy, I used to say 'Only 43 days to my birthday now, Dad'. Although I didn't know it at the time I could have written this as
sysdate + 43 = :my_birthday
I even understand that TRUNC(SYSDATE) is midnight - it just seems fairly intuitive and logical to me.
My tiny brain can even understand the concept of date subtraction - last Wednesday was two days ago and Manchester City's last trophy was almost 34 years ago.
I understand that a date is a date is a date. I realise that a date is not an orange. I realise that a date is not a string and I only see dates in SQL Developer because that was a design decision to perform an implied conversion using the default date format and a useful user friendly feature.
I understand that if I want to display the date and be assured of the date format I need to convert it to a string using TO_CHAR with the appropriate date format mask.
I understand that Unix systems (and the next generation blogging platform, Habari) stores 'dates' internally as the number of seconds that have elapsed since the Unix epoch on 01 January 1970 00:00:00.
But look again at that code snippet. The author is obviously familiar with the Oracle functions TO_CHAR and TO_NUMBER but why in the name of God does he convert a date to a string to a number and then compare the resulting outputs ?
What is the meaning of that generated 'number' - 20100129143559 ? 'Twenty billion, one hundred thousand and and one hundred and twenty nine million, one hundred and forty three thousand and five hundred and fifty nine. Or something. Why is that a useful number ?
Why did he waste time and energy doing do all that typing ? Is he working on a top secret defence project that requires him to obfuscate the code ? Maybe he is paid by lines of code ? The author is clearly aware of some elements of date arithmetic in Oracle because he used '+ 9/24' to add 9 hours to the appointment start date.
Maybe there was a useful index defined on APPT_START_DT that he wanted to suppress for performance reasons.
I'm not sure but I have an awful suspicion that the object associated with the bind variable :B1 may already be declared as a DATE data type but hey, let's convert it to a date using TO_DATE - just to be sure, to be sure.
Why didn't he simply use
AND appt_start_dt + 9/24 <= [TO_DATE] :B1
Why ?
Steve Jobs on design
‘Make it look good!’ That’s not what we think design is. It’s not just what it looks like and feels like. Design is how it works.” — Steve Jobs
So very true. Via a comment on an interesting blog post comparing Tumblr to Posterous.
Ironically, this short post would have been better suited to a one liner, throwaway post correctly labelled and nicely formatted as a quotation on a service like, well Posterous or err, Tumblr but I am trying to consolidate all my efforts into this blog.
the mechanics of IT
Last year, I visited a customer in Swindon. When I arrived at the office, I noticed some water dripping from the underside at the front of my car. I didn't have time to investigate or get my hands dirty so I subconsciously hoped it was just condensation from the air conditioning unit and tried to forget all about it.
After work, I managed to navigate Swindon's world famous roundabout of roundabouts and finally locate my hotel. When I parked, I noticed the temperature gauge was reading high - very high. Sure enough, I got out of the car to see steam pouring out of the bonnet and was greeted by the familiar smell of anti-freeze.
I still didn't want to get my hands dirty so I opened the bonnet and just stared at the problem, hoping that would miraculously fix it. Then I checked in to my room and rang the AA. I introduced myself to the operator as 'Hi - my name is Norman and I'm an alcoholic.'
The AA man duly arrived before 'The One Show' had even finished. We both stood looking at the engine knowingly before he asked: 'Now, Sir, what seems to be the problem ?'
'Well, I think it's pretty minor and easy to fix. It's just the top hose has perished and needs replacing.'
'Oh I see, Sir. Why do you think that ?'
'Well, when the engine was running, steam was pouring out of the top corner of the radiator - right there where the water hose joins.'
'OK, Sir. Thanks for that. Please could you just turn the engine over for me so I can take a look myself ?'
Engine on. Water and steam billowing out. Smell of anti-freeze. Temperature gauge rising.
'Whoa ! That's fine, Sir. Engine off now, please. Well it's not your hose, Sir. The problem is over here. It's your bleed screw, Sir. Look (flips the screw from the middle of the radiator). This bleed screw has sheared off in half. Quite a common problem on this model. Seen it a couple of times now.'
I felt a little sheepish (but very relieved that a solution was in sight) and the man from the AA, James, filled the radiator with 13 pints of cold water and I followed him to a local garage where we parked and he kindly drove me back to the hotel so I could wash my hands.
The next morning, I walked into the customer's offices to be excitedly greeted with 'Oh good - glad you're here. We have got problems. Serious problems. Performance problems. On production.'
'Ah OK - what seems to be the problem ?'
'Well it's the database, you see. It's the hard disk - 99% busy. Partition 27b on logical volume 7 is overheating. Oh and another thing that might be relevant - the hit ratio is right down at 72.7%'
'OK - thanks for that. Do you think you could just start the system up for me and I'll take a look myself ?'