Apple Store – Genius Bar Appointments

I’ve always found the process for getting a technician or technical support at Apple to be a fair pain in the butt.

When you need to get a problem resolved you want to get it resolved right away… yet you can’t – you need to go online and book an appointment.


Then you need to visit the actual Apple store, wait in line again in order to see a “Genius”.

Sadly while “in line” you witness everyone else with their problems… broken screens, home buttons jammed, power buttons that won’t work, dead speakers, won’t charge, etc.

It doesn’t give customers the best perspective on the “quality” of the products when everyone you’re forced to wait in line with is having tragic issues.

What can you do while you wait?

Well I decided to write a blog post! (so far my wait is 30min) – so glad I booked an appointment!

Ugh… maybe it will get faster when customers are bringing in their broken Beats By Dre headphones 😛


Update: So while I was waiting to get my unit replaced after finally getting to the Genius Bar… a classic case of a broken home button and they can’t just fix that, gotta replace the whole thing!.. oh and it is passed our 12mo warranty period… so… pay up 😦  the poor woman beside me was trying to get her iPhone replaced as there was no way it was going to be fixable.  Her issue was a bit more drastic… overnight while she was sleeping her iPhone was charging… that is until the middle of the night when the iPhone/battery short circuited and caught fire! Holy smokes! (pun intended) was she every lucky that she woke up as the parts she brought in in a Ziploc bag had clearly melted under intense internal heat. Luckily just the device melted and herself and her furniture/house were all fine.

I’m sure this was a fluke occurrence and not typical of iPhones but what scared me more was that the technician (once it was plainly obvious this was going to be a “no-point-in-arguing-this-will-be-a-free-replacement” situation)… ran the customer through a “standard” questionnaire to properly file the issue.  This “standard” questionnaire included references to “putting the fire out” and “fire truck”… yes “fire truck”!!! (obligatory Bobcat Goldthwait YouTube link) – How many times do fluke occurrences have to happen before they make it into the “standard” questionnaire? 😉


Developers Hate QA Bug Reports That…

Developers Hate QA Bug Reports That…

…include screenshots that are wrapped up and pasted into Microsoft Word documents that are then uploaded as attachments to the bug tracker tool used.

There’s never any gain in doing this other than making it harder and more complicated for the developer to find and fix the issue.

You can’t zoom in on the image, Word often scales down the image, you can’t see 2 screenshots side by side like you could If they were separate files, you can’t take measurements, etc.

If your QA testers don’t have a tool for taking screenshots beyond the CTRL + PRINTSCREEN keyboard shortcut please invest 2 minutes and download one of the many great tools out there.

If you need a tool that costs a few bucks that’s fine too… it’s a totally justifiable expense.

Call Center Phone Systems Suck

I loathe having to call up any big company to get service.

Some parts of the process are just reality but many could be massively improved with a few small changes.

In no particular order here’s my beefs:

1.) Volume control – if your “your call is important to us” voice recording is so quiet that normal people can’t hear it… or so loud I can’t hold the phone to my ear – you’re annoying customers before they can even talk to you.

2.) If the Customer Service Rep (CSR) will be unable to do anything without my account number, name of first born, and the last 6 digits of my credit card – make sure you inform me up front and collect that data from me while I’m waiting for a representative.

3.) Those automated systems that ask callers to verbally state which option they want from a menu are officially the most annoying automated systems ever designed! Seriously if you can avoid ever installing one of these your customers will thank you. I don’t think they have ever correctly grasped my intentions. “How can I help you?“… “Tech Support“… “Did you say [Printer Ink Refills]?“… “No!“… “Let me try again – how can I help you?“… “I want to talk to a real person!“… “Did you say [Wifi Setup]?“…”WTF!? you stupid piece of ****!“… “Did you say [Install Anti-virus]?

4.) Most times when you are calling for some level of tech support the CSR has a script they want to run through to resolve your issue.  It would be soooooo much better if they would at the beginning of the call politely ask what your level of technical expertise you have (or listen when you try to tell them!) so that you could skip over some of the endless steps and explanations (e.g. I know how to bounce my router, get & release my IP address, my version of Windows, how to open Device Manager, etc.)

Behind the scenes of course I realize that not every company has a good system to take care of all the details… and that the staff that know the products/services very well are likely not working the phones but anything a company can do to improve this workflow would be really appreciated by customers and hopefully happy customers will improve your companies bottom line. 🙂

Alarms Going Off

We’ve had some pretty rough weather recently – an ice storm, snow, and a cold snap that made the North Pole feel like a warm place to visit.
As a result trees snapped and fell causing power outages (some for days!), roads were blocked and some odd things occurred.
Anyway on my travels this weekend took me to an industrial area where I heard an alarm sounding. I didn’t have to investigate but I did.
There wasn’t any signage on the building so I drove around for a closer look… and here’s what I found.

