<?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>Simon Whatley &#187; api</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/api/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simonwhatley.co.uk</link>
	<description>The opposite of every great idea is another great idea</description>
	<lastBuildDate>Wed, 02 Nov 2011 09:28:34 +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>How to Optimise Your Social Media Profile</title>
		<link>http://www.simonwhatley.co.uk/how-to-optimise-your-social-media-profile</link>
		<comments>http://www.simonwhatley.co.uk/how-to-optimise-your-social-media-profile#comments</comments>
		<pubDate>Mon, 01 Feb 2010 10:47:55 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Bing]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet marketing]]></category>
		<category><![CDATA[Online social networking]]></category>
		<category><![CDATA[Ping.fm]]></category>
		<category><![CDATA[Real-time web]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[Search engine optimization]]></category>
		<category><![CDATA[search engines]]></category>
		<category><![CDATA[social networking profiles]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=2285</guid>
		<description><![CDATA[Social media has become the new buzzword of the web. As businesses wake up to realise the power of social media and the way it can accelerate the Search Engine Optimisation (SEO) process, more and more companies are venturing towards Social Media Optimisation (SMO).]]></description>
			<content:encoded><![CDATA[<p>Social media has become the new buzzword of the web. As businesses wake up to realise the power of social media and the way it can accelerate the Search Engine Optimisation (<abbr title="Search Engine Optimisation">SEO</abbr>) process, more and more companies are venturing towards Social Media Optimisation (<abbr title="Social Media Optimisation">SMO</abbr>).</p>
<p>Here are some tips to optimise your social media profile so that you get effective results:</p>
<ul>
<li><strong>Increase your linkability</strong>: add a blog, create white papers, aggregate content via <a href="http://ping.fm/" title="ping.fm" target="_blank" rel="nofollow">ping.fm</a>.</li>
<li><strong>Make it easy</strong>: make tagging and bookmarking simple on your website.</li>
<li><strong>Reward inbound links</strong>: include permalinks, list recent linking blogs, promote linkers with a nofollow tag.</li>
<li><strong>Help content travel</strong>: <abbr title="Portable Document Format">PDF</abbr>s, video files, podcasts, slideshows, articles.</li>
<li><strong>Encourage mash-ups</strong>: open your <abbr title="Application Programming Interface">API</abbr>; permit embeds; permit <abbr title="Really Simple Syndication">RSS</abbr>.</li>
<li><strong>Add value</strong>: be a resource, even if it doesn&#8217;t seem like it will help you &#8212; provide <em>freemium</em> content.</li>
<li><strong>Reward helpfulness</strong>: notes of thanks, discounts, badges.</li>
<li><strong>Participation</strong>: create awareness, prolong buzz around your website.</li>
<li><strong>Know your audience</strong>: research, community mapping, targeting, metrics.</li>
<li><strong>Create content</strong>: videos, articles, podcasts, widgets, images, slides, plugins.</li>
<li><strong>Don&#8217;t forget your roots</strong>: be humble.</li>
<li><strong>Don&#8217;t be afraid to try new things</strong>: stay fresh, reinvent the wheel daily.</li>
<li><strong>Develop a social media optimisation strategy</strong>: define objectives, set goals, have a desired channel or channels, track reputation, find influence, create credibility, be a trailblazer.</li>
</ul>
<p><em>(via <a href="http://www.netmag.co.uk/" title=".net magazine" target="_blank" rel="nofollow">.net magazine</a>, December 2009.)</em></p>
<p>Ultimately, the important thing is to first research how to optimise each of your social networks. You have to find a niche and decide what content and keywords you would like to optimise against. Although some of your social networking profiles and information can be found in general search engines, you are ultimately optimising to be found within that particular social network’s search engine.</p>
<p>Twitter, for example, until recently did not provide access to its data firehose, therefore, search engines such as Google and Bing were shut out. <a href="http://mashable.com/2009/12/07/google-real-time-search/" title="Google's Realtime Search" target=_blank" rel="nofollow">This has since changed</a>, but until sites such as Twitter and Facebook fully open up to organisations and developers alike, optimising for each site is a necessity.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/how-to-optimise-your-social-media-profile/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Work Philosophy</title>
		<link>http://www.simonwhatley.co.uk/my-work-philosophy</link>
		<comments>http://www.simonwhatley.co.uk/my-work-philosophy#comments</comments>
		<pubDate>Thu, 05 Mar 2009 15:29:19 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Asides]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Dev Opera]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Code]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web community]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[Yahoo]]></category>
		<category><![CDATA[zen]]></category>
		<category><![CDATA[Zoho]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1833</guid>
		<description><![CDATA[Okay, so many of the points below aren’t purely my philosophy, but ideas and principles I have picked up along the way throughout my [development] career. Some relate to the UNIX philosophy, or even the Zen of Python, but wherever they’re from, they can be applied to many other domains.]]></description>
			<content:encoded><![CDATA[<p>Okay, so many of the points below aren&#8217;t purely my philosophy, but ideas and principles I have picked up along the way throughout my [development] career. Some relate to the <a href="http://en.wikipedia.org/wiki/Unix_philosophy" title="Wikipedia: UNIX Philosophy" target="_blank" rel="nofollow">UNIX philosophy</a>, or even the <a href="http://www.python.org/dev/peps/pep-0020/" title="Zen of Python" target="_blank" rel="nofollow">Zen of Python</a>, but wherever they&#8217;re from, they can be applied to many other domains.</p>
<ul>
<li><strong>Don&#8217;t reinvent the wheel unless you really have to</strong>. Borrow code and ideas from elsewhere whenever it makes sense. The web community it great at sharing, just look at the various JavaScript libraries, the huge quantities of <abbr title="Application Programming Interface">API</abbr>s or indeed the major players&#8217; developer areas: <a href="http://code.google.com" title="Google Code" target="_blank" rel="nofollow">Google Code</a>, <a href="http://developer.yahoo.com" title="Yahoo! Developer Network" target="_blank" rel="nofollow">Yahoo! Developer Network</a>, <a href="https://developer.mozilla.org" title="Mozilla Developer Center" target="_blank" rel="nofollow">Mozilla Developer Center</a>, <a href="http://www.adobe.com/devnet/" title="Adobe Developer Connection" target="_blank" rel="nofollow">Adobe Developer Connection</a> and <a href="http://dev.opera.com" title="Dev Opera" target="_blank" rel="nofollow">Dev Opera</a> to name five I regularly refer to.</li>
<li><q><strong>Things should be as simple as possible, but no simpler</strong></q> (Einstein). This idea is really born out of and emphasised by <a href="http://gettingreal.37signals.com/" title="37Signals' Getting Real" target="_blank" rel="nofollow">37Signals&#8217; Getting Real book</a>. Commonly, 90% of people using an application only use 10% of it&#8217;s functionality. The key therefore is to find what people use most often and only build that functionality. If there is a requirement to add more, then sobeit. This can also apply to the code-level, the essence here being a balance between over- and under-engineering something.</li>
<li><strong>Do one thing well</strong> (The <q>UNIX philosophy</q>). It is better to do one thing well, than several second-rate. This could be at the code level &#8212; think encapsulation, coupling and cohesion &#8212; or indeed at the application level &#8212; you&#8217;re never going to beat Microsoft Word, but Google and Zoho have developed compelling alternatives, but with far less features. </li>
<li><strong>Don&#8217;t fret too much about performance</strong> &#8212; understand how to write efficient code and plan to optimise later if or when needed.</li>
<li><strong>Don&#8217;t try for perfection</strong> because <q>good enough</q> is often just that. This of course is a matter for conjecture. If I were working on a personal project, I may be more stringent on perfection than say, for a client&#8217;s application. This doesn&#8217;t mean to say the client&#8217;s application would be any worse, but rather it is a question of dotting-the-is and crossing-the-ts. It also depends on your perspective and what gains can be made by aiming for <q>perfection</q>.</li>
<li>(Hence) <strong>it&#8217;s okay to cut corners sometimes</strong>, only if you can do it right later. I rarely adhere to this! It makes sense to do it right the first time, since <q>bodge-jobs</q> often come back to haunt you and result in double the effort!</li>
<li><strong>Don&#8217;t fight it; go with the flow</strong>. This is somewhat clich&eacute;d, but the essence behind this is try to avoid getting stressed out. This isn&#8217;t always easy to achieve, but taking a step back from a situation and avoiding politics is important.</li>
</ul>
<p>I often strive for perfection, which isn&#8217;t an entirely clever pursuit since it is almost impossible to achieve. However, in a realm of imperfection, the principles above have helped me to achieve a modicum of decent code throughout the years. They may also resonate and provide inspiration for you.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/my-work-philosophy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rich Internet Application Frameworks for Flex and AIR</title>
		<link>http://www.simonwhatley.co.uk/ria-flex-air-frameworks</link>
		<comments>http://www.simonwhatley.co.uk/ria-flex-air-frameworks#comments</comments>
		<pubDate>Thu, 04 Sep 2008 14:34:42 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Consulting]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[asset management]]></category>
		<category><![CDATA[backend services]]></category>
		<category><![CDATA[Cairngorm]]></category>
		<category><![CDATA[classic Model-View-Controller]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Gaia]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Guasax]]></category>
		<category><![CDATA[Internet Application Frameworks]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[inversion-of-control]]></category>
		<category><![CDATA[IoC]]></category>
		<category><![CDATA[Mate]]></category>
		<category><![CDATA[Model-Glue Flex]]></category>
		<category><![CDATA[model-view-controller]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[PureMVC]]></category>
		<category><![CDATA[software engineers]]></category>
		<category><![CDATA[Swiz]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=986</guid>
		<description><![CDATA[Whether you are new to Adobe &#174; Flex &#174; or have been developing for a while, frameworks can help you get organised quickly. Below is a list of Flex and AIR frameworks that will allow you to get up and running and develop highly-collaborative applications. The introductions are by the frameworks themselves, but I'd like to here from you about your experiences using them.]]></description>
			<content:encoded><![CDATA[<p>Whether you are new to Adobe &reg; Flex &reg; or have been developing for a while, frameworks can help you get organised quickly.</p>
<p>Below is a list of Flex and <acronym title="Adobe Integrated Runtime">AIR</acronym> frameworks that will allow you to get up and running and develop highly-collaborative applications. The introductions are by the frameworks themselves, but I&#8217;d like to here from you about your experiences using them.</p>
<h3>Cairngorm</h3>
<p>Cairngorm is the lightweight micro-architecture for <a href="http://en.wikipedia.org/wiki/Rich_Internet_application" title="Wikipedia: Rich Internet Application" target="_blank" rel="nofollow">Rich Internet Applications</a> built in Flex or <acronym title="Adobe Integrated Runtime">AIR</acronym>. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices for <abbr title="Rich Internet Application">RIA</abbr> development advocated by <a href="http://www.adobe.com/consulting/" title="Adobe Consulting" target="_blank" rel="nofollow">Adobe Consulting</a>, encourages best-practice leverage of the underlying Flex framework, while making it easier for medium to large teams of software engineers deliver medium to large scale, mission-critical Rich Internet Applications.</p>
<p>More information can be found on the <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm" title="Cairngorm RIA Framework" target="_blank" rel="nofollow">Cairngorm project&#8217;s website</a>.</p>
<h3>PureMVC</h3>
<p>PureMVC is a lightweight framework for creating applications based upon the classic <a href="http://en.wikipedia.org/wiki/Model-View-Controller" title="Wikipedia: Model, View and Controller design pattern" target="_blank" rel="nofollow">Model-View-Controller</a> concept.</p>
<p>Based upon proven design patterns, this free, open source framework which was originally implemented in the ActionScript 3 language for use with Adobe Flex, Flash and <acronym title="Adobe Integrated Runtime">AIR</acronym>, has now been ported to nearly all major development platforms.</p>
<p>Two versions of the framework are supported with reference implementations; Standard and MultiCore, though only the Standard version has been ported to other languages so far.</p>
<p>More information can be found on the <a href="http://puremvc.org/" title="PureMVC Framework" target="_blank" rel="nofollow">PureMVC project&#8217;s website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Mate</h3>
<p>Mate is a tag-based, event-driven Flex framework.</p>
<p>Flex applications are event-driven. Mate framework has been created to make it easy to handle the events your Flex application creates. Mate allows you to define who is handling those events, whether data needs to be retrieved from the server, or other events need to be triggered.</p>
<p>In addition, Mate provides a mechanism for dependency injection to make it easy for the different parts of your application to get the data and objects they need.</p>
<p>More information can be found on the <a href="http://mate.asfusion.com/" title="Mate Framework at ASFusion" target="_blank" rel="nofollow">Mate project&#8217;s website</a>.</p>
<h3>Swiz</h3>
<p>Swiz is a framework for Adobe Flex that aims to bring complete simplicity to <abbr title="Rich Internet Application">RIA</abbr> development. Swiz provides Inversion of Control, event handing, and simple life cycle for asynchronous remote methods. In contrast to other major frameworks for Flex, Swiz imposes no <abbr title="Java 2 Platform, Enterprise Edition">J2EE</abbr> patterns on your code, no repetitive folder layouts, and no boilerplate code on your development. Swiz represents best practices learned from the top <abbr title="Rich Internet Application">RIA</abbr> developers at some of the best consulting firms in the industry, enabling Swiz to be simple, lightweight, and extremely productive.</p>
<p>More information can be found on the <a href="http://code.google.com/p/swizframework/" title="Swiz Framework on Google Code" target="_blank" rel="nofollow">Swiz project&#8217;s website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Guasax</h3>
<p>Guasax is an ease of use programming framework which provides the creation of an ordered and scalable application with Adobe Flex. The lifecycle of the Guasax framework is based in the <acronym title="Model-View-Controller">MVC</acronym> pattern to take on our program actions. The Guasax framework helps you to maintain your business logic tier highly decoupled from your presentation logic tier.</p>
<p>Guasax takes reflection and introspection techniques as well as the <a href="http://en.wikipedia.org/wiki/Inversion_of_control" title="Wikipedia: Inversion of Control" target="_blank" rel="nofollow">Inversion of Control</a> (<abbr title="Inversion of Control">IoC</abbr>) pattern to execute the operations which we have pointed at and to make a decision about itself. Guasax is not intrusive on your class model. You <em>don&#8217;t</em> have to extend your classes in a framework class to use it.</p>
<p>More information can be found on the <a href="http://www.guasax.com/" title="Guasax Project" target="_blank" rel="nofollow">Guasax project&#8217;s website</a> or on their <a href="http://code.google.com/p/guasax/" title="Guasax Project on Google Code" target="_blank" rel="nofollow">Google code project</a>.</p>
<h3>Model-Glue: Flex</h3>
<p>Model-Glue: Flex brings <a href="http://en.wikipedia.org/wiki/Implicit_invocation" title="Wikipedia: Implicit Invocation" target="_blank" rel="nofollow">implicit invocation</a>, Model-View-Controller design, and cleaner, less repetitive integration with backend services to Flex and <acronym title="Adobe Integrated Runtime">AIR</acronym> applications.</p>
<p>It shuns repetitive, boilerplate code in favor of helper classes and expressive <abbr title="Application Programming Interface">API</abbr>s.</p>
<p>More information can be found on the <a href="http://www.model-glue.com/flex.cfm" title="Model-Glue: Flex project's website" target="_blank" rel="nofollow">Model-Glue: Flex project&#8217;s website</a>.</p>
<h3>Gaia</h3>
<p>Gaia is an open-source front-end Flash Framework for <abbr title="ActionScript 3">AS3</abbr> and <abbr title="ActionScript 2">AS2</abbr> designed to dramatically reduce development time.</p>
<p>Gaia is targeted at anyone who develops Flash sites. It provides solutions to the challenges and repeated tasks faced with front-end Flash site development, such as navigation, transitions, preloading, asset management, site structure, deep linking and <abbr title="Search Engine Optimisation">SEO</abbr>. It provides speed and flexibility in your workflow and a simple API that gives you access to its powerful features.</p>
<p>More information can be found on the <a href="http://www.gaiaflashframework.com/" title="Gaia framework's website" target="_blank" rel="nofollow">Gaia Framework&#8217;s website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><strong>UPDATE: Some more frameworks that I overlooked.</strong></p>
<h3>Parsley</h3>
<p>Parsley is an application framework for Flex/Flash/AIR applications written in AS3. It contains the following modules:</p>
<p><abbr title="Inversion of Control">IoC</abbr> Container (Configuration and Dependency Injection) &#8211; Inspired by the Spring Framework it brings the concept of an<abbr title="Inversion of Control">IoC</abbr>(Inversion of Control) container to ActionScript. It is useful for configuration and wiring of applications. It helps building a well structured architecture and decoupling the individual building blocks of your application. Configuration is based on <abbr title="eXtensible Markup Language">XML</abbr> files.</p>
<p><abbr title="Model View Controller">MVC</abbr> Framework &#8211; The <abbr title="Model View Controller">MVC</abbr> (Model View Controller) framework helps decouple the view layer from other parts of the application. It borrows the concept of a FrontController from Cairngorm, but instead of advocating the use of BusinessDelegate and ServiceLocator patterns, the framework integrates the FrontController with the <abbr title="Inversion of Control">IoC</abbr> container.<br />
More information can be found on the <a href="http://www.spicefactory.org/parsley/" title="Parsley framework's website" target="_blank" rel="nofollow">Parsley Framework&#8217;s website</a>.</p>
<h3>Prana</h3>
<p>Prana is an Inversion of Control (<abbr title="Inversion of Control">IoC</abbr>) Container for ActionScript 3.0, and more specifically the Flex framework. It enables you to configure objects and components in a non-intrusive way by describing them in an external <abbr title="eXtensible Markup Language">XML</abbr> document and having them loaded at runtime.</p>
<p>At its core is a Spring-ish application context and <abbr title="Inversion of Control">IoC</abbr> container. The <abbr title="eXtensible Markup Language">XML</abbr> dialect for the application context is aimed to be Spring compliant.</p>
<p>The framework also contains utility classes for configuring and extending Cairngorm and PureMVC applications, a Reflection <abbr title="Application Programming Interface">API</abbr> and general utilities.</p>
<p>More information can be found on the <a href="http://www.pranaframework.org" title="Prana framework's website" target="_blank" rel="nofollow">Prana Framework&#8217;s website</a>.</p>
<h3>Arp</h3>
<p>Arp is a pattern-based framework for Flash and Flex. It supports both ActionScript 2 and ActionScript 3.</p>
<p>More information can be found on the <a href="http://osflash.org/projects/arp/" title="Arp Framework" target="_blank" rel="nofollow">Arp project&#8217;s page</a> on the Open Source Flash website.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/ria-flex-air-frameworks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the MooTools Autocompleter Plugin with ColdFusion</title>
		<link>http://www.simonwhatley.co.uk/using-the-mootools-autocompleter-plugin-with-coldfusion</link>
		<comments>http://www.simonwhatley.co.uk/using-the-mootools-autocompleter-plugin-with-coldfusion#comments</comments>
		<pubDate>Thu, 21 Aug 2008 10:57:35 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Australia]]></category>
		<category><![CDATA[autocomplete]]></category>
		<category><![CDATA[autocompleter]]></category>
		<category><![CDATA[Bulgaria]]></category>
		<category><![CDATA[CNet]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Dylan Verheul]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Harald Kirschner]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[JavaScript Object Notation]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[New Brunswick]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[search interface]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[united kingdom]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=883</guid>
		<description><![CDATA[In a previous post, I demonstrated how to implement Dylan Verheul’s jQuery Autocomplete plugin. Not content with demonstrating one library's plugin, it is now the turn of Mootools.]]></description>
			<content:encoded><![CDATA[<p>In a <a href="/using-jquery-auto-complete-with-coldfusion" title="Using jQuery Auto-Complete with ColdFusion">previous post</a>, I demonstrated how to implement Dylan Verheul&#8217;s <a href="http://www.dyve.net/jquery/?autocomplete" title="jQuery Autocomplete Plugin" target="_blank" rel="nofollow">jQuery Autocomplete plugin</a>. Not content with demonstrating one library&#8217;s plugin, it is now the turn of <a href="http://mootools.net/" title="MooTools JavaScript Framework" target="_blank" rel="nofollow">MooTools</a>.</p>
<blockquote><p>MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.</p></blockquote>
<p>In this post I will show you how to implement the <a href="http://digitarald.de/project/autocompleter/" title="Autocompleter Plugin" target="_blank" rel="nofollow">AutoCompleter plugin</a> by Harald Kirschner. Kirschner&#8217;s AutoCompleter plugin script for MooTools provides the functionality for text suggestion and completion. It features different data-sources (local, <acronym title="JavaScript Object Notation">JSON</acronym> or <abbr title="eXtensible Markup Language">XML</abbr>), a variety of user interactions, custom formatting, multiple selection, animations and much more.</p>
<h3>The Goal</h3>
<p>The goal of this post will be the same as the <a href="/using-jquery-auto-complete-with-coldfusion" title="Using jQuery Auto-Complete with ColdFusion">jQuery autocomplete post</a>: Allow the user to type a few characters into a standard form text input field and to automatically provide suggestions from which the user can select.</p>
<h3>Prerequisites</h3>
<ol>
<li>The <a href="http://mootools.net/download" title="Mootools Download" target="_blank" rel="nofollow">latest copy of MooTools</a></li>
<li>A basic understanding of JavaScript and <acronym title="JavaScript Object Notation">JSON</acronym></li>
<li>A server-side script that can respond to the <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> request, in our case ColdFusion</li>
</ol>
<h3>Demo</h3>
<p>The demo below will show how to interact with a simple ColdFusion script, but I&#8217;ll also provide <a href="/examples/autocomplete/mootools/" title="More examples">more (advanced) examples</a> in the <a href="/examples/autocomplete/mootools/autocomplete.zip" title="Download the files">download</a>.</p>
<h3>How It Works</h3>
<p>Once the user begins to type into the form text input field, the MooTools auto-complete is activated. After a set character length and time interval (both optional), a list of items is displayed below the input field. The user can select an item with either the arrow keys or mouse.</p>
<p>NB. Clicking back in the input field will repopulate the auto-complete list, if options are available, so that the user can change the selection. Deleting part of the chosen item will also trigger a new selection list.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>The Code</h3>
<p>There are three parts to this demo:</p>
<ol>
<li>The page’s HTML.</li>
<li>The server-side code to produce the dynamic page (i.e. to load the autocomplete <code>div</code> when the user types something into the input field).</li>
<li>The MooTools JavaScript.</li>
</ol>
<p><strong>HTML Form</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;h1&gt;Example: Country Lookup&lt;/h1&gt;
&lt;p&gt;Using &lt;abbr title=&quot;Asynchronous JavaScript and XML&quot;&gt;AJAX&lt;/abbr&gt; to interrogate the database.&lt;/p&gt;
&lt;p&gt;Example data: Australia, Bulgaria, United Kingdom&lt;/p&gt;
&lt;form name=&quot;frmAutoCompleteCountry&quot; id=&quot;frmAutoCompleteCountry&quot; action=&quot;#&quot; method=&quot;post&quot;&gt;
&lt;p&gt;
&lt;label for=&quot;country&quot;&gt;Country&lt;/label&gt;
&lt;input type=&quot;text&quot; name=&quot;country&quot; id=&quot;country&quot; /&gt;
&lt;/p&gt;
&lt;/form&gt;</pre></div></div>

<p><strong>ColdFusion</strong></p>
<p>Below is a simple ColdFusion component that takes a string as an argument. This string is part or all of the country name. The query results are parsed as an array and returned from the function, as <acronym title="JavaScript Object Notation">JSON</acronym>, to the MooTools auto-complete function.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #800000;">&lt;cfcomponent</span> <span style="color: #0000ff">output</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;false&quot;</span><span style="color: #800000;">&gt;</span></span>
&nbsp;
	<span style="color: #333333;"><span style="color: #800000;">&lt;cffunction</span> <span style="color: #0000ff;">name</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;getCountry&quot;</span> <span style="color: #0000ff">access</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;remote&quot;</span> <span style="color: #0000ff">output</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;false&quot;</span> <span style="color: #0000ff">returntype</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;array&quot;</span> returnf<span style="color: #0000ff;">or</span>mat<span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;json&quot;</span><span style="color: #800000;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #800000;">&lt;cfargument</span> <span style="color: #0000ff;">name</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;country&quot;</span> <span style="color: #0000ff;">type</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;string&quot;</span> <span style="color: #0000ff">required</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;true&quot;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
&nbsp;
		<span style="color: #333333;"><span style="color: #800000;">&lt;cfset</span> <span style="color: #0000ff;">var</span> qryCountry <span style="color: #0000ff">=</span> <span style="color: #800080;">queryNew</span><span style="color: #000000;">&#40;</span><span style="color: #009900;">'country'</span><span style="color: #000000;">&#41;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #800000;">&lt;cfset</span> <span style="color: #0000ff;">var</span> arrCountry <span style="color: #0000ff">=</span> <span style="color: #800080;">arrayNew</span><span style="color: #000000;">&#40;</span><span style="color: #ff0000;">1</span><span style="color: #000000;">&#41;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
&nbsp;
		<span style="color: #333333;"><span style="color: #800000;">&lt;cfquery</span> <span style="color: #0000ff;">name</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;qryCountry&quot;</span> <span style="color: #0000ff">datasource</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;test&quot;</span><span style="color: #800000;">&gt;</span></span>
		SELECT countryName
		FROM country
		WHERE countryName LIKE <span style="color: #333333;"><span style="color: #800000;">&lt;cfqueryparam</span> <span style="color: #0000ff;">value</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;%#ARGUMENTS.country#%&quot;</span> <span style="color: #0000ff">cfsqltype</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;cf_sql_varchar&quot;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #800000;">&lt;/cfquery&gt;</span></span>
&nbsp;
		<span style="color: #333333;"><span style="color: #800000;">&lt;cfloop</span> <span style="color: #0000ff">query</span><span style="color: #0000ff;">=</span><span style="color: #009900;">&quot;qryData&quot;</span><span style="color: #800000;">&gt;</span></span>
			<span style="color: #333333;"><span style="color: #800000;">&lt;cfset</span> arrCountry<span style="color: #000000;">&#91;</span>currentRow<span style="color: #000000;">&#93;</span> <span style="color: #0000ff">=</span> qryCountry.countryName<span style="color: #000000;">&#91;</span>currentRow<span style="color: #000000;">&#93;</span> <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
		<span style="color: #333333;"><span style="color: #800000;">&lt;/cfloop&gt;</span></span>
&nbsp;
		<span style="color: #333333;"><span style="color: #0000ff;">&lt;</span>cfreturn arrCountry <span style="color: #0000ff;">/</span><span style="color: #800000;">&gt;</span></span>
	<span style="color: #333333;"><span style="color: #800000;">&lt;/cffunction&gt;</span></span>
&nbsp;
<span style="color: #333333;"><span style="color: #800000;">&lt;/cfcomponent&gt;</span></span></pre></div></div>

<p><strong>JavaScript</strong></p>
<p>The JavaScript will attach itself after the <acronym title="Document Object Model">DOM</acronym> is ready &#8212; this more or less relates to when the page has loaded in the browser. Each time the text input field, with the ID of country, is changed, the <code>Autocompleter.Ajax.Json</code> event is fired. This makes a call to the ColdFusion component, which returns a <acronym title="JavaScript Object Notation">JSON</acronym> object of matched items. This <acronym title="JavaScript Object Notation">JSON</acronym> object is interpreted by the plugin and rendered as an <abbr title="Hyper-Text Markup Language">HTML</abbr> un-ordered list.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;script type=&quot;text/javascript&quot; src=&quot;mootools.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;Observer.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;Autocompleter.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;Autocompleter.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
window.addEvent('domready', function() {
	new Autocompleter.Ajax.Json(
		'country',
		'data/Country.cfc?method=getCountry&amp;returnformat=json&amp;country=' + $('country').getProperty('value')
		, {
			'minLength': 1, // We wait for at least one character
			'overflow': true // Overflow for more entries'
	});
});
&lt;/script&gt;</pre></div></div>

<h3>Where to Take it Next</h3>
<p><strong>Unobtrusive JavaScript</strong></p>
<p>As with any page that is loaded with JavaScript and <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> functionality, it should work without JavaScript.</p>
<p>To achieve this with the above tutorial, you will need to replace the MooTools autocomplete functionality with an ‘interim’ page that allows a user to select from a list of items, effectively turning the input field into a simple search interface. Of course, all other form field information would need to be retained between pages.</p>
<h3>Download the Code</h3>
<p>The <a href="/examples/autocomplete/mootools/autocomplete.zip" title="Download the example code">example code</a> can be downloaded from the demo page. Included are ColdFusion and PHP examples.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/using-the-mootools-autocompleter-plugin-with-coldfusion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning the Yahoo! User Interface Library &#8211; Book Review</title>
		<link>http://www.simonwhatley.co.uk/learning-the-yahoo-user-interface-library</link>
		<comments>http://www.simonwhatley.co.uk/learning-the-yahoo-user-interface-library#comments</comments>
		<pubDate>Tue, 10 Jun 2008 22:51:57 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Berkeley Software Distribution]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[BSD license]]></category>
		<category><![CDATA[cascading style sheets]]></category>
		<category><![CDATA[cross browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dan Wellman]]></category>
		<category><![CDATA[DHTML]]></category>
		<category><![CDATA[document object model]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[interactive web applications]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[king]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[pains]]></category>
		<category><![CDATA[Publications]]></category>
		<category><![CDATA[rich]]></category>
		<category><![CDATA[The Yahoo! User Interface Library]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[User Interface Library]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Yahoo]]></category>
		<category><![CDATA[Yahoo user interface]]></category>
		<category><![CDATA[YUI Library]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=580</guid>
		<description><![CDATA[The Yahoo! User Interface (YUI) Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML, and AJAX. The library sits comfortably amongst its peers, which, amongst many others, include Prototype, jQuery and Mootools. Arguably it can be said that the YUI library is the king among the JavaScript and CSS-libraries. With a vast number of well documented examples and near 100% compatibility amongst modern browsers, it would be difficult to find a comparable library.]]></description>
			<content:encoded><![CDATA[<p>by Dan Wellman</p>
<h3>Synopsis</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/05/learning-yahoo-user-interface-library.thumbnail.jpg' alt='Learning the Yahoo! User Interface Library book cover' style="margin-right:5px; float:left;" />The Yahoo! User Interface (<abbr title="Yahoo! User Interface">YUI</abbr>) Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as <abbr title="Document Object Model">DOM</abbr> scripting, <abbr title="Dynamic HyperText Markup Language">DHTML</abbr>, and <abbr title="Asynchronous JavaScript and XML">AJAX</abbr>. The <abbr title="Yahoo! User Interface">YUI</abbr> Library also includes several core <abbr title="Cascading Stylesheet">CSS</abbr> resources. All components in the <abbr title="Yahoo! User Interface">YUI</abbr> Library have been released as open source under a <a href="http://developer.yahoo.com/yui/license.html" title="BSD License" target="_blank" rel="nofollow">BSD License</a> and are free for all uses.</p>
<p>This book covers all released components whether utility, control, core file, or <abbr title="Cascading Stylesheet">CSS</abbr> tool. Methods of the YAHOO Global Object are used and discussed throughout the book. The basics of each control are presented, along with a detailed example showing its use to create complex, fully featured, cross-browser, <a href="http://en.wikipedia.org/Web_2" title="Web 2.0" target="_blank" rel="nofollow">Web 2.0</a> user interfaces.</p>
<p>Besides giving you a deep understand of the <abbr title="Yahoo! User Interface">YUI</abbr> library, this book aims to expand your knowledge of object-oriented JavaScript programming, as well as strengthen your understanding of the <abbr title="Document Object Model">DOM</abbr> and <abbr title="Cascading Stylesheet">CSS</abbr>.</p>
<p>The core aim is to teach you how to create a number of powerful JavaScript controls that can be used straight away in your own applications.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Download</h3>
<p><a href="http://developer.yahoo.com/yui/download/" title="Download the YUI Library" target="_blank" rel="nofollow">Download the latest YUI version</a>, including <a href="http://developer.yahoo.com/yui/docs/" title="YUI API Documentation" target="_blank" rel="nofollow">full API documentation</a> and more than <a href="http://developer.yahoo.com/yui/examples/" title="YUI Examples" target="_blank" rel="nofollow">250 functional examples</a> from Sourceforge.</p>
<p>The library&#8217;s developers blog frequently at the <a href="http://yuiblog.com/" title="YUI Blog" target="_blank" rel="nofollow">YUI Blog</a> and the <abbr title="Yahoo User Interface">YUI</abbr> Library community exchanges ideas at <a href="http://groups.yahoo.com/group/ydn-javascript" title="YDN-JavaScript on Yahoo! Groups" target="_blank" rel="nofollow">YDN-JavaScript on Yahoo! Groups</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Book Review</h3>
<p>The Yahoo! User Interface Library sits comfortably amongst its peers, which, along with many others, include Prototype, jQuery and Mootools. Arguably it can be said that the <abbr title="Yahoo! User Interface">YUI</abbr> library is the king among the JavaScript and <abbr title="Cascading Stylesheet">CSS</abbr>-libraries. With a vast number of well documented examples and near 100% compatibility amongst modern browsers, it would be difficult to find a comparable library.</p>
<p>It is one thing to be a well documented library, but it is another to know how to use the libraries to construct a user interface. This is the niche Dan Wellman fills with his book. Although not necessarily for the beginner, since you need a knowledge of <abbr title="Cascading Stylesheet">CSS</abbr>, JavaScript and a little <abbr title="Asynchronous JavaScript and XML">AJAX</abbr>, Wellman does a good job of explaining the concepts, especially <abbr title="Asynchronous JavaScript and XML">AJAX</abbr>, from scratch.</p>
<p>Wellman provides an A-to-Z of the library and assumes, rightly, that the reader has little or no knowledge of the library. To that effect, he does a long introduction of the <abbr title="Yahoo! User Interface">YUI</abbr>, following an overall review of its components, listing them in the first chapter. He then picks up a selection of some of the most established utilities, for example navigation, animation and <abbr title="Asynchronous JavaScript and XML">AJAX</abbr> utilities and in the following chapters he covers one or two examples for each of them.</p>
<p>Importantly, the book teaches the reader how to not only use the DOM manipulation and event handling aspects of the library, but also the <abbr title="Cascading Stylesheet">CSS</abbr> tools of the library.</p>
<p>Wellman does a good job of introducing the technical aspects at the beginning of each chapter, but not dwelling too long before moving on to real usage and methods.</p>
<p>What I would have liked to have seen is more interaction between different components written about in the book. Clearly building a fully-featured application that incorporates most or all of the key components would be unweildy, but individual and isolated examples doesn&#8217;t equate real-world scenarios either. For example, it is quite conceivable that autocomplete and drag-and-drop components would be utilised on the same page; it would have been good if Wellman had explained the pains or pitfalls that may be encountered with such combinations. The negativity aside, the examples are of a good quality.</p>
<p>The book does contain a number of errors, but since this is the first edition you can probably forgive the editors from missing them.</p>
<p>A major gripe I have with this book, indeed all technical books is the lack of colour throughout. It is far easier to read and understand the example code when code colouring is employed, allowing for easier understanding of the key elements in the code. Surely modern publishing techniques can mitigate against the extra cost of colour. Indeed, I would pay more for a well-written coloured technical book.</p>
<p>A great summary chapter on graceful degredation versus progressive enhancement would also have been welcomed, since many developers may not consider the usability and accessibility issues of using JavaScript.</p>
<p>This book is certainly a good read for anyone who has basic knowledge of JavaScript, <abbr title="HyperText Markup Language">HTML</abbr> and <abbr title="Cascading Stylesheet">CSS</abbr> and who wants to learn how to apply the YUI library in their projects, making them more interactive for the user.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/learning-the-yahoo-user-interface-library/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 1.2 API Reference</title>
		<link>http://www.simonwhatley.co.uk/jquery-12-api-reference</link>
		<comments>http://www.simonwhatley.co.uk/jquery-12-api-reference#comments</comments>
		<pubDate>Wed, 09 Apr 2008 10:55:25 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[lightweight applications]]></category>
		<category><![CDATA[reference]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=419</guid>
		<description><![CDATA[Among the plethora of JavaScript libraries to have been released, few have been recognised to be as effective as jQuery. This lightweight library has been the subject of different discussions since it was launched in 2006. Basically, jQuery has the ability to flawlessly string together JavaScript together with HTML. Because of its effectiveness, there have different types of lightweight applications and plug-ins launched using jQuery. Ajax based websites that offers simple interface would virtually work together using jQuery's simple interface.]]></description>
			<content:encoded><![CDATA[<p>Among the plethora of JavaScript libraries to have been released, few have been recognised to be as effective as <a href="http://jquery.com/" title="jQuery" target="_blank" rel="nofollow">jQuery</a>. This lightweight library has been the subject of different discussions since it was launched in 2006. Basically, jQuery has the ability to flawlessly string together JavaScript together with <acronym title="HyperText Markup Language">HTML</acronym>. Because of its effectiveness, there have different types of lightweight applications and plug-ins launched using jQuery. Ajax based websites that offers simple interface would virtually work together using jQuery&#8217;s simple interface.</p>
<p>Download the <a href='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/02/jquery12_api_reference.png' title='jQuery 1.2 API Reference'>jQuery 1.2 API Reference</a> (360KB).</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>More information can be found on the <a href="http://jquery.com/" title="jQuery" target="_blank" rel="nofollow">jQuery Website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/jquery-12-api-reference/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Than Just Hot AIR &#8211; Single Site Browsers</title>
		<link>http://www.simonwhatley.co.uk/more-than-just-hot-air-single-site-browsers</link>
		<comments>http://www.simonwhatley.co.uk/more-than-just-hot-air-single-site-browsers#comments</comments>
		<pubDate>Wed, 09 Apr 2008 09:11:13 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[3D graphics]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Integrated Runtime]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Alex Graveley]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[auto-software updates]]></category>
		<category><![CDATA[Bubbles]]></category>
		<category><![CDATA[Chris Toshok]]></category>
		<category><![CDATA[clever little tools]]></category>
		<category><![CDATA[control device]]></category>
		<category><![CDATA[default web browser]]></category>
		<category><![CDATA[desktop applications]]></category>
		<category><![CDATA[desktop computing]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flash player for development]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[graphics hardware]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Mozilla Prism]]></category>
		<category><![CDATA[operating system]]></category>
		<category><![CDATA[Pyro]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[single site browsers]]></category>
		<category><![CDATA[site-specific applications]]></category>
		<category><![CDATA[SSB]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web Browser]]></category>
		<category><![CDATA[Web browsers]]></category>
		<category><![CDATA[web browsing activity]]></category>
		<category><![CDATA[web resource]]></category>
		<category><![CDATA[web resources]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=510</guid>
		<description><![CDATA[Adobe Integrated Runtime is more than just hot air, it traverses the previously unexplored space that exists between the Web and desktop applications.

Up until very recently, the void between the Web and the desktop seemed like a schism that could not be crossed. But since AIR's 1.0 release in February this year, a whole host of other applications are emerging to compete with AIR in the single site browser space.]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/adobe_air_logo.thumbnail.png' alt='Adobe AIR Logo' style="float:left; margin-right:5px;" />Adobe Integrated Runtime is more than just hot air, it traverses the previously unexplored space that exists between the Web and desktop applications.</p>
<p>Up until very recently, the void between the Web and the desktop seemed like a schism that could not be crossed. But since <acronym title="Adobe Integrated Runtime">AIR</acronym>&#8216;s 1.0 release in February this year, a whole host of other applications are emerging to compete with <acronym title="Adobe Integrated Runtime">AIR</acronym> in the single site browser space.</p>
<p>Although <acronym title="Adobe Integrated Runtime">AIR</acronym> is very new, the product is remarkably mature with the integration of the excellent opensource <a href="http://webkit.org" title="WebKit" target="_blank" rel="nofollow">WebKit</a> browser engine for rendering <acronym title="HyperText Markup Language">HTML</acronym> and JavaScript, the <a href="http://www.sqlite.org" title="SQLite" target="_blank" rel="nofollow">SQLite</a> database engine for embedded database functionality and of course, Adobe&#8217;s Flash player for development of Flash-based Rich Internet Applications. Because of this flexibility, the learning curve faced by developers is almost non-existent, they simply have to get to grips with the <acronym title="Adobe Integrated Runtime">AIR</acronym> <acronym title="Application Programming Interface">API</acronym>.</p>
<h3>What is all the fuss about?</h3>
<p>Delving into the <acronym title="Adobe Integrated Runtime">AIR</acronym> <acronym title="Application Programming Interface">API</acronym>, your application will have the ability to detect whether it is currently the active window or connected to the network. You can access the file system, allowing you to read and write files, access other datasources, tap into the native menu options or interact with almost any aspect of the operating system in a way familiar to common desktop applications. This functionality is available regardless of the architecture on which it is installed. Therefore <acronym title="Adobe Integrated Runtime">AIR</acronym> applications will work similarly when installed on a Windows <acronym title="Personal Computer">PC</acronym> or Mac, and soon on Linux machines as well.</p>
<blockquote><p>AIR is much, much more than a single-site browser &#8212; it&#8217;s a cross-platform runtime environment and the distinction is significant.</p></blockquote>
<p>The ability to run applications built on <acronym title="Adobe Integrated Runtime">AIR</acronym> on almost any machine, on- and offline, sets it apart from any other offering currently out there or in development. For example, <a href="http://gears.google.com" title="Google Gears" target="_blank" rel="nofollow">Google Gears</a> is restricted to <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> applications, whilst Mozilla Prism isn&#8217;t much more advanced than a cut-down version of Firefox, with no offline capabilities yet.</p>
<h3>Who else has entered the race?</h3>
<p>As mentioned, a significant entry is Mozilla&#8217;s <a href="http://labs.mozilla.com/projects/prism/" title="Mozilla Prism" target="_blank" rel="nofollow">Prism</a>, however, <a href="http://www.karppinen.fi/pyro/" title="Pyro" target="_blank" rel="nofollow">Pyro</a> for Linux and <a href="http://www.3d3r.com/bubbles/" title="3D3R Bubbles" target="_blank" rel="nofollow">Bubbles</a> and <a href="http://fluidapp.com/" title="Fluid App" target="_blank" rel="nofollow">Fluid</a> for Mac are clever little tools for packaging up an existing website and presenting it as a standalone desktop application.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Mozilla Prism</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/mozilla-prism-logo.thumbnail.png' alt='Mozilla Prism Logo' style="float:left; margin-right:5px;" />Prism, previously known as WebRunner is a product in development which integrates web applications with the desktop, allowing web applications to be launched from the desktop and configured independently of the default web browser. It is commonly used with Google <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> Applications, such as Gmail and Google Docs.</p>
<p>Prism is part of an experiment by Mozilla designed to &#8220;bridge the divide in the user experience between web applications and desktop applications&#8221;. Essentially, Prism will allow you to create a desktop-like application out of individual websites. These site-specific applications are a growing trend and a trend heavily marketed by, not only Adobe, but now Mozilla, as &#8216;the future&#8217;.</p>
<blockquote><p>
While traditionally users have interacted mostly with desktop applications, more and more of them are using Web applications. But the latter often fit awkwardly into the document-centric interface of Web browsers.</p></blockquote>
<p>In its current form, Prism doesn&#8217;t have the ability to function as a desktop application without access to the Internet, but Mozilla says it is &#8220;working to increase the capabilities of those apps by adding functionality to the Web itself, such as providing support for offline data storage and access to <abbr title="3 Dimensional">3D</abbr> graphics hardware.&#8221;</p>
<p>More details can be found on the <a href="http://labs.mozilla.com/projects/prism/" title="Mozilla Prism" target="_blank" rel="nofollow">Mozilla Prism website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Pyro Desktop</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/pyro-logo.thumbnail.png' alt='Pyro Logo' style="float:left; margin-right:5px;" />Pyro Desktop is a new type of desktop environment for Linux built on Mozilla Firefox. Its goal is to enable true integration between the Web and modern desktop computing. Pyro was announced during <acronym title="GNOME Users' And Developers' European Conference">GUADEC</acronym> 2007 and is developed by Alex Graveley and Chris Toshok.</p>
<p>More details can be found on the <a href="http://www.karppinen.fi/pyro/" title="Pyro" target="_blank" rel="nofollow">Pyro Desktop website</a>.</p>
<h3>3D3R Bubbles</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/bubbles-logo.thumbnail.gif' alt='Bubbles Logo' style="float:left; margin-right:5px;" />Bubbles is a desktop application that allows you to work with your web resources in the way you want to work with them.</p>
<p>The Bubbles application window, known simply as a Bubble carries the web resource almost like a web browser does. Since the Bubble has advanced browser capabilities there&#8217;s an advanced control device for it &#8212; the Bubble seed &#8212; an <acronym title="eXensible Markup Language">XML</acronym> file called Smart Bubble. It defines the properties â€” the whats &#038; the hows â€” of its Bubble window. The Smart Bubble contains the information about what Bubble will load, how it will look on the desktop and what capabilities it will have, etc. So it goes from the Smart Bubble into a grown Bubble that lives on your desktop, accessible from the system tray.</p>
<p>More details can be found on the <a href="http://www.3d3r.com/bubbles/" title="3D3R Bubbles" target="_blank" rel="nofollow">3D3R Bubbles website</a>.</p>
<h3>Fluid App</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/fluid-logo.thumbnail.png' alt='Fluid Logo' style="float:left; margin-right:5px;" />Fluid is a way to create Site-Specific Browsers <acronym title="Site-Specific Browsers">SSB</acronym>s to run each of your favorite WebApps as a separate desktop application. Fluid gives any WebApp a home on your Mac OS X desktop complete with Dock icon, standard menu bar, logical separation from your other web browsing activity, and many other goodies.</p>
<p>Fluid includes optional Tabbed Browsing, built-in Userscripting (aka <a href="https://addons.mozilla.org/en-US/firefox/addon/748" title="GreaseMonkey" target="_blank" rel="nofollow">Greasemonkey</a>/<a href="http://8-p.info/greasekit/" title="GreaseKit" target="_blank" rel="nofollow">GreaseKit</a>), RSS/Atom Feed detection, a JavaScript <acronym title="Application Programming Interface">API</acronym> for setting dock badges, showing <a href="http://growl.info/" title="Growl" target="_blank" rel="nofollow">Growl</a> notifications and adding Dock Menu Items, optional bookmarks, optional browsing to urls outside the <acronym title="Site-Specific Browsers">SSB</acronym> &#8220;home&#8221; domain, Dock badges and Dock menus for Gmail, Google Reader, Facebook, Flickr, and Yahoo! Mail, auto-software updates via the <a href="http://sparkle.andymatuschak.org/" title="Sparkle Update Framework" target="_blank" rel="nofollow">Sparkle Update framework</a>, and custom <acronym title="Site-Specific Browsers">SSB</acronym> icons.</p>
<p>More details can be found on the <a href="http://fluidapp.com/" title="Fluid App" target="_blank" rel="nofollow">Fluid App website</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/more-than-just-hot-air-single-site-browsers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript 3 RIA Reference Guide</title>
		<link>http://www.simonwhatley.co.uk/actionscript-3-ria-reference-guide</link>
		<comments>http://www.simonwhatley.co.uk/actionscript-3-ria-reference-guide#comments</comments>
		<pubDate>Mon, 07 Apr 2008 08:46:21 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Flash Player]]></category>
		<category><![CDATA[Adobe Integrated Runtime]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Internet application development]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[runtime]]></category>
		<category><![CDATA[the Flash Player]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=484</guid>
		<description><![CDATA[The ActionScript reference for rich Internet application development provides an alphabetical reference for all native ActionScript APIs for the Adobe technology platform runtimes: Adobe Flash Player and Adobe AIRâ€”as well as the Adobe Flex framework APIs. Use this guide both as an API reference and a tool to learn about the ActionScript APIs available within the runtimes.]]></description>
			<content:encoded><![CDATA[<p>The ActionScript reference for rich Internet application development provides an alphabetical reference for all native ActionScript <acronym title="Application Programming Interface">API</acronym>s for the Adobe technology platform runtimes: Adobe Flash Player and Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym>â€”as well as the Adobe Flex framework <acronym title="Application Programming Interface">API</acronym>s. Use this guide both as an <acronym title="Application Programming Interface">API</acronym> reference and a tool to learn about the ActionScript <acronym title="Application Programming Interface">API</acronym>s available within the runtimes.</p>
<p>Download the <a href='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/04/actionscript_ria_guide.pdf' title='ActionScript reference for RIA development'>ActionScript reference for RIA development</a> (PDF 1.3MB)</p>
<p>The Adobe technology platform contains two primary runtimes. Flash Player is browser-based, and Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym> is desktop-based. Because Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym> is built on top of Flash Player, the Flash Player <acronym title="Application Programming Interface">API</acronym>s are available within Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym>. Consequently, Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym> <acronym title="Application Programming Interface">API</acronym>s are not available within Flash Player. The Flex framework is built on top of the Flash Player <acronym title="Application Programming Interface">API</acronym>s, so it runs in both Flash Player and Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym>. However, a number of Flex <acronym title="Application Programming Interface">API</acronym>s take advantage of <acronym title="Adobe Integrated Runtime">AIR</acronym> <acronym title="Application Programming Interface">API</acronym>s, and thus work only within Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>More information about this guide can be found on the <a href="http://www.adobe.com/devnet/actionscript/articles/atp_ria_guide.html" title="Adobe Developer Centre Website" target="_blank" rel="nofollow">Adobe Developer Centre Website</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/actionscript-3-ria-reference-guide/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Standards: Break Down Those Walls</title>
		<link>http://www.simonwhatley.co.uk/open-standards-break-down-those-walls</link>
		<comments>http://www.simonwhatley.co.uk/open-standards-break-down-those-walls#comments</comments>
		<pubDate>Mon, 24 Mar 2008 09:26:31 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[1994]]></category>
		<category><![CDATA[American Department of Defence]]></category>
		<category><![CDATA[AOL]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Bebo]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[chatrooms]]></category>
		<category><![CDATA[CompuServe]]></category>
		<category><![CDATA[Department of Defence]]></category>
		<category><![CDATA[discussion boards]]></category>
		<category><![CDATA[DoD]]></category>
		<category><![CDATA[early web]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Entropia Universe]]></category>
		<category><![CDATA[europe]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[MySpace]]></category>
		<category><![CDATA[obscure computer network]]></category>
		<category><![CDATA[online community]]></category>
		<category><![CDATA[online phenomena]]></category>
		<category><![CDATA[online services providers]]></category>
		<category><![CDATA[Open Social]]></category>
		<category><![CDATA[Second Life]]></category>
		<category><![CDATA[social applications]]></category>
		<category><![CDATA[Social Networking]]></category>
		<category><![CDATA[social-networking websites]]></category>
		<category><![CDATA[ubiquitous tool]]></category>
		<category><![CDATA[walled gardens]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web content]]></category>
		<category><![CDATA[Web Portal]]></category>
		<category><![CDATA[Web Standards]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=485</guid>
		<description><![CDATA[On the Web, a walled garden is an environment that controls the user's access to Web content and services. In effect, the walled garden directs the user's navigation within particular areas, to allow access to a selection of material, or prevent access to other material.]]></description>
			<content:encoded><![CDATA[<p>On the Web, a walled garden is an environment that controls the user&#8217;s access to Web content and services. In effect, the walled garden directs the user&#8217;s navigation within particular areas, to allow access to a selection of material, or prevent access to other material.</p>
<h2>Recent history suggests that open standards will again better the &#8220;walled gardens&#8221; of the Web.</h2>
<p>In 1994, when the previously obscure computer network, developed by the American Department of Defence, first become known to the general public as the &#8220;World Wide Web&#8221;, or simply The Web, many people first connected to it via <a href="http://www.aol.com" title="America Online" target="_blank" rel="nofollow">AOL</a> and <a href="http://webcenters.netscape.compuserve.com/menu/default.jsp" title="CompuServe" target="_blank" rel="nofollow">CompuServe</a>. These subscription-based service providers offered not only access to the Internet, but other services such as email, chatrooms, discussion boards and more. It was access to the Web via the Internet that would lead to the undermining of these services, and the opening up of the Web as a platform for individual and creative expression, revenue generation and social interactivity.</p>
<p>Whilst it took some time for the closed communities to venture out into the wilds of the Web, it brought about the standardisation of the services that made up the early web. For instance, <acronym title="Post Office Protocol">POP</acronym> and <acronym title="Simple Mail Transfer Protocol">SMTP</acronym> standardised email and as a result it has become the ubiquitous tool of business. Today, of the early pioneers of the Web, only <acronym title="America Online">AOL</acronym> survives, but as an entirely different entity; a web portal supported by advertising.</p>
<p>History appears to be repeating itself. The biggest online phenomena of the past couple of years, the social-networking websites of <a href="http://www.facebook.com" title="Facebook" target="_blank" rel="nofollow">Facebook</a> and <a href="http://www.myspace.com" title="mySpace" target="_blank" rel="nofollow">MySpace</a>, are acting very much like the <acronym title="America Online">AOL</acronym> of the mid-1990s. They are closed systems based upon prioprietory standards. You cannot easily move information from one system or another if you so choose. This ties users into one system, or forces them to create profiles on both. A similar comparison can be drawn with the virtual worlds of <a href="http://secondlife.com" title="Second Life" target="_blank" rel="nofollow">Second Life</a> and <a href="http://www.entropiauniverse.com" title="Entropia Universe" target="_blank" rel="nofollow">Entropia Universe</a>.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h2>The Web is better when it&#8217;s social.</h2>
<p>Part of the reason these websites are popular is because they are closed communities, where users can interact with friends and find new friends with which to interact. This community feel has been tested in recent times, with sites such as Facebook being criticised for using their user&#8217;s personal data to target advertising. It is innevitable, however, that these systems are proprietory; it is only once these systems immerge and become popular that standards can be developed and implemented.</p>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/open_social_api.jpg' alt='Open Social API' /></p>
<p>Just as the Web&#8217;s open standards, embodied in the Netscape browser, displaced the online services providers, so the paradigm of open standards awaits the social networking and virtual worlds. Back in the 1990s it was Netscape, but in the 21st Century it falls to Google to defend the open standards of the Web with the Open Social <acronym title="Application Programming Interfaces">API</acronym>. Some say there is a large amount of self interest in this move, since Facebook and MySpace have huge communities, which both networks know a huge amount more about than Google and can hence generate billions of dollars of revenue.</p>
<p>The web is more interesting when you can build applications that easily interact with your friends and colleagues. But with the trend towards more social applications also comes a growing list of site-specific <acronym title="Application Programming Interfaces">API</acronym>s that developers must learn. <a href="http://code.google.com/apis/opensocial/" title="Open Social API" target="_blank" rel="nofollow">Open Social</a> is an attempt not only to open up the closed communities and allow developers to interact with the different networks, but allow developers to only learn one <acronym title="Application Programming Interfaces">API</acronym>. MySpace has signed up to this initiative and, more reluctantly so has Facebook. A curiosity is <acronym title="America Online">AOL</acronym>s recent aquisition of Bebo, another online community popular in Europe. Is <acronym title="America Online">AOL</acronym> simply jumping on the &#8220;band-wagon&#8221;? Has it learnt its lessons of the past, or is it using knowledge of its past as a guiding principle? Whatever is the answer, Bebo&#8217;s inclusion in Open Social will help it continue its competition with other social networking websites.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/open-standards-break-down-those-walls/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great Adobe AIR Applications to Check Out</title>
		<link>http://www.simonwhatley.co.uk/great-adobe-air-applications-to-check-out</link>
		<comments>http://www.simonwhatley.co.uk/great-adobe-air-applications-to-check-out#comments</comments>
		<pubDate>Wed, 19 Mar 2008 09:43:25 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe Integrated Runtime]]></category>
		<category><![CDATA[Adobe Labs]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Asynchronous JavaScript and XML]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[Benjamin Dobler]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[collaboration tool]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[Desktop]]></category>
		<category><![CDATA[desktop applications]]></category>
		<category><![CDATA[ebay]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML & XHTML]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[internet-ready]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Kuler]]></category>
		<category><![CDATA[less developer-centric tools]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Marco Kaiser]]></category>
		<category><![CDATA[Microsoft Vista]]></category>
		<category><![CDATA[Nicolas Lierman]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[Picnik image editor]]></category>
		<category><![CDATA[RichFLV]]></category>
		<category><![CDATA[Runtime ( AIR )]]></category>
		<category><![CDATA[SearchCoders]]></category>
		<category><![CDATA[social-interaction tool]]></category>
		<category><![CDATA[Tweetr]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web Browser]]></category>
		<category><![CDATA[web screenshot tool]]></category>
		<category><![CDATA[web skills]]></category>
		<category><![CDATA[Web technologies]]></category>
		<category><![CDATA[web-based suite]]></category>
		<category><![CDATA[web-hosted application]]></category>
		<category><![CDATA[WebKut]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=472</guid>
		<description><![CDATA[Since the Adobe Integrated Runtime (AIR) was released at the end of February, we now have a stable platform on which to build desktop applications with our existing web skills. A number of people have already started and the Adobe AIR Marketplace is filling with AIR applications by the day.

So what is the big deal?]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/adobe_air_logo.thumbnail.png' alt='Adobe AIR Logo' style="margin-right:5px; float:left;" />Since the Adobe Integrated Runtime (<acronym title="Adobe Integrated Runtime">AIR</acronym>) was released at the end of February, we now have a stable platform on which to build desktop applications with our existing web skills. A number of people have already started and the <a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=productHome&#038;exc=24&#038;loc=en_us" title="Adobe AIR Marketplace" target="_blank" rel="nofollow">Adobe AIR Marketplace</a> is filling with <acronym title="Adobe Integrated Runtime">AIR</acronym> applications by the day.</p>
<p>So what is the big deal? The Adobe marketing team state that:</p>
<blockquote><p>The Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym> runtime lets developers use proven web technologies to build rich Internet applications that deploy to the desktop and run across operating systems. Adobe AIR offers an exciting new way to engage customers with innovative, branded desktop applications, without requiring changes to existing technology, people, or processes.</p></blockquote>
<p>What <acronym title="Adobe Integrated Runtime">AIR</acronym> applications should you check out?</p>
<p>What is intriguing is that all the tools I have chosen are generally useful tools for the developer or designer, with the exception of twhirl, which is a social-interaction tool. I&#8217;m looking forward to when other, less developer-centric tools become freely available. <a href="http://www.agileagenda.com" title="AgileAgenda" target="_blank" rel="nofollow">AgileAgenda</a> has taken the lead with this respect, albeit not freely available, as has <a href="http://desktop.ebay.com" title="eBay Desktop" target="_blank" rel="nofollow">eBay desktop</a>, but I would like to see examples from the <acronym title="British Broadcasting Corporation">BBC</acronym> in the form of a desktop <a href="http://www.bbc.co.uk/iplayer/" title="BBC iPlayer" target="_blank" rel="nofollow">BBC iPlayer</a> or maybe a Flickr image browser, del.icio.us bookmark reader, <acronym title="Really Simple Syndication">RSS</acronym> aggregator and a <a href="http://www.picnik.com" title="Picnik" target="_blank" rel="nofollow">Picnik</a> image editor.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Analytics Reporting Suite</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/google_analytics_logo.thumbnail.gif' alt='Google Analytics Reporting Suite' style="margin-right:5px; float:left;" />The Analytics Reporting Suite, by Nicolas Lierman, brings <a href="http://www.google.com/analytics" title="Google Analytics" target="_blank" rel="nofollow">Google Analytics</a> to the desktop. It uses it&#8217;s own custom <acronym title="Application Programming Interface">API</acronym> to interact with Google and nearly implements all the features of Analytics.</p>
<p>For website owners this is a must-have application. Like the twhirl <acronym title="Adobe Integrated Runtime">AIR</acronym> application below, it is a fantastic example of what can be achieved with Flex and <acronym title="Adobe Integrated Runtime">AIR</acronym>. Measuring visitor trends and traffic are essential tasks to managing and improving a websites performance. The Analytics Reporting Suite allows you to configure multiple Google&#8217;s Analytics accounts and access the web-based suite&#8217;s plethora of features via a desktop application. The application displays integrated graphs and animations via a tabbed interface, which allows you switch between a number of reports. These reports can then be saved as a <acronym title="Portable Document Format">PDF</acronym>, Excel or <acronym title="eXtensible Markup Language">XML</acronym>document, or printed.</p>
<p>You can <a href="http://www.aboutnico.be/index.php/downloads/" title="Google Analytics Reporting Suite" target="_blank" rel="nofollow" class="snap_noshots">download and install</a> the application from the About Nico website.</p>
<h3>twhirl twitter Client</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/twhirl_logo.thumbnail.jpg' alt='Twhirl Logo' style="margin-right:5px; float:left;" />twhirl, by Marco Kaiser, is probably the most popular desktop client for the <a href="http://twitter.com" title="twitter microblogging" target="_blank" rel="nofollow">twitter</a> micro-blogging service. Most of the features available on the twitter website are accessible through twhirl, plus, a lot of usability enhancements have been added to make it easier to manage multiple accounts. This is great for those who want to separate business and personal accounts they may have.</p>
<p>The twhirl application is a great example of how <acronym title="Adobe Integrated Runtime">AIR</acronym> can bring web applications to the desktop; it can dock to the system tray, display message alerts and you can configure the applications opacity when not focused (great if you like Mac and Vista-styled themes). The application allows you to search twitter users, view their timelines, add friends, view followers, delete tweets and much much more. Twhirl automatically fetches your friends&#8217; status updates, direct messages and replies, whilst also colour coding different types of messages and alerting you to messages both audibly and visually.</p>
<p>The twhirl application is skinnable and comes with several built in skins with which you can customise the application. All-in-all twhirl is not only one of the best twitter clients, but <acronym title="Adobe Integrated Runtime">AIR</acronym> applications.</p>
<p>You can <a href="http://www.twhirl.org/project/twhirl" title="twhirl twitter client" target="_blank" rel="nofollow" class="snap_noshots">download and install</a> the application from the twhirl website.</p>
<h3>Kuler Desktop</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/kuler_logo.png' alt='Adobe Kuler Logo' style="margin-right:5px; float:left;" />Adobe kuler is the first web-hosted application from Adobe Labs designed both to stand alone and to complement <a href="http://www.adobe.com/products/creativesuite/" title="Adobe Creative Suite 3" target="_blank" rel="nofollow">Adobe Creative Suite</a> software. Built using <a href="http://www.adobe.com/products/flash/" title="Adobe Flash" target="_blank" rel="nofollow">Adobe Flash</a> and ActionScript 3.0, kuler is all about colour: colour for exploration, inspiration, experimentation and sharing. Kuler is clearly targeted at the designer, but anyone interested in colour will benefit from its use.</p>
<p>You can <a href="http://kuler.adobe.com" title="Kuler Desktop" target="_blank" rel="nofollow" class="snap_noshots">download and install</a> the application from the Adobe Labs website.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>WebKut</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/webkut_logo.png' alt='WebKut Logo' style="margin-right:5px; float:left;" />WebKut is a web screenshot tool that allows you to capture web pages, or parts of them in a very simple way. It provides you with 3 capture options: the entire page, the current view, or only a selection. This little application proves particularly handy for those presentations or projects that need great visuals from the web.</p>
<p>You can <a href="http://toki-woki.net/p/WebKut/" title="WebKut" target="_blank" rel="nofollow" class="snap_noshots">download and install</a> the application from the WebKut website.</p>
<h3>RichFLV</h3>
<p>RichFLV, by Benjamin Dobler, lets you edit <acronym title="Flash Video">FLV</acronym> files. The key features include reading <acronym title="Flash Video">FLV</acronym> metadata, read and edit cuepoints, cut <acronym title="Flash Video">FLV</acronym> files, convert the sound from an <acronym title="Flash Video">FLV</acronym> to <acronym title="MPEG-1 Audio Layer 3">MP3</acronym> format, convert an <acronym title="Flash Video">FLV</acronym> to an <acronym title="Shockwave Flash">SWF</acronym> &#8230; and much more.</p>
<p>You can <a href="http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&#038;loc=en_us&#038;extid=1355018" title="RichFLV" target="_blank" rel="nofollow" class="snap_noshots">download and install</a> the application from the Adobe <acronym title="Adobe Integrated Runtime">AIR</acronym> Marketplace website.</p>
<h3>SearchCoders Dashboard</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/searchcoders_logo.thumbnail.png' alt='SearchCoders Logo' style="margin-right:5px; float:left;" />This Flex-based chat widget is designed with programmers in mind. The code input feature allows developers to chat about code without disrupting the conversation.</p>
<p>You can <a href="http://www.searchcoders.com/" title="SearchCoders" target="_blank" rel="nofollow" class="snap_noshots">download and install</a> the application from the SearchCoders website.</p>
<h3>Pownce</h3>
<p><img src='http://www.simonwhatley.co.uk/blog/wp-content/uploads/2008/03/pownce_logo.thumbnail.png' alt='Pownce Logo' style="margin-right:5px; float:left;" />Much like twhirl in look, feel and ease-of-use, but with a slant towards productivity rather than micro-blogging, Pownce is a way to keep in touch and share things with your friends or colleagues.  You can send people files, links, events, and messages and then have real conversations with the recipients. This is a great collaboration tool and was one of the first services to really embrace <acronym title="Adobe Integrated Runtime">AIR</acronym> as an application architecture, which could realise their service as a desktop client. Everything that is available via the Pownce website is also available via the client application, except and possibly importantly, the ability for the user to amend their account settings and add friends to your network; this still has to be done via the website.</p>
<p>For a small annual amount, Pownce offers a paid-for service which will eliminate adverts from your profile and allow you to send huge file sizes (100<acronym title="MegaByte">MB</acronym>) and customise the theme of your Pownce.</p>
<p>Pownce also offers Drupal integration and a mobile application, which works with the iPhone, BlackBerries and many more &#8216;internet-ready&#8217; mobile devices.</p>
<p>You can <a href="http://pownce.com/" title="Pownce" target="_blank" rel="nofollow" class="snap_noshots">download and install</a> the application from the Pownce website.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/great-adobe-air-applications-to-check-out/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

