October 19, 2006
@ 06:06 PM

I got an email over the weekend from a friend of mine who's leaving Microsoft. I wasn't surprised to see him leave Microsoft, given that the every project he's worked on at Microsoft has either been cancelled mid-project or end of lifed in that release. After being at Microsoft for five years, I've now begun to see the signs that a project is likely to crash and burn early on. Below is a top five list of signs your software project is in trouble I compiled as part of my 'parting career advice' to my intern.

  1. Schedule Chicken: This is typically a sign that the project's schedules are unrealistic. A project with unrealistic schedule is either an indication of poor communication between layers in the product team or even worse, bad management that punishes the messenger when there is bad news (e.g. poor initial estimation of project length). The main problem with schedule chicken is that you can be "date driven" or you can be "quality driven", you can't be both.

  2. Scope Creep: Requirements changing as a software project progresses are natural. They can change due to feedback from the customer after they get to try out a prototype, due to changes in the competitive landscape or because the original requirements had hidden conditions which were not discovered until after implementation. When things get bad is when the goals of a project are changed or increased significantly without a corresponding significant change to the expected timeframe for delivery. WinFS merging with Object Spaces is my canonical example of scope creep at Microsoft.

  3. Underresourced: You don't bring a knife to a gun fight. So you shouldn't expect that 3 developers and $50,000 will be able to compete with the Googles and Microsofts of the world. Similarly, if you work at a big company and you have a handful of folks working on a product where competitors have large teams or entire companies working on the same problem space, you're probably in over your head.  

  4. Second System Syndrome: Once you ship a software application, it instantly becomes legacy code. To a developer this means there is something newer and sexier that can solve the same problem in a more elegant way. Eventually a project is started which is intended to replace the existing product which customers are finding useful. This is often a double whammy. The new project is hamstrung out of the gate by having to meet customer expectations on backwards compatibility, performance and new features in comparison to the old product. This burden is often a crushing weight on the second system which eventually collapses under the strain. In addition, the old project is often abandoned or at best put in "maintenance mode" with only a skeleton crew working on it even though it pays the bills.  

  5. No Entrance Strategy: There is a lot of talk in the software industry of exit strategies but a lot of the time software products do not have an entrance strategy. How do you get people to use the application? How do you get the first 100,000 or 1 million users? Sometimes in big companies, there is also the corporate strategy tax to consider when deciding whether a product has an entrance strategy or not. When I was on the XML team at Microsoft, there were folks on the team working on a project they called X#. The project was basically C# with extensions to handle relational and XML data access as operations native to the programming language. I attended an internal presentation about the project and when asked what the deliverable from the project would be, the team members actually showed a Photoshoped image of a Microsoft Visual C# box which read Microsoft Visual X#. Of course, this was at the time Microsoft was taking heat for introducing both C# & Visual Basic.NET at the same time. It was unlikely that Microsoft would ship a third similar language anytime soon. The project was killed, resurrected  and morphed a couple of times. The story eventually ended happily with a lot of the innovations in the language eventually showing up as .NET Language Integrated Query (LINQ) (aka C# 3.0). That was one instance with a happy ending, a counter example is the new file system for Windows being cancelled a few years after it was announced to be shipping separately from the operating system. A file system that doesn't ship with the operating system doesn't sound like a product with an entrance strategy to me. How about you?


 

Categories: Life in the B0rg Cube

Jeffrey Zeldman has a blog post entitled Web 2.0 Thinking Game where he writes

A few weeks back, The Economist was calling “Web 2.0″ a trend. Their phrase was, “hot Web 2.0 trend.” The magazine now intends “Web 2.0″ to be understood as a sort of second edition:

This week’s pairing of Google and YouTube may come to be remembered as the moment “Web 2.0″—ie, the web, version two—came of age.

Clearly “Web 2.0″ means different things to different journalists on different days. Mostly it means nothing—except a bigger paycheck. But let’s simplify what The Economist is saying:

