Wednesday, August 20, 2014

On Internet Enabled Watches

This is a quick post to encapsulate a few thoughts I've been having about SmartWatches. In case you haven't heard, SmartWatches are going to be next year's "break-out hit technology," and have been for the last several years. It shouldn't surprise people I'm a little bearish on the SmartWatch concept as it stands today, but I think it's less to do with the market and more to do with specific limitations of existing technology.

In short, SmartWatches are a neat idea, but they need to hit reasonably low price-points with appropriate performance before we'll start seeing them strapped to everyone's wrists.

The HP-01 Image courtesy Wikimedia Commons
But first a little history... Wrist watches were apparently a thing as far back as Elizabethan England (who knew?) and were worn almost exclusively by women until the early 20th century. Men were apparently big fans of pocket watches in the old days. Which sort of got me thinking... are mobile phones the modern pocket watch? I can't tell you how many people I know who use their phones as watches. In the early 70's digital watches appeared and were almost immediately lampooned by Douglas Adams in the Hitch-Hiker's Guide to the Galaxy.

The first "Smart Watch" I can find reference to is the Hewlett-Packard HP-01. Look at this thing! Is it not a marvel to behold!? Seriously, I was a kid when this thing came out and remember thinking it was the coolest thing since sliced bread and David Cassidy combined.

Users of the HP-01 could use a proto-stylus to enter reverse polish notation programs to run on the device. Tracking fuel consumption on a small airplane was the canonical example the HP folks gave. Every second it would multiply elapsed time by your fuel usage rate and display how much fuel it thought you had in your fuel tanks. I once wrote a program on a HP-01 simulator to display the current mission elapsed time for the Pathfinder rover on Mars. Cool beans if you're tech geek like me, but with a price tag of $650, it's not a mainstream product.
Handspring Treo 300.  From Wikimedia Commons (again)

And for the second bit of history, let's look at the Palm Treo. This bad boy hit the stores in 2002 (though this is a picture of the Treo 300, which didn't come out until 2003.) Wait! Weren't we talking about watches? Why are we looking at a Treo?

The Treo was the first successful PalmOS device that didn't need to be connected to your PC. Sure, the user experience of syncing with networked servers sucked and required additional software. But it was possible and a lot of people did it.

Nike Fuel + Band.
Image from Wikimedia Commons
And now let's look at existing SmartWatches. This is the Nike Fuel. It's one of the new breed of wearable activity trackers targeting fitness peoples. Oh wait. Hold on. Nike couldn't sell enough of these to make it worth their while. Nevermind. (That being said, there was a pretty stiff after-market of these things after Nike axed the project. So it's not like there's zero market.)

And here's the Pebble watch. It seems to be everyone's current favourite, despite offerings from Samsung and the rumoured iWatch waiting to destroy the market with it's Apple flavoured consumer electronics dominance. The pebble comes with "regular" BlueTooth and BlueTooth LE
Pebble. From Wikimedia Commons
(Low Energy) so in theory, you should be able to pair it with your PC or you iPhone. But getting it to pair with your PC requires mad Python hacking skillz.

And don't get me started about the Samsung offerings. Not only do they only pair with smart-phones, they only pair with a couple of different models of Samsung smart-phones. No thank you Samsung. I don't want my SmartWatch purchase to be useless if I drop my SmartPhone in the bathtub.

So what's your point?

Thanks for staying with me as I bounced around between seemingly unrelated bits of consumer electronics footnotes. I guess what I'm trying to say is:

  1. These things are still pretty expensive. Nike had a customer base and still couldn't push these things out the door for $150.
  2. The experience of using a SmartWatch sucks. Not for us, of course. If you're reading this, you're probably one of the techno-elite who repartitions the logical volume groups on your Linux desktop for fun on the weekend. But if your have to go through the bluetooth pairing dance to get your watch to talk to your phone, you've probably lost half your market.
  3. People want to get at their data, they don't care that it's on their PC, on their phone or in the cloud. They want to turn on their phone and pull up a picture of their grand-kids. Or have their watch send fitness / movement data to a program somewhere.
