A co-worker of mine told me of an ongoing contest at my office: a contest centered on me. The winner would be the person who could get me to say “Hello” to one of them. Someone would see me go for some coffee or popcorn, and they’d queue up to go into the break room and try to talk to me.

It wasn’t that I was intentionally unfriendly… I was just… focused. This was back when I was coding every minute of every day, cranking out applications at a rapid rate. My fellow programmers joked that I must type with my feet, too, since I was so fast. That speed was, in part, enabled by my ability to focus. Even necessary activities like restroom breaks or a snack were unwanted intrusions, an opportunity for my attention to drift away from the next line of code, the next bug to resolve.

My concentration was such that I would acknowledge other people, but often only in my mind. I said “Hello”, it was just so low-pitched, and sometimes no-pitched, that it was simply not there. So the only winners in that contest were the ones who happened to catch me at a transition, like finishing a bug sheet or a major part of code.

When I joined the Intuit Innovation Lab in 2002, some of that… lack of social grace… was necessarily overridden by the nature of my new work: I had to visit customers and talk to them. Or at least listen closely and ask the right follow up questions. I talked more to my co-workers, with my co-workers, and I learned how to connect with customers.

But all that change was just an unthoughtful response, not a deliberate difference compared to my “contest” days. It certainly wasn’t enough. I still had a lot of friction with my co-workers, viewed as “smart, fast, creative, and hard to work with”. It came to head when I locked horns with a co-worker, pushing things “my way” and not allowing a different opinion into the room. I didn’t like working that way, and neither did people like working with me when I was that way.

Fortunately, my boss at the time, Tara, suggested and supported me with a plan to change. She hired an executive coach for me. With his insights and help, I transformed how I interact with people – everyone, from my family, to my co-workers, to customers and just to everyone I meet.

I first took a personality test called an Enneagram. There are many such tests out there, and the Enneagram is probably one of the best. It has 3 person types, and 3 sub-types. The three types are Body, Mind and Feeling. I’m a Body type, with a sub-type of 1 – the Reformer. I want to solve problems, to make everything better. At my worst, I’m a perfectionist, plowing ahead with my own solution and pushing everyone else to the side.

The key to my transformation was to take the worst stereotype of a Reformer and apply that to myself. In every situation, I would laugh at that stereotype picture and refuse to fit into it, even as I knew that my normal mode would fit into it! I became a listener, a peacemaker, able to get things done as a team, as part of a team. I could let other ideas join my own without feeling like the solution would be “worse off”.

I can feel the difference, and it usually astonishes me. I’m happier, friendlier. I can connect with almost anyone. I get onto a plane where a flight attendant is greeting people. She didn’t look particularly happy, saying “Hi, welcome aboard.” I said, “Hi, thanks! How are you?” It was amazing – her face brightened, she talked some more, told me thanks for asking. I could hear her behind me greeting others with a smile! That’s why I’m astonished – I really had no idea before that I could personally, individually, brighten someone’s day just by, well, caring about them, to be honest. It’s more than just a “friendly” hello, rather I actually mean it when I ask, “How are you?” I talk to people about their day, their work, their feelings.

Those of you who know how I was “before” will, I believe, be pleasantly surprised at how I interact with you and those people around you. It’s a world full of people out there, and they’ve had all kinds of days: good and bad and indifferent. Open up ye engineers and explore the people around you. We’ll all be happier for it!

Software is… hard. There are so many things to think about, even when creating an offering as simple as an automated email message. Click on the image on the left and you’ll see what I mean. Notice the link in the bottom status bar and the highlighted link in the text. It’s for Hertz.com, but the actual link reference is for Hertz.com. – an added “.” period. Note that it is also an SSL secure website, which means that the security certificate needs to exactly match the URL if you don’t want the browser to pop up a scary “security exception” notice. Someone at Hertz.com didn’t get it right. More likely several someones.

Creating good software takes an attention to detail that the “engineering” discipline attempts to enforce. But unlike many traditional engineering tasks, there are many different ways of accomplishing the same task, and they can all be valid at one point or another. The number of systems, concepts, languages, end customer environments… it’s staggering how much a programming “maven” needs to keep in his or her head.