Web 1.0: AOL buys Time Warner.
Web 2.0: Google buys YouTube.

Put another way:

Web 1.0: New media company buys old media company.
Web 2.0: New media company buys new media company.

If we’re stuck with this meaningless Web 2.0 label, let’s at least have some fun with it. Here’s my new game. I’ll start, you finish:
...
Web 1.0: Users create the content (Slashdot).
Web 2.0: Users create the content (Flickr).

Web 1.0: Crap sites on Geocities.
Web 2.0: Crap sites on MySpace.
...
Web 1.0: Karma Points.
Web 2.0: Diggs.

Web 1.0: Cool Site of the Day.
Web 2.0: Technorati.com.
...
Now you try it!

There are a lot of funny ones in the comments as well such as

Web 1.0: Old folks have no clue.
Web 2.0: My parents just left a comment on my blog. - Charlie

Web 1.0: Rational Unified Process implementing J2EE
Web 2.0: “Getting Real” using RoR - Kevan Emmot

Web 1.0: 20,000 Hits on my webpage!
Web 2.0: Ive been dugg 1000 times on Digg! - Regnard Raquedan

Web 1.0: Pamela Anderson
Web 2.0: Paris Hilton - Chase

Here're a couple of my own, let's see what you guys come up with

  1. Web 1.0: Netscape IPO
    Web 2.0: Google IPO

  2. Web 1.0: My startup just IPOed, I'm gonna be rich
    Web 2.0: My startup just got bought by Google, I'm gonna be rich

  3. Web 1.0: Napster
    Web 2.0: YouTube

  4. Web 1.0: Yahoo! Bookmarks
    Web 2.0: del.icio.us

  5. Web 1.0: Java applets
    Web 2.0: Widgets

  6. Web 1.0: Beth Goza
    Web 2.0: Niniane Wang


 

From a tech support article on the Apple website entitled Small Number of Video iPods Shipped With Windows Virus we learn

We recently discovered that a small number - less than 1% - of the Video iPods available for purchase after September 12, 2006, left our contract manufacturer carrying the Windows RavMonE.exe virus. This known virus affects only Windows computers, and up to date anti-virus software which is included with most Windows computers should detect and remove it. So far we have seen less than 25 reports concerning this problem. The iPod nano, iPod shuffle and Mac OS X are not affected, and all Video iPods now shipping are virus free. As you might imagine, we are upset at Windows for not being more hardy against such viruses, and even more upset with ourselves for not catching it.

If all else fails, Blame Microsoft!

PS: Found on the Channel 9 forums.


 

October 18, 2006
@ 01:30 AM

From the ACLU press release President Bush Signs Un-American Military Commissions Act, ACLU Says New Law Undermines Due Process and the Rule of Law we learn

WASHINGTON - As President Bush signed S. 3930, the Military Commissions Act of 2006 into law, the American Civil Liberties Union expressed outrage and called the new law one of the worst civil liberties measures ever enacted in American history.
...
"The president can now - with the approval of Congress - indefinitely hold people without charge, take away protections against horrific abuse, put people on trial based on hearsay evidence, authorize trials that can sentence people to death based on testimony literally beaten out of witnesses, and slam shut the courthouse door for habeas petitions.  Nothing could be further from the American values we all hold in our hearts than the Military Commissions Act."

It's a good thing the American media is keeping on top of all the important issues like which gay Republicans were having inappropriate relations with heir male interns instead of mundane bits of legal mumbo jumbo like the death of Habeus Corpus.


 

Joshua Allen has a blog post entitled He Bought Houses for the Whole Village where he writes

In China, nearly everyone has at least one story about, “someone from village ‘X’ started a business and got really rich, so he bought houses for the whole village.”  I’ve heard several variations, from people in different walks of life, over the past couple of years.  Although the details vary widely, the stories are sometimes true, and follow that same basic pattern.