But SmartWatches as a product class aren't a complete bust. That's one of the reasons I threw in the bit about the Treo. You don't see any Treos on the street anymore, but if you look at the iPhone and various Android phones, you see features that were pioneered by Handspring. And I think the SmartWatch market is where the SmartPhone market was thirteen years ago. We've had a few market entrants, but their experience mostly sucks and they're too expensive. Maybe next year we'll see the "Treo" of SmartWatches. Maybe it'll be Pebble releasing a slightly cheaper product with a better user experience.

What makes a better experience?

Users want their devices to "just work." You can probably get away with forcing people to do the BlueTooth pairing dance if you correctly communicate the security and privacy reasons behind pairing. But after that, they want their device to operate with zero additional complexity. What does this mean?
  1. For the sake of all that is holy, allow your device to pair with more than one computer. I have a cluster of PCs at the office and a cluster of PCs at the home. I want my SmartWatch to work with all of them. Don't artificially restrict me to only working with one PC.
  2. Consider making deals with WiFi Access Point manufacturers to put BlueToothLE support in their firmware. Many modern access points have USB ports and there are several BTLE USB dongles out there. Wouldn't it be simpler if your Access Point provided your BTLE dial-tone? In theory you could have a software component on the access point that relayed application layer messages to local PCs or cloud services.
  3. Put as much of the configuration on the big screen as possible. This should be a no-brainer, but we still see people making products that require you to use the small screen on the wearable device. No. Just... No.
Anyway... I hope this has been interesting to someone out in the world. Feel free to drop me comments via email or twitter. Special shout-out to @jonathanstark and @balmer who ignored my twitter-brand snarkiness to have as close to a real conversation as you can have about consumer electronics 140 characters at a time.

Monday, July 28, 2014

the terminals shine

getting ready to start my day, doing a couple little tasks while watching AMC's Halt & Catch Fire in the background. i really love the show; mostly 'cause it's like re-living the microcomputer revolution. kids today don't know what it was like. every month something new and innovative came out. and most of the things that came out withered and died 'cause they were too expensive or the market for the product didn't really exist.

but at the time, that didn't matter too much. it was a crazy time and there were no rules. or rather, people were more willing to creatively bend them. i was on the tech side of the fence in the 80s and was privileged to work on firmware, application programs and even an operating system to compete with MacOS and Microsoft Windows. i wrote a lot of very cool code, but strangely, the only thing that's still in use from back in the day is some code for older ATM machines & a hack i wrote for DOS / Netware.

the common mis-conception of the 80's was sofware was written by lone coders working feverishly through the night. and that's not completely untrue. but there were plenty of small organizations, three or four coders working together to get stuff done. (and remember, this is back when version control was flinging floppies around the room.)

one of my favorite bits of writing from the time is this bit from Geoffrey James:

"The computer center is empty,
Silent except for the whine of the cooling fans.
I walk the rows of CPUs,
My skin prickling with magnetic flux.
I open a door, cold and hard,
And watch the lights dancing on the panels.
A machine without soul, men call it,
But its soul is the sweat of my comrades,
Within it lie the years of our lives,
Disappointment, friendship, sadness, joy,
The algorithmic exaltations,
The long nights filled with thankless toil,
I hear the echoes of sighs and laughter,
And in the darkened offices
The terminals shine like stars." --from The Tao of Programming

Saturday, July 19, 2014

on enlightenment

had an amazing dream this morning where i reached enlightenment.

starting out as a visit to my childhood home in ohio, i remarked to myself how it looked different than what i remembered. further investigation revealed portions of it had been taken over as a dormitory by wright state university (apparently it was also much larger than i remember.)

randomly wandering into the downstairs family room, "i" split into multiple individuals representing not only the different parts of myself, but avatars of friends, family and mentors responsible for shaping my personality with Charles Baker playing the role of the friendly trickster and Peg AtKisson carrying a sword, representing my intellect.

my task was to complete (within a fixed amount of time) an introductory multiple choice test and then query 5 (sometimes 6) guardians of the experience of humanity (librarians of the akashic record?) to discover the secret to enlightenment. agriculture, mechanics (tool building), programming, and music/literature were the guardians i remember.

