March 28, 2007
@ 05:50 PM

Dave Winer has a post entitled How basic is Twitter? where he writes

So inevitably, a query about the value of namespaces leads you to wonder if there will be TwitterClones, web-based services that emulate the Twitter API, that keep internal data structures similar to Twitter, and most important, peer with Twitter, the same way Twitter peers with IM and SMS systems.

This is as far as I got in my thinking when last night I decided to ask Les Orchard, a developer I know for quite a few years, and who I've worked with on a couple of projects, both of which use the kind of technology that would be required for such a project --

What if there were an open source implementation of Twitter?

Nik Cubrilovic happened to be online at the moment and he jumped in with an idea. Les confessed that he was thinking of doing such a project. I thought to myself that there must be a lot of developers thinking about this right about now. We agreed it was an interesting question, and I said I'd write it up on Scripting News, which is what I'm doing right now.

What do you think? Is Twitter important, like web servers, or blogging software, so important that we should have an open source implementation of something that works like Twitter and can connect up to Twitter? Where are the tough sub-projects, and how much does it depend on the willingness of the developers of Twitter #1 to support systems that connect to theirs?

The problem I see here is that Twitter isn't like web servers or a blogging engine because Twitter is social software. Specifically, the value of Twitter to its users is less about its functionality and more about the fact that their friends use it. This is the same as it is for other kinds of social/communications software like Facebook or Windows Live Messenger. Features are what gets the initial users in the door but it's the social network that keeps them there. This is a classic example of how social software is the new vendor lock-in.

So what does this have to do with Open Source? Lots. One of the primary benefits to customers of using Open Source software is that it denies vendor lock-in because the source code is available and freely redistributable. This is a strong benefit when the source code is physically distributed to the user either as desktop software or as server software that the user installs. In both these cases, any shabby behavior on the part of the vendor can lead to a code fork or at the very least users can take matters into their own hands and improve the software to their liking.   

Things are different on the "Web 2.0" world of social software for two reasons. The obvious one being that the software isn't physically distributed to the users but the less obvious reason is that social software depends on network effects. The more users you have, the more valuable the site is to each user. Having access to Slashcode didn't cause the social lock-in that Slashdot had on geek news sites to end. That site was only overtaken when a new service that harnessed network effects better than they did showed up on the scene (i.e. Digg). Similarly, how much value do you think there is to be had from a snapshot of the source code for eBay or Facebook being made available? This is one area where Open Source offers no solution to the problem of vendor lock-in. In addition, the fact that we are increasingly moving to a Web-based world means that Open Source will be less and less effective as a mechanism for preventing vendor-lockin in the software industry. This is why Open Source is dead, as it will cease to be relevant in a world where most consumers of software actually use services as opposed to installing and maintaining software that is "distributed" to them.  

Granted, I have no idea why Dave Winer would like to build an Open Source competitor to Twitter. The main thing that will come out of it is that it will make it easier for people to build Twitter knock offs. However given how easy it is to roll your own knock off of popular "Web 2.0" social sites (e.g. 23, SuperGu, Uncut, etc) this doesn't seem like a lofty goal in itself. I'm curious as to where Dave is going with this since he often has good insights that aren't obvious at first blush.


 

Categories: Technology

March 28, 2007
@ 03:34 PM

This post was originally meant to be a response to Mini-Microsoft's blog post entitled Mini, a Devil, and Fine Whine where he seems to imply that there is some sort of class struggle going on at Microsoft and also made some calls for radical transparency. However this morning Mini linked to a blog post entitled For want of a shoe, or time for a new rider? on the MSFTextrememakeover blog which is just fire and has distracted me. If you're a Microsoft watcher [or even better a Microsoft exec] you should go ahead and read it, twice even. Key excerpts that lit my fire

Mission

MSFT does not appear to have a clear, honestly customer-focused mission that is understood at all levels. Importantly - and perhaps as a result - employees seemingly aren't in total accord or fully bought into it. If MSFT truly believes in "Your potential. Our passion", then it needs to do more than just pay lip-service to it. It needs to open itself to all that that entails (cross-platform support, not playing lock-in games, etc.) and deliver against it.
...
Culture

I see two concerns here. First, the need to move from a culture of "good enough" to one of "excellence" and "insanely great". I've posted about this before. MSFT has a long-standing approach, ingrained via Gates, of getting something - anything - out to market and then fixing it over time. That worked well for a long time when "free" alternatives weren't prevalent, and when competitors/markets weren't moving as quickly as they are today. Now, it's a lot less successful, and yet MSFT continues to do it and be surprised when it fails.
...
Prioritize/Focus

