Computer Vision Explosion

We are about to see an explosion in the use of computer vision systems. If you thought Kinect was cool or you think Creepy Cameraman is scary, the technology right around the corner, and its impact on our lives will blow you away.

We’ve all dreamt of the day when natural user interface (NUI) systems were “real”. For example, in 1984 I built, as a high school project a system that allowed my school to do a mock Presidential election…by voting via speech. I wish I could find the specs on the voice recognition card I used for the Apple ][ (or even the code I wrote <sad face>), but suffice to say the promise was big, the results…not so much.

I sincerely believe (again?) that we are finally, really, truly, on the cusp of a NUI explosion. We’ve seen massive improvements in the real-world usage of touch (iPhone), voice (Siri), and computer vision (Kinect) the the last few years. I think this is just the beginning. 

There will be huge strides made in voice and touch based input, but in my view, the area where our world will be rocked the most is in computer vision. Cameras are everywhere. They are dirt cheap. They can see things we can’t. And as amazing as the tech in Kinect is at decoding all those signals, interpreting them, and figuring out your body’s intent is, you haven’t seen anything yet.

I had the chance to visit Israel in 2011. I met with several companies in the computer vision space and visited several of the top Israeli university research groups working on computer vision. I was under NDA so I can’t discuss details, but I’m sure you are aware that Israel has been leading the way in computer vision technology.

I found it amusing the Creepy Cameraman story and this story on a new Microsoft patent came across my feed at about the same time.  I also recently upgraded the CCTV system in my house from analog cameras circa 2002 to modern IP based digital cameras (I use a GeoVision based CCTV DVR system that is functional but very haphazardly implemented).

These modern cameras all record 1080p in real time with audio. The software I have is just OK, but is nowhere near state of the art.

Another example: sports cameras such as GoPro and Countour. Next time you are a bike event, out on the lake, or skiing notice how many people are wearing these cams. The quality is fantastic and they are getting dirt cheap.

Remember, that due to networks, we have the ability to combine camera inputs from multiple sources, meaning that future computer vision systems will not be integrated as Kinect is today.

Some scenarios where I see breakthroughs coming:

  • Detecting and tracking people’s emotional state. Imagine your TV being able to sense whether you are happy, scared, sad, or mad and adjusting the content to either amplify that state or change it. This could be used for good (making a game even more immersive) or bad (adjusting advertising).
  • Predicting intent. By understanding ‘normal’ behavior games, user interfaces, and other systems will be able to predict what you are going to do, before you do it.
  • Tele-presence. Kinect shows how easy (ha!) it currently is to allow a computer to, in real-time, build a 3D model of human bodies and do intelligent things (control a game). We also know its easy (ha!) to map photorealistic imagery on 3D models with Google/Bing/Apple Maps.  Combine these technologies and it’s not a stretch to see Princess Lea floating in front of R2D2.
  • Augmented Reality. The work Google is doing on Glasses is a great example. I can imagine combining my the three other examples above with not only a head mounted camera, but also a more direct input into the human vision system (a tiny monitor you wear like glasses is actually pretty lame; I’m much more excited about research going on regarding directly inserting imagery into the brain).

Most importantly, I think, is the impact these breakthroughs will have on mobile. I joke that I think “Mobile is Dead”. What I really mean is that I think mobile is now ubiquitous and everywhere and that it’s high time we stop thinking about it as some discrete ‘space’.

What do you think? What scenarios do you see coming? What are the risks to society and industry?

© Charlie Kindel. All Rights Reserved.

Why Win8 Picture Password is Not Secure

Windows 8 includes a slick feature intended to make it easier to log in: Picture Password. You select a photo that will be displayed on the login screen and then setup a simple gesture that you “draw” on the image to login.

It makes quickly logging in easy, especially if you use strong passwords and you use a touch screen. And given Windows 8 pretty much requires you to link your Windows login to your Microsoft account you should use a strong password!

However, don’t be confused: Windows 8 Picture Password is not really secure and can easily be hacked. A picture is worth a 1000 words from our DELL XPS ONE 27:

picpass

It is pretty clear that the gesture to unlock is to draw a smiley face on Benny.

Of course on a non-touch screen where you’d use the mouse to draw the gestures this wouldn’t happen.

Cool feature, but understand the limitations.

© Charlie Kindel. All Rights Reserved.

Has MS Finally Gotten Through To DELL?

I complained on Twitter to @MichaelDell that I could not buy a DELL XPS One 27 with “Microsoft Signature”. Today I got tweet from @MaryFadAtDell that read:

The full of her email is below:

Charlie – I wanted to get back to you on your concerns about
purchasing the XPS One 27 on dell.com vs. at a Microsoft
store. With the introduction of Windows 8, particularly on
our XPS systems, we have committed to a very clean software
pre-install that does not include any bloatware. I’ve provided
a list of the pre-installed Apps/Tiles below. I hope you’ll
agree that they are not bloatware, but please feel free to
reach out or follow up with me to discuss.

Thanks,

Mary

Dell Preloaded MSFT Apps

• Photo Gallery

• Movie Maker

Dell Preloaded Apps

• Office Trial (30-day)

• Windows 8 Getting Started Tile

• My Dell & Dell Backup & Recovery

• Dell Shop S&P App

• Amazon, Kindle

• Amazon Taskbar App

• Retail Registration

• Cirrus

Dell Hardware Enablement

• Skype for Metro

• CyberLink Media Suite

• NetReady Metro App (digital delivery)

In case you aren’t aware, Microsoft Signature is a program (in the US) where Microsoft selects OEM PCs and resells them with a Windows install that is tuned by Microsoft for optimal performance. Microsoft removes all ‘crap ware’ and ‘bloat ware’ and provides some pretty background images.  They sell these PCs via the Microsoft Store (both online and retail).

At some point some OEMs (I don’t recall which ones; I thought it was DELL, but I think that’s wrong) would sell Microsoft Signature PCs themselves.

A few years ago I vowed to never buy another OEM PC without Signature.

This program was created by Microsoft a few years ago in an effort to demonstrate that PC’s didn’t have to be slow to boot, have dozens of stickers on them, and full of useless software that interfered with the core usability of the PC.

It’s a good move by DELL to support, effectively, Signature on their premium line of PCs (XPS). However, you’ll note, that non-XPS DELL PCs don’t get this treatment.  DELL still makes a bunch of money by pre-installing crap and bloat on most of their PCs.

I have to wonder how much an impact Surface had on this. As you know, the primary goal (IMO) of Surface is to be a “North Star” from Microsoft on how PCs should be built and sold. Is DELL on the right path? We’ll see.

FWIW, we have found the DELL XPS ONE 27 to be a really, really, great machine. It is a 27” touch screen all-in-one computer that sits in our kitchen and is my wife’s primary computer (her new Surface is her secondary).  The screen, at 2650×1440, is gorgeous.  With Windows 8 pre-installed it is very fast with a Core i7 processor and 8GB of RAM. The touchscreen has great responsiveness and can be titled almost horizontal, making it great for situations where you are standing above the device (e.g. on a kitchen counter).  It has a fan, but it is nearly silent.

Like most PCs, even Signature, this machine suffers with needing a slew of updates right away. It took hours to get through all the Windows Update reboots and so forth; including a few times when the PC wedged/hung while trying to access Windows Update.  This continues to be a huge thorn in the side of PCs (and the Mac, by the way, is not immune to this; they require updating out of the box too!). Since being updated it has run flawlessly.

The only real nit we have is the keyboard. For some reason my wife simply cannot type on it without the spacebar not firing. I didn’t have this problem but it drove her nuts so we just used her old keyboard which is a Microsoft Wedge (which she, for some reason loves).

Ironically, I think Windows 8 works even better on a device like this than on the Surface!  This is primarily because Windows 8’s second (or 1st depending on your perspective) personality is not neutered.  That is, the old-school Windows desktop and legacy apps work completely as expected on a full-PC like this whereas on the Surface only a subset of Office (no Outlook) works and interacting with the old UI is difficult with touch.

On a side note related to touch-screen-all-in-one PCs.  I was completely prepared to buy a 27” iMac for my wife, but only if it had a touchscreen.  No way would I buy a $1500-2000 device without a touchscreen these days. Apple has, ironically, missed the boat on this one.

© Charlie Kindel. All Rights Reserved.

If This Looks like This in 3 Weeks, We’ll Know The Answer

This is the VerizonWireless Smartphone device page as of today.

This is the “Featured” view, which means Verizon decides what devices appear at the top of the page.

Untitled

In about three weeks, if there aren’t a few Live Tiles a the top of the page then the canary is dead.

© Charlie Kindel. All Rights Reserved.

Keeping Tracks of Books I Read

imageEach January I post a list of books I read during the previous year (one of my favorites this year is @Scalzi’s Redshirts). Even though almost all books I read are via Amazon and Kindle, it is still a total pain in the butt to create those blog posts.

http://ceklog.kindel.com/category/passions/books/

This has me thinking about a potential app idea and I’d love to hear from YOU about how you keep track, document, list, and share the books YOU read.

I’m sure the vast majority of people don’t care to keep track.  But some, like me, do.  If you are one of of those, please let me know in comments below how you do it…and how you’d like to do it.

© Charlie Kindel. All Rights Reserved.

LockerGnome Guest Post on Mobile Fragmentation

Today LockerGnome ran a guest post by yours truly titled “The Fragmentation of Mobile Fragmentation”. This is a follow-on post to my post focused on Android in January, intended to express my opinions on the broader mobile ecosystem.

(Note, as of right now, the post on LockerGnome does not have my byline. They are working on fixing that).

Mobile fragmentation is going to get significantly worse over the next few years. While this fragmentation will be bad for end users in some cases, it will be particularly bad for developers.”
                – Charlie Kindel, LockerGnome, Oct 22, 2012

The TL;DR is:

  • Mobile fragmentation exists across five axes (UI, Device, OS, Marketplace, & Services).
  • Fragmentation along these axes within platforms is bad and getting worse.
  • Fragmentation across platforms is getting even worse.
  • Devs will suffer, but in the end it is really a positive thing because it’s a sign of competition and innovation and proves “Software is Eating the World”.

Head on over to LockerGnome and join the discussion in the comments.

© Charlie Kindel. All Rights Reserved.

Revisiting the Mullet: Why Surface is not a MS Business

A few weeks ago a bunch of people (who should know better) were running around like chickens with their heads cut off yelping “Surface will be $199!”

Exasperated, I wrote a post1 describing just how idiotic a concept that would be. I showed that even if Microsoft was serious about Surface being a real business, it could never sell it for $199 this fall. I promised to wear a Kasey Keller like mullet to Build if I was wrong.

In that post, I asserted that

I think it is far more likely that Microsoft will sell the Surface for $599. They’ll sell every one they make at that price and earn a respectable 20% margin (maybe 3 million in 12 months; maybe). And in so doing, will support the broader ecosystem that is required to keep the existing Windows business profitable by shipping 350 million PCs next year.

It turns out the Surface with a cover is $599. Without, it’s $499. I had done my back-of-the-envelope math assuming it did not include a cover. Thus I was very, very wrong when I said Microsoft will “earn a respectable 20% margin”.

The $499 price means Microsoft will not make any real margin2 on the Surface.

They may make some profits on the cover, assuming the cover isn’t ridiculously expensive to make (it might be). But even then there is no way the amount Microsoft will make will come close to the $85 they are reportedly charging OEMs for Windows RT licenses.

Worse, every Surface that sells is one less non-Surface Windows RT unit that sells meaning Microsoft not only doesn’t get the $85 from the Surface sale (they’ve priced it so close to wholesale there’s no margin in it) they won’t get $85 from the OEM.

Surface is a North star product for the Windows business. It is not a “Microsoft business” (Microsoft businesses generate $5B+ a year in PROFIT). The Windows business makes $11.4B in PROFIT every year. This profit margin is under pressure from the price of a Windows license being forced down. Surface makes this worse and provides no path to recouping that profit via other means.

I don’t know how MS plans on generating more profit with Windows. But I’m really sure it is NOT Surface.

 

1A $199 Surface? I Will Wear a Mullet

2Retail Pricing, Markup, and Margins

© Charlie Kindel. All Rights Reserved.

I Want A Surface Keyboard for My iPad

I had two hilarious encounters with the new Microsoft Surface advertising this weekend. One is just funny. The other is telling.

Here’s the ad:

Microsoft’s first real TV spot for the Surface

Funny item #1:

Multiple people asked me if, at 13 seconds in, I had a little cameo:

No, that’s not me. I know people think we all look alike though.

Funny, but not so funny (for MS), item #2:

We’re watching the Flordia State v. Miami football game (I hate both teams, not sure why I was watching it). The commercial (“Movement”) comes on…

After it’s over:

My wife:

“We should have gotten that keyboard for Christine’s iPad instead of the one we got.”

(Christine’s our daughter, we got her one of the Logitech iPad keyboards).

Listen, my wife has been around a lot of technology for a long time. She’s always just put up with it (and me). She calls it as she sees it.

She thought it was a good commercial. She had no idea what it was for. She seriously thought it was for an iPad accessory. 

This is not her fault.

This is Microsoft’s fault.

Windows 8, Windows RT, and Surface are massively confusing. This is a mess for Microsoft.

© Charlie Kindel. All Rights Reserved.

The Market Sides of the Mobile Ecosystem

I’ve been using a taxonomy to describe the market-sides of the mobile ecosystem that looks like this:

 

image 

Up until now, my writing on the mobile ecosystem has been focused on smartphones, because their adoption and sales dominated. Given the season of the tablet has started, I need to make some points about how tablets relate.

Even though we use the term “mobile” to describe scenarios involving both phones and tablets, before I go further, get this through your head:

Phones are not tablets and tablets are not phones.

The market and business dynamics of phones are fundamentally and significantly different than those of tablets. Why?  Because phones require a voice service, either pre-paid, or as subscription to be useful. Thus the primary channel for phones is carriers. This is more true in the US than the rest of the world, but it still generally holds. Phones are generally subsidized by the carrier and that subsidy is made up over the life of a (typically 2 year) contract.

Tablets are useful without a voice connection. Some tablets are sold with embedded cellular data connectivity, and a subsidy, but the vast majority do not include anything but WiFi connectivity. Thus the primary channels for tablets are retail and online, not carriers.

If you follow me to this point, you’ll agree the taxonomy picture above is phone specific. It includes Carriers but not other channels where devices are purchased by end users.

When I first wrote my piece explaining how fragmentation of Android was good for Android but bad for Google I almost included Services as a specific market-side. However, at that time, service fragmentation was mostly just theory and I felt it would add complexity not required to make my point. Since that time Amazon has demonstrated how serious it is about building a competitor to Google’s app store and Apple kicked Google Maps out of bed. 

These examples and more mean we are going to see a significant amount of platform fragmentation along the services axis in the next year. I plan on writing my thoughts on why and how, thus I need to add Services as a key side of the taxonomy.

Here’s the updated taxonomy that changes “Carriers” to “Channels” and adds “Services”:

image

The Six Primary Sides of the Mobile Ecosystem

The mobile ecosystem is a multi-sided market where each side gives and receives value from other sides. The six primary sides of the mobile ecosystem include:

End Users: Own the disposable income. Idealistically they drive the ecosystem; realistically they are slaves to marketing and advertising.  Examples: Me and you.

Channels: Own the sale of the device and/or service to the End User. Own billing. Own Sales. In the case of carriers, own the physical pipe. Because the money flows through them, they, effectively, are the primary owners of the customer relationship. They also are often directly responsible for the majority of the marketing. Examples: Verizon, Amazon.com, Best Buy, Apple Stores, iTunes, Windows Store.

Device Manufacturers: Own the hardware. Own the industrial design. They hate not owning the customer relationship. But their HW bias (and manufacturing capex structure) prevent them from breaking out of this (there are no proof points of large hardware manufacturers becoming successful software companies).  Examples: Samsung, Apple, Nokia, Microsoft (for Surface).

OS providers: Own the core of the customer experience. Think they own most real innovation. They hate not owning the customer. In some cases, their core business models (search, desktop/server OS, office, …), means they are at the mercy of some middleman between them and the customer. Examples: Apple (iOS), Google (Android), Microsoft (Windows).

Services: Own key components of the customer experience. Tend to be sticky. Examples: Apple Maps, Google Search, Xbox LIVE, Kindle Fire App Store.

3rd Party Developers: Deliver the most of the end-user benefit.  Actually own most of the real innovation. They target platforms which have the greatest promise of ‘eyeballs’. Some care deeply about monetization features of the platform; others care more about distribution. They despise the inter- and intra-platform fragmentation that exists.

This fall starts the season of the tablet. Between Apple’s rumored iPad mini, Microsoft’s Surface, the new Kindle Fires, new offerings from Samsung and other Android device manufacturers, and the coming onslaught of $100 tablets we are on the cusp of an explosion in the tablet space. 

It’s important that we have a common framework for understanding the dynamics of this ecosystem. I can’t control what taxonomy and lexicon YOU use, but I can try to be clear and consistent with mine. Hence this post.

Would love to know your thoughts…

© Charlie Kindel. All Rights Reserved.

Mobile is Mobile

In the past, I’ve instinctively associated “mobile” with “phone”, as in something that has cellular voice as a primary function. But most of the world has, apparently, decided to include tablets (but, curiously, not laptops) in this definition.

I did an informal poll on Twitter. I asked:

The vast majority of respondents said “Yes”.

I don’t much care either way, I just want to be consistent. Therefore, based on this little poll:

From here on out, if I use the term “mobile” I mean a user, business, or developer scenario where the primary device is not tethered to mains power.

Thus a scenario involving a smartphone, a tablet, a laptop, a netbook, an computer embedded in the dashboard of a car, a connected camera, or a device like a Fitbit is “mobile”.

Of course, this means we can also imply “Mobile” is everything but desktop computing, data-centers, cloud, and television.

(For the record, I’m making this statement because I’m working on a set of posts where I don’t want to have to argue about this. I figure if I write a post that defines what I mean I can just reference it).

Update:  More here

Discuss…

© Charlie Kindel. All Rights Reserved.

MileLogr now Supports Outlook.com!

On September 10, Stefan & I launched the beta of MileLogr. We got some great feedback and have just launched a major update.

MileLogr is a Calendar App that Creates Mileage Logs.

MileLogr integrates with your calendar and creates mileage logs for taxes, expense reports, and timesheets. Automagically.
For Free!

The new update incorporates the following new features:

  • Now supports Outlook.com (Hotmail/Live) based calendars in addition to Exchange/Office365 and Google calendars.
  • For calendar systems that support it, MileLogr now uses OAuth for authentication meaning users do not have to provide their usernames & passwords to connect.

Lower your taxes.

Do less work.

Reduce risk.

Give www.milelogr.com a try and let us know what you think.

© Charlie Kindel. All Rights Reserved.

Motorola is a Sunk Cost (and a sinking Titanic)

M.G. Slieger wrote, regarding the horrific “deal” Google got in buying Motorola:

Google bought the Titanic. And they bought it when it was already underwater. – @parislemon

This is cute (and true), not the right analogy because it makes people think Google bought Motorola for Motorola’s business. They did not.

Google paid $12.5B to become a patent-superpower like Apple and Microsoft. They had failed in getting the Nortel patents (or were thwarted, depending on your perspective) and panicked.

They are now dealing with the fallout of that impetuous decision.

Yes, Google bought the Titantic. And, yes, it was already underwater when they did so.

I suspect they now view that $12.5B as a sunk cost. Pun intended.

© Charlie Kindel. All Rights Reserved.

The Conversation Amongst MSFT, NOK, VZW, & ATT

NOK to MSFT: We really need to get all major carriers at WP8 launch.

MSFT to NOK: Agree! Let’s make it happen.

NOK to VZW: Do the 920 for launch!

VZW to NOK: Well, ok. Maybe.

MSFT to VZW: Do WP8!

VZW to MSFT: One word: Kin.

MSFT to NOK: Hey, Elop, beg them please!

NOK to MSFT: Ok, working on it…

Meanwhile.

MSFT/NOK to ATT: Do the 920 at launch.

ATT: Sure. We’re in. Let’s do it.  But we can’t spend much on marketing.

MSFT/NOK to ATT: What would it take for you to spend more?

ATT: How about an exclusive?

MSFT/NOK to ATT: Can’t really do that. Need to support all carriers. What else?

Meanwhile…

NOK to MSFT: VZW is dragging their feet. I think they hate you.

MSFT to NOK: Yea, they’ve always hated us. Fuck.

NOK to MSFT: Maybe we should give ATT a 3 month exclusive. It’s clear VZW is not committed. Better to have one committed carrier than two who aren’t really committed.

MSFT: Agree. Let’s do that.

Meanwhile…

© Charlie Kindel. All Rights Reserved.

Why Sr. People Leave MSFT in September

I tweeted about a bunch of senior MS people announcing their departures from Microsoft on Facebook and got a bunch of questions from my followers about why this happens.  Figured it was worth sharing my opinion on why.

There are four reasons:

  1. The general stock plan is set up so that stock is granted September 1. Stock grants vest over 4 years (the vesting schedule has changed over the years) and this means that large amounts of stock vest September 1.
  2. Annual bonuses are paid on September 15.
  3. The annual reviews are done and you are told “your numbers” sometime between late-August and September 15 (because you’ll see the results in your September 15 paystub). See my post “Got a 4? You Were Just Fired from Microsoft” for my thoughts on this.
  4. For consumer-facing products, fall is when products ship. This is due to a desire to get products into market for the holiday shopping season. When a product ships (e.g. Windows 8) everyone on the team who’s been head’s down over the summer lifts their heads and looks around for “What’s next?”.

The combination of these factors means that you will see a lot of people leave Microsoft in the fall (as I did).

Is it a good thing or a bad thing that these people are leaving?

From Microsoft’s perspective it can be both. Microsoft uses two terms to describe departures from the company:  Good Attrition and Bad Attrition.

Good attrition means Microsoft felt the person leaving was no longer providing the desired value or there was an expectation they would not provide value in the future. Usually, but not always, this person would have gotten a 4 or 5 on their most recent annual reviews. Microsoft (like most companies) is not very good at forcing people out (it’s actually very hard to get fired from Microsoft).

Bad attrition means Microsoft valued the employee and is bummed they are leaving.

Senior managers are expected to drive 5-10% attrition (which is why the stack rank system sets the quota for 5s at 7%), but there’s actually no positive feedback loop to incent them to do it. I think a stack-rank system is appropriate for a large company; but this point was one my biggest gripes when I was a manager at Microsoft.  The Microsoft system actually incents managers of high-performing teams to try to keep poor-performers around. Worse it provides an anti-incentive for firing them (if you have a high-performing team, you are not given credit for people you ‘managed out’ earlier in the year).

Of course, whether it’s good attrition or bad attrition is in the eye of the beholder. Frankly, when I see people like Bob Muglia leaving (he left last September) I see it as very, very bad attrition. Like the worst ever. Some of the recent announcements I’ve seen on my Facebook timeline made me think “Wow, that sucks for MS; that will leave a big hole.”

But there are some where I say “Its about time….I hope I don’t run into that person in some startup I’m involved in!”.  Clearly good attrition.

I suspect most large companies have similar cycles. Microsoft’s is centered around it’s fiscal-year which starts July 1.

© Charlie Kindel. All Rights Reserved.

What Kindle Means for Android

[This is a copy of a guest post I wrote for GeekList. Find the original here.]

I still think Amazon would be stupid to build a phone. But I no longer believe they won’t do it. Within the next 6 months Amazon will go big with their own Android based smartphone.

And when they do, it will be the moment that everybody else realizes that Google lost control of Android ages ago.

“Google has already lost control of Android and has zero chance of regaining control.”
–me, January 14, 2012

“We treat Android like Linux, and so it’s a base operating system layer.”
-Jeff Bezos, September 6, 2012

In my post titled “Fragmentation Is Not The End of Android” I explained how to think about mobile platform fragmentation by breaking the problem down along the 5 axes where a platform can be fragmented. Then I gave examples of how fragmentation along any of these 5 axis, can impact the participants in the mobile ecosystem.

In that post, I focused mostly on discussing the OS Providers. I included commentary on Apple, Google, and Microsoft highlighting their asymmetric competitive nature, but focused on Google and why it had lost control of Android, and how, I believe, it will never regain control.

I explained how none of the tactics Google might try will work; the proverbial camel’s nose is under the tent and Google will never regain control of Android.

I ended that post with this:

Oh, and if after reading the above tome, you still don’t agree. Consider this article  about television. Remember, Android is not just about mobile…

Why? Because at the time that post was written, the Tablet Wars had not really begun, and most people were focused on the Smartphone Wars.

Originally, I was skeptical about how serious Amazon was about becoming either an OS Provider or Device Manufacturer. I (still) believe they can accomplish their business goals by providing their shopping & reading experiences on ALL devices, but Mr. Bezos & Co. appear to disagree with me and it is now clear they are diving head-long into selling their own devices, running their own OS, directly to consumers.

Amazon is directly competing with Google now on all of the “axes of fragmentation” of the mobile platform known as Android:

  • User Interface – The Kindle (and whatever Amazon’s smartphone is called) throw out Google’s UI look and feel and replace it with one unique to Amazon.
  • Device – Amazon is now, effectively, a device manufacturer.
  • Operating System – As Jeff Bezos points out “We treat Android like Linux…”.
  • Marketplace – This is Amazon’s core competency. No need for Play here.
  • Service – Fire up a Kindle and try to find any evidence of a Google service.

Other than some leakage of the Android brand within 3rd party apps, Amazon is doing all it can to keep its users from knowing their devices run Android.

In writing this, I am assuming Amazon will be at least moderately successful with both their tablets and phones. If that assumption holds true, then there is no turning back for Android.

“Google has already lost control of Android and has zero chance of regaining control.”
–me, January 14, 2012 and again today.

© Charlie Kindel. All Rights Reserved.

Paying Developers is A Bad Idea

The companies that make the most profit are those who build virtuous platform cycles. There are no proof points in history of virtuous platform cycles being created when the platform provider incents developers to target the platform by paying them.

Paying developers to target your platform is a sign of desperation. It means developers have no skin in the game. A platform where developers do not have skin in the game is artificially propped up and will not succeed as a virtuous platform.

The Windows Phone 7 team was in a very, very desperate situation. I was quoted in the NY Times (Jan, 7 2012):

Charlie Kindel…compared the pain caused by starting over to the predicament of Aron Ralston, the hiker who amputated his own arm in 2003 after it was it pinned under a boulder in the Utah desert.

“This boulder comprised of Apple and Blackberry rolled on our arm,” said Mr. Kindel, who left Microsoft last summer. “Microsoft sat there for three or four years struggling to get out.”

We were willing to do just about anything to get apps on to the platform. And we did just about anything.

Alec Saunders, who runs BlackBerry’s developer evangelism, understands this rule as well as anyone else on the planet. He & I worked together on Windows in the late ‘90s. I’m sure he knows paying developers to target BlackBerry 10 is a bad idea.  BlackBerry is that desperate. So he’s effectively paying $10K per app that gets written. Bad idea. But he has no choice.

I’ve discussed platforms here many times. The word platform is one of the most misused terms in our industry. Here is what I mean when I discuss platforms:

A Platform is a cohesive combination of technology and marketing that provides the means for a multi-sided market to operate in a virtuous cycle.

This, of course begs the question of what a virtuous platform cycle is:

A virtuous platform cycle exists in a multi-sided market when each side of the market both gives and receives positive value from the other sides.

So much positive value is exchanged, with low friction, that the cycle grows and grows, like a snowball rolling down hill.

The more sides to the market that exist, the more complex the system and the harder it is for the cycle to start. However, once started, a market with many sides will accelerate faster.

Examples of successful platforms we’ve seen and are currently seeing:

  • IBM System/360
  • Windows (big Windows, not Windows Mobile/Phone)
  • The iPhone
  • Amazon.com shopping
  • Google Search

In each of these cases, and other examples I’m sure you can come up with, there was a multi-sided market, and, at least for a while, a virtuous cycle existed because one vendor created a platform with the characteristics required to allow the sides of the market exchange value efficiently.

I think the example most people understand is Windows. The market sides were (are): Windows, Intel, OEMs (e.g. Compaq, DELL), IHVs (e.g. ATI, SoundBlaster), ISVs (e.g. Lotus, Adobe, Office), retailers & channel (e.g. Egghead), and of course, end users.

The ISVs of today are the app developers. For Windows to continue to be a platform that enables a virtuous cycle (and therefore to generate the historical profits it has in the past) there must be an efficient and natural exchange of value between app developers and the other sides of the market.

Apple accomplished this with the iPhone: It enabled app developers to very efficiently provide value to end users (one side of the market) and in return receive value from end users via payments and eyeballs. Apple provided value to developers (a marketplace). Developers provided value to Apple (non-native functionality). Because of luck, tactics, and great marketing, Apple ended up creating a virtuous platform cycle around the iPhone platform. And they didn’t have to pay for apps.

Those developers were motivated by other things to get started: The promise of an efficient marketplace, the chance to do something cool and different, and the promise of lots of users. They also weren’t really doing anything else. In 2007, before the AppStore, there was no other efficient market where they could participate and profit. Once they got started their investment in time and resources meant they had skin in the game. Thus they continued, and are less likely to move to other platforms.

Now, let’s talk about Windows 8. As of right now there are 2,000 apps in the Windows Store according to Win8Update. The goal Microsoft has for launch (in about a month) is ‘5 digits’.

Microsoft got those apps using the following tactics:

Microsoft Employee Moonlighting

Allow Microsoft employees to build apps in their spare time (we used this to great success with Windows Phone 7; I can’t tell you the percentage of early apps that were built by employees but it was more than you probably think).

Promise Windows 8 Will Do Very Well

This is actually a pretty easy sell. As Steve Ballmer was quoted as saying yesterday

“There will be customers coming and looking for apps. That I can assure you,” he said. “If 400 million PCs get sold in a year, at least two-thirds get sold in the Windows market. That’s 250 odd million, plus whatever we get in the consumer upgrades.”

Even if Windows 8 is a failure, it will sell hundreds of millions of copies in the next 12-24 months. Heck, there are already 16 million devices running the preview versions of Windows 8. “That’s more than the number of iPad 1s Apple sold!”

If it weren’t for already having resources tied up focusing on iOS (and to a lesser extent) Android, just about any sane developer would jump at this opportunity.

Talk About The Tools

Microsoft’s Visual Studio tools are really quite good, especially for building against Microsoft platforms. Developers who have built substantial apps for iOS using Xcode and then built for either Windows Phone 7 or Windows 8 with Visual Studio have told me they are more than twice as productive. You can find all sorts of articles like this as well.

The “sell” from a Microsoft evangelist to a (non-Microsoft employee) developer is thus:

“Don’t be late to the party. Within just a few months there will be 10s if not 100s of millions of people looking at the Windows 8 Store for something to buy. Yes, I know you are busy, but Visual Studio is so good that it will take you far less time than you expect to move your app to Win8.”

Will this be enough to get 10,000+ apps by October 26, 2012? I don’t think so.

Of course, the numbers of apps in the store is not the most important metric. What apps and their quality is far more important. But Windows 8 is going to struggle there too. Big brands and names are focused on iOS and Android; and are already reaching sufficient eyeballs today via those channels. The lure of future eyeballs on Windows 8 is not strong enough to cause them to shift budgets and move developers off of their iOS and Android projects.

So far, according to my sources, Steven Sinfosky who runs the Windows Division at Microsoft has steadfastly refused to pay for Windows 8 apps to be developed. I have not agreed with Steven on a lot of things, but on this point he’s got his principles right.

However, as I predicted last Spring, it is highly likely things are about to change and Microsoft is going to start directly incenting developers to build apps with cash. If I’m right, and we start to see clear evidence that Microsoft is paying for apps then Windows is in even more trouble than most of us already believe.

If I’m wrong, and Steve & Steven keep the checkbook in their pocket then my assertion is they have confidence in the long-term.

Time will tell.

Let me know your thoughts below.

© Charlie Kindel. All Rights Reserved.

Doing git Dev on Two Machines

I prefer coding on my workstation (30” + 24” LCDs, fast, great chair, etc…).  But sometimes want to hack on my laptop (an MBA) when I’m out and about.

Here’s my workflow.

I am posting this for two reasons:

  1. It’s complex enough that regularly forget how to do it. I rely on random Bing searches to remind myself. This way it’s all in one place.
  2. I’m not sure I’m doing it right, or if there’s an easier way. If people provide comments I’ll update the workflow accordingly.

Machine Setup

The first thing is to get the machine setup. These days, because MileLogr is an ASP.NET app, I do most dev within Windows.  Once you are past machine setup the rest of the workflow is basically the same.  I use the tools outlined in my post on Coping with the OSS Command Line on Windows to make my Windows workflow work.

In short I install & configure Chocolatey (a Windows tool/package manager that makes installing all this stuff super-easy) and then, in turn use that for installing all the stuff below, from a elevated cmd.exe.  Someday I’ll write a cmd script that does this, but for now I just type each command, e.g.:

C:\>cinst sublimetext2

I do this for each of the following:

Of course, I also have Visual Studio and ReSharper installed.

Once all of the above is installed and configured I use a PowerShell prompt within ConEmu; I rarely ever go back to cmd.exe.

A big part of setting up a machine is dealing with SSH keys. I use both github and bitbucket.org so I need multiple SSH keys.

Generate a RSA SSH key

C:\Users\charlie\.ssh> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/charlie/.ssh/id_rsa): foo
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in foo.
Your public key has been saved in foo.pub.
The key fingerprint is:
...

