<?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>Conceptric &#187; web development</title>
	<atom:link href="http://www.conceptric.co.uk/tag/web-development/feed" rel="self" type="application/rss+xml" />
	<link>http://www.conceptric.co.uk</link>
	<description>Ideas and Applications</description>
	<lastBuildDate>Fri, 12 Aug 2011 13:00:25 +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>Realigning Conceptric</title>
		<link>http://www.conceptric.co.uk/realigning-conceptric.htm</link>
		<comments>http://www.conceptric.co.uk/realigning-conceptric.htm#comments</comments>
		<pubDate>Wed, 13 May 2009 12:02:14 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.conceptric.co.uk/?p=179</guid>
		<description><![CDATA[After a few informal projects, Conceptric is taking on a more business like persona. It's becoming my freelance trading name, and as such needs a little reorganisation.]]></description>
			<content:encoded><![CDATA[<p>This website contains information on a range of my personal interests, only a sub-set of which match my business goals. I want to demonstrate my capabilities rather than directly sell them, so a blog still makes sense. That said, I think a distinction between the two interest groups is required.</p>

<p>I want to continue blogging on personal topics: particularly investment, but anything else continues to be fair game. They&#8217;re going to have their own section of the site, but I need to bear in mind that today&#8217;s interest may become the business of tomorrow.</p>

<p>The work I&#8217;m targeting must determine content that&#8217;s pertinent to the business blog. I&#8217;ve focused on web development and administration to date, and I think this will continue. However, I could leverage my experience in project management and engineering teams better.</p>

<p>I&#8217;d like to improve the <abbr title="Really Simple Syndication">RSS</abbr> provision and integrate other social media on the site, but that&#8217;s for another post.</p>

<p>Although I&#8217;m going to radically change the category structure on the site, I&#8217;m keen to avoid breaking the Web. This is where the <a href="http://codex.wordpress.org/Using_Permalinks">permalinks</a> should come into their own&#8230; I hope.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/realigning-conceptric.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing applications for the Web</title>
		<link>http://www.conceptric.co.uk/testing-applications-for-the-web.htm</link>
		<comments>http://www.conceptric.co.uk/testing-applications-for-the-web.htm#comments</comments>
		<pubDate>Fri, 24 Apr 2009 17:22:21 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.conceptric.co.uk/?p=173</guid>
		<description><![CDATA[I'm a fan of Test-Driven Development because I enjoy the freedom that a comprehensive test suite provides: without it I tend to feel that I'm walking through a minefield.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent more time on web development using PHP frameworks recently, and I&#8217;m realising just how difficult it is to provide the sufficient code coverage, avoiding that feeling that I&#8217;m about to step on a mine.</p>

<p>My experiences got me thinking about what I needed to code confidently. As a minimum, I need to know that everything works before committing code to version control, but security comes with regular testing, and this is no use unless everything is covered.</p>

<p>Based on web development frameworks using the nearly ubiquitous <abbr title="Model View Controller">MVC</abbr> design pattern, the logic and side effects at each <a href="http://www.webopedia.com/quick_ref/app.arch.asp">application tier</a> must be tested, and I came up with this list.</p>

<ol>
<li>The Database tier schema, whether <abbr title="Relational Database Management System">RDBMS</abbr>, <abbr title="eXtensible Markup Language">XML</abbr> or anything else.</li>
<li>Data Access logic is usually implemented in models, but often uses built-in features of the framework, such as ActiveRecord.</li>
<li>Business logic is encapsulated in the models, libraries, and sometimes controllers.</li>
<li>Presentation logic at the server comprising controllers and their respective views.</li>
<li>Presentation and business logic at the client tier implemented by <abbr title="Document Object Model">DOM</abbr> scripting, mostly in JavaScript.</li>
<li>The actual data presentation at the client tier based on XHTML and CSS.</li>
</ol>

<p>I&#8217;ve tried to order it from inside the application, working out from the data tier to the client, and it&#8217;s quite a list; I&#8217;d be interested to hear what I&#8217;ve missed.</p>

<p>Since this is a huge topic, I hope to write a series of posts isolating specific areas as I encounter them, and comparing tools and approaches. The first will look at how a few development frameworks in popular languages appear to measure up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/testing-applications-for-the-web.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>There&#8217;s more to Web Applications than selling</title>
		<link>http://www.conceptric.co.uk/theres-more-to-web-applications-than-selling.htm</link>
		<comments>http://www.conceptric.co.uk/theres-more-to-web-applications-than-selling.htm#comments</comments>
		<pubDate>Mon, 02 Mar 2009 13:17:00 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[intranet]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wikis]]></category>

		<guid isPermaLink="false">http://www.conceptric.co.uk/?p=151</guid>
		<description><![CDATA[I'm frequently surprised by the number of organisations that could benefit from Web technologies, some have moved beyond the billboard website stage to including Internet retailing. Bringing the Social Internet inside your organisation can tap  resources you may not have realised you had.]]></description>
			<content:encoded><![CDATA[<p>Organisations generate huge amounts of information from activities such as sales, engineering, marketing and production. There are many proprietary software solutions to help you manage these data, but these often become a high priced jack-of-all-trades.</p>

<p>Conversely, the software behind blogs, forums and wikis on the Web have been around for a long time, establishing a reputation for solid performance under very heavy loads. Whilst they lack the complexity of <a href="http://www.webdictionary.co.uk/definition.php?query=enterprise">enterprise</a> solutions, they&#8217;re built on enterprise quality database management systems, rendering all that corporate intelligence easily searchable and secure.</p>

<p>The Internet is based on reliable, but inexpensive foundations; much of the software is free to use, even for commercial purposes; and where it isn&#8217;t the license fees are tiny compared with many proprietary packages.</p>

<p>I have an <a href="http://en.wikipedia.org/wiki/Intranet">Intranet</a> at home based on Apache web server, PHP and a <a href="http://dev.mysql.com/usingmysql/get_started.html">MySQL database</a>: all free to use and easy to install. It&#8217;s supported by a mixture of wired and wireless data connections that are common around many British homes and businesses. On this framework I&#8217;ve installed several copies of <a href="http://www.mediawiki.org/wiki/MediaWiki">MediaWiki</a>, the same software used by Wikipedia, both shared on the Intranet and privately on individual laptops.</p>

<p>Clare and I use these wikis to capture notes and the solutions to everyday issues. It provides a way for us to work jointly on these documents whilst maintaining a record of revisions. Everything is stored in a MySQL database rather than scattered around files on different drives. This can be quickly backed up and, best of all, it&#8217;s fully searchable from my browser; finding anything is really quick.</p>

<p>The bottom line is that bringing a little of the Internet inside the corporate firewall will make your intellectual property more agile, relevant, accessible and traceable: much more valuable!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/theres-more-to-web-applications-than-selling.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal revisited</title>
		<link>http://www.conceptric.co.uk/drupal-revisited.htm</link>
		<comments>http://www.conceptric.co.uk/drupal-revisited.htm#comments</comments>
		<pubDate>Thu, 24 Apr 2008 13:46:29 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[club]]></category>
		<category><![CDATA[content management system]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[writemaps]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/?p=58</guid>
		<description><![CDATA[Four months on and it's time to review progress on the <a href="http://northamptonshirebirdclub.org.uk/">Northamptonshire Bird Club</a> website. Is Drupal working out the way I hoped?]]></description>
			<content:encoded><![CDATA[<p>OK&#8230; as I mentioned in my <a href="http://www.jameswhinfrey.co.uk/using-drupal.htm">previous article</a>, I&#8217;d had a change of heart on the approach for the <a href="http://northamptonshirebirdclub.org.uk/">Northamptonshire Bird Club</a> website.</p>

<h3>Redefining the Architecture.</h3>

<p>I decided to start again by defining the information architecture for the site based on a proper discussion with the Club committee. The first few meetings on this topic just weren&#8217;t as well focused as they should have been; mostly my fault for not knowing what I wanted from them; but this time I tried targeting those features that the membership would really value. Each of the features that emerged seemed to fall into logical sections of the information architecture:</p>

<ul>
<li>About the Club &#8212; including notices, events and membership contacts.</li>
<li>Content on Birding &#8212; after all it&#8217;s the main focus of the Club.</li>
<li>Social groups within the Club divided by specific interest.</li>
</ul>

<p>These overall sections were used as containers for the more specific features, and these formed the basis for implementation.</p>

<p>I&#8217;ve tried an online tool called <a href="http://writemaps.com/">WriteMaps</a> for developing and sharing the architecture of this site. I haven&#8217;t decided whether it&#8217;s the best way to approach the job yet, but here&#8217;s <a href="http://writemaps.com/sitemaps/shareMap/3b3c848ehee80w3zgak2n5e4wi9m7vblx2ma8n6fmemi1orinj">the link to the detailed sitemap</a>.</p>

<h3>Implementing the Design.</h3>

<p>The original site used custom taxonomy &#8212; tagging &#8212; to enforce the architecture, with multiple sections of the site sharing the same content types. As I mentioned, this made it very confusing for the Club editors, which was reflected in the site presentation.</p>

<h4>Installing new modules.</h4>

<p>I needed to add several new modules to support the new content. There are several ways of doing this; this alone is a substantial topic; but the simplest is to download the module directory containing the code into the modules directory of your Drupal installation.</p>

<h4>Content types.</h4>

<p>For this redesign I decided that each of the features should have a dedicated content type so that users only need select the right one, there&#8217;s help text as you can see, and it&#8217;ll end up in the right place on the website. No more messing about with tags!</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/the-content-types.jpg" title="The new content types" alt="The new create content menu" width="400" height="450" /></div>

<p>A great tool for this is the <a href="http://drupal.org/project/cck">Content Construction Kit (<abbr title="Content Construction Kit">CCK</abbr>)</a> module. It makes implementing new content types very easy; no PHP required; and there are a wide range of modules that provide additional data fields. I&#8217;ve used several to provide dates, images and even GoogleMaps, take a look at <a href="http://drupal.org/project/Modules/category/88">the full list of compatible modules</a> on the Drupal website.</p>

<p>Once the CCK module is installed, all the changes you want to make can be managed from the <em>Content types</em> section of <em>Content Management</em>.</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/content-type-management.jpg" title="Content type management" alt="The content type management menu" width="400" height="396" /></div>

<h4>Providing access.</h4>

<p>All these new content types need to have access control set&#8211;up before you can go any further. This is done in <em>Access control</em>, under <em>User Management</em>  in the administration section of Drupal.</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/user-management-menu.jpg" title="User management menu" alt="The user management menu" width="400" height="252" /></div>

<p>You should find both create and edit options to set under <em>node module</em> for the new content types.</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/node-access-control.jpg" title="Node access control" alt="The node access control options" width="400" height="162" /></div>

<p>Once these are set the content types should appear on the appropriate <em>create content</em> menus.</p>

<h4>Setting up the paths.</h4>

<p>But you&#8217;ll want to set the <abbr title="Uniform Resource Locator">URL</abbr>s to reflect the new architecture before deploying.</p>

<p>I use <a href="http://drupal.org/project/pathauto">Pathauto</a> to provide aliases for my content that better reflect the structure of the website and present friendly URLs. You can do this manually, but if you can&#8217;t rely on your users to do this consistently I would recommend using Pathauto.</p>

<p>The <em>Pathauto</em> settings are under <em>Site Configuration</em>, and it&#8217;s the Node paths you want to set&#8211;up for your new content.</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/pathauto-overview.jpg" title="Pathauto overview" alt="Overview of the options for the Pathauto module" width="400" height="234" /></div>

<p>These, combined with the individual content types, provide the structure for the website. For example I wanted the bird guide to appear within the birding section of the site architecture with individual entries beneath this, so I set the pattern to <cite title="Pathauto pattern for the bird guide">birding/birdguide/[title].htm</cite>.</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/some-node-path-settings.jpg" title="Node path settings" alt="Examples of node path settings" width="400" height="198" /></div>

<h4>Time for a View.</h4>

<p>The Views module provides the ability to present node data in a range of different formats. With the module installed your views can be managed from the <em>Administer views</em> section found under <em>Site building</em>.</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/the-views.jpg" title="Administering Views" alt="Example of the Views administration options" width="400" height="270" /></div>

<p>Here you can define new views for each of the content types and define a URL from which the specific view can be accessed in the browser. In the image above you can seen that I wanted the bird guide list to appear as the default in the bird guide, and gave it the URL <cite title="Views URL for the bird guide">birding/birdguide</cite>. These views can generate lists, tables and customised sorting, in addition to the more standard web page presentations.</p>

<h4>&#8230;And a menu.</h4>

<p>Finally we&#8217;re going to want a menu from which all our good work can be accessed. The menus and blocks in Drupal can all be found in the <em>Site building</em> section.</p>

<p>The sequence is simple, first create a new menu for the features you&#8217;ve implemented, under the <em>Menus</em> section, using the URLs of the views;</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/the-birding-menu.jpg" title="The birding menu" alt="Example of the birding section menu" width="400" height="216" /></div>

<p>and then go to the <em>Blocks</em> section and put the new menu where you want it to appear on the website.</p>

<div style="text-align:center;"><img src="http://www.jameswhinfrey.co.uk/wp-content/uploads/blocks-in-the-left-sidebar.jpg" title="Defining blocks" alt="Placing the menus in left sidebar on the website" width="400" height="162" /></div>

<p>That should be it! Your new functionality has been added.</p>

<h3>Conclusions?</h3>

<p>Having established this workflow, I implemented each of the identified features one at a time, ensuring it was working and acceptable before moving on to the next.</p>

<p>I believe, and feedback suggests my users agree, that this approach to building a Drupal website is far more successful than a taxonomy based one. I still use taxonomy, but it now provides addition information for particular types of content rather than forming the basis for site architecture.</p>

<p>As for Drupal itself, it&#8217;s relatively easy to use, even without significant PHP knowledge, and the large community provides a huge range of contributed modules and support. This makes it a powerful way to develop feature rich, multi&#8211;user websites very quickly.</p>

<p>On the downside, I&#8217;ve found providing users with an easy way to upload and insert images very difficult. There are serious problems with using the popular <a href="http://drupal.org/project/tinymce">TinyMCE</a> <abbr title="What You See Is What You Get">WYSIWYG</abbr> editor and <a href="http://drupal.org/project/imce">IMCE</a> file handling together; individually they work OK, but together&#8230; I need to look at this again.</p>

<p>I would definitely recommend trying <a href="http://drupal.org/">Drupal</a> out if you need a <abbr title="Content Management System">CMS</abbr>, for an image rich website; such as a gallery; I&#8217;d try <a href="http://www.flickr.com/">Flickr</a> or, for ultimate control, hand coded <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/drupal-revisited.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inspirational reading</title>
		<link>http://www.conceptric.co.uk/inspirational-reading.htm</link>
		<comments>http://www.conceptric.co.uk/inspirational-reading.htm#comments</comments>
		<pubDate>Wed, 09 Jan 2008 20:34:28 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Personal Perspectives]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/inspirational-reading.htm</guid>
		<description><![CDATA[I love reading, and this Christmas resulted in a pile of new books &#8212; courtesy of the Amazon wish-list. I&#8217;ve been inspired to rethink my approach to development by two titles from this collection. The first is &#8220;The Art of Agile Development&#8221; by James Shore and Shane Warden. I&#8217;ve been introduced to agile development methods [...]]]></description>
			<content:encoded><![CDATA[<p>I love reading, and this Christmas resulted in a pile of new books &#8212; courtesy of the Amazon wish-list. I&#8217;ve been inspired to rethink my approach to development by two titles from this collection.</p>

<p>The first is &#8220;<a href="http://www.amazon.co.uk/Art-Agile-Development-Chromatic/dp/0596527675/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1199910128&#038;sr=1-1">The Art of Agile Development</a>&#8221; by <cite>James Shore</cite> and <cite>Shane Warden</cite>. I&#8217;ve been introduced to agile development methods in one of my Open University courses, but this is the first detailed description of the practices adopted by agile teams.</p>

<p>The second tome is &#8220;<a href="http://www.amazon.co.uk/Transcending-CSS-Design-Voices-Matter/dp/0321410971/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1199910014&#038;sr=8-1">Transcending CSS</a>&#8221; by <cite>Andy Clarke</cite>, which I must confess I was unsure about when I asked for it. I needn&#8217;t have worried, this is the best web design book I&#8217;ve yet read. I&#8217;ve learned a lot about the finer points of <abbr title="Cascading Style Sheets">CSS</abbr> positioning and Andy&#8217;s semantic approach to mark-up gels well with my interest in the <abbr title="eXtensible Mark-up Language">XML</abbr> in general.</p>

<p>The most exciting common factor concerns the topic of prototyping. It seems to me that approaching the whole application &#8212; from the persistence to presentation &#8212; with feature targeted development and frequent, early prototyping makes good sense. If nothing else this agile approach fills me with enthusiasm, and that may be half the battle.</p>

<p><span id="more-34"></span></p>

<p>I intend to introduce test driven development to my coding. <a href="http://www.rubyonrails.org/">Ruby on Rails</a> and <a href="http://java.sun.com/">Java</a> make good provision for this within their frameworks. <a href="http://www.php.net/"><abbr title="PHP: Hypertext Preprocessor">PHP</abbr></a> lags these two, and guess which I need to use in my next job? All is not lost though, I&#8217;ve discovered a test framework called <a href="http://simpletest.org/">SimpleTest</a>, which is modelled on <a href="http://www.junit.org/">JUnit</a>, and I&#8217;m going to give it a go.</p>

<p>I&#8217;m also investigating build, testing and deployment automation. Java provides the excellent <a href="http://ant.apache.org/">Ant</a>; a tool I&#8217;ve used to a limited extent in the past. Ant can turn it&#8217;s hand to just about any task that might need automating, but needs Java installed on the server. Unfortunately, this is something a minimal <a href="http://www.centos.org/">CentOS 5</a> server installation doesn&#8217;t possess, a little research and reconfiguration solved that problem.</p>

<p>Ruby has given rise to a deployment automation tool called <a href="http://www.capify.org/">Capistrano</a>. I haven&#8217;t any experience with Capistrano, but most report it to be very powerful and flexible. There are a number of articles on the Web detailing it&#8217;s use for deploying both Ruby and PHP applications. I&#8217;ll be giving this a go as well, but initially only with Ruby on Rails.</p>

<p>I also want to try working much closer with clients using the user story, feature driven and iterative approach. The aforementioned rapid prototyping is a key feature, required to assist communication and control the direction of development.</p>

<p>This extends to the presentation layer in the form of <abbr title="eXtensible HyperText Language">XHTML</abbr> prototypes, using semantic mark-up of the featured content with very little styling. Semantic mark-up and a systematic descriptive naming scheme should allow the design to be applied largely independently.</p>

<p>Will it all work? I hope so, but the motivation alone is appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/inspirational-reading.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why recommend Webfusion?</title>
		<link>http://www.conceptric.co.uk/why-recommend-webfusion.htm</link>
		<comments>http://www.conceptric.co.uk/why-recommend-webfusion.htm#comments</comments>
		<pubDate>Mon, 10 Dec 2007 20:45:19 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Personal Perspectives]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[pipex]]></category>
		<category><![CDATA[poor service]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[webfusion]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/why-recommend-webfusion.htm</guid>
		<description><![CDATA[After reading PC Pro magazine issues 159 and 160, I was surprised to find them recommending Webfusion for those wishing to become a web host themselves. My disbelief was due to my own experiences. I wouldn&#8217;t argue with their observations on this providers reliability, but the main problem with Webfusion, or their parent Pipex, arises [...]]]></description>
			<content:encoded><![CDATA[<p>After reading PC Pro magazine issues 159 and 160, I was surprised to find them recommending Webfusion for those wishing to become a web host themselves. My disbelief was due to my own experiences.</p>

<p>I wouldn&#8217;t argue with their observations on this providers reliability, but the main problem with Webfusion, or their parent Pipex, arises when you need any technical support. I short, there isn&#8217;t much and that isn&#8217;t very knowledgeable; possibly unless you&#8217;re a national magazine.</p>

<p>I contacted Webfusion about a problem that arose with my <abbr title="Virtual Private Server">VPS</abbr>; six weeks later and after much email, I moved to <a href="http://www.memset.com/index.php">Memset</a> without the matter being resolved. And as for Pipex, I&#8217;m still waiting for an answer to my questions about my broadband package after nearly a month.</p>

<p>Pipex services are low cost, reliable and performance is generally good; which would be great if their accounting and technical support was less dreadful. If your needs are mission critical this makes Pipex the biggest potential problem your business might have. The risk is yours, but it&#8217;s not one I&#8217;m willing to take any more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/why-recommend-webfusion.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Drupal</title>
		<link>http://www.conceptric.co.uk/using-drupal.htm</link>
		<comments>http://www.conceptric.co.uk/using-drupal.htm#comments</comments>
		<pubDate>Mon, 03 Dec 2007 17:02:49 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[content management system]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/using-drupal.htm</guid>
		<description><![CDATA[I&#8217;ve been working on a website for the Northamptonshire Bird Club which nominated committee members could easily manage themselves. I decided that a Content Management System would be be best way to achieve this, and being a fan of open source I finally settled on Drupal. I liked the modular approach to the software and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on a website for the <a href="http://northamptonshirebirdclub.org.uk">Northamptonshire Bird Club</a> which nominated committee members could easily manage themselves. I decided that a Content Management System would be be best way to achieve this, and being a fan of open source I finally settled on <a href="http://drupal.org/">Drupal</a>. I liked the modular approach to the software and I hope this will provide me with the scope to alter the website functionality as the Club&#8217;s needs changed.</p>

<p>The scope for customization in both the information architecture and presentation is huge in these systems, and I have to admit I was pretty shaky on where to start. I read blog posts and watched video tutorials, most of which were excellent, but I have often found that personal experimentation is the best way to find things out.</p>

<p>I started be using taxonomy to link content together. I customized the default content types to present a range of taxonomy terms from which the users could select to define the nature of the document. I&#8217;ve found that this leads to a patch association and presentation which is pretty hard for inexperienced users to follow. Basically, it&#8217;s a bit of a mess!</p>

<p>I&#8217;ve subsequently installed the <a href="http://drupal.org/handbook/modules/cck">Content Construction Kit (CCK) module</a> and I&#8217;m impressed with its flexibility. I don&#8217;t think it&#8217;ll handle some of the more complex content types that I&#8217;ve in mind, but these would be best implemented as separate modules anyway.</p>

<p>The CCK module allowed me to define customized content for each type of blog post, article, or sighting report that the Club needs. What&#8217;s more it creates an input form for each, allowing members to simply select the form they need and fill in the blanks. Much easier to control and far less confusing.</p>

<p>I&#8217;ve also discovered the <a href="http://drupal.org/project/views/">Views module</a>, and I&#8217;m hopeful that this will provide a far better way of ordering the website architecture than the old taxonomy driven solution. This module should allow me to really leverage the new content types I&#8217;ve defined and produce just about any content presentation I want.</p>

<p>I&#8217;ll post how I get on, but right now I&#8217;ve got a video tutorial on <a href="http://learn.awakenedvoice.com/2007/07/30/drupal-cck-and-views-tutorial/">Drupal CCK and Views</a> to watch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/using-drupal.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The best fit for purpose</title>
		<link>http://www.conceptric.co.uk/the-best-fit-for-purpose.htm</link>
		<comments>http://www.conceptric.co.uk/the-best-fit-for-purpose.htm#comments</comments>
		<pubDate>Mon, 25 Jun 2007 16:02:01 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Personal Perspectives]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[memset]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[webfusion]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/the-best-fit-for-purpose.htm</guid>
		<description><![CDATA[I always like to find and use the tools that best fit my objective. When you manage this life becomes both more interesting and more fun. I&#8217;m not happy with the web hosting package I currently use. I mean, does Fedora Core 2 sound good to you? OK, I know, it depends what I&#8217;m trying [...]]]></description>
			<content:encoded><![CDATA[<p>I always like to find and use the tools that best fit my objective. When you manage this life becomes both more interesting and more fun.</p>

<p>I&#8217;m not happy with the web hosting package I currently use. I mean, does Fedora Core 2 sound good to you? OK, I know, it depends what I&#8217;m trying to do&#8230;</p>

<p>I&#8217;m trying to develop Java and Ruby on Rails applications, and just getting the thing configured with such an antiquated version of Fedora is an up hill battle! So I&#8217;ve decided to make alternative hosting arrangements before trying anything serious.</p>

<p>On the back of a new business enterprise &#8212; Google needn&#8217;t worry for the moment &#8212; I&#8217;m going to get a couple of new <abbr title="Virtual Private Server">VPS</abbr>s.</p>

<ol>
<li>    
A development server; the <abbr title="Ruby on Rails">RoR</abbr> and Java machine with the appropriate server stacks.
</li>
<li>
Production hosting of Drupal 5 installations with LAMP for my clients, which are hard enough get faultlessly configured on the current system. 
</li>
</ol>

<p>It also seems like a good idea to separate development and production; I&#8217;m bound to knock over the development server at some point.</p>

<p>Both these systems are going to be based in the UK. They&#8217;re also going to be much more expensive than my current VPS, but I&#8217;ve learned that you often get what you pay for and I&#8217;m prepared for the expense.</p>

<p>The new host? I&#8217;ve asked questions of several and the most responsive and impressive to date is <a href="http://www.memset.com/dedicated_miniserver.php">MEMSET</a> and its Miniserver Virtual Machine range.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/the-best-fit-for-purpose.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s a website</title>
		<link>http://www.conceptric.co.uk/whats-a-website.htm</link>
		<comments>http://www.conceptric.co.uk/whats-a-website.htm#comments</comments>
		<pubDate>Thu, 14 Jun 2007 14:56:52 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/whats-a-website.htm</guid>
		<description><![CDATA[This is a short and simple article about the way a website is put together. The diagram below shows three components that are necessary to build a functioning website. The domain name. First you need an address at which your users can find your website. Your domain is your identity on the Web, so it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>This is a short and simple article about the way a website is put together. The diagram below shows three components that are necessary to build a functioning website.</p>

<p>
<img class="centered" src="http://www.jameswhinfrey.co.uk/wp-content/uploads/websites-component-2.png" alt="A diagram of the major components required to create a website" title="Website components" height="178" width="400"/>
</p>

<h3>The domain name.</h3>

<p>First you need an address at which your users can find your website. Your domain is your identity on the Web, so it&#8217;s a good idea to go for one that&#8217;s memorable.</p>

<p>Domain names are registered for a fixed number of years, and you have the right to renew your registration at the end of that period. Nominet is the registry for .uk domains.</p>

<h3>The software.</h3>

<p>This is dependent on the objectives of the proposed website. If a static billboard is all you want then the software comprises a few well written, standards compliant <abbr title="HyperText Markup Language">HTML</abbr> code. If you are building an online shop, like Amazon, then your software needs to be a lot more complex.</p>

<p>Most websites now fall somewhere in between, but are what is known as dynamic. This usually requires the use of a database to store the website information that is accessed by scripts for display.</p>

<h3>The Web host.</h3>

<p>You&#8217;ve got your domain name and created the software to run the website, but now you need a way to put all of this on the Internet.</p>

<p>This is where Web hosts come in by providing access to a web server. This kind of service is usually billed either monthly or annually. Depending on the package you select it can take two general forms:</p>

<ol>
    <li>Shared hosting &#8211; where you share the server resources with other people.</li>
    <li>Dedicated hosting &#8211; where you have a server to yourself. </li>
</ol>

<p>Of these two, the first is much less expensive than the second, but it&#8217;s nowhere near as flexible when it comes to configuring your website. The final choice is a trade off between these cost and flexibility, but here are a few criteria to bear in mind:</p>

<ol>
    <li>There needs to be enough storage space for all your files.</li>
    <li>There must be enough monthly bandwidth allowance for your user traffic.</li>
    <li>The server needs to be capable of running the software you&#8217;ve used to build your website.
        <ul>
            <li>Can it run your scripts?</li>
            <li>Do you need access to a database?</li>
        </ul>
    </li>
</ol>

<h3>The website.</h3>

<p>Roughly speaking, put these together any you&#8217;ve got the final product; a functioning website. Don&#8217;t forget, now it&#8217;s up and running it&#8217;ll need maintenance, monitoring and regular doses of new content to keep visitors coming back.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/whats-a-website.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sorting out my workflow</title>
		<link>http://www.conceptric.co.uk/sorting-out-my-workflow.htm</link>
		<comments>http://www.conceptric.co.uk/sorting-out-my-workflow.htm#comments</comments>
		<pubDate>Thu, 17 May 2007 15:45:55 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/sorting-out-my-workflow.htm</guid>
		<description><![CDATA[As I&#8217;m get busier the point has come where I need to get a grip of my workflow. I seem to spend more time working around problems than actually doing any work. The background. I&#8217;ve tried using the web server function of my NAS to test PHP and HTML based code and keep the load [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;m get busier the point has come where I need to get a grip of my workflow. I seem to spend more time working around problems than actually doing any work.</p>

<h3>The background.</h3>

<p>I&#8217;ve tried using the web server function of my <abbr title="Network Attached Storage">NAS</abbr> to test <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> and <abbr title="HyperText Markup Language">HTML</abbr> based code and keep the load on my Mac mini down, but it&#8217;s just not configurable enough; there&#8217;s no <abbr title="eXtensible Markup Language">XML</abbr> support, controlling file permissions is a nightmare. On top of it all I&#8217;m doing more <a href="http://java.sun.com/">Java</a> based work and would like to delve into <a href="http://www.rubyonrails.org/">Ruby on Rails</a>.</p>

<p>To counter this I use a headless Mini-ITX machine running Fedora Core 4 for jobs needing these features. I end up with working copies lying around all over the place, and the right machine is never switched on when I need it!</p>

<h3>The platform.</h3>

<p>So I&#8217;ve decided to rationalise: the NAS device for general file storage; a remote web server for testing, production, and as a <a href="http://subversion.tigris.org/">Subversion server</a>; and a my G4 Mac mini for all my development work. I&#8217;m sure the Mini-ITX machine will come in useful for other linux projects.</p>

<p>I want have everything I need to code and test on my local work machine. That means that, in addition to my development tools, services like <a href="http://httpd.apache.org/">Apache HTTP Server</a>, <a href="http://tomcat.apache.org/">Apache Tomcat</a>, <a href="http://mongrel.rubyforge.org/">Mongrel</a> and <a href="http://www.mysql.org/">MySQL</a> database server need to be installed and running locally on the Mac mini. Of course, this has crippled the 512Mb of <abbr title="Random Access Memory">RAM</abbr>, so I&#8217;ve just upgraded it; four inch filling knives and all; but that&#8217;s another story. I&#8217;ll admit that the ultimate goal is to upgrade to a MacBook, so that I can work wherever I like.</p>

<h3>The workflow.</h3>

<p>That done, this is how it&#8217;s going to work:</p>

<ol>
    <li>Checked out two copies of my projects to the local work machine;
<ul>
    <li>the first is the most recent, or trunk, version of the development, allowing me to modify and test as it evolves prior to committing changes to the Subversion server;</li>
    <li>the second is the current stable release, I can take a look at new releases before deploying them on the staging server, like I have one!</li>
</ul>
</li>
    <li>The staging server is going to comprise of a sub-domain of my existing website. Ideally it would be a separate machine from the production server, but that would be very very expensive considering my current income. At least the hardware and set-up will be identical and it&#8217;ll be updated by Subversion hook scripts.</li>
    <li>Finally, I&#8217;ll write a few more deployment scripts to execute manually when I decide to upgrade production to a new release. I use a combination of shell scripts, <a href="http://ant.apache.org/">Apache Ant</a>, and I&#8217;m considering trying <a href="http://www.capify.org/">Capistrano</a>.</li>
</ol>

<p>Well that&#8217;s the meat of it, but I expect I&#8217;ll find there&#8217;s a lot I&#8217;ve missed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/sorting-out-my-workflow.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where do I start &#8212; part 2?</title>
		<link>http://www.conceptric.co.uk/where-do-i-start-part-2.htm</link>
		<comments>http://www.conceptric.co.uk/where-do-i-start-part-2.htm#comments</comments>
		<pubDate>Thu, 10 May 2007 14:27:30 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/where-do-i-start-part-2.htm</guid>
		<description><![CDATA[The commitment has been made and development can begin, but what exactly are we developing? Guess what &#8212; more questions. Who&#8217;s going to control the website? Projects need a single point of contact to operate efficiently. Decision by committee, whilst the most democratic approach, rarely provides the reliable and rapid response needed during a development [...]]]></description>
			<content:encoded><![CDATA[<p>The commitment has been made and development can begin, but what exactly are we developing? Guess what &#8212; more questions.</p>

<h3>Who&#8217;s going to control the website?</h3>

<p>Projects need a single point of contact to operate efficiently. Decision by committee, whilst the most democratic approach, rarely provides the reliable and rapid response needed during a development project. The same applies once the website is launched. Someone needs to take editorial control, whether you&#8217;re managing the website yourself or not.</p>

<p>When selecting your representative it&#8217;s important that they can be easily contacted at short notice. Remember that time lost could turn out to be expensive; late decisions in development adversely impact on deadlines and resources; delaying new content may lose visitors and sales.</p>

<h3>What functionality does the website need?</h3>

<p>Approach the question of functionality from the perspective of your target audience rather technical capability. What do you think your visitors are going to want to find on your website and enjoy enough to want to come back?</p>

<p>The technology behind the Web is capable of providing a vast range of functionality. This topic alone is worthy of a book, but here is a list containing a few suggestions:</p>

<dl>
    
    <dt>Articles</dt>
    <dd>Longer articles like this one can present ideas, products, anything. Think of magazine articles and you&#8217;ve pretty much got the idea.</dd>
    <dt>News posts</dt>
    <dd>Posts can be thought of as items in a newsletter and are often accompanied by <abbr title="Really Simple Syndication">RSS</abbr> feeds to improve distribution to a wider audience. These are the basic components of a blog or weblog and may or may not support visitor comment. I was wondering which example to use&#8230; then I thought of my blog, <a href="http://www.jameswhinfrey.co.uk/">jameswhinfrey.co.uk</a>.</dd>
    <dt>E-commerce</dt>
    <dd>How could I not include this? The ability to buy and sell almost anything over the Internet, the best known example has to be <a href="http://amazon.co.uk">Amazon</a>.</dd>
    <dt>Discussion forums</dt>
    <dd>Forums provide a way for your customers to ask you questions and discuss your products and services. It&#8217;s hard to find a great example, but this is <a href="http://discussions.apple.com/index.jspa">Apple</a>.</dd>
    <dt>Wikis</dt>
    <dd>Wikis enable the collaborative generation of content and they&#8217;ve been used to create product documentation and online knowledge bases. Take a look at <a href="http://wikipedia.org">Wikipedia</a>.</dd>
    <dt>Galleries</dt>
    <dd>There are a number of online image galleries, try <a href="http://flickr.com">flickr</a> to see a great example.</dd>
    <dt>Multimedia</dt>
    <dd>This is a very wide category, examples of which are animation and audio content &#8212; podcasts, take a look at <a href="http://www.apple.com/itunes/store/podcasts.html">iTunes</a> for that one.</dd>

</dl>

<h3>How often do I need to modify the website?</h3>

<h4>Content management.</h4>

<p>Depending on the length of your audience&#8217;s attention span, you need to keep the new content coming. If you need to regularly add new content, the ability to do it yourself may be attractive; but consider whether you have the time and skills to create interesting, high quality content. If you don&#8217;t then pay someone who does to write the copy for you; you&#8217;ll get a better product and save yourself a lot of time.</p>

<h4>Look and feel.</h4>

<p>If your audience is very design conscious the look and feel may need updating relatively frequently. Even if they&#8217;re not, you can&#8217;t ignore this aspect and a fresh look will keep visitors interested. You&#8217;re probably not going to do this yourself, so expect to consult an agency and pay for this work. Technical features in the design can make this process much quicker and more effective; foremost amongst these are web standards compliance.</p>

<h3>And now we can start the development.</h3>

<p>The next topic I&#8217;m going to address is broadly how the project progresses from this point to deployment, but that&#8217;s for another time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/where-do-i-start-part-2.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where do I start?</title>
		<link>http://www.conceptric.co.uk/where-do-i-start.htm</link>
		<comments>http://www.conceptric.co.uk/where-do-i-start.htm#comments</comments>
		<pubDate>Thu, 10 May 2007 11:44:31 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Everything]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/where-do-i-start.htm</guid>
		<description><![CDATA[Asking a few simple and relatively obvious questions at the beginning of a project can save a lot of wasted time and effort. In web development the first, and most important, question: Do I need a website? It seems a simple question doesn&#8217;t it, but it&#8217;s not as simple as it first appears. There are [...]]]></description>
			<content:encoded><![CDATA[<p>Asking a few simple and relatively obvious questions at the beginning of a project can save a lot of wasted time and effort. In web development the first, and most important, question:</p>

<h3>Do I need a website?</h3>

<p>It seems a simple question doesn&#8217;t it, but it&#8217;s not as simple as it first appears. There are three aspects to consider when arriving at your answer. A good development agency can offer guidance on these topics; contact them as soon as possible to ensure you end up with a quality product.</p>

<h4>With whom am I trying to communicate?</h4>

<p>This is the key, and what the Web is all about. If your not trying to communicate with anyone or have nothing to say, you don&#8217;t need a website. If you don&#8217;t know your target audience, you need to work on this first.</p>

<p>Start with your existing customer base or interest group, and then try extrapolating to your future goals. It&#8217;s worth careful thought, this target audience will determine the form and function of the final website.</p>

<h4>Do I have time for a website?</h4>

<p>A good website is never finished. Your website must be kept fresh, through the continuous addition of new content and functionality, if you want your hard won visitors to keep coming back.</p>

<p>Editorial management and writing content itself can be a very time consuming proposition that must be considered.</p>

<p>You&#8217;ll want to ensure you get what you want. Even with the best support in the world you&#8217;ll have to devote a substantial amount of time to the development project. Your chosen agency can handle the technical aspects, but without your timely input the project can&#8217;t run efficiently and you could be left disappointed; a situation benefits neither you nor the agency.</p>

<h4>Do I have the money to support a website?</h4>

<p>Of course none of this comes for free; whether outsourcing the work or using your own time; a web development project is a financial commitment. In addition to the manpower resources, the final stage in the project is deploying your new website. To do this you&#8217;ll need to buy a suitable domain name and hosting the website on a web server will usually entail a monthly fee.</p>

<h3>I want a website, so what next?</h3>

<p>You&#8217;re fully committed to the development project, what follows are a few more questions to define the form and function of your website. These are what I want to discuss in the next part of this series.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/where-do-i-start.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing my content</title>
		<link>http://www.conceptric.co.uk/managing-my-content.htm</link>
		<comments>http://www.conceptric.co.uk/managing-my-content.htm#comments</comments>
		<pubDate>Wed, 09 May 2007 15:50:47 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Personal Perspectives]]></category>
		<category><![CDATA[Posts]]></category>
		<category><![CDATA[content management system]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/managing-my-content.htm</guid>
		<description><![CDATA[I&#8217;ve just decided to use this blog to manage some of the content for my new business website &#8212; cyberstruction.co.uk. Cyberstruction is implemented using the Cocoon framework, but I think I&#8217;ve mentioned this before. Cocoon is especially good at aggregating data from different sources and WordPress is designed to provide both easy publishing and RSS [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just decided to use this blog to manage some of the content for my new business website &#8212; <a href="http://cyberstruction.co.uk">cyberstruction.co.uk</a>. Cyberstruction is implemented using the <a href="http://cocoon.apache.org/">Cocoon</a> framework, but I think I&#8217;ve mentioned this before.</p>

<p>Cocoon is especially good at aggregating data from different sources and <a href="http://wordpress.org/">WordPress</a> is designed to provide both easy publishing and <abbr title="Really Simple Syndication">RSS</abbr> distribution. Put these together and I hope to centralise my content generation and management, whilst providing access from wherever I want.</p>

<p>I&#8217;ve never bothered using the online editor provided with WordPress, other than simply pasting text into the form fields. I use <a href="http://macromates.com/">Textmate</a> to write my articles and publish them using <abbr title="eXtensible Markup Language">XML</abbr>&#8211;<abbr title="Remote Procedure Call">RPC</abbr>, and frankly I find this arrangement suits me very well.</p>

<p>Rather than replicating this functionality on my new website, I thought I&#8217;d build a customised XML feed in WordPress and apply a <abbr title="eXtensible Stylesheet Language Transformations">XSLT</abbr> template to incorporate the content into Cyberstruction.</p>

<p>I should be able to apply this same solution to feeds from other web applications such as <a href="http://del.icio.us">del.icio.us</a> and <a href="http://flickr.com">flickr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/managing-my-content.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The format of the future</title>
		<link>http://www.conceptric.co.uk/the-format-of-the-future.htm</link>
		<comments>http://www.conceptric.co.uk/the-format-of-the-future.htm#comments</comments>
		<pubDate>Thu, 19 Apr 2007 15:50:04 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/the-format-of-the-future.htm</guid>
		<description><![CDATA[Recently I&#8217;ve been building a website using Cocoon 2.1.9, a Java based publishing framework. I chose this platform largely for the experience with Java and, in a few weeks time, native XML databases. I&#8217;ve worked with XML before, often in the form of RSS, and have found this way of structuring documents fairly logical. But [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been building a website using <a href="http://cocoon.apache.org/">Cocoon 2.1.9</a>, a Java based publishing framework. I chose this platform largely for the experience with Java and, in a few weeks time, native <abbr title="eXtensible Markup Language">XML</abbr> databases.</p>

<p>I&#8217;ve worked with XML before, often in the form of <abbr title="Really Simple Syndication">RSS</abbr>, and have found this way of structuring documents fairly logical. But what about using XML and associated technologies to build an entire website?</p>

<h3>Schema: Defining the data structure.</h3>

<p>This brief really brought home the importance of getting the initial document structure right. Establishing the appropriate schema is as important for XML documents as it is in <abbr title="Relational Database Management System">RDBMS</abbr>s, after all it determines the flexibility of your data storage and can&#8217;t easily be redesigned. I&#8217;m hoping that all the time I&#8217;ve spent will pay dividends as the web application grows.</p>

<h3>Data storage and handling.</h3>

<p>It also highlighted those things that XML and RDBMS do best.</p>

<p>Take a document like this one, it&#8217;s a hierarchically ordered plain text file which is perfectly suited to XML. In fact if you make it more complex, like a book with chapters for example, it becomes even better suited to XML and harder to implement in a RDBMS. I think, though I must confess I&#8217;ve never fully understood, that this is what they refer to as docu-centric data.</p>

<p>Now take a load of bird sighting data; totally different project; that relates species to locations to dates to weather conditions to&#8230; well you get the idea. These are complex many-to-many relationships and this is where RDBMS shine. Coupled to fact that most RDBMS have considerable power for processing complex search queries and they&#8217;re the platform of choice for this type of work.</p>

<p>RDBMS are already heavily used on the Web, but in my opinion, increasing amounts of docu-centric data is going to be made available on the Web and <abbr title="Local Area Network">LAN</abbr>s in XML format. Most office applications already support this and many use file formats that are natively XML. Interoperability is going to depend on communicating in XML and the possibilities this presents for new platforms and services is exciting to me&#8230; errr just pretend I didn&#8217;t say that. Cocoon is interesting because it permits me to use any of these data sources and handle the whole lot as XML streams.</p>

<h3>And the presentation.</h3>

<p>Which brings me to the presentation layer, where Cocoon is primarily focused. So far I&#8217;m impressed, the best part has been working with XML and <abbr title="eXtensible Stylesheet Language">XSL</abbr>. It&#8217;s fantastic using <abbr title="eXtensible Stylesheet Language Transformations">XSLT</abbr> stylesheet to creat the web page structure and <abbr title="Cascading Style Sheets">CSS</abbr> implement the graphic design. It is allowing me to handle documents and construct the website in much cleaner and more adaptable way than I&#8217;ve achieved with PHP.</p>

<p>In addition I can use XSLT stylesheets to manipulate well structured XML documents before passing the result to another for transformation into the final XHTML web page. All this currently takes place on my server, consuming system resources and some might say reducing scalability. The original goal of exploring this technology was for my websites to work natively in XML, whether they have a RDBMS back-end or not. In time I hope to be able to transfer much of the presentation layer processing load to the client using the browser client-side XSLT capability.</p>

<p>I&#8217;ve been experimenting with that too, and it&#8217;s impressive what can already be done, as long as you&#8217;re not afflicted with Microsoft Internet Explorer 6. <a href="http://www.mozilla.com/en-US/firefox/">Firefox 2</a>, <a href="http://www.opera.com/">Opera 9</a> and Safari all work well with basic XML/XSLT and CSS. Web applications could assess the processing capabilities of the clients and send either XML/XSLT/CSS or XHTML/CSS, for example, for desktop or mobile platforms respectively. In addition for saving processing power the first option gives the client more flexibility in handling the data as we&#8217;ve already seen with RSS.</p>

<h3>Where next?</h3>

<p>I&#8217;m going to finish my Cocoon website, enabling the option for client-side transformations. Then I&#8217;m going to design an XSL based WordPress theme. That might seem a bit pointless since PHP can be viewed as a templating language itself, but as I&#8217;ve explained above XML is the future. But most of all I intend to enhance my skills with XML technologies, a step which I think will pay off soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/the-format-of-the-future.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s always been about the content</title>
		<link>http://www.conceptric.co.uk/its-always-been-about-the-content.htm</link>
		<comments>http://www.conceptric.co.uk/its-always-been-about-the-content.htm#comments</comments>
		<pubDate>Fri, 09 Mar 2007 16:22:03 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Personal Perspectives]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/its-always-been-about-the-content.htm</guid>
		<description><![CDATA[It&#8217;s always been the case and never more so than now. Once the quality of your writing was all that could differentiate you from the competition. Adding images lead to download times certain to lose the interest of even your greatest fans. Time and the Web have moved on and broadband makes a full multimedia [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s always been the case and never more so than now. Once the quality of your writing was all that could differentiate you from the competition. Adding images lead to download times certain to lose the interest of even your greatest fans.</p>

<p>Time and the Web have moved on and broadband makes a full multimedia experience a possibility. But you don&#8217;t have to go that route. It&#8217;s all a matter of what your trying to say.</p>

<h3>Text isn&#8217;t dead</h3>

<p>The quality of the content your writing is still one of the biggest factors for success. Unfortunately, the promise of multimedia has pushed this into obscurity. The power of good copy writing is often underestimated and it is assumed that the content can be added to pad out the design at a later date. This is a big mistake, since the text usually form the backbone of a website.</p>

<h3>I want multimedia</h3>

<p>And you can have it, just remember that the success of the media you use is dependent on how you use it. The days of the flashing gif image and continuous tinny background soundtrack are long, long gone.</p>

<p>Don&#8217;t get me wrong, I&#8217;m not knocking imagery. Careful use of images provides the spice that grabs the attention before the &#8216;back&#8217; button is pressed, and everyone knows how a picture is worth a thousand words. But note the use of the word <strong>&#8220;careful&#8221;</strong>, web images need to provide maximum impact on a range of different computer platforms; for example, Windows and Apple; whilst remaining as compact as possible. Large images, or many small images, will result in a slow response, even in these days of broadband, and that is a good way to lose visitors.</p>

<p>It&#8217;s not just images though. Many websites owe their considerable success to media such flash animations, audio and video. If any of these technologies add to the message of your website then why not use them. Always remember the trade-off in website performance. If you think a particular media resource has value but is going to slow things down, don&#8217;t force it on the visitor, give them the option.</p>

<h3>Consider your content</h3>

<p>The underlying message is that content isn&#8217;t an afterthought, it&#8217;s the website! But the choice of media available to convey your message has never been greater. Carefully consider what message your website is trying to pass on and then design the content to meet the goal. Only then are you ready to design the website to present it.</p>

<h3>Examples of multimedia on the Web</h3>

<ul>
    <li><a href="http://www.flickr.com/">flickr</a></li>
    <li><a href="http://www.youtube.com/">YouTube</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/its-always-been-about-the-content.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Informing the future</title>
		<link>http://www.conceptric.co.uk/informing-the-future.htm</link>
		<comments>http://www.conceptric.co.uk/informing-the-future.htm#comments</comments>
		<pubDate>Fri, 09 Feb 2007 17:20:59 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/informing-the-future.htm</guid>
		<description><![CDATA[Data, data everywhere. The availability and manipulation of information is a key factor in the development of society. The modern era has seen significant advances, with technologies such as printing, radio and television providing access to ever increasing amounts of data. The mass adoption of the internet has increased the rate at which data can [...]]]></description>
			<content:encoded><![CDATA[<h3>Data, data everywhere.</h3>

<p>The availability and manipulation of information is a key factor in the development of society. The modern era has seen significant advances, with technologies such as printing, radio and television providing access to ever increasing amounts of data. The mass adoption of the internet has increased the rate at which data can be disseminated. However, the proliferation of information sources has also made separating the wheat from the chaff increasingly difficult. Apart from the obvious trouble with knowing who to trust, huge quantities of data make it much harder to find what you want. We all use search engines and know that finding what you really want is not as easy as might be assumed.</p>

<h3>And the future?</h3>

<p>The future is likely to see even greater levels of information integration using the internet as a robust media. The boundary between desktop and web applications is already blurred and I suspect that this trend will continue. Web applications will become less about presenting information and the desktop itself will become increasingly integrated with the web. The kind of <a href="http://www.xml.com/pub/a/ws/2003/09/30/soa.html">service-oriented architectures (SOA)</a> used on the web today will become increasingly common. Our personal computing may take place on a relatively low powered machine leveraging the services provided on much more powerful distributed servers of the type already common on the internet. These machines may <a href="http://carbonite.com/">store our data remotely and securely</a>, whilst others provide access to databases around the globe.</p>

<h3>&#8220;Results 1 &#8211; 10 of about 424,000,000 for whatever you wanted&#8221;.</h3>

<p>Unless there are advances in the way we handle all these data, there&#8217;ll be a lot of browsing to do.  One path is the spread of <a href="http://www.w3.org/XML/">eXtensible Markup Language (XML)</a> that has so far given us RSS and Atom feeds, without which a blog wouldn&#8217;t be a blog. XML is similar to the HyperText Markup Language (HTML) that has been behind websites for years, but it also provides the ability to define custom tags. These can be used to describe the type of data contained between the opening and closing tags. In this manner a single text document can provide information about data and the structure of these data. This is what takes us closer to the goal of having a document that can be read by humans and machines alike. Widespread adoption would give rise to <a href="http://www.w3.org/2001/sw/">the Semantic Web</a>.</p>

<h3>Great where does that get us?</h3>

<p>Once data can be fully understood be machines as well as us humans, we can delegate the task of filtering all those hits to our machines. Why not? Not only are they far quicker at this sort of thing, but they don&#8217;t get bored doing it! Well&#8230; not yet they don&#8217;t, but what if we have to use artificial intelligence in order to enable these machines to understand the meaning of that for which they are searching? And you thought you argued with your computer now!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/informing-the-future.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rise of the mobile Web</title>
		<link>http://www.conceptric.co.uk/rise-of-the-mobile-web.htm</link>
		<comments>http://www.conceptric.co.uk/rise-of-the-mobile-web.htm#comments</comments>
		<pubDate>Fri, 09 Feb 2007 17:20:47 +0000</pubDate>
		<dc:creator>James Whinfrey</dc:creator>
				<category><![CDATA[Everything]]></category>
		<category><![CDATA[Personal Perspectives]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jameswhinfrey.co.uk/rise-of-the-mobile-web.htm</guid>
		<description><![CDATA[I&#8217;m finding increasing interest in the possibilities raised by mobile communications and devices. A survey by Informa Telecoms and Media estimated that there would be over 3 billion mobile phone subscribers throughout the world by the end of 2007. The fastest growing markets are in India, China, Africa and Latin America where slightly older fashioned [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m finding increasing interest in the possibilities raised by mobile communications and devices. A survey by Informa Telecoms and Media estimated that there would be over 3 billion mobile phone subscribers throughout the world by the end of 2007. The fastest growing markets are in India, China, Africa and Latin America where slightly older fashioned phones are extremely popular.</p>

<p>Old they may be, but being capable of accessing the Internet has been a basic feature of Western mobile phones for sometime, so these older phones should be able to manage it. Lets face it, when I first regularly started surfing the Web I was using a 75MHz Pentium. Almost any phone sports a far higher specification than that venerable machine. Indeed, if you ignore graphics, most modern phones have a performance close to that seen in desktops only a few years ago.</p>

<p>Even if most of that audience doesn&#8217;t subscribe to a package that provides data transfer, and I don&#8217;t yet, that&#8217;s still a very large potential audience. It started me wondering whether the mobile phone, handheld, smartphone or whatever you want to call the device could become the principle way of accessing the Web in the future.</p>

<h3>The personal computer.</h3>

<p>As I said above, these devices already have the performance edge on what I considered to be my <abbr title="Personal Computer">PC</abbr> a relatively short time ago&#8230; albeit in real everyday world terms. They are capable of running a wide range of applications up to and including Microsoft Windows and Office. Combined with some data services available today rivalling the speed provided by mainstream boardband, let alone dial-up networking, and you&#8217;ve got a powerful computing tool.</p>

<h3>So why aren&#8217;t I using one?</h3>

<p>Because there are a few hurdles to jump first.</p>

<ol>
    <li>The price for data transfer and internet access charged by major networks is far too high, but the indications are that it&#8217;s going to fall soon.</li>
    <li>User interaction is limited by a couple of features:
<ul>
    <li>User input is difficult with a phone keyboard, especially if your <acronym title="Age exceeding that of young adults capable of texting faster than you can see!">old</acronym> like me.</li>
    <li>Small screens limit the amount of data that can usefully be displayed.</li>
</ul>
</li>
</ol>

<p>Navigation and user interaction can be simplified and using web standards for website design, improving accessibility on a small screen and useless keyboard.</p>

<p>The download size of mobile websites can be minimised to reduce use of your expensive bandwidth and improve speed. Is this just like the old days of the Web or what?</p>

<p>Ultimately, I think that the mobile Web will be built on web applications customised for mobile devices. The functionality and presentation of these applications could be optimised for mobile users, but more importantly they will be designed to specific jobs for a mobile audience.</p>

<p>For example: Ever used <a href="http://maps.google.co.uk/">Google Maps</a> to get directions before going on a trip? In the future I bet it will integrate with your phone&#8217;s <abbr title="Global Positioning Satellite">GPS</abbr> function to guide you there whilst finding you the phone number to let them know your on your way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.conceptric.co.uk/rise-of-the-mobile-web.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

