<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>Tech Center Current &#187; Standards</title>
	<link>http://blog.cccnext.net</link>
	<description>Technology news and articles</description>
	<pubDate>Tue, 13 May 2008 15:08:01 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>OOXML failed to receive ISO fast-track approval</title>
		<link>http://blog.cccnext.net/2007/09/03/ooxml-failed-to-receive-iso-fast-track-approval/</link>
		<comments>http://blog.cccnext.net/2007/09/03/ooxml-failed-to-receive-iso-fast-track-approval/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 01:44:58 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Moderate]]></category>

		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/09/03/ooxml-failed-to-receive-iso-fast-track-approval/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/microsoft.gif" width="100" height="100" alt="">

OOXML, Microsoft's new document format which I have written about <a href="http://blog.cccnext.net/2007/04/08/microsoft-opposes-california-interoperability-bill/">here</a> and <a href="http://blog.cccnext.net/2007/08/29/microsoft-accused-of-misconduct-in-ooxml-standardization/">here</a>, appears to have failed to achieve the number of votes necessary for ISO standard fast-track approval. This means that additional review will be required before determining whether the OOXML specification should qualify as an ISO international standard.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/microsoft.gif" width="100" height="100" alt=""></p>
<p>OOXML, Microsoft&#8217;s new document format which I have written about <a href="http://blog.cccnext.net/2007/04/08/microsoft-opposes-california-interoperability-bill/">here</a> and <a href="http://blog.cccnext.net/2007/08/29/microsoft-accused-of-misconduct-in-ooxml-standardization/">here</a>, appears to have failed to achieve the number of votes necessary for ISO standard fast-track approval. This means that additional review will be required before determining whether the OOXML specification should qualify as an ISO international standard.</p>
<p>While the vote is not yet final, it appears that the specification has already failed to receive the 2/3 majority vote it needed. Of the 41 participating countries, 13 have so far announced &#8220;no&#8221; votes and 5 have announced that they are abstaining. From the remaining votes, 16 of which are not yet publicly known, the highest possible &#8220;yes&#8221; count would be 23, although 24 are required for the 2/3 majority among the voting members.</p>
<p>After the results are final, the next step will be to address the comments left by the countries who voted &#8220;no, with comments&#8221;. After this process, those countries will have the ability to change their votes to &#8220;yes&#8221; if they believe their comments have been adequately addressed. So this standardization process is still far from over.</p>
<p><strong title="September 5th, 2007">Update:</strong> The official vote is in, and OOXML fast-track received only 17 &#8220;yes&#8221; votes out of the 32 countries which cast votes (9 participating countries decided to abstain). This amounts to 53.125%, 5 votes short of the 2/3 majority needed for fast-track approval. Of those 17 &#8220;yes&#8221; votes, only 6 expressed full satisfaction with the OOXML specification.</p>
<p>In contrast, the OpenDocument Format (ODF, which OOXML was designed to rival) was approved by ISO last year with unanimous &#8220;yes&#8221; votes.</p>
<p>Of course, Microsoft is <a href="http://www.microsoft.com/presspass/press/2007/sep07/09-04OpenXMLVotePR.mspx">spinning the numbers</a> as much as they can, but it seems the technical problems with the OOXML specification are gaining more and more attention due in large part to the scandals surrounding this voting process.</p>
<p>Microsoft and ECMA International will now have a chance to address the concerns that were raised about OOXML, and then the final vote will take place in the last week of February 2008.</p>
<p><strong title="September 19th, 2007">Update:</strong> <a href="http://google-code-updates.blogspot.com/2007/09/google-welcomes-iso-decision-on-ooxml.html">Google has issued an official response</a> to the OOXML fast-track vote, strongly agreeing with the decision to not approve it. In the response, Google reiterates a number of the concerns with OOXML and expresses Google&#8217;s own positive experience implementing ODF support in its <a href="http://docs.google.com/">Google Docs</a> service.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/09/03/ooxml-failed-to-receive-iso-fast-track-approval/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft accused of misconduct in OOXML standardization</title>
		<link>http://blog.cccnext.net/2007/08/29/microsoft-accused-of-misconduct-in-ooxml-standardization/</link>
		<comments>http://blog.cccnext.net/2007/08/29/microsoft-accused-of-misconduct-in-ooxml-standardization/#comments</comments>
		<pubDate>Wed, 29 Aug 2007 22:56:09 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Moderate]]></category>

		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/08/29/microsoft-accused-of-misconduct-in-ooxml-standardization/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/microsoft.gif" width="100" height="100" alt="">