Take the resulting foo.pub file and add its contents to your SSH keys on github or bitbucket.

Add each key to ssh

C:\Users\charlie\.ssh> ssh-add .\foo
Enter passphrase for .\foo:
Identity added: .\foo (.\foo)

Setup .ssh/config

To support multiple git hosts (e.g. github, bitbucket, Azure Web Sites, etc…) on a single machine use a .ssh/config file. Here’s mine (with foo added):

C:\Users\charlie\.ssh> type .\config
Host          tig
HostName       github.com
User           git
PreferredAuthentications publickey
IdentityFile ~/.ssh/tig_rsa

Host          heroku
HostName       heroku.com
User           git
PreferredAuthentications publickey
IdentityFile ~/.ssh/heroku_rsa

Host          sourceforge
HostName       sourceforge.net
User           git
PreferredAuthentications publickey
IdentityFile ~/.ssh/sourceforge_rsa

Host          wpengine
HostName       git.wpengine.com
User           git
PreferredAuthentications publickey
IdentityFile ~/.ssh/wpengine

Host          bitbucket
HostName       bitbucket.org
User           git
PreferredAuthentications publickey
IdentityFile ~/.ssh/bizlogr

Host          foo
HostName       github.com
User           git
PreferredAuthentications publickey
IdentityFile ~/.ssh/foo

