<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Internet Alchemy &#187; web</title>
	<atom:link href="http://blog.iandavis.com/tags/web/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.iandavis.com</link>
	<description>blog.iandavis.com</description>
	<lastBuildDate>Sun, 06 Jun 2010 12:24:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>MVC Obscures the Mechanics of the Web</title>
		<link>http://blog.iandavis.com/2007/09/mvc-obscures-the-mechanics-of-the-web</link>
		<comments>http://blog.iandavis.com/2007/09/mvc-obscures-the-mechanics-of-the-web#comments</comments>
		<pubDate>Mon, 24 Sep 2007 01:10:38 +0000</pubDate>
		<dc:creator>Ian Davis</dc:creator>
				<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://iandavis.com/blog2/?p=1052</guid>
		<description><![CDATA[I dug up some links on the mismatch between MVC and the Web:

Why web frameworks are a bad thing, part 1: MVC
502 Bad MVC Framework
Beyond MVC: A New Look at the Servlet Infrastructure
MVC and web apps: oil and water
Is MVC over-designed crap?
Reflecting on MVC
Struts 1 Problems

It&#8217;s hard to explain in simple terms why MVC is [...]]]></description>
			<content:encoded><![CDATA[<p>I dug up some links on the mismatch between MVC and the Web:</p>
<ul>
<li><a href="http://k.blog.com/1976990/">Why web frameworks are a bad thing, part 1: MVC</a></li>
<li><a href="http://www.dehora.net/journal/2004/11/502_bad_mvc_framework.html">502 Bad MVC Framework</a></li>
<li><a href="http://today.java.net/lpt/a/62">Beyond MVC: A New Look at the Servlet Infrastructure</a></li>
<li><a href="http://www.sitepoint.com/blogs/2005/12/22/mvc-and-web-apps-oil-and-water/">MVC and web apps: oil and water</a></li>
<li><a href="http://phplens.com/phpeverywhere/?q=node/view/143">Is MVC over-designed crap?</a></li>
<li><a href="http://weblogs.java.net/blog/jhook/archive/2006/03/reflecting_on_m_1.html">Reflecting on MVC</a></li>
<li><a href="http://www.dehora.net/journal/2007/07/struts_1_problems.html">Struts 1 Problems</a></li>
</ul>
<p>It&#8217;s hard to explain in simple terms why MVC is such a poor pattern for web development. I don&#8217;t claim any particular success in converting people away from the lure of GUI patterns but in my experience the hardest task is resetting people&#8217;s internal model of a web &#8220;application&#8221;. MVC works pretty well in the traditional GUI where you might have an item (e.g. a document) that you wrap with a model and expose with different views (as an icon and label in a treeview, a larger icon in a window, an editable word processing view, a print preview with different font metrics, a thumbnail presented when the mouse hovers over the icon). You add a controller to enable multiple interations in various views (selecting with the mouse, selecting by using tab key, activating an icon by double-clicking, activating an icon by pressing enter, modifying content by typing on the keyboard, copying and pasting content of the document, copying and pasting the document itself as an icon, dragging, dropping). Yes, in that complex world MVC can help to simplify the programming.</p>
<p>But the Web isn&#8217;t so complex. You have resources, which could be models in MVC. But you only have a handful of interactions and they&#8217;re all the same for every resource. You also have only a single way to view an item. You could possibly stretch the notion of representation to encompass multiple views but there&#8217;s nothing like the huge presentational differences that you get in a desktop GUI &#8211; just minor variations of markup language. MVC just obscures the mechanics of the Web, forcing the developer to write code that isn&#8217;t necessary and layer on more complexity when the mechanics start leaking through. Once you break your infatuation with MVC you find yourself writing much simpler code that mirrors the operations that drive the Web, and you actually start understanding a bit more about HTTP, the protocol that most frameworks try to pretend doesn&#8217;t exist.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iandavis.com/2007/09/mvc-obscures-the-mechanics-of-the-web/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Fight The Web</title>
		<link>http://blog.iandavis.com/2007/07/dont-fight-the-web</link>
		<comments>http://blog.iandavis.com/2007/07/dont-fight-the-web#comments</comments>
		<pubDate>Wed, 18 Jul 2007 07:07:34 +0000</pubDate>
		<dc:creator>Ian Davis</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://iandavis.com/blog2/?p=1031</guid>
		<description><![CDATA[Bill&#8217;s latest post conatains echoes of fellow Talisian Andrew&#8217;s recent frustrations with Java web frameworks. Bill writes:
What&#8217;s interesting is the culture of frameworks and what different communities deem valuable. My sense of it is that on Java, too many web frameworks &#8211; think JSF, or Struts 1.x &#8211; consider the Web something you work around [...]]]></description>
			<content:encoded><![CDATA[<p>Bill&#8217;s latest post conatains echoes of fellow <a href="http://www.talisians.com/">Talisian</a> Andrew&#8217;s recent frustrations with Java web frameworks. Bill <a href="http://www.dehora.net/journal/2007/07/earned_value.html">writes</a>:</p>
<blockquote><p>What&#8217;s interesting is the culture of frameworks and what different communities deem valuable. My sense of it is that on Java, too many web frameworks &#8211; think JSF, or Struts 1.x &#8211; consider the Web something you work around using software patterns. The goal is get off the web, and back into middleware. Whereas a framework like Django or Rails is purpose-built for the Web; integrating with the internal enterprise is a non-goal. </p>
</blockquote>
<p>Earlier this year Andrew <a href="http://www.aztecmonkey.com/2007/02/23/a-totally-unproductive-day/">wrote</a>:</p>
<blockquote><p>So, where to go from here? Well, this is certainly the last JSF project I will be working on, and eventually I hope to phase it out of this current one. JSF is web development for Java programmers &#8211; those who donâ€™t know much about web applications and even less about HTML, CSS and certainly DDA.</p>
</blockquote>
<p>At first pass I wondered if this was is a case of <a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html">leaky abstractions</a>, but concluded not. The problem isn&#8217;t the abstraction that these frameworks provide, rather that they&#8217;re changing the metaphor. The web is document-oriented: HTTP is about <em>transferring</em> documents from the server to the client. That&#8217;s a great fit for a lumpy information system. There are many other system metaphors but very few of them fit the web&#8217;s semantics, just as a transfer protocol would be a poor fit for an event-driven GUI. Emulating one with the other is likely to be a disaster. Most of the time its <em>good</em> to be close to the underlying characteristics of the system you&#8217;re working with. It&#8217;s <em>good</em> to know that your communication paths may be unreliable and that there&#8217;s latency in your messages just as it&#8217;s <em>good</em> to know that your user went on vacation for two weeks and only just picked up your application from where they left off.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iandavis.com/2007/07/dont-fight-the-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Architecture Lab</title>
		<link>http://blog.iandavis.com/2007/01/web-architecture-lab</link>
		<comments>http://blog.iandavis.com/2007/01/web-architecture-lab#comments</comments>
		<pubDate>Mon, 15 Jan 2007 11:30:28 +0000</pubDate>
		<dc:creator>Ian Davis</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[ietf]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://iandavis.com/blog2/?p=966</guid>
		<description><![CDATA[This looks interesting, a proposal from Roy Fielding to set up a new Apache project:
The Web Architecture Lab would be a work area for specifying and experimenting with the interrelated shared agreements (protocols) that make the World Wide Web a happy place. The goal is to produce a central storage for Web protocol evolution, including [...]]]></description>
			<content:encoded><![CDATA[<p>This looks interesting, <a href="http://mail-archives.apache.org/mod_mbox/labs-labs/200701.mbox/%3c84A09447-826C-4266-B56F-AC2AFF439D79@gbiv.com%3e">a proposal from Roy Fielding to set up a new Apache project</a>:</p>
<blockquote><p>The Web Architecture Lab would be a work area for specifying and experimenting with the interrelated shared agreements (protocols) that make the World Wide Web a happy place. The goal is to produce a central storage for Web protocol evolution, including both existing Web protocols and new ones, that Apache developers can refer to, comment on, prototype alternatives, and provide examples and test cases.</p>
</blockquote>
<p>Historically the development of the web has been split between the IETF and the W3C with some mixed results, most notably the confusion over registration of media types developed by the W3C. Is this the start of a unified web standardisation process?</p>
<p>Also, while perusing the <a href="http://labs.apache.org/labs">Apache Labs page</a> I came across <a href="http://svn.apache.org/repos/asf/labs/noggit/">Noggit a fast JSON streaming parser and serializer for Java</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iandavis.com/2007/01/web-architecture-lab/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java, Who Needs It?</title>
		<link>http://blog.iandavis.com/2003/01/javawhoneedsit</link>
		<comments>http://blog.iandavis.com/2003/01/javawhoneedsit#comments</comments>
		<pubDate>Wed, 15 Jan 2003 11:36:42 +0000</pubDate>
		<dc:creator>Ian Davis</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://iandavis.com/blog2/?p=709</guid>
		<description><![CDATA[Is it just me that thinks Java support in web browsers has had its day?


Opera 7.0b2 for Windows, English (US) version
Choose one option:
* With Java 12.6 MB
* Without Java 3.2 MB

]]></description>
			<content:encoded><![CDATA[<p>Is it just me that thinks Java support in web browsers has had its day?<br />
<blockquote cite="http://www.opera.com/download/index.dml?opsys=windows&#038;platform=windows&#038;lng=en&#038;ver=7.0b2">
<p>
Opera 7.0b2 for Windows, English (US) version</p>
<p>Choose one option:</p>
<p>* With Java 12.6 MB</p>
<p>* Without Java 3.2 MB</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iandavis.com/2003/01/javawhoneedsit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