I began to wonder, why is this such an appealing story for people to tell one another, and do we have similar stories in America?  That is, what kind of “good fortune” story is likely to get quickly passed from mouth to mouth among Americans?

I found it interesting reading to see Joshua trying to map this concept to American examples and failing to find a good comparison. Similar stories are quite common place in Nigeria or at least were when I still lived there almost a decade ago. There are lots of reasons why such occurences are common in places like Nigeria & China but not in places like America. My impression is that the top two are

  1. Deeper Sense of Community: People from the same village in Nigeria typically share the same ancestors, the same culture spanning hundreds of years and speak the same language. Neither cities nor small towns in the America have the same history or depth of connectedness between people living in the same area. This sense of community also makes it more likely people will feel an obligation to helping their people from their village when they have good fortune. The closest analog to that sense of obligation being widespread in America has been college alumni associations. When I first moved here I found it surprising that people are more likely to spend money helping the school they went to college than their home town.
  2. A Little Goes A Long Way: In Nigeria, most of the affluent people are a generation or less removed from living in huts in some remote part of the country. When my dad grew up, the richest man in the village was the guy with a bicycle and a radio. In a country where 70% of the population lives on less than $1 a day, it doesn't take much [by American standards] to better people's lives. In comparison, the average income in the U.S. is around $100 a day.

The rest of the reasons are mainly variations on the two mentioned above. The reason that in America
our word of mouth heroes are people who spend their money on incredibly stupid stuff.
as Joshua puts it can mainly be explained by the first point above. In Nigeria, you are expected to help those from where you came from as well as spend money on incredibly stupid stuff. In America, there isn't an expectation to help your roots except for looking after your parents and sending in donations to your college alumni association.

 

Categories: Personal

By now I'm sure you've gotten your fill of the news that Google is purchasing YouTube. The most interesting reactions I've seen are the the video of the YouTube founders talking about their newfound wealth on YouTube and the BusinessWeek interview with Steve Ballmer. After thinking about it for a few days, I've come to suspect that this may be an example of the Winner's Curse especially when you consider that the $1.6 billion Google is paying isn't all they have to pay. They'll also have to make deals with the major media content producers (i.e. movie & television studios, record labels, etc) which they've already started doing. I wouldn't be surprised if this deal eventually ended up costing north of $2 billion when all is said and done

Unfamiliar with the Winner's Curse? See the article Nasty Auctions which contains the following excerpt

Imagine a professor who holds up a $20 bill in a class and auctions if off to the high bidder. What do we expect to happen? It would make no sense for anyone to anyone to bid higher than $20, and if the high bid is below $20, someone in the class will have an incentive to bid a bit higher. The end result is that the $20 bill should fetch a high bid of something very close to $20, if not $20 itself. This image of people bidding up the value of an item to its true value is used repeatedly when economists discuss markets. However, auctions are not always so nice.

Imagine instead that the professor presents his class with a bottle of coins. He lets them inspect the bottle, but they cannot open it and it is impossible to count the money in the bottle. He then asks everyone to write down a bid, and accepts the high bid. When this experiment is run in actual classrooms, the end result is that the average bid is less than the value of the bottle, because people are risk-adverse and will bid less than they what the expect the value to be. Some people err in underestimating the value of the coins in the bottle, but others err in overestimating their value. Usually one of the people who overestimate the value ends up winning the bid, and it is very common for the bid to be higher than the true value. Economists have dubbed this phenomenon "the winner's curse," and find it a featue of bidding for oil-exploration rights and for free-agent baseball players
.

Only time will tell whether this deal turns out to be a bargain like Rupert Murdoch purchasing MySpace or a bad move like the AOL<->Time Warner merger. One thing's for sure, it probably won't be considered as wacky as the eBay<->Skype purchase which will probably never make sense.


 

I'm in the process of putting the finishing touches on the infrastructure code for downloading podcasts in RSS Bandit. The main things left are handling the uncommon cases such as password protected enclosure files and resuming downloads if the application is restarted. I should be able to make some progress with UI integration by the end of the weekend.