Cloning a repo

To use git with the foo credentials, replace the hostname in the git clone command with the Host from the .ssh/config file above.

E.g. Assuming I added the foo.pub public key to my github account (tig), to create a clone of tig/jOdometer, github says to use this:

git clone git@github.com:foo/jOdometer.git

Instead, to ensure the right SSH connection is used, I would do this:

git clone git@foo:tig/jOdometer.git

Don’t forget to setup ssh-agent so you don’t have to enter your pass phrases each time you run a command.

Syncing a Branch

The general workflow Stefan and I are using for MileLogr is derived from this post:

http://nvie.com/posts/a-successful-git-branching-model/

This means that whenever I’m doing any work on MileLogr I’m doing it in a feature branch.  Our model is feature branches are generally per-developer and, if I weren’t trying to sync between two machines I probably would just keep them local (although making them remote has the benefit of providing backup).

Note we follow this guys advice and have two categories of branches: public & private. Public branches have a history that is “immutable, atomic, and easy to follow.”  Private branches are disposable and malleable. Master and develop are public.  Feature branches are private.

http://sandofsky.com/blog/git-workflow.html

Here’s the workflow.  Desktop is my desktop that I’m currently working on, where I’ve made changes I want available on my laptop.

Create feature branch

Let’s say I’m making some changes for a feature called demo. Below I create the feature branch and made a change to an existing file:

