Web 1.0++
Behind every great Web 2.0 application is a great Web 1.0 application. Just another way to explain progressive enhancement…
What I Learned at The Spring Experience: Lesson 2
Behind every great Web 2.0 application is a great Web 1.0 application. Just another way to explain progressive enhancement…
What I Learned at The Spring Experience: Lesson 2

A few weeks back a friend broadcast over email the image above, which, as another friend put it, depicts “the way to do it.” The “it” is modern web design, which was just the topic of an excellent “The Spring Experience” talk by Mike Stenhouse I attended today. The “way” is called “progressive enhancement”, which involves designing a web ui in progressive layers, beginning with semantics (xhtml), progressing to styling (CSS), and capping it with behavior (JavaScript).
Mike detailed the many advantages to this approach, but one stood out that I hadn’t considered before, using xhtml as the contract that establishes the division of labor between CSS designer and JSP/Java developer. Once the xhtml content is developed, the CSS designer constructs styles that render the content in a desired way, while, possibly concurrently, the Java developer programs a server-side module that generates the agreed-to xhtml.
(A fellow attendee mentioned a similar alternative: using xml as the contract, which the developer generates and designer transforms into xhtml using xsl.)
What I Learned at The Spring Experience: Lesson 1
Pop Quiz: Are beans wired with Spring’s default wiring thread safe?
Answer: No. By default, all Spring beans are singletons; the container provides the same instance of a requested bean. If your thread safety depends on obtaining a new instance of a bean each time, a usual assumption in domain-layer code, you must define your bean as a prototype, i.e., specify singleton=”false”.