The current question I've been trying to figure out is what podcast feed(s) should be in the default set of feeds when a new user installs RSS Bandit. My original plan was to go with Ask A Ninja but it seems there's some weirdness in the feed where some enclosures are Flash files while the others are Quicktime movies. The feeds I'm currently considering are

Which of these do you think is a good fit for the typical RSS Bandit user? Are there other podcasts I should be considering?

Update: It seems there are even more problems with the Ask A Ninja podcast. It seems the service hosting their podcast files (such as this one) rejects HTTP requests from the Windows Background Intelligent Transfer Service (BITS). I'm not sure what to do about this problem since there doesn't seem to be a way to change the User Agent string in the HTTP requests sent by the BITS client. :(


 

Categories: RSS Bandit

October 13, 2006
@ 04:32 PM

Stephen O'Grady has a blog post entitled What is Office 2.0? where he writes

As some of you know having spoken with me on the subject, I have little patience for philosophical discussions of what Web 2.0 really means. When pressed on the subject, I usually just point to properties like del.icio.us and say, "That is Web 2.0." Likewise, I'm not terribly concerned with creating strict textual definitions of what Office 2.0 is, as long as I can credibly cite examples that exhibit the tendencies of a "next generation" office platform. As this show amply demonstrates, that part's easy. Google Docs & Spreadsheets, Joyent, Zoho, and so on? Very Office 2.0. Microsoft Office and OpenOffice.org? Office 1.0. Q.E.D.

While the question of what Office 2.0 is doesn't really keep me up at night, however, what it means absolutely does. We have a unique view on the technologies, because we're not merely covering analysts but avid users. And what's obvious to me, both as an analyst and a user, is that Office 2.0 has strengths for every weakness, and weaknesses for every strength.

The trend of talking about things without defining them and then revelling in the fact that they are ill-defined really makes me wonder for the future of discourse in the software industry. I thought all the discussions about SOA were bad but "Web 2.0" and "Office 2.0" puts all that to shame. I'm especially disappointed to see people who call themselves "analysts" like Stephen O'Grady join in this nonsense.

The problem with his del.icio.us example is that when I look at del.icio.us I see a bunch of things, I see a site that has

  • tagging/folksonomies
  • open APIs
  • user generated "content"
  • supports syndication via RSS feeds
  • a relatively small amount of users and is likely to stay a niche service
  • nothing of interest that will ever draw me in as a regular user

The problem with lumping all these things together is that the impact of each of the main bullet points is difference. The impact of the trend of more websites filled with user generated content from blogs to podcasts is different from the impact of the trend towards open APIs and "the Web as a platform".

Similarly when it comes to "Office 2.0" the impact of anywhere access to my business data from any thin client (aka browser) is completely different different from the promise of Web-scale collaboration in business environments that some of the products Stephen O' Grady mentions portend. Lumping all these things together then failing to articulate them makes it difficult to discuss, analyze and consider the importance [or lack thereof] of what's going on on the Web today.

Please, stop it. Think of the children.


 

Categories: Technology

October 11, 2006
@ 01:33 AM

Niall Kennedy has a blog post entitled Widgets Live! conference in San Francisco on November 6 where he writes

The first ever conference dedicated to widgets, gadgets, and modules will take place on Monday, November 6, in San Francisco. The one-day conference will capture and summarize the emerging widget economy and allow developers, business leaders, and content producers to collaborate and better understand how they might participate in syndication at the edge of the network.

Widget endpoints

A small web loosely joined.

I am organizing a conference named Widgets Live! next month in partnership with Om Malik to capture the emerging webspace of widgets. There's so much happening in the fast-moving widget space right now it's a bit difficult to keep track of it all....There is so much activity in the customizable web powered by widgets we felt it was time to bring together the major players for a one-day industry overview and tutorial. We hope you can join us.

Tickets are only $100 and available now.

I've been talking to folks at work about this conference since Om Malik responded to my blog post about having a get together to talk about gadgets widgets. So far it looks like Microsoft folks from Live.com, Windows Live Spaces, Windows Live Gallery and the Windows Vista sidebar should in the house. The conference will be during the same week and in the same city as the O'Reilly Web 2.0 which has worked out perfectly for fitting people's schedules over here. Well, except for the folks who will be going to TechEd Europe.

Be there or be square . :)


 