On my Desktop:

E:\code\milelogr [master]> git checkout -b demo
Switched to a new branch 'demo'
E:\code\milelogr [demo]> subl .\MileLogr\Views\_ViewStart.cshtml
E:\code\milelogr [demo]>
E:\code\milelogr [demo +0 ~1 -0]>

(Note, see how my prompt shows my git status? That’s posh-git at work. Love it!)

Committing and pushing work in progress

Now, let’s say I’m in the middle of hacking away and I need to run. But I want to be able to pick up where I left off on my laptop. I need to commit these changes and push them to a remote so I can pull them down to my laptop:

E:\code\milelogr [demo +0 ~1 -0]> git add MileLogr/Views/_ViewStart.cshtml
E:\code\milelogr [demo +0 ~1 -0]> git commit -m "work in progress"
[demo 5d1fcd1] work in progress
1 file changed, 1 insertion(+)
E:\code\milelogr [demo]> git push origin demo
Counting objects: 9, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 442 bytes, done.
Total 5 (delta 3), reused 0 (delta 0)
remote: bb/acl: bogus is allowed. accepted payload.
To git@bitbucket.org:bogus/milelogr.git
* [new branch]      demo –> demo
E:\code\milelogr [demo]>

Now, if you look on the remote (in my case on bitbucket.org) you’ll see the repo now has a new branch named demo.

