"Write Once…" is Anti-Customer

Just as in the ’90s, there’s a bunch of hype these days around solving the cross-platform development problem. Mobile platform fragmentation is killing developers, and if only every device supported some common language or technology engine we could all Write Once and Run Anywhere.

If only.

WORA was, is, and always will be, a fallacy. WORA reminds me of the mole in whack-a-mole. It just keeps popping up and the realities of competing platform vendors keep whacking it back down. What drives me crazy is not the “Run Anywhere” part that most people throw out and replace with something else (like “Optimize Everywhere” , “Suck Everywhere”,  “Test Everywhere”, or “Outsource the optimization“).

It is the “Write once…” part that’s the most dangerous. We all wish the world was rainbows and unicorns, and “Write once…” implies that there is a world where you can actually write an app once and it will run on all devices. But this is precisely the fantasy that the platform vendors will never allow to become reality. Stop asking for it.

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.”
Me on LockerGnome, Oct 22, 2012

HTML5 is awesome in many ways. If applied judiciously, it can be a great technology and tool. As a tool, it can absolutely be used to reduce the amount of platform specific code you have to write.  But it is not a starting place. Starting with HTML5 is the most customer unfriendly thing a developer can do.

“We start with the customer and we work backward” – Jeff Bezos

“… you gotta start with the customer experience and work backwards to the technology.” – Steve Jobs

Like many ‘solutions’ in our industry the “Hey, write it once in in HTML5 and it will run anywhere” story didn’t actually start with the end-user customer. It started with idealistic thoughts about technology. It was then turned into snake oil for developers.

Not only is  the “build a mobile app that hosts a web view that contains HTML5” approach bass-ackwards, it is a recipe for execution disaster. Yes, there are examples of teams that have built great apps using this technique, but if you actually look at what they did, they focused on their experience first and then made the technology work. What happens when the shop starts with “we gotta use HTML5 running in a UIWebView” is initial euphoria over productivity, followed by incredible pain doing the final 20%.

The problem is each major platform has its own UI model, its own model for how a web view is hosted, its own HTML rendering engine, and its own JavaScript engine. These  inter-platform differences mean that not only is the platform-specific code unique, but the interactions between that code and the code running within the web view becomes device specific. And to make matters worse intra-platform fragmentation, particularly on the platform with the largest number of users, Android, is so bad that this “Write Once..” approach provides no help.

The father of WORA: James GoslingI blame James Gosling. He foisted Java on us and as a result Sun coined the term Write Once Run Anywhere. (Joking!)

Developers really want to believe it is possible to “Write once…”.  They also really want to believe that more threads will help. But we all know they just make the problems worse. Just as we’ve all grown to accept that starting with “make it multi-threaded” is evil, we need to accept “Write once…” is evil.

There is no “Write once…”. I wish there were. I know you wish there were too. But I wish my daughter had a baby unicorn to ride too.

There is, however, “Focus on creating the best possible user experience on each device and try to get as much code re-use as you can along the way.”

Focus on the experience, try to get code re-use.

Not as catchy, but far, far, more realistic. And helpful.

Edit: February 22, 2013 – Shortened title to make it less inflammatory.

© Charlie Kindel. All Rights Reserved.

Bubbly Time: MileLogr has its first, real, paying customers!

Champagne GlowWhen we launched MileLogr (www.milelogr.com) yesterday we didn’t know how long it would be before the first real customer actually paid us for a report.

It happened today! We have monies!

It is time for a serious glass of champagne!

We got some great press on the launch too.  Todd Bishop of Geekwire wrote:

The service, called MileLogr, works in conjunction with Google, Microsoft, Yahoo and Apple calendars, creating a detailed mileage report based on the location of meetings as noted in each user’s calendar.  One of the big selling points is that it works retroactively, pulling the information from a calendar even if you weren’t specifically tracking your mileage last year.

And Nick Wingfield of the New York Times wrote:

…it had the smarts to calculate the length of a trip even if I didn’t give it an address. For example, I set up a recurring weekly meeting at Microsoft, without supplying the company’s location in Redmond, Wash., about 20 miles from where I live in Seattle. It figured out on its own where Microsoft was located by doing a search of online mapping services. (The chief executive of BizLogr, the company behind MileLogr, is Charlie Kindel, a former longer time Microsoft manager and a respected blogger on technology.)