Microsoft is attempting to get the International Standards Organization to fast-track the approval of its Office Open XML (OOXML) document format which it developed to compete with the already-established OpenDocument Format (ODF) ISO standard. The Linux Foundation has recently made <a href="http://lwn.net/Articles/247248/">an official statement</a> urging ISO members to vote "no" on fast-track approval, citing numerous implementation problems and allegations that Microsoft is attempting to use its wealth and business connections to hijack the standardization process.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/microsoft.gif" width="100" height="100" alt=""></p>
<p>Microsoft is attempting to get the International Standards Organization to fast-track the approval of its Office Open XML (OOXML) document format which it developed to compete with the already-established OpenDocument Format (ODF) ISO standard. The Linux Foundation has recently made <a href="http://lwn.net/Articles/247248/">an official statement</a> urging ISO members to vote &#8220;no&#8221; on fast-track approval, citing numerous implementation problems and allegations that Microsoft is attempting to use its wealth and business connections to hijack the standardization process.</p>
<p>I&#8217;ve <a href="http://blog.cccnext.net/2007/04/08/microsoft-opposes-california-interoperability-bill/">written about these document formats before</a>, and many of the technical issues with the <a href="http://blog.janik.cz/images/OOXMLSpec.png">6,000-page</a> OOXML specification have not yet been resolved. Several ISO members have raised concerns about these issues, but the United States, Germany, and Sweden voted to fast-track the approval process anyway.</p>
<p>However, critics have accused Microsoft of bribing ISO members to vote in Microsoft&#8217;s favor. Microsoft has admitted to sending e-mails to many of its partners saying that they are &#8220;expected&#8221; to vote in favor of fast-tracking OOXML, and that they would be rewarded with &#8220;market assistance&#8221; and &#8220;extra support in the form of Microsoft resources&#8221;. Many countries that have historically stayed out of the ISO standardization process have suddenly announced plans to vote on OOXML, and there is worry that this change was due to further misconduct by Microsoft, attempting to stack the vote.</p>
<p>The Linux Foundation is a group that develops standards to be used across Linux environments and submits them to international standards bodies like ISO for approval. The Linux Foundation is now worried that corruption will cause ISO to lose credibility in the industry and thus hinder the Linux Foundation&#8217;s mission.</p>
<p>The Linux Foundation also reviewed some of the open concerns about the technical merit of OOXML:</p>
<blockquote cite="http://lwn.net/Articles/247248/">
<ul>
<li>
<p>The OOXML specification is extremely lengthy. Based upon all that we have been able to learn, the review period that has been allowed is insufficient to provide confidence that all issues that may need to be resolved before OOXML could meet minimum quality standards. Accordingly, the Linux Foundation believes that adoption of OOXML, after addressing only those issues that have been identified to date, would be unwise.</p>
</li>
<li>
<p>That said, there have already been hundreds of issues that have been raised. While some of these issues are minor, many are not. The Linux Foundation believes that OOXML is simply not mature enough at this point to be granted approval as an ISO/IEC standard. Many, but not all, of these issues have been summarized here &lt;<a href="http://www.noooxml.org/local--files/arguments/TheCaseAgainstOOXML.pdf">http://www.noooxml.org/local&#8211;files/arguments/TheCaseAgai&#8230;</a>&gt;.</p>
</li>
<li>
<p>ISO/IEC standards are supposed to reference other globally adopted standards where those standards exist. In the case of OOXML, many proprietary Microsoft specifications have been referenced. In some cases (e.g., language codes, vector graphics), Microsoft has used its own, internal codes and specifications rather than already existing, publicly available alternatives. This not only violates ISO/IEC rules, but also puts in question whether implementers can fully implement OOXML without infringing intellectual property rights (IPR) of Microsoft. Will those IPRs be available? If so, upon what terms will they be available? The answers to these questions appear to be currently unknown.</p>
</li>
<li>
<p>OOXML is specific to Windows and other Microsoft products. It is uncertain whether OOXML-based documents will be easily created, saved, and opened using other operating systems - like Linux - and applications, with or without converters or translators. An international standard should be created in the first instance to be neutral to all operating systems and other products.</p>
</li>
</ul>
</blockquote>
<p>The group concludes:</p>
<blockquote><p>
For all these reasons and more, the Linux Foundation calls upon those National Bodies that have not yet cast their votes to vote &#8220;No, with comments.&#8221; Those comments should reflect their best, neutral, technical judgment, based upon OOXML in its current form. Only by doing so, we believe, can both the future availability of documents, but [sic] the integrity of the standard setting process be assured.
</p></blockquote>
<p>It should be noted that ISO is <em>not</em> considering replacing the OpenDocument standard with OOXML. If OOXML is approved, the two competing formats will exist side-by-side as separate ISO standards, with neither being officially favored.</p>
<p><strong title="August 31st, 2007">Update:</strong> SiS, the group which represents Sweden in the International Standards Organization, has just announced that its own vote was invalid due to fraud. The vote has been retracted, and SiS has decided that it is too late in the process to issue a replacement vote. More information, including the official statement and a partial translation, is available at this <a href="http://www.groklaw.net/article.php?story=20070830155109351">Groklaw post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/08/29/microsoft-accused-of-misconduct-in-ooxml-standardization/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google introduces tool for offline web apps</title>
		<link>http://blog.cccnext.net/2007/06/03/google-introduces-tool-for-offline-web-apps/</link>
		<comments>http://blog.cccnext.net/2007/06/03/google-introduces-tool-for-offline-web-apps/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 15:06:16 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Innovation]]></category>

		<category><![CDATA[Moderate]]></category>

		<category><![CDATA[Standards]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/06/03/google-introduces-tool-for-offline-web-apps/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/google.gif" width="100" height="100" alt="">

Web applications have been all the buzz lately. Traditional desktop applications for e-mail, calendars, and basic word processing have begun losing favor to the online versions you can use in a web browser. Google has so far lead the pack in web application development, and they have recently released a tool which will help take web applications to the next level.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/google.gif" width="100" height="100" alt=""></p>
<p>Web applications have been all the buzz lately. Traditional desktop applications for e-mail, calendars, and basic word processing have begun losing favor to the online versions you can use in a web browser. Google has so far lead the pack in web application development, and they have recently released a tool which will help take web applications to the next level.</p>
<p>Web applications have several advantages over traditional desktop applications. The data is stored at a central remotely-accessible location, so you can access it from any computer. The application is run within a web browser, so it isn&#8217;t dependent on certain operating systems or versions. The &#8220;software&#8221; itself is typically hosted by the vendor, so security updates and other improvements can be seamlessly deployed by the vendor without any user action or user responsibility. Companies like Google have more safeguards in place to prevent data loss than most users do, in case of hardware failure, cracking attempts, etc. Web applications are usually built on top of the well-established HTML, CSS, and DOM standards which may allow for better accessibility and user control over the presentation.</p>
<p>But along with these benefits, there are also some shortcomings to web applications. The data isn&#8217;t in the user&#8217;s control, so it may be difficult to manually move data in or out of some web applications. Although desktop applications have equal or higher potential for violating your privacy than web applications, it&#8217;s possible for advanced users and tools to monitor and control what your desktop applications are sending across the Internet; with web applications, it&#8217;s out of your hands. Software updates are typically done at the vendor&#8217;s whim, so you often don&#8217;t have the opportunity to review or prevent certain updates. Also, web applications generally require an Internet connection in order to function; if you&#8217;re on the road and aren&#8217;t near a hotspot, you may be completely unable to access your data.</p>
<p>Google has released an open source browser add-on called <a href="http://gears.google.com/">Google Gears</a> which will help to address that last shortcoming. Google Gears sets up a local database and <abbr title="Application Programming Interface">API</abbr> on your own computer which web applications can choose to use for offline storage and functionality.</p>
<p>This is similar to a proposed feature of the upcoming HTML 5 standard, due in 2010, which the developers of the Mozilla Firefox web browser plan to implement natively by the end of 2007. Unfortunately, Google Gears does not use the model proposed in the HTML 5 drafts, so there is currently an issue of two competing standards. This is unusual, since Google usually works closely with Mozilla on contributions like Firefox 2&#8217;s fraud protection and Firefox 3&#8217;s upcoming malware protection. Whether or not Firefox or any other browser will end up supporting Google Gears&#8217; API natively (without an add-on) is up in the air, and will probably depend on how widely Google Gears gets implemented in web applications, but Mozilla Technology Strategist Mike Shaver said that Mozilla wasn&#8217;t about to simply give up on the work already done on supporting the HTML 5 model. It will be possible for a browser to support both models at the same time if the browser developers choose to implement them.</p>
<p>For now, the Google Gears model is the only one of the two currently available to regular users, and it is available as an add-on for the Firefox and Internet Explorer web browsers on Windows, as well as Firefox on Linux and Mac. A Safari version is planned in the future. Google Gears is currently used by <a href="http://reader.google.com/">Google Reader</a>&#8217;s offline mode, and more web applications are expected to adopt it in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/06/03/google-introduces-tool-for-offline-web-apps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Microsoft opposes California interoperability bill</title>
		<link>http://blog.cccnext.net/2007/04/08/microsoft-opposes-california-interoperability-bill/</link>
		<comments>http://blog.cccnext.net/2007/04/08/microsoft-opposes-california-interoperability-bill/#comments</comments>
		<pubDate>Sun, 08 Apr 2007 08:56:55 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Moderate]]></category>

		<category><![CDATA[Standards]]></category>

		<category><![CDATA[State of California]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/04/08/microsoft-opposes-california-interoperability-bill/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/microsoft.gif" width="100" height="100" alt="">

Microsoft has begun <a href="http://www.groklaw.net/comment.php?mode=display&#038;sid=20070406122736199&#038;title=Microsoft+asking+people+to+write+leters+opposing+California+A.B.+1668+-+Open+Document+Format%2C&#038;type=article&#038;order=&#038;hideanonymous=0&#038;pid=555070#c555168">sending out e-mails</a> urging people to oppose an upcoming California state bill that would promote open interoperability with digital documents. The bill, named "<a href="http://www.leginfo.ca.gov/pub/07-08/bill/asm/ab_1651-1700/ab_1668_bill_20070223_introduced.html">California A.B. 1668 : Open Document Format, Open Source</a>", would require all state agencies to standardize on XML-based open document standards so that they may be accessible to a wider range of applications and operating systems. The bill also establishes a "procurement preference" for the OpenDocument format (ODF). Microsoft objects to this stated preference and asserts that Microsoft's own Office Open XML format would be a better candidate.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/microsoft.gif" width="100" height="100" alt=""></p>
<p>Microsoft has begun <a href="http://www.groklaw.net/comment.php?mode=display&#038;sid=20070406122736199&#038;title=Microsoft+asking+people+to+write+leters+opposing+California+A.B.+1668+-+Open+Document+Format%2C&#038;type=article&#038;order=&#038;hideanonymous=0&#038;pid=555070#c555168">sending out e-mails</a> urging people to oppose an upcoming California state bill that would promote open interoperability with digital documents. The bill, named &#8220;<a href="http://www.leginfo.ca.gov/pub/07-08/bill/asm/ab_1651-1700/ab_1668_bill_20070223_introduced.html">California A.B. 1668 : Open Document Format, Open Source</a>&#8220;, would require all state agencies to standardize on XML-based open document standards so that they may be accessible to a wider range of applications and operating systems. The bill also establishes a &#8220;procurement preference&#8221; for the OpenDocument format (ODF). Microsoft objects to this stated preference and asserts that Microsoft&#8217;s own Office Open XML format would be a better candidate.</p>
<p>Here is a basic run-down of both formats:</p>
<p>OpenDocument (formally &#8220;OASIS Open Document Format for Office Applications&#8221;) was created by the OASIS consortium in May 2005 and is considered the &#8220;original&#8221; multipurpose open XML document format. It is an ISO and IEC International Standard. Current implementations include the open source OpenOffice.org office suite (which aims to be a complete free replacement for Microsoft Office), StarOffice, Google Docs, AbiWord (an open source word processor), and KOffice (an open source office suite for Linux). Microsoft Office doesn&#8217;t yet support it by default, but Microsoft has sponsored an open source project called <a href="http://odf-converter.sourceforge.net/index.html">ODF-Converter</a> which attempts to add support through a plugin. ODF-Converter 1.0 has already been released for Microsoft Word. OpenDocument support is also slated for the next versions of Corel&#8217;s WordPerfect and Apple&#8217;s TextEdit for the Mac.</p>
<p>Office Open XML is a format created by Microsoft in November 2005 and was made specifically to compete with OpenDocument. Basically, it is just designed more to Microsoft&#8217;s liking with consideration for how Microsoft Word works internally, but it is incompatible with OpenDocument. It was standardized by ECMA International and is currently implemented in Microsoft Office 2007 for Windows as the default format. It will be supported in a future version of OpenOffice.org through contributions from Novell, as well as the next versions of Corel&#8217;s WordPerfect and Apple&#8217;s TextEdit for the Mac. It is not yet supported in any Mac version of Microsoft Office, although support is planned for later this year.</p>
<p>In general, almost every product that has plans to support Office Open XML also plans to support OpenDocument, although the reverse is not true. Despite Microsoft&#8217;s claims in the e-mails, OpenDocument definitely has a lot more support than Office Open XML right now outside of Microsoft. Here are links to frequently updated lists of applications which support each document format:</p>
<ul>
<li><a href="http://en.wikipedia.org/wiki/OpenDocument_software">List of OpenDocument-supporting applications</a></li>
<li><a href="http://en.wikipedia.org/wiki/Office_Open_XML#Adoption">List of Office Open XML-supporting applications</a></li>
</ul>
<p>It should be noted that although these formats are, at their core, XML formats, they are usually stored in a ZIP structure in order to package the text with any images and other relevant files, and to compress it to a smaller filesize. So to a computer program, these documents look like ZIP files which contain at least one XML file. What this means is that you can&#8217;t simply use an XML parser directly on one of these open document files; you have to pull it out of the ZIP first. Unlike Office Open XML, OpenDocument files may exist as a simple XML file, but it&#8217;s somewhat rare to find them like this in the wild. That said, ZIP is a pretty well-established standard and it usually isn&#8217;t too difficult to get the XML out of these formats. The fact that these documents are wrapped in a ZIP structure isn&#8217;t seen to conflict with the proposed bill.</p>
<p>There have been concerns over whether or not Office Open XML is truly an open format. Sun Microsystems and Microsoft (who hold intellectual property rights on OpenDocument and Office Open XML, respectively) have both made covenants not to enforce any relevant patent violations by implementors of their respective formats, but <a href="http://www.grokdoc.net/index.php/EOOXML_objections#The_Microsoft_covenants_not_to_sue_grant_no_rights">some legal experts</a> believe that Microsoft&#8217;s wording doesn&#8217;t truly provide any protection from violations of Microsoft&#8217;s patents.</p>
<p>Furthermore, Office Open XML has often been referred to as a &#8220;Microsoft Office memory dump&#8221;, which implies that its design is very specific to how Microsoft Office works internally and isn&#8217;t as easily portable to other applications. For example, there are some formatting elements with no open explanation of their function beyond &#8220;auto-space like Word 95&#8243; or &#8220;line-wrap like Word 6&#8243;. These clearly present a problem when other applications want to implement the format without knowing exactly what special algorithm Word 6 used to wrap lines.</p>
<p>My own personal opinion, like that of the proposed California bill, is that OpenDocument is clearly the preferred format for open interoperability among the widest variety of applications. The only problem is Microsoft&#8217;s reluctance to natively support it, but in the short time it has been around it has gathered a dominating amount of support elsewhere. The market will probably force Microsoft to support it natively in an upcoming version of Microsoft Office.</p>
<p>Here are some more relevant links:</p>
<ul>
<li><a href="http://opendocument.xml.org/">OASIS&#8217; OpenDocument site</a></li>
<li><a href="http://openxmldeveloper.org/default.aspx">Microsoft&#8217;s Office Open XML site</a></li>
<li><a href="http://en.wikipedia.org/wiki/OpenDocument">OpenDocument information</a></li>
<li><a href="http://en.wikipedia.org/wiki/Office_Open_XML">Office Open XML information</a></li>
<li><a href="http://en.wikipedia.org/wiki/Comparison_of_OpenDocument_and_Office_Open_XML_formats">Comparison of OpenDocument and Office Open XML formats</a></li>
<li><a href="http://en.wikipedia.org/wiki/Comparison_of_OpenDocument_and_Office_Open_XML_licensing">Comparison of their respective licenses</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/04/08/microsoft-opposes-california-interoperability-bill/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Second annual CSS Naked Day coming up</title>
		<link>http://blog.cccnext.net/2007/04/02/second-annual-css-naked-day-coming-up/</link>
		<comments>http://blog.cccnext.net/2007/04/02/second-annual-css-naked-day-coming-up/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 07:08:55 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/04/02/second-annual-css-naked-day-coming-up/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt="">

The second annual <a href="http://naked.dustindiaz.com/">CSS Naked Day</a> is coming April 5. This is the day that many sites will intentionally remove their webpage's stylesheets in an effort to draw attention to something called "semantic markup".]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt=""></p>
<p>The second annual <a href="http://naked.dustindiaz.com/">CSS Naked Day</a> is coming April 5. This is the day that many sites will intentionally remove their webpage&#8217;s stylesheets in an effort to draw attention to something called &#8220;semantic markup&#8221;.</p>
<p>Before CSS was widely used, most websites used HTML elements and attributes for visual stylistic purposes. <code>&lt;font&gt;</code> tags and nested tables were everywhere, and it made webpage source very difficult to read and maintain.</p>
<p>Once CSS started to obtain enough browser support, web standards experts began promoting the idea of &#8220;separation of content and presentation&#8221;, where all of the stylistic aspects of the page, such as fonts, colors, and visual layout, were moved to a separate modular CSS stylesheet. This offered many benefits, including significantly reducing bandwidth usage and dramatically improving maintainability of the site design and content.</p>
<p>Unfortunately, many web developers threw out the baby with the bathwater. While they stopped using the purely stylistic elements like <code>&lt;font&gt;</code>, many also stopped using meaningful elements like <code>&lt;p&gt;</code>, <code>&lt;ul&gt;</code>, and <code>&lt;table&gt;</code> where those elements were appropriate. Something known as &#8220;divitis&#8221; occurred: instead of using HTML elements that presented meaning, many web developers started using the mostly meaningless <code>&lt;div&gt;</code> and <code>&lt;span&gt;</code> elements for almost everything on the page.</p>
<p>The most useful and efficient way to write HTML is to use &#8220;semantic markup&#8221;. This is the idea of using HTML elements and attributes for what they mean, in order to maximize the understanding of your page by a search engine, accessibility agent, or other &#8220;intelligent&#8221; web applications. If you have a paragraph, you use a <code>&lt;p&gt;</code> element. If you have a list, you use a <code>&lt;ul&gt;</code> or <code>&lt;ol&gt;</code> element. If you have tabular data such as a spreadsheet, you use a <code>&lt;table&gt;</code> element. Those elements are then styled by a separate stylesheet like before, but the benefit is that a program can now understand the context of your content without needing to see the visual presentation offered by the stylesheet.</p>
<p>A web developer who is well-versed in web standards can often quickly judge the HTML quality of the site simply be turning off the stylesheet and seeing how it appears. In Firefox, you can disable the page&#8217;s stylesheet by going to the View menu, then Page Style, and then selecting No Style. (Internet Explorer doesn&#8217;t offer a way for the end user to do this.) If the page looks chopped up a bit but still seems to have side-by-side columns for the page sidebars, etc., then it&#8217;s probably using presentational markup (which it shouldn&#8217;t). If the entire page looks like a big heap of uniform text, no space between paragraphs, no lists, etc., then it&#8217;s probably suffering from divitis.</p>
<p>What it <em>should</em> look like (when using semantic markup) is something along the lines of a basic text document in Microsoft Word. The page should be black-on-white, main navigation links should be in simple bulleted lists, paragraphs should be spaced normally, headings should appear large and bold, lower-level headings should be smaller than higher-level headings, and so on. I should mention that just because a page looks like this doesn&#8217;t necessarily mean it was written correctly, but it&#8217;s usually a good quick indicator for most sites on the Web.</p>
<p>CSS Naked Day is the one day of the year when web developers of many sites will take down their stylesheets and hopefully show something that looks like the above description. It is an effort to bring awareness to semantic markup and the benefits it brings. It will mostly be smaller sites participating in this event, since mainstream websites don&#8217;t want to turn off their visitors for something that only interests web developers, but there are already over 1500 websites that have announced their participation at the moment I&#8217;m writing this.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/04/02/second-annual-css-naked-day-coming-up/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Who says XHTML is good to use?</title>
		<link>http://blog.cccnext.net/2007/03/27/who-says-xhtml-is-good-to-use/</link>
		<comments>http://blog.cccnext.net/2007/03/27/who-says-xhtml-is-good-to-use/#comments</comments>
		<pubDate>Wed, 28 Mar 2007 04:37:12 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Moderate]]></category>

		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/03/27/who-says-xhtml-is-good-to-use/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt="">