Pulling a private branch

On the laptop, it’s now easy to pull this branch down.

On Laptop (note different path):

C:\Users\Charlie\code\milelogr [master]> git pull
remote: Counting objects: 9, done. 
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (5/5), done.
From bitbucket:bogus/milelogr
* [new branch]      demo       -> origin/demo
Already up-to-date. C:\Users\Charlie\code\milelogr [master]> git checkout demo Branch demo set up to track remote branch demo from origin. Switched to a new branch 'demo' C:\Users\Charlie\code\milelogr [demo]>

I can make changes on the laptop and when I’m done I can commit and push them by specifying the remote origin with the branch:

C:\Users\Charlie\code\milelogr [demo +0 ~1 -0]> git add MileLogr/Views/_ViewStart.cshtml 
C:\Users\Charlie\code\milelogr [demo +0 ~1 -0]> git commit -m "more work in progress" 
C:\Users\Charlie\code\milelogr [demo]> git push

I could setup tracking for a branch with

git branch --set-upstream demo origin/demo

and then subsequent git pull operations would just work. Or I can just

On Desktop:

E:\code\milelogr [demo]> git pull origin demo 

Integrating feature into develop

When it’s time to integrate this feature branch (demo) into our develop branch I’ll do this:

E:\code\milelogr [demo]> git checkout develop
Branch develop set up to track remote branch develop from origin.
Switched to a new branch 'develop'
E:\code\milelogr [develop]> git merge demo
…
Merge made by the 'recursive' strategy.

