Friday, July 27, 2007

Culture at Google

I found this excellent article where a new Microsoft hire is interviewed.  However this isn't a new hire to Microsoft - but rather a former Microsoftie that ended up working for Google, and now is coming back to Microsoft.

Most interesting to me is the discussion points here about developer productivity.  The best part is the discussion of how Google does tech support:  there is a "tech stop" on each floor where anyone can go to get a technical problem solved or swap hardware.  They use a system to track what hardware you are allowed to request (based on role) and what you have checked out.  The convenience and co-location apparently makes for a very productive situation.

Additionally the interviewee claims that quite/private space is crucial to development and that Google has that wrong - this is interesting to here as I have strongly believed in private workspaces for a long time.

The article also covers the Google "20% of time on personal projects", and organizational structure (which sounds broken to me). 

http://no2google.wordpress.com/2007/06/24/life-at-google-the-microsoftie-perspective/

Tuesday, July 24, 2007

Microsoft Gatineau aka Microsoft adCenter

Pictures of Microsofts up and coming adCenter (think competitor to Google Analytics for most intents and purposes) have been leaked.  You can find them here.

Microsoft's Ian Thomas (who works in Microsoft's Digital Advertising Solutions group) responds on his blog here.

Its very interesting to see that Microsoft is going beyond standard web analytics capabilities and is going so far to blend in other data sources such as Microsoft Passport registration information.  This allows the analytics to show trending on metrics previously unavailable to a site.  For example if the user has logged into any Microsoft service (hotmail, MSN, MSDN, etc..) and then hits a site running MS adCenter analytics, the site will be able to see demographic data such as gender breakdown.  This applies even on data points not collected by the site, even for people that haven't registered with the site.

 

Its uncertain what the privacy issues are to this approach - I'm sure legally Microsoft is permitted to do this based on the user agreements for passport, however is it ethical?

I actually think it is - the data is kept at the aggregate level so its giving web site operators key data without being able to identify any user.  However if they want to target to this data they will need to collect the data point from user.

Thursday, July 19, 2007

Early indicators of Rich Internet Application Performance

Intresting testing going on in the rich internet application space.

Follow the link to check out "bubblemark" - a test (with source code) for Silverlight, JavaFX, and Adobe AIR.

Here's the preliminary test results

JavaFX — 14 fps
Firefox + Silverlight (JavaScript) — 56 fps
Firefox + Flex — 62 fps
Adobe AIR — 62 fps
Firefox + Silverlight (CLR) — 99 fps

 

Pretty impressive that silverlight on CLR far outperforms the others.

 

Found via "the Universal Desktop".

Thursday, July 05, 2007

Is Software Development Engineering?

I've heard the arguments before - usually arguments against treating software development as engineering.

I found this post thought provoking and informative:

http://forums.construx.com/blogs/stevemcc/archive/2007/06/28/software-engineering-ignorance-part-ii.aspx

Some interesting things from this article include:

  • The information available in bridge engineering is often as unknown as in software development
    • example:  when the Brooklyn Bridge was defined the properties of steel cables weren't well understood so a safety factor of four was used
      • Vince Porcelli points out that the cables were manufactured right down the road in Trenton, NJ
  • Differences in developer productivity also exist in engineering disciplines as well as all professions
    • example: the 80/20 rule (20% do all the work) does apply to Software Development, but also to football quarterbacks!

Engineering isn't about aligning and designing perfect information.  Engineering is about defining existing information, and planning for variation.  To me its very important to treat software development as engineering in order to plan for the variation in projects.

Only when there are multiple projects of extremely high level of consistency should we move from an engineering paradigm to a manufacturing paradigm.

Brian's Blog

Brian Whaley is a coworker of mine that I have recently been able to get blogging. He's really gotten into it and has created a fantastic resource for search engine optimization (legitimate stuff) and some web analytics.

You definitely should check it out: http://brianwhaley.spaces.live.com/blog/

Monday, July 02, 2007

Sometimes we have fun...

Over the years when Jesse left the office for a day some times a new dilbert would adorn his wall for his return.  The first couple were spoofs on the one he had hung on his wall - posted in the exact location of his original (down to the exact pin holes).  Here's a couple of them:

dilbert.1.9.2005 JESSE

dilbert.1.9.2005 JESSE take 2

dilbert 11.8.06 jesse

Wednesday, June 13, 2007

Participating in the Social Web

Social networking sites are all over now, youtube, flickr, del.icio.us, digg, blogs, podcasts, vlogs, the list goes on and on where user generated content is king.

So how does a large company play into this trend?

Some are trying to create communities for user generated content, but I don't think this will get much traction.  I believe this approach will fail as people have some level of distrust for established companies trying to create communities - and its rightly so in my opinion.  Clearly any company must protect its interests, and open community participation will often go against the company (be it negative comments, in depth discussion of competition, bad customer service, or inaccurate reviews).  Further more establishing a community is interpreted as a deep commitment to participation - if the level of participation users expect isn't met users will feel betrayed.

So if creating social networks doesn't sound like a good idea, how can companies participate (and capitalize on) "Web 2.0" ?  (I hate that term!)

In my opinion companies need to be come active, first class participants in social networks.  Companies should actively participate (appropriately and honestly) in select sites.  Participation in terms of creating content and joining conversations.

I must make sure to stress that this participation must be open and transparent - clearly identifying that it comes from the company.

Additionally I see big opportunities in the integration fabrics of these sites.  Embracing OpenID  and releasing gadgets for iGoogle, My Yahoo, Live, is a great opportunity to push out functionality and information to users without expecting them to join your community (lowering the bar for them to get your message).

Finding the most relevant communities is important - and something you need to do anyway.  Joining these communities and donating time, information, and technology to them opens a host of positive user experiences and gets information out.  Understanding these communities and offering some innovation for the user to integrate these communities into  mash ups will yield usage and positive customer interactions.

A large company should not try to make a web browser, but perhaps a Firefox or IE toolbar, or even better it should see if there is something it could deliver via an already established IE/Firefox toolbar/add-on.

This is a big shift - away from trying to capture users traffic, and moving to integrating with how they want to spend their time.  A move to decentralized offerings that take advantage of single back end systems, and leveraging the user generated content without trying to control it.  Putting your content where users are already going to look for similar content and providing them value, lowers the barriers of entry to the user.

Typical web assets require the user to find the resource (which usually requires SEO, and advertising), then often the resource requires a custom set of credentials (user registration), and receiving updates requires bookmarking the site and returning, or signing up for a newsletter.  All of things are things the user likely does not want to do, and therefor raise the barrier of entry for them.  None of these barriers add value to your content - they are at best providing you information.  Clever design, and integration can remove all of these barriers.

Is the user really searching for your site?  Or are they searching for products  meeting some criteria?  This is why you find a cereal isle in the grocery store not a Kellogg's isle.  You find a cheese section and a salad dressing section, not a KRAFT section.  This works not just to allow consumers to cross compare, but also because they can feel informed about more choices by visiting a single location.

In addition to being more likely to succeed, the cost of this approach is less than the cost of creating communities.  Its an incremental and ongoing investment into the communities, rather than a big up front investment. Less money needs to be spent on design and development.  Investments can be weighed and made in much smaller increments. 

Further more this approach will drive traffic to more traditional web based assets as exposure to the community will be greater, and page rankings (SEO) will be higher due to the association with the other sites (more inbound, authoritative links).