<?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>Base Creative Agency &#124; 2012 Recommended Digital Agency (RAR+) &#124; Bournemouth &#187; daveatbase</title>
	<atom:link href="http://www.basecreativeagency.com/author/daveatbase/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.basecreativeagency.com</link>
	<description>An Ideas-led Digital Agency</description>
	<lastBuildDate>Wed, 16 May 2012 10:53:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Science vs the Magic Black Box</title>
		<link>http://www.basecreativeagency.com/2012/04/science-vs-the-magic-black-box/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=science-vs-the-magic-black-box</link>
		<comments>http://www.basecreativeagency.com/2012/04/science-vs-the-magic-black-box/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 10:30:47 +0000</pubDate>
		<dc:creator>daveatbase</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://www.basecreativeagency.com/?p=2246</guid>
		<description><![CDATA[<p>Magic is science that you don&#8217;t understand.  I love science and I love understanding things. <p><a href="http://www.basecreativeagency.com/2012/04/science-vs-the-magic-black-box/">Read more about Science vs the Magic Black Box</a></p>]]></description>
			<content:encoded><![CDATA[<p>Magic is science that you don&#8217;t understand. I love science and I love understanding things. As a rule, magic is frustrating. The science that makes website and app software run is called source code: the instructions for a computer, written by a programmer.</p>
<p>If you don&#8217;t have the source code that goes with your software then that software is a magic black box. You put things into the black box then something else comes out. It&#8217;s impossible to know what the black box is really doing, even if you are often told what will happen if you put different things in the box.</p>
<p>With Open Source software the box is transparent. You can open it up and change bits. The box is no longer magic. The box is science.</p>
<p>Allowing everyone to look in and modify the source code has its advantages. It&#8217;s much easier to see if there&#8217;s problems and anyone can create a fix. You don&#8217;t have to trust anyone because no one can hide anything from you any more.</p>
<p>The tech world is gradually moving to Open Source more and more. This means people are sharing their code &#8211; making it transparent &#8211; improving other people&#8217;s and forming support communities. Standards and specifications have been created so different source code is still compatible. People can still sell you a transparent box and you can still pay a company to provide support but you are no longer locked in to that company forever. Companies can also do more in-depth security audits when they can see inside the software.</p>
<p>The thread of Open Source runs though many parts of Base. I&#8217;ve used Ubuntu (Linux) instead of a Mac or Windows for a few years and Matt&#8217;s now using it too. Most of our web servers run on Open Source operating systems and software. We use WordPress for content managed sites extensively and combine it with front-end Open Source libraries such as jQuery.</p>
<p>At Base we work with whatever solution fits a client&#8217;s needs best. Sometimes we work with closed source software but whenever possible we lean towards Open Source. Having the source code to software we&#8217;re working with helps us to understand the software and make it bespoke to fit a client&#8217;s needs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basecreativeagency.com/2012/04/science-vs-the-magic-black-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing bugs the fun way</title>
		<link>http://www.basecreativeagency.com/2011/08/fixing-bugs-the-fun-way/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fixing-bugs-the-fun-way</link>
		<comments>http://www.basecreativeagency.com/2011/08/fixing-bugs-the-fun-way/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 13:52:28 +0000</pubDate>
		<dc:creator>daveatbase</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.basecreativeagency.com/?p=1846</guid>
		<description><![CDATA[<p>Whilst engineers often quote the 80-20-rule (&#8220;the last 20% of the work takes 80% of the time&#8221;, known as the Pareto principle), developers have the &#8220;Ninety-ninety rule&#8221;:</p>
<p>&#8220;The first 90 percent of the code accounts for the first 90 percent of the development time.  The remaining 10 percent of the code accounts for the other 90 percent of the development time. <p><a href="http://www.basecreativeagency.com/2011/08/fixing-bugs-the-fun-way/">Read more about Fixing bugs the fun way</a></p>]]></description>
			<content:encoded><![CDATA[<p>Whilst engineers often quote the 80-20-rule (&#8220;the last 20% of the work takes 80% of the time&#8221;, known as the Pareto principle), developers have the &#8220;Ninety-ninety rule&#8221;:</p>
<blockquote><p>&#8220;The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.&#8221; &#8212; Tom Cargill</p></blockquote>
<p>Generally, the remaining 90% is bug fixing. Everyone prefers working on exciting new code to fixing old code but part of managing a project well is making sure bugs are fixed faster than they are found. These days, when an issue report comes in, developers have lots of tools at their disposal to make finding and fixing code more fun.</p>
<p>At Base, our war on bugs is won thanks to our combination of weapons: version control and unit testing. A bug I had to resolve recently was related to some transactions crossing over midnight suddenly not working any more. Here&#8217;s how I won the battle:</p>
<p><strong>1. Reproduce the bug</strong></p>
<p>The first step is trying to reproduce the bug as simply as possible. The minimum required was to create a fake request with the time set to just before midnight and start an empty transaction. Using an empty transaction meant that any problems that came back must be the result of the transaction itself, not what was in it.</p>
<p><strong>2. Write a test to make sure it fails</strong></p>
<p>Unit testing means writing code that runs against a single part of a system and checks that the one part gets back the correct result. Once I&#8217;d written a test for midnight bug with PHPUnit, any developers at Base could run the test suite on their own systems and see that PHPUnit reported &#8220;FAILURES!&#8221; for my test.</p>
<p><strong>3. Find the source of the problem</strong></p>
<p>As I could recreate the bug whenever I wanted, writing and testing a fix was so much easier. This bug was a regression, meaning it was working fine until some new code came along to break it. We use the popular version control system &#8220;<a title="Moving to Git" href="http://www.basecreativeagency.com/2011/06/moving-to-git/">git</a>&#8220;, which lets us become masters of (code) time travel and step back to any point we&#8217;d previously &#8220;committed&#8221; some code.</p>
<p>Git has the wonderful tool &#8220;bisect&#8221;, which helps you search through the code history, narrowing down on a specific commit. You tell git bisect that the current commit is currently &#8220;bad&#8221;, then you go to an old version and say its &#8220;good&#8221;. Git bisect then goes to a <a href="http://www.basecreativeagency.com/wp-content/uploads/2011/08/binary_search.png">halfway point</a> and the process starts again. This only takes a few steps, even if there have been hundreds of commits since the bug was introduced.</p>
<p>Whilst &#8220;git bisect&#8221; by itself is a bit of a black art, the true magic comes when you combine git bisect and PHPUnit together with a simple shell script. You tell git bisect to run PHPUnit and use the result of the unit test to automatically mark a commit as good or bad. Seeing the two working together is incredibly cool. It&#8217;s like having your own personal bug detective.</p>
<p><strong>4. Fix it</strong></p>
<p>I now had the precise commit where the bug was introduced. Git let me see the exact date and time of the commit and who had coded it. It turned out it was me. Fixing the bug involved changing just a couple of lines. The bug was fixed and committed after PHPUnit gave the nod by reporting &#8220;OK&#8221;.</p>
<p>Due to the fun of using PHPUnit and git bisect, I&#8217;m often tempted to code in extra bugs, just so I can watch the my bug detective do its thing. That&#8217;s my excuse anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basecreativeagency.com/2011/08/fixing-bugs-the-fun-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graceful degradation and Progressive Enhancement</title>
		<link>http://www.basecreativeagency.com/2011/05/graceful-degradation-and-progressive-enhancement/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=graceful-degradation-and-progressive-enhancement</link>
		<comments>http://www.basecreativeagency.com/2011/05/graceful-degradation-and-progressive-enhancement/#comments</comments>
		<pubDate>Mon, 23 May 2011 14:38:20 +0000</pubDate>
		<dc:creator>daveatbase</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IE6]]></category>

		<guid isPermaLink="false">http://v2.base-dev.com/?p=147</guid>
		<description><![CDATA[<p>&#8220;You need to support [insert old browser here], so can&#8217;t use any new web technologies like HTML5 or CSS3&#8243; &#8212; Made up 17th century  proverb</p>
<p>Part of the reason I like developing websites so much is that the web is arguably the most open and accessible platform there is.  Someone in Japan can publish a website that can be viewed by someone in Brazil seconds later. <p><a href="http://www.basecreativeagency.com/2011/05/graceful-degradation-and-progressive-enhancement/">Read more about Graceful degradation and Progressive Enhancement</a></p>]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;You need to support [insert old browser here], so can&#8217;t use any new web technologies like HTML5 or CSS3&#8243; &#8212; Made up 17th century  proverb</p></blockquote>
<p>Part of the reason I like developing websites so much is that the web is arguably the most open and accessible platform there is. Someone in Japan can publish a website that can be viewed by someone in Brazil seconds later. Someone with loss of fine motor control can dictate a blog post that can be read by someone with a visual impairment. Someone can view the <em>source</em> of a web page I&#8217;ve made and get ideas from the code. This cannot so easily be said about TV, radio or print media.</p>
<p>One area that sometimes gets left behind, however, is people using older browsers. If you mention &#8220;Internet Explorer 6 support&#8221; to someone in the web industry then you better get ready to run!</p>
<p>There are 2 main methodologies of creating the front end of a website: Graceful Degradation and Progressive Enhancement. Although not mutually exclusive, people are moving away from Graceful Degradation and leaning towards Progressive Enhancement.</p>
<p>Graceful Degradation sounds worse than it actually is. Sites are created designing for the best browsers &#8211; usually this means Firefox and Chrome &#8211; then extra code is put in to catch problems that might occur with older browsers. For example, IE6 doubles margins of elements when they&#8217;re &#8220;floated&#8221;. Extra code is then put in to fix this problem for the 3% of visitors using IE6.</p>
<p>Unfortunately, the &#8220;Graceful&#8221; in Graceful Degradation is very subjective. An example of this is a video &#8220;degrading&#8221; to a static image for visitors without Flash. Though this is more graceful than having no content at all or a message saying &#8220;Please upgrade your browser&#8221;.</p>
<p>Progressive Enhancement is building from the bottom up. A site is coded (and sometimes even designed) to work well in older browser from the start then it is enhanced (progressively, of course) for browsers with more features. The most common example of this today is probably the Web 2.0 rounded corner design. All browsers but IE less than version 9 let developers code a rounded corner in 1 line of CSS. Designs are made to work in IE then the rounded corner code is added for all the other browsers. The beauty of this is as users gradually upgrade to IE9 then a higher percentage of visitors get to see the enhancements.</p>
<p>While the term Progressive Enhancement was <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">coined back in 2003</a>, developers have been doing it for even longer. The older ones among us may remember Internet Explorer 3 was the first mainstream browser to support CSS. Things like a link changing colour on hover were unheard of. As soon as us webmasters (as we were called back then) got our hands on IE3 we progressively enhanced our sites so that our orange links on green background turned pink, to the delight of the &#8220;0000007 visitors&#8221; visitors registered on our hit counter.</p>
<p>Progressive enhancement has come a long way since the days of IE3. Our work with <a href="http://home.bournemouth.ac.uk/">Bournemouth University</a> is a showcase of what can be done now. Turning off Flash player makes the site look and behave almost identically to when Flash player is enabled. Visitors with JavaScript disabled see the same result but with fewer effects. The site was actually first coded to work in a text-only browser such as <a href="http://en.wikipedia.org/wiki/Lynx_%28web_browser%29">Lynx</a>, which meant the site would be usable for virtually every visitor.</p>
<p>Progressive Enhancement is obviously a step away from the pixel-perfect designs that were so common a few years ago. While this can be seen as a drawback for some designers, developers love the idea of a site that Just Works™ and can easily be enhanced in the future when browsers support new features.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.basecreativeagency.com/2011/05/graceful-degradation-and-progressive-enhancement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 in 5 (ish) minutes</title>
		<link>http://www.basecreativeagency.com/2011/02/html5-in-5-ish-minutes/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=html5-in-5-ish-minutes</link>
		<comments>http://www.basecreativeagency.com/2011/02/html5-in-5-ish-minutes/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 09:59:32 +0000</pubDate>
		<dc:creator>daveatbase</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://v2.base-dev.com/?p=108</guid>
		<description><![CDATA[What is HTML5?
<p>HTML5 is a marketing term referring to New, Exciting Web Technologies.  It used to be the name of the 5th version of HTML but that has been renamed to just &#8220;HTML&#8221;. <p><a href="http://www.basecreativeagency.com/2011/02/html5-in-5-ish-minutes/">Read more about HTML5 in 5 (ish) minutes</a></p>]]></description>
			<content:encoded><![CDATA[<h2><img class="alignright size-full wp-image-432" title="HTML5 logo" src="http://www.basecreativeagency.com/wp-content/uploads/2011/02/HTML_Logo.png" alt="HTML5 logo" width="205" height="205" />What is HTML5?</h2>
<p>HTML5 is a marketing term referring to <em>New, Exciting Web Technologies</em>. It used to be the name of the 5th version of HTML but that has been renamed to just &#8220;HTML&#8221;. When people say HTML5 they are referring to 1 or more technologies grouped under the HTML5 umbrella.</p>
<h2>Using HTML5</h2>
<p>The support for the different HTML5 technologies varies across browsers. Generally, Firefox, Chrome, Safari and Opera support most of HTML5 but the current version of Internet Explorer, 9, is lacking.</p>
<p>The lack of cross-browser support isn&#8217;t a big problem for 3 reasons:</p>
<ul>
<li>Most HTML5 features &#8220;progressively enhance&#8221; a website. That means older browsers still get a working website, just without some extra fancy bits</li>
<li>JavaScript &#8220;polyfills&#8221; and &#8220;shims&#8221; can be used to recreate HTML5 features in older browsers; though they&#8217;re often not as fast as the browsers with native implementations.</li>
<li>Browsers are updating quicker than ever before. Internet Explorer 10 and Firefox 5 are just around the corner. These browsers have much better support of HTML5.</li>
</ul>
<h2>What&#8217;s in HTML5?</h2>
<ul>
<li><strong>New semantic HTML elements.</strong> In HTML4, every block on a website is coded with &lt;div&gt; (meaning division). HTML5 brings things like &lt;header&gt;, &lt;aside&gt;, &lt;article&gt;, &lt;footer&gt; and others. This enables search engines and screen readers to work out what are the important bits of a web page.</li>
<li><strong>Better forms.</strong> HTML5 gives developers a standard way to make input boxes for dates, times, email addresses and sliders. It also has standard ways of validating user input. This means users get a consistent experience when using forms on the web but designers still have flexibility over appearance.<img class="alignnone" title="Firefox 4 input validation" src="http://demosthenes.info/assets/images/html5-required-field.png" alt="" width="464" height="117" /></li>
<li><strong>Native video, audio, diagrams (SVG) and animations (Canvas and WebGL).</strong> As HTML4 really only supports images and text, 3rd parties made browser &#8220;plugins&#8221; to extend the web. The most common plugin is Adobe&#8217;s Flash. HTML5 features are gradually replacing the need for Flash and other plugins.</li>
<li><strong>CSS3.</strong> Rounded corners on a site used to require 4 images for every style; this can be done in CSS3 with 1 line of code. With CSS3, developers can recreate designs more easily and designers can even prototype complex designs live in a web browser. CSS3 allows background gradients, transparency and much more.</li>
<li><strong>Fonts.</strong> HTML5 brings a cross-browser way of using custom fonts without using plugins or relying on heavy JavaScript libraries. This means sites can look better whilst being faster, more accessible and more usable.<img class="alignnone" title="Lobster font from Google" src="http://content.altfonts.com/img/L/O/Lobster.png" alt="" width="330" height="90" /></li>
<li><strong>Geolocation and other &#8220;device access&#8221; APIs</strong>. Web browsers are letting sites access more of a users hardware with JavaScript. You can already get a user&#8217;s current GPS position and soon you&#8217;ll be able to connect to webcams.</li>
<li><strong>JavaScript APIs such as History and Storage</strong>. For the programmers out there, HTML5 brings a whole load of fun APIs that allow web apps to behave much more like desktop apps.</li>
</ul>
<h2>Can I have an HTML5 website?</h2>
<p>Yes. At Base we like using new technologies but choosing to load your website with as much HTML5 as possible just because it&#8217;s the New Thing™ isn&#8217;t a good idea. Deciding what parts of HTML5 would be useful for your site is a more complex matter. Users may be annoyed if you tried to find out their GPS coordinates when they were just browsing a shop but if they may like the convenience of not having to fill out their full address on an order form.</p>
<div id="_mcePaste" class="mcePaste" style="position: absolute; left: -10000px; top: 478px; width: 1px; height: 1px; overflow: hidden;">&lt;/h2&gt;</div>
]]></content:encoded>
			<wfw:commentRss>http://www.basecreativeagency.com/2011/02/html5-in-5-ish-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Microsoft need to do to fix IE9</title>
		<link>http://www.basecreativeagency.com/2011/02/what-microsoft-need-to-do-to-fix-ie9/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=what-microsoft-need-to-do-to-fix-ie9</link>
		<comments>http://www.basecreativeagency.com/2011/02/what-microsoft-need-to-do-to-fix-ie9/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 15:58:07 +0000</pubDate>
		<dc:creator>daveatbase</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://v2.base-dev.com/?p=106</guid>
		<description><![CDATA[Make so more people can use IE9 instead of IE 6/7/8
<p>There are millions of people still using IE6 and IE7, even though IE8 has been out for a few years.  IE is much harder to update as it is used for legacy applications and is part of the operating system. <p><a href="http://www.basecreativeagency.com/2011/02/what-microsoft-need-to-do-to-fix-ie9/">Read more about What Microsoft need to do to fix IE9</a></p>]]></description>
			<content:encoded><![CDATA[<h2>Make so more people can use IE9 instead of IE 6/7/8</h2>
<p>There are millions of people still using IE6 and IE7, even though IE8 has been out for a few years. IE is much harder to update as it is used for legacy applications and is part of the operating system. Microsoft should decouple IE from Windows and allow IT departments to deploy IE9 along side old versions of IE.</p>
<p>IE9 requires at least Windows Vista to run. The most popular version of Windows is currently XP. I&#8217;m sure Microsoft have their reasons for not supporting XP but there&#8217;s a huge chunk of the market that will be stuck on IE8.</p>
<p>All these points add up to IE9 not being able to take much of out of IE6/7/8&#8242;s market share. As sites will still have to be built to support Microsoft&#8217;s old browsers for many more years, there won&#8217;t be enough resources for many web agencies to invest in modern web technologies. If you need to make a fallback rounded corder image for IE8, you may as well not use CSS3&#8242;s border-radius and use the same image for IE9 and all other browsers.</p>
<h2>Make so it&#8217;s easier to test and develop on IE9</h2>
<p>IE9 now has pretty good developer tools. Once you&#8217;ve got IE9 running, it&#8217;s great for developing on (almost as good as Firefox with Firebug).</p>
<p>The problem is getting IE9 in the first place.</p>
<p>IE is just about the only browser that only works on one OS. Many developers and people in IT use Mac OS X or various Linux distributions. Microsoft currently provides time-bombed virtual machine appliances for IE6, 7 and 8 but not 9. Also, these appliances are for Microsoft VirtualPC, so Mac and Linux users have to use some jiggery-pokery to get them running in VirtualBox or VMWare. Microsoft should provide appliances for IE9 that run in other virtual machine programs.</p>
<p>If you have Windows Vista or above then you can install IE9 but you loose your install of IE8, which is currently the most popular version of IE. Windows users have to use a virtual machine too.</p>
<h2>Release IE9.1, IE9.2&#8230;</h2>
<p>HTML is an evolving spec and HTML5&#8242;s technologies are still in development. The last version of IE was IE8 was lagging behind the other browsers when it was released in March 2009. 2 years is a very long time with no new features. Google push new features to Chrome every 6 weeks, which seems a bit extreme, but if Microsoft had made a few incremental feature updates to IE8 they would have made a lot of developers happy. Most Chrome users already have the latest version, even though it hasn&#8217;t been out very long. If Microsoft could pull this off too then they could keep up with the web instead of playing catch-up most of the time.</p>
<h2>Support more HTML5, CSS3 and JavaScript APIs</h2>
<p>IE9 supports so much more of the web than IE8 did. Microsoft have been really hard at work but there&#8217;s a lot more they could do. Some of these features are not supported by current versions of Chrome, Firefox, Opera or Safari but there&#8217;s no reason why IE can&#8217;t lead the pack for once.</p>
<h3>HTML5 form elements and validation</h3>
<p>New form elements, types and attributes like <code>&lt;input type="email"&gt;</code>,  <code>&lt;input type="date"&gt;</code><code> &lt;input type="text" required="required"&gt; </code>make life easier for developers. No extra JavaScript is required for date-pickers or client-side validation and users get consistent form controls for their platform.</p>
<h3>CSS3</h3>
<p>IE8 supported CSS2.1 in its entirety. IE9 adds a bit of CSS3 support, for example opacity, but there some parts of CSS3 that have been &#8220;standard&#8221; across other browsers for many years now that IE9 does not support.</p>
<ul>
<li>text shadow</li>
<li>columns</li>
<li>border images</li>
<li>flexible box layout</li>
<li>CSS transitions</li>
<li>CSS animation (Firefox 4 may not support CSS animations)</li>
</ul>
<h3>JavaScript APIs</h3>
<p>IE9 does not support the following JavaScript APIs. These are increasingly used where the browser is known not to be IE (for example Adobe AIR apps and on mobile devices).</p>
<ul>
<li>history.pushState and history.popState methods</li>
<li>Offline web apps</li>
<li>Web workers</li>
<li>File API</li>
<li>classList</li>
<li>Indexed DB</li>
<li>WebGL</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.basecreativeagency.com/2011/02/what-microsoft-need-to-do-to-fix-ie9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

