<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <id>tag:justinfrench.com,2005:/notebook</id>
  <link rel="alternate" type="text/html" href="http://justinfrench.com"/>
  <link rel="self" type="application/atom+xml" href="http://justinfrench.com/notebook.atom"/>
  <title>Justin French – Notebook</title>
  <updated>2013-01-11T03:49:10Z</updated>
  <entry>
    <id>tag:justinfrench.com,2005:Post/295</id>
    <published>2013-01-11T03:49:10Z</published>
    <updated>2013-01-11T03:49:10Z</updated>
    <link rel="alternate" type="text/html" href="http://justinfrench.com/notebook/do-not-reply-email-is-lazy"/>
    <title>"Do Not Reply" Email is Lazy</title>
    <content type="html">&lt;p&gt;When you think about it, sending automated email to your customers from a &amp;#8220;Do Not Reply&amp;#8221; email address is a really odd thing to do, yet most online business do it. Why?&lt;/p&gt;
&lt;p&gt;At first glance, it &lt;em&gt;seems&lt;/em&gt; like a very cheap way to solve a very visible problem — allowing replies would mean someone has to read all that email and deal with it. If you&amp;#8217;re the person dealing with all that email, or paying the team that does, your natural bias would be to treat this email as a cost. With the mindset of reducing costs, &amp;#8220;Do Not Reply&amp;#8221; is pretty appealing:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;it&amp;#8217;s cheap — a few hours to configure the email server and change the &amp;#8220;From&amp;#8221; address in the template&lt;/li&gt;
	&lt;li&gt;it&amp;#8217;s effective — all that email will stop immediately&lt;/li&gt;
	&lt;li&gt;it&amp;#8217;s accepted — everyone does it, we&amp;#8217;ve all seen it before, we&amp;#8217;ve been trained that this is normal&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Of course, thinking about the customer&amp;#8217;s experience, there&amp;#8217;s nothing appealing at all:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;it opens the conversation with a negative statement&lt;/li&gt;
	&lt;li&gt;it rejects the idea that the customer may need to reply, or may have a question&lt;/li&gt;
	&lt;li&gt;it creates a dead end, not a conversation, breaking the basic concept of email&lt;/li&gt;
	&lt;li&gt;it requires the customer to start a new thread in a new email or support system if they need to continue the conversation&lt;/li&gt;
	&lt;li&gt;it can only cause angst and frustration, rather than satisfaction and delight&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;#8217;s also important to realise that when we cut off all that noisy email, we also cut off the conversation with the customer — a valuable source of product feedback:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;was this email clear?&lt;/li&gt;
	&lt;li&gt;was this email valuable?&lt;/li&gt;
	&lt;li&gt;was this email missing important information?&lt;/li&gt;
	&lt;li&gt;was this email timely?&lt;/li&gt;
	&lt;li&gt;was this email solving a problem for our customers?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, dealing with all that email is a bad idea, and cutting off the email with a &amp;#8220;Do Not Reply&amp;#8221; is a bad idea. When faced with this type of problem, look for the constraint that&amp;#8217;s hiding the most detail. In this case &amp;#8220;we don&amp;#8217;t want to reject replies&amp;#8221; seems pretty solid, while &amp;#8220;we don&amp;#8217;t want to deal with all that email&amp;#8221; seems to have some wiggle room. Maybe we can get better at dealing with all that email.&lt;/p&gt;