after being confused by a few questions, the part of me that was memory whispered a strategy in my ear. treating it like a logic puzzle, i asked each guardian what i had to ask the others to achieve enlightenment. apparently this was a good strategy, and in retrospect makes me wonder if half of the guardians always told the truth and the others always told lies.

the last couple of answers were unintelligible jibberish, but memory helped me out here and i just repeated the lines fed to me (thanks, mnemeosyne!)

when you reach enlightenment, there's apparently a very nice cocktail party where all the pieces of your psyche mingle, catch up on gossip and generally have a good time. i commented to one of the guardians that i didn't feel especially more enlightened and was told that i'm not the one who was enlightened.

it turns out that the i that i perceive myself to be is not the i that is enlightened. upon attaining enlightenment, every bit of you is enlightened and it's an experience that the conscious ego can't comprehend (maybe that's why it looks like a cocktail party where the rest of my society of mind is having a good time.)

Tom Deplonty will be happy to hear one of his compositions was being performed at the party. So Tom... you're apparently going to pen the soundtrack for enlightenment (no pressure.)

Wednesday, July 9, 2014

The Persistent Myth of Product

This morning i had to take it a little easy. I burned myself out last night debugging and needed a small break. So i spent a little extra time sipping my coffee, enjoying my garden and reading a random book from my young adulthood. The book i picked up from my bookshelf was Michael Tomcsyk's "The Home Computer Wars." It's a first-hand account of Commodore's rise as a home computing juggernaut in the early 1980's. Written in an informal, first-person style, it's a surprisingly fun read; sort of like a romance novel for tech geeks.

One of the things I noticed about the book was how few rules there were to making "hit computer products" in the early 80's. The market was still developing and everyone seemed to have their pet theories for how to build the next, great thing. The locations involved, Sunnyvale and Santa Clara, made me think of the companies I worked for in the valley; how their approach to structuring a business was straight out of the 80's and how that's probably why they're no longer around.

I'm thinking mostly of PalmSource, the software spin-off of Palm, Inc. PalmSource was structured in a pretty standard way: executive management at the top, different divisions for sales, marketing, operations and engineering. We worked in matrix style teams with product definition the responsibility of the team's product manager. I don't want to dispiarage anyone on the PalmSource team; with very few exceptions everyone involved were highly competent professionals. But in retrospect, I believe PalmSource's organization and rigid responsibilities set it up for failure.

My team was working on the software to secure apps on the device from other, potentially rogue apps. I was happy with the work I was doing, but the software security work I was doing quickly laid bare a sad truth: our product manager had no idea why we were including security features.

People who have implemented security features on products will probably understand how frustrating this can be. Security features frequently do things like pop up dialogue boxes or cause certain types of data accesses to fail. As feature developers, we can dial up the access protection and annoying interactions or we can dial them down. It's not exactly true that good user interface and good security are mutually exclusive, but it's frequently the case (especially in the first rev of a product.)

So as developers, we cheat. We have our software refer to configuration files to say how frequently we should annoy the user and what resources we don't let other programs access. It's great for the software developer, but it's really just kicking the can down the road. Someone, somewhere needs to make a decision about how often you annoy the user. And it's a horrible choice. If you err on the side of caution, people hate your user interface. If you err on the side of convenience, you open yourself up to vulnerabilities.

At PalmSource, we convinced ourselves that our product manager would make these decisions or would be the conduit for customer requirements. But we made a bit of a mistake. Our product manager, while very competent in the general handheld space, had about zero experience with security features and not a whole lot of experience evaluating user experience. And this was the guy who was going to make the decision in the usable vs. secure issue.

I don't blame our product manager. He was a good guy put in a situation outside his area of expertise. It did take him a little longer to recognize this than it should have, but he had a lot on his plate. As engineers, we had no way to report this issue to upper management because our management was actively hostile toward security features. (Seriously, my manager once fell asleep during a meeting when we were trying to explain the problem to him.) We had no authority to make a decision on our own, because PalmSource's corporate culture was "product tells engineering what to build, not the other way around."

In several old-school companies, the product management group is responsible for surveying the market, making educated guesses about economic trends and customer behaviour and developing a target for price and performance. Usually (hopefully) guided by the executive team's directives on ROI and general location in the price / quality matrix, they help engineering prioritize features for the products under development.

But it's increasingly important for product managers to have a deep knowledge of the product features. In the old days when the division between product marketing and engineering was established, products were effectively widgets with five or ten bullet-point features. The "quality" of your product was defined by the presence of a bullet-pointed feature or it's relative feature. Product managers didn't need to know what the features did, only that we had one.

Fast forward to the modern era... The iPhone finally got the term "user experience" on the lips of executives. Just-In-Time manufacturing is the default rather than the exception and various SaaS successes have people talking about how to provide value through an API. Selling software in Sili Valley is less about putting bullet points on boxes and more about adapting your API to fit into someone else's value chain.

So why do we still have product managers that aren't also sales engineers? Why did I, as an engineer, have to explain the business ramifications of poor design choices to our product manager? Why did I have to use back-channels to find engineers in our customer's organizations and ask *them* about their business objectives?

And I think the answer is "the Persistent Myth of Product."

There's a truism in marketing that to make money you can do two things: figure out what people want and make that, or figure out what you're good at making and make people want to buy it. In the early 80's, the vast majority of the populous wasn't familiar with what computers could do. It's safe to say people didn't know what they wanted. Sure, we all thought we wanted a device with more flashy graphics, a better keyboard and more memory. But that's just the "computer fetishist" view of computing products. What we needed to know in the early 80's was how these devices were going to fit into our lives.

And while I like to grouse about Apple's developer support from time to time, it's hard to argue they didn't do an EXCELLENT job communicating how Apple products fit into people's lives. When the Macintosh came out, IBM offered a series of ham-fisted windowing programs to counter the Mac's "ease of use" argument; ditto for Digital Research; ditto for Microsoft. I believe IBM and Microsoft survived because they understood the lucrative enterprise market.

In the early 2000's, Apple struck again with the iPod. It wasn't the first personal audio player, but it was the first to not treat the user interface as a bolt-on afterthought. And Apple did another EXCELLENT job communicating how the iPod fit in a user's life: buy an iPod, take your music with you. By comparison, Diamond and Creative were selling Rios and NOMADs like you would sell a PC component: by listing bullet points on the side of a box.

Traditional product managers are taught to identify key features of a product segment and then communicate those features to an engineering team. They are taught that all you have to do is make a widget slightly cheaper or slightly better and the world will beat a path to your door. And in many segments this is true.

But it's not true in software. Or at least it's not true for organizations that don't want to rely on dumb luck.

"Product" is not defined by a market, but by observing people, figuring out how technology can affect their lives, building it and communicating that change to the end user. Don't depend on an existing market to tell you what to build. Depend on your customer's need first. Or... figure out what you're good at building and figure out how it fits into your customer's life.

Monday, June 30, 2014

A Conservative Justification for Single-Payer Health Insurance

People who know me are sometimes surprised when I describe myself as "conservative on some issues." And to be sure, I'm mostly a raging lefty. But I've always wondered why "conservatives" oppose single payer systems. I believe a single-payer system like Canada's would be a net benefit to the United States and could be justified by "Buckley-esque" conservative ideals.

In the United States the cost of treating acute conditions in the uninsured comes from the public purse. So let's say you don't have health insurance and you're rendered unconscious in a car crash. You're taken to the hospital emergency room and revived. The hospital has already spent money on you before they could determine you couldn't pay for the treatment. So you're stabilized, shown the door and usually, the local county picks up the bill.

That's a bit of a contrived example, but it clearly shows what happens: if someone doesn't have insurance to cover the cost of medical care, it's the state that picks up the tab. Something that's a little more likely is due to some unforeseen circumstance or a previously hidden chronic condition, you need acute care. Maybe it's an accident around the home. Maybe you didn't have cash to pay for an annual colonoscopy and you have abdominal pain from stage 3 colon cancer. Treating a patient for complications due to late term cancer is considerably more expensive than detection and prevention. Put another way, appeals to the public purse are minimized if indigent and low income workers who cannot otherwise afford effective health care are provided with preventative care.

But in this country, we tie health insurance to employment. This made a lot more sense fifty years ago when the cost of health care was lower and employee turnover was lower. Health insurance was originally offered by employees as an incentive, but as costs increased it became more of an expectation. This is bad because employer provided health insurance introduces an artificial attachment to under-productive employment. That is, instead of working the job that best uses your talents or allows you to maximally contribute to economic productivity, you go for the job that offers the best health care.

In my own case, I left a "good job" to pursue an entrepreneurial opportunity. I was lucky I had enough cash to pay for COBRA coverage while my new business venture became a going concern. Other people will not be in this situation. A worker who thinks of a new process or a new invention will be hampered in their pursuit by the cost of health insurance. Minimizing the out-of-pocket expense for entrepreneurs during the initial "start up" phase of their business, gives them more "runway" to go from concept to minimum viable product. Reducing the cost of entrepreneurship increases the incidence of start-ups; increasing the incidence of start-ups increases the likelihood productivity-enhancing intellectual property is delivered to the marketplace.

And from the perspective of a mature enterprise, health care costs are now the single fastest growing expense and the least easy to predict. When I was an entrepreneur, our health care costs doubled every year as benefits went down slightly. The current system benefits large employers with larger risk pools at the expense of small and medium sized enterprises who must deal with unpredictable increases in health care coverage.

Also, the United States has the third highest per-capita health expenditure while enjoying the lowest rate of positive health outcomes of the top 17 industrialized nations. If we could replicate the Canadian model, shifting to a single-payer model would facilitate better negotiation for end consumers and more consistent pricing for health care services and medicines.

This is a just an outline of a real argument, but I think it presents the basics. We're already in a situation where the public pays for some coverage: emergency rooms, medicare, medicaid. Tying insurance coverage to employment encourages under-productive employment and minimizes the United States' competitive stance with respect to productivity-enhancing intellectual property which is frequently developed by small organizations with no stake in existing solutions.

Single-payer health care:
  • reduces the per capita cost of health care
  • removes barriers to technological innovation
  • eliminates disparities between large and small enterprises
How is this not conservative?


Sunday, June 29, 2014

Meaningful Change?

so here's an idea for a political party... the "change the narrative to something not especially crazy" party. it goes something like this...

life's tough, but if we work together it's not nearly as difficult to ensure we all get by. in the post WWII era, most of us have been lucky enough to have inexpensive food, inexpensive transportation and meaningful labor. our parent's (or grand-parent's) families lived in a world where one person's salary was enough to have a very comfortable living.