Stop fighting major wars on multiple fronts simultaneously. It is simply ridiculous for current management to assume that MSFT can fight the biggest and best companies on earth, across a dozen or more battlegrounds, and still hope to prevail. Just take a look at some of the folks MSFT is going up against: SONY (and Nintendo) in gaming, Nokia and many others in mobile, GOOG and YHOO in Search, Everyone from Alcatel to Siemens in IPTV, IBM/Oracle/SAP (and smaller players Salesforce.com. Rightnow, etc.) in ERP and CRM, IBM/Adobe/FOSS in middleware and development, AAPL and most of MSFT's former partners in mobile media, AAPL and GNU/Linux in Operating Systems, and FOSS in personal productivity. Worse, these battles are spreading MSFT too thin, and leaving its core cash cows increasingly vulnerable (would Vista have taken 5 years to develop if management hadn't been distracted with a dozen other battles?).
...
Public Face

I am sick and tired of MSFT executives "trash" talking competitors in public. This is such a fundamental business tenet that it's an embarrassment to have to even list it.

Like I said, the entire post is really good. As for my response to Mini's Mini, a Devil, and Fine Whine post, here it goes. The kind of people who focus on what the top X% of Microsoft are making are probably not the kind of employees you want to keep around anyway so it seems weird to be catering to them. The concerns that the Microsoft employees whose opinions I value have are all eloquently described in MSFTextrememakeover's post excerpted above. The kind of people who get in a tizzy because some VPs got to attend an expensive award ceremony that they didn't are the kind of whiners and losers you can never make happy so why bother? It's not like they can argue that they are underpaid or that their employment benefits suck. Instead I see it as part of the age of entitlement in America where lots of people believe they deserve to be balling out of control and then gets pissed off when they aren't. The best thing you can do with those kind of people is to show them the door. 


 

Categories: Life in the B0rg Cube

I'm traveling to Nigeria next week to belatedly celebrate my dad's seventieth birthday and I'm looking for suggestions on what I should read on the trip. It usually takes about 24 hours of traveling for me to get back home; 8 hours flying to London, 10 hour lay over and another 6 hours to Abuja. I usually go through 2 or 3 of Terry Pratchett's Discworld books on my trip but that often isn't enough. The last time I was back home, I also read Malcolm Gladwell's The Tipping Point and the time before that I read Neil Gaiman's American Gods. Both books were interesting and I'm considering reading their sequels (i.e. Blink and Anansi Boys) on this trip.

However I recently stumbled on a list of the 50 most significant Science Fiction and Fantasy works of the last fifty years and I'm considering getting one or two books from that list. Oh yeah, and then there's Jeff Atwood's recommended reading list of books about software development which has a few entries that caught my eye as well.

Given that you now know my taste in in-flight reading material, what books would you recommend gentle reader?


 

Categories: Personal

Back in the day, before Microsoft realized the power of bloggers to create positive buzz about a product I often had to chime in on discussions about why it was important to take into consideration the opinions of the vocal minority in the blogosphere. One of the things folks like Robert Scoble and myself would point out is that mainstream reporters often get their stories from blogs these days. This means that if a product is getting a lot of good press among a few key blogs it eventually makes it into the mainstream media.

The best example of this I've seen in recent memory is the hype storm around Twitter. The tipping point in mainstream coverage of the service seems to have been when a bunch of bloggers who attended the SXSW conference started using the service. According to Google Trends interest has been increasing steadily in the service but mainstream coverage was lacking until after SXSW. Since then we've had articles like 

Business Week: Twitter: All Trivia, All The Time
Wall Street Journal: Friends Swap Twitters, and Frustration
San Francisco Chronicle: Austin's SXSW festival atwitter over Twitter

With results like this, it is no wonder PR flacks of all sorts are circling blogs and other antisocial media like groupies at a rock concert hoping to infect us with their disease message.


 

Categories: Social Software

Raymond Chen has a blog post entitled You don't know what you do until you know what you don't do where he writes

I've seen a lot of software projects, and one thing I've learned is that you don't have a product until you start saying "No".

In the early phases of product design, you're all giddy with excitement. This new product will be so awesome. It will slice bread. It will solve world hunger. It's designed for everybody, from the technology-averse grandmother who wants to see picture of her grandkids to the IT manager who is in charge of 10,000 computers. It'll run equally well on a handheld device as in a data center.

