Nick Gall's Weblog
[NOTE: I have moved. My new blog is ironick.typepad.com.]
        

Nick Gall's Weblog

Monday, September 27, 2004

GM's reuse strategy.
This article about GM's efforts to increase reuse of part designs, touches on several very timely topics. First, software designers are not alone in preferring to design unique parts, rather than use existing ones. I find it the epitome of irony that the industry that IT seeks to emulate in its use of interchangeable parts, itself struggles with the issue! Second, to enable reuse, even of physical part, requires substantial IT investment to enable designers to simply find a part to reuse. Third, it touches on the "monoculture" issue being debated with regard to widespread use of Windows. In GM's case, when more product lines share a common part, design flaws in the part have wider repercussions.
5:25:19 AM      

Wednesday, September 22, 2004

Endpoint services vs. protocol services.
It recently stuck me that the WS-* architecture is implicitly based on two distinct notions of "service", only one of which is explicitly referred to as a service. The obvious type of service is one defined using WSDL. Let's call these "endpoint" services. The subtle type of service is the kind provided by a SOAP node when it acts on a SOAP header. For example, when a WS consumer receives a SOAP envelope containing a WS-Security header, it must invoke a "service" to process the header, e.g., decrypt the SOAP body. Let's call these "protocol" services.

What's interesting is that endpoint services are "first class" services--they are getting all the attention and there is active work in improving the description of such services. They are also the services that one typically implies when one speaks of "composing services". Protocol services on the other hand are clearly "second class" services--hardly anyone is focused on them. However, there is growing discussion of "protocol composability" : "Web service protocol composition is based on the modular architecture of SOAP. SOAP's architecture anticipates the composition of infrastructure protocols through the use of a flexible header mechanism". Of course, as I pointed out previously, such protocol composition essentially enables "aspect-oriented protocols". (Thus, one might think of "protocol services" as "aspect services".)

Now the obvious language for describing a composition of endpoint services is BPEL. In fact, BPEL requires "atomic actions" to be described via WSDL interfaces. But there is no language for describing a composition of protocol services. The SOAP spec gets confusing here. It speaks about "features" and requires that new features describe how they affect other headers (i.e., other protocol services).

It is my belief that WS-* architecture must be generalized to provide a unified concept of service that encompasses both protocol and endpoint service descriptions as "first class" concepts. This might entail generalizing WSDL and BPEL. BPEL would then be used to describe the processing dependencies among various protocol services, e.g., WS-Security service is invoked first, then WS-Reliability, then WS-BusinessActivity. Where different protocol services do not have sequencing dependencies, the BPEL operator for simultaneous execution would indicate that. BPEL would then serve as both a functional composition language (in the case of composing endpoint services) and an aspect composition language in the case of composing protocol services (aka aspect services).


9:57:07 AM      

Monday, September 20, 2004

Mass amateurization.
The issue of Mass Amateurization came up in a client discussion. Thought I'd pass along the links and thoughts I'd collected so far. Sorry for the endnotes, but I wrote it for ASCII email.

Here's Clay Sharky's blog posting that (seems to have) first articulated the concept.[1] He had this to say about the amateurization of travel planning:

Mass amateurization is the web's normal pattern. Travelocity doesn't make everyone a travel agent. It undermines the value of being travel agent at all, by fixing the inefficiencies travel agents are paid to overcome one booking at a time. Weblogs fix the inefficiencies traditional publishers are paid to overcome one book at a time, and in a world where publishing is that efficient, it is no longer an activity worth paying for.

Tom Coates then expanded the concept to "(Weblogs and) The Mass Amateurisation of (Nearly) Everything..."[2] For example, he states:

But it's not just publishing or journalism that are going through a process of mass amateurisation at the moment. In fact over the last fifteen years or so pretty much all media creation has started to be deprofessionalised. We only have to look around us to see that this is the case - as individually created media content that originated on the internet has started to infect mass media. Hard-rocking poorly-animated kittens that once roamed e-mail newsletters (http://www.b3ta.com) are now showing up in adverts and credit-sequences, pop-songs written on home computers are reaching the top of the charts, weblog commentators in Iraq are getting columns in the national and international newspapers, music is being hybridised and spliced in the home for competitions on national radio stations. The whole of the mainstream media has started to look towards an undercurrent of individual amateur creation because of the creativity that's bubbling up from this previously unknown swathe of humanity. Mass-amateurisation is EVERYWHERE.

And Ted Leung correctly applies the same concept to open source[3]:

Tom Coates notes that just about everything is becoming amateurised. I think that there are parallels with open source. ... I wish that we could find better terminology. After all, the software running 64% of the web servers on the Internet was written by "amateurs".

Perhaps a better word is semiprofessional: everyone becomes semiprofessional across several professions.

A different perspective on the same phenomenon goes by various names: "hacks"[4], "home hacking"[5][6], and "consumer hacking."[7] As the editor of the O'Reilly "Hacks" series explains[8]:

What happens if you expose the rich mountain of Google data to hackers via a programmatic interface (the Google Web API)? How do you turn a store-front like Amazon's into a syndicated e-commerce engine? (Take a gander at the Amazon Associates program for the answer.)

