August 1, 2005
@ 07:03 PM

I've been in Nigeria for almost a week and so far it's been great. I've spent a bunch of time with family and friends, eaten a bunch of stuff I haven't hafd in years and decided I like MTV in Africa better than what we get in the United States. I've also been taking pictures of everyday life which I'll post to the photo album on my Space once I get back.

Below is a random grab bag of impressions I've had during my trip

  • The traffic scares me. A lot. When being driven in Lagos & Abuja I tend to clench my fists while expecting we'll be in an accident at any minute. I can't get over the fact that as a teenager I used to be able to drive in this chaos and never had an accident. :)

  • The proliferation of mobile phones is insane. There seem to be about half a dozen mobile phone carriers and almost everyone on the streets is carrying one. I was talking to my dad and he said the Nigerian mobile phone market is the second fastest growing in the world after to China. About two years ago when I was last here I saw more people downloading ringtones and texting than I'd seen in Seattle & Redmond, the trend has only continued. I have a bunch of pics of mobile phone ads on the sides of buildings and street hawkers selling pay-as-you-go recharge cards which I'll post once I get back.

  • There is now a large local movie & hip hop scene. The movie scene was blowing up just before I left for college but it now seems to have matured quite a bit. It seems we export movies all over Africa. Folks have started calling the Nigerian movie scene "Nollywood". There are also a ton of local hip hop acts including one of my high school friends is now a rapper called Big Lo. About a decade ago he and I were part of a rap group called R.I.G. and I still have some of our tracks on my iPod. It's great to see that at least one of us is living our teenage dream of being a famous rap star.

  • The newspaper headlines seem to focus exclusively on the goings on of the government & politicians or on tragedies involving loss of life. The contrast between that and the kind of stuff I usually see on the cover of USA Today is striking.

  • Inflation is crazy especially in Abuja. Everything seems to cost a couple of hundred or thousands of naira. I still remember when you could get a bottle of Coke or a newspaper for under one naira. Then again, that was about two decades ago.

  • There are a lot of billboards about HIV/AIDS prevention in the capital city in Abuja but almost none in Lagos (the former capital and commercial center). I'll try and get some pics of the billboards before I get back.

  • Almost every PC I've used so far has been infested with spyware. Except for the Powerbook...

  • The London bombings are on people's minds in my social circle. One of my mom's friends lost her only soon in the July 7th attacks. My sister and dad were in London during the first bombing and I was pretty rattled when it happened. It's good to see the British police have caught all the suspects from the second attack. 

  • The local airline business seems to be thriving as well. Here's another place where there seems to be at least half a dozen competitors driving down prices. It looks like the government airline, Nigeria Airways, is finally out of commission. Good riddance.

  • I miss Nigerian food.


 

Categories: Trip Report

July 29, 2005
@ 03:06 PM

Mike Torres has a blog post entitled  On "MSN: Social Networking Edition" where he points to news stories about a core piece of a future version of MSN Spaces he and I have been working on for the past few months. Mike writes

On "MSN: Social Networking Edition"

Wow, is this actually true?  If so, I wonder how this will change the way people find and communicate with others in the future.

Quote (emphasis mine)

Microsoft Monitor: MSN: Social Networking Edition
A forthcoming "friend of friends" feature will add personal networks of friends to a MSN Space. In someone's My Space [sic], there will appear pictures of the friends, which can include friends of other friends. Friends can be added from people known or associated with friends or from MSN Spaces searches. Blake used the example of searching for golf blogs. If friends are on MSN Messenger, an icon indicates so.

More on Blake, Yusuf, MSN Messenger file sharing, and "Microsoft's new Web-based mail system" as well.  It is an interesting read... 

Funniest part of the post: "small consumer adoption [of Spaces]".  Joe is usually quick to take a shot at Microsoft without actually learning the facts first.  Come on, Joe...  I think the most recent public number was 17 million spaces created worldwide.  Compare that to any of our competitors in their first 3 years of existence.  Yeah...  small consumer adoption.  Maybe 17 million Roombas created those spaces :)

Mary Jo Foley has a little bit more here: 
Microsoft Watch.  My favorite part:

"Our ability to enter, differentiate and compete has never been stronger," Mehdi told the Wall Street analysts and media representatives who attended the analyst meeting.

Couldn't agree more

Although I've primarily been talking about my work on getting a public API for MSN Spaces off the ground, I also work on our social software platform on the back end as well. Once we ship the next version I'll be able to talk a bit more about some of the design decisions we made and I'll get to see how users end up utilizing the features we've been working in.