we told ourselves we were really good people (hell, we had just kicked the snot out of the nazis) while ignoring slavery, misogyny, fixed markets, ostracism of non-conformists and meddling in the internal affairs of foreign nations for financial benefit.

as time went on there were more people to feed and more competition for our goods. margins started getting shaved and we had to do more work for less pay. but we had become accustomed to cheap oil and cheap food, and felt it was our birthright.

we didn't notice when companies and government started telling us convenient untruths. "centralized monoculture food is the best way to grow food," they said. "people of the third world are clamoring for freedom, which is why we overthrew the tyrants ruling them," they said.

but i think we all know the score. we just don't want to own up to it.

in the united states (and australia) we're coasting on the economic push our parents and grand-parents gave us after the world went crazy for several years and did a number on germany and japan. this was after the russians were doing numbers on themselves in an effort to escape the czars and develop infrastructure in europe's most backward sister.

we _have_ done a lot of really cool stuff. the transistor? ossm. space flight? double ossm. i'm not saying we're a big ball of fail.

but i think we may have lost sight on what makes this country great. and while we're losing sight of that, we're starting to listen to corporate (and governmental) interests who profit from our ignorance.

the reason we have high taxes has very little to do with welfare queens and a lot to do with a bloated defense department. no. i'm not talking about US service-persons who risk their lives every day. what i am saying is as a people we've put a government in place that disgraces their sacrifice. we maintain a large military so we can dictate terms to trading partners. we need these good terms because we chose to purchase energy from abroad rather than develop internal infrastructure or better yet, develop more efficient cities, cars and food production.