Processes and project roles are a big help. A project manager to plan and maintain the big picture, designers who sweat the details, developers who are experienced and focused, quality assurance folks who nitpick every little comma and period. Every one of those roles has a responsibility to catch that “Hertz.com.” error.

  • Did the project manager ensure that the wording in the email is correct?
  • Did the designer check the text, the fonts, the highlighting colors?
  • Did the developer know how to construct a link in both HTML and Text formats?
  • Did the QA folks actually click the link – and clicked it using a “clean” environment?

I remember a tester who worked on my EasyACCT stuff back at Tax and Accounting Software Corporation (TAASC) in Tulsa – Brian Anderson. He was a superb tester, and later became a developer as well. He owns Hostek.com, where this website (and my others) are hosted.

He would sometimes come up with the craziest sequences to duplicate an error – press Ctrl-Shift and then down arrow five times, type “Q-2″ and press Enter, and you see this error message. Maddening. But if Brian tested it, then I was confident that my application was thoroughly tested and working as good as mortal man could make it.

A great tester is worth his or her weight in gold, as is a nit-picky designer, a thorough and knowledgeable project manager, and a careful and experienced developer. Don’t skimp on your people, and always have at least one truly experienced person in your project team. Programming is an art, not a science. You put chlorine onto gold, you’ll get dissolved gold and a very unhappy investor. There aren’t variations when those two elements are mixed. You design an application, and there are dozens if not hundreds of ways that things could be mixed to create the working application. Experience is absolutely necessary if you want Quality.

I feel very fortunate to have grown up closely with my cousins. While living in Texas, we visited family almost every weekend – my mom’s family most of the time… sometimes my dad’s. After my dad moved to Reno, I spent my summers, and many a Christmas season, in Reno. I also lived there for a little while.

I don’t remember exactly when or how Mark and Nancy became my favorite cousins… probably it was all the time we spent together either at their house or at The Lake – Lake Lahontan. We learned to water ski together, to fish together, to ride motorbikes together. We spent nights looking at the stars and days swimming in the lake, or in the swimming pool and hot tub back at the “Compound” – a group of 4 motor homes with a boathouse on some land just outside the Lahontan park area.

I was able to spend some extra time with them last week, along with their mother – my Auntie Pearl. My Uncle Jim recently died, and I really wanted to be there. At least I was able to take a few days and hang out. I’ve greatly missed them – they aren’t terribly active online or on social websites, although I’ve watched and looked for them over the years.

Fortunately, Nancy has an iPhone and likes to communicate via texting, and Mark will text and watches his email. I’m like a “tornado in a trailer park” now – happy as can be that I’ve found them again, connected again! They live super close to where I often travel for work (although super far away from my home). I plan on making a side trip to visit them every time I travel to the San Jose area for work — if I can swing it.

I spent a day and a night with my Auntie Pearl and cooked dinner (my simply grilled swordfish recipe… except we used ahi tuna), plus some vanilla creme brule. Then I spent a day with Nancy. The highlights were getting my hair cut (Nancy is a stylist), watching some movies and meeting one of her cats, Peaches (left). They are apparently very shy, and it was raining and thundering, so they hid under her bed. But Peaches eventually came out and we made friends. I’ve only seen her other cat in pictures. By the way, if you need your hair cut, styled, colored, or anything else – and you are in the Reno area, Nancy is the best. Call Bellissima and ask for her. She’ll make your day simply by smiling at you!

Mark lives out near the Moon Rocks and is an avid motocross rider with plenty of trophies in his career. As you can see in this picture, I geared up and went riding with him! I have my motorcycle license, although I don’t currently own one. I spent many summers puttering around Lake Lahontan on mini-bikes and a small motorcycle. I don’t think I ever wore a helmet back then! We did some four-wheeling until the rain stopped, then rode bikes for a little while, played some darts. Mark is now giving tours around the very special and little known trails in the area. Check it out and reserve a slot! You won’t be disappointed!

I love my extended family dearly, but Mark and Nancy hold a very special place in my heart, and I love them with all that I am!

I’ve been using the App Inventor for Android for a while now. I managed to get in on the private beta, partially on my credentials as an MIT Scratch educator. I’ve taught 3 Scratch classes to kids from elementary to high school. I also follow the App Inventor Google group and came across a few people needing a URL Encoder.

