spout

March 9, 2010 spout

The incomplete list of impolite WP7 user feature requests

When I first moved from the combination of a dumb phone and a separate music player, I had modest requirements: phone calls, MP3 playback, calendar notifications, contact management, email, camera and solitaire. Even asking for only these seven things, my first smart phone was as life changing as my first laptop. I could do a great deal of my work while out and about, allowing me to have a much more productive work/personal life balance.

 

When I was first married, the word love” didn’t seem big enough for what I felt for my bride. These days, the word phone” doesn’t seem nearly big enough for the pocket-sized mobile device that I’m never without, like my wallet and my keys. Further, I expect my phone to replace my wallet and keys any day now, along with the Walkman, DVD player, TV, radio, book shelf, notepads, calculator, compass, alarm clock, wall calendar, newspaper, encyclopedia, dictionary, GameBoy, carpenter’s level, laptop, navigation device and landline it’s already replaced.

 

Now that I’ve been through several smart phones, including my favorites, the T-Mobile Dash and the iPhone 3G, I have a much longer, incomplete list of what I want from my Windows Phone 7 Series (and I know it’s incomplete because after I post this list, someone is going to remind me what vital things I missed : ).

 

·        A calculator. It’s surprising how useful this is, including the scientific features.

·        A battery that lasts at least 24 hours while I’m using Bluetooth, 3G, Wi-Fi, GPS, music and my apps. Oh, and please let me charge the thing with a standard connector (USB!) and let me use my phone while it’s recharging.

·        An easy, high-quality way to run the music through my car stereo. The Sells Brothers and I like to jam!

·        An easy way to switch back and forth to airplane mode. Or even better, can you make it so the device isn’t an FAA threat during takeoff and landing so I can stop reading the stupid magazine in the seat pocket in front of me for 5 minutes at the beginning and ending of my flights?

·        Great auto-correct on my hard or soft keyboard entry. This is really the only way that allows my big fingers and the lack of tactile feedback to even work with a phone keyboard.

·        Copy-paste: I can’t live w/o it anymore. Also, please include pasting into my phone during calls so I can stop memorizing 9-digit conference call IDs.

·        I’d really love intelligent integration of music, i.e. keep it playing when I switch apps and not just the built-in Zune player, but 3rd party music apps, too (aka Pandora). Also, let me pause, next, previous while my phone is locked or I’m in another app. Finally, make sure to stop music when I get a call and start it back up again when my call is over. I love that.

·        Full (!) calendar support:

o   Sync’ing with Exchange and not Exchange.

o   Recognition of phone numbers and addresses in my calendar appointments with links to dial/get directions.

o   Reply All to an appointment so that I can let folks know I’m running late.

o   Snooze on my meeting reminders (I can’t tell you how many times I’ve forgotten my meeting after the one and only 15 minute reminder).

o   Show my appointments on my home page instead of making me dig into some app.

·        Please provide a responsive UI, even if I haven’t rebooted in a week. Ideally I’d never have to reboot at all.

·        Wireless sync’ing to my PC. My house is bathed in Wi-Fi; why make me connect a wire?

·        Tethering so I can use my phone as a network connection for my PC. I’m paying for unlimited data — let me use it! And ideally make that wireless, too.

·        Turn-by-turn directions! This won’t be ready until I go off course and I hear recalculating” from my phone piped through my car stereo with Pandora playing in the background.

·        There definitely needs to be an app store” for phone apps, but also there needs to be a way to install apps from other sources without hacking my phone. Also, please let me install them on my SD card so I can take advantage of the extra memory.

·        Let me install extra memory!

·        Let me replace the battery! Batteries go bad over time and they need to be replaced on the go.

·        I need a great audio book listening experience (bookmarks!) and a great ebook reading experience (formats!).

·        I’d like some phone-wide search, including the ability to see where the result came from. I never want the email-only Contact from the list of everyone that I’ve ever received an email from — I want the real contact info that I’ve got cached on my phone.

·        Full contact lookup, both personal and corporate (Exchange).

·        Good camera (and flash): the one on my phone is the only one I ever use, as it’s the one I always have with me.

·        Bluetooth and voice dialing for hands free operation (required by state law in both Washington and Oregon, where I spend most of my time). Also, I’d love the same integration with my Jawbone that I have with my iPhone, i.e. volume control and battery indicator.

·        Apps I can’t live without:

o   Evernote: I’m willing to move my data into OneNote so long as I can sync between the web, my phone and my PC.