we've come to accept corruption and human rights abuses abroad and at home if it means we get cheap steak and iPhones.

but sure. it seemed like a good idea at the time.

we no longer have the moral authority to claim we honor words like "freedom" or even "democracy." our religious leaders are co-opted into a system that benefits them while vilifying "the other." our media corporations have long retired the notion they are a public service and operate solely for profit. and of course, that's what our legal system requires them to do, to rigorously pursue the minimum viable information product that still makes them profitable.

we have abandoned the idea that universal education and an enlightened populous is a pre-requisite for an open, democratic society and now view our children's educational experience as a profit opportunity.
we live in a market, not a society.

but it's not too late to change. we CAN choose a different narrative. we can invest in our communities and our children. we can invest in more efficient fuels and cars. we can grow more of our food closer to our homes. we can spend the money we were spending on the most recent iPhone on infrastructure to create a sustainable society in which each child is fed and educated.

but first we have to stop vilifying each other. we have to spend a little more time digging into issues rather than shouting slogans. we can stop jealously guarding our stash and help our neighbors raise their metaphorical barn.

Things I'm Working On...

Just sort of thinking about San Francisco housing prices. And every time I think of San Francisco, I also think of George Takei saying "San Francisco, I was born there," in one of the Trek movies. It's clear his character Hikaru Sulu, really digs on the city. Other characters from the movie have ties to SF; James Kirk has an apartment there (at the opening of the first movie, he's working a desk job at Star Fleet Command in SF) and others no doubt have good memories off off-duty time at Star Fleet Academy (also in SF.)

