- From: Champion, Mike <Mike.Champion@SoftwareAG-USA.com>
- Date: Thu, 14 Feb 2002 20:08:33 -0500
- To: www-ws-arch@w3.org
> -----Original Message----- > From: Vinoski, Stephen [mailto:steve.vinoski@iona.com] > Sent: Thursday, February 14, 2002 5:03 PM > To: Austin, Daniel; www-ws-arch@w3.org > Cc: Carroll, Tom > Subject: RE: Strawman list of goals for WSAWG > > > One of the goals (AG005) mentions simplicity and ease of use, but I > don't believe those are necessarily architectural qualities > but instead > are implementation qualities. I have seen complicated architectures > implemented in simple and easy-to-use products, and I have seen simple > architectures implemented in cumbersome and hard-to-use products. Have > AG005 as an architectural goal is also impossible to measure. > I suggest we eliminate it. There was a long (inconclusive?) thread on the TAG list about this. See http://lists.w3.org/Archives/Public/www-tag/2002Jan/0000.html Tim Bray says: 'However one may choose to characterize the architecture of the web, there is universal agreement that qualitatively speaking, it's pretty simple. It's my opinion that this simplicity is one of the reasons it has worked to date. Further, that this simplicity needs to be defended actively, since there are active pressures in the direction of complexity creep. The pressures range widely, from vendors wanting to reduce the semantic gap between the Web and their complex, overgrown data access protocols, to simple facts of life such as large working groups. Trouble is, simplicity is not quantifiable so it's hard to write rules. But I think the Web and the W3C would both have been well-served if at a couple of points in recent years some voice could have spoken ex cathedra saying "This is too complicated. Go back and throw some of it away or find another way to fix the problem." ' The sense on that list seemed to be the same as several replies here: simplicity is difficult to measure, but worth keeping as a goal (or design principle, or something). I for one strongly agree with Tim's position -- we we should actively defend the simplicity of the web (or "services web"); we may be given the opportunity to say "go back and throw some of it away" and we should take it. A couple of related design principles worth keeping in mind are: "conceptual integrity" -- the principle that anywhere you look in your system, you can tell that the design is part of the same overall design. This is not necessarily "simplicity", but in practice the re-useable design components are likely to be fairly simple. "Occam's razor" -- the principle that additional components are not to be added unless there is a compelling need, or perhaps "if given a choice between two designs that meet the essential requirements equally well, choose the simpler". Finally, this is not exactly unexplored territory in software engineering; my memory is a bit fuzzy on the details, but there are a number of software metrics that basically count the number of nodes and links among them in a design or program, then weight them in various ways. I'm not suggesting that we research the state of the art and apply these formally, but there *are* ways to measure complexity if we really need to.
Received on Thursday, 14 February 2002 20:08:36 UTC