14 April 2007

Blogger 2.0

Some people are getting re-posts of my older blog posts. As far as I can tell, this has started since I moved to the new version of Blogger. When I upgraded this blog to Blogger 2.0, I gained the ability to tag or label my posts. Very cool. I also lost my formatting in all 240 of my older posts. Not very cool. As a result, I'm going through my older posts one by one to manually fix the formatting and add tags/labels to the content. If I modify any one of my posts, either textually or by adding a tag or label, Blogger sees this as an update, and treats this old post, as a new one. I don't know how to get around this. Further, not everyone sees this behavior.

Bottom line: As I work through fixing up my older posts, you might get a re-post of old content. I'm not trying to spam you with re-posts, just trying to clean up my blog. I guess, with Blogger the adage, "You get what you pay for," applies. Maybe in the future I'll consider moving to MoveableType or something like that, but right now, that's not in the cards. Thanks for being patient.

12 April 2007

Apple Slips Leopard to Oct 2007

From Apple's Hot News web page:

Apple Statement
iPhone has already passed several of its required certification tests and is on schedule to ship in late June as planned. We can’t wait until customers get their hands (and fingers) on it and experience what a revolutionary and magical product it is. However, iPhone contains the most sophisticated software ever shipped on a mobile device, and finishing it on time has not come without a price — we had to borrow some key software engineering and QA resources from our Mac OS X team, and as a result we will not be able to release Leopard at our Worldwide Developers Conference in early June as planned. While Leopard's features will be complete by then, we cannot deliver the quality release that we and our customers expect from us. We now plan to show our developers a near final version of Leopard at the conference, give them a beta copy to take home so they can do their final testing, and ship Leopard in October. We think it will be well worth the wait. Life often presents tradeoffs, and in this case we're sure we've made the right ones. [Apr 12, 2007]

This is interesting. Apple, like many companies often slip their release dates. Historically, however, Apple has only slipped a little on ship dates, but this slip, from Spring 2007 to October 2007, is the largest slip I remember. It's very uncharacteristic of the rhythm of shipping Apple has had over the last 5 years.

Leopard is certainly Apple's most ambitious OS release yet, so it stands to reason that they could have bit off more than they could handle. I'm sure this was further compounded by the additional resources needed for both the Apple TV and the iPhone. I also wonder what the "secret features" are that Jobs referred to in his last keynote. Some have suggested that this slip was to add unplanned functionality, but I don't get that sense. I tend to believe that this is just what it's stated to be, a resource issue.

There are 3 variables you can change when managing a project: scope (how big it is), resources (how much money and people you can allocate) and time (how long the project will take). It looks like Apple reduced their allocated resources for Leopard, and without a corresponding reduction in scope, they were forced to increase the time the project would take. I'm sure this is super painful for them, it always is, but not long from now, they'll ship and this will all be a distant memory. Personally, I'm glad I don't have to put up with all the rumor sites constantly suggesting that Leopard is just about to RTM. ;-)

Update: Best quote from our chit chat around the office here: "Woah. October? :( Stupid iPhone. I want my Time Machine."

Credibility

I was just skimming through the Windows Vista User Experience Guidelines and while in the Design Principles section I came upon this title, and I just had to laugh:

There is a point where marketing ceases to be marketing and becomes information; relevant, valuable information. There's also a point where something, truly informational becomes marketing. Branding folks like to say that any interaction with your product defines your brand. Whether you are working on marketing or strictly informational stuff, it's important to pause and ask yourself, "What does this say about me?" Sometimes, it's that simple human question that's enough to help you know when you need to work a little harder to remove a subtitle.

11 April 2007

Hardware and Software

John Gruber writing on Apple's choice of AAC as the DRM-free format sold on iTunes, makes this interesting comparison:

Apple’s use of AAC in lieu of MP3 is analogous to the Mac’s switch to USB in 1998. USB was an industry standard that wasn’t taking off because PCs didn’t ship with built-in USB ports, which PC makers didn’t include because there weren’t many USB peripherals on the market, which peripheral makers didn’t want to build because there weren’t enough PCs shipping with USB ports.

Then came the iMac, whose only peripheral port was USB. (It didn’t even have FireWire.) All of a sudden peripheral makers had a reason to make USB gadgetry, and after that, PC makers had a reason to include USB ports on new PCs.

Hardware and software are the Yin and Yang of the tech industry. Some argue that one is more valuable than the other, but you can't separate them. You need both. Apple is one of the few companies in the position to capitalize on this reality. From a human computer interaction (HCI) standpoint, if we are going to move forward the interaction, this necessitates hardware advances. And who is in the best position to push forward hardware advances that are included by default? Apple.