o   Social networking clients: IM, Twitter, an RSS/ATOM Feed Reader, YouTube and Facebook.

o   Converter for currency, distance, volume, etc.

o   A Compass.

o   A Flashlight. I have used the ambient life from my phone to get myself out of the forest in pitch blackness. Without it, I’m sure I would’ve been hacked to pieces by Jason or Michael Meyers.

o   TripIt, Movies, OpenTable, UrbanSpoon, Mint: I use these all the time.

o   Shazam: Before this app, I used to record snippets of songs and email them to my son would be charge me $.50/ea. to find the title and artist so I could grab them for my phone. Shazam has cut out the middle man and represents ~100% of the music I purchase these days.

o   Skype or some other good way to use my phone to do IP Telephony (or even IP Video Conferencing)

o   Tetris! I guess there are other casual games in the world, but that’s mine.

 

Because the WP7 hasn’t shipped yet, I can pile all of my hopes and dreams on it and, like everyone else not on the WP7 team, I have very little idea of whether my hopes will be fulfilled, but that doesn’t stop me from dreaming. So now it’s your turn — what did I miss? : )

 

P.S. I know that lots of phones have a subset of these features and I’m sure someone will tell me that, with the correct config, I can make their favorite phone do all these things. I know that’s going to happen because whenever I complain about a missing feature in the Visual Studio editor, some emacs guy says, Oh, you can do that with Alt+Shift+Left Elbow in my editor!” I don’t care about what your phone can do. No phone’s UI has stirred me like the WP7s UI. That’s the one I want to use, so that’s the phone I’m going to bang on til my incomplete list is complete.

March 3, 2010 spout

Please don’t run apps in the background on my WP7 phone!

Please don’t run apps in the background on my WP7 phone!

When I was but a wee lad, I learned that when it came to my computer, I was often going to be waiting on something, whether it was the CPU, the IO or the memory. Now that I’m all grown up and spending a great deal of time on handheld mobile devices, I’ve discovered a whole new thing I’m waiting on: charging the battery.

In the bad old days of DOS, I spent a disturbing amount of time working on my autoexec.bat and config.sys files to optimize the loading of drivers and TSRs (DOS programs that run in the background for you whippersnappers). Now, instead of optimizing for memory usage on my PC,  I spend my time optimizing for power consumption on my phone, e.g. turning off 3G and Bluetooth when I don’t need them, turning down the polling frequency on my SMTP mail accounts and spreading power adapters everywhere in my world where I sit for more than 5 minutes. The single most important feature on my phone is that’s it’s on and the way power is managed on my iPhone means that this is often not the case. Sometimes I pine for my Windows Mobile Dash for just that reason; it ran for days instead of hours.

And as bad as this power situation is, it would be even worse if my phone ran more than one app at a time. I don’t worry about random apps from the AppStore using too much memory or crashing; I worry about them eating my battery and killing my iPhone in the middle of a route to somewhere I’ve never been. By not allowing background apps to run, Apple is trying to do the right thing but (although my battery life still sucks). I don’t have personal experience with Google phones, but since they do allow background apps to run, I have to imagine battery life is an even bigger problem.

So, when I see people lobbying for background apps on the new Windows Phone 7 Series, all I can say is, you don’t want it. What you want is for work to go on in the background for you without the cost in power.

Oh, I want to listen to my MP3s or Pandora while I answer my email like everyone else, but I don’t want every financial/IM/email/social/sports app I download sucking down my battery life because it feels itself to be more important than everything else on my phone. I want those apps to notify me when something I care about happens but I don’t want the processing to discover such events to happen on my phone - I want the processing to happen in the cloud.

You may recall my piece about how important storage in the cloud is for moble devices. Let’s let somebody else scale and manage the storage so we can leverage it. In the same way, we want to leverage CPU and power in the cloud, saving local resources for cool graphics, twitch games and streaming my Pink” channel.

Of course, if we’re going to push the processing to the cloud, I’m going to need an efficient and easy way to write my WP7 apps to be notified so I can do the actual processing that needs to happen on the phone. And that all needs to happen while I’m navigating and playing my bad girls party mix.

I’m saving my WP7 phone battery for important things after all.

February 2, 2010 spout

We need cloud apps to use cloud drives

Reading about Windows Azure Drive reminded me of a conversation I had when I was hanging out with my Microsoft brethren last week. We started by talking about how apps target a particular OS and how Microsoft’s bread-and-butter is making sure that apps continue to work forever on Windows so that our customers can upgrade their OS and still get their work done.

