Monthly Archives: February 2006

ASCEND School soars

The Oakland Unified School District has a great institution in its ASCEND School, and that institution is about to inhabit a new space that will assist its pupils and staff alike to reach even greater heights of education–thanks to my brother. Brent Randall designed the new space for the school, and his design resulted in a California State architecture award.

Before I allow a set of pictures taken just last week to speak for themselves, go here, scroll to the bottom of the page, and study the last image of the (soon-to-be-old) school entrance. OK…now behold:

I can’t wait to see this place teeming with kids eager to learn and teachers eager to teach! :-)

ADO.NET is the WinFS API

As member of the WinFS Partner Advisory Council (PAC), I recently had the pleasure of meeting and interacting with WinFS GPM Sanjay Anand during the Integrated Data PAC Summit earlier this month. Sanjay and his team are passionate about integrated storage and WinFS as a platform for next-generation application development.

Earlier today, Sanjay penned his first post on the WinFS Team Blog, reminding us that WSS was claimed first by Exchange, not by SharePoint. :-) More to the point, he explains why WinFS is poised to succeed where previous efforts by Microsoft toward an integrated storage platform have not. And to be clear, this is a big task worthy of an A-list team.

Being able to leverage a single framework for WinFS data and data from stores outside WinFS (e.g. EMC | Documentum repositories via Documentum’s managed data provider) is a big win for application developers and therefore, it’s a big win for end users, too. Richer applications mean richer experiences, etc. By asserting that ADO.NET “vNext” will be that single API, next-level experiences on Windows become that much closer to reality.

Of course, in order to realize WinFS as a compelling storage platform for application development, it must provide holistic and prescriptive guidance around security, business logic, sync, etc. Applications will only free their data when it’s clear that doing so results in no less control, no less enforcement of critical policies and in fact results in refocusing innovation on the value-add domain, enabling end users to become empowered by more actionable data.

Thankfully, Microsoft doesn’t seek “yes men (or women)” for its PACs, and WinFS is no exception. Know that when Sanjay and others on the WinFS team talk about “hard questions” that the WinFS PAC is doing its best to raise, articulate and debate such points of view so that the end result can realize the dream we all seek when it comes to interacting with everyday data in multiple contexts: consistent, intuitive and trustworthy experiences.

There will be much more to say once the next beta is released. Until then, I leave you with a word: composition. :-)

Maturing smart client infrastructure

If you’ve been a reader of mine for awhile, you know that I’ve blogged about smart clients in the past (defined). It’s been great to see a fair bit of progress from Microsoft concerning more robust infrastructure for the development of smart client-oriented applications. Insufficient common plumbing was a central concern of the Smart Client Architectures working group within the, now all-but-closed, Microsoft Architect Advisory Board. Each one of us in the WG saw numerous one-off efforts that would benefit significantly from a more capable, robust platform from which to build smart clients (e.g. focus more on the business/problem domain instead). The following efforts are yielding these anticipated benefits: Enterprise Library, Composite Application Block, Guidance Automation Toolkit and Smart Client Baseline Architecture Toolkit.

In case you’re not familiar with these Microsoft (and community) provisions, I encourage you to visit the following links:

The Success of Open Source

“Open source is an experiment in social organization around a distinctive notion of property rights…Property in open source is configured fundamentally around the right to distribute, not the right to exclude…The essence of open source is not the software. It is the process by which the software is created.”

The Success of Open Source author and Professor of Political Science at U.C. Berkeley, Steven Weber, brings refreshingly non-technical perspective and insight into the world of open source and its paradigm. He sheds light on the motivation of individuals engaged in open source activity, on how governance–setting parameters for voluntary relationships among autonomous parties–motivates or de-motivates, on political and economic impact where open source is concerned, on voluntary participation and voluntary selection of tasks as an integral part of open source coordination (organization), and on how essential and accidental complexity is addressed.

According to Steven Weber, there are eight principles that capture the essence of what people do in the open source process as follows:

  1. Make it interesting and make sure it happens.
  2. Scratch an itch. (Understand what conditions individuals find that the benefits of participation exceed the costs.)
  3. Minimize how many times you have to reinvent the wheel. (There is no place for NIH!)
  4. Solve problems through parallel work processes whenever possible.
  5. Leverage the law of large numbers. (For example, consider the effective field testing Linux receives.)
  6. Document what you do. (See #s 3-5.)
  7. Release early and release often.
  8. Talk a lot. (That is, collaborate. No playing it close to the vest!)

Amidst this process, its motivations, etc., The Success of Open Source stuck with me particularly in the following ways:

  • Referring to model open source from the perspective of a political scientist: “The purpose of the model is not to represent reality; its purpose is to place in sharp relief particular elements of reality so we can look at the model from different angles, tweak it in various directions, generalize it, and then come back to reality with a deeper understanding of what happens there.” This is a good definition for modeling and those who model.
  • Eric Raymond: “Fun is…a sign of peak efficiency. Painful development environments waste labor and creativity; they extract huge hidden costs in time, money, and opportunity.”
  • Software code as art (expression); software process as science (reproducible)
  • The following progression in the open source narcotic can lead to job offers, VC money, opportunities to work with other greats: ego gratification >> peer recognition >> reputation >> proven worth…
  • A growing abundance of computing power and bandwidth cause scarce resources like effort, intelligence and energy to become more valuable and in shorter supply. That in abundance depends upon that in which is not in abundance (i.e. classic supply and demand).
  • “Network good” – “The value of a piece of software to any user increases as more people use the software.”
  • Forking vs. coordination: “Too much coordination can get you stuck working in old and inefficient architecture.” Nevertheless making a strategic decision to abandon such an architecture can be quite difficult “because it means placing at risk all sorts of sunk costs and existing competitive advantages.”
  • Software architecture should drive the organization about it. For example, consider the consequences of Conway’s Law: The structure of the (technical) system mirrors the structure of the organization that developed it. There may be expected, perhaps constrictive, communication paths, but there may also be silos of knowledge.
  • While familiar with the concept of flaming (public condemnation), the concept of shunning (refusing to cooperate) was intriguing. I like the Troll Cap application of gentle shunning by 37signals.
  • Is your brand (e.g. “Brand You”) a “valuable proxy for a promise of a quality performance?”
  • Enabling distributed innovation by empowering people to experiment, creating effective feedback loops, and developing signal intelligence by recognizing legitimate signals–valuable bits of information–amidst noise.
  • Exploration of new possibilities vs. exploitation of old certainties–risk of obsolescence if overly focused on refinement and iterative improvement
  • Sometimes visionaries must rule the day (over pragmatists)!
  • “As information about what users want and need to do becomes more fine-grained, individually differentiated, and hard to communicate, the incentives grow to shift the locus of innovation closer to them by empowering them with freely modifiable tools.”

I gather from my read that Steven Weber will publish again, and I look forward to his next effort. In the meantime, I look forward to tapping into a greater percentage of human creative motivation amongst my colleagues through the lesson I’ve learned from reading The Success of Open Source.

Update 12/1/2008: For more of my book reviews and to see what else is in my book library (i.e. just the business-related or software-related non-fiction therein), please visit my Books page.

Desktop search

Well, after exercising various options first hand, I can report that I’m going to return back to using Lookout and Copernic Desktop Search (CDS). Here’s why:

  • Lookout has the best search performance and functionality within Outlook for me.
  • CDS has an intuitive interface that also performs well and is accessible. Its search quality is better than both Google Desktop Search (GDS) and MSN Desktop Search (MDS), at least in searches that I run daily to find content I need.
  • The GDS UI is both spartan and overwhelming depending on where you look (e.g. it took no time for me to dismiss its Sidebar, opting instead for the floating one-box search widget).
  • GDS returns results as you type. While this is an interesting feature, I find it distracting. Regardless, I will most always opt for timely-and-accurate than for cool.
  • While the MDS UI is pervasive, interacting with MDS is surprisingly slow. For example, MDS is blown away within Outlook by Lookout.
  • While MDS can index .one files, I actually found its OneNote search preview results to be confusing (i.e. didn’t look at all like what I expected given a known term within a known section and page).

This process was useful in discovering my personal content management priorities. Your mileage may of course vary. There are a few things I’d like to see from my current tools of choice as follows:

  • Lookout performance be fully transferred to Outlook “12” built-in search
  • Copernic take a more proactive and engaged stance with developers (i.e. this alone doesn’t cut it)
  • OneNote file extractor plug-in for CDS–not that an adapter has to be provided by either Microsoft or Copernic

Interesting, I see that Omar Shahine just gave MDS the boot, too…

Update 2/9/2006: GDS3 raises privacy concerns, with me anyway…regardless of its opt-in basis ([1], [2], [3]).

Update 2/27/2006: Copernic, lend us your APIs!! By doing so, for example, I can leverage Mindjet’s Research Accelerator. The folks at Mindjet Labs want to integrate RA with CDS like they already have with GDS, but you have to provide some public interfaces to enable the integration.