The newest and perhaps most interesting HCI advances recently have been the result of great software and great hardware, together. The Tivo, Microsoft's XBox and XBox Live, Nintendo's Wii and Apple's iPhone and Apple TV are perfect examples of what amazing things can happen when great hardware design meets with great software interfaces. Additionally, from a purely experiential perspective, people feel better about laying down large quantities of cash for something physical rather than something that's purely intellectual property, as much as I personally value the later.

Fundamentally, where should you look for human computer interaction innovation? You should look to the people who can move forward the whole stack, and can integrate it fully, seamlessly. In the realm of personal computers, that leaves only one company: Apple.

05 April 2007

Great by Default

The Future Parc at the Cebit trade fair in Hanover, Germany is a place to showcase future technologies. I didn't go, but two of the products I read about caught my imagination and got me thinking. Here they are:

Tobii Technology's eye tracking system

It's one thing to use multi-touch to move things about on the screen, but it's quite another to simply look at something, and have the computer recognize where you are looking and move your pointer there. A blink or a tap on the keyboard and you've clicked. I'd love this technology simply to review how folks use software. It's hard to tell, but it doesn't look like the "device" is that intrusive for installation in regular computer displays. In fact, Tobii even sells eye tracking hardware to OEMs that can, "provide eye gaze point, eye/head position and pupil size data. ... There are no external cameras or lightning units. ... The user does not need to "do" or "wear" anything and can move freely. Tracking is fully automatic and high accuracy can be relied on regardless of glasses, contacts, eye colour, age, ethnic background or light conditions."

The Fraunhofer Institute's Face Finder

The Face Finder is a system that can find faces, human faces even in low lighting conditions and then recognize if the face is angry, happy, neutral, sad or surprised. Of course they say this could be used for targeting advertising (an original business plan, I know...) but I think there's potentially a broader application in terms of simply recognizing when it's appropriate to "interrupt" a user. In my opinion, computers should keep things quiet when we are "in the groove" in order to maximize our effectiveness. This kind of technology seems a great fit for answering the, "Is it okay to notify the user event x just occurred?"

Both of these inventions require a computer with a video camera or some sort of hardware video device. I don't know if you could build an eye tracking system with only one iSight video camera, or even if the video camera installed on my MacBook is sufficient quality for something like Face Finder, but every new Mac that ships with a built in video camera makes for more fertile soil in which innovations, just like these can sprout, grow and even take root.

One of the things I've always loved about Apple hardware is that you can't order a "stripped down" version of any Mac. How long has Apple included FireWire standard with every Mac? More recently the Apple remote is "default equipment" with any Mac and a built in video camera comes with any Mac that includes a screen. By keeping the "lowest common denominator" experience so feature rich, Apple is able to create experiences that simply start at a higher level. Both Apple and their developers can assume a certain quality of system that Windows developers fundamentally can't depend upon. In my opinion, this is one of the reasons it's always so exciting to be a developer on the Mac platform.

It's never too late to start! :-)

04 April 2007

Google Desktop vs. Spotlight

Over at The Unofficial Apple Weblog, Scott McNulty has a review of Google Desktop for the Mac version 1.0. If QuickSilver were not enough, may this provide Apple the substantive reason to improve the speed and responsiveness of Spotlight. Please.

03 April 2007

Classic Apple

When Apple announced the iPhone, I signed up for "more information" and gave them my email address. Today they sent me this:

On so many levels this is classic Apple.

Update 1: The graphic I uploaded from the email I got from Apple has misteriously disappeard. I'm guessing it's some copyright issue, but I recieved no notice from Apple or Google, just that the graphic was gone. Interesting.

Update 2: Looks like I'm too paranoid, the picture is back. Must have been just another blogger bug.

02 April 2007

Apple: Confidence vs. Protectionism

