What is the definition of success?
A product manager asked me a great question at work the other day:
- "How do we define success for our project?"
He said he had asked someone else that question, and the slightly scary answer was, "I don't know." I said that's crazy, the answer is easy. Success is getting our product working and into the hands of real users who actually want it. Right?
But a few days later, I've thought about it some more, and I don't like that definition after all. Here's my new version:
- Success is making a product better than anybody
else's product, that users absolutely love, and that's able to sustain
That definition is a real challenge, something that you'd be proud to live up to. It's something that deserves to be called "success." Unfortunately, using that definition, I've never been successful (unless you count wvdial).
You might be dismayed by the first criteria. A product better than anybody else's product? It seems obvious that most products can't be the best, but I think there's more room at the top than you think. There's no single ranking system from 1 to 10. Every user judges differently, so if you satisfy one person better than any other product, then you win, in some small way. And if you can be successful once, you can expand that success a bit at a time.
Users loving your product is kind of cliche, since Apple has made that philosophy famous. But as obvious as it now is, most developers still don't aim for it. If they did, you'd know.
By the way, your product can be the best in the world without users actually loving it. That's why I listed it explicitly. Before Apple, few people loved their phones or laptops or music players, but surely one of them was still the best - the best of a bad lot. Lovability is orthogonal to usefulness.
The last point - sustaining itself indefinitely - is where I've had trouble. At NITI, we made ridiculously awesome products that were quite obviously the best out there, if I do say so myself. And our users loved the heck out of them. But in the end it didn't sustain. (IBM bought the company and eventually killed the product.) The lack of sustainability was less about the product and more about organizational issues, but that's no excuse; it just tells you that the organizational issues are part of the product, whether you like it or not.
Sustainability can be about money (if you make enough money, you can afford to pay people to maintain it indefinitely) or quality (if, like wvdial, it's so good that you don't need to maintain it) or love (if developers are willing to work for lower or zero wages). But however you aim to achieve sustainability, it matters. You can have the greatest, loveliest product in the world, but if it dies, then you've failed.
That definition of success is my new benchmark for everything I do. If I can't see a path to success, based on those three criteria, then I shouldn't be wasting my time. If you notice me wasting my time anyway, please club me over the head as a reminder.
(Also, the project should be something I actually enjoy working on. I've made that mistake too. I don't think enjoyment is necessarily part of the definition of a successful project, but a "happy life" is also a nice-to-have :))
Chronology of my team transfer:
- Started contributing code.
- Implemented fairly complex protocol state machine (see interview below) which will be used by our devices in production.
- Met team members in person.
- Met with group VP.
- interviewed for job (question: implement a trivial three-state state machine in pseudocode. I think "relevant to the type of work you'll be doing in this group" is an understatement)
- (Yesterday) Approval by hiring committee.
- (Today) Talked to recruiter for the first time.
- (Coming soon) approval by aforementioned VP.
- (Coming soon) click on link in HR system to apply for job.
That sequence is almost the perfect reverse of what one might, naively, have expected to happen. Yet it works anyway. Is our recruiting system a palindrome?
"I think the [corporate] style guide should require thumb wrestling for all
ambiguous situations. Much better than emailing every time."
– Guido van Rossum, in response to my question about string.format vs. percent-style formatting.
In the original Knight Rider, there was this flashback in the credits where the original Knight Foundation guy said, "One man can make a difference, Michael." In the "new" Knight Rider that came out (and, I hope, failed completely, though I only saw one episode) a few years ago, there was no Michael Knight equivalent. There was a sassy car (the incorrectly presumed point of the show), plus a team of people fighting crime. Gag. Generation Y. Indeed.
Me: Hmm, that kind of UI jumpiness looks like what would happen when a flash disk syncs too frequently. Are you doing all your updates in one big transaction or one transaction per update?
Other person: Er... well, I'm using Bulk Update, that probably makes one big transaction automatically, right? [...] apparently not.
Yup. Flash disk writes just "look" different than other kinds of slowness.
Another Bold iPad Prediction
Update 2012/03/09: Darn, I guessed wrong. Oh well, a 50% hit rate for a bool is pretty good, right?
After I was declared a "semiconductor industry veteran" based on my previous article predicting when the iPad will get a retina display, I suppose I have to try my luck again.
Today there was a press release from Apple that essentially announces a new iPad, but we don't yet know what its killer feature will be. Retina display, you think?
I don't think so. A key part of my analysis last time was that right up to the release of the iPhone 4, there had been a series of Android phones with ever-increasing pixel density around the iPhone's screen size. The iPhone 4's screen density was not at all revolutionary: it exactly coincided with the density trends based on Moore's Law. Apple was not ahead of technology; they were right on time. Or, the day before the iPhone 4 was released, they were actually a year or two late, because all the other phones had better screens. They were waiting until they could do a 2x density increase.
Samsung just announced new Galaxy Note and Galaxy Tab tablets at 10.1 inches, but they're only 142 dpi or so, which is "normal res," not "retina." It's slightly higher res than an iPad, but not much. That's what state of the art looks like, and a "retina" density 10 inch display isn't reasonable yet.
Since the 2x resolution increase on the iPhone was so incredibly gobsmackingly successful, it's unlikely Apple will make an increase in pixels on the iPad unless it's 2x.
However, if you predict using Moore's Law since the date of the iPhone 4 release, it looks like you could perhaps double the 1024x768 iPad resolution to 2048x1536... you just couldn't do it yet on a 10 inch screen. Let's do the math: the iPhone 4 came out in June 2010, about 20 months ago, which gives us a Moore's Law improvement of 2**(20/18) = 2.16. The iPhone 4 screen is 960 pixels long, and 2.16 * 960 = 2073. Startlingly close to 2048. The only catch is it would be more like 6 or 7 inches, not 10.
I'm not sure Apple would be willing to go with a "smaller, lighter, thinner, more compact" iPad - the current one is maybe just the right size - but I don't know for sure. A 7 inch tablet would be a great book reader, I suppose. So I predict it's either that, or the screen resolution doesn't change.
It's no fun unless I say it out loud. Let the games begin!
(By the way, this is personal opinion, not that of my employer. I work on projects that are not smartphone or tablet or Android development, and I have no insider information.)
(And yes, this is the same prediction I made last time, because math doesn't change. I'm just reiterating it :))
(Also, this analysis omits the possibility of using a lower-density process than the iPhone 4 uses, thus producing the same pixels at a bigger size, maybe 10 inches again. But I don't think this is going to happen; you can see people pushing for bigger and bigger high-density phones, but I haven't heard about any high-density tablets yet. Apple has been strictly a follower here; they don't invent entirely new display fabrication technologies.)
ssh+2FA to all your machines, anywhere, without opening firewall ports.