Categories: Web Development

October 9, 2006
@ 05:44 PM

Last week I got an email from someone at Microsoft asking if my dad was the president of Nigeria. I almost deleted the email without responding until I looked at the person's email signature and it said "Executive Assistant to Bill Gates". So I responded and it turned out that Bill Gates was going to be in Nigeria over the weekend to meet with my dad and he wanted to chat before his trip.

We met on Friday and according to my mom he met with my dad over the weekend. After our talk I asked if it was OK if I blogged our meeting and he was fine with it. What follows are my impressions from our meeting and the topics we chatted about.

The last time I talked to Bill Gates in person was five years ago at the annual event for summer interns at Microsoft where we get to meet him at his house. When I was an intern they had to split the event into two seperate trips due to the number of interns. After introductions, I mentioned that we'd met before at the intern event in 2001 and asked if the event continued to this day. It still goes on today and has now grown to four separate rounds of visits. BillG said he appreciates hearing from college students about companies and trends they find interesting before their opinions get influenced by their employer when they get out of school.

BillG asked a couple of questions about me and my family such as how long I'd been at Microsoft, where I want to school, if my mom was Stella Obasanjo (she isn't), what my mom did, if I had any siblings back home and so on. I appreciated talking about myself and was put at ease before being asked about Nigeria or my dad. 

BillG had read my dad's Wikipedia entry and thus was a little familiar with my dad's background story. This is my dad's second time around as president. The first time was between 1976 and 1979 when he became the military president because the sitting military president was killed in a failed coup. He made history by being the first African head of state to voluntarily relinquish power by having elections and stepping down once a winner was announced. He became president this time around after spending three years as a political prisoner. After the military president that jailed him died of natural causes, he was released. A number of others who were jailed at the same time as him were not as lucky and died in prison such as Moshood Abiola and Shehu Musa Yar'Adua before the military president that jailed them passed away. I talked about meeting my dad in Atlanta back in 1998 when he was released and hearing for the first time that he planned to run for president. I thought it was an insane idea given that Nigeria had never had a civilian president finish out their term without there being a miltary takeover of government. I can still remember my dad sitting there and saying "If I don't do it who will?". He won the election and also won a second term. My dad still gives me a hard time today because I never called to congratulate him. I did attend both inauguration ceremonies so that should count for something, I guess.

BillG wondered what my dad would do after he left the presidency. He mentioned that he'd had some angst about leaving Microsoft in two years and also gave an example of a good friend of his, Bill Clinton, who also had similar angst when he left the U.S. presidency. I pointed out that my dad had been a retired head of state for almost two decades before this time around and had found things to do. Besides becoming a large scale farmer, he still did the international statesman thing and once was in the running for the position of UN secretary general which he lost to Boutros Boutros-Ghali back in the early 1990s.

He'd read that my dad was a born again Christian and wondered if that extended to the entire family. It doesn't, I'm not terribly religious and my mom is a devout catholic which it turned out BillG's wife is as well. This segued into a conversation about religion and Nigeria. The country is about half Christian and half Muslim but over the past few years, the division has become more stark. Since I've been in the U.S., a number of states in the northern part of the country have embraced Sharia law which has led to some negative international responses. The religion issue is now divisive enough that questions about religion and ethnicity were removed from this year's census. It wasn't like this when I was growing up. Speaking of ethnicity, BillG asked about the national language and whether there was a major ethnic group in Nigeria. The national language is English since we were colonised by the British and although there were three large ethnic groups (Yoruba, Hausa and Igbo) there are hundreds of indigenous tribes with their own cultures and languages.

