The Art of Moving Forward
Tuesday, December 31, 1996 by Dave Winer.
It's cool when the messages start coming from Apple.
It shows that they're listening.
(I really mean that. I don't believe in sarcasm. Please keep reading.)
There's even been a consistency to the messages, this makes me think they've been talking about me at Apple. I like that. Back in the old days, before I had a place to speak publicly, they could summarize my views as simply being "anti-Apple" and leave it at that.
Now as I weave, turn corners, learn, process new information, they must be getting the idea that at least one of their developers isn't quite as simple as they thought he was.
I think there's something to learn here. An awareness of how other people think may help some platform vendor somewhere at some time. Complex human systems aren't simple. Platforms beget platforms. Movement and uprooting of people are different things. There's an art to moving forward.
I am a platform vendor. When I move, I bring other developers with me.
I write publicly, so I hear from other developers. I know when I've hit a nerve because the system provides me with a clear channel for feedback.
I am also a member of MIDAS, the Macintosh Internet Developer Association. Being in this loop also helps me get a broader perspective.
These three flows -- my users, my readers, and my peers, give me a pretty valuble perspective on this slice of the world. If you think there's no substance behind my statements, think again. My pieces are original, somewhat, but I am also an assimilator. Sometimes my pieces are just an amalgram (look it up!) of dozens of emails and phone conversations.
As a platform vendor, I have many of the same issues I have with Apple with members of the Frontier scripting community. I am more sensitive to the issues on both sides of this equation than I used to be. I've even had some of my DaveNet pieces turned back on me! I pay attention to those, the lessons hurt, but I try to learn from them even so. The deepest lessons can be the most painful ones.
Before we had a platform it was easier for me to move. Now that we're being watched more closely, we have to let people know where we're going.
There's a cost to nailing down decisions, letting people know where you're going. But there's a bigger cost in keeping them in the dark. Confusion makes people freeze. Development stops. Other options are explored more seriously. At every discontinuity you lose some energy. So you have to smoothe the transitions, make them less discontinuous, nail more down, sooner, and avoid throwing the cards in the air whenever possible.
I learn. Last year I started a thread called Clay Basket, and abandoned it. It was a feedback loop, when I started working on websites without Clay, an outpouring of rage filled its mailing list. I told people where I was at, but they didn't like it. They read the worst of the tea-leaves. I couldn't handle it, because I didn't know where we were going at the time. Sometimes I think about doing something with Clay, but I always look elsewhere because communication is so screwed up in that community. It was a time of great change for me. The rage made me want to look away. I'll try not to let that happen again, but there can't be any guarantees.
So this summer, when we decided to invest in making Frontier cross-platform, we broadcast that intention the instant we made the decision. I didn't want people to misunderstand our actions.
People who care, developers who invest, are *always* reading tea-leaves. The larger their investment the more concern they have about every move the vendor makes. Either it's going to encroach on their territory, or obsolete their investment by abandoning it. There are lots of scenarios where developers lose. The problem is, if the developers lose, and if the platform depends on developers, the platform loses too. So you try to strike a balance, leave enough empty territory, and broadcast your direction loud and clear and unmistakeably.
It can be frustrating being the platform vendor when you've left big blue sky and people crowd into the territory you're actively developing in. I guess this is human nature. People watch the leader, and want to be where the action is. Also, the platform vendor tends to choose the most lucrative areas to work in. That's where people want to be.
We've had better results in the Frontier community, after some initial collisions, I'm satisfied that I can move forward in certain areas and depend on others to handle other functionality. Examples of successes include database scripting, CGIs, search engines, regular expression handling.
A less stunning success has been TCP scripting which is still an unsolved problem in our community. After promises from Microsoft and Apple, neither company has delivered, and we depended on their software in this area. It's frustrating that Microsoft is investing more in end-user stuff instead of developer stuff, and equally so that Apple is doing Cyberdog when developers lack a toolkit of basic TCP functionality at the system level.
See -- there's a feeding chain in place here. Many tiers. A subtle system. How clearly do *my* platform vendors, Microsoft, Apple, Netscape, see thru my level and appreciate that I represent the interests of many other powerful people? That it isn't my favor they should seek, but the favor of the people who use and build on my software? It's frustrating that we probably have more developers than Next or Be does, and they all use Macs, yet Apple still seems to view me as a single point, and doesn't appreciate that I'm backed up by a community.
Given the level at which they are listening to me at Apple now (all levels!) it's time for me to ask them to leave their comfortable but inaccurate view of the world, and learn about what has been built around their operating system and computer hardware. I feel like a parent, wanting grandma to see that they have a large family behind them that they haven't met yet.
Unfortunately, it's not a good time for Apple people to listen. All their cards are in the air too. I really understand that. As individuals, they're going to be busy figuring out lots of stuff, and the pressure will be enormous. I sympathize. But I have to stay centered on my own interests. We could move forward powerfully, but to do so, we are going to have to let go of a lot of old ideas that aren't serving us well.
So, Apple, it's your job to tell me what to tell people who build systems using my software and Macintoshes. And understand that every Apple developer has exactly the same problem. Listen carefully and you'll hear that clearly.
This has been a very interesting piece to write because it sits squarely at the intersection of two communities, one of which I lead, and one of which I am a member of. I had to speak both as a developer and a platform vendor here. Please understand that this piece is for Apple, Microsoft, Netscape; and for Frontier people, as well as other developers who do mail clients, web servers, content tools, and must fit their products into the strategies of companies that are higher up on the feeding chain.
In a sense, we all have to do that. Apple, Compaq, IBM and Dell must make their products run on electricity and communication wires. Netscape makes software for Unix, Mac and Windows. Microsoft is both a developer and a platform vendor, in different contexts. Straddling this fence is nothing new. Writing about it publicly *is* a new thing.
Thank you for reading and comments are appreciated.