We then moved on to wondering whether Apple was gonna do the same thing when it came to letting iPhone/iPod Touch apps run on the new iPad. As it turns out, we heard from the iPad announcement that Apple is doing just that (although in a particularly strange single-tasking way).

From there we moved on to how it’s really not a big deal whether you ditch your current smart phone, e.g. Dash, iPhone, BlackBerry, Droid, etc., for another one because nobody really keeps data on their phones anymore anyway. It’s either synch’d to their PC, e.g. photos, music, etc., or it’s kept in the cloud. In fact, without realizing it, I already have a great deal of info in the cloud:

  • Exchange: email, contacts, appointments
  • TweetDeck: twitter search terms
  • Evernote: random notes
  • Amazon: Kindle books
  • TripIt: trip itineraries
  • Mint: account and budget information
  • Facebook: social contacts
  • LinkedIn: business contacts

Further, I could keep my pictures in Flickr, my documents on Live and I’m sure there are many, many more. This is fabulous, because I can move from platform to platform on my phone and it’s in a vendor’s interest to make sure that each major platform has their app on it and because it’s a smaller, more focused platform, it’s easier for them to do.

The problem here, of course, is that we’ve moved from mobile vendor lock-in to cloud data storage lock-in. What happens when Amazon decides to repossess another book or Mint decides to start charging or Flickr goes out of business? Unlike the physical storage business (you know, little garages where people keep stuff when their relatives die or they’re going through a divorce), the logical storage business doesn’t have any legal responsibility to keep the doors open for 30 days when they go out of business to let me move my stuff somewhere else.

And this has already happened. When GeoCities went out of business, all of those people’s web sites were gone. When live.com decided to clean out my set of RSS feeds, there wasn’t any notification or recourse. I’m sure there are more similar stories and there will be lots more in the future.

And because I know there will be more, I’m worried.

Right now, as we move our apps and storage in the cloud, we have a very different dynamic then apps and storage on the desktop. Because apps on the desktop use storage I own, I can back up that data, import it into other programs and, if I feel like it, write programs against it. It’s my data. The vendor doesn’t ever even see it, let alone gate my access to it.

On the other hand, cloud app vendors ARE gating access to my data; I have to use their apps to get to it. Unless there’s some pressure, you can be damned sure the Flickrs and Mints and Amazons aren’t going to be giving up the data they’ve got a wall around now so that I can take it to a competitor.

Which is why we need control over the storage for cloud apps just as much as we do for desktop apps. I want to go to a vendor I trust, e.g. Amazon, Microsoft, GE, i.e. someone big, someone you know is gonna be around for a while, and purchase cloud storage from them. I want to be able to use it as a HD for my desktop data (like Azure Drive and other products before it), including general-purpose backup, but I also want my cloud apps to store their data there, too. That way, if they start charging or they go out of business or I want to go somewhere else with my data, I can do so.

I expect to pay for this service, of course. That way, the cloud storage folks make money, the cloud apps folks make money for using my cloud storage and I get peace of mind knowing that I’ll always have access to my data, no matter what happens to the cloud app or the cloud app vendor, just like today.

We need cloud apps to use cloud drives. Call your congressman!

December 20, 2009 spout

Stead Defines ‘Customer’

And here’s one more from the paper file I’m putting into electronic format to reduce the pile of papers in my life:

During the all-associate broadcast, Jerre Stead shared with the team a memo another associate had sent about defining a customer. Here are the highlights:

  • Customers are individual companies with unique needs.
  • Customers are struggling with their competitors for success.
  • Customers are people with feelings and opinions, therefore relationships and experiences matter.
  • Customers will judge us by our performance, not by our words.
  • Customers are influenced by every contact with us, each and every day.

Customer Must Not’s”

  • We must not import our products or ideas on customers.
  • We must not ask customers to deal with people who cannot make decisions.
  • We must not make customers wrestle with our bureaucracy.
  • We must not allow any question, issue or awkwardness go unattended or unresolved.
  • We must never unpleasantly surprise our customer.
  • We must never, never take a customer for granted.

Customer Can’s”

  • We can help the customer succeed - make our customers winners.
  • We can provide greater value to our customers than our competitors can.
  • We can measure ourselves from the viewpoint of our customers.
  • We can put decision-making close to our customers.
  • We can continuously improve to better serve our customers.
December 20, 2009 spout

How To Handle Angry Callers in 7 Not-So-Easy Steps