I love my day job.


 

Categories: MSN

I've been reading some of the hype around microformats in certain blogs with some amusement. I have been ignoring microformats but now I see that some of its proponents have started claiming that using XML on the Web is bad and instead HTML is the only markup language we'll ever need.

In her post Why generic XML on the Web is a bad idea Anne van Kesteren writes

Of course, using XML or even RDF serialized as XML you can describe your content much better and in far more detail, but there is no search engine out there that will understand you. For RDF there is a chance one day they will. Generic XML on the other hand will always fail to work. (Semantics will not be extracted.)

An example that shows the difference more clearly:

<em>Look at me when I talk to you!</em>

… and:

<angry>Look at me when I talk to you!</angry>

The latter element describes the content probably more accurately, but on ‘the web’ it means close to nothing. Because on the web it’s not humans who come by and try to parse the text, they already know how to read something correctly. No, software comes along and tries to make something meaningful of the above. As the latter is in a namespace no software will know and the latter is also not specified somewhere in a specification it will be ignored. The former however has been here since the beginning of HTML — even before it’s often wrongly considered presentational equivalent I — and will be recognized by software.

This post in itself isn't that bad, if anything it is just somewhat misguided. However Tantek Celik followed it up with his post Avoiding plain XML and presentational markup which boggled my mind. Tantek wrote

The marketing message of XML has been for people to develop their own tags to express whatever they wanted, rather than being stuck with the limited predefined tag set in HTML. This approach has often been labeled "plain XML" or "generic XML" or "SGML, but easier, better, and designed just for the Web".

The problem with this approach is that while having the freedom to make up all your own tags and attributes sounds like a huge improvement over the (mostly perceived) limits of HTML, making up your own XML has numerous problems, both for the author, and for users / readers, especially when sharing with others (e.g. anything you publish on the Web) is important.

This post by no means contains a complete set of arguments against plain/generic XML and presentational markup, nor are the arguments presented as definitive proofs. Mostly I wanted to share a bunch of reinforcing resources in one place. Readers are encouraged to improve upon the arguments made here.

The original impetus for creating XML was to enable SGML on the Web. People had become frustrated with the limited tag set in HTML and the solution was to create a language that enabled content creators to create their own tags yet have them still readable in browsers via stylesheet technologies (e.g. CSS). Over time, XML has failed to take off as a generic document format used by content authors for creating human readable documents on the Web but has become popular as a data format used for machine to machine communications on the Web(RSS, XML-RPC, SOAP, etc) .

Thus any arguments against XML usage on the Web today are really arguing about using XML as a data format since it isn't really used as a document format except for XHTML [and even that is only by markup geeks like Tantek & Anne].

Anyway let's look at some of Tantek's arguments against using XML on the Web...

Tower of Babel Problem

If everyone invents their own tags and attributes, pretty soon you get people calling the same thing by different names and different things by the same name. While avoid both of those occurences completely is very difficult (many of the microformats principles are design to help avoid those problems), downright encouraging authors to make up their own tags and attributes makes it much worse and all you end up with are a bunch of documents that give you the illusion of self-description.

Didn't the XML world solve this with XML namespaces like six or seven years ago?

Temptation of Presentational Markup

What happens all too often when authors or developers make up their own tags is that they choose tags that are tightly tied to a specific presentation rather than abstracting them with semantics. Quite similar to the phenomenon of authors picking presentational class names.

As a casual user of HTML, I personally haven't seen a good explanation of why <strong> is better than <b> so arguments whose entire basis is "presentational markup is evil" don't carry much weight in my book. If I come up with a custom markup format and it has a <bold> element, is that really so evil? I'm pretty sure that the XML formats used by OpenOffice or Microsoft Office contain markup that is presentational in nature whether it is setting font sizes, text colors or paragraph alignemnt. Are they evil or does the fact that they aren't intended for the Web give them a pass?

Preferring Semantic Richness

Sometimes something is a bad idea not just in absolute terms, but also relative to other approaches and solutions.

A while ago I wrote about a semantic richness spectrum on the www-style mailing list which went into a bit more detail. Håkon Wium Lie wrote a paper that both predated my rough summary by a couple of years, and provided a much more thorough analysis.

 Languages with well-known semantics are preferred to proprietary/made-up XML. This is for many reasons, including accessibility, cross-device support, and future user agent support.

This seems to be arguing that instead of cooking up your own custom format you should pick an established format with the semantics you want if one exists. This is regularly practiced in the XML world especially when it comes to the Web so I don't see how this is an argument against using XML.