I filmed the above expecting to send this to the local fire department or similar to investigate. I went back around the front of the unit to jot
down the address details and I ran into a guy that worked there. It turns out that the sprinkler pipes broke and the flooding inside was as bad
as expected… he called the sprinkler guy but there was likely another 20 minutes of flooding before they got there :-(.

I’ve still got no idea who the company is, what product they make but I can only imagine that no matter what it is the water damage was extensive and expensive.

What’s the moral of this story?

Well it all ties into programming and code. I saw an issue that was otherwise being ignored (the alarm was loud and could be heard from quite a distance by many people).  Rather than just ignoring it like others were I made an effort to investigate and resolve the issue – I couldn’t as a good citizen just let the alarm go unanswered.

The same goes for code and being a good citizen programmer. If I find an issue in code (bad logic, memory leak, just plain wrong code) I don’t have to be the programmer that fixes the issue (I doubt I would have been able to put out the fire (if there had been one) nor stop the flooding) but I did need to do something!
On the code level I could also just file a bug report or told someone else about it so that it could get the attention it needs.

If you are looking to be a better programmer, be a better citizen (or a combo of both) – the next time you see something ugly in code you’re looking at – don’t ignore it… either fix it or report it.

I hate Windows 8 scrollbars and here’s why

Anyone that has talked to me knows that I’m not a huge fan of Windows 8 by any stretch of the imagination.  However its a bit unfair to turn my nose up at the whole operating system (especially when there are some really great parts!) so I thought I’d break down a bit about what I don’t like.

Today’s focus is on the scrollbars in Windows 8 (and back-ported to Windows 7 inside IE10/IE11).

Scrollbars are one of the necessities of an OS to let you get to content beyond the visible container you’re looking at… and each part of it serves a specific purpose.

The arrows at each end are “buttons”, the part that slides up and down (or left to right) is the “thumb”, and it slides along the “track”.  There’s actually been a bunch of advancements with scrollbars since they were first used.

For starters the size of the thumb used to be fixed (same as the arrow buttons) but by making it proportional the user gets a visual clue as to how much content there is to scroll and subsequently makes scrolling more controllable and easier (bigger target, easier to hit a la Fitts’s Law).  Secondly when horizontal and vertical scrollbars are used together there is a little box in the (typically) bottom right corner where they meet that is empty.  Some smart developer felt this was a good place to put some diagonal lines (often referred to as a grippy) to enable a user to grab the corner and stretch the container/window to a new size (ever wish this worked on textarea elements in Internet Explorer?).  Finally although one can debate the true usefulness of it, clicking in an empty spot on the track will scroll the container to that position.  This helps a lot when you have a 500 page document and you want to quickly scroll to 300-400 pages down.

So here’s a few screenshots of a typical scrollbar in Windows 7:

Windows 7 default scrollbar
Windows 7 default scrollbar

and here it is being moused over

Windows 7 scrollbar moused over

This interface feature has been refined over the years ever since Microsoft introduced Windows 3.x such that now the bar is a nice soft gray color with slightly rounded corners and with shading, highlights and a gradient that gives it that 3D look that literally makes you want to bring your mouse over and interact with it.

The control supports visual states for “normal”, “hover”, & “click/drag” and was IMHO pretty much perfect, better than Windows XP, 2000, 98, 95, etc.


Now of course Windows 8 comes along with their “flat” UI to try and bridge the “simple” tablet UI with the desktop.  This is no easy task and well I fear that with a “compromised” tablet and desktop interface neither extreme is really ideal and everything became a muddled sacrificed UI.

Here’s the scrollbars in Windows 8:

Windows 8 scrollbar missing hover / mouseover state

In this shot you can see there is no hover state for the arrows and all the graphical details, soft ergonomic curves that afforded discover-ability are gone. e.g. “sexy-factor of zero”


Windows 8 scrollbar arrow is lopsided

When actually clicked the arrow looks peculiar like it wasn’t built properly… the arrow is not centered as one would expect and the result looks like a graphical glitch.

I think it would look much better if the arrow was centered on the “button” like this:

What the Windows 8 scrollbar arrow should have looked like

I’d still argue that these scrollbars (especially on the desktop) just seem completely out of place and look ugly.  It reminds me of using Balsamic (a tool I love) or similar to quickly mockup UI screens where there is an intentional effort to make it look rough and unfinished… only Microsoft actually shipped this!

What’s your thoughts? Do you like the Windows 8 scrollbars? Do you think they should support a mouseover / hover event like all the other controls? I’d love to hear your thoughts.

What Is SongKiwi and Can I Participate?

Full disclosure – this post is also a bit of shameless self promotion.

I’ve had an idea for a website / webapp for quite some time and I’ve recently been working on bringing it to fruition.  I’ll be chronicling the progress here on this blog.

Due to the nature of the Internet, Startups, and the importance of being “first” to a particular domain I’m going to be keeping a bunch of details under wraps until ready. 😉 However there’s a few details I can share so here goes.

I’ve always been a big music fan and love to share my passion with other music buffs whenever possible but I’ll concede that outside of a one on one chat with a friend I haven’t found a good online experience to share this energy.

Well with this new site I hope to change that.  What if there was a site where you could share the knowledge and experiences you’ve had with music? Do you remember singing along to “The Power Of Love” in Back To The Future… or what band sung the theme song to Friends… or what song is playing in the background of the latest Doritos commercial?

Maybe you are the local expert on all things U2, Britney Spears, Garth Brooks, Psy, One Direction or Daft Punk? If you’ve into music at all you’ll likely enjoy what’s coming with SongKiwi and should sign up for more information and to get on the beta invite list. I promise it will be both fun and useful.

Signup for information on the SongKiwi beta.

I’ll try and give a bit more info in posts to come especially when a bunch of the technical details have been decided upon. HTA6UNSTYW9W

Native Mobile App Design Flaw #1

This isn’t going to be (or at least it certainly isn’t intended to be) a fight-inducing post about native-vs-HTML5 apps on mobile… but rather something I’ve noted as a bit of a flaw of the new Native Mobile App model where you download an app from a specific App Store/World/Marketplace.

For those of you that have been around the Interwebz since the beginning (or at least say… circa 2000) you’ve likely noticed that most applications you download for your computer (PC, Mac, or Linux) have gotten faster and faster as the years go by.

There’s 3 major reasons for this:

  1. Internet connection speeds have massively increased from our measly 56k dial up modems
  2. Use of CDN (Content Delivery Networks) has improved things so that you download from a server that is geographically closer to your location
  3. Vendors now provide a quick download installer that fetches the required resources only when you start installing the application

Item #3 is the key.  When you download the latest version of say “Mozilla Firefox” you get a tiny installer that downloads in seconds.  Only once you start it up does it do a quick inspection of your hardware (to find out if you need the “Windows 7 32bit” files, or the “Windows 8 64bit” files for example) and maybe asks if you want language packs, extra features, etc. then downloads only the assets you need for your installation.

The same applies whenever you want to get an update! You download the new parts that you need and essentially “patch” your existing installation.

This is where the flaw comes into play with Mobile Apps downloaded on your smartphone or tablet.  The publisher of say “Angry Birds” (Rovio Entertainment Ltd. btw) (weighs in at: 39.9MB 145MB now Angry Birds on iTunes) might have fixed a typo or a silly off-by-one error amounting to less than 100 bytes… yet every user that wants to get that update has to re-download just shy of 150MB of data!

Not only is this a major waste of network bandwidth but if you are applying these updates over your 4G cellular network while whipping down the highway at 75 miles/hour (120km/h for the metric folks) you’re not only putting unnecessary stress on the cellular network, and your battery… but brutally eating into your bandwidth cap (for those that have them) or (gasp! roaming data charges!). You should be saving that precious bandwidth for watching funny cat videos! 😛

This feels like an epic failure to me to have come so far with online software delivery… and then just throw it down the toilet and re-download entire apps whenever there is the slightest change.

Now I do realize this is quite a challenge to solve as you’d need to provide a smart solution that accounts for literally 1,000’s of developers coding styles/structures.  Some sort of magical binary diff… but that’s what motivates us developers! A Challenge! Announce: “It can’t be done!” and dozens of developers will stay up all night to try and prove you wrong!

Ok, time to play Devil’s Advocate

  • I guess if you had a hybrid app with a small native wrapper that loaded most of the content from a remote server on install/access and cached it as “app related files” then you can overcome the “big download hit” for updates.
  • HTML5 advocates will point out that this is how & why the HTML5 appcache was designed.  Enable smart caching of the resources that can be cached and used offline and only fetch fresh resources as/when needed.
  • A native app with a collection of simple WebViews could combine the benefits of the above 2 items for an app that might never need updating yet always be up-to-date.
  • I’m sure there are a bunch of bright developers that have already taken one or more of the approaches above (even for completely different reasons) but serendipitously solved this problem.

What’s your thoughts? Are we messing things up? Will it all not matter the closer we get to wireless “Gig-E”? Or will the big mobile vendors (Apple, BlackBerry, Microsoft, Google, Mozilla) come up with an ingenious solution?