I’d already written a simple URL encoder while testing out a mapping application. It uses the Google Maps staticmap API function to retrieve a map with markers. The markers are created by passing in an address, and although many browsers will accept spaces in URLs, the Image component in App Inventor won’t: you must encode a space either with a plus + character or with the hexadecimal encoding %20.

The newline character “\n” is also encoded, but the routine to test for it is separate from the others as App Inventor doesn’t find the correct location of various characters when you include it.

Here are the blocks for the character codes and their translations, plus some misc variables used in the encode routine. The “chars” block contains $&+,/:;=?@ “<>#%{}|\^~[]‘ and the codes block contains 24262B2C2F3A3B3D3F4020223C3E23257B7D7C5C5E7E5B5D60.

Now the URLEncode routine itself is fairly simple. It loops through each character in the provided text and searches for it in the chars and ctrl strings. If it finds it, it calculates the offset position for the code and adds that to the URL. If it doesn’t find it, then it just adds the character from the provided text. The offset position for each character is ((pos-1)*2)+1.

I have a very deliberate way with meetings. Like many Dilbert cartoons, I’ve been in a few meetings and felt fairly useless… like it was a waste of time. Many years ago, I would accept meetings, dial in or show up. Accept the imposition on my calendar.

Now, however, I try to be careful with my time. I’m often an individual contributor on a project: maybe a project manager, supporting innovation practices or development. Therefore I have to prevent all my time from being monopolized by meetings. I often wonder how senior executives do it – the constant meetings, I mean. I discovered that getting on the calendar of a VP can only be accomplished by bugging that VP’s administrative assistant. Their calendars are completely full for weeks to come, and always will be, it seems.

My philosophy on meetings has 3 elements. First, I don’t just accept meeting invites. If I’m optional, I’ll likely tentatively accept it. If the meeting invite doesn’t have an agenda, I’ll likely mark it tentative and email the sender to ask for the agenda. I’ll likely decline unless my active participation is required or else it’s some sort of learning or training in a topic of interest to me.

Second, I am diligent in using the Required/Optional features of an invitation. If I will hold the meeting even if a specific person doesn’t show up, then they are Optional. Period. If I will reschedule a meeting if a person declines the meeting, then they are Required.

Third, there are times when I schedule a training or information meeting of some kind. Those I send to everyone as Required. If it is a meeting with people who report to me, then I expect them to attend unless they are not in the office. If other people are invited and I didn’t list them as optional for some reason, then I expect them to apply the same criteria that I use: come if you want to know/hear what’s going on.

Don’t let meetings get in the way of more important work. Yes, they are necessary, but be deliberate. Would you hold the meeting even if I didn’t show up? If the answer is Yes, then I’m not really required, am I?

An email today got me thinking: can a person be taught to have a certain mindset?

At Intuit, we work to create a culture of innovation. We have leadership classes, innovation catalyst training, workshops on innovation tools, design for delight, unstructured time and idea jam sessions. Oh, and brainstorms a plenty.

It seems that when a culture, even a business culture, yells loudly enough, and often enough, that people begin to think about that topic, even when they aren’t prompted. So we yell loud and often about innovation, and people think about “innovation” in their projects. And they come talk to the innovators and leaders, get guidance, that sort of thing.

After a while, it does seem that a new mindset can begin to emerge. What you need is a good request/response system, and lots of advertising. And, of course, successes you can point out.

I think I’m rambling on a bit here… but there’s a second method: immersion. If you put an innovative person in a leading role in a project, the others are bound to see the mindset in action. Different ways of thinking about a problem will emerge. New tools will be discovered. Paths to success will never be random again: rather each new button or widget will have an impact on the bigger goal.

This is the best way to shift the mindset – model it from a position of authority, and others will see the benefits and begin to emulate it.

It was late in the afternoon. I was 15 years old, and my step-father at the time, Lee, was driving me home from my job at Dodson’s Cafeteria in Oklahoma City. I was a dishwasher… and I left my tennis shoes at the restaurant: they get really dirty in the dishwashing area! The year was 1980 (a little more math and you get my age…)

We were turning the corner toward home, and Lee was talking about the problems in the world, specifically the problem makers: spics and spooks. I’d heard the term “spics”, referring to Latinos. Growing up in West Texas exposed me to plenty of those terms, “wetbacks” being the usual one thrown out. But I didn’t know what he meant by “spooks”.