When I see a product with an all-encompassing description like this, I say to myself, "They have no idea what their product is." You don't know what you do until you know what you don't do. And the sooner you figure out what you don't do the better, because a product that promises to do everything will never ship.

In my five years at Microsoft, I've seen a bunch of projects fail. Some were public flame outs that are still embarrassing to mention today while others are private mistakes that you'll never hear anyone outside the b0rg cube mention. A few months ago I wrote a blog post entitled Top 5 Signs Your Project is Doomed and since then I've considered a few more entries that should be on the list bringing the total to 10. The list below are common signs that a  software project is doomed. Meeting one or two of these criteria isn't necessarily the kiss of death but three or more and you might as well start circulating your resume. 

  1. Trying to do too much in the first version. See Raymond's point above.

  2. Taking a major dependency on unproven technology.

  3. Competing with an existing internal project that was either a cash cow or had backers that are highly placed in the corporate hierarchy.

  4. The team is understaffed. If you have less people than can handle the amount of work you have to do then the right thing to do is to scale back the project. Practically every other choice leads to failure.

  5. Complexity is one of the goals of the project because "complex problems require complex solutions".
  6. Schedule Chicken

  7. Scope Creep

  8. Second System Syndrome

  9. No Entrance Strategy. When a project can't articulate how it goes from a demo or prototype to being in the hands of end users, there's a problem. This is particularly relevant in the "Web 2,0" world where many startups only strategy for success is getting a mention on TechCrunch and the fact that their service has "viral" features.

  10. Tackling a problem you don't know how to solve. It's pretty amazing how often I've seen this occur.


 

Categories: Programming

According to the Infoworld article entitled Microsoft names leaders for search-and-ad unit

Microsoft Wednesday named Satya Nadella to lead the newly formed Search and Ad Platform group, the software giant's effort to optimize the advertising revenue-raising potential of its search business.

Nadella, previously corporate vice president for Microsoft's Business Solutions group, will report to Kevin Johnson, president of the Platform and Services Division, the company said in a statement.

I'm not sure this information is accurate since I haven't seen any sign of it on Microsoft Presspass nor has Satya Nadella's corporate profile been updated. However if it is, it would then create three VPs under Kevin Johnson who are in charge of Microsoft's three Web brands; Windows Live, MSN, and Live Search. The org chart representing all the folks who are in charge of Microsoft's online businesses would then be 

if the Infoworld article is accurate.

The only relevance this has to people who read my blog is that it gives a nice visual of where I fit in the org chart. I'm in Blake Irving's group, working on aspects of the Windows Live Platform that powers services used by the Windows Live Experience group. 


 

Categories: Life in the B0rg Cube

Via Joe Gregorio I found a post entitled Transactionless by Martin Fowler. Martin Fowler writes

A couple of years ago I was talking to a couple of friends of mine who were doing some work at eBay. It's always interesting to hear about the techniques people use on high volume sites, but perhaps one of the most interesting tidbits was that eBay does not use database transactions.
...
The rationale for not using transactions was that they harm performance at the sort of scale that eBay deals with. This effect is exacerbated by the fact that eBay heavily partitions its data into many, many physical databases. As a result using transactions would mean using distributed transactions, which is a common thing to be wary of.

This heavy partitioning, and the database's central role in performance issues, means that eBay doesn't use many other database facilities. Referential integrity and sorting are done in application code. There's hardly any triggers or stored procedures.

My immediate follow-up to the news of transactionless was to ask what the consequences were for the application programmer, in particular the overall feeling about transactionlessness. The reply was that it was odd at first, but ended up not being a big deal - much less of a problem than you might think. You have to pay attention to the order of your commits, getting the more important ones in first. At each commit you have to check that it succeeded and decide what to do if it fails.

I suspect that this is one of those topics like replacing the operations team with the application developers which the CxOs and architects think is a great idea but is completely hated by the actual developers. We follow similar practices in some aspects of the Windows Live platform and I've heard developers complain about the fact that the error recovery you get for free with transactions is left in the hands of application developers. The biggest gripes are always around rolling back complex batch operations. I'm definitely interested in learning more about how eBay makes transactionless development as easy as they claim, I wonder if Dan Pritchett's talk is somewhere online?

The QCon conference wasn't even on my radar but if Dan Pritchett's talk is indicative of the kind of content that was presented, then it looks like I missed out. Looking at the list of speakers it looks like a conference I wouldn't have minded attending and submitting a paper for. I wonder if there'll be a U.S. version of the conference in the future? 


 