Note that I did NOT use  git merge –no-ff demo in the above example. Since we treat our public branches (develop and master) as ‘pure’, we do NOT want to fast-forward history when merging.  Instead we will always ‘clean up’ a feature branch’s history before merging (see this post for why).

I can then delete the feature branch (locally):

E:\code\milelogr [develop]> git branch -d demo
Deleted branch demo (was 303c53f).

If we’re really done with that demo feature branch we need to delete it from the remote too:

E:\code\milelogr [develop]> git push origin :demo
remote: bb/acl: bogus is allowed. accepted payload.
To git@bitbucket.org:bogus/milelogr.git
- [deleted]         demo

Finally, we push the develop branch to the remote:

E:\code\milelogr [develop]> git push origin develop
Counting objects: 1, done.
Writing objects: 100% (1/1), 231 bytes, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: bb/acl: bogus is allowed. accepted payload.
To git@bitbucket.org:bogus/milelogr.git
    46a5f06..298561f  develop –> develop

Hope this helps others.

Comments and suggestions on improving this workflow welcome below.

© Charlie Kindel. All Rights Reserved.

Eye-Fi: Shockingly Great Customer Service

I try to write blog post whenever I encounter truly great customer service. I think it’s important to call out companies who clearly get it; those who provide Shockingly Great Customer Service.