An awesome launch! Now it’s time to iterate, iterate  and iterate and please thousands of customers like the early ones!

If you forgot to track your mileage last year MileLogr can save you thousands by figuring out where you drove from your calendar. Check it out at www.milelogr.com.

© Charlie Kindel. All Rights Reserved.

Why Nobody Can Copy Apple

Horace Dediu has written another brilliant piece titled “Why doesn’t anybody copy Apple?”. As he points out, Apple is fairly unique in its command of vertical integration and many people point to that as the “why”. However, Horace also admits this can’t be the sole reason and he is unable to explain what that reason could be. I think I know.

Tim Cook refers to integration and a great team as unique Apple advantages (but also note the references to magic and belief.)

Apple’s products are unique not on their feature merits, but because of the way they are conceived, designed, built, sourced, manufactured, shipped, marketed, sold, opened, held, and used. This is integration taken to the extreme and it would be difficult for any company to replicate.

It’s a better explanation but it is still hard to understand why nobody copies this approach. Integration is something that can take a long time, but it is possible with a Herculean effort. A few companies are starting to make moves in that direction (e.g. Microsoft.) But efforts are half-hearted. There is no “move the Earth” panic to become an integrated company from Samsung, Google or Microsoft.

I completely agree with all this: Replicating Apple’s vertical integration is a hard problem, but not an intractable one for the Microsoft & Google’s of the world.

I assert there’s something else that makes Apple is unique amongst its (asymmetric) competitors (e.g. Google, MS, Samsung):

It only focuses on one customer: The Consumer.

In my experience, the behaviors and culture of an organization (large or small) that focuses on the Consumer as a customer is diametrically incompatible with the behaviors and culture of an organization that focuses on Business as a customer.

I feel strongly that this is a key reason Microsoft’s products are often good, but not excellent; the consumer ones and the business ones. This is why Google will never be able to beat Apple at Apple’s game: Google’s customer focus is split between the advertiser and consumer.

The behaviors of organization, which are really driven by the attitudes, actions, priorities of the people, define what the organization produces. The behaviors required to delight the consumer are simply at odds with the behaviors required to delight businesses. You cannot do both simultaneously in a single organization and be excellent.

© Charlie Kindel. All Rights Reserved.

1929 Jennings ‘Dutch Boy’ Quarter Play Slot Machine

In the ’50s my father & grandfather came across about a dozen slot machines that had been unearthed from a building excavation in Chicago. Out of the pile, they were able to restore a couple of them.

I remember my grandfather’s at their house in Grand Rapids. It was a nickel based unit and he always had a jar of nickels next to it.

We had a $.25 based machine. When I was a kid, my dad gave me the job of keeping it running. This basically entailed removing jammed coins that one of my older sister’s had forced into it and occasionally oiling things.

Last spring when my mom passed away, I finally took possession of the machine. It had been sitting in storage for about 5 years. It required a deep cleaning, but otherwise is still in great shape.

I present to you an amazing piece of mechanical workmanship, a “1929 Ode D Jennings Dutch Boy Quarter Play slot machine”:

More photos here: http://www.flickr.com/photos/ckindel/sets/72157629446309168/

© Charlie Kindel. All Rights Reserved.

Don’t Make Your Team Say No To You

In early-stage ventures, whether it’s a bootstrapped technology startup, or a new initiative within a big company, the leaders are often visionary “idea people”. The difference between success and failure is how good these leaders are at training their teams to say No. Idea people often forget they are disrupting their own teams by voicing their ideas. I’ve learned some techniques that can help you avoid putting your teams in this position.

When I was building home networking for Windows at Microsoft, I learned getting a team to a focused plan, and getting the team members to stick to the plan, was hard. I also learned that it was possible and that a tool like the 5Ps could really help.

But, in retrospect, I also learned I had made it much harder than it needed to be. I’m an idea guy. Ideas come to me a mile a minute. At that point in my career I didn’t realize how disruptive it was to my team that I was spouting these ideas to the team while they were executing on the current plan. In my head, I was just talking about potentialities for the future; by telling the team about all the cool things we could do in the future, I was showing “vision”.

What I found out later, when talking to people who had been on that team, was they viewed me as a “randomizer” they needed to control. In other words, the team spent time and energy MANAGING THE MANAGER. I forced them, regularly, to say “No” to ME.

