days
-1
-6
hours
-2
-3
minutes
-3
-3
seconds
-3
-4
search
HTML666

HTML6 proposal for “single-page apps without JavaScript” causes uproar

Coman Hamilton
HTML image via Shutterstock

A proposal for HTML6 has the front-end community in uproar over suggestions for single-page applications without (yes, without!) JavaScript. Take a few deep breaths, then read on.

The front-end community is furiously debating a casual proposal for HTML6 shared on W3.org. The proposal, submitted by former NSA employee and startup entrepreneur Bobby Mozumder, argues for a high-speed responsive web experience without the need for JavaScript.

“There’s a standard design pattern emerging via all the front-end JavaScript frameworks where content is loaded dynamically via JSON APIs. This is the single-page app web design pattern,” Mozumder writes in the public thread. “Everyone’s into it because the responsiveness is so much better than loading a full page – 10-50ms with a clean API load vs. 300-1500ms for a full HTML page load.”

As a result of this popular current usage, Mozumder asks whether developers might in future implement this directly in the browsers via HTML in order that users can “dynamically run single-page apps without Javascript.” He explains that this would turn the HTML body into a “tempting language, with all the content residing in the fixtures that can be dynamically reloaded without Javascript”.

HTML6 code

Here’s a look at the kind of approach to code that Mozumder is proposing:

<DOCTYPE html>
<HTML LANG=“en”>
<HEAD>
<FIXTURES lang=“xml”>
	<model class=“MyArticleData”>
		<rsp stat=“ok">
			<article label=“one” id=“1">
				<headline>"Big News!”</headline>
				<body>"<p>This is the first article intro.</p><p>This is the second paragraph.</p>"</body>
			</article>
			<article label=“two” id=“2">
				<headline>"Not so big news"</headline>
				<body>"<p>This is the <em>second</em> article.</p>"</body>
			</article>
		</rsp>
	</model>
	<model class=“MyImageData”>
		<rsp stat=“ok">
			<image label="Square" width="75" height="75" source="https://mycontentserver.com/image_s.jpg" id=“3"/>
			<image label=“Tall" width=“300" height=“200" source="https://mycontentserver.com/image_l.jpg" id=“4"/>
		</rsp>
		<rsp stat=“loading">
			<image label="Square" width="75" height="75" source="https://mycontentserver.com/loading_image_s.jpg" id=“1"/>
		</rsp>
		<rsp stat=“some_error">
			<image label="Square" width="75" height="75" source="https://mycontentserver.com/error_image_s.jpg" id=“2"/>
			<message
		</rsp>
	</model>
</FIXTURES>
</HEAD>
<BODY>
	<MENU class=“controller”>
		<A href=“http://api.mywebsite.com/api/load-new-article” model=“MyArticleData">Click here to replace the articles with different articles.</A>
		<A href=“http://api.mywebsite.com/api/load-new-image” model=“MyImageData">Click here to replace the picture with a different picture.</A>
	</MENU>
	<MAIN class=“viewer”>
		<ARTICLE class=“center">
			<H1 model=“MyArticleData.rsp.article(label=‘one’).headline” />
			<SPAN model="MyArticleData.rsp.article(label=’one’).body” />
		</ARTICLE>
		<ARTICLE class=“sidebar">
			<H1 model=“MyArticleData.rsp.article(label=’two’).headline” />
			<SPAN model=“MyArticleData.rsp.article(label=’two’).body” />
		</ARTICLE>
		<IMG src=“model:MyImageData.rsp.image(label=‘Square’)#source” width=“model:MyImageData.rsp.image(label=‘Square’)#width” height=“model:MyImageData.rsp.image(label=’Square’)#height”>
	</MAIN>
</BODY>
</HTML>

HTML6 without JavaScript

It takes guts to question the role of JavaScript in the triumvirate with CSS and HTML5. But the man behind the idea is sticking to his guns and continues to stand by his concept.

There is also a “model:” URI that old attributes and the rest of the page can use to references the loaded data. Anything in the DOM should be replaceable, including the URL bar and style sheets. This internal data can be modified by Javascript if needed, separate from modifying the DOM – you could export this data for form processing if you wish. This internal data can also be push updated by a server or connected directly to a local database for caching or persistence – the browser manages this now, instead of the web developer/Javascript.

News of a possible HTML6 colouring outside its traditional lines was met with a large degree of scepticism. HitchJS author Brian Kardell said that unsuccessful attempts like this have been made in the past, while Domblogger’s Michael Peters responded that it would be “absurd” to imagine HTML6 as content loaded dynamically via a JSON API:

“Not everyone is into it [the JSON API approach]. I hate it. For many reasons. Only place I like it is for feeds, like Tumblr, and even there is can be really problematic sometimes. […] HTML should not embrace particular design choices.”

Mozumder has responded to fears that this proposal would move complexity from one end to the other, claiming that the goal is to make things simpler, not more complex. “Were you able to pick up on my example quickly? How long would it take to learn a Javascript framework?”

Meanwhile on Hacker News, some members showed an interest in the proposal, however many were concerned either with the complexity, or the author’s motivation of following a currently fashionable design pattern.

“Sounds to me like someone’s too lazy to learn JavaScript,” reads one comment. “When will people stop trying to make HTML into an all-in-one product? It was built to be simple, to provide markup and that’s it.”

Although Mozumder’s ideas for HTML6 are far away from an official endorsement from the W3C, they have already “gone viral,” and he knows it.

Author
Coman Hamilton
Coman was Editor of JAXenter.com at S&S Media Group. He has a master's degree in cultural studies and has written and edited content for numerous news, tech and culture websites and magazines, as well as several ad agencies.

Leave a Reply

Be the First to Comment!

avatar
400
  Subscribe  
Notify of