<?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>nascentguruism &#187; Zach Inglis</title>
	<atom:link href="http://nascentguruism.com/journal/category/zach-inglis/feed" rel="self" type="application/rss+xml" />
	<link>http://nascentguruism.com</link>
	<description></description>
	<lastBuildDate>Tue, 13 Apr 2010 22:45:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>XAML: An insider&#8217;s look&#160;out</title>
		<link>http://nascentguruism.com/journal/xaml-an-insiders-look-out</link>
		<comments>http://nascentguruism.com/journal/xaml-an-insiders-look-out#comments</comments>
		<pubDate>Thu, 24 Nov 2005 12:33:24 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[.Net Framework]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Zach Inglis]]></category>

		<guid isPermaLink="false">http://nascentguruism.com/?p=18</guid>
		<description><![CDATA[Zach recently posted his thoughts on Microsoft&#8217;s XAML. As my main development environment is Microsoft&#8217;s .Net Framework, I&#8217;ve had a chance to have a more in-depth look at what XAML is and does, and feel that I should clear some points up. Disclaimer: I have no knowledge of Microsoft&#8217;s true plans for XAML. These are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zachinglis.com/" title="Zach Inglis">Zach</a> recently <a href="http://www.zachinglis.com/web-accessibility/xaml-who/" title="XAML: An Outsiders Look In">posted his thoughts</a> on 
Microsoft&rsquo;s <acronym title="eXtensible Application Markup Language">XAML</acronym>. As my main development environment is Microsoft&rsquo;s .Net Framework, I&rsquo;ve had a chance to have a more in-depth look at what <acronym title="eXtensible Application Markup Language">XAML</acronym> is and does, and feel that I should clear some points up.</p>

<p><strong>Disclaimer</strong>: I have no knowledge of Microsoft&rsquo;s true plans for <acronym title="eXtensible Application Markup Language">XAML</acronym>. These are simply <em>my observations</em> based on what I&rsquo;ve read and seen on the Internet, and cursory fiddlings with <acronym title="eXtensible Application Markup Language">XAML</acronym> as part of the <a href="http://www.microsoft.com/downloads/info.aspx?u=http%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D50707&amp;na=44&amp;p=0&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=CE888B4C-CCBD-452F-9D90-F4B7190CCA24">WinFX pre-release <acronym title="Software Development Kit">SDK</acronym></a></p>

<h2>What is this <acronym title="eXtensible Application Markup Language">XAML</acronym> you speak of?</h2>

<p><acronym title="eXtensible Application Markup Language">XAML</acronym> is Microsoft&rsquo;s new <em>application</em> markup language (as noted in the name &lsquo;eXtensible Application Markup Language&rsquo;). </p>

<p>This, then, automatically implies that its primary focus is applications or, more specifically, <em>client-side</em> applications. These could be the likes of Microsoft Word, or they could be something that runs on the client, but is hosted in a browser environment (read: Flash applications).</p>

<p>The <span xml:lang="fr">raison d&rsquo;&ecirc;tre</span> of <acronym title="eXtensible Application Markup Language">XAML</acronym>, rather than being to replace <acronym title="Hypertext Markup Language">HTML</acronym>, is (or rather, would appear to be) to allow <em>client-side</em> application developers to seperate their user interface &lsquo;code&rsquo; from their functional code.  </p>

<h2>Why all the hubbub?</h2>

<p>Web developers know that having a hulking great piece of <del>JavaScript</del><ins><acronym title="European Computer Manufacturers Association">ECMA</acronym>Script</ins> to build their entire user interface isn&rsquo;t good for code maintenance. Why should the same not be true for client-side applications? After all, you don&rsquo;t hear anyone crying <q>think of the children!</q> when people talk about <a href="http://en.wikipedia.org/wiki/XUL" title="Wikipedia entry on XUL"><acronym title="XML User Interface Language">XUL</acronym></a> which is, ultimately, a different implementation of the same concept.</p>

<p>Personally, I think most of the noise is because Microsoft is making (and, in fact, <em>has to</em> make) noise about the benefits of <acronym title="eXtensible Application Markup Language">XAML</acronym> over the old-school way of doing things. Your average in-house developer, closed off from the outside world, that only uses computers for their day job will probably only care about what comes from <a href="http://msdn.microsoft.com/" title="Microsoft Developer Network">the hand of God</a>. Add to that the fact that Microsoft has to get the message out to what probably amounts to millions of developers, and they need to make a lot of noise.</p>

<p>Compare this again to <acronym title="XML User Interface Language">XUL</acronym>: it&rsquo;s <em>not</em> the default framework for the most used operating system in the world; it has a handful of &lsquo;big&rsquo; adopters (who are, in terms of user base, significantly smaller than that of Windows) and a (relatively) small, vocal developer-base. </p>

<p>The point, however, is that <acronym title="XML User Interface Language">XUL</acronym> and <acronym title="eXtensible Application Markup Language">XAML</acronym> have very similar goals in mind: seperation of interface structure and presentation from &lsquo;logic&lsquo;.</p>

<h2>Implementation</h2>

<p>As a very strong advocate of semantic, accessible web development, the implementation details of <acronym title="eXtensible Application Markup Language">XAML</acronym> grate against my nerves slightly, but not as much as you might think. </p>

<h3>Usability</h3>

<blockquote>
  <p>Look at the CD Catalogue, that’s less usable friendly than what Amazon is. That makes me wonder if the web is turning too looks specific. <em>Soon the content will be forgotten and it’ll only be about looks</em>. With that, it looks as though its taking the focus of what the web’s built for (&lsquo;To house globally accessible documents&rsquo;).</p>
</blockquote>

<p>I&rsquo;m not sure Zach&rsquo;s comparison of the <acronym title="Compact Disc">CD</acronym> Catalogue tech demo with <a href="http://www.amazon.com/">Amazon</a> is a fair one; a better one would be to something like <a href="http://www.steelskies.com/coverflow/HomePage.html">CoverFlow</a> with Amazon integration. It&rsquo;s also worth bearing in mind that this is a tech demo we&rsquo;re talking about, <em>not a final product</em>. </p>

<p>Further, I would reiterate the point that <acronym title="eXtensible Application Markup Language">XAML</acronym> is for <em>applications</em>, not documents.</p>

<h3>Semantics</h3>

<p>Zach also laments the lack of semantics within <acronym title="eXtensible Application Markup Language">XAML</acronym>, referencing setting an attribute value (<code>Value="verticalgradient LimeGreen Green"</code>), rather than some seperate, more semantic notation (he seperates the three values into their own attributes). </p>

<p>This is one point I&rsquo;d tend to agree with Zach on and, in fact, take one step further: if Microsoft <em>really</em> want to seperate things, allow seperation of structure from presentation, too. As I noted earlier, I&rsquo;ve a strong feeling that this is already possible, to some degree but, if it is, it&rsquo;s almost certainly not enforced in any way (like, say, a completely different markup tailored for each, with some form of referencing).</p>

<h3>Platform specificity</h3>

<blockquote>
  <p>Every year more people are switching to a Mac for various reasons(I’m not going to get into a debate here), what about them? Will Mac retaliate and do their own version thus leaving Windows users in the dark on some of the web pages. Will their [sic] be a port? Will it get taken back by Microsoft in the hope to fish some Mac users over?</p>
</blockquote>

<p>Looking at the direction Microsoft appear to be taking with their <a href="http://www.microsoft.com/products/expression/en/interactive_designer/default.aspx">Sparkle Interactive Designer</a> (as a tool to create rich applications on Windows and the web), you can almost taste the &lsquo;we want a piece of Flash&rsquo; sentiment. Add to that the fact that Microsoft explicitly state that the output from Sparkle will work cross platform and device (in their <a href="http://www.microsoft.com/products/expression/en/demos.aspx" title="Microsoft Expression Tours &amp; Demos">Expression family tour</a>). I wouldn&rsquo;t be in the least surprised if we see:</p>

<ul>
<li>A gradual uptake (mostly by <a href="http://www.fujitsu-siemens.com/" title="Fujitsu Siemens Computers, the company I work for">Microsoft shops</a> and geeks, initially) of Sparkle in addition to Flash (or, perhaps, instead of, for some geeks).</li>
<li>A cross-platform .Net runtime environment that is, in some way, endorsed by Microsoft. This might be in the form of support for <a href="http://www.mono-project.com/">Mono</a> or the like, some extension of the current <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3A1C93FA-7462-47D0-8E56-8DD34C6292F0&amp;displaylang=en">shared source initiative</a>, a fully-fledged, Microsoft-built .Net runtime for the Mac and <abbr title="Unix-style operating systems">*nix</abbr>, or something in between.</li>
</ul>

<h2>Final thoughts</h2>

<p>This is something I&rsquo;ve actually been mulling over for quite a while and, much as I don&rsquo;t like the approach Microsoft are taking in terms of the actual markup, I can see <acronym title="eXtensible Application Markup Language">XAML</acronym> making my life (and the lives of those I work with) far, far easier when we have to manage future application interfaces.</p>

<p>It <em>is</em> far from the panacea Microsoft are suggesting that it is, but it is still <em>far</em> superior to the current code-soup approach in most Windows&nbsp;applications.</p>]]></content:encoded>
			<wfw:commentRss>http://nascentguruism.com/journal/xaml-an-insiders-look-out/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