Categories: Web Development

danah boyd wrote two really interesting posts this weekend that gave an interesting perspective on a couple of headlines I've seen in blogs and mainstream news. Her post on narcissism gave an interesting perspective on stories such as CNN's Study: Vanity on the rise among college students which had me curious for more details when I read it originally. The post on Twitter gives a practical perspective I hadn't considered or seen mentioned in all the blogosphere ravings about the service since the hype storm started after the SXSW conference.

Interesting excerpts from danah boyd's post entitled fame, narcissism and MySpace

For those who are into pop science coverage of academic work, i'd encourage you to start with Jake Halpern's "Fame Junkies" (tx Anastasia). For simplicity sake, let's list a few of the key findings that have emerged over the years concerning narcissism.

  • While many personality traits stay stable across time, it appears as though levels of narcissism (as tested by the NPI) decrease as people grow older. In other words, while adolescents are more narcissistic than adults, you were also more narcissistic when you were younger than you are now.
  • The scores of adolescents on the NPI continue to rise. In other words, it appears as though young people today are more narcissistic than older people were when they were younger.
...
My view is that we have trained our children to be narcissistic and that this is having all sorts of terrifying repercussions; to deal with this, we're blaming the manifestations instead of addressing the root causes and the mythmaking that we do to maintain social hierarchies. Let's unpack that for a moment.

American individualism (and self-esteem education) have allowed us to uphold a myth of meritocracy. We sell young people the idea that anyone can succeed, anyone can be president. We ignore the fact that working class kids get working class jobs. This, of course, has been exacerbated in recent years. There used to be meaningful working class labor that young people were excited to be a part of. It was primarily masculine labor and it was rewarded through set hierarchies and unions helped maintain that structure. The unions crumpled in the 1980s and by the time the 1987 recession hit, there was a teenage wasteland No longer were young people being socialized into meaningful working class labor; the only path out was the "lottery" (aka becoming a famous rock star, athlete, etc.).

Interesting excerpts from danah boyd's post entitled Tweet Tweet (some thoughts on Twitter)