I have owned Eye-Fi cards since they came out. Last year I highlighted them in my annual gadget gift guide.

Wi-Fi should be built into every camera. But it’s not. With Eye-Fi we simply ensure the camera is turned on after taking pictures: within minutes all of the photos are on the computer ready for processing.

Yesterday morning I broke the write protect tab off the Eye-Fi Pro|X2 card.

I sent an email to support@eye.fi saying

I own 3 eye-fi cards.  My Pro x2 8GB+Wi-Fi card’s write protect switch has broken off and the card is now stuck in read-only mode.

Can I get this replaced?

Almost immediately I got a request back asking me for proof of purchase to verify it was still under warranty. I sent them a screenshot from Amazon.com’s order history page. I had purchased the card in 2010 and the Eye-Fi warranty is for 12 months. I figured I was out of luck.

This morning I got the following response:

I would like to replace your defective Eye-Fi card.

I had hoped Eye-Fi would take care of me. One could argue that the design of the write-protect switch is not the greatest. Given the way most companies treat customers I was skeptical.

Eye-Fi has proven to me that they provide Shockingly Great Customer Service. Not only do their products kick-ass but so does their support.

Buy one of their products with confidence:

Eye-Fi Connect X2 4 GB Class 6 SDHC Wireless Flash Memory Card EYE-FI-4CNEye-Fi 8 SDHC Class 6 Wireless Memory Card

© Charlie Kindel. All Rights Reserved.

Muscle Activation Techniques (MAT)

mriGod did a great job engineering our bodies. But I think he put the B-team on the design of the spine and the knees. I, knock on wood, have not had serious problems with my knees, but my back is another thing altogether. Like many of you I have a bad back. Both the discs at S1/L4 and L4/L5 are budging and/or burst, as you can see from this MRI taken of my back in 2006.

The 2008 MRI is even worse, but I can’t get the stupid Java based viewer to work (anyone know how to open “Amicas Viewer” files?).

