Entries Tagged 'Uncategorized' ↓

Web 2.0: The Next Generation

In his 2003 OOPSLA keynote The Internet Paradigm Shift Tim O’Reilly summarized some of the common traits of the successful applications of the Internet era. They included software built for use in delivering services, dynamic data and languages, architecture of participation, low barriers to experimentation, interoperability, and a few others. Here are a couple of snapshots from his keynote (October 30, 2003).

OOPSLA 2003 - 13 OOPSLA 2003 - 14

A few years later he expanded on and explained the traits as design patterns. He then used the design patterns extracted from web applications such as eBay, Craigslist, Wikipedia, del.icio.us and a few others to define Web 2.0. While today there’s no general consensus on what Web 2.0 really is, many new systems exhibiting Web 2.0 traits have emerged since Tim’s paper–Pownce, SlideShare, friendfeed, reddit, and so forth.

Now why am I telling you this? If you’ve built Web 2.0 applications then you too could leave your fingerprints on the next generation of Web 2.0 design patterns. We are aiming at extracting new patterns from this post-eBay/Craigslist/Wikipedia crop at the Web 2.0 Pattern Mining Workshop at the TOOLS Europe conference. During the 2-day workshop (June 30-July 1) Web 2.0 and pattern experts will crack-open several Web 2.0ish systems, identify the recurring problems and common solutions, and extract new patterns.

Workshop participation is open to anybody who could contribute. If you’re interested check out the Call for Participation and send your proposal by the May 5 deadline. Feel free to contact me with questions or clarifications.

Understanding slashdot

I’ve been a slashdot reader since the end of 1997, when I discovered it over the dial-up connection I had at the University of Illinois. While back then I visited /. almost daily, nowadays my visits are much less frequent. During this time the slashdot community expanded and changed (if nothing else we’re all 10 years older). Consequently I no longer have a good grip on how objective and well-researched the typical slashdot post is.

This changed last night, when the slashdot story Microsoft Developing News Sorting Based On Political Bias covered one of the projects I’m involved with (i.e., Blews). The coverage provided some interesting insight about /.

First, in spite of the “news for nerds” tag line, slashdot stories are not necessarily new. Over a week before the /. coverage Matt Hurst blogged about the mainstream media picking up Blews in their TechFest coverage; I also had a similar post. So if you’re looking for fresh nerdy news you’d be better off going elsewhere.

Second, the /. comments cover a wide spectrum: some are objective. Others are amusing. Others make me wonder whether a sequel to Mel Gibson’s 1997 Conspiracy Theory is in the works. Yet they are far from being evenly distributed–on the contrary. So if you’re after a reasonable S/N you’d also be better off seeking that elsewhere. (BTW if Blews resonates with you consider attending ICSWM 2008; several folks from the Blews team as well as myself will be there.)

So with old news and poor S/N what are those coming to /. after?

Taiko Drums in the Japanese Garden

Last weekend I caught a Taiko performance in Seattle’s Japanese Garden. I have never seen Taiko live; the mix of percussion and choreography was quite impressive. Here’s one of the snapshots I caught. If you’d like to see the dynamics of a similar performance this YouTube video should give you an approximate idea.

With Miguel de Icaza on Open Source, Mono, and Moonlight

A few weeks ago I attended Lang.NET Symposium. Charles Torre asked me to participate in a conversation with Miguel de Icaza, who was among the attendees. (While nowadays most people associate Miguel with Mono, our paths crossed–virtually–many years ago, when Tudor Hulubei and Andrei Pitis were working on GIT.) Charles Torre was our host, and we talked about open source, Mono, Moonlight, and various other bits. Our session is now available as a Channel 9 video. (Note: cross-posted from my work blog.)

Your Next Generation DVD Player Will Be …

Disc-less… and the competition is coming over your high-speed Internet connection. Netflix lives up to its name; Jaman, Apple TV and VUDU are also doing it. With Jaman, Apple and VUDU entering the world of HD, the incentive of buying plastic seems low.