Today Apple announced that all songs from EMI will be available free of DRM (digital rights management) limitations. In the past it was like this for EMI music on iTunes:

  • $0.99/song
  • $10.00/album
  • AAC at 128 kbps
  • All music with DRM (only playable on 5 computers, can't burn in same playlist over 7 times, only playable by Apple applications or devices)

    Starting in May 2007, all EMI music will also be available as follows:

  • $1.29/song
  • $10.00/album
  • AAC at 256 kbps
  • No DRM

    This affects not only music but music videos. From the press release:

    iTunes will also offer customers a simple, one-click option to easily upgrade their entire library of all previously purchased EMI content to the higher quality DRM-free format for 30 cents a song. All EMI music videos will also be available in DRM-free format with no change in price.

    Famous business man, Warren Buffett once said: “In business, I look for economic castles protected by unbreachable ‘moats’.”

    "In days of old, a castle was protected by the moat that circled it. The wider the moat, the more easily a castle could be defended, as a wide moat made it very difficult for enemies to approach. A narrow moat did not offer much protection and allowed enemies easy access to the castle. To Buffett, the castle is the business and the moat is the competitive advantage the company has. He wants his managers to continually increase the size of the moats around their castles.

    When looking to purchase a business, Buffett pays careful attention to a business he understands not just in terms of what the business does but also of “what the economics of the industry will be 10 years down the road, and who will be making the money at that point.” He is “also looking for enduring competitive advantages.” This, in a nutshell, is what makes a company great: the width of the moat around the company’s core business."

    Apple has decided that the enormous moat it has in DRM is not as valuable as making customers feel unlimited by their technology. This is like Apple sending forth from its impenetrable castle and scheduling a battle, say next month on the open valley, Apple against everyone, all sportsmanship like. This kind of courage and confidence is something unique indeed. So what of Buffet's moats and competitive advantage analysis? I think it still holds, it's just that Apple's sustainable competitive advantage is their deep trust in the inherent value of their products and the experiences they provide. Almost no one has that these days.

  • 23 March 2007

    General Tug

    I recently listened to speech given by Lance B. Wickman which he titled Seasons. In this speech he recounts a remarkable story from his life.


    When I graduated from college, I was commissioned an officer in the United States Army. I was an infantryman. After completing some training, in early 1965 I was assigned-with my bride of a few months-to an infantry battalion of the 25th U.S. Infantry Division at Schofield Barracks, Hawaii. My wife and I were thrilled with this assignment and looked forward to three years of life amidst the sun and the surf and the wonderful people of Hawaii. We rented a little duplex right on the beach on the North Shore of Oahu. You could step out of our back door onto the sand; it was literally like something out of a movie.

    In October of that year, our battalion received a new commander, Lt. Col. Thomas U. Greer-“Tug” Greer, as his peers called him. Tug Greer was a graduate of the United States Military Academy at West Point, Class of 1951. In 1951, the Korean War was raging. Most of the West Point class that year was assigned immediately to the combat zone. Many of Tug Greer’s classmates died on the rugged slopes of that land. But Tug had survived and remained in the army. And now, 14 years later, he was assigned to command our battalion.

    No sooner did he assume command, than Col. Greer took the battalion on a week-long training exercise in the rugged Kahuku Mountains of northern Oahu. For those of you who have not been to Hawaii, let me describe these mountains. They are steep slopes of volcanic rock with little topsoil and covered with thick, green vegetation. For five days, we struggled up and down those slopes in one infantry maneuver after another. Finally, it was Saturday morning, the last day of the exercise. All of us looked forward to returning early to our battalion headquarters, turning in our equipment and hitting the beach. After all, we were young, and what was the point of being stationed in Hawaii if you could not go to the beach! I remember gazing down early that morning from my perch on the side of one of those mountains at the shimmering sand and sparkling ocean. I could hardly wait!

    About that time, Col. Greer came to our rifle company’s position. To our company commander, Capt. Jim Andrus, he said, “As the last exercise of this training, I would like Charlie Company (that was us-“C” Company) to establish defensive positions. Now, among other things establishing defensive positions meant digging foxholes. You know what a foxhole is. It is a hole in the ground where a soldier can seek shelter from enemy fire. But this was volcanic rock! And we were only equipped with those little folding shovels (which the army calls “entrenching tools”)! So, as Capt. Andrus gathered us platoon leaders around to give us the orders for establishing defensive positions, he said, “Since we want to get this over with quickly, we won’t actually dig foxholes. Instead, we will simply do “simulated foxholes”-we will just mark out on the ground where we would put the foxholes.”

    So, that is what we did. A little while later, Col. Greer came around to inspect our “defensive positions”. I remember it like it was yesterday! As he came to the first of these “simulated foxholes”, he asked Capt. Andrus, “What are those?” Clearing his throat a little nervously, Capt. Andrus responded, “Well, sir, those are simulated foxholes.” “Simulated foxholes!” roared Col. Greer. “I ordered this company to prepare defensive positions, and that means digging foxholes! This company is going to stay out here and dig until it learns how to dig foxholes that look like the came out of the training manual!” And so, as the rest of the battalion packed up weapons and equipment and headed back to the base and an afternoon at the beach, Charlie Company remained out on that hillside. And we dug, and we dug, and we dug. Col. Greer’s name was on every one’s lips that afternoon, and I can tell you that he was not winning any popularity contests that day! But by evening, we had foxholes that really looked just like they came out of the training manual.

    But, you see, there was something that we did not know that beautiful Hawaiian Saturday. When Col. Greer had been given his orders assigning him as our battalion commander, he had also received some other orders that he could not share with us-top secret orders-sending our battalion to Vietnam. We did not know it at the time, but this would be our last training exercise. And Col. Greer, with his vivid memories of his fallen classmates on the rugged hillsides of Korea was determined to do all that he could to save the lives of those men entrusted to his care. In a manner of speaking, Hawaii was the “season” for learning those skills that would save our lives. Vietnam would be too late.

    What happened next I did not personally observe, arriving in Vietnam a few days after the rest of the battalion; but it was reported to me by my comrades-in-arms. They reached the spot in the division’s defensive perimeter assigned to our battalion late in an afternoon. Col. Greer’s order went out: Establish defensive positions. Our men dug in because that is what you did in Tug Greer’s battalion. Another battalion next to ours, arriving at the same time, only scooped out some shallow cavities in the ground-not unlike our Hawaiian “simulated foxholes”-planning to dig real foxholes the next day. But that night, the Viet Cong enemy launched a ferocious mortar barrage into the green troops. Our men were safe and secure in their foxholes; but the men of that neighboring battalion were not so fortunate. I am told that the next morning Tug Greer’s name was again on everyone’s lips-but this time with reverence and respect. I still regard him as one of the great men I have known. From him I learned one of life’s most powerful lessons: There is indeed a “time for every purpose under heaven”-even a time to learn to dig foxholes.


    There are probably several lessons one could learn from this story. The questions that come to my mind are these: Who are those people in the software industry that might be like General Tug? Who are the people that have "been there, done that"? Who are the folks that can point to what really matters? Where are the sages of the software industry? Where are the mentors who are renowned for having wisdom that comes with age and experience? Am I the only person that has been caught in the illusion that what we are doing today is new and special? Maybe what makes the software industry so dynamic is not the remarkable speed of new developments, but the remarkable speed at which we forget.

    22 March 2007

    Porting to the Mac...

    One of my favorite bloggers, Scott Stevenson, recently wrote about a subject near and dear to my heart, namely, some Simple Truths About Cross-Platform Apps. Scott makes some great points:

    Mac users bought the computer they did because they found the experience more appealing. Bringing an application across from Windows with minor tweaks simply won't resonate with this sort of user. ... Maybe the most important thing you will ever need to know about Mac development is this: Mac users will generally favor an app with a better experience over the one with more features.

    The whole "write once, run anywhere" idea comes from and resonates with managers and engineers who are out of touch with their customers. Fundamentally, you need to decide who you are trying to help. If you are trying to help, say, Mac users be more productive and on their platform of choice, while still interoperate with the rest of the world, then that dictates certain realities. If you are expanding to the Mac platform simply to "increase your market coverage" then you might not have the right mindset needed to build something Mac users will like.

    Not everyone gets this, and that's okay, the market has a way of helping folks that don't get it. I remember back when we were working on Office X, right as Apple was moving to Mac OS X. We spent some serious time and money to study and really tangibly understand who these "Mac users" were. The results were amazing and strongly pointed out how different the Mac customer was compared to the Windows customer. That has not changed. I don't think it's elitist or smug to say that Mac users value different things compared to Windows users. It's a fact. So, if you are going to try to sell software to both the Mac users and the Windows users, before you start, you better understand the differences.

    21 March 2007

    How to Talk to People

    Don Norman has published a wonderful excerpt from his next book "The Design of Future Things" set to publish in October 2007. The excerpt is purportedly a research missive from future machines to other machines on how to deal with people. Certainly some of us lowly humans can relate to the difficulties of communicating effectively with other human beings. (We could also probably say some things about what it's like to communicate with modern-day machines.) What follows are some choice quotes from the article.


    It isn't easy to communicate with them; people take suggestions as criticism and get defensive, and sometimes angry. They misinterpret our utterances, ignore us, or overreact. Sometimes we just can't win.

    Five Rules of Communication From Machines to People

    1. Keep things simple.
    2. Always give people a conceptual model.
    3. Give reasons.
    4. Continually Reassure.
    5. Offer a feeling of control.

    People have difficulty with anything complicated, and they don't like to listen. So make the message short. In fact, it's better not to use language at all--it takes too long and, besides, human languages is horribly ambiguous.

    The best kind of communication is done subconsciously, so people don't have to interrupt their conscious thoughts to attend to them. Thus even for the most befuddled minds, we need to communicate so that the meaning is clear.

    Give them something their simple minds can understand. A conceptual model is a fiction, but a useful one as it makes them think they understand.

    In short, people like pictures and diagrams.

    Our early 21st Century Cars had almost given up trying to explain to people that they should drive more slowly on wet roads. But then we discovered that if we made it seem as if they were in trouble by faking skids and sliding around on the road, people would beg us to slow down. Sliding and skidding fit their model of danger far better than any words could have done. So wherever possible, don't try to tell them--let them experience it.

    But the bottom line is, if people haven't seen anything happening for a while, they get anxious, even jumpy. And no one wants to deal with an anxious person.

    [Make] them feel as if they are in control, even when they aren't. Keep up that deception--it's very useful. People like to be in control, even if they are performing a task really poorly.

    Any time you have to make recommendations, make people think the ideas are theirs. If you really have to do something fast, just don't let them know: What they don't know, doesn't bother them.


    There's some wisdom hidden in these quotes. Check out the whole thing, it's a fun read.

    Update: Originally, I had some snarky, toung-in-cheek comments about each of these suggestions, but it just didn't come off like I wanted it and obscured too much of the real value in Dr. Norman's suggestions, so I've removed them.

    17 March 2007

    Full Radio Silence on the Mac

    I was just listening to the most recent Security Now Podcast episode 83 wherein Steve Gibson goes to pains to describe what it takes on Windows to turn off your wireless hardware. Here's an excerpt from the transcript:

    STEVE: Believe or not, yes. We’ve basically snuck in an entire show on maintaining full radio silence on Windows WiFi.

    LEO: Well, it started when we were talking about this Free Public Wi-Fi that pops up on Windows from time to time, and what it was, and how now Microsoft has offered a fix but never told anybody about it, and you have to explicitly download it. That’s what we talked about last week. And if you didn’t hear last week’s episode, you should absolutely download that update.

    STEVE: Right. So that was our second mention. Then the week before, Episode 81, we talked about – we actually showed the dialogues required to turn off the functionality, just sort of this promiscuous connect-to-anything-that-I-hear, and also this idea of broadcasting the names of any networks you had connected to before, which by default Windows tries to do. It turns out that it’s trying to do that still, even after you’ve got the update, because Microsoft added a checkbox to one of the configuration dialogues which is checked by default, and you have to go turn it off. So here in our fourth serialized How to Get Wi-Fi Just to Shut Up, we have additional instructions. People can, if they go to the show notes for this Episode 83, I’ve got a link back to the new and enhanced instructions that are over now on Episode 81’s notes. So Episode 81’s show notes are enhanced with this additional information, and this episode links back to those.

    LEO: So this is if you installed the patch that Microsoft offered in November to fix wireless zero config, it’s still promiscuous unless you uncheck this box.

    STEVE: Yes. There’s a box which enables it to connect to networks which are not broadcasting. And so if the networks are not broadcasting, then your computer does. And it’s just like, okay...

    LEO: Is this ad hoc only? Or is it infrastructure networks, as well?

    STEVE: It’s both. And so anyway, the idea is – in fact, I realized, okay, I started using the term “maintaining full radio silence.”

    LEO: Yeah, that’s a good way to talk about it, yeah.

    STEVE: As the famous jargon. And that’s what we want. We want to be able to carry a laptop around. If we forget to disable our Wi-Fi, we don’t want it sending out stuff of any sort. We want full radio silence. And so it turns out that following the instructions that are now on the show notes for 81, with the update which we talked about in 82, which we’re all pulling together now in 83, when we first opened the topic in 80, we basically snuck in a whole Security Now! episode on maintaining full radio silence."

    Here's a link instructions to the instructions from Security Now:

    For details on "Maintaining Full Radio Silence" from Windows WiFi systems, please see the updated show notes for episode #81. They assume (and require) that the system has been updated with the Wireless Client Update for XP as described in episode #82 and notes.

    If it's not clear, the step by step instructions for how to turn off WiFi are located at http://www.grc.com/sn/notes-081.htm

    Because Steve didn't mention how to do this on the Mac, I think I'll take the liberty of providing a comprehensive guide complete with pictures, so you can follow along. This guide applies to at least the last 3 versions of Mac OS X. Here goes:

    Step 1: Click the Airport Menu

    Step 2: Select Turn AirPort Off

    Steve was talking mostly about WiFi radio emissions, but since most Macs have Bluetooth these days, I thought I'd go a step further and document how to turn off Bluetooth radio emissions as well.

    Step 1: Click the Bluetooth Menu

    Step 2: Select Turn Bluetooth Off

    In conclusion, if you are ever responsible for designing the "turn it off" use case, please consider the above mentioned comparison before completing your design.

    Update 1: As a companion article, Joel Spolsky talks about the trials of turning off Windows Vista.

    Update 2: It looks like I misunderstood what Steve was talking about. He wasn't talking about how to turn off WiFi, but how to keep the Windows WiFi system from broadcasting data about which networks you've connected to in the past. Does the Mac OS do this? I don't know.

    14 March 2007

    The Cool Kids

    Everyone has their own favorite language. Steve Rowe just pointed me to this funny my-language-is-better-than-yours graph. I found it really funny. I think Objective-C is just above C++ but below C. Where are you? ;-)

    13 March 2007

    MacBU MVPs

    Have you ever wondered what a Microsoft MVP was? Have you considered the performance implications of getting a Wii for your work force? Have you sat at night wishing you could just find a newsgroup to monitor? Have you wished you could have some tangible impact on the next version of Mac Office? If you answered yes to any of these questions, this post is for you!

    12 March 2007

    Losing the Idea

    Frank Shaw (who incidentally has one of the coolest named blogs ever) has a great post about how our impatience can get in the way of seeing the value of things. This is one of the reasons I'm in favor of people and processes that allow for ideas to interact. It's such a great post, I'm going to quote the whole thing here:

    Here’s the question: What is more important, the idea, or the instantiation of the idea? Based on what I’ve been seeing/reading over the past year, it feels like we’re all losing the idea.

    For example. Second Life – not that interesting. Not very many people, not great UI, business model challenges. Tons of hype – TONS of hype. And when SL vanishes, people will sniff and say, told you so. BUT. The idea – the idea behind SL, of a real platform for a virtual world, for robust commerce, ease of interaction, that’s interesting. It’s an idea worth pushing for, a dream worth having. Maybe the dreamers at Linden Labs will pull it off and make it real for everyone, but right now, we’ve missed the idea because of the focus on the example.

    Or look at Wikipedia. Again, people are focused totally on the example, and not on the idea (Jimbo, I think, has the idea well in hand). Warts and all, Wikipedia has captured attention and created controversy. But by becoming the de facto example for all things wiki, it makes it easy for people (self included) to scoff and poke and mock when things don’t go well. If Wikipedia fades into the oblivion, people will say, well the idea was flawed. NO. The idea – harnessing the real wisdom of the crowds – remains as a beacon. When we focus too much on the company in front of us, we lose the idea.

    There are tons of other examples – Digg, YouTube, Google. Each of these represents an “it” company of the moment, but behind each of them is an idea worth considering, regardless of the success or failure of the companies currently playing the lead role of the idea.

    Why is it so damaging to lose the idea in the face of its current incarnation? Because some ideas take multiple instantiations to succeed, and if we summarily disregard the idea because of a flawed example, we run the risk of missing a huge opportunity.

    As my dad always said, patience is a virtue. We’d all do well to be a bit more patient, and a bit more perceptive in our ability to applaud an idea and laugh at the current example.

    This is why from an external perspective (investors, business managers), you need patience and internally (the people actually doing the work) you must have a steadfast determination to persist. Point me to anything that you might call innovation, and I'll point you to a version 2.0+ of an originally underdeveloped even laughable idea.

    What's also interesting is that this is coming from a public relations guy! When you introduce something new, you almost always need to define it in terms of the past, in terms people already understand. (This is what makes things intuitive: they are like things you've experienced before, that you already understand.) Since folks, from CEOs to customers, are normally impatient, you need to use short words, quick explanations, simple concepts to promote a clear message, even if what's going on is much more interesting and subtle and even complex. This then, often has the very effect Frank is chafing against: It obscures the core idea while amplifying the current instantiation.

    When considering a new idea, most normal people will have a "failure of imagination" that doesn't allow them to distill past the current implementation and see hidden therein a foundation for a future master work. If you find someone that can discern the core value of things and has the patience and courage to persist, hang on, because there's more than likely an explosive future just around the corner.

    26 February 2007

    On Infrastructure

    The following quote is from a long article on Toyota in the New York Times:

    Improving efficiency in the factory, though, doesn’t necessarily lead to greater profits. Savings on the assembly line can mean a nicer dashboard without making the customer pay more for it. “If you’re efficient in the things the customer doesn’t see, then you can put it into the things the customer does see,” Ron Harbour, a consultant whose company rates the efficiency of auto plants, told me. A result is a car more popular with customers. Success on the assembly line, in this way, begets success in the showroom.

    For me, this best describes the business case for choosing Cocoa as your application framework for Mac applications. This is not to say that you can't write terrible Cocoa applications. You can, to be sure, but in general the APIs, the design patterns, even the style of the code subtly try to keep you from rebuilding things that have already been built. Many of the programming idioms try to get out of your way and "do the boring stuff" so that you can spend time adding value that the customer actually sees.

    If you are always spending time working on the guts of your application, especially the parts that the user doesn't directly interact with, there's often little perceived value in the work you are doing. If you are all of the time "platform building", it's easy to loose sight for what the platform is being built to support. Don't get me wrong, I'm a big fan of infrastructure work, I've spent most of my professional career doing it. However, it's absolutely critical to see the connection from the work you do to the customer value. This is why a good user interface is so important. This is why a good application programming interface is so important.

    On the other hand, if you are working with people that watch out for the schedule and bottom line and you propose an infrastructure improvement, immediately you will, or should be, accosted with pointed questions about cost, time and customer value. All of these are very good things to discuss, but when you do discuss them, you must not forget the long term impact of the work you do. If you're only going to be there for one version of the software, then maybe the near term results are all you care about. There are as many shortsighted programmers as clueless business men, but I think the real answer is that working on improving the guts, the engine, the non-visible, un-photoshopable parts of your application are the long term the "critical path features" that will allow for money and time to be spent on the high customer impact features of version n+1.

    Toyota’s executives recognized early on that improving the process by which cars are designed and built is just as important as improving the vehicles themselves.

    You've got to have both, but if you only ever focus on what the user sees (and this is easy to do!) eventually, your application will collapse under its own weight. What I'm trying to discribe might be the best business case for the model-view-controller design pattern. How does this apply to Cocoa? Sure, you can build an app using the model-view-controller design pattern without Cocoa, it's just that with Cocoa, you just fall into doing the right thing long term, even if you don't quite know why.

    22 February 2007

    Welcome to 2013

    Every once in a while me and some of my buddies will get together for lunch to prognosticate and pontificate. The "rules of engagement" are that you argue the future of technology with the assured confidence of Steve Jobs, while still being nice. ;-) Today, you won't get the laughs, the jeers, the oohs and aahs or even the subtle interplay of the multiple ideas and feelings as we sit around the table and guess about the future, but you will get part of my view of things and you'll just have to imagine the rest. So with that preamble, let me start with what the world looks like in 2013:

    To begin with everyone has at least one, but most have two, 30" displays at work that support multi-touch and have embedded hi-res cameras. Screens haven't grown much taller, but they will have grown wider. People carry around their iPhone on which resides all their digital assets. They walk up to a workstation and "plug in" to run all their customized programs and data coming off their phone. Laptops still dominate, because, well, they have a keyboard and mouse that work, but they are the peripherals of the phone, the iPod, the communication device, not the other way around.

    The user experience isn't just about being pretty and functional anymore, it's about making the work you do fun, in a very game-like almost surreal kind of way. Of course it's efficient, because it's fun to be successful at what you do! But it's not just about being efficient anymore, it's about being beautifully efficient and deeply effective.

    In this world of 2013, all desktop applications, as we know them, continuously bounce back and forth between two states: fully online, and partially offline. While all the user's data is stored on their local device (read their iPhone), they know that when in range of any wireless signal, their data is being securely and automatically backed-up and kept in sync up with all their other peer devices. Normally this is the cloud for down-level, but always accessible access, their home and work computers, their entertainment center and car and of course their iPhones. Yes, most people will have one "work horse" iPhone and another smaller, lighter, "more invisible" if you will, model.

    Documents are far from dead in this environment, but they are more dynamic, they are less the end, but the vehicle for the process of learning and discussion. The standard way to transmit rich but static read/only documents will continue to be PDF. Word processing will move to be more about design and layout than about text macros, spell checking and print out. PowerPoint presentations become less about bullet points and more about data visualization. Excel workbooks finally take on embedded SQL back-end for deep data-sets. This simultaneously thrills regular users who always knew Excel was a database, while frustrating DB admins worldwide. Excel "views" on to any data set auto syncs back up to and around with other people and servers. PowerPoint presentations include Bonjour enabled real time text chats on the presentation's "side screen" if enabled for the presentation. The typical method for connecting to a HD presentation display is simply connecting your phone to the projector and driving the phone with the button on your phone's headset over a secure wireless connection. Your headset will also record your presentation for later automatic transcriptions or playback.

    Email and News isn't so much about "getting to done" and reading all the email and news coming your way. It's much more about training your "inbox aggregator" to sense the signal in the noise. Which people and sources consistently produce high signal work will be the basic factor. Your work will be to both broadcast so that people will want to subscribe to your data-out-stream, but also aggregate the common themes coming in. Spark-like, the software will identify the new, the novel and out of the ordinary. Analysis of your reading, response times, collaboration habits, phone calls, even tracking your focus on the screens will help the system to make connections and inferences and your projects and priorities will there by emerge. The complex patterns over time will create a data set that you can both tag with good and bad behaviors which the system can use to help you do more "good things" and fewer "bad things." When the system senses you are "in the zone" phone calls, IMs, even background applications fade from view allowing your to focus and really think and really produce. This kind of pattern analysis will be done both locally as well as in the cloud. The system learning will happen in both places.

    Help systems will be much more user developed, driven and updated with a few mavens driving the core content. Person to person personalized help will emerge: This is where you can call someone and get a personal response in your own language, from the same support person you have grown to like, within 24 hours. The help system extends beyond just using an application, becoming more like a workflow analyst and personal coach. Help systems well done become a modest profit center for those few companies who figure out how to serve personally, not just quickly. This premium help service becomes something people love to pay for, because of the way it helps them directly improve their day to day work. Think of it as life hacks, evolved and distributed.

    Software updates and personalization of software on the fly will mimic and then surpass the current web based model. Users will be able to log feature requests directly in the applications they use. Developers will be able to respond in aggregate or individually. Web apps will support roll forward upgrades, while desktop applications will support seamless roll forward upgrades and roll back downgrades. The roll back ease will allow for people to bravely try out new features in newer versions without the risks of all our nothing upgrade decisions. When a bug or feature they requested is fixed or something similar added to a new version of the application of which they don't have, they will be notified. Think of it like out of band email feedback and support, or like FogBugz stuffed into each application you own.

    Video conferencing will be available most places and no one will use it except for one to many lecture style communication. What they will use is screen sharing, document sharing and white board sharing while high quality audio, text and data sharing collaboration will be the norm. Conversations will naturally move from audio, to audio and text chat, to screen sharing, to document editing to white board sketching and back to basic text all with the effort of adding a new party to a conference call on the iPhone. Even with all this communication technology, person to person visits will remain he most effective form of collaboration. As such, most systems will tend to lead you from lower communication models to higher communication models, given your particular context.

    User interfaces will provide greater affordances for the human user. Not just skins and layout changes, but reading text summaries into audio files to be processed and listened to while moving from place to place. Reminders to get up and stretch, take a break. Zooming in and especially zooming out spatially will help people not only to read better as they age, but to step back and gather greater context, then focus in on the most important information or task. Audio will be used slightly more to provide feedback, but displays that can "thump" or provide force feedback when touched will also allow for better interactions. Where today we use "if statements" then we will use Bayesian probability in making our decisions.

    The most important aspect of software design will be the answer to this question: How can we optimize this experience such that the things humans are good at are made easy, fun and amplified, while the things humans are generally poor at are made automatic, simple, out of the way, multi-tasked, yet controllable, abstractly knowable and understandable.

    In this world, technology will not be the enabler or even the competitive advantage. In 2013, technology will be the raw material upon which and out of, much of life's daily work and play will be built. In 2013, people will have gotten over technology, less will be the worship of technology as some magic cure all, more the understanding of technology like a bicycle for the mind, the heart, and even the soul. And so here's to a softer time. A time when the real world, not these virtual intellectual properties, but the actual world around us takes preeminence once more.

    21 February 2007

    The Screenshots

    As promised and thanks to a brave soul, here are the Easter Egg screenshots. Without the animation, it's hard to get a feeling for scrolling credits etc., but here goes. First Office 98, then 2 Office 2001 screenshots.

    08 February 2007

    An Easter Egg

    From Wikipedia:

    A virtual Easter egg is a hidden message or feature in an object such as a movie, book, CD, DVD, computer program, or video game. The term draws a parallel with the custom of the Easter egg hunt observed in many western nations. In computer programming, the underlying motivation is probably to put an individual, almost artistic touch on an intellectual product which is by its nature standardized and functional.

    [...]

    Because of the increase in malware, many companies and government offices forbid the use of software containing Easter eggs for security reasons. With the rise of cybercrime and the prevalence of the Easter egg's cousin, the logic bomb, there is now concern that if the programmer could slip in undocumented code, then the software cannot be trusted. This is of particular concern in offices where personal or confidential information is stored, making it sensitive to theft and ransom. For this reason, many developers have stopped the practice of adding Easter eggs to their software. Microsoft, who has in the past created some of the largest and most elaborate Easter eggs such as the ones in Microsoft Office, no longer allows Easter eggs as part of their Trustworthy Computing initiative.

    That pretty much sums it up. In a quieter time, there were Easter eggs. Alas, that time has left, never to return. However, digging through some old notes of mine, I found something fun, so today I'll to do my part to preserve some Mac history. The following are the instructions needed to trigger an Easter egg in Mac Office 98 that, as far as I know is Mac specific and no where recorded online. I'm not going to tell you what it does, but if someone has an old copy of Mac Office 98 around, does this and sends me a screenshot, I'll post it. :)

    The steps are pretty involved:

    1. Set System date to > Feb. 15
    2. Boot any Office application
    3. Make sure the Assistant is up
    4. Grab the Standard toolbar by the drag handle and do the following without letting go:
      • grab to the center so it is floating
      • grab it back to the top dock area
      • grab to the center so it is floating
      • grab it to the left dock area
      • grab to the center so it is floating
      • grab it to the bottom dock area
      • grab to the center so it is floating
      • grab it to the right dock area
      • grab to the center so it is floating
      • grab it to the top dock area and drop it
    5. Click the Assistant
    6. Type “Think Different”? Think Grammar!
    7. (including all punctuation and spaces, exactly as you see it above)
    8. Click Search

    Enjoy.

    07 February 2007

    Post-It Pixel Art

    As a birthday present to MacBU Joe LeBlanc, Jessica Lambert and Matt Elggren (aka Mel) arrived at our building at 6 AM yesterday morning and setup this surprise for us! I think it's super cool. More details at our Mac Mojo blog. Enjoy!