It seems like every web development tool is trying to generate XHTML these days. Web design teachers tell their students that HTML is "out" and XHTML is "in". But is XHTML really the best thing to use? You may be surprised to learn that there isn't a single major web browser vendor who thinks it is a good idea to use XHTML on a public website, and a growing number of web standards experts agree.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt=""></p>
<p>It seems like every web development tool is trying to generate XHTML these days. Web design teachers tell their students that HTML is &#8220;out&#8221; and XHTML is &#8220;in&#8221;. But is XHTML really the best thing to use? You may be surprised to learn that there isn&#8217;t a single major web browser vendor who thinks it is a good idea to use XHTML on a public website, and a growing number of web standards experts agree.</p>
<p>Why? XHTML seems to work, doesn&#8217;t it? Actually, if you use XHTML on a public website, most web browsers will simply pretend that you&#8217;ve written regular HTML, and they&#8217;ll proceed to treat it as such. Internet Explorer, the most widely-used web browser today, doesn&#8217;t even support the correct handling of XHTML. And worse, if a program does want to treat the page as real XHTML, it will usually have major problems because of unnoticed differences in real XHTML.</p>
<p>Microsoft posted on its <a href="http://blogs.msdn.com/ie/archive/2005/09/15/467901.aspx">official Internet Explorer blog</a>:</p>
<blockquote><p>
If we tried to support real XHTML in IE 7 we would have ended up using our existing HTML parser (which is focused on compatibility) and hacking in XML constructs. It is highly unlikely we could support XHTML well in this way
</p></blockquote>
<p>Mozilla (creators of Firefox) posted on its <a href="http://www.mozilla.org/docs/web-developer/faq.html#accept">web developer FAQ</a>:</p>
<blockquote><p>
If you are using the usual HTML features [&#8230;] serving valid HTML 4.01 as text/html ensures the widest browser and search engine support.
</p></blockquote>
<p>The Safari development team posted on its <a href="http://webkit.org/blog/?p=68">official blog</a>:</p>
<blockquote><p>
On today&#8217;s web, the best thing to do is to make your document HTML4 all the way. Full XHTML processing is not an option, so the best choice is to stick consistently with HTML4.
</p></blockquote>
<p>Håkon Wium Lie, the CTO of Opera and long-time member of the World Wide Web Consortium which standardized the XHTML language, stated in an <a href="http://www.heise.de/ct/Redaktion/heb/w3c/lie_english.html">interview</a>:</p>
<blockquote><p>
I don&#8217;t think XHTML is a realistic option for the masses. HTML5 is it.
</p></blockquote>
<p>(HTML 5 is currently in development under the combined efforts of the World Wide Web Consortium and the Web Hypertext Application Technology Working Group.)</p>
<p>Anne van Kesteren, a web standards expert at Opera, stated in his <a href="http://annevankesteren.nl/2004/08/xhtml">blog</a>:</p>
<blockquote><p>
I&#8217;m an advocate of using XHTML only in the correct way, which basically means you have to use HTML. Period.
</p></blockquote>
<p>Ian Hickson, former Opera employee who was hired over by Google and has served as an editor for World Wide Web Consortium specifications, wrote an <a href="http://www.hixie.ch/advocacy/xhtml">article about correct usage of XHTML</a>, concluding:</p>
<blockquote><p>
Authors intending their work for public consumption should stick to HTML 4.01
</p></blockquote>
<p>What do these browser vendors and web standards experts know that the rest of us missed? I explain the issues in the article <a href="http://www.webdevout.net/articles/beware-of-xhtml">Beware of XHTML</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/03/27/who-says-xhtml-is-good-to-use/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The basics of HTML</title>
		<link>http://blog.cccnext.net/2007/03/24/the-basics-of-html/</link>
		<comments>http://blog.cccnext.net/2007/03/24/the-basics-of-html/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 17:00:44 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Moderate]]></category>

		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/03/24/the-basics-of-html/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt="">

HTML (HyperText Markup Language) is the fundamental computer language used to make webpages. It organizes and defines all of the elements of the document structure -- such as headings, paragraphs, lists, tables, and links -- to give computer-readable context to everything on the page.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt=""></p>
<p>HTML (HyperText Markup Language) is the fundamental computer language used to make webpages. It organizes and defines all of the elements of the document structure &#8212; such as headings, paragraphs, lists, tables, and links &#8212; to give computer-readable context to everything on the page.</p>
<p>Here is what a simple HTML document looks like:</p>
<pre><code>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot;
    &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html lang=&quot;en&quot;&gt;
  &lt;head&gt;
    &lt;title&gt;My First Webpage&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;p&gt;This is a paragraph.&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>You&#8217;ll notice that a lot of things are surrounded by <code>&lt;</code> and <code>&gt;</code> characters. These are called &#8220;tags&#8221;. Tags are interpreted by the web browser as the start or end of an element. A &#8220;start tag&#8221; looks like <code>&lt;tagname&gt;</code> and an &#8220;end tag&#8221; looks like <code>&lt;/tagname&gt;</code>. Everything in between is considered to be inside the element.</p>
<p>Not all elements have end tags. &#8220;img&#8221;, &#8220;input&#8221;, &#8220;link&#8221;, and &#8220;meta&#8221; are examples of elements that only consist of a start tag because they never have anything inside them. All of the elements I&#8217;ll discuss below will have end tags.</p>
<p>Start tags can also have things called &#8220;attributes&#8221;, like the &#8220;lang&#8221; attribute you see above in the &#8220;html&#8221; tag. Attributes tell special information about the element. In this case, it says that the HTML document is written in the English language.</p>
<p>At the top of the example HTML code, you&#8217;ll notice a weird sort of tag. Something that begins with a <code>&lt;!</code> is called a &#8220;declaration&#8221;. Declarations don&#8217;t actually define elements, and they never have end tags. The &#8220;DOCTYPE&#8221; declaration tells the web browser what document language you&#8217;re using. In this case, we&#8217;re using the &#8220;strict&#8221; version of HTML 4.01, which is probably the one you should be using for best practices. Another common type of declaration is a comment declaration, which looks like <code>&lt;!-- This is a comment --&gt;</code> and is used to add notes that won&#8217;t be displayed on the page.</p>
<p>Let&#8217;s go back to the elements. After the DOCTYPE declaration, every HTML document must start with an &#8220;html&#8221; element. Inside that are always two sections: the head, and then the body. The body is where you&#8217;ll find all of the content you see on the page. The head is for additional information to describe the page, such as its title, references to &#8220;style sheets&#8221; that add the fancy colors and layout the page will use, and so on. But the only thing required in the head is the &#8220;title&#8221; element. The title text is what you&#8217;ll see at the very top of your browser window, the name of your site on a Google search result, etc.</p>
<p>In the body, you have a lot more types of elements available to you, but there are a few that you will be using frequently:</p>
<dl>
<dt><strong>p</strong>:</dt>
<dd>
<p>This is a basic paragraph of text. Here is an example:</p>
<pre><code>&lt;p&gt;The HTML language was invented by Tim Berners-Lee and
    was first published as an international standard in
    1993. The grammar of the HTML language was defined in a
    language called SGML, the Standard Generalized Markup
    Language.&lt;/p&gt;

&lt;p&gt;XML is another common language whose grammar is defined
    in SGML. Unlike HTML, XML doesn't have its own
    standard set of elements and attributes. Instead,
    other languages are built on top of the XML
    grammar.&lt;/p&gt;</code></pre>
<p>The &#8220;p&#8221; element is used incorrectly on many websites. You should never simply put a <code>&lt;p&gt;</code> at the end of a paragraph, and you shouldn&#8217;t have extra <code>&lt;p&gt;</code> tags just for spacing purposes. Extra spacing can be done using style sheets, which you can learn about later. &#8220;p&#8221; tags should only be used to surround actual paragraphs.</p>
</dd>
<dt><strong>h1</strong>, <strong>h2</strong>, <strong>h3</strong>, <strong>h4</strong>, <strong>h5</strong>, and <strong>h6</strong>:</dt>
<dd>
<p>These are headings for sections of the page. You can think of the heading structure like a document outline: the main points of the document should use h1, the first sub-level should use h2, and so on. For example:</p>
<pre><code>&lt;h1&gt;City Zoo&lt;/h1&gt;

&lt;p&gt;Welcome to the City Zoo! Here you'll find information
    about what to expect in the zoo.&lt;/p&gt;

&lt;h2&gt;Animals&lt;/h2&gt;

&lt;p&gt;Be on the lookout for the following animals.&lt;/p&gt;

&lt;h3&gt;Elephant&lt;/h3&gt;

&lt;p&gt;The world's African elephant population is estimated
    to be between 400,000 and 660,000.&lt;/p&gt;

&lt;h3&gt;Ostrich&lt;/h3&gt;

&lt;p&gt;Because ostriches don't have teeth, they will swallow
    stones that help grind the food in their stomachs.&lt;/p&gt;

&lt;h2&gt;Plants&lt;/h2&gt;

&lt;p&gt;Here are some exotic plants you may see.&lt;/p&gt;

&lt;h3&gt;Banana tree&lt;/h3&gt;

&lt;p&gt;Supermarket bananas are called Cavendish bananas and
don't exist naturally. Their existence is currently being
threatened by a variant of the Panama Disease which drove
the previous dominant species of banana to extinction in
the 1950s...&lt;/p&gt;</code></pre>
<p>You should never pick a heading element purely based on its font size. The font size of any element may be adjusted in a style sheet.</p>
</dd>
<dt><strong>ul</strong>, <strong>ol</strong>, and <strong>li</strong>:</dt>
<dd>
<p>These are used for lists. &#8220;ul&#8221; tags surround an &#8220;unordered list&#8221;, and &#8220;ol&#8221; tags surround an &#8220;ordered list&#8221;. Ordered lists are numbered, while unordered lists simply use bullet points. &#8220;li&#8221; tags surround the items in the list. Here is an example (recipe from <a href="http://en.wikibooks.org/wiki/Cookbook:Oatmeal_Stout_Brownies">Wikibooks</a>, licensed under <a href="http://en.wikibooks.org/wiki/GNU_Free_Documentation_License">GNU FDL</a>):</p>
<pre><code>&lt;h1&gt;Recipe for Oatmeal Stout Brownies&lt;/h1&gt;

&lt;h2&gt;Ingredients&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;1 cup all-purpose flour&lt;/li&gt;
  &lt;li&gt;3/4 cup unsweetened cocoa powder (Dutch-
      processed preferred)&lt;/li&gt;
  &lt;li&gt;1/4 teaspoon salt&lt;/li&gt;
  &lt;li&gt;6 tablespoons unsalted room temperature
      butter, cut into cubes&lt;/li&gt;
  &lt;li&gt;8 ounces dark bittersweet chocolate,
      chopped&lt;/li&gt;
  &lt;li&gt;3/4 cup white chocolate chips&lt;/li&gt;
  &lt;li&gt;4 large eggs, at room temperature&lt;/li&gt;
  &lt;li&gt;1 cup granulated sugar&lt;/li&gt;
  &lt;li&gt;1 1/4 cups (10 ounces) Oatmeal Stout beer
      (room temperature)&lt;/li&gt;
  &lt;li&gt;1 cup semi-sweet chocolate chips&lt;/li&gt;
  &lt;li&gt;1 package (8 ounces) cream cheese,
      softened&lt;/li&gt;
  &lt;li&gt;1/3 cup granulated sugar&lt;/li&gt;
  &lt;li&gt;1/2 teaspoon vanilla&lt;/li&gt;
  &lt;li&gt;1 large egg&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Procedure&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Preheat oven to 375°F (190°C).&lt;/li&gt;
  &lt;li&gt;Line a 9 x 13-inch baking pan with non-stick foil
      (or grease and flour - or parchment paper; your
      call).&lt;/li&gt;
  &lt;li&gt;In a medium bowl, whisk together flour, cocoa
      powder, and salt until evenly combined. Set
      aside.&lt;/li&gt;
  &lt;li&gt;Melt butter, bittersweet chocolate, and white
      chocolate chips in a double boiler over very low
      heat, stirring constantly until melted. Remove from
      heat.&lt;/li&gt;
  &lt;li&gt;In a large mixing bowl, beat eggs and sugar on high
      speed until light and fluffy, about 3 minutes. Add
      melted chocolate mixture, beating until
      combined.&lt;/li&gt;
  &lt;li&gt;Beat reserved flour mixture into melted chocolate
      mixture. Whisk in stout beer. The batter will seem a
      bit thin. Drop semisweet chocolate chips evenly on
      top of batter (some will sink in).&lt;/li&gt;
  &lt;li&gt;Pour into prepared baking pan.&lt;/li&gt;
  &lt;li&gt;Beat cream cheese in medium bowl with electric
      mixer on medium speed until smooth. Gradually beat
      in sugar. Beat in vanilla and 1 egg just until
      blended.&lt;/li&gt;
  &lt;li&gt;Pour cream cheese mixture over brownie batter in
      pan; cut through mixture with knife several times
      for marbled design.&lt;/li&gt;
  &lt;li&gt;Bake 25 to 35 minutes on center rack in the oven,
      until a toothpick inserted in the center comes out
      almost clean.&lt;/li&gt;
  &lt;li&gt;Let brownies cool, uncovered, to room temperature.
      Dust with confectioners' sugar before serving if
      desired.&lt;/li&gt;
&lt;/ol&gt;
</code></pre>
<p>As with other HTML elements, don&#8217;t worry too much about what these list elements <em>look</em> like. Looks can always be changed by style sheets. If you want to add something to your page like a navigation bar &#8212; something that is, in concept, a list even if you don&#8217;t want it displayed vertically with bullets &#8212; you should use a &#8220;ul&#8221; element and style it later. This is because lots of programs like search engines will actually better understand the page if you use elements for what they mean rather than how they look. In the web design biz, this is called &#8220;semantic markup&#8221;.</p>
</dd>
<dt><strong>a</strong>:</dt>
<dd>
<p>The &#8220;a&#8221; element (short for &#8220;anchor&#8221;, for historical reasons) is used to create a link to somewhere else. It should always be used with an &#8220;href&#8221; (hypertext reference) attribute to tell where the link will go. Here is an example:</p>
<pre><code>&lt;p&gt;For more information about web standards, visit the
    &lt;a href=&quot;http://www.w3.org/&quot;&gt;W3C site&lt;/a&gt;.&lt;/p&gt;</code></pre>
<p>In the above example, the user will see the text &#8220;W3C site&#8221; (typically underlined and blue) which, when clicked, will take the person to <code>http://www.w3.org/</code>.</p>
</dd>
<dt><strong>em</strong> and <strong>strong</strong>:</dt>
<dd>
<p>These give emphasis to a word or phrase. They have the same meaning, except &#8220;strong&#8221; is meant to indicate stronger emphasis. A typical web browser will display &#8220;em&#8221; text in italics and &#8220;strong&#8221; text in bold. If the web browser is configured to read the webpage aloud, &#8220;em&#8221; text will be spoken with emphasis and &#8220;strong&#8221; text will be spoken even louder. Here is an example:</p>
<pre><code>&lt;p&gt;The em and strong elements provide &lt;em&gt;meaning&lt;/em&gt; and
    &lt;em&gt;context&lt;/em&gt;, unlike the i and b elements which
    only change &lt;strong&gt;visual appearance&lt;/strong&gt;.</code></pre>
</dd>
</dl>
<p>For a complete list of available elements in HTML, see the <a href="http://www.w3.org/TR/html4/index/elements.html">HTML element index</a>. Elements listed with &#8220;L&#8221; or &#8220;F&#8221; in the &#8220;DTD&#8221; column are not allowed in the &#8220;strict&#8221; version of HTML we&#8217;re using. It&#8217;s considered bad practice to use them in any version.</p>
<p>If you want to try out some HTML code of your own, head on over to my <a href="http://www.webdevout.net/test">webpage test</a> service. Just type the HTML and click &#8220;Display&#8221; to see the result below.</p>
<p>HTML is not a free-for-all language. While some popular browsers will try to let you get away with errors, you should always be careful that you&#8217;re putting your tags in the right places and following the standard rule sets. Luckily, there is a simple free tool to help check that your documents don&#8217;t contain HTML errors: the <a href="http://validator.w3.org/">HTML Validator</a>. If you ever come to an HTML support forum for help, this tool is usually the first thing they&#8217;ll use. Making sure that your HTML is always valid helps reduce your risk of headaches in the future.</p>
<p>For more information about HTML, see the <a href="http://en.wikipedia.org/wiki/Html">Wikipedia article on HTML</a> and the <a href="http://en.wikibooks.org/wiki/HTML">Wikibook on learning HTML</a>.</p>
<p>To look at any webpage&#8217;s HTML code, right-click somewhere on the page and click &#8220;View Source&#8221; or &#8220;View Page Source&#8221;. Keep in mind that there tends to be more poorly-written HTML code on the Web than well-written HTML code, so don&#8217;t rely entirely on example.</p>
<p>There is another language called XHTML, based on HTML, which has been used more and more lately. You should avoid XHTML. At this point in time, you must have truly expert knowledge in web standards in order to use XHTML correctly, and then there are major compatibility problems if you do. As a result, almost every XHTML page on the Web has serious overlooked problems that have all but destroyed XHTML&#8217;s original goal on the Web. For technical information about the problems with XHTML, see <a href="http://www.webdevout.net/articles/beware-of-xhtml">Beware of XHTML</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/03/24/the-basics-of-html/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Website syndication with RSS and Atom</title>
		<link>http://blog.cccnext.net/2007/03/22/website-syndication-with-rss-and-atom/</link>
		<comments>http://blog.cccnext.net/2007/03/22/website-syndication-with-rss-and-atom/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 03:14:17 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Easy]]></category>

		<category><![CDATA[Innovation]]></category>

		<category><![CDATA[Moderate]]></category>

		<category><![CDATA[Software tutorials]]></category>

		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://blog.cccnext.net/2007/03/22/website-syndication-with-rss-and-atom/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/feed.gif" width="100" height="100" alt="">

Feed-based website syndication has become popular in recent years, but there is still a lot of people who haven't learned about it and the benefits it brings.

Website syndication is a way to read about all of the recent news articles, blog posts, and website updates that interest you all in one place. In a single view, you can read headlines and summaries of articles on all of your favorite news sites and keep up-to-date without having to browse through all of those sites one-by-one every day. It streamlines your reading experience.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/feed.gif" width="100" height="100" alt=""></p>
<p>Feed-based website syndication has become popular in recent years, but there is still a lot of people who haven&#8217;t learned about it and the benefits it brings.</p>
<p>Website syndication is a way to read about all of the recent news articles, blog posts, and website updates that interest you all in one place. In a single view, you can read headlines and summaries of articles on all of your favorite news sites and keep up-to-date without having to browse through all of those sites one-by-one every day. It streamlines your reading experience.</p>
<p>To get started with website syndication, you need to get something called a feed reader. Two popular ones are <a href="http://reader.google.com/">Google Reader</a> and <a href="http://www.bloglines.com/">Bloglines</a>. Most of the newest web browsers even have simple feed reading capabilities built-in. For the purposes of this post, I will assume you are starting out with Google Reader.</p>
<p>Once you have your feed reader, you need to look for feeds on your favorite websites. Feeds usually come in either the &#8220;RSS&#8221; or &#8220;Atom&#8221; variety. The difference between the two is negligible for most typical subscribers.</p>
<p>Many websites that offer feeds will provide some link on the page itself. You may see a plain text &#8220;RSS&#8221; or &#8220;Atom&#8221; link like in the sidebar of this blog; you may see an orange or blue &#8220;RSS&#8221;, &#8220;Atom&#8221;, or &#8220;XML&#8221; button (in this case, XML is just another term for either RSS or Atom); or you may see the standard orange feed icon shown at the top of this article. If you find one of these links, make note of its URL &#8212; the web address you see at the bottom of the browser window when you hover your mouse over the link. You can copy it to your clipboard by right-clicking the link and clicking &#8220;Copy Shortcut&#8221; or &#8220;Copy Link Location&#8221;.</p>
<p>When you have a feed URL, add it to your feed reader. In Google Reader, this is done by clicking the &#8220;Add subscription&#8221; button on the left side of the Google Reader screen, then typing or pasting the URL into the box that comes up, and finally clicking the &#8220;Add&#8221; button.</p>
<p>If you&#8217;re using the Firefox web browser, it can help you out with the above process: When you come across a page that offers a feed, an orange feed icon will appear on the right side of your URL bar. Click on the icon. It&#8217;ll either bring you to a new page or simply display a small list of available feeds, in which case just choose one. You&#8217;ll now be on a page with the text &#8220;Subscribe to this page using&#8221; and a dropdown list. From that list, pick Google Reader and click &#8220;Subscribe Now&#8221;. Finally, on the next page click &#8220;Add to Google Reader&#8221;. You&#8217;re now subscribed to the feed.</p>
<p>Once you have subscribed to a feed, your feed reader will automatically check for updates every few minutes. Feeds with updates will be indicated in the left column. You&#8217;ll read the feeds much like you read e-mails. Feel free to play around in the feed reader; once you get used to it, it will increase your productivity and make reading your daily news that much more relaxing.</p>
<p>If you just want to subscribe to the Tech Center Current blog for now, here&#8217;s a quick button to hurry you along: <a href="http://fusion.google.com/add?feedurl=http%3A//blog.cccnext.net/feed/"><img src="http://buttons.googlesyndication.com/fusion/add.gif" width="104" height="17" alt="Add to Google"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/03/22/website-syndication-with-rss-and-atom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Firefox adds support for APNG</title>
		<link>http://blog.cccnext.net/2007/03/20/firefox-adds-support-for-apng/</link>
		<comments>http://blog.cccnext.net/2007/03/20/firefox-adds-support-for-apng/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 02:46:10 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Standards]]></category>

		<category><![CDATA[Web browsers]]></category>

		<guid isPermaLink="false">http://cvctest.cvc.edu:8080/2007/03/20/firefox-adds-support-for-apng/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/firefox.gif" width="100" height="100" alt="">

The Firefox web browser has just added APNG support to its development versions, meaning it will appear in a future release. APNG is an animated version of the popular PNG image format, solving one of PNG's main shortcomings to the GIF format. APNG was designed to replace MNG, a different animated PNG format that never took off because its design was seen to be unnecessarily complex. The APNG specification hasn't yet been finalized, but is expected to be once the PNG group approves a minor change.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/firefox.gif" width="100" height="100" alt=""></p>
<p>The Firefox web browser has just added APNG support to its development versions, meaning it will appear in a future release. APNG is an animated version of the popular PNG image format, solving one of PNG&#8217;s main shortcomings to the GIF format. APNG was designed to replace MNG, a different animated PNG format that never took off because its design was seen to be unnecessarily complex. The APNG specification hasn&#8217;t yet been finalized, but is expected to be once the PNG group approves a minor change.</p>
<p>Firefox is currently the only major web browser to support APNG. However, applications that support regular PNG have no problem loading the first frame of an APNG file, so there&#8217;s little risk in using it today with that in mind.</p>
<p>PNG is a World Wide Web Consortium open standard and has good support in all major browsers except Internet Explorer, which has a few noteworthy bugs: Internet Explorer 6 and below don&#8217;t support partial transparency; and Internet Explorer 7 and below don&#8217;t correctly support gamma correction, meaning that many PNG images will appear somewhat darker or lighter than they should. Nevertheless, PNG has largely replaced GIF on the Web due to its better compression, fuller color depth, and additional features.</p>
<p>Here are some relevant links:</p>
<ul>
<li><a href="http://wiki.mozilla.org/APNG_Specification">APNG Specification</a></li>
<li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=257197">Firefox APNG development tracking</a></li>
<li><a href="http://www.w3.org/TR/PNG/">PNG Specification</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/03/20/firefox-adds-support-for-apng/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SGML, HTML, and XML</title>
		<link>http://blog.cccnext.net/2007/03/19/sgml-html-and-xml/</link>
		<comments>http://blog.cccnext.net/2007/03/19/sgml-html-and-xml/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 03:41:54 +0000</pubDate>
		<dc:creator>David Hammond</dc:creator>
		
		<category><![CDATA[Advanced]]></category>

		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://cvctest.cvc.edu:8080/2007/03/19/sgml-html-and-xml/</guid>
		<description><![CDATA[<img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt="">

SGML, the Standard Generalized Markup Language, is perhaps the most commonly used document language in existence. It is a metalanguage, meaning it is used to define other sub-languages. Two of the most well-known languages defined by SGML are HTML and XML.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.cccnext.net/files/webpage.gif" width="100" height="100" alt=""></p>
<p>SGML, the Standard Generalized Markup Language, is perhaps the most commonly used document language in existence. It is a metalanguage, meaning it is used to define other sub-languages. Two of the most well-known languages defined by SGML are HTML and XML.</p>
<p>All SGML-based languages have certain things in common:</p>
<ul>
<li>They are written using &#8220;tags&#8221; to define &#8220;elements&#8221;. Those elements make up the document structure, and elements may exist inside other elements.</li>
<li>Elements may have &#8220;attributes&#8221; to provide meta data for the elements. For example, if there is an element for indicating quotations, the element may have an attribute to indicate where the quotation came from.</li>
<li>The documents must reference something called a Document Type Definition (DTD), usually by using a special &#8220;DOCTYPE&#8221; declaration at the top of the page. The DTD describes which elements exist in the language, where they may be placed, and what attributes they have.</li>
</ul>
<p>The first differentiating factor between separate SGML-based languages comes from something called an SGML declaration. The SGML declaration defines which shorthand rules apply in the sub-language, which characters are used to surround tags and other constructs, and various other information that&#8217;s important for parsers. You&#8217;ll usually never see the SGML declaration in an actual document; it&#8217;s usually defined in the document language specification and the SGML parser has the common SGML declarations built in.</p>
<p>In case you want to take a look, here are <a href="http://www.w3.org/TR/html4/HTML4.decl">HTML&#8217;s SGML declaration</a> and <a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1.dcl">XML&#8217;s SGML declaration</a>, both of which inherit the <a href="http://www.webdevout.net/include/parsers/dcl/default.dcl">default SGML declaration</a> values.</p>
<p>HTML and XML are both fairly similar to the default SGML declaration, which is called the &#8220;concrete reference syntax&#8221;. The following are true in both languages:</p>
<ul>
<li>Tags are delimited using &#8220;<code>&lt;</code>&#8221; and &#8220;<code>&gt;</code>&#8221; and closed with &#8220;<code>&lt;/</code>&#8221; .</li>
<li>Character references are delimited using &#8220;<code>&amp;</code>&#8221; and &#8220;<code>;</code>&#8221; .</li>
<li>Attribute values are associated with attribute names by using the &#8220;<code>=</code>&#8221; character, and the same quotation characters are used around attribute values.</li>
<li>Declarations begin with &#8220;<code>&lt;!</code>&#8221; .</li>
</ul>
<p>But the two languages also have some significant differences:</p>
<ul>
<li>Most of HTML&#8217;s shorthand rules aren&#8217;t available in XML. (It should be noted that most major browsers today only support a few of HTML&#8217;s shorthand rules anyway.)</li>
<li>HTML DTDs may define certain elements as allowing omitted end tags (meaning, for example, the &#8220;<code>&lt;p&gt;</code>&#8221; tag doesn&#8217;t have to have a pairing &#8220;<code>&lt;/p&gt;</code>&#8221; ). If an element is also defined as &#8220;EMPTY&#8221;, meaning no contents are allowed, the end tag is forbidden (for example, &#8220;<code>&lt;br&gt;</code>&#8221; is not allowed to have a &#8220;<code>&lt;/br&gt;</code>&#8221; ). However, in XML, start and end tags may never be omitted.</li>
<li>HTML&#8217;s poorly-supported &#8220;null end tag&#8221; (NET) shorthand construct is written like &#8220;<code>&lt;p/This is a paragraph/</code>&#8221; , or &#8220;<code>&lt;br/</code>&#8221; when the end tag is forbidden. XML&#8217;s well-supported NET construct is written like &#8220;<code>&lt;p/This is a paragraph&gt;</code>&#8221; except it is never allowed to have contents when you use it, so it&#8217;s actually &#8220;<code>&lt;p/&gt;</code>&#8221; . Since end tags are never forbidden in XML, you never just have &#8220;<code>&lt;br/</code>&#8221; ; it&#8217;s &#8220;<code>&lt;br/&gt;</code>&#8221; instead.</li>
<li>Element and attribute names are case-insensitive in HTML, meaning &#8220;<code>&lt;p&gt;</code>&#8221; and &#8220;<code>&lt;P&gt;</code>&#8221; are the same thing. In XML, they are case-sensitive, so you have to use the same capitalization that&#8217;s defined in the DTD.</li>
<li>In HTML, attribute values that begin with a letter and only contain combinations of letters, numbers, &#8220;<code>-</code>&#8221; , &#8220;<code>_</code>&#8221; , &#8220;<code>:</code>&#8221; , and &#8220;<code>.</code>&#8221; are allowed to be written without quotation marks. In XML, all attribute values must be quoted.</li>
<li>XML has additional parsing restrictions and the concept of &#8220;well-formedness&#8221; (explained later).</li>
</ul>
<p>Another major difference is that, unlike with HTML, there&#8217;s no DTD called &#8220;XML&#8221;. HTML has &#8220;HTML Strict&#8221;, &#8220;HTML Transitional&#8221;, and &#8220;HTML Frameset&#8221; DTDs which share most of the same basic elements, and people usually just call these sets of elements &#8220;HTML&#8221;. However, XML doesn&#8217;t provide any set of elements &#8220;out of the box&#8221;. XML provides the parsing rules, but other languages are built on top of it. For example, MathML, OpenDocument, OpenSearch, RDF, RSS, SOAP, SVG, and XHTML are all XML languages with their own specific DTDs.</p>
<p>The benefit of XML is that it makes it easier to write parsers. Instead of having to support the full wealth of features SGML offers (which no major web browser even attempts to do), an XML parser only has to support a tiny subset of it in order to parse all of these different XML-based languages. Aside from the SGML rules, XML also has an additional set of restrictions for a document to be &#8220;well-formed&#8221;. For example, a well-formed XML document isn&#8217;t allowed to have a custom SGML declaration in the document itself, it has extra limitations on which constructs may exist where, and certain characters like &#8220;<code>&lt;</code>&#8221; are simply not allowed as normal text no matter what characters are around it (you can use the character reference &#8220;<code>&amp;lt;</code>&#8221; instead). This ensures that the document is written in a very predictable way and parsers don&#8217;t have to worry about lots of special exception rules everywhere. In order to make sure that documents stay well-formed, an XML parser isn&#8217;t supposed to be forgiving of any well-formedness error. If it comes upon any malformed content, it simply quits trying to load the document right then and there.</p>
<p>XHTML was designed to be an XML version of HTML (basically, the HTML elements and attributes using XML document rules). Unfortunately, XHTML has mostly failed to achieve its goal on the Web. Internet Explorer &#8212; currently the most widely-used web browser by a large majority &#8212; has never actually supported XHTML. Instead, it can only handle XHTML as if it were incorrectly-written HTML, meaning there is no well-formedness checking and a lot of constructs are handled incorrectly. To make matters worse, the <a href="http://www.w3.org/">World Wide Web Consortium (W3C)</a> who developed XHTML declared that it was okay for websites to send XHTML documents to the browser using the &#8220;text/html&#8221; content type HTTP header. This HTTP header tells the browser how it should handle the document. In this case, it tells browsers to handle the page not as XHTML, but as regular HTML. So even browsers that correctly support XHTML won&#8217;t handle it as such. Because suddenly nothing is checking these pages for well-formedness and correct XML parsing anymore, most webpage authors using XHTML fail to realize that the documents they&#8217;re writing can&#8217;t even be parsed as XML. This is precisely what the well-formedness rules were designed to prevent. So the idea of a Web standardized on a uniform easy-to-parse document language has now become a distant dream. In response, the W3C has decided to go back to developing HTML again, and a major new version of HTML is currently planned for 2010.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cccnext.net/2007/03/19/sgml-html-and-xml/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