I’ve struggled with my back “going out” since about 1997. In 2008 it was at its worst. Every 3-4 months I would have another incident where I’d do something like reach down to tie my shoe and WHAM! I’d spend the next 3-4 weeks being next to useless to my family and in excruciating pain.

I spent a lot of time on my back with ice packs. I ate ibuprofen like is was candy, and Soma/Carisoprodol was a good friend. While I had multiple spinal injections of steroids which helped a lot, the disc damage was never enough for my doctor to say “You need surgery!”. Than God.

I’m an active guy. I live for skiing. And I ski HARD. I am addicted to playing soccer. I suck, but when healthy I’ll play 4 times a week. This is me, heli-skiing in Valdez Alaska:

About 6 years ago, while at a party with my wife, I met Rick Emerson. Rick is a trainer at Athletic Training Institute in Redmond (@hyperspock on Twitter). Rick was learning a new treatment called Muscle Activation Technique (MAT) and over the years, as he’s become exceptionally gifted in applying it. It is flipping amazing.

Here’s the general idea:

  • The human body has about 640 different muscles. Some big, some small. They are not independent but work together in as complex system.
  • For any number of reasons sometimes some of these muscles “go offline”. They “stop firing”. Stress, trauma, or overuse can case this to happen.
  • When one muscle goes offline others try to compensate. The compensating muscles don’t have the right alignment and cause the skeleton to get out of whack, putting excessive stress on joints.
  • A skeleton that’s out of alignment combined with muscles that are offline is a recipe for disaster. At extreme ranges of motion or under hard force (e.g. reacting to an unseen mogul on the ski slope) can result in a blown knee or burst disc in the back.
  • The key, then, is to identify what muscles are “offline” and do something to turn them back on.
  • This is what MAT is: Identify what muscles are offline and then use several techniques to get them to wake up. If successful (and in my experience it is SHOCKING how well it works) then the body gets back in alignment.

My back, because of regular weekly MAT sessions with Rick and despite playing soccer 4 times a week and skiing hard, has been completely pain and spasm free for over two years.

Last Wednesday I went wake boarding with a friend. I pushed hard, riding switch and trying to jump the wake toe-side. I never fell, but I was working really hard and really torqueing my upper torso. Afterwards I felt fine.

The next morning I woke up, again feeling fine. However, after sitting at my desk for a few hours doing work I got up and reached down to pick up a bag; before my hand even touched it I felt my back “go”. If you’ve ever had your back go out you know the feeling. F**k!

If this had happened to me 4 or 5 years ago it would have meant that I would be flat on my back for a week and basically useless in all thing for another 2 or 3 weeks. With MAT I was able to play soccer this morning and be completely pain free.

MAT testing involves the trainer having you try to push against his/her hands in various positions. For example, I’ll lie on my back, and Rick will elevate my right foot, pull it outward and say “I’m going to push down and in, you resist”. If I can resist his downward push, whatever muscle he’s testing is “on”.  If my leg collapses (and it’s really wild when it does!) then he knows what muscle is “off”.

When the trainer determines what muscle is offline, he/she will typically try to “activate” it with direct palpation (massaging with some force) of the point where the muscle is attached to the bone (sometimes this hurts like hell, but it’s a good pain).

The trainer then tests again, and 99% of the time I am able to resist his force. The muscle is now online.

I picked this example (right leg up and out, pushing down and in), because it is shocking (to me anyway) what muscle this is testing. In my case the muscle Rick palpates is on my LEFT SHOULDER. This just reinforces how complex and interconnected the body is.

This incident with my back was a result of the muscles in my upper torso being stressed by the wakeboarding. Rick treated me, not by trying to ‘fix my back’, but by identifying which of these muscles was pissed off and offline and activating them. Once activated, the other muscles (e.g. in my hips) stopped having to compensate, my body realigned, and the stress from my lower back was removed. Ta-da!

MAT was invented by Greg Roskop in Denver (it is rumored that one of the reasons Payton Manning choose the Broncos is because of Greg and MAT). The official MAT website is at www.muscleactivation.com

What is Muscle Activation Techniques

There are bunch of videos on YouTube that show it off.  This one represents well:

Here in the Seattle area, the premier place for this kind of treatment is ATI in Redmond. There are 5 or 6 trainers there who are all trained in MAT (to varying levels).  The sensei is Erik Schwenn who has the MAT Master Level certification. Rick, my trainer, Kirk, and Terry are all certified as MAT Specialists. And there are a few more.  I regularly see local pro athletes in there. It is a great place that has, and I don’t say this lightly, changed my life.

I’m not writing this because I think ATI needs more business. I don’t know if they do or not. I’m writing it because I am such a huge fan of MAT that I want others to be able to take advantage of it. The official MAT website has a list of all MAT specialists so you can look one up wherever you live.

One sucky thing about ATI is they don’t accept insurance. I know that in other cities there are places where MAT is applied that do. For me, I can’t imagine many things I’d rather spend money on.

© Charlie Kindel. All Rights Reserved.

Facebook is like a Brick

At my Future of Mobile talk at Thinkspace last week, someone asked me what I thought of Facebook’s future. I came up with an analogy for explaining my perspective, and have since developed it further.

“All the big guys have potential energy. They are objects with mass at altitude. Apple, Microsoft, and Google’s altitude comes primarily from their massive profits. Facebook’s altitude results from having lots of eyeballs in their social graph. There are other things that contribute to their altitude that are important like owning lots of credit card numbers.

I think a strong business model that is generating large profit margins and huge earnings (not revenue, but profit) means the ‘object’ has an aerodynamic shape and control surfaces. As these objects  (Apple, Microsoft, Google for example) fall, and they use their potential energy, they fall in a controlled manner. They can have direction and purpose. This gives me confidence.

On the other hand, Facebook is like a brick. Yes there is potential energy. But as it uses that potential energy it just falls straight down. Maybe it will sprout wings and be directed, but right now it’s just a big ugly brick falling…

This is why I would never invest in Facebook and I don’t like investing my time in startups that are all about gaining eyeballs without a clear path to profit.  Yes, there is potential there, but it’s just too uncontrolled.”

I’d love to know what you think of it this analogy. Does it fly (pun intended)?

© Charlie Kindel. All Rights Reserved.