“No one doubts that these monopolies are sometimes necessary to stimulate innovation. Hollywood could not survive without a copyright system; privately funded drug development won’t happen without patents. But if history has taught us anything, it is that special interests—the Disneys and Pfizers of the world—have become very good at clambering for more and more monopoly rights. Copyrights last almost a century now, and patents regulate “anything under the sun that is made by man,” as the Supreme Court has put it. This is the story of endless bloat, with each round of new monopolies met with a gluttonous demand for more.”
Fell in love today with Balsamiq Mockups, a tool for creating software wireframes. The tool is simple, elegant, and incredibly useful if you are involved in the creation of web properties or other software UIs. Balsamiq is a case study in the power of a single, passionate developer - a true joy to use.
I am a fan of the Mac — not really a fanboy, but whereas I once liberally used both OS X and various flavors of Windows I now almost exclusively use a Mac. Many of the built-in apps are quite useful — I am an iCal user, for instance. But, the Address Book has always bothered me. For such a potentially core bit of functionality, the Address Book always felt half-baked, and until very recently it was painfully slow. But, today, while attempting to take the plunge and get all my address in there for the sake of doing our annual New Years cards, I found this tidbit while trying to figure out why some contacts would print with their spouse and some would not:
Related names will not appear on the envelope or label if another card exists with the same first name as the related name and a different address than the card you are printing. To ensure that the related name will get printed, create a card with the same name as the related name, and include the same address as the card you are printing.
For example, if you want to print a label for the card “Sally Miller” which includes her spouse’s name “Sam Miller”, but you have a second card in your address book for “Sam Jones” with a different address, Sam’s name will not appear on the label for Sally Miller. You can create a card for “Sam Miller” which has the same address as “Sally Miller” and then Sally’s mailing label will include Sam’s name.
That’s right, if you want to print labels for your friends Bob and Sally Smith and have it say “Bob and Sally Smith” yet you have any other friend with the name “Sally” regardless of the last name of that other Sally you need to create a separate card for Sally Smith and give her the exact address as Bob (and then keep them in sync manually from then on). Unbelievable.
My friend Gary is traveling around the world for 2 years (now well past the half-way mark). If you ever wanted to travel around the world you can live vicariously through him.
Posted in Misc November 1st, 2008 by Nathan Dintenfass | No comments
“There are no stories in life. There is only the slow accretion of choices and disappointments, small victories and abrupt endings, an accumulation of time and experience pushing toward change. Stories are only in the telling.”
A friend of mine was relating the job description of a friend of his. I won’t name names to protect the job of the friend-of-a-friend, but it involved a certain large technology company hiring contractors to post offensive messages on the forums of a certain other large technology company. Ostensibly, the purpose is to time how long it takes the company to take down these offending messages, but it sparked a discussion over lunch about whether it’s ethical and/or legal to consciously post offensive material on a competitor’s forums. I was appalled that this could actually be happening, even if it’s for the stated purpose of gathering competitive intelligence about the response times of the other company. Would make for a perfect case study in a Business Ethics class — mostly exploring whether the worker asked to do these things should be outing her bosses bosses and where competitive “intelligence” crosses the line (not to mention my personal doubts that just gathering intelligence is what this is really about, since it clearly diminishes the value of the competitors forums to have offensive messages showing up).
Posted in Misc March 21st, 2008 by Nathan Dintenfass | 4 comments
Nearly two years ago I wrote about the age of the “big-boned” client (which today is apparently called a “fit client”). The basic premise of what I wrote then was to combine the ease of deploying web-based apps with the convenience of a stand-alone app on the desktop — something like what PandoraMan or Pyro let you do, but abstracted. What I wrote then was:
What I’d love to have is an application that lets me spawn these custom applications — a “meta application” if you will. It would basically let me configure a few things about what kinds of information needs to be stored for authentication, let’s me tweak the UI and choose various menu/toolbar options, and then creates a stand-alone application that would be specialized to a specific web-based application.
I then suggested someone with basic OS X skills could easily pull this off using WebKit. Well, today, I finally found just exactly that at Fluid. From their site:
Fluid itself is a very small application. When launched, Fluid displays a little tiny window where you specify the URL of a WebApp you’d like to run in a Site Specific Browser. Provide an application name, specify a Location and an Icon, click ‘Create’ and you’ll be prompted to launch the new native Mac app you’ve just created.
Use Fluid to run YouTube, GTalk, Flickr, Basecamp, Delicious, .Mac webmail, or any other WebApp as a separate Mac desktop application.
Seems I should have been paying attention in the last couple years because Fluid is based on Prism, a similar concept using Mozilla code instead of WebKit.
As I write this, I haven’t actually tried it, though ;)
Posted in Misc March 7th, 2008 by Nathan Dintenfass | No comments
And this is supposed to make me WANT to use your application?
This email was sent by Social Profile. You can disable emails here.
—
In total, you were reviewed for dating 7 times and no people expressed interest in you.
You are more desirable than less than 20% of 23,333,163 people.
Last week you were viewed 1 time and no people expressed interested in you
Check your Social Profile
(sent via email from the “Social Profile” app on Facebook)
Posted in Misc March 6th, 2008 by Nathan Dintenfass | 1 comment
As an MBA interested in entrepreneurship who used to build web applications for a living I am often asked by non-technical folks how they can find good engineers to start a company with. It’s a tough problem, especially these days.
Starting a software-driven business as a non-engineer is an uphill climb in most cases — if you aren’t someone making substantial contribution to product development in the early days of a company chances are you are overhead, even as a founder. Great engineers tend to want to work with other great engineers, so seeding your technology team with greatness if you don’t have it yourself is doubly rough.
Posted in Misc January 12th, 2008 by Nathan Dintenfass | No comments
A man is a fool not to put everything he has, at any given moment, into what he is creating. You’re there now doing the thing on paper. You’re not killing the goose, you’re just producing an egg. So I don’t worry about inspiration, or anything like that. It’s a matter of just sitting down and working.
I have spent the last 5 months back in Product Management Land, and as I prepare to leave to go back to a more marketing-centric role (more on that later) I am reflecting on the nature of my job here. Broadly speaking, there are two primary metaphors I have seen used in describing what product managers do. The first is a translation layer between business and engineering — in this linear process model a product manager is a step along the way of business needs becoming reality through the filter of articulating business requirements into engineering-digestible units. The other is product manager as a hub — a coordinating destination at the center of various constituencies each with their own needs/agendas/perspectives. When I was looking for this job I also was reminded how differently different organizations think about product management vs. product marketing — especially in Silicon Valley, those two roles straddle a line (artificial or otherwise) between production of what one sells from the act of selling (and the organizational support that goes into that selling). The term “product” itself is something that can be thought of very broadly or narrowly depending on the company, industry, and culture — some times it is though to include the total experience of what customers buy (and/or what end-users use) and sometimes it is construed more specifically to be the actual artifact that is exchanged independent of the packaging, services, etc. that are more often than not wrapped around the total offering.
I was recently talking with a junior member of our team, someone new to the role of product management, and (more or less out of my ass) I told him the role comes down to 5 basic elements (it’s worth noting explicitly that all of my direct experience [and the bulk of my indirect exposure] is inside software-driven technology companies of one sort or another, and while I think the overarching themes will apply outside that context that’s what this is about):
Gather: A huge part of what product management, in my experience, is all about is simply knowing what’s going on — what people do all day as it relates to the product, what kinds of things they wish would change, and how the various constituencies interact. While most product managers have plenty of good ideas on what should be done to improve the product, gathering ideas and identifying problems from the rest of the organization is as important, if not much more important in some cases.
Synthesize: As various ideas and issues are identified a product manager must create connections where others do not see them. Two groups in an organization may be having two very different problems, but a product manager can often find a way to make a single, better abstracted, view of the underlying concern. Synthesizing also involves created named themes/initiatives/goals for a product — a task that should never be underestimated in its power to create common understanding and bring sanity to the chaos of all the various “line item” requests — this is also instrumental in creating buy-in from others by packaging granular, disparate tasks into meaningful categories.
Prioritize: Choosing what is most important is an art unto itself in Product Management Land. A deep understanding of the business strategy, market realities, and resource capabilities and constraints is key here, as something is important not simply because someone up the chain says it is (though, of course, that can often trump everything else), but knowing what’s hard vs. what’s easy, what’s of broad vs. narrow value helps to create a rank-order list of the various tasks to be done. Of course, trade-offs are the key here. Given infinite time and infinite resources everything would be possible, but (sadly) that is not something we ever get to come even close to, so making the hard choices (or, perhaps more importantly, being the necessary input to help the rest of the organization make hard choices) becomes one of the central functions of a good product manager.
Define: Ah, define — where the (tedious) rubber meets the (not as proverbial as one might like) road. It likely goes without saying that a product manager must ultimately own the detailed definition of what the product should do, so engineering knows what they will build. Of course, this involves plenty of documentation, though not as much as some might think in many cases. My general attitude is to document only as much as is needed, rather than creating detail for details sake. Especially in web-delivered software, the need to be quick and iterate frequently puts a premium on moving forward with imperfect information and adjusting a bit as you go. Anyone who has been an engineer or works closely with engineers knows the joys of changing the spec in mid-flight (and/or the dreaded feature-creep), but part of the reason we have seen the rise of Agile methods is that rather than constantly reacting to the often-broken nature of attempting to get to a “finished” spec of a project (only to see that spec change in the middle of the cycle) engineers started to simply build the dynamic nature of requirements into the system. The point being that “Define” does not always mean writing down as much as being the Source of Truth.
Shepherd: When I originally wrote this word on a white board while making up this list on-the-fly, it was tongue in cheek, but the more I have thought about it, the more I think Shepherd really captures the role of the product manager in making sure everything is moving along smoothly. If I were more PowerPoint inclined, I could see making this list a “cycle”, where shepherding leads directly back into Gathering. A big part of my day as a product manager involves, quite literally, walking around the building. Keeping all of the balls in the air, so to speak, is a critical part of product management because in most organizations there is nobody else who sees all of the various pieces and how they must fit together. Many product efforts require synchronizing distributed efforts towards a single destination (and doing that over and over again), and in my world having the engineering “done” is only about 2/3 of the way through cycle — once the actual “product” is at a finished state there remains various packaging, documenting, training, distributing, etc. etc. etc.
When I first put these 5 elements on a white board I drew alongside the word “CONTEXT” — ultimately, all of these activities must happen with a full appreciation for the business — the goals, strategies, capabilities, culture, and (never to be underestimated) people.
Posted in Misc December 12th, 2007 by Nathan Dintenfass | 2 comments
A new colleague of mine recently told me a story that I had to capture here because it so perfectly illustrates the nature of business decisions relative to technology.
Several years back he was pitching a big consulting project to a major telco. The telco had put out an RFP to various development shops asking for help solving a major pain point — they had a number of different systems for billing, provisioning, customer service, etc. Their customer reps would have to physically go to different terminals to deal with different aspects of the support process, causing a lot of inconvenience and wasted time.
Of course, all of the proposals that came back talked about various ways to integrate the systems using the then state-of-the-art enterprise software techniques, and, of course, all of those proposals were quite hefty in terms of time and cost. My friend submitted his response to the RFP and waited to hear back for a couple weeks.
Finally, the call came - he did not land the project, but not because some other shop had beat him out. No, you see the telco told him that they had bought all of the customer reps chairs with wheels on them, making it much easier for them to move among the various terminals, so they no longer considered it a burning problem.
I have no idea if this is really a true story (though, the guy who told me about it swears it is), and I’m sure eventually this company took some major steps to integrate the systems more formally. But, for me this parable has quickly become a very useful short-hand for helping to put all technology decisions into perspective. When tackling hard problems, always look to see if you can find a “Chairs With Wheels” solution before (or, in may cases, while) investing in technology solutions.
Posted in Misc November 1st, 2007 by Nathan Dintenfass | 2 comments
A few months ago I wrote a post pondering whether Adobe Apollo’s use of WebKit would cause greater support for Safari in various web properties. Today Apple tried to create some noise by announcing Safari for Windows, and most people seemed to receive this news with a big yawn. I think this announcement actually is big news, so at the risk of writing about a topic that has been covered ad nauseam at many other venues, here’s a few thoughts…
Of course, Apple is in a position to achieve remarkably good market share very quickly given the installed base of iTunes — everyone with an even modestly current version of iTunes also has the Apple Software Update tool that will automatically end up installing Safari on their machine whether they ask for it or not (even if Apple provides an opt-out, most won’t bother with that). In a year’s time, Apple could easily have more installed base of Safari on Windows than Firefox does (which is different than people using Safari on Windows, but I’ll get to that).
There’s also the obvious fact that has been pointed out by many others — Safari was also announced as the primary “application” platform for 3rd parties to deliver their wares for the iPhone, so Apple is clearly trying to create an opportunity for developers to “write once” and deploy across a wide range of platforms. Steve Jobs is openly telling developers that (at least on the iPhone) Safari is much more than just a web browser.
Thus, here’s the potentially big deal — if Safari is bundled with iTunes, it would be a short leap to simply build WebKit capability into iTunes, making iTunes not just a media player and the client for the Apple store but a full-blown cross-platform application delivery environment. That puts Apple into the game along with Adobe and Microsoft (not to mention Google and plenty of startups) to be the environment of choice for developers to invest their energies.
Such thinking would seem at odds with the closed model of iPod/iTunes and the generally tepid attitude Apple has about 3rd party development. Case in point — many feel that saying Safari allows for 3rd party development on the iPhone is basically a big F-You from Apple (or at least a lackluster attempt at openness).
At D5, Steve Jobs said (while on stage with Bill Gates), “And so the big secret about Apple, of coursenot-so-big secret maybeis that Apple views itself as a software company…and theres not a lot of us left and Microsofts one of them.” This move clearly fits into that worldview, and moving a browser next to (in to?) iTunes is a necessary step to having a realistic chance to being a software platform that can be taken seriously beyond the point-application of media delivery. Releasing Safari on Windows is not being done casually — this is the next step in Apple’s rebirth, and in retrospect may be seen as a major turning point in the Apple positioning as a software giant rather than a closed-system device manufacturer.
Posted in Misc June 12th, 2007 by Nathan Dintenfass | 3 comments
Tonight I had a spooky experience — a 419 scam was attempted via AOL Instant Messenger. Someone using the screen name “taylornelly2″ claiming to have found me through MyBlogLog started out with small talk but quickly moved into the whole story about being from Africa and having lots of money that they need a foreigner to help them retrieve. I have seen hundreds (thousands?) of these emails in my life (thanks to Thunderbird and Gmail I finally have my spam under control), but to have it happening in real time with another person on the other end was a bit chilling.
I ended the conversation by simply pasting in this link:
A few minutes later they typed, “but i’m not nigerian i’m liberian and i don’t know what that means. i really need your help please find a place in your heart to help me please”
That was the point where I blocked the account from sending me messages and moved on with my life.
I am told I have the distinction of being the first person to blog about the fantastic (and free) service OpenDNS (created by the inimitable David Ulevitch). If you aren’t using OpenDNS, you should be — it will make your Internet browsing faster and more secure.
Tonight I heard about yet another reason to be a fan of OpenDNS: shortcuts. Shortcuts in OpenDNS allow you to, for instance, set your OpenDNS account to send you to the Wall Street Journal web site when you type “wsj” into your browser. You can also set up shortcuts that take an input — for instance, I have the shortcut “domain” set up to check for the availability of any domain (where I type the domain I want to check for after I type “domain”). I have used shortcuts in Saft for a while, but I am often using several different browsers on more than one computer throughout the day, so it’s great to now have this functionality built right into my DNS.
I think the shortcut feature could really be interesting going forward if the OpenDNS folks allow people to expand it to a richer command-line interface ala yubnub because it’s “right there” in your network no matter what browser you are using.
I was trying to explain this comic from xkcd to my wife, but I couldn’t explain what it means or why I thought it was amusing.
I think if you both understand this comic and find it at least mildly amusing you are clearly a geek (whether the inverse is true is an exercise I’ll leave to the reader)…
Posted in Misc April 22nd, 2007 by Nathan Dintenfass | 4 comments
I wrote last August about the launch of Yardbarker, a social-media sports site created by my friends Pete Vlastelica and Jack Kloster (along with Jack’s brother Jeff and Mark Johns). This week Yardbarker announced additional financing from such notables as Russell Siegelman, Ron Conway, Steve Blank, and several others.
I have worked with Pete and Jack on a previous startup effort, and I can say that Yardbarker is a business that comes from the heart. They were kind enough to let me write a case about their very early days as part of my post-graduate gig at UC Berkeley this year, so I can’t help but give them a little link love.
Many organizations have adopted the unfortunate philosophy that repeatable processes lead to success, yet in reality what you really want is repeatable results (that is, the delivery of a high-quality system). The quest for repeatability often leads to templates, and because each system has its own unique set of issues, these templates have a tendency to grow over time into all inclusive monstrosities that do little more than justify bureaucracy.
I enjoy listening to This American Life. I don’t often get to it on a Saturday afternoon (when it’s on my local public radio station), but today I happened to catch it. It was all about the people who come in and out of a diner called The Golden Apple in Chicago over a 24-hour period. But, that’s not what this post is about.
No, this post is about rotating desserts. You see, on the day the This American Life crew was in the Golden Apple the dessert case that would normally be spinning desserts around and around was broken. You know, the kind of thing that looks like this:
So, yeah, it was broken — the desserts weren’t spinning. When the desserts weren’t spinning the Golden Apple sold 50% fewer desserts. Think about that for a moment. Take stationary desserts and start them rotating slowly and double your sales.
Why do I care about desserts, rotating or otherwise?
Because this is such a great lesson in why details matter. They matter in retail environments, and they matter in software — and from now on I think I will always think of that as “The Rotating Dessert Issue”. When I used to build custom web applications for a living we were constantly faced with clients looking at the “buy vs. build” decision. One of our strongest pitches was that off-the-shelf systems may get most of it right, but it’s the details that really end up mattering. Now, of course we had a vested interest in taking that stance, and there are plenty of good arguments against building custom software in many situations, but it doesn’t change the fact that details matter.