Of course, the population whose social world is most like the tech geeks is the teens. This is why they have no problems with MySpace bulletins (which are quite similar to Twitter in many ways). The biggest challenge with teens is that they do not have all-you-can-eat phone plans. Over and over, the topic of number of text messages in one's plan comes up. And my favorite pissed off bullying act that teens do involves ganging up to collectively spam someone so that they'll go over their limit and get into trouble with their parents (phone companies don't seem to let you block texts from particular numbers and of course you have to pay 10c per text you receive). This is particularly common when a nasty breakup occurs and i was surprised when i found out that switching phone numbers is the only real solution to this. Because most teens are not permanently attached to a computer and because they typically share their computers with other members of the family, Twitterific-like apps wouldn't really work so well. And Twitter is not a strong enough app to replace IM time.

Read both posts, they are really good. And if you aren't subscribed to her blog, you should be.


 

The Australian iTWire has a rather biased and misinformed article entitled Official: Microsoft ‘bribes’ companies to use Live Search which contains the following excerpt

Microsoft’s new program is called “Microsoft Service Credits for Web Search” and has been unveiled by John Batelle’s ‘SearchBlog’. The money on offer is significant, especially when multiplied across thousands of PCs. The deal means that companies can earn between US $2 and US $10 per computer on an annual basis, plus a US $25,000 “enrollment credit” which is a nice big wad of cash that will likely need a large-ish, strong and sturdy brown paper bag to hold securely while being passed under the table.  

For companies that have thousands of computers, this could translate into anywhere from US $100,000 to $200,000 per year, which is money that could be put to good use in the IT department or elsewhere in the company.
...
Former Microsoft employee and blogger Robert Scoble who served as the online face of Microsoft during his three years at the company is not impressed with Microsoft’s moves in deciding to offer companies money to use search.  His arguments are quite valid and boil down to Microsoft really needing to create better products, rather than needing to pay companies to get more traction for Windows Live. After all, Scoble isn’t the first to observe that Google doesn’t need to pay anyone to use its search services – people use them voluntarily because of the quality of the results

The amount of bias in this article is pretty amazing considering that Microsoft is primarily reacting to industry practices created by the Google [which have also been adopted by Yahoo!]. Let me count the ways Google bribes companies and individuals to use their search engine

  1. Google pays AdSense publishers for each user they convince to install Firefox with the Google Toolbar installed. Details are in the documentation for the AdSense Referrals Feature. Speculation on Slashdot was that they pay $1 per user who switches to Firefox + Google Toolbar.

  2. Google paid Dell $1 billion dollars to ensure that Google products are preinstalled in all the computers they sell and the default search engine/home page is set to Google. Details of this deal were even published in iTWire.

  3. Google paid Adobe an undisclosed amount to bundle Google Toolbar [which converts your default search engine in your browser to theirs] with all Adobe products.

  4. Google entered a distribution deal with Sun Microsystems to bundle Google Toolbar [which converts your default search engine in your browser to theirs] with all new installations of the Java runtime.

  5. Google products which converts your default search engine in your browser to theirs are bundled with the Winzip archiving utility. Financial details of the deal were undisclosed.

  6. Google is the default search engine for both the Opera and Firefox browsers. Both vendors get a cut of the search revenue generated from user searches which runs in the millions of dollars.

I could go on but my girlfriend just told me it's time for breakfast and I'm already in trouble for blogging on a Sunday morning. However the above links should be enough to debunk the inaccurate statements in the iTWire article. I guess iTWire's "journalism" is further validation of the saying that you should never let the facts get in the way of a good flame.


 

Whenever I talk to folks at work about branding and some of our products I usually get two kinds of responses. On the one hand, there are those who think branding is important and we could be doing a better job. Then there are others who believe we should focus on shipping quality products and the rest will fall into place. The second position is somewhat hard to argue with because I end up sounding like I advocate that marketing is more important than shipping quality products. Luckily, I now have two real world examples of the importance of getting branding right for your software even if you do have a quality product.

EXHIBIT A: Topix.net

In a blog post entitled Kafka-esque! Rich Skrenta writes

I'm in the Wall Street Journal today, with a story about our purchase of Topix.com for $1M and the SEO issues related to moving the domain.
...
Back in 2003 when we were looking for a name, we came across Topix.net. The name 'topix' really fit what we were trying to do, it was a heck of a lot better than the other names we'd come up with. It turned out we could buy the name from a South Korean squatter for $800. So we took it.  Of course I knew we were breaking one of the rules of domain names, which is never get anything besides the .com. But I thought that advice might be outmoded.
...
Surely, the advice that you had to have a .com wasn't as relevant anymore?

Well, we got our answer when our very first press story came out. This was in March 2004 when we got a front page business section launch story in the Mercury News. They gave us sweet coverage since we were the only startup to come out of palo alto in months (this was just as the dot-com crash was beginning to thaw). Unfortunately, while the article clearly spelled "Topix.net", the caption under our photo -- the most visible part of the story after the headline -- called us Topix.com. Someone had transcribed the name and mistakenly changed the .net to .com, out of habit, I suppose.

Since that time we've built up quite a bit of usage, and much of it return visitors who have bookmarked one of our pages, or become active in our local forums. But still, we continued to have issues where someone will assume a .com ending for the name. Mail gets sent to the wrong address, links to us are wrong, stories incorrectly mention our URL.

Beyond that, as part of some frank self-evaluations we were doing around our site and how we could make it better, and the brand stronger, we ran some user surveys and focus groups. "What do you think of the name?" was one of the questions we asked. The news was good & bad; people actually really liked the name 'topix', but the '.net' was a serious turn-off. It confused users, it made the name seem technical rather than friendly, and it communicated to the world that "we didn't own our own name."

EXHIBIT B: Democracy Player

In a blog post entitled A name change Nicholas Reville writes

This is some big news for us. We are planning to change the name of Democracy Player.

We chose the name ‘Democracy’ almost two years ago when we were first setting up PCF. We knew it was an ambitious name, but we thought that it made a clear statement about how important it is that an open internet TV platform is for our culture.
...
And, even though I’m about to explain why we need to change it, I’m glad we’ve had this name for the past year. It’s funny that a name like ‘Democracy’ can become a name for software– I think it turned out to be less odd than we expected. When people hear a name, they tend to accept it. And it helped us assert our mission clearly: free, open, and dedicated to democratizing video online. I think conveying that mission so strongly was crucial for us.

But the name also confused a huge number of potential users. In all our debates about whether you could call something ‘Democracy’ and how people would react to the name, we hadn’t realized that so many people would simply assume that the software was for politicians and videos about politics. We hear this response over and over, and it’s a real limitation to our user base.

So we’re changing the name to Miro.


 

Categories: Windows Live