That aside, I find it puzzling that shipping 12-cm disks via gas-guzzling trucks is still more economical than pushing bits through the wire. Sure, there’s also the carbon footprint, but that’s not factored in the price. At the beginning of the year I heard on a show on the BBC World Service that “being green” is going to be fashionable in 2008. The show also warned that typically this would be just a fashion statement because under the current rules of the game it’s extremely hard to do it while staying competitive. So far they seem right on both counts.

Read This Book: The Change Function

Just a few days into the new year is a great time to look back at 2007 and reflect about what book influenced me the most. Pip Coburn’s The Change Function–recommended by my friend and colleague Erik Meijer–stands out as the clear winner.

Pip shares his insight about assessing the success of high-tech products. He boils it down to the ratio between the current customer pain (P) and the total perceived pain of adoption (TPPA) for a new technology. From Chapter 5 on the book contains case studies and projections for various products, including DEC’s Alpha chip, ISDN, TiVo, flat panel TV, and satellite radio. The probing questions from Chapter 11 are great!

Going through this book influenced the way I think about technology products in general, and software projects in particular. I got to enjoy the mental exercise of understanding and articulating the customer pain, and then the total perceived pain of adopting the solution(s).

On the last day of 2007 an email inquiry about Kindle reminded me of the Change Function–perfect timing for a reminder to reflect about the year’s most influential book. Answer the following questions to compute its Change Function:

  • What is the crisis ?
  • Is the crisis the supplier’s or the consumers’ ?
  • What is the perceived pain of adopting the solution ?

Moving to WordPress

I decided to give WordPress a try and migrated my entire site from Drupal. Among other visible (and not so visible) changes now I can use Live Writer for WYSIWYG blog-editing. I’m sure I broke a few things in the process so do let me know if you have problems with the content/links.

The Future Workspace

A few months ago a CNN crew visited paterns & practices on the Redmond campus. They shot a few videos in our offices built from the ground up for agile development.Their feature on the future workspace has been available for a while now as a 3-part series: the Google Plex, Microsoft Workplace Advantage, and the Perfect Office Chair. The footage from patterns & practices is in part 2, mixed with other Microsoft clips.

URL Compression

Many useful URLs are way too long to memorize or even type. I’ve known and used TinyURL for many years to compress long URLs. A recent conversation reminded me of this service. It turns out that several other options are available. I’d like to see more people use these services to trim long URLs, particularly when they’re printed on paper. Can you imagine typing something like http://spaces.msn.com/members/siteexperts/Blogs/cns!1pNcL8JwTfkkjv4gg6LkVCpw!2085.entry? This is in fact an example from a real printed book. Why not http://tinyurl.com/2jjl2f instead?

Patterns for Fault Tolerant Software

My fellow Hillsider Robert S. Hanmer has just finished his book on fault tolerant patterns (to be available from John Wiley & Sons, October-November 2007). Here’s the book’s descritiption, in Bob’s words:

This book presents proven techniques to achieve highly available, fault tolerant software that can be implemented by software developers, software architects and small teams. The techniques are presented in the form of patterns as a resource for teaching developers and students about fault tolerance principles and also as a reference for experts seeking to select the technique appropriate for a given system.

Within the phases of fault tolerance (fault detection, error processing and fault treatment) the patterns will be organized in a way that leads from high-level abstractions to the concrete mechanisms. The collection of techniques will be programming language independent, and will be presented in a way that supports their working together to design fault tolerant software. This allows the designer to build the fault tolerant pattern language needed to solve their unique design problems.

Readers are guided from concepts and terminology, through common principles and methods to advanced techniques and practices in the development of software systems.

This book gives present proven methods of increasing the fault tolerance in a way that helps individual architects and developers. The fault tolerance domain lacks a handbook that provides well-known techniques and practices that are larger in scope than ‘defensive programming’ as many books focus on specific techniques or exclusively on reliability engineering.

I’ve been following Bob’s work and I am very happy to see it come to fruition in this form. For years seasoned programmers have been extracting techniques and insight from carrier grade software. It’s great to see a book on this topic from one of the long time members of the patterns community!