If you are a leader of an early-stage venture, you need to figure out a way to “vent” your ideas that has NO impact on your team. Here are some tactics I’ve used and seen others use that might help you do this.

Use the “Mountains To Climb” Metaphor

Charlie on top of OddessyA mountain climbing team sees a series of mountains in a mountain range. They aspire to climb them all. But they known they can only successfully climb one mountain at a time. As they climb the first mountain they can see the other mountains in the range. The view inspires them. As they approach the summit, gaining altitude, the view of the other peaks gets even more beautiful. This motivates them even more to complete the current climb.

A product team sees a long term vision for the product and starts marching towards it. If it is just one monolithic vision they will likely fail to accomplish it. To succeed the leadership should break the vision down into 3 or 4 smaller components, and say “Think of each of these as a mountain in a mountain range. Our goal is to conquer the entire range (that’s our vision). We’ve picked this mountain here as the first to climb. We can climb the others once we’ve summited this one.” 

Of course, prioritization is critical here (which component of the vision is the one that should be tackled first?). Great leaders are great at driving this prioritization.

Early on, help your team understand this metaphor, and use it consistently. Whenever you catch yourself saying “Hey, wouldn’t it be cool if we…” or “I’ve got an idea!”, go ahead and share the idea, but couch it with “Of course, this is part of our next mountain climb, not the current one.”

Put Future Planning Events in the Schedule

In the “Plan” part of the 5Ps, the schedule is always a top-down schedule. It starts with the end-date (the top) and works backwards to today. A great tactic for allowing potentially disruptive ideas to be aired, but not be disruptive is to ensure that the plan explicitly has a place for “Future Planning Events” where you get the team together to organize thoughts about the future.

For example, I’ve scheduled a 2 hour “Future Planning” meeting about 6 weeks into an 10 week project. At the start of the project I told the team “Anytime you have a new idea that does not fit within the principles and priorities of our current project, write them down. Know that on March 14th we have a planning event scheduled where, as a team, we’ll discuss them all.”

Then, whenever I had a new idea up during the project, I would do the following:

  • Ask myself “How does this idea fit within the principles & priorities for the current project?”. If you’ve done a good job getting buy-in on the principles & priorities the answer should be clear. 90% of the time, if there’s any ambiguity the answer will be “it does not fit.”
  • If it didn’t fit, I’d tell myself “Great idea. Add it to the list of ideas we’re going to discuss at the planning event on March 14th.”
  • If it did fit, double-check that it fits. It likely doesn’t.

This technique provides a nice pressure relief valve. Of course this is valuable to the other “idea-people” on the team as well (anyone can bring the ideas they’ve bottled up to the Future Planning meeting). I’ve found it works well, but only if you have good buy in on the project’s principles & priorities.

Define Principles On Focus and Live Them

A project’s principles define how the team acts during the project. A well-functioning team knows the principles and lives them day-to-day. They are non-negotiable rules for behavior.

There exist projects where “peanut buttering” make sense; where doing a lot of little things “just good enough” is the path to success. I, personally, don’t ever want to be associated with projects like that, but there are valid reasons for them.

In every project I’ve been involved in, where I was proud of the result, the team lived by a principle of “doing a few things really, really well”. To this end, I always push for the following to be a core principle of the endeavor:

We will do a few things and do them very, very well; we are better off not having a capability than doing it poorly. There are always future versions.

Getting a team to buy into this principle will require you, as the leader, to also buy into it. If you are living this principle, then every time YOU have a new idea you will, naturally, by default, ask yourself the question “Does this idea help us do the few things we’ve already decided to do better?”.  If the answer is no, then put the idea aside.

The secret to great leadership is being able to focus on what is important and ignore what is not important. Great leaders are excellent at training their teams to stick to decisions; to say No when they should be focused on executing on a plan. Often times, a leader is also an “idea person”. Dysfunctional teams often refer to this kind of leader as a “Randomizer”.

Hopefully this post will help you avoid being a randomizer. Don’t be the manager that the team has to manage.

Please share your thoughts below.


Related posts on leadership, focus, and decision making:

© Charlie Kindel. All Rights Reserved.

Goodbye GitHub: MCE Controller now on CodePlex

I love git. I love GitHub. But GitHub doesn’t seem to appreciate open source projects that require hosting more than source code.

MCE Controller is an open source Windows app intended to be used by non-developers. This means it has an installer, online documentation, and requires a discussion forum for support for end users.