--

Seriously, I feel like I am in some bizarre alternate universe if having aggregators subscribe to HTML web pages is being advocated as being a better idea than using specialized XML formats like RSS & Atom.

That's it...I'm going back to my vacation. The world has gone too loopy for me.


 

Categories: XML

It looks like MSN Virtual Earth is live. In an attempt to beat everyone to the punch when it comes to building an application using the MSN Virtual Earth API, I present http://www.25hoursaday.com/moviefinder

It requires Javascript (duh) and only works in IE beecause I didn't have time to figure out the Firefox equivalent of innerHTML. Enjoy.

Pardon my brevity, I'm posting this from a kiosk at Heathrow Airport


 

Categories: MSN | Web Development

July 24, 2005
@ 02:40 AM

I'll be leaving for Nigeria in the next couple of days and should be gone for a few weeks. Going home is always fun, I'll have my mom asking me when I'm going to settle down with a nice Catholic Nigerian girl while my dad wonders when I'm going to stop goofing off at Microsoft and go back to school to finish my education.

Of course, the best part about going on vacation is the mountain of email and spec bugs I know will be waiting for me when I get back. :)

 


 

Categories: Ramblings

A couple of MSN betas snuck out into the world this week.

In his post MSN Shopping Officially Launches New Beta Site, Chris Jolley talks about the new http://beta.shopping.msn.com. Some of the new features include

  • RSS Feeds – it remains to be seen how aggressively consumers take to this, but I think it's super-cool how we are embracing an emerging technology.    
  • Ratings & Reviews - allows consumers to see what other consumers think of a product, providing them with increased confidence in their purchase decisions
  • Ability to browse our complete selection through an easy-to-understand taxonomy and powerful search
  • Refine searches with expanded, relevant criteria
    •  By price, rating, popularity, name, best match
    • Multiple Views - Results can be viewed in three different views
  • Usability enhancements:
    • Recently viewed– helpful little personalization feature that helps continuity between sessions
    • Compare prices across stores, find out who has free shipping, hot deals, etc.
    • Clean and consistent UI – The UI is clean and simple and designed to NOT get in the user's way
  • Useful Merchandising – Comprehensive set of merchandising, including the Gift Center , Seasonal Shops & Guides , and more

I met with the PM who owns the RSS feeds feature a few months ago to talk about my scenarios and its great to see that it's finally out there. I use the Amazon RSS feeds all the time and can definitely see myself getting some use out of the news feeds from MSN Shopping. All I can say about the ratings & reviews feature is...FINALLY. I've already begun to scheme about how I can convince Mike that we should totally gank learn from the feature in Yahoo 360° where you can include your reviews on your "space".