When I was first in technical phone support for the software I was building, I found out that I wasn’t exactly a… um… natural” at putting customers at ease. I used the following information from an AT&T magazine (I was working for a AT&T VAR at the time) in the fall of 1992 to start my education:

  1. Don’t react. Stay calm. When confronted with an irate caller, everyone has the urge to return fire. But don’t fight back. And don’t take it personally, or you’ll become an emotional basket case. Keep relaxed by breathing deeply. And remind yourself that this discussion will not change the destiny of mankind.
  2. Let them vent. Remember, you simply cannot get customers to deal with the logic of a situation until you’ve dealt with their emotions. Trying to attack the problem before people have fully vented their anger or disappointment just won’t work.
  3. Defusing the anger. When a tirade is winding down, try asking - sincerely - Is there anything else?” By this point, they’re usually exhausted and willing to talk. If you hear profanity, try saying: I know the words you’re using right now aren’t directed at me personally.” If the caller replies, Oh yes they are!” you’re no worse off than you were. But generally they’ll apologize, realizing it’s not your fault. At which point, a real dialogue can begin.
  4. What do they want? Once they’ve calmed down, that’s the time to find out what they want: Money back? A defective part replaced? Find out quickly to determine whether you can solve the problem on the spot.
  5. What can they have. Once you’ve figured out what they want, what can you do? This will be set by bounds of your company’s policies - such as warranties or guarantees - as well as any flexibility that management may give you (which should be clearly spelled out).
  6. Customer solutions. Sometimes, the best solution you can deliver is one the customer suggests. And, surprisingly, it can end up being less than what you yourself were willing to offer. Recently, at a major department store, a customer wanted a discounting an imperfect blouse. The cashier was willing to take 35% off the marked price, but first asked the woman what discount she wanted. The answer: 20% off. Of course, some customers will make outrageous demands. In that case, ask them what they’d consider to be a fair solution.” Instead of confronting the customer, this reply opens up the discussion to a more equitable resolution.
  7. Follow up. Don’t make an angry customer even angrier by not doing what you said you’d do. When a promise is made, keep following up internally to be certain that what was promised has been implemented. Even if that means making a minor pest of yourself!

Fred Gleek

November 22, 2009 spout

Do you know someone that needs dinner this Thanksgiving?

The boys and I were driving past a church with a holiday bizarre, so we stopped by. It was a mix of silent auction, bake sale and a $1 raffle for a turkey dinner with all the fixings. I made several comments about how they could skip the formality of the drawing and to make sure they could read my phone number on the back of my raffle ticket, because I was obviously going to win. They laughed.

When they called this morning to let me know that I had won, they told me that they remembered me and I laughed.

Anyway, the Sells Brothers and I have already picked up all we need for our Thanksgiving dinner, so if you know of a family in the Portland metro area without the means for a traditional dinner this holiday season, please let me know. I doubt it’ll be so big that I’ll need a sled to cart it through the streets, but I’m happy to deliver it when it needs to go. You can leave a comment on this post or drop me a line.

Happy holidays, everyone.

October 22, 2009 spout

The New Microsoft Store Looks Cool

And the folks in Scottsdale, AZ lined up overnight to be there when it opened and get their copies of Windows 7 (which goes on sale today and, if I may say so, rocks).
September 15, 2009 spout

The Downside of Transparency

Ever since Chris Anderson built his blogging software and shared it with his colleagues, more and more Microsoft employees has been pushing hard on being as transparent to our customers as we can be. This has been a very much grass roots effort. I remember coming into Microsoft six years ago just when legal was busy giving everyone disclaimers to put on their personal blogs and telling us what we could and could not say. It was always a worry whether the next blog post would get you fired. I got in trouble personally several times, but the brave pioneers before me laid the groundwork for people like me to comment on the internals of Microsoft culture, for Robert Scoble to call Steve Balmer out onto the carpet several times and for Rory Blyth to talk about penises, all on the Microsoft dime. Now blogging is just an accepted way to do things. It’s not even questioned anymore; it’s expected.

And by and large, this transparency is good for reasons that are obvious these days — when our customers see how the sausage is made and have a say in the ingredients, they’re happier eating it with their breakfasts.

As with all good things, however, these is a downside. For example, the product I’ve been working on for 4.5 years has gone through many transformations. This has to do with how new software is designed at Microsoft.

The tag line when we’re hiring folks is always, Don’t you want to change the world?!” Of course, everyone does and that’s good, because people coming in the door want to take big risks and do big things. If you’re trying for the next Office or Windows, that’s the kind of thinking you need. However, what that means is that we have a lot of folks building 1.0 software. We do this in my division with an organizational structure called an incubation.”

