<?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>360innovate Blog &#187; Web Development Articles</title>
	<atom:link href="http://www.360innovate.co.uk/blog/category/design-and-usability/web-development-articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.360innovate.co.uk/blog</link>
	<description></description>
	<lastBuildDate>Thu, 09 Feb 2012 16:02:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Dojo drop down menus</title>
		<link>http://www.360innovate.co.uk/blog/2011/08/dojo-drop-down-menus/</link>
		<comments>http://www.360innovate.co.uk/blog/2011/08/dojo-drop-down-menus/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 07:20:26 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[open-source]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=2814</guid>
		<description><![CDATA[We&#8217;re happy to announce the release of BigMenu 1.1, an open source drop down menu system for Dojo. BigMenu allows you to display a large amount of hierarchical information, without overwhelming the user. BigMenu has the following features, among others: Options available for animation time, easing, and delay on hide / show Support for declarative [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2011%2F08%2Fdojo-drop-down-menus%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2011%2F08%2Fdojo-drop-down-menus%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>We&#8217;re happy to announce the release of BigMenu 1.1, an open source drop down menu system for Dojo.</p>
<p>BigMenu allows you to display a large amount of hierarchical information, without overwhelming the user.</p>
<p>BigMenu has the following features, among others:</p>
<ul>
<li>Options available for animation time, easing, and delay on hide / show</li>
<li>Support for declarative or programmatic syntax</li>
<li>Keyboard and screen reader accessible &#8211; uses plain old semantic HTML</li>
</ul>
<div>You can see the <a href="http://media.360innovate.co.uk/demos/bigmenu/">demo</a>, or <a href="https://github.com/johnmcc/BigMenu">download the source from Github</a>. As always,improvements, forks and pull requests are welcome!</div>
<div>(Created by <a href="http://twitter.com/johnmcc">@johnmcc</a> and <a href="http://twitter.com/todd_unctious">@todd_unctious</a>)</div>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2011/08/dojo-drop-down-menus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting the foundations right</title>
		<link>http://www.360innovate.co.uk/blog/2011/01/getting-the-foundations-right/</link>
		<comments>http://www.360innovate.co.uk/blog/2011/01/getting-the-foundations-right/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 08:45:42 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Design and Usability]]></category>
		<category><![CDATA[Web Development Articles]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=2318</guid>
		<description><![CDATA[At 360innovate, we speak to a wide variety of clients looking for developments of all sizes &#8211; big and small. If your organisation is looking for a highly functional web site, it is critically important to get the foundations right &#8211; to plan the project and put together appropriate documentation before a single line of [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2011%2F01%2Fgetting-the-foundations-right%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2011%2F01%2Fgetting-the-foundations-right%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>At 360innovate, we speak to a wide variety of clients looking for developments of all sizes &#8211; big and small. If your organisation is looking for a highly functional web site, it is critically important to get the foundations right &#8211; to plan the project and put together appropriate documentation before a single line of code is written.</p>
<p>Building a complex web solution is a lot like building a house. Before the first brick is laid, one would consult with an architect to develop the plans for the building. The architect&#8217;s job is take the client&#8217;s vision, and transform it into something that is safe, complies with the relevant regulations, and meets the client&#8217;s needs.</p>
<p>If the client asks for something inappropriate (for reasons of safety, practicality or whatever), then a good architect would advise the client of this and come up with an alternative that would meet the client&#8217;s needs.</p>
<p>Quite often, we see non-technical customers essentially trying to do the architect&#8217;s job. In producing specifications without having an understanding of the development landscape, the foundations of a successful development are jeopardised.</p>
<p>The stakes might not be quite as high as in architecture &#8211; not life and death in any case &#8211; but the risks are broadly similar. Unless you are taking security, the user&#8217;s experience, and technical considerations into account, your brief will very likely <strong>not</strong> be as good as it should be. The developers who work on the project will not be given the start they need. This will be to the detriment of the project as a whole; poorly planned features lead to poorly executed features.</p>
<p>The answer to this is simple &#8211; <a href="http://www.360innovate.co.uk/contact">speak to us</a> as early in the project&#8217;s lifespan as possible. We will take into account technical considerations, the experience of the end user, and your needs too. We can produce a high-quality specification document that will lay the foundations for a successful project, no matter who your developers are.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2011/01/getting-the-foundations-right/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Usability Testing: What it is, what it isn&#8217;t</title>
		<link>http://www.360innovate.co.uk/blog/2010/12/usability-testing-what-it-is-what-it-isnt/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/12/usability-testing-what-it-is-what-it-isnt/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 10:55:43 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Design and Usability]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=2280</guid>
		<description><![CDATA[Usability testing is an important part of the web development process, but it&#8217;s also one of the least-well understood. Very often we see misconceptions about what usability testing is, and what it isn&#8217;t. This blog post will hopefully provide a primer on how you should be using usability testing. One of the most important concepts [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F12%2Fusability-testing-what-it-is-what-it-isnt%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F12%2Fusability-testing-what-it-is-what-it-isnt%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Usability testing is an important part of the web development process, but it&#8217;s also one of the least-well understood. Very often we see misconceptions about what usability testing is, and what it isn&#8217;t.</p>
<p>This blog post will hopefully provide a primer on how you should be using usability testing.</p>
<p>One of the most important concepts in usability testing is that it should focus on how easily the user can complete a given task.</p>
<p>These tasks should be clearly defined from the outset of the project, and should be the key actions that you want your users to be able to perform. For example, this might be:</p>
<ul>
<li>Filling in a contact form</li>
<li>Finding essential contact information</li>
<li>Completing a purchase</li>
</ul>
<p>It&#8217;s essential that we know from the outset what the goals for your website will be; this allows us to create appropriate calls to action and a design that is consistent with these goals.</p>
<p>When testing how well users complete these goals, there are four criteria used to judge the success of the test:</p>
<ul>
<li><strong>Performance</strong>: How long did it take the user to complete the task? How many steps did it take?</li>
<li><strong>Accuracy</strong>: Did the user make mistakes in the process? If they did, were they able to recover from them?</li>
<li><strong>Recall</strong>: Could the user remember how to complete the task afterwards? Will they remember how to do it in the future?</li>
<li><strong>Emotional response</strong>: How did the user feel on completing the task? Stressed? Relieved? Comfortable?</li>
</ul>
<p>Depending on your budget, there are various methods for implementing usability testing.</p>
<h2>Hallway Testing</h2>
<p>The least expensive option is hallway testing, where people unconnected with the project are asked to complete tasks, as specified above. The advantage of this method is its cost. This method is also called &#8220;hallway intercept testing&#8221; &#8211; literally stopping people in the hallway and asking for their help!</p>
<p>The disadvantage of this method is that it doesn&#8217;t necessarily provide a good cross-section of the group that will be using the site. It&#8217;s an informal method, and the familiarity of the user and the person conducting the tests could influence the outcome of the tests.</p>
<h2>Remote Testing</h2>
<p>Remote testing involves the use of specially set up online surveys to test the usability of a site or application. One such service, Amazon&#8217;s <a href="https://www.mturk.com/mturk/welcome">Mechanical Turk</a>, offers a cost-effective method of testing your site with a wide variety of users.</p>
<p>Although more expensive than hallway testing, this method offers a more formal testing structure, and encourages a goal-centred approach. With Mechanical Turk, you can also choose to reject submitted results if you feel the quality of feedback is not good enough.</p>
<h2>Expert Review</h2>
<p>The third, and (by far!) most expensive option is expert review. This involves working with a specialist usability testing company to provide in-depth analysis for the goals listed above. 360innovate work with a number of these companies, and can suggest one that is suitable for your needs.</p>
<h2>Usability testing: what it&#8217;s not</h2>
<p>The most common problem we see with usability testing is that it is performed without goals in mind, or that the goals are not clearly defined at the start of the project. In effect, test subjects are being asked &#8220;what do you think of this site&#8221;?</p>
<p>This is very definitely  <strong>not </strong>usability testing<strong>. </strong>Unless you relate feedback to the original goals of the project, it&#8217;s very unlikely that you&#8217;ll get useful feedback on the success of the project. You <em>might </em>get some useful information for future development, but you won&#8217;t get useful feedback on the success of what you&#8217;ve built.</p>
<p>In short, you should know what the goals of the project are before the first the first line of code is written, and you should be testing how well each task relating to a goal has been implemented.</p>
<h2>Why should I bother at all?</h2>
<p>Usability testing is a vital tool to judge the success of a project. The internet is <a href="http://www.uie.com/articles/three_hund_million_button/">awash</a> with stories emphasising the importance of usability testing, and the real question is &#8220;can you afford not to perform usability testing?&#8221;</p>
<p>Please <a href="http://www.360innovate.co.uk/contact">get in touch</a> if you&#8217;d like to talk about what usability testing can do for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/12/usability-testing-what-it-is-what-it-isnt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our 10k app, Video Poker!</title>
		<link>http://www.360innovate.co.uk/blog/2010/08/our-10k-app-video-poker/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/08/our-10k-app-video-poker/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 08:52:59 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[General Chat]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=2185</guid>
		<description><![CDATA[As you might be aware, An Event Apart have been running a competition to find the best web app written in 10k or less. For the web-developmentally-challenged among you, (you lucky, lucky souls&#8230;), this isn&#8217;t a great deal of space to work with, so optimization is the name of the game! You can see the gallery [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F08%2Four-10k-app-video-poker%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F08%2Four-10k-app-video-poker%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>As you might be aware, <a href="http://aneventapart.com/">An Event Apart</a> have been running a competition to find the best web app written in 10k or less. For the web-developmentally-challenged among you, (you lucky, lucky souls&#8230;), this isn&#8217;t a great deal of space to work with, so optimization is the name of the game!</p>
<p>You can see the <a href="http://10k.aneventapart.com/">gallery of apps here</a>. There are some truly amazing examples of what can be achieved with a little creativity, and the standard of app on display is extremely high. (Although with some rock-star calibre developers entering the competition, this was almost to be expected!)</p>
<p>For our own entry, I <a href="http://10k.aneventapart.com/Entry/227">recreated the game of Video Poker</a> (with graphics from <a href="http://twitter.com/todd_unctious">Allan</a>).</p>
<p><img class="alignnone size-full wp-image-2186" title="poker" src="http://www.360innovate.co.uk/blog/wp-content/uploads/2010/08/poker.png" alt="" width="300" height="200" /></p>
<p>If you want to take a look at the uncompressed source code, it&#8217;s available on <a href="http://github.com/johnmcc/Video-Poker">github</a>, under the MIT License.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/08/our-10k-app-video-poker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Self-executing functions in JavaScript</title>
		<link>http://www.360innovate.co.uk/blog/2010/07/self-executing-functions-in-javascript/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/07/self-executing-functions-in-javascript/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 13:07:18 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[General Chat]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=2155</guid>
		<description><![CDATA[In Ryan Florence&#8217;s excellent post comparing jQuery&#8217;s approach to Mootools&#8217;, he makes a number of interesting comparisons about each framework&#8217;s approach. One area where jQuery provides an elegant solution is its use of anonymous functions to set DOM properties, as shown in the following snippet. This is something that I certainly missed when working with Mootools, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F07%2Fself-executing-functions-in-javascript%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F07%2Fself-executing-functions-in-javascript%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In Ryan Florence&#8217;s excellent post <a href="http://ryanflorence.com/jquery-1-4-mootools-1-2-compared/">comparing jQuery&#8217;s approach to Mootools&#8217;</a>, he makes a number of interesting comparisons about each framework&#8217;s approach.</p>
<p>One area where jQuery provides an elegant solution is its use of anonymous functions to set DOM properties, as shown in the following snippet.</p>
<p><iframe style="width: 100%; height: 100px" src="http://mootools.net/shell/jDJn8/embedded/"></iframe></p>
<p>This is something that I certainly missed when working with Mootools, but fortunately there&#8217;s an easy, quick solution.</p>
<p>Ryan proposes the use of the <a href="http://mootools.net/forge/p/elements_seteach">setEach plugin</a> to solve this issue, but to me, this doesn&#8217;t seem necessary. You can work around the issue by using a function that executes immediately, as follows.</p>
<p><iframe style="width: 100%; height: 150px" src="http://mootools.net/shell/mGrnf/embedded/"></iframe></p>
<p>The key here is the extra pair of parentheses after the function definition, which forces the function to execute straight away. Simple, quick, and it gives the same functionality as the jQuery equivalent without having to add the overhead of a plug in. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/07/self-executing-functions-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery plugin to show and hide vertical menus</title>
		<link>http://www.360innovate.co.uk/blog/2010/07/jquery-plugin-to-show-and-hide-vertical-menus/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/07/jquery-plugin-to-show-and-hide-vertical-menus/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 13:29:57 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[hide]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[show]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=2091</guid>
		<description><![CDATA[It&#8217;s very common for us to show and hide vertical menus when developing sites. This idiom is particularly common on sites with a lot of submenus, such as e-commerce shopping carts. Since it&#8217;s a technique we use so frequently, we decided to write a little jQuery plugin to make life easier for ourselves. This plugin [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F07%2Fjquery-plugin-to-show-and-hide-vertical-menus%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F07%2Fjquery-plugin-to-show-and-hide-vertical-menus%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>It&#8217;s very common for us to show and hide vertical menus when developing sites. This idiom is particularly common on sites with a lot of submenus, such as <a href="http://www.360innovate.co.uk/service/ecommerce/">e-commerce shopping carts</a>.</p>
<p><img class="aligncenter size-medium wp-image-2092" title="Screenshot" src="http://www.360innovate.co.uk/blog/wp-content/uploads/2010/07/Screenshot-300x238.png" alt="" width="300" height="238" /></p>
<p>Since it&#8217;s a technique we use so frequently, we decided to write a little jQuery plugin to make life easier for ourselves. This plugin takes nested unordered lists and turns them into expandable and contractable menus.</p>
<p>The plugin has the following features:</p>
<ul>
<li>Dual licenced under GPL / MIT licences – do what you want with this code (as long as you leave the licence intact!)</li>
<li>Lightweight (~2Kb packed)</li>
<li>Keyboard accessible, basic WAI-ARIA support. Usable with JavaScript switched off.</li>
<li>Easy to use and deploy</li>
<li>Configurable through CSS, callback functions and numerous options</li>
</ul>
<p>Please note that this plugin optionally uses of <a href="http://stilbuero.de/">Klaus Hartl</a>&#8216;s excellent jquery.cookie.js plugin.</p>
<p>You can <a href="http://www.360innovate.co.uk/blog/cmenu.zip">download the plugin here</a>, and <a href="http://www.360innovate.co.uk/blog/cmenu.html">view the docs, and an example here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/07/jquery-plugin-to-show-and-hide-vertical-menus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So you&#8217;ve got an idea for a website?</title>
		<link>http://www.360innovate.co.uk/blog/2010/04/so-youve-got-an-idea-for-a-website/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/04/so-youve-got-an-idea-for-a-website/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 07:49:45 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Design and Usability]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[business of web design]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=1799</guid>
		<description><![CDATA[If you have a idea for a website and an off-the-shelf system just won&#8217;t cut it, you might be in need of bespoke web development. As specialists in this field, we talk to a great many people who have ideas for online businesses, and in this article, I&#8217;d like to outline some points to help [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F04%2Fso-youve-got-an-idea-for-a-website%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F04%2Fso-youve-got-an-idea-for-a-website%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>If you have a idea for a website and an off-the-shelf system just won&#8217;t cut it, you might be in need of <a href="http://www.360innovate.co.uk/service/development/">bespoke web development</a>. As specialists in this field, we talk to a great many people who have ideas for online businesses, and in this article, I&#8217;d like to outline some points to help you get the most from your development experience, and your business.</p>
<h3>Treat your online business like an offline business</h3>
<blockquote><p>&#8220;Information  technology and business are becoming inextricably interwoven.  I don&#8217;t think anybody can talk meaningfully about one without the  talking about  the other.&#8221; &#8211; Bill Gates</p></blockquote>
<p>Before you even think about beginning development, it&#8217;s essential to research the market thoroughly, and one of the best ways to formalise this process is to write a business plan.</p>
<p>A business plan will encourage you to think about your business objectives and strategies, the markets in which it will operate, and its financial projections. In doing this, you&#8217;ll spot potential pitfalls earlier, and be better able to plan the future of the business. (And perhaps even decide whether you will proceed with the business or not!)</p>
<p>Once you&#8217;ve completed your business plan, it&#8217;s a good idea to gather feedback from neutral parties (in other words, not family members!) Banks, investors, and business partners are all good sources of feedback at this stage.</p>
<p>Most importantly, think about your unique selling point. What problem will your website solve? What can you do that your competitors can&#8217;t? These are age-old questions, and they are just as important when doing business online.</p>
<p>In addition, it&#8217;s a good idea to prepare everything you need to launch well in advance. Imagery, content, and stock all need to be readied prior to launch, as do any payment gateways. Make sure you&#8217;re ready to kick-off your website with a bang, just as you would launch a bricks-and-mortar business with a bang.</p>
<h3>KISS &#8211; Keep It Simple, Stupid!</h3>
<blockquote><p><span class="quote">“A designer knows he has achieved perfection not  when there is nothing left to add, but when there is nothing left to  take away.” &#8211; </span><span class="quote">Antoine  De Saint-Exupery</span></p></blockquote>
<p>The most successful websites have simplicity at their heart. Think about two obvious examples, Google and Twitter.</p>
<p><img class="aligncenter size-medium wp-image-1814" title="google" src="http://www.360innovate.co.uk/blog/wp-content/uploads/2010/03/google-300x124.png" alt="" width="300" height="124" /><br />
<img class="aligncenter size-medium wp-image-1815" title="twitter" src="http://www.360innovate.co.uk/blog/wp-content/uploads/2010/03/twitter-300x70.png" alt="" width="300" height="70" /></p>
<p>Although these sites offer some very complex functionality, their core actions could be described in a couple of sentences. This has an effect on the interface &#8211; key actions are thrust to the forefront of the user&#8217;s attention, giving the impression that the site is easy to use.</p>
<p>By keeping your application simple, you will also reduce development time, and therefore keep development costs low. So when you&#8217;ve thought about all the functionality you would like for your site, go through that wishlist again and cut out anything that doesn&#8217;t directly and obviously benefit the user. Be brutal &#8211; it can always be added at a later date <em>if your users need it</em>.</p>
<p>Also, reconsider any internal features that could be dropped to reduce  costs while the business is starting up. For example, you might want  your web site to integrate with an accounting package, but if you are  only anticipating a couple of orders each week, could this data be  migrated manually? If this feature could be rolled out at a later date, that&#8217;s money in your pocket right now that you can invest in marketing your website.</p>
<p>Whatever you do, be aware of the &#8216;kitchen sink&#8217; mentality and avoid it!</p>
<h3>Launch early, launch often</h3>
<blockquote><p>&#8220;I like to launch early and often. That has  become my  mantra&#8221; &#8211; Marissa Mayer (Google)</p></blockquote>
<p>Some of the biggest and most successful companies espouse launching early and often. This means that websites and applications are launched as early as possible, even if some features are not in place. The main benefit of this is that you gain invaluable feedback at an early stage, allowing you to tweak your product based on what your user actually wants &#8211; not what you think they want.</p>
<p>Again, this mindset helps to reduce costs since you don&#8217;t spend time developing features that your users don&#8217;t&#8230;well&#8230;use!</p>
<h3>Think about your post-launch strategy</h3>
<blockquote><p><span>&#8220;Business  has only two functions &#8211; marketing and innovation.&#8221; &#8211; Milan Kundera</span></p></blockquote>
<p><span>A common mistake is to consider your website &#8216;finished&#8217; once it has launched. From <a href="http://www.360innovate.co.uk/online-marketing-overview/">online marketing</a> to developing new features, you should always be thinking about how you can provide a better service for your users. Look at what your competitors are doing on a regular basis &#8211; think about what works for them and what doesn&#8217;t work for them.<br />
</span></p>
<p><span>Remember that these activities cost money, so don&#8217;t spend every penny of your budget before your site has launched.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/04/so-youve-got-an-idea-for-a-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 1.4 Reference Guide review</title>
		<link>http://www.360innovate.co.uk/blog/2010/03/jquery-1-4-reference-guide-review/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/03/jquery-1-4-reference-guide-review/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 10:36:52 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[General Chat]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=1755</guid>
		<description><![CDATA[In the interests of full disclosure, Packt Publishing sent me a copy of this book for me to review. There was no other compensation received for this review. I am reviewing this book for the benefit of the blog readers. The recent release of jQuery 1.4 brought a plethora of new features and major performance [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F03%2Fjquery-1-4-reference-guide-review%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F03%2Fjquery-1-4-reference-guide-review%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><em>In the interests of full disclosure, Packt Publishing sent me a copy of this book for me to review. There was no other compensation received for this review. I am reviewing this book for the benefit of the blog readers.</em></p>
<p>The recent release of jQuery 1.4 brought a plethora of new features and major performance improvements across the board. At the same time, the new <a href="http://api.jquery.com/">jQuery API</a> site was launched in an effort to improve the documentation and  community spirit. Make no mistake, 1.4 is a milestone release for jQuery.</p>
<p>To mark this, <a href="http://www.karlswedberg.com/">Karl Swedberg</a> and <a href="http://www.packtpub.com/author_view_profile/id/134">Jonathan Chaffer</a> have released the <a href="http://www.packtpub.com/jquery-1-4-reference-guide/book">jQuery 1.4 Reference Guide</a>, an exhaustive tour of the functionality that jQuery 1.4 offers. There are eleven chapters, covering selectors, DOM traversal and manipulation, events, effects, AJAX, plug-ins, and more. In addition, there&#8217;s an alphabetical API reference guide and a couple of really useful appendixes providing lots of handy information.</p>
<p>As I mentioned above, each chapter groups together jQuery methods with a common theme. There are helpful code samples for each method, and they are explained thoroughly in the accompanying text. Occasionally, performance tips are mentioned, but as the book stresses early on, you shouldn&#8217;t worry too much about micro-optimizing code &#8211; your time as a developer is more valuable than that!</p>
<p>So who is this book aimed at? Well, as the name suggests, this is a reference guide. A familiarity with jQuery syntax is essential, and in some areas, a decent knowledge of vanilla JavaScript will be beneficial too. Although there are hints and tips peppered throughout the book, this is no tutorial book. If you&#8217;re not familiar with jQuery, you should pick up <a href="http://www.packtpub.com/learning-jquery-1.3/book">Learning jQuery</a> instead, by the same authors.</p>
<p>As such, I would recommend this to the intermediate to advanced jQuery user. You will almost certainly learn something from the book, and a reference guide always comes in handy! Some of the major points I picked up were:</p>
<ul>
<li>Many jQuery methods accept anonymous functions as parameters now &#8211; this is a really clean, practical way of writing code</li>
<li>There are more ways to measure elements than I realised &#8211; I knew about .height() and .width(), but not .innerHeight(), .outerHeight() etc. This has caused me problems in the past!</li>
<li>The Sizzle selector engine is really, really powerful and I&#8217;m not using it to its full potential.</li>
</ul>
<p>The downside of a book like this is that it dates relatively quickly. For example, jQuery 1.4.2 introduced two methods &#8211; .delegate() and .undelegate() &#8211; which are not covered in the book. There&#8217;s no getting around this when the library itself is under heavy development, but it&#8217;s something that you should be aware of if you&#8217;re considering purchasing.</p>
<p>I also spotted one error  that I reported at the publisher&#8217;s website, so if you do purchase this book, you should keep an eye on the errata there.</p>
<p>However, if you&#8217;re looking for a jQuery reference guide, this is the book to own. The publishers will donate to the jQuery project for every copy of the book sold and you <strong>will</strong> learn something from this book, so it&#8217;s a win-win situation! The <a href="http://www.packtpub.com/jquery-reference-guide-Open-Source">jQuery Reference Guide</a> is on sale now, with a cover price of £24.99.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/03/jquery-1-4-reference-guide-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery UI 1.7 &#8211; The User Interface library for jQuery &#8211; reviewed</title>
		<link>http://www.360innovate.co.uk/blog/2010/02/jquery-ui-1-7-the-user-interface-library-for-jquery-reviewed/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/02/jquery-ui-1-7-the-user-interface-library-for-jquery-reviewed/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 08:53:52 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Design and Usability]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[book review]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[jQuery UI]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=1729</guid>
		<description><![CDATA[jQuery UI is the official interface library for jQuery, the leading JavaScript framework. Dan Wellman&#8216;s book, jQuery UI 1.7 &#8211; The User Interface library for jQuery, is intended to be the &#8216;missing manual&#8217; &#8211; fleshing out the online documentation with examples, tutorials, and an in-depth look at the API. The book is supported by many [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F02%2Fjquery-ui-1-7-the-user-interface-library-for-jquery-reviewed%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F02%2Fjquery-ui-1-7-the-user-interface-library-for-jquery-reviewed%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://jqueryui.com/"></a></p>
<div id="attachment_1730" class="wp-caption alignright" style="width: 110px"><a href="http://www.360innovate.co.uk/blog/wp-content/uploads/2010/02/ui17.png"><img class="size-full wp-image-1730" title="ui1.7" src="http://www.360innovate.co.uk/blog/wp-content/uploads/2010/02/ui17.png" alt="jQuery UI 1.7 by Dan Wellman" width="100" height="123" /></a><p class="wp-caption-text">jQuery UI 1.7 by Dan Wellman</p></div>
<p>jQuery UI is the official interface library for jQuery, the leading JavaScript framework. <a href="http://www.danwellman.co.uk/">Dan Wellman</a>&#8216;s book, jQuery UI 1.7 &#8211; The User Interface library for jQuery, is intended to be the &#8216;missing manual&#8217; &#8211; fleshing out the online documentation with examples, tutorials, and an in-depth look at the API. The book is supported by many great code samples, which are available at <a href="http://www.packtpub.com/support">Packt&#8217;s support site</a>.</p>
<p>There are thirteen chapters in total, covering the  high-level widgets (such as the accordion) and low-level widgets (such as the draggable and droppable interaction helpers.) In addition, the CSS and effects frameworks are covered too.</p>
<p>No knowledge of jQuery UI is assumed, although it is expected that the reader will have a decent grasp of HTML, CSS, and jQuery. The book is pitched at the beginner to intermediate level jQuery UI user, although I would think that even advanced users will find that it contains valuable information.</p>
<p>The structure of each chapter is similar. Starting with the most basic example to get you up and running, more options are gradually introduced to give you a greater level of control, with plenty of code samples to help you along. Most chapters finish with a more advanced scenario, showing some really imaginative uses in which jQuery UI shines. For example, the drag and drop chapter walks the reader through creating a simple game.</p>
<p>The book also takes the time to describe some of the rare occasions where cross-browser issues might rear their heads, along with the fixes. It would have been easy for the author to skip past those parts, but I appreciated this honest approach. It may not be the sexiest subject matter, but it&#8217;s something that we as web developers deal with on a day-to-day basis, so it was great to see it tackled in the book.</p>
<p>One of the major strengths of jQuery UI is its online documentation; there are  several examples for each widget, and options and methods are well documented. I was initially a little concerned about what the book could add to this, but my concerns were unfounded. Every chapter revealed  methods and options that I had missed, along with examples that used the library in ways I would never have thought of.</p>
<p>One of the biggest revelations to me was the chapter relating to the CSS framework. Although I&#8217;d used <a href="http://jqueryui.com/themeroller/">Themeroller</a> before, I&#8217;d never appreciated the full extent to which it can be used, creating a consistent look and feel throughout your site and containing many valuable helper classes.</p>
<p>One area where I would have liked to see some information is that of extending jQuery UI. I would have liked to have read about writing your own widgets, inheriting from $.widget, but I appreciate that this would probably be out of scope for this type of book.</p>
<p>Although jQuery UI 1.8 is just round the corner, I would have no hesitation in recommending this book. There is a wealth of information here, and it is presented in such a way that the reader is given a real understanding of the library, meaning that you won&#8217;t have any problems when the next version rolls along. In fact, if you read this book now, you&#8217;ll be well prepared for all the goodies that 1.8 contains!</p>
<p>So if you&#8217;re looking for a <a href="http://www.packtpub.com/user-interface-library-for-jquery-ui-1-7">jQuery UI book</a>, you should definitely check this one out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/02/jquery-ui-1-7-the-user-interface-library-for-jquery-reviewed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Serving html5 videos with Apache</title>
		<link>http://www.360innovate.co.uk/blog/2010/02/serving-html5-videos-with-apache/</link>
		<comments>http://www.360innovate.co.uk/blog/2010/02/serving-html5-videos-with-apache/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 15:25:03 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Tips & Tutorials]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Development Articles]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.360innovate.co.uk/blog/?p=1725</guid>
		<description><![CDATA[Just a quick tip today &#8211; the solution to a bit of a &#8216;gotcha&#8217;! While writing the jCaps plugin, we came up against an issue where .ogv videos were refusing to load, but bizarrely, only in Firefox. In its place was a grey box where the video should be, with a question mark in the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin-right: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F02%2Fserving-html5-videos-with-apache%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.360innovate.co.uk%2Fblog%2F2010%2F02%2Fserving-html5-videos-with-apache%2F&amp;source=360innovate&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Just a quick tip today &#8211; the solution to a bit of a &#8216;gotcha&#8217;!</p>
<p>While writing the <a href="http://www.360innovate.co.uk/blog/2010/02/jcaps-making-html5-video-captions-easier-with-jquery-plugin/">jCaps</a> plugin, we came up against an issue where  .ogv videos were refusing to load, but bizarrely, only in Firefox. In its place was a grey box where the video should be, with a question mark in the middle.</p>
<p>After a little bit of head-scratching, we found the solution &#8211; Apache wasn&#8217;t sending the right MIME type with the video, resulting in a Firefox fail. The solution is to put the following <a href="http://httpd.apache.org/docs/1.3/mod/mod_mime.html#addtype">AddType</a> directive in your .htaccess or httpd.conf file (mod_mime is required):</p>
<p><code>AddType video/ogg .ogv</code></p>
<p>Make sure that you restart Apache if you put it in httpd.conf.</p>
<p>On another note, jCaps is nearing another release &#8211; hopefully this week. It will take into account some of <a href="http://www.brucelawson.co.uk/2010/jquery-accessible-html5-video-captioning-plugin/">Bruce Lawson&#8217;s wishlist</a>, and includes a big refactoring of many elements of the plugin, including the API. It should be leaner, meaner, and easier to use! In the meantime, you can <a href="http://github.com/johnmcc/jCaps">fork or download the project at Github.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.360innovate.co.uk/blog/2010/02/serving-html5-videos-with-apache/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