GitHub never really provided great support for this kind of project. For example, there is no forum/discussion feature (although some claim you can use their bug/issue tracker for this). GitHub used to support the ability to host downloadable files such as installers, but a few weeks ago they removed that support.

So MCE Controller has been moved to CodePlex which has nice support for all these things.

In the process I’ve created an updated release, Version 1.8.1, that includes links to the new resources as well as a few bug fixes.

© Charlie Kindel. All Rights Reserved.

MCE Controller 1.7 Released – Now Supports RS-232

Serial Server TabBy popular demand (shocking, I know), MCE Controller now supports RS-232 in addition to TCP/IP connections. This means that you can now control any Windows PC via the serial port.

MCE Controller is an open source application I built for my home control system. It makes it easy to integrate Windows PCs with other devices and control systems. Any device that can send strings over TCP/IP or (now!) a serial port can now send commands to a PC running MCE Controller.

For example, sending ‘up’ causes the equivalent of an up-arrow keystroke. Or sending ‘screensaver’ causes the Windows screen saver to kick in on the target PC.

You can simulate mouse, keyboard, and Media Center remote control input. You can start applications, change windows’ z-orders, and even invoke Windows system functions (e.g. shutdown, standby or hibernate). MCE Controller is extensible as well, allowing you to define your own commands.


MCE Controller Links:

© Charlie Kindel. All Rights Reserved.

Be as Excellent at Saying No as Saying Yes

248264_757341629179_1871075467_nWhile in Amman Jordan last month, I had the opportunity to speak at Amman Tech Tuesdays, a local startup event held every month there. I was asked to talk about what I’ve learned in my career to an audience of about 500 geeks and entrepreneurs.

I decided to talk about focus, a topic dear to my heart. The title of the talk is “Be as Excellent at Saying No as Saying Yes”. 

Below the video of my talk captured by TechSparks. It is just over 6 minutes long.


I’m currently writing a longish post on what I learned in Jordan. Be looking for it.

Related posts on focus and decision making:

© Charlie Kindel. All Rights Reserved.

Four Things I Learned in Jordan

The Treasury At Petra

I wrote a guest post for the Huffington Post on Dec 7, 2012. You can read the full post here, but here’s the TL;DR:

  • If the Middle East can stay relatively stable for just 10-15 more years, entrepreneurship will have a major long-term positive impact on the social-economic future of the region.
  • As the Middle East grows as a source of commerce and technology for the rest of the world, Arab women entrepreneurs will be the region’s most powerful and differentiated asset.
  • I previously did not understand what “Arabia” meant. I, like most Westerners, thought the Arab world was defined by a combination of geography and religion. I now understand how important the Arabic language is to what it means to be an Arab.
  • There is very little adoption of electronic payment systems in Jordan and other Middle Eastern countries. Changing the structural and cultural barriers to using electronic payments will cause more economic growth in the region than any other factor.
© Charlie Kindel. All Rights Reserved.

Apps are Dead. Long Live Experiences. Powered by Buddy.


I like to get people’s attention by asserting “apps are dead”. I do this because it causes people to pause and think about what “apps” really are. After Apple started the app explosion in 2008 most apps were primarily client-side code. Today, however, it is almost impossible to find an app that does not rely on at least some Internet based service. In fact the apps most people use most of the time are almost all server-side code. The client-side code is there to project the experience on to one of many devices the user may have.

I also believe “apps are dead” because the end-user value proposition is no longer based on some piece of code a user buys in an app store on their device, but an entire experience they choose to use that spans all of their devices.  These experiences are powered by Internet (aka cloud) services. Examples of what I mean by experiences are Pandora, Kindle, Xbox LIVE, Netflix, Facebook, Gmail, and even The Walking Dead. All of these “apps” are available on all my devices and are curated over time.

Experiences are the new app.

Building great experiences requires the brand that is building them to be excellent at some core competency. For example, the people at American Idol need to be excellent at producing TV shows, identifying artists, managing Steven Tyler, and other things related to the entertainment industry. But to extend their experience beyond the TV (which they do) they also need to deliver excellent client-side code for a myriad of devices that connects to stable, secure, and scalable, Internet scale services.

In talking with brands and developers building these types of experiences three things are clear:

  1. They want to focus on their core competencies.
  2. Dealing with cross-platform mobile client development is their biggest challenge.
  3. Building Internet scale services is their second biggest challenge.

