This post originated from an RSS feed registered with Java Buzz
by Nick Lothian.
Original Post: On Display Layers
Feed Title: BadMagicNumber
Feed URL: http://feeds.feedburner.com/Badmagicnumber
Feed Description: Java, Development and Me
When twopeoplewho'swork
I respect say almost the same thing within a couple of days of each other, I take notice.
Howard says:
there's a prevalent myth that a single web application should cater to a desktop client,
a palmtop client and a cell phone client in exactly the same way.
Ted says:
I'm firmly convinced that trying to build a single user interface code base that knows how to render
itself to multiple channels is not only a waste of developers' time, but a waste of users' time, too.
Inevitably, you want to do something (or, more likely, the users want you to do something) that needs to
take advantage of the unique, value-added features of that particular channel, and suddenly you're in the
world of #ifdef-ed or special-case coding.
This is also where you start down the slippery slope of tangled concerns and spaghetti code.
I think they are right. I've never written an application that uses the same display layer to target separate
devices or display modes, but I have written apps
that have multiple client types connecting to the middle-tier layer. We continually see issues even with this
separation of data - the thin client needs "just a bit" more done, or the thick client sends the data "just a little bit"
differently.
Surely similar issues happen when the display layer trys to cater for more than one device? (I'm not interested in
theoretical arguments here - I understand perfectly well the attraction of writing code one. What I'd like to hear about
is an application where it has been done successfully).