“What is a spook?” I asked.

“You know, ghosts, black people, niggers.”

That moment was an epiphany for me. I decided right then and there that I would not be that way. It’s taken me a long time to mature in my interactions with people, and a long time to get out of my perfectionist, soloist mindset. But this one matured for me at 15 years old.

My son brought home a required reading book in the third grade. It was all about Martin Luther King, Jr. My son didn’t even know a black person from a white person … they were just people to him. The story brought out those questions. We explained, as best we could to an autistic third grader, that in the past, black people were slaves. They were freed under President Lincoln, but they were still heavily oppressed. King helped to lead the fight to remove that oppression, and he was somewhat successful. But there are still people around like the ones that King campaigned against.

That’s a core belief of mine: There are still folks out there who judge according to color!

I’ve heard conservatives claim reverse racism. I’ve heard liberals claim racism. I’ve heard talk show hosts discuss playing “the race card”. I don’t think that everyone is using the same meaning for that term. At some point, I’ll write my Politics post and go more into the mindset conflict I see in politics today…

But discrimination is still out there – in the workplace, in public areas such as stores or on the road, in education. I strongly believe that affirmative action needs to remain in place. As long as those discriminatory actions exist, society, and the enforcers in society, must work against it.

My hope and prayer is that hearts will be changed – there is neither man nor woman, Greek nor Jew, black nor white.

radicalI’m participating in a brainstorming and design session during the first weekend in August for a medical foundation in California. As part of the preparation, the participants were given a disruption exercise.

disruptionI think of disruption in the sense described by Clayton Christensen in his books, “The Innovator’s Dilemma” and “The Innovator’s Solution”.  In brief, the books document research into how large, established businesses are overtaken by a competitor. For instance, he documents how Big Steel was disrupted. The cycle went something like this: 1) Big foundries produced all kinds of steel products, from low-quality commodity items like rebar to high quality auto parts. 2) Electric arc furnaces were created that could melt scrap metal into low quality rebar. 3) Big foundries and their investors were happy to get out of this low-end market and focus on their most profitable products. 4) Arc foundries found themselves in a rebar commodity market, so they invented ways to make higher quality steel. 5) Big foundries were happy to drop the I-Beam commodity market. 6) And so on…

Big Steel was disrupted by their low-end electric arc furnace competitors, because they didn’t expect that relinquishing the customers that they really didn’t want would eventually lead to relinquishing customers that they really did want and need.

The books document the same pattern in other industries such as hard disk drives, business computers, car manufacturers and many others.

google amazon netflix

Our activity was to think of why Google, Amazon and Netflix were disruptors.

1. Characterize why these were disruptive innovations. Why were they successful?

- Google: At first Google didn’t have as much content as the leader (Yahoo). Yahoo’s links were user-categorized, so they were typically well-categorized. Google’s proprietary algorithm used a likely factor in relevancy and usefulness of a link, but it wasn’t very accurate unless it had a lot of pages indexed. Yahoo’s manual categorization of links becomes unwieldy when the number of links is huge, so their links and categories became less relevant as Google’s algorithm gained in accuracy thanks to the number of indexed pages.

- Amazon: Shopping in the real world is typically about making a choice as to which store or shopping center you will go to. Your product selection is fairly meager. Even with Amazon’s initial books offering, they could offer tens of thousands more books than even the largest retail center. Online shopping was also difficult in general, since you had to visit individual company websites to find information about products. Amazon separated the sale and distribution of products from the product manufacturers and made THAT their business. They became the “mall” in online shopping – a mall with a single checkout point where you never have to wait.

- Netflix: Renting and returning movies to a local retail location has never been a great experience. Although browsing for movies is sometimes rewarding, it’s not significantly better than browsing for movies online. The problem with the local center is the similar to that of Amazon – lack of selection. Netflix has such a large movie selection that it immediately surpassed retail outlets. The added convenience of quick delivery as well as a queue for the next movie made it quickly the best solution for renting movies.

2. What has been required to keep them successful?

- Google: The pay-per-click ad model introduced by Google was directly related to their algorithm’s ability to find relevant links, and thus the advertisements in Google were almost always relevant to the search, while Yahoo’s was a banner advertisement system that wasn’t tied to a good algorithm. They’ve also expanded their ad revenue into spaces only tangentially related to search, such as email and other Apps, and other content providers such as blogs.