So I get to thinking of a darker trek world where our beloved protagonists are members of a ruling elite, able to travel between the stars only because of the toil and suffering of untold under-workers you never see on camera. This is clearly not what Gene Roddenberry was originally thinking the future would be like, of course, but modern times seem much less optimistic than the late 60's. So just for fun, I'm thinking of the "Occupy Star Fleet" world. It's not as bloodthirsty as the mirror universe, but perpetuates the "haves vs have nots" Roddenberry originally wanted to say we escaped.

Who are the characters in such a world? I'm not going to sully the image of the canonical bridge crew by having them go all mirror-universe on the poors. That would be vaguely insulting to the characters (and the actors who portray them.) Instead, I'm creating new characters who are members of an exploited class; a class that lives outside the mindset of Star Fleet personnel. It's not that the classic Trek folk are actively putting these people down, it's just they don't even know they exist.

The first character is Tamiko Tenno (or 天皇 民子 for my kanji reading friends.) She's sort of a modern-day Antigone, who kicks off the story when a sequence of events brings her loyalty to her family in conflict with the power of the state. Depending on whom you listen to, the name "Tamiko" implies a "popular" origin while "Tenno" is the appellation applied to emperors in Japan, so she's setup for class conflict already. The first story I'm working out introduces Tamiko-san and is more or less just a re-telling of the Antigone myth (hey. great artists just know what to steal.) Also, go read about Antigone on the WikiPedia if you're unfamiliar with it.

But what's a great leading character without a perfidious antagonist? I mean sure, the whole story is setup to have "man vs. society" and "man vs. his social nature" type conflict, but a good antagonist will be a great personification of the hidden social forces that serve to betray the ideals of individual agency in the Star Trek universe. Tamiko-san will battle "Shift Supervisor Creon" in the first story, but after his demise we'll find he was a servant of a higher, darker authority.

Our eternal antagonist is a sort of reversed Queen of Pentacles, she takes delight in the subdued personal wealth of the Trek universe, but her primary conceit is more akin to that of Omelas: the elevation of humanity's elite justifies the invention of a wretched class. Unlike the traditional interpretation of the Queen of Pentacles being a character of worldly finery, in our story her finery is ideological. She never waivers from the path of "furthering the cause of humanity," even if she is losing her own humanity in the process. Our antagonist is clearly a "true believer," and we all know how dangerous attachment to dogmatic ideals can be.

Anyway... this is just an update of some of the things I'm thinking about and working on this weekend. More updates as they become available.