I’ve written extensively on why I think solutions like Xamarin’s can really help ease the pain of cross-platform mobile development (and why I think HTML5 and WORA is a fallacy).

This post is focused on the third problem: The challenge of building Internet scale services.

In the past two years this trend away from “apps” has led to a bunch of new products intended to make it easier for brands, agencies, and developers to build  experiences. These new products range from Amazon’s AWS which provides what people call IaaS, or Infrastructure as a Service, to Heroku, which provides PaaS, or Platform as a Service. I see a place for all of these offerings (although there’s going to be some serious consolidation in the next few years given the number of these offerings that exist today).

The existing IaaS and PaaS offerings all make it easier for you, as a brand or developer, to write code that runs on the server.

I’m a huge fan of the newest type of “aaS” product, that is designed to enable you to power your experiences by not having to write ANY code on the server. These products are known as “BaaS” or Backend as a Service offerings. I’m a huge fan because my experience building the Windows Phone application platform, and engaging with all of the brands, publishers, and developers building apps made me realize the pain.

BaaS solutions are pain killers for brands and publishers and “It’s far easier to sell a pain killer than a vitamin.”

This is why I am an advisor and investor in one of the leading BaaS providers:  The Buddy Platformclip_image002

Most BaaS providers provide low-level constructs in their service. I found the diagram below that illustrates the low-level kind of thinking these providers embody:

The Buddy Platform is unique amongst the BaaS providers in two primary ways:

  1. Buddy provides a set of scenario based APIs.  Instead of just providing low-level primitives like collections and entities, Buddy also provides high-level constructs focused on the scenarios most mobile experiences need. 
  2. The scenario based approach enables Buddy to track API usage with high “semantic knowledge”. This enables Buddy to provide amazingly powerful real-time analytic information about the experience, and the users who use the experience.

Buddy’s APIs are built around the scenarios in this poster: 


To illustrate the concept of “scenario-based” consider Pictures.  Instead of just providing a blob store with search and indexing, which is what other BaaS providers do, Buddy provides high-level constructs for photo albums and image filters. With Buddy, it is a trivial exercise to build an Instagram clone.

Another example is the Game API which, instead of just providing the developer with raw table/collections APIs, provides facilities for tracking players and scores. It includes player ranking semantics, boards, and supports tracking in-game state on a per-user basis.

DiagramBrands building experiences today are clueless about how and where users are using their apps. They would love to know how many mobile users are using the app in a coffee shop versus a bar, for example. They are hungry for the data, but building the back-end systems that collect it and synthesize it is out of their reach. Buddy’s scenario-based approach provides deep analytic information about a brand’s customers.

The Buddy Platform provides a complete back-end-as-a-service without writing a single line of server side code. Publishers get Internet scale performance and scalability without having to buy any servers. The scenario based APIs allow the service to provide the incredibly valuable analytic data that would require an entire team to build.

Today, Buddy launched a new component of the Buddy Platform: Commerce as a Service.

Everyone and their brother is trying to build in-app commerce solutions. In particular, doing in-app commerce in Facebook apps and games is huge right now (and a pain in the butt). Buddy’s new “Commerce as a Service” solution makes it ridiculously easy to build a Facebook app or game that supports purchasing things within the experience.

Publishers can now manage inventory outside of the app, and generate rich user insight via a robust analytics platform cross-referenced with purchase history. Using the Buddy Developer Portal the publisher manages a database of goods listings with prices and item metadata. “Store APIs” are provided to pull store inventory in real-time. These new APIs combine with the other Buddy APIs to optimize inventory, offer targeted promotions and cross reference purchase history against other information such as user demographics, social engagement, geo-location and other in-app activities.

imageAn end-to-end user experience is a cohesive combination of devices, people, brands, channels, services, and content that improves over time.

For years people (BigCos, startups, investors, and users) have viewed the “app” as the center of the universe. And in the heyday of the Apple App Store this made sense.  But the proliferation of mobile platforms and the desire of brands to reach the largest number of customers means that, now days, this is flawed thinking. The new centerpiece of the consumer computing value proposition is the end-to-end user experience, and that user experience must be available on multiple platforms and is powered by cloud services.

IaaS, SaaS, and BaaS providers hold a unique, valuable, position in the industry right now. I’ve been extremely impressed with the Buddy team and their ability to build what I think is a unique pain killer for publishers and brands. They are on a roll with landing Nokia and regularly improving their offering with things like the new Commerce as a Service API.