My product was in incubation mode for years and we started with zero assumptions. My first day on the job, I was asked to think about synchronization.” What did that mean? What problem was I trying to solve? Does replication count as synchronization? Does data import? I struggled with this for months before I got my head around the process of noodling with a technology enough to understand what problems there were in the space and how that fit with our general idea of what we might want to build into a product.

We tried a huge amount of stuff, often rebuilding shipping technologies to which we had ready source code access just so we could get a feel for how it worked (I personally built multiple data synchronization engines, a WPF-compatible XAML parser, a data binding engine and a set of universal data viewers during that period, all of which were thrown away, as expected).

As we got further along, we started producing things that needed to be published, even if they weren’t a core part of our product anymore (like MEF and some new features in XAML 4.0). Once this started happening, we started to feel like we had a handle on what we were doing to move into startup” mode, where we formed a team to make productization plans. At this point, we started telling folks what we thought we had, including analysts and insider” customers, getting their feedback. Based on this feedback, we re-jiggered the product and the story and did it again. And again.

Eventually, we move out of startup mode to become a real product team with dev, test, PM and UA splits (up til then everyone does everything or, as we liked to say, everyone shovels”). Eventually in this mode, you publish some set of bits that are your best guess at the time of what we think we’re eventually going to ship. In our case, it was the October 2008 “Oslo” SDK CTP, guaranteed only to take up space on your hard drive. At the time, we’d been telling the Oslo” story for more than a year and it had evolved a great deal. Since we published that initial CTP, we’ve published a few more, along with an entire web site filled with articles, videos, specifications, samples, etc.

I mean, we did it big. We were part of the keynote at the 2008 PDC and we had lots of folks on our team that are very visible in the community, including Don Box, Chris Anderson and Doug Purdy. These are the heavy hitters, so when they said something, folks listened.

And we definitely got a lot of community involvement — way more than we expected, in fact. With that involvement, we got a ton of feedback, which is the benefit to us of releasing early and often. We take that feedback and we make changes to our product — sometimes big changes. In this particular case, we were building on all kinds of SQL Server-related technologies, so because of pressure to build the absolute best thing we possibly could for our customers, we actually merged the division that owned Oslo” (and WF, AD, WCF, BizTalk, etc) with the SQL Server division.

Of course, those are the kinds of changes that our customers don’t see. What they see is that things are changing and that they’re not quite sure what our plans are. That’s one big downside:

When you share early information, sometimes it’s half-baked, it often changes and is almost always confusing.

As an example, Jeremy Miller recently had this to say about Oslo” and our communication about it’s purpose in life. Believe it or not, this is helpful feedback and it’s my team’s responsibility to understand what exactly is holding folks up and get it fixed in the way we tell the story and in the product itself.

Another part of my team’s responsibility, of course, is communicating what it is the product does so that folks can understand it and give us feedback. That means that the first people that know how confusing a product is are the folks writing the documentation and tutorials, building the videos and producing the samples. And believe me, we act as customers on the team as well, logging bugs and making complaints and bugging the developers and PMs directly, hoping to fix everything before customers even see it. Of course, we can’t do that all the time (or even most of the time), so often:

We produce materials that tell the story in the very best way we know how with the current set of bits.

Kraig’s recent Oslo” blog post is an example of this. This is an important part of the process, too, actually. We, as Microsoft employees, can complain to the folks producing the software ’til we’re blue in the face, but often real changes aren’t made til real customers complain. As a consequence of this:

We take the slings and arrows of our customers and thank them for taking the time to shoot us.

This one can really hurt, actually. I’m a professional, but I take it personally when I say something that doesn’t resonate with my audience (at a recent conference, I threw away an entire completed slide deck and started over only days before the deadline so I could tell a better story) and the audience takes it personally when I show them something that they don’t understand.

In fact, everyone in marketing, DPE, UA and every part of the team that interacts with customers directly or via the software we’re producing, including the devs and test engineers, all take it personally. We care deeply about building products that delight and empower our customers, which is why we push so hard on transparency from the bottom — the sooner we hear your complaints, no matter how confusing we might be, the better able we are to build something you love.

I’ll tell you though, if we could build something you’d love without giving you an early look, we might want to do that because:

When a customer is confused or disappointed by an early look at a product, they might not want to look at it again for a really long time, if at all.

Early looks are a double-edged sword. We want the early feedback to make our product better, but if you don’t come to look at it again, you’ll never know we made it better.

Still, transparency is absolutely worth the downsides. Keeps those cards and letters comin’! : )