2010 Jan 29, 3:54
Raymond Chen has some thought experiments useful for discovering various kinds of stupidity in software design:
Tim Berners-Lee's principles of Web design includes my favorite: Test of Independent Invention. This has a thought experiment containing the construction of the MMM (Multi-Media Mesh) with
MRIs (Media Resource Identifiers) and MMTP (Muli-Media Transport Protocol).
The Internet design principles (RFC 1958) includes the Robustness Principle: be strict when sending and tolerant when receiving. A good one, but applied too liberally can lead to interop issues. For instance, consider web browsers.
Imagine one browser becomes so popular that web devs create web pages and just test out their pages in this popular browser. They don't ensure their pages conform to standards and accidentally end
up depending on the manner in which this popular browser tolerantly accepts non-standard input. This non-standard behavior ends up as de facto standard and future updates to the standard
essentially has had decisions made for it.
technical design principles software development 2009 May 13, 11:04To summarize: build the smart grid on top of the Internet, and put wireless mesh routers in power meters and cars.
david-weinberger network wifi mesh-networking wired article robin-chase car smart-grid 2008 Jun 16, 12:51Salvador Dali's appearance on the 1950's game show "What's My Line" in which a panel must determine the occupation of a mystery guest using only yes/no questions. "...Watch the shamelessly
self-promotional proto-Warhol's 1952 appearance on What's M
video gameshow 50s tv salvador-dali 2007 Oct 3, 10:21Tim Berners-Lee writes about principles for new technology in the context of the evolution of HTML and the development of namespaces and XML.
architecture article tim-berners-lee w3c internet history evolution html namespace xml web mmm multimedia-mesh humor test-of-independent-invention 2006 Nov 28, 5:24The objective of Live Clipboard is to provide a simple and consistent user model to wire-the-web that would assist individuals in creating their own mesh of interconnections, both web-to-web and
web-to-PC. Simply stated, the idea is to extend the PC clip
xml microformats liveclipboard microsoft ray-ozzie specification reference internet semanticweb