Think about it. eBay has turned legions into amateur merchants. 40% of eBay's listing come through its Web services APIs[9], of which about 20% are initiated by 3rd parties.[10] Amazon's APIs tell a similar story.[11] The same thing is happening with advertising. Google's AdSense has turned everyone's personal web sites into ad revenue generating machines.[12] All you have to do is insert a sliver of simple HTML boilerplate into your page design (and free up some page real estate), and whenever that page is displayed, Google will automagically post ads that are directly relevant to the content on the page!. For a case study in the airline biz, check out SeatGuru.com. It a favorite of mine because it lets you see the seating configuration for all aircraft models across the major airlines! No more first or last rows! Google even uses the site as a case study.[13]

This ability for consumers to customize their software-driven devices and appliances and even cars is what accounts for the popularity of ring tones ($3 billion business), skinning, and car hacking.

The phenomenon has even been written up in the Wall Street Journal.[14] A related phenomenon, user exchanges, where users exchange their extensions or add ons, has been around for a long time.[15] And here's this month's Communications of the ACM with a special issue on "End User Development" aka "Do it yourself" (DIY) development. [16]

Note, in some ways this mass amateurization trend is nothing new. Note that all managers became amateur "secretaries" when word processing made it possible for everyone to do his or her own typing. Did it eliminate secretaries? No. They went on to do more complex things. It did put a big dent in typing pools though. <grin>

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]


6:29:58 AM      

Cool animated infinitely recursive photo.
Just came across this cool infinite "photo within a photo" animated recursion.

When you click on this link, it zooms in on the photo within the photo within the photo...forever. I'm sure it's ancient history on the web, but it's new to me. Even better, there are instructions for how to do it yourself!

A picture named recursive photo.JPG
5:59:05 AM      

Thursday, September 16, 2004

Aspect-oriented Networking.
Its happening. Here's someone else making the connection between the SOAP processing model and Aspect-Oriented Programming (or more generally Aspect-Oriented Principles) in Identical Principles, Higher Layers: Modeling Web Services as Protocol Stack:

[T]here is a fundamental difference between the layered encoding of data within network systems (see Section Summary ) and the SOAP approach of encoding layer-specific information in the header of a SOAP message. While in strict layering, each layer adds a new envelope to the data received from the layer above, thereby creating a multi-layer envelope structure around the data, the SOAP approach uses XML's Namespace mechanism to add new information to the SOAP message. Thus, the SOAP approach can be seen as being comparable with the general idea of Aspect-Oriented Programming [AOP] . AOP claims that closed components in software systems are not a good idea, because there may be aspects cross-cutting through several components. In the same way as AOP enables code to be written in a way that transcends usual component boundaries, SOAP enables components on top of SOAP to access component-specific information independent from the traditional strict layering enforced by opaque data chunks with layer-specific headers. The question of AOP vs. Layering and possible problems with one of the approaches [Jung] is an interesting one and is a profound question of the most appropriate way to model complex systems.

...

AOP and its remarkable similarity to the way SOAP carries additional information in its header is something that we are interested in investigating in more detail. It is possible that the strict layering we describe in the Web Services layers 3-5 could and should be replaced by something more flexible, so that the layering structure of communicating Web Service peers must not match structurally, but only semantically (in the spectrum allowed by constraints such as SOAP's mustUnderstand attribute). It is possible that alternative models of protocol structuring, such as the protocol graphs used in the context of Dynamic Protocol Configuration [Plagemann] , provide a more appropriate way of protocol modeling for the Web Services layers 3-5.

Emphasis added. See my last entry on this subject, ESB vs. ESN: Yet another end-to-end debate, which has references to previous entries.


4:55:47 PM      

Thursday, September 02, 2004

Deconstructing Internet Protocols.
I thought *I* was pushing the interdisciplinary envelope pretty far, but someone else seems to be *way* out there. Alexander R. Galloway, Assistant Professor of Media Ecology at New York University (my law school alma mater), has recently written a book called Protocol, which appears to apply critical theory (a descendent of deconstruction a la Derrida) to Internet Protocols! Here is the book's blurb:

Is the Internet a vast arena of unrestricted communication and freely exchanged information or a regulated, highly structured virtual bureaucracy? In Protocol, Alexander Galloway argues that the founding principle of the Net is control, not freedom, and that the controlling power lies in the technical protocols that make network connections (and disconnections) possible. He does this by treating the computer as a textual medium that is based on a technological language, code. Code, he argues, can be subject to the same kind of cultural and literary analysis as any natural language; computer languages have their own syntax, grammar, communities, and cultures. Instead of relying on established theoretical approaches, Galloway finds a new way to write about digital media, drawing on his backgrounds in computer programming and critical theory. "Discipline-hopping is a necessity when it comes to complicated socio-technical topics like protocol," he writes in the preface.

Galloway begins by examining the types of protocols that exist, including TCP/IP, DNS, and HTML. He then looks at examples of resistance and subversion -- hackers, viruses, cyberfeminism, Internet art -- which he views as emblematic of the larger transformations now taking place within digital culture. Written for a nontechnical audience, Protocol serves as a necessary counterpoint to the wildly utopian visions of the Net that were so widespread in earlier days.

It seems somewhat related to Code and Other Laws of Cyberspace by Lawrence Lessig, which according to reviews I've read, has a thesis that plays on the dual meaning of code as computer software and code as a body of law. We'll see.

I found Alexander's home page, which has links to several essays, including an essay with the same title as the book. I liked it so much, I emailed him at NYU to see if we might collaborate on something.


7:25:29 AM      



© Copyright 2006 Nicholas Gall. Click here to send an email to the editor of this weblog.
Last update: 9/21/2006; 6:15:41 AM.