Related posts:

What are your thoughts? Comment below.

© Charlie Kindel. All Rights Reserved.

A Year of WP Engine

It has been almost a year since I gave up trying to be frugal about hosting my blog and handed over hosting to WP Engine. I’ve been completely satisfied with the service since then.

Forever, I hosted my own blog, first on my own home-built static HTML system and then on .TEXT. Eventually I moved to WordPress. I ran WordPress on a Windows Server box at home and on a Linux VM on AWS. It was always fun (in a sadistic sort of way) keeping things running, but I quickly grew tired of the tasks involved.

Last December I had a series of spectacular failures caused by posts I wrote getting TechMeme’d, Fireballed, and Slashdotted (do people even read Slashdot anymore?). In case you don’t know getting Fireballed means John Gruber links to your blog. Whenever he does so, the target will get hit with 10s of thousands of hits within minutes.

Someone pointed me at the guys at WP Engine and they helped me move my blog to their platform.

Since then I’ve been Fireballed several more times and performance has stayed fantastic. Where, before, I knew I had been Fireballed because some kind friend would call or text me telling me my blog was down. Now, the only way I can tell is by looking at the spikes in usage in the JetPack stats package WP Engine provides.

I’ve noticed my blog being down once in the past year, and it turns out it was a general Pacific Northwest Internet failure and had nothing to do with WP Engine. Their support system was super responsive and they helped me identify the problem quickly (which resolved itself). I also run with confidence knowing WP Engine is backing things up for me.

There are tons of blogging technologies and platforms out there. You can certainly do it for far cheaper than you can with WP Engine. You might even be able to do it better (I’m not sure how, but it’s possible). I stopped treating running a blog like a toy to play with a long time ago; now I just want it to work, even under load.

I’m a happy customer, and happy to pay a premium for the WP Engine service.

Disclaimer: I was partially motivated to write this post because WP Engine has an affiliates program. At the end of the day, I would never recommend any product or service if I didn’t really believe in.

© Charlie Kindel. All Rights Reserved.

Word as a Blog Writer? Finally?

I have fallen in love with Windows Live Writer as a blogging tool. I love how it reads & writes to my blog seamlessly, how it renders my posts within the editor as they’ll be posted, and how it handles images and other uploads easily.

So I’ve been pretty disappointed that there is no version of Windows Live Writer that works on Surface.

@AlexBream just made me aware that Word 2013 has a “Blog Template” that appears to work well. I’m composing this with Word 2013 on my Surface to see how well it works.


  • Full Word editor.
  • Posts can be round tripped to my WordPress based blog. I was able to publish a first draft of this as a “draft” and then open it from my blog to continue editing. This is a great thing about Writer that I use frequently because I’m often using different computers andmlike to treat the copy stored on my blog as ‘truth’.
  • I was expecting to see the typical horrific HTML Word normally generates (with all that mso: crud), but was pleased to see the tool emits only the bare minimum. It does however, put style information that it shouldn’t (see below).
  • Images pasted in get uploaded automatically.


  • Not WYSIWYG. No local theme. This sucks as it is one of the best things about Writer: It brings down your blog’s theme and presents an editor that is WYSIWYG. With Word the font I am looking at as I type this is Times New Roman and the margins are as though I have an 8.5″ piece of paper to work with.
  • Not only does it not pull down my theme and use that, but it embeds font styling in the uploaded HTML. Note this post is in the wrong font? Lame. Super lame.
  • Copy & paste is a critical task in writing blog posts. Surface/Win8’s text selection and copy/paste system is sub-optimal, especially using touch. Keyboard shortcuts help as does the mouse pad on the Surface Touch Cover. This is not a Word vs. Writer issue, really, but an overall Surface problem. A native (Metro!) Writer app could help.
  • Categories do not appear to sync (and I can’t actually see what categories I’ve selected…rendering bug?). Actually, the whole Category feature appears completely broken to me.
  • Slow – Word on ARM is a dog. For example, dragging the screen shot to the right around was a painful experience. 2-3 seconds between each drag operation before I could re-engage.

I’m not impressed and until I find a better tool, won’t be using Surface to do any blog posts…

© Charlie Kindel. All Rights Reserved.

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:


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.



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.


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.


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.