The reason BillG was visiting Nigeria was to talk about some of the work that the Bill & Melinda Gates foundation has been doing in Africa. One of the issues he wanted to discuss were the efforts they had been taking to eradicate polio in Nigeria via vaccination. There had recently been some rumors about negative effects of polio vaccines in the northern part of Nigeria which had actually lead to at least one state banning them. The problem with polio, BillG said, is that unlike diseases such as smallpox it may be hard to detect so an outbreak could occur with the authorities being none the wiser until it is too late. He said the tipping point is about 15% of the population being infected while containment is when < 5% are infected. He also mentioned that their foundation was working on vaccines for malaria and sleeping sickness. I mentioned having malaria a few times while growing up and thinking how weird it was when I heard people in the U.S. talking about malaria as if it was ebola. However there was a difference between how I grew up in the city and the average Nigerian who lives in the villages and rural areas. The main problem with malaria that BillG wants combated is preventing it in pregnant women. Not only is the chance of infant mortality increased but also if the child makes it, the baby is usually born having a low birth weight which contributes to a lifetime of problems. He feels they are close to breakthroughs in creating vaccines for these diseases especially since not a lot of research has been done in this area due to big pharma not investing a lot in research for diseases affecting the poor in Africa. BillG acknowledged that he was being an optimist when he says this and it may take a little longer in much the same way that his optimism about the future of Tablet PCs and voice recognition software has taken longer than he expected to become mainstream. 

My comment about the differences growing up in the city versus the life in the villages reminded BillG of a similar contrast in another African country, South Africa. The life in places like Sun City [where most Americans go when they say they are going to South Africa] is radically different than the life in various South African townships. BillG took his children to some townships when they were in South Africa so they could see how the other half lived, his children were resistant to the idea but he thought that it would be a good idea to see what life is like in these places. We also talked about how widespread AIDs is in South Africa (affecting 30% of the population by some estimates) while it seems relatively contained in countries like Nigeria. I mentioned seeing the billboards for the ABC campaign (Abstain, Be faithful, use Condoms) while in Nigeria and he agreed that the campaigns seemed to have been working. Using condoms has seemed to be very effective but unfortunately there are some religious and social objections to the idea. Their foundation is working on creams and gels that can be applied just like spermicidal creams and gels which can be used to prevent AIDs and will be more acceptable to social norms [his exact words were "eliminate the negotiation during encounters"].  BillG also said that there seemed to be a strong correlation between improving healthcare and the number of children people had. This means that there is the double benefit of having healthy children and being able to afford to have them since you don't have that many. In addition to healthcare, BillG was also going to talk to my dad about their efforts around improving agricultural practices to improve crop yield and some of their suggestions for improving education. 

We did talk about Microsoft a little. When I mentioned I work for the Windows Live platform group he mentioned that this would be an interesting area to be in over the next few years and commented on a number of Windows Live services such as Windows Live Spaces, Windows Live Messenger and Windows Live Mail. He also talked about some of the leadership changes we've had across Windows and Windows Live. I asked if he'd continue with his biannual Think Weeks where employees from all over the company get to write him papers about ideas they have. He said he'd continue until he stepped down in 2008 and after that it would be up to Ray Ozzie [who will be replacing him as Chief Software Architect] to decide if he'd continue with the tradition or not. I did mention that I'd submitted a Thinkweek paper which he'd writen a response to, he hoped that he wasn't too harsh in his criticism and I replied that his feedback was quite favorable and has led to some good things happening in Windows Live.

The meeting ran over by 15 minutes and I felt bad for taking up so much of his time. As I was leaving the building I overheard the following exchange between the receptionist of the building and a visitor

Visitor: Where is Bill Gates's office?
Receptionist: I'm not at liberty to divulge that information.
Visitor: I need to see him, I just downloaded Windows Vista and I have a number of complaints.
I wonder how often that happens. :)


 

Categories: Personal