The MSN Screensaver beta is also out. Some of the features include

  • Personalize with background photos and news and weather information from MSN or any RSS feeds from websites you choose.
  • Search the Web and click news headlines directly from the Screen Saver.
  • Stay connected with Hotmail, MSN Messenger, and MSN Spaces. Track how many unread Hotmail messages and current Messenger conversations you have, and display blogs and photos from your friends’ MSN Spaces.
  • Some of the features of the screen saver are so useful I'm wondering why they are wasted on an app that typically runs when the user is away from the computer.

    And finally, http://www.start.com/myw3b has some new features. Sanaz Ahari has a blog post entitled new things on start.com... where she writes

    first and foremost, check out our new search results:
    - we now have tabbed results that include web, news and rss , so you don't need to do seperate types of search we just give you all the results and it's all ajax based of course
    - the rss resutls are very cool, cause you can just subcribe by clicking on subscribe and they'll get added to your feed
     
    we've also added themes : ice, granite and ocean... ice is my favorite :)
    super easy to navigate, needless to say all in place and no refreshes required.
     
    we got rid of our not so useful home link and folder view - so now when you click on a folder we don't replace your dashboard with the content of that folder... yes, we listen to our user feedback :)
     
    lastly you can now hit the esc button to close your overlay modules - super usable...

    There's a followup post on the start.com weblog entitled more on start: OPML support and popular feeds which states that they added support for importing OPML files as well.  

    Postscript: Anyone notice what all three of these betas have in common? (Hint: Starts with R ends with S and has an S in the middle).


     

    Categories: MSN

    Shelley Powers posted a comment to a recent post of mine about her experience interviewing for a Microsoft position. She wrote

    Tod, if I sound angry, I am. Bill Gates went in front of Congress and said we should have unlimited H1Bs, because Microsoft just can't find 'good' people in this country.

    I interviewed with Microsoft. As soon as I started talking with the guy, I knew he wasn't interested. Within the first five minutes. I've been around long enough to know when someone isn't interested.

    Microsoft doesn't hire 50 year old men, must less 50 year old women.

    As for interviewing, yes I have interviewed people. And hired them. I've never once had a bad hire. You can tell when you talk to people, their enthusiasm, how they respond to what you say, if they're a good fit. Do they have to have all of the tech background? Not a bit. Oh, I wanted certain things: interest and background with a specific programming language, experience with relational databases, and so on. But as for the nits, most of us can do something called 'learn'. I looked for motivation, interest, fit with the team, experience, but more importantly interest in the job.

    I can understand Shelley's frustration around not being made an offer for a position she feels qualified to handle. Last year, when I decided to leave the XML team I interviewed with a bunch of teams at Microsoft including the newly formed RSS team within the Internet Explorer group. The job would have involved community evangelization around the Longhorn/IE RSS efforts and working on platform APIs for RSS. Given my work on RSS Bandit and the fact that the job I was leaving was designing the core XML APIs in the .NET Framework I thought I was a shoo-in for the job. I wasn't. I didn't get an offer because I wasn't "passionate" or "experienced" enough according to the feedback I got when I inquired as to why I didn't get the job.

    I could have decided to give up because "Microsoft doesn't hire black men" or "Microsoft doesn't hire people in their 20s for high visibility positions" but didn't. Instead I kept interviewing and ended up at MSN working on social software. Personally I think I'm happier at MSN than I would have been on the RSS team, I've gotten to broaden my technical horizons and work with a more diverse set of individuals on a prettier campus. Also I still get to work on RSS stuff both in my personal time and with different teams at Microsoft in an advisor role.

    It's easy to give in to despair. Don't.


     

    Categories: Life in the B0rg Cube

    Jeff Schneider has a post entitled Hey, Don Box where he asks

    All of us in the SOA blogosphere have appreciated your input and insight. However it has come to my attention that Microsoft isn't practicing what they're preaching. I'm hoping that you can tell me that my information is dead wrong.

    I ask one simple favor. Start blogging about how Microsoft is using SOA internally.

    Don works on a platforms team so he is the wrong person to ask about first hand experience at actually deploying XML web services or service oriented applications at Microsoft. As for whether Microsoft uses services internally, this is all we do at MSN. I'm responsible for underlying platform services that are used by MSN Messenger, Hotmail, and MSN Spaces. The fact that you can lock down your space to distinct people in your Hotmail address book or the people who are on your Messenger Allow List (i.e. who you've given access to see your presence online) are all due to our service oriented architecture on our back ends. This would be a lot more difficult if each of these applications was a monolithic app on our back end.

    I'm also responsible for another set of services which are used MSN Member Directory, MSN Groups, and even Windows MarketPlace which I found out recently are going to be used by a lot more MSN properties without them ever having to ping me. When services work the way they are supposed to that's what happens.

    To answer Jeff's question, at least with MSN, Microsoft is definitely practicing what it preaches when it comes to service orientation.


     

    Categories: MSN | XML Web Services

    In a post entitled Atom 0.3 Denouement begins his advocacy for developers to stop supporting Atom 0.3 and states his intent to start flagging such feeds as being invalid in the Feed Validator come the fall. I planned to avoid blogging about his post until I saw the following comment by Mark Pilgrim where he wrote

    Atom 1.0 will shortly be an IETF RFC, which makes it as much of a web standard as HTTP.  Atom 0.3 was just some guys (and gals) dicking around on a wiki.  As it turned out, some guys dicking around on a wiki were able to produce a relatively decent standard, but that isnt saying much given the competition.  Atom 1.0 is a great standard, worthy of the label and worthy of being pushed by standards advocacy groups like WaSP...

    Although what Mark Pilgrim has written is factual it is misleading as well. Although Atom 0.3 was not backed by a standards body (and neither has any flavor of RSS by the way) it still became a de facto standard thanks to the advocacy of people like Mark & Sam. Specifically once Google decided to switch their RSS feeds to Atom 0.3 feeds they used their power as a dominant content producer to force every major aggregator to support Atom 0.3.

    At the time I blogged about how this was a stupid thing to do since it basically guaranteed that there would be two conflicting versions of Atom for the immediate future. Now there are hundreds of thousands to millions of aggregator users who will potentially be screwed when Google decides to switch to Atom 1.0. These end users are sacrificial pawns in what has basically been a battle of [male] geek egos over whether a blog post in an XML feed should be contained in an element named atom:entry or item.

    The only bright light in all this crap is that a few years after everyone else figured it out some of these XML syndication geeks are now realizing that instead of arguing over XML element names it is more interesting to figure out what other kinds of data can be syndicated beyond blog posts and news stories. See Danny Ayers's post Brownian Motion and Bill de hra on Atoms in a small world for examples of some of the Atom geeks finally getting it.

    Better late than never, I guess.


     

    July 21, 2005
    @ 03:44 PM

    During my morning blog reading I stumbled on three blog postings about Microsoft and recruiting which paint an interesting picture.

    1. From Shelley Powers's When We Are Needed

      This essay was inspired in no part by a discussion that occurred at Dori Smiths weblog, when she made the statement about women not being able to find work (linked earlier). In her comments, Robert Scoble said:

      Hmmm, at the same time you say the jobs are disappearing I was just talking with a key manager over on MSN Search and he says he is having trouble finding qualified developers in the United States. I also have had the same feedback from the developer division, the IE group, and quite a few others. And if you think this is a Microsoft thing, you should check with HR people at Google, Yahoo, Cisco, and other Silicon Valley companies. They are all having trouble finding great developers.
      I was angry and blasted Scobles comment, anger inspired in no small part by the implication that corporations such as Microsoft are just begging for people, when most of us know (and as I discussed earlier), this isnt true. Here is a fact, technology unemployment in this country exceeds overall unemployment. And women in technology have an unemployment rate higher than the men.

    2. From Joel Spolsky on June 15, 2005

      Recruiting

      To Gretchen : recruiting successfully isn't only up to recruiters. The best recruiting department in the world can't make people want to work at a company that's moribund, that can't figure out how to ship a compelling upgrade to their flagship OS , or update their flagship database server more than once every five years, that has added tens of thousands of technical workers who aren't adding any dollars to the bottom line, and that constantly annoys twenty year veterans by playing Furniture Police games over what office furniture they are and aren't allowed to have. Summer interns at Fog Creek have better chairs, monitors, and computers than the most senior Microsoft programmers.

      Recruiting has to be done at the Bill and Steve level, not at the Gretchen level. No matter how good a recruiter you are, you can't compensate for working at a company that people don't want to work for; you can't compensate for being the target of eight years of fear and loathing from the slashdot community, which very closely overlaps the people you're trying to recruit, and you can't compensate for the fact that a company with a market cap of $272 billion just ain't going to see their stock price go up . MSFT can grow by an entire Google every year and still see less than 7% growth in earnings. You can be the best recruiter in the world and the talent landscape is not going to look very inviting if the executives at your company have spent the last years focusing on cutting benefits , cutting off oxygen supplies, and cutting features from Longhorn .

    3. From Steven Sinofsky's Welcome to TechTalk!

      I wanted to start this blog to share information and views about how Microsoft recruits and hires college graduates, and what a career at Microsoft is like, at least from one perspective. I invite questions, points, and counter-points. Im excited to use this forum to have a discussion about college hiring at Microsoft. The name TechTalk comes from the series of seminars we do during the summer for interns at Microsoft--one of the most fun times of the year for me is to get to present to this group and learn from them how they feel about the work we're doing and the future of Microsoft.

      By way of introduction, my name is Steven Sinofsky and I am a senior vice president at Microsoft in the Office group. You can read my "official" bio on http://www.microsoft.com/presspass/exec/ssinofsky . Ive worked on Microsoft Office since Office 4.2d (the last 16 bit release). Ive been a program manager and a software design engineer, in addition to a general manager.

    Despite what Shelley thinks I know for a fact that we have a hard time filling positions at work. Whether this is because of a lack of qualified candidates in the US or because the Slashdot crowd hates Microsoft [as Joel puts it] is something I dont know. I do know our product teams spends a lot of time talking to folks who sound good on paper but dont do so hot when we talk to them. As for whether H1B visas are a good thing or not, well I'm here on an H1B visa so I guess I'm biased. :)

    It is good to see high level execs like Sinofsky getting directly involved in recruiting efforts. One of the things that is missing in the hundreds of Microsoft blogs is a sense of why the Microsoft internships are so cool. Looking back at my blog posts from when I was an intern four years ago it is fun to see how I became infected by the B0rg. Having someone like Sinofsky take part in showing off why it is so cool to be an intern at Microsoft is goodness. Microsoft's best hires are usually folks who started off as interns.

    The Office guys definitely rock.

     


     

    Categories: Life in the B0rg Cube