- Amazon: They seem to have recognized that although an online product selection is far better than retail, it still doesn’t ultimately scale to the maximum possible variety, as there are still niche and new items that cannot be stocked. The Amazon Stores concept effectively allows any seller to have a “place in the mall”.

- Netflix: The real trick for Netflix is in the numbers. It isn’t financially viable if every Netflix customer continually rented and watched the maximum number of movies – it would cost more money to ship and receive movies than they charge to customers. However, the actual behavior of customers in renting only a few movies per month makes the business viable.

3. What are the biggest threats to their future success? What/who might disrupt them?

- Google: Social networks are getting better at providing link and revenue opportunities and may surpass Search as the primary way of discovering online content. Facebook in particular has more information about the searcher than Google and can potentially serve up content that is more relative. Google’s PageRank algorithm patent expires in 2017.

- Amazon: I believe that Amazon will be harder to disrupt as they have a network effect advantage, Yahoo Stores attempted to compete with them but hasn’t been able to match their product selection. eBay is probably the closest competitor, with their eBay stores, and will likely continue to dominate the collector/used market. One place they likely need to keep abreast is with smart phone shopping paradigms that are emerging, such as a retail browsing with competitive online pricing and comparisons, and with incentive purchases. If an online retailer can figure out how to give purchasing that “personal” touch like you get in an Apple store, they might give people a great reason to switch from Amazon.

- Netflix: Streaming content delivery will almost certainly eliminate the Netflix DVD rental business, but Netflix seems to be fairly well positioned to take advantage of it. Their most likely disruptor is YouTube and other free content providers. YouTube is already disrupting some types of media such as comedy television and music videos.

delight

I was recently added to a team that is trying to come up with some tools that will help facilitate innovation training. It got me to thinking about what software I’ve created that was “delightful” in the spirit of Intuit’s d4D practices – Design for Delight.

searchI quickly came up with at least three things that I had developed end-to-end, from customer problem to delightful solution: Keyword Search, Intuit unstructured time hosting and Intuitlabs.com (actually its predecessor, innovation.intuit.com). Keyword Search brought full text search to QuickBooks back in 2005 as an add-on. It’s being released inside of QuickBooks proper for 2011. Hosting is an offering internal to Intuit, giving teams the ability to rapidly launch applications while still complying with Intuit privacy, security, etc. stuff. Intuit Labs, originally “innovation.intuit.com”, showcases Intuit innovation.

fast So what made these offerings delightful? I was able to come up with two common factors that are repeated by customers. The first is speed. All three radically changed how quickly the task could be accomplished. Keyword Search became invaluable to small business owners, causing some to eliminate multiple methods of filing. One of the early Alpha testers, after running a search, exclaimed simply, “Wow!”

With hosting, the time to get a working instance that complied with Intuit security and privacy went from months to just hours. A team could spin up a LAMP or Tomcat stack and have it in front of customers, without going through the traditional data center processes that existed to protect our larger applications and sensitive customer data. A new, isolated zone let them experiment without risking customer information.

Intuit Labs is part of that experiment zone, enabling the security, legal and privacy issues to be addressed within a single, rapid, standardized process.

impossibleThe next factor is enabling the impossible. Before Keyword Search, there was no way to search for text within certain fields of QuickBooks, such as a memo field or line item descriptions. Many small businesses use these locations for critical information such as item serial numbers, but finding them meant having to know something else about the transaction, then visually scanning through potentially years worth of data.

With hosting, teams were limited to public applications that used only the default hosting environments, This prevented rapid experimentation using new platforms such as Facebook or Google Apps. Intuit Labs gave experimenters a place to connect with customers and application users. The only place for this in the past was on the larger Intuit offering websites – not the best place for, say, a Facebook experiment!

So what I have now is at least some kind of framework for creating delightful offerings:

Is the offering so much faster than any other choice, that you can’t imagine going back to the old way?

Is the offering enabling something that was previously impossible?

Those are two questions I’m going to be answering in any future offering.

I came up with at least 3 things – 2 of which I developed end-to-end, from customer problem to delightful solution. The third is back when I was working as accounting software lead for TAASC. I re-wrote the payroll module for EasyACCT, and it was many times faster than before as well as much easier to update.