&lt;p&gt;If we allow replies, what kind of emails will we have to deal with? What smaller problems can we find to solve? When we break out these smaller problems, there&amp;#8217;s a much higher chance we can find simple solutions that don&amp;#8217;t suck for customers.&lt;/p&gt;
&lt;p&gt;This isn&amp;#8217;t an exhaustive list, but it&amp;#8217;s a start:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We&amp;#8217;ll see a high number of &amp;#8220;bounce&amp;#8221; emails where the customer&amp;#8217;s email address no longer exists, or their inbox is full.&lt;/li&gt;
	&lt;li&gt;We&amp;#8217;ll see a high number of automated replies from customers that are out of the office, on leave, etc.&lt;/li&gt;
	&lt;li&gt;We&amp;#8217;ll see some replies which are legitimate support questions highly relevant to the original email. A great example might be replying to an order confirmation email to check if it&amp;#8217;s too late to cancel or modify the order.&lt;/li&gt;
	&lt;li&gt;Some replies will be routed to product managers that are a little off topic (like replying to the shipping confirmation email to get help with recovering your password).&lt;/li&gt;
	&lt;li&gt;Some customers will send new support emails to this address by mistake.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A lot of these can be solved with automated email filtering and redirecting rules on our mail server or within our support system. Here&amp;#8217;s a start:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We can set-up filters to detect most of the bounces, and improve them over time. We can simply delete these or file them away.&lt;/li&gt;
	&lt;li&gt;We can do the same for the auto-replies.&lt;/li&gt;
	&lt;li&gt;We can use the subject line (&amp;#8220;Re: …&amp;#8221;) or reply-to email address in the replies to detect the source of the original email and automatically redirect it to someone who can help — the relevant support department, or better still, the relevant product manager. By helping the customer directly, they&amp;#8217;ll be motived to improve the experience in order to avoid dealing with similar email in the future.&lt;/li&gt;
	&lt;li&gt;We can quickly read the off-topic replies and forward them into the regular support system. An pessimist would consider this a chore, an optimist would consider this an opportunity to learn more about what confuses their customers, or to develop further filtering rules for automation.&lt;/li&gt;
	&lt;li&gt;We can easily detect emails sent to the wrong address because they&amp;#8217;re not replies (they also don&amp;#8217;t match any of the previous rules), so they can automatically be forward into the support system, where they belong.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At worst, this is a few conversations, a few hours of configuration, a few days of watching the inbox to set-up new rules, and a few hours a month to monitor and review. Speaking of review, there&amp;#8217;s value in the data we collect from accepting these emails:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;We can monitor the bounces, feeding this data back into our product (marking accounts as abandoned or suspicious when it comes to fraud or spam, reminding customers to update their email address when they next login).&lt;/li&gt;
	&lt;li&gt;We can see which emails and parts of our product are causing the most questions and confusion, and need the most attention.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Yes, all this is more effort than a simple &amp;#8220;Do Not Reply&amp;#8221; address, but it&amp;#8217;s not an outrageous cost, and not unreasonable given the massive upside — engagement with customers, faster product improvements, deeper insights, actionable data, better alignment with tools &amp;amp; behaviour, and of course, an improved overall customer experience.&lt;/p&gt;
&lt;p&gt;Nearly everything gets better when you insist on a better user experience.&lt;/p&gt;</content>
    <author>
      <name>Justin French</name>
    </author>
  </entry>
  <entry>
    <id>tag:justinfrench.com,2005:Post/294</id>
    <published>2012-10-14T20:37:00Z</published>
    <updated>2012-10-14T20:37:45Z</updated>
    <link rel="alternate" type="text/html" href="http://justinfrench.com/notebook/provide-insight-not-data"/>
    <title>Provide Insight, Not Data</title>
    <content type="html">&lt;p&gt;When designing digital products and services, we need to find places where we can push beyond the Minimum Level of Service (the oven should cook my food, the car should start reliably, the phone should make and receive calls, the waiter should get my order right) in order to make something that our customers will value and love.&lt;/p&gt;
&lt;p&gt;A great place to start is the places where you&amp;#8217;re providing raw data — basic facts and figures, records from a database, or data without context. With a few rare exceptions, your customer is never looking for these atomic pieces. They&amp;#8217;re looking for insight that they can help them make great decisions. Raw data is the least you could possibly do — asking your customers to decide what&amp;#8217;s relevant, perform their own analysis, draw their own conclusions and filter out the noise for themselves.&lt;/p&gt;
&lt;p&gt;I recently received a text message. Here&amp;#8217;s the interesting part:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You&amp;#8217;ve reached 80% of your 1GB data limit. Excess charges apply from 100%.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While I&amp;#8217;m thankful for the heads-up (anything is better than a nasty surprise on my bill), this pretty lazy design. The onus is now on me to decide if I care. In order to make that decision, I&amp;#8217;m missing a second piece of information — when will my quota reset? If I&amp;#8217;m 50% through the month and 80% through my quota, that&amp;#8217;s a problem. If there&amp;#8217;s one day left, no problem. If I have 5–7 days left, I&amp;#8217;ll need to be careful. By combining multiple relevant pieces of data, we can increase the value of the message:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You&amp;#8217;ve reached 80% of your 1GB data limit with 5 days remaining. Excess charges apply from 100%.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;With this iteration, I have everything I need to draw my own conclusion and take action, but can we do better? After reading this message, my conclusion would be to &amp;#8220;take it easy for the next few days&amp;#8221;, drawing an insight from the data. What if the system could offer me the insight instead of the data?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Your average daily data usage this month could lead to excess charges. Take it easy until Oct 5 or purchase a data pack.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Maybe we&amp;#8217;re taking it too far, or being too imprecise, but the same thought processes can be applied to whatever you&amp;#8217;re working on.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s say you&amp;#8217;re designing a software issue tracking system. The number of open tickets is usually vomited onto the project dashboard somewhere. In isolation, this number is barely useful. However, when combined with the average number of tickets closed per day, the system can tell me roughly how many days of work remain. When combined with the average number of new tickets created each day (or a comparison to last week, or last month) we now have insight into something much more valuable — are we keeping up, or are we drowning in tickets?&lt;/p&gt;
&lt;p&gt;This high level information feeds directly into hiring and planning for a software team. It&amp;#8217;s important, it&amp;#8217;s someone&amp;#8217;s job. Sure, they could crunch the numbers themselves if you give them the raw data, but if we focus on the customer and the information they need to do their job, it becomes clear that we should crunch those numbers for them, proving the insight instead of the raw data.&lt;/p&gt;
&lt;p&gt;Context gives data meaning and value. You can dump raw data onto the screen and pretend you&amp;#8217;re doing great work, or you can design something that truly helps your customers. This seems so obvious (it is), but take a look at the tools you use every day — there is so much room for improvement.&lt;/p&gt;</content>
    <author>
      <name>Justin French</name>
    </author>
  </entry>
  <entry>
    <id>tag:justinfrench.com,2005:Post/293</id>
    <published>2012-09-19T06:56:15Z</published>
    <updated>2012-09-19T06:56:15Z</updated>
    <link rel="alternate" type="text/html" href="http://justinfrench.com/notebook/metro-on-the-ipad"/>
    <title>Metro on the iPad</title>
    <content type="html">&lt;p&gt;&amp;#8220;Track 8&amp;#8221; by Enderlabs is an intriguing new music player alternative for iOS . Here&amp;#8217;s how they pitch it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Your music library doesn&amp;#8217;t have to look ordinary. Track 8 brings the Metro experience to your iPhone, iPod touch and iPad with an exciting music player. Browse and play your music in an immersive visual experience of album artwork and artist images.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I&amp;#8217;ve installed it on my iPhone and iPad, and my only real complaint so far is that it&amp;#8217;s a little sluggish on my old hardware. The experience is otherwise pretty great so far. The iOS and Metro (or whatever they call it now) user interface conventions are worlds apart, but I was able to adapt quickly. I have complaints and niggles, but that&amp;#8217;s true for almost all of Apple&amp;#8217;s apps as well. There were also moments of surprise and delight.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve been fascinated by the Metro UI for a long time, and this is a chance to dig far deeper than I could with a demo phone in my local store. My first real Metro experience was far more personal, positive and effective because it&amp;#8217;s my own music library, on my own device, with everything is presented to me in a new way. This is the Metro way, Microsoft&amp;#8217;s way.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;d like to think this is some covert Microsoft manoeuvre to expose millions of iOS users to the Metro UI. It should have been.&lt;/p&gt;
&lt;p&gt;Either way, it &lt;em&gt;feels&lt;/em&gt; like Enderlabs shipped Metro onto a tablet device long before Microsoft did, and that raises an interesting question:&lt;/p&gt;
&lt;p&gt;If Apple beat everyone with the complete hardware, software and content ecosystem, would this have been a better way for Microsoft  to pry open a tiny wedge in the market?&lt;/p&gt;
&lt;p&gt;What about the stuff you&amp;#8217;re working on?&lt;/p&gt;</content>
    <author>
      <name>Justin French</name>
    </author>
  </entry>
  <entry>
    <id>tag:justinfrench.com,2005:Post/292</id>
    <published>2012-03-07T02:40:14Z</published>
    <updated>2012-03-07T02:40:14Z</updated>
    <link rel="alternate" type="text/html" href="http://justinfrench.com/notebook/great-design-goes-deep"/>
    <title>Great Design Goes Deep</title>
    <content type="html">&lt;p&gt;You&amp;#8217;ve probably already seen &lt;a href="http://www.pocket-lint.com/news/44396/apple-tv-no-concern-samsung"&gt;this quote&lt;/a&gt; from Chris Moseleym (Samsung&amp;#8217;s AV Product Manager), discussing the threat of an Apple branded television:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TVs are ultimately about picture quality. Ultimately. How smart they are&amp;#8230;great, but let&amp;#8217;s face it that&amp;#8217;s a secondary consideration. The ultimate is about picture quality and there is no way that anyone, new or old, can come along this year or next year and beat us on picture quality.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is exactly what&amp;#8217;s wrong with nearly every consumer electronics company. It&amp;#8217;s why Apple&amp;#8217;s loyal customers, incredibly successful product launches and awesome profit margins are the envy of the entire industry.&lt;/p&gt;
&lt;p&gt;I purchased a new TV about five years ago, and I haven&amp;#8217;t thought about picture quality &lt;em&gt;once&lt;/em&gt; since we plugged it in. What do I think about every day? How &lt;em&gt;frustrating&lt;/em&gt; this TV is to own and use.&lt;/p&gt;
&lt;p&gt;The manufacturer won the battle on the showroom floor, but they absolutely lost the war. I don&amp;#8217;t &lt;em&gt;love&lt;/em&gt; their product, I feel no &lt;em&gt;loyalty&lt;/em&gt; to their brand, and I&amp;#8217;ll be &lt;em&gt;wary&lt;/em&gt; of their products in the future. The next showroom battle will be much more difficult for them, and it should have been easier. We want to fall in love with your products and we want to feel great about our purchases.&lt;/p&gt;
&lt;p&gt;If you can sell me one &lt;em&gt;great&lt;/em&gt; product, then you will likely sell me &lt;em&gt;many&lt;/em&gt; great products over the coming years. I&amp;#8217;ll bond with you. I&amp;#8217;ll sell your products to friends and family &lt;em&gt;for you&lt;/em&gt;. I might even do something crazy like pre-order your stuff the day you announce it, sight unseen.&lt;/p&gt;
&lt;p&gt;I don&amp;#8217;t know what a &lt;em&gt;great&lt;/em&gt; TV looks like yet, but I&amp;#8217;m certain it won&amp;#8217;t compete on picture quality or any other technical specification that seems to matter right now. The battle ground will shift from the showroom to the lounge room. Facts to emotions. A great TV will change the rules, reframe the problem and show us what&amp;#8217;s important.&lt;/p&gt;
&lt;p&gt;The solution (and indeed the problem) will be so clear and obvious in hindsight. This is great design, and it goes deep. It&amp;#8217;s been done before in nearly every market from &lt;a href="http://www.apple.com/iphone/"&gt;$650 phones&lt;/a&gt; to &lt;a href="http://basecamphq.com/"&gt;$20 project management software&lt;/a&gt;. What are you working on?&lt;/p&gt;</content>
    <author>
      <name>Justin French</name>
    </author>
  </entry>
  <entry>
    <id>tag:justinfrench.com,2005:Post/291</id>
    <published>2012-01-29T21:16:00Z</published>
    <updated>2012-01-29T22:17:04Z</updated>
    <link rel="alternate" type="text/html" href="http://justinfrench.com/notebook/a-better-iphone-mute-switch"/>
    <title>A Better iPhone Mute Switch</title>
    <content type="html">&lt;p&gt;Two weeks back, many of my favorite tech bloggers were covering the story of a &lt;a href="http://www.nytimes.com/2012/01/13/nyregion/ringing-finally-stopped-but-concertgoers-alarm-persists.html?_r=1"&gt;switched-off iPhone&amp;#8217;s alarm stopping a performance at the New York Philharmonic&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;It should be smart!&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://daringfireball.net/2012/01/iphone_mute_switch_design"&gt;John Gruber argued&lt;/a&gt; that this is an edge case &amp;#8212; while Apple&amp;#8217;s design is more complicated than simple &amp;#8220;Off&amp;#8221; and &amp;#8220;Mute&amp;#8221; switches, it&amp;#8217;s far more likely to do what the user expects in most cases:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I think the current behavior of the iPhone mute switch is correct. [&amp;#8230;] if the mute switch silenced everything, there’d be thousands of people oversleeping every single day because they went to bed the night before unaware that the phone was still in silent mode.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I mostly agree with this sentiment.&lt;/p&gt;
&lt;h3&gt;It should be dumb!&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://ihnatko.com/2012/01/14/daring-fireball-on-the-behavior-of-the-iphone-mute-switch/"&gt;Andy Ihnatko argues&lt;/a&gt; that Apple&amp;#8217;s design made it hard for the user to prevent the interruption:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;No. I should slide the switch to “Mute,” and then the phone goes &lt;span class="caps"&gt;SILENT&lt;/span&gt;. If I miss an appointment because I did that, it’s completely on me. If my phone disrupts a performance despite the fact that I took clear and deliberate action to prevent that from happening…that’s the result of sloppy design. Or arrogant design, which is harder to forgive.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My phone is almost always switched into silent mode (usually deliberately), and I rely on the alarm to wake me every day. The interesting thing here is that I &lt;em&gt;learned&lt;/em&gt; that this is how the iPhone works, and have now become accustomed to it. If &lt;em&gt;I&lt;/em&gt; interrupted this performance, I&amp;#8217;d argue that the fault was completely on me &amp;#8212; I could have ensured that there were no active alarms, or left the phone at home.&lt;/p&gt;
&lt;p&gt;In the case of the Philharmonic, this was a brand new iPhone, and the owner learned the hard way how it works. It&amp;#8217;s hard not to fault Apple here, despite Apple&amp;#8217;s overall design being much better most of the time.&lt;/p&gt;
&lt;h3&gt;Recap&lt;/h3&gt;
&lt;p&gt;Here&amp;#8217;s the requirements I&amp;#8217;m hearing so far:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;It would suck to miss an important alarm, no matter who is at fault&lt;/li&gt;
	&lt;li&gt;It would suck to be that guy, no matter who was at fault&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As &lt;a href="http://www.marco.org/2012/01/14/mute"&gt;Marco Arment succinctly points out&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The user has issued conflicting commands, and the iPhone can’t obey both.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;What about a preference?&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://hivelogic.com/articles/mute/"&gt;Dan Benjamin also argued for a dumb switch&lt;/a&gt;, but in a later update, raised the idea of a preference:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Know what would be really cool? Let users decide for themselves what the switch does. They could call it a &amp;#8220;side switch&amp;#8221; like they do on the iPad, and give us choices about what it controls.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A preference or user configuration is a pretty obvious and valid design crutch when faced with requirements that contradict each other so drastically, but in this case, I think it raises more questions:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;What would the default preference be? If it defaulted to Apple&amp;#8217;s existing behavior, the conductor was still going to get interrupted, and if it was the other way around, I would have missed quite a few important alarms by now.&lt;/li&gt;
	&lt;li&gt;As they choose their preference, would users understand the design trade-offs and spend as much time thinking about this as Apple, John, Andy, Dan, you or I have?&lt;/li&gt;
	&lt;li&gt;Would this preference still result in people being surprised and disappointed?&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;What else could we do?&lt;/h3&gt;
&lt;p&gt;I think Apple has solved &lt;em&gt;most&lt;/em&gt; of the problems already with a great design – the alarm does the right thing in the majority of use cases. At this point, with millions of iPhone customers now relying on how this stuff already works, it would be a shame to either go back to something &lt;em&gt;dumb&lt;/em&gt; or offer a preference between &lt;em&gt;smart&lt;/em&gt; and &lt;em&gt;dumb&lt;/em&gt; without first answering a simple question:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Given this new information, could we improve the experience by making the smart stuff &lt;em&gt;smarter&lt;/em&gt;, instead of &lt;em&gt;dumber&lt;/em&gt; or &lt;em&gt;configrable&lt;/em&gt;?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I think the answer is &lt;em&gt;yes&lt;/em&gt;! Let&amp;#8217;s take a look at those two opposing requirements again:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;It would suck to miss an important alarm, no matter who is at fault&lt;/li&gt;
	&lt;li&gt;It would suck to be that guy, no matter who was at fault&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;What about this: When the iPhone is in &amp;#8220;silent&amp;#8221; mode, all alarms start off with vibration only. After a minute or so, the audio gradually fades in, increasing to full volume over the course of another two minutes.&lt;/p&gt;
&lt;p&gt;Most mornings, I think the vibration of my iPhone alone would be enough to wake me. If not, I&amp;#8217;d much prefer I wake up a few minutes later than completely miss the alarm because of a dumb switch (or a dumb user!). I think this satisfies this first requirement just fine.&lt;/p&gt;
&lt;p&gt;For the second requirement, &lt;em&gt;that guy&lt;/em&gt; would have had 60 seconds of silent vibration in his pocket to realise something&amp;#8217;s going on, and another 60–120 seconds before the alarm was at full volume. Not as perfect as a &lt;em&gt;dumb&lt;/em&gt; switch, but a significant improvement.&lt;/p&gt;
&lt;p&gt;Maybe I&amp;#8217;ve missed something, maybe it&amp;#8217;s already been mentioned elsewhere, maybe it&amp;#8217;s already built and tested by Apple, but this sure is an interesting design problem I enjoyed thinking though over the weekend!&lt;/p&gt;</content>
    <author>
      <name>Justin French</name>
    </author>
  </entry>
</feed>