Annozilla: A Firefox Plug-in for Annotation

In early August I wrote: “… the only Web browser that I know of that supports annotation is the W3C’s Amaya.”

I am delighted to report that there is a Firefox plug-in for annotation:

This is the the Annozilla project, designed to view and create annotations associated with a web page, as defined by the W3C Annotea project. The idea is to store annotations as RDF on a server, using XPointer (or at least XPointer-like constructs) to identify the region of the document being annotated.

It’s aligned with the W3C – it makes use of W3C standards like XPointer and RDF.

This is precisely what I was goading Google into doing with Google Notebook.

The Service Oriented Architecture (SOA): The Key to Recontextualizing the Knowledge Worker for the Conceptual Age

Consider the following snippet from Cloninger’s book:

In his book A Whole New Mind, author and business consultant Daniel Pink proposes that we are transitioning from the information age into the “conceptual age” … According to Pink, three forces – abundance, Asia and automation – are currently displacing the knowledge worker. In time, mere software skills will become increasingly less valuable than the conceptual ability to recognize what works and what doesn’t.

As a knowledge worker, I’m concerned about being displaced.

And even though I’m at the earliest of stages of internalizing Pink’s message allow me to suggest, that if Pink is correct, this shift underscores the value of the Service Oriented Architecture (SOA).

Thomas Erl defines a SOA as follows:

Contemporary SOA represents an open, extensible, federated, composable architecture that promotes service-orientation and is comprised of autonomous, QoS-capable, vendor diverse, interoperable, discoverable, and potentially reusable services, implemented as Web services.

SOA can establish an abstraction of business logic and technology, resulting in a loose coupling between these domains.

SOA is an evolution of past platforms, preserving successful characteristics of traditional architectures, and bringing with it distinct principles that foster service-orientation in support of a service-oriented enterprise.

SOA is ideally standardized throughout an enterprise, but achieving this state requires a planned transition and the support of a still evolving technology set.

With the exception of the explicit reference to Web Services, Erl emphasizes SOAs from a conceptual perspective.

Taking Pink and Erl together then, it is more important to possess the conceptual ability to understand what works and what doesn’t from a SOA perspective, than the software skills to actually implement a SOA solution.

Also at this early stage, it’s interesting to speculate on Pink’s three forces and SOAs:

  • Abundance – SOAs are experiencing significant uptake. Why? SOA-based solutions address needs. These needs and corresponding adoption of SOAs have resulted in an abundance force.
  • Asia – As the World Wide Web leveled the playing field for document-oriented interactions, SOAs are doing the same for the programmatic-oriented second generation Web (Web 2.0). Such a service-oriented paradigm means that the burgeoning development community in Asia (the Asian force) is as likely to contribute to SOAs as anyone elsewhere on the planet.
  • Automation – As is evident from Erl’s definition (above), automation is a key benefit of a SOA. However, it’s automation that allows for business processes to be completely re-engineered, not merely accelerated. This results in an automation force.

Even though highly speculative at this point, it’s fairly clear that the three forces driving Pink’s predicted shift into the conceptual age are not entirely at odds with Erl’s notion of a SOA.

Thus understanding SOAs via books, courses, etc., would appear prudent for all of us to-be-displaced knowledge workers.

Note-to-self: Read Dan Pink’s A Whole New Mind.

Genetic Aesthetics: Generative Software Meets Genetic Algorithms

I’m still reading Cloninger’s book, and just read a section on Generative Software (GS) – software used by contemporary designers to “… automate an increasingly large portion of the creative process.” As implied by the name, GS can produce a tremendous amount of output. It’s then up to the designer to be creatively stimulated as they sift through the GS output.

As I was reading Cloninger’s description, I couldn’t help but make my own connections with Genetic Algorithms (GAs). I’ve seen GAs applied in the physical sciences. For example, GAs can be used to generate models to fit data. The scientist provides an ancestor (a starting model), and then variations are derived through genetic processes such as mutation. Only the models with appropriate levels of fitness survive subsequent generations. Ultimately, what results is the best (i.e., most fit) model that explains the data according to the GA process.

In an analogous way, this is also what happens with the output from GS. Of course, in the GS case, it is the designer her/himself who determines what survives according to their own criteria.

The GS-GA connection is even stronger than my own association may cause you to believe.

In interviewing Joshua Davis for his book, Cloninger states:

At one point, you talked about creating software that would parse through the output of your generative software and select the iterations you were most likely to choose.

Davis responds:

That’s something [programmer] Branden Hall and I worked on called Genetic Aesthetic. It uses a neural network and genetic algorithms to create a “hot or not” situation. It says, “Rate this composition I generated on a scale from 1 to 10.” If I give it a 1, it says, “This isn’t beautiful. I should look at what kind of numbers were generated in this iteration and record those as unfavorable.” You have to train the software. Because the process is based on variables and numbers, over a very short period of time it’s able to learn what numbers are unsatisfactory and what numbers are satisfactory to that individual human critic. It changes per individual.

That certainly makes the GS-GA connection explicit and poetic, Genetic Aesthetic – I like that!

I’ve never worked with GAs. However, I did lead a project at KelResearch where our objective was to classify hydrometeors (i.e., raindrops, snowflakes, etc.). The hydrometeors were observed in situ by a sensor deployed on the wing of an airplane. Data was collected as the plane flew through winter storms. (Many of these campaigns were spearheaded by Prof. R. E. Stewart.) What we attempted to do was automate the classification of the hydrometeors on the basis of their shape. More specifically, we attempted to estimate the fractal dimension of each observed hydrometeor in the hopes of providing at automated classification scheme. Although this was feasible in principle, the resolution offered by the sensor made this impractical. Nonetheless, it was a interesting opportunity for me to personally explore the natural Genetic Aesthetics afforded by Canadian winter storms!