<?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>Arpia.be &#187; Webdesign</title>
	<atom:link href="http://www.arpia.be/tag/webdesign/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arpia.be</link>
	<description>Website of Peter Craddock, novel writer and composer</description>
	<lastBuildDate>Wed, 14 Dec 2011 13:04:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tutorial: Multi-page, multi-column web pages</title>
		<link>http://www.arpia.be/2010/02/tutorial-multi-page-multi-column-web-pages/</link>
		<comments>http://www.arpia.be/2010/02/tutorial-multi-page-multi-column-web-pages/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 16:08:08 +0000</pubDate>
		<dc:creator>Peter Craddock</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.arpia.be/?p=295</guid>
		<description><![CDATA[At some point in the redesign process of Arpia.be, I started to consider the idea of a &#8220;book-like&#8221; feel, where the content would be presented in two columns, and users could flip to the next page of content seamlessly.
The way I see it, this is something that has so far only been done using Flash, [...]]]></description>
			<content:encoded><![CDATA[<p>At some point in the <a href="http://www.arpia.be/2010/01/arpia-be-design-refresh/">redesign process of Arpia.be</a>, I started to consider the idea of a &#8220;book-like&#8221; feel, where the content would be presented in two columns, and users could flip to the next page of content seamlessly.</p>
<p>The way I see it, this is something that has so far only been done using Flash, so it may be of interest to web designers <span class="amp">&amp;</span> developers to see how they can achieve this <em>without</em> Flash, in a cross-browser compatible manner.</p>
<p><span id="more-295"></span></p>
<p>Our aim? To use <strong>CSS3 native support for multiple columns</strong> on the most &#8220;advanced&#8221; browsers (here: <strong>Safari, Chrome and Firefox</strong>), and to find a <strong>backwards-compatible technique</strong> for the others (in this case, <strong>Opera and Internet Explorer</strong>).</p>
<p class="separator">&nbsp;</p>
<h3>Basics: sources, &hellip;</h3>
<p>These annotated files are used in this article:</p>
<ul>
<li>CSS: <a href="http://www.arpia.be/public/wp/ie_multicolumn.css">ie_multicolumn.css</a> (for IE), <a href="http://www.arpia.be/public/wp/main.css">main.css</a> (for all browsers), <a href="http://www.arpia.be/public/wp/multicolumn.css">multicolumn.css</a> (for Opera)</li>
<li>Javascript: <a href="http://www.arpia.be/public/wp/css3-multi-column.js">css3-multi-column.js</a> (for IE and Opera), <a href="http://www.arpia.be/public/wp/pageturn.js">pageturn.js</a>, <a href="http://www.arpia.be/public/wp/stylesheet.js">stylesheet.js</a></li>
</ul>
<p>The web page that helped me the most with this design process was an article on A List Apart: <a href="http://www.alistapart.com/articles/css3multicolumn/">&#8220;Introducing the CSS3 Multi-Column Module&#8221;</a>, written by Cédric Savarese. In this article, Cédric not only explains the CSS3 multi-column module, but also the manners in which to emulate this behaviour using Javascript on browsers that do not support this CSS3 module. Cédric wrote a script in Javascript for this purpose.</p>
<p>There is, however, one issue with this article: the website to which it links, CSScripting.com, does not seem to respond (I&#8217;ve tried often). Using Google (or your favourite search engine), you can nevertheless easily find other websites using the script (&#8220;css3-multi-column.js&#8221;).</p>
<p class="separator">&nbsp;</p>
<h3>The HTML &#8211; containers</h3>
<p>This may sound ugly, but the best way I&#8217;ve found to implement this trick, after <em>much</em> trial <span class="amp">&amp;</span> error, involves as many as <strong>4 DIVs</strong> around the content.</p>
<p>First, the DIV you would normally have used for the content. Second, the first DIV required by Cédric Savarese&#8217;s Multi-Column system (there must be a difference between these two, for reasons linked to the page turning effect &#8211; see below). Third, a DIV used for the transition between pages, for non-Internet Explorer browsers (this is linked to a fade effect, which doesn&#8217;t work as smoothly in IE &#8211; see below for the page turning effect). Fourth, the second DIV required by the Multi-Column system.</p>
<p>The HTML doesn&#8217;t look all that pretty, but I didn&#8217;t want to change the JS code too much, hence the remains of the &#8220;one&#8221; and &#8220;two&#8221; classes from the Multi-Column system:</p>
<pre>
&lt;div id="article"&gt;
	&lt;div class="one" id="content"&gt;
	&lt;!--[if !IE]&gt;&lt;!--&gt;&lt;div id="columniser" style="margin-left: 0px;"&gt;&lt;!--&lt;![endif]--&gt;
		&lt;div id="columnified" class="two"&gt;
			[put content here]
		&lt;/div&gt;
	&lt;!--[if !IE]&gt;&lt;!--&gt;&lt;/div&gt;&lt;!--&lt;![endif]--&gt;
	&lt;/div&gt;
&lt;/div&gt;
</pre>
<p class="separator">&nbsp;</p>
<h3>The CSS &#8211; all browsers</h3>
<p>There is one major issue with the CSS3 multi-column module: so far, the browsers implementing it are Firefox (since v3), Safari (since v3.1) and Chrome (since v2). Neither Internet Explorer nor Opera support it.</p>
<p>- <a href="http://a.deveria.com/caniuse/#feat=multicolumn">Source</a></p>
<p>We will therefore define general CSS rules for all browsers, and then add some stylesheets specifically for respectively Opera and IE, as the latter will use the Javascript method of multi-column, whereas the others will not.</p>
<p>The first element for you to think about is the total amount of content you want visible. In the case of Arpia.be, I wanted two columns of a height of 430px and of a width of 330px to be visible, with a separation of 60px, i.e. a total width of 720px.</p>
<p>In experimenting, I found it better to add some &#8220;padding-top&#8221; to the columns, for better display of certain typefaces with a higher baseline. The height of the containing DIVs therefore takes into account this &#8220;padding-top&#8221;.</p>
<p>Non-annotated CSS:</p>
<pre>
div.one {
	height: 435px;
	width: 720px;
	overflow: hidden;
}
div#columniser {
	height: 435px;
	width: 720px;
	overflow: visible;
	opacity: 1;
}
div.two {
	column-count: auto;
	column-width: 330px;
	column-gap: 60px;
	-webkit-column-count: auto;
	-webkit-column-width: 330px;
	-webkit-column-gap: 60px;
	-moz-column-count: auto;
	-moz-column-width: 330px;
	-moz-column-gap: 60px;
	height: 430px;
	overflow: visible;
	display: block;
	padding: 0;
	padding-top: 4px;
}
#columnified {
	margin-left: 0;
	width: 15540px;
}
</pre>
<p>See the annotated CSS <a href="http://www.arpia.be/public/wp/main.css">here</a>.</p>
<p class="separator">&nbsp;</p>
<h3>The CSS &#8211; IE <span class="amp">&amp;</span> Opera</h3>
<p>Because of the way the Javascript method for multi-columns work (see below), some additional CSS entries are necessary for Opera and IE. In addition, IE and Opera do not handle the multi-column Javascript in the same way, so it is necessary to have different CSS for each, in addition to the main CSS file.</p>
<p><strong>Opera:</strong></p>
<pre>
#article {
	width: 720px;
	text-align: justify;
	overflow: hidden;
}
div.one,#columniser {
	max-height: 435px;
	width: 15600px !important;
	overflow: hidden;
	margin: 0;
}
div.two {
	column-count: auto;
	column-width: 330px;
	column-gap: 60px;
	max-height: 430px;
	overflow: hidden;
	margin: 0 0 0 0px;
	padding: 0;
	padding-left: 0px;
	padding-top: 4px;
}
div.two .columns, div.two .wrapper {
	width: 330px !important;
	height: 430px !important;
}
.columns {
	padding-left: 0 !important;
	padding-right: 60px !important;
}
</pre>
<p>See the annotated CSS <a href="http://www.arpia.be/public/wp/multicolumn.css">here</a>.</p>
<p><strong>IE:</strong></p>
<p>Disclaimer: I have only attempted to get this to work on IE7 and IE8, as IE6 would most probably require a whole lot more work (I found that IE6 crashed using the current, modified multi-column JavaScript &#8211; I did not seek to find the source of the issue).</p>
<pre>
#article {
	width: 740px;
	height: 470px;
	text-align: justify;
	overflow: hidden;
}
div.one {
	max-height: 435px;
	width: 15600px;
	overflow: visible;
	margin: 0;
}
div.two {
	column-count: auto;
	column-width: 330px;
	column-gap: 60px;
	max-height: 430px;
	overflow: visible;
	margin: 0 0 0 0px;
	padding: 0;
	padding-left: 0px;
	padding-top: 0px;
}
div.two .columns, div.two .wrapper {
	width: 330px !important;
	height: 430px !important;
}
.columns {
	padding-left: 0 !important;
	padding-right: 60px !important;
}
div#columnified {
	float: left;
}
</pre>
<p>See the annotated CSS <a href="http://www.arpia.be/public/wp/ie_multicolumn.css">here</a>.</p>
<p class="separator">&nbsp;</p>
<h3>The Javascript &#8211; Adapting css3-multi-column.js</h3>
<p>Now that those basic CSS properties are defined, we must examine the multi-column script, to see how it will be used in Opera and IE, before looking at how we switch between pages.</p>
<p>Cédric Savarese&#8217;s script is brilliant at enabling multi-column layouts on browsers not supporting this CSS3 module. However, it was made with the idea of a fluid layout in mind, and one where all the content is visible. We, on the other hand, wish to hide some of the content.</p>
<p>There are some issues with the multi-page adaptation of multi-columns that led me to change certain elements within the code of <a href="http://www.arpia.be/public/wp/css3-multi-column.js">the Javascript I use</a>.</p>
<p>First, Cédric&#8217;s script creates DIVs within an &#8220;available width&#8221; generally limited to the browser window&#8217;s horizontal length. It is our aim, however, to have all these DIVs sitting right next to each other on a horizontal line, for as long as it takes to display all the content. It is therefore to <strong>fix the available width to an amount</strong> far greater than the browser window width. In the Javascript, the line is &#8220;var availableWidth = 15600;&#8221;, but you can choose to make it far larger. In my case, it was because I did not believe I would ever go beyond 40 columns of text (at 330px for a column, 60px for the gap between columns).</p>
<p>A second important change was <strong>fixing the height of the columns within the Javascript</strong>. I found this to be necessary, as the reading of data from the CSS did not seem to force the Javascript to create the DIVs exactly as I wished them to be (see &#8220;var newHeight = 430;&#8221; in the script, az well as all the instances of &#8220;430&#8243;, which force the value instead of &#8220;newHeight&#8221;).</p>
<p><strong><em>These values, &#8220;430&#8243; and &#8220;15600&#8243;, are the two main points in my modified version of the script that you will want to change to your own values.</em></strong></p>
<p>As regards height, another important change was to replace &#8220;findSplitPoint(elem, newHeight*i, wrapper);&#8221; in the &#8220;processElement&#8221; function with &#8220;findSplitPoint(elem, newHeight, wrapper);&#8221;, to avoid the creation of DIVs greater than the newHeight limit (430px in my case), even if there are only 10px more to complete a tag (a &#8220;P&#8221;, a &#8220;DIV&#8221;, &hellip;).</p>
<p>Furthermore, whereas in Cédric&#8217;s script, the containing DIV, the &#8220;wrapper&#8221;, could have a random ID, in our case it is necessary to define this ID for the purpose of sliding it in Internet Explorer (see below for the page-turning effect). Therefore, &#8216;if(!wrapper.id) wrapper.id = &#8220;columnified&#8221;;&#8217;. On a similar note, to allow better control of the columns, it is useful to define a class: &#8220;elem.className = &#8220;columns&#8221;;&#8221; (I also defined the wrapper class: &#8220;wrapper.className = &#8220;wrapper&#8221;;&#8221;).</p>
<p>Finally, at the top of the script, there is a list of &#8220;splitableTags&#8221;. I expanded this list to contain table-related elements, because I use tables in certain areas.</p>
<p>You can find this adapted script <a href="http://www.arpia.be/public/wp/css3-multi-column.js">here: css3-multi-column.js</a>.</p>
<p class="separator">&nbsp;</p>
<h3>The HTML &#8211; Turning pages</h3>
<p>Now that the infrastructure is there, it&#8217;s time to work on allowing the user to go between pages, i.e. to slide the content so he/she can view the hidden columns.</p>
<p>We&#8217;ll be using Javascript for this effect, so here is the HTML for calling the page-turning function:</p>
<pre>
&lt;div class="nav"&gt;
	&lt;ul class="arrows"&gt;
		&lt;li id="previous"&gt;&lt;a href="#" id="aprevious" onclick="changeColumns(1,'previous');return false;"&gt;&lt;span&gt;Previous page&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
		&lt;li id="next"&gt;&lt;a href="#" id="anext" onclick="changeColumns(-1,'next');return false;"&gt;&lt;span&gt;Next page&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
</pre>
<p>In the function &#8220;changeColumns()&#8221;, the first value shows the direction, while the second is the title of the ID of the element clicked.</p>
<p>Why &#8220;-1&#8243; for &#8220;Next&#8221;? When the user clicks on &#8220;Next&#8221;, we want the two visible columns to go left, to leave space for the next two columns. Because we&#8217;re playing on &#8220;margin-left&#8221;, as you&#8217;ll see in the Javascript file, we want the value for &#8220;Next&#8221; to be negative.</p>
<p class="separator">&nbsp;</p>
<h3>The Javascript &#8211; Turning pages</h3>
<p>To turn pages, one can proceed in several steps. First, we must ensure that when the user clicks on the &#8220;Next&#8221; or &#8220;Previous&#8221; button/link, the content moves, and it moves to the correct place. Second, to create a better experience, we can animate this change.</p>
<p>The essence of the sliding of the content is that we&#8217;re playing on &#8220;margin-left&#8221; of the relevant DIV (if IE: columnified; if not IE: columniser &#8211; this is linked to the animation).</p>
<p>For my website, I chose to do a &#8220;fade out/slide/fade in&#8221; animation, but found that it was sluggish on Internet Explorer. This is the reason for which IE users do not need the &#8220;columniser&#8221; DIV.</p>
<p>Other animation choices are possible: you may choose to fade out the entire content and show a page-turning effect, if you have a book design. This is what I did for a &#8220;book&#8221; proof-of-concept design on which I worked earlier (here, it seems as though the user is actually flipping through pages of a book).</p>
<p>Here are the three sets of functions (4 functions in total) we shall be using:</p>
<p><strong>changeColumns()</strong></p>
<p>In our HTML for turning pages, we defined the function as &quot;changeColumns()&quot;, with two values: first, a value showing the direction, and in second instance the ID of the element clicked.</p>
<p><strong>animateSlide()</strong></p>
<p>animateSlide(), as its name indicates, will animate the transition between two pages by sliding the content. As was seen previously, IE users are not faced with this function, because of the transition lag it causes.</p>
<p><strong>setOpacity() and fade()</strong></p>
<p>The two last functions relate to the fading in/out of the content. These are very standard, and work in all browsers (through the use of &quot;filter&quot; for IE &#8211; I have retained this here for the sake of completeness, but it is not used, as IE users do not see the fade animation).</p>
<p><strong>Full pageturn.js</strong></p>
<p>As the JavaScript involved is long, I have not reproduced it in this post. You may view an <a href="http://www.arpia.be/public/wp/pageturn.js">annotated &quot;pageturn&quot; script</a> to see the functions with explanations for each step.</p>
<p class="separator">&nbsp;</p>
<h3>Serving the CSS and the Javascript</h3>
<p>Finally, how do we combine all of this? We want Opera users to have the main CSS file and the Opera one, as well as the multi-column Javascript, but we don&#8217;t want Safari users to have the additional Javascript, given that they have CSS3 Multi-Column support.</p>
<p>The solution is to feed different files to different browsers, using Javascript:</p>
<pre>
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) { //test for IE x.x;
	document.write(&quot;&lt;!--[if IE 8]&gt;&lt;link rel='stylesheet' type='text/css' href='main.css' media='screen, projection' /&gt;&lt;link rel='stylesheet' type='text/css' href='ie_multicolumn.css' media='screen, projection' /&gt;&lt;![endif]--&gt;&quot;);
	document.write(&quot;&lt;!--[if IE 7]&gt;&lt;link rel='stylesheet' type='text/css' href='main.css' media='screen, projection' /&gt;&lt;link rel='stylesheet' type='text/css' href='ie_multicolumn.css' media='screen, projection' /&gt;&lt;![endif]--&gt;&quot;);
	document.write(&quot;&lt;!--[if lte IE 6]&gt;&lt;link rel='stylesheet' type='text/css' href='http://universal-ie6-css.googlecode.com/files/ie6.0.3.css' media='screen, projection' /&gt;&lt;![endif]--&gt;&quot;);
	document.write(&quot;&lt;script type='text/javascript' src='css3-multi-column.js'&gt;&lt;\/sc&quot; + &quot;ript&gt;&quot;);
}
else {
	document.write(&quot;&lt;link rel='stylesheet' type='text/css' href='main.css' media='screen, projection' /&gt;&quot;);
}
if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { //test for Opera;
	document.write(&quot;&lt;link rel='stylesheet' type='text/css' href='multicolumn.css' media='screen, projection' /&gt;&quot;);
	document.write(&quot;&lt;script type='text/javascript' src='css3-multi-column.js'&gt;&lt;\/sc&quot; + &quot;ript&gt;&quot;);
}
</pre>
<p>Note: the reason for which the closing &quot;script&quot; tags are split is because they break HTML code if kept intact.</p>
<p>As you can see, IE6 is given the &quot;Universal IE6 CSS&quot; file, but you are free to define a different stylesheet for these users.</p>
<p>Given that having this script in the &lt;head&gt; element of your HTML is invalid in XHTML 1.0 Strict, I made it an <a href="http://www.arpia.be/public/wp/stylesheet.js">external script</a>, and put this in my &lt;head&gt; element:</p>
<pre>
&lt;script type="text/javascript" src="http://www.arpia.be/public/wp/stylesheet.js"&gt;&lt;/script&gt;
</pre>
<p>Then, the &#8220;pageturn&#8221; script must go in the footer:</p>
<pre>
&lt;script type="text/javascript" src="http://www.arpia.be/public/wp/pageturn.js"&gt;&lt;/script&gt;
</pre>
<p class="separator">&nbsp;</p>
<h3>Adding page numbers</h3>
<p>It may be useful in some cases to add page numbers. In my <a href="http://www.arpia.be/book/novels.html">book demo</a>, I achieved this by adding the following line in the HTML to &#8220;div class nav&#8221;, right before &#8220;ul class arrows&#8221;:</p>
<pre>
&lt;div class="pagenumbers"&gt;&lt;span id="pageleftnumber"&gt;1&lt;/span&gt;&lt;span id="pagerightnumber"&gt;2&lt;/span&gt;&lt;/div&gt;
</pre>
<p>Next, in the CSS, I added the following lines:</p>
<pre>
.pagenumbers {
			position: absolute;
			width: 630px;
			z-index: 1;
			top: 30px;
			left: 80px;
			font-size: 1em;
			letter-spacing: normal;
			font-weight: normal;
			color: #000;
		}
			.pagenumbers #pageleftnumber {
				float: left;
			}
			.pagenumbers #pagerightnumber {
				float: right;
			}
</pre>
<p>In the &#8220;pageturn.js&#8221; Javascript file, the following bits of code needs to be added <strong>twice</strong>:</p>
<pre>
leftPage = (changeValue * -2) + 1;
rightPage = (changeValue * -2) + 2;
document.getElementById('pageleftnumber').innerHTML = leftPage;
document.getElementById('pagerightnumber').innerHTML = rightPage;
</pre>
<p>It goes right after the following line:</p>
<pre>document.getElementById("columnified").style.marginLeft = newValue + 'px';</pre>
<p>… and right before the following one (or its equivalent, basically the &#8220;fade back&#8221; animation):</p>
<pre>fade('columniser', 50, 100, 500);</pre>
<p>Finally, please note that it may be necessary to adapt the IE- and Opera-specific CSS stylesheets.</p>
<p class="separator">&nbsp;</p>
<h3>Closing comments</h3>
<p>And&hellip; there we go, a fully functional multi-page, multi-column layout, applicable to any number of web pages, without the need to resort to Flash. See <strong><a href="http://www.arpia.be/public/wp/multi-column.html">a demo</a></strong>, without all the graphics of Arpia.be and using these files only, or a <a href="http://www.arpia.be/book/novels.html">&quot;book&quot; proof-of-concept design</a> on which I worked earlier.</p>
<p>The only issue, as far as I can tell, is that it&#8217;s impossible to determine in advance how long the content will be, and one cannot therefore avoid having the &#8220;Next&#8221; button still visible beyond the end of the content. My workaround, as can be seen on Arpia.be, is to add &#8220;easter eggs&#8221; for those who click beyond that limit.</p>
<p>Perhaps you can come up with another solution&hellip;</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.arpia.be/2010/02/tutorial-multi-page-multi-column-web-pages/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Arpia.be design refresh</title>
		<link>http://www.arpia.be/2010/01/arpia-be-design-refresh/</link>
		<comments>http://www.arpia.be/2010/01/arpia-be-design-refresh/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 11:30:35 +0000</pubDate>
		<dc:creator>Peter Craddock</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Website]]></category>

		<guid isPermaLink="false">http://www.arpia.be/?p=293</guid>
		<description><![CDATA[As 2010 kicks off, it is time for me to unveil a new website design on which I have been working for a few months. It was a long process, involving several radically different ideas and long hours getting it all to work (especially on Internet Explorer), but here we are, finally.
I recommend trying things [...]]]></description>
			<content:encoded><![CDATA[<p>As 2010 kicks off, it is time for me to unveil a new website design on which I have been working for a few months. It was a long process, involving several radically different ideas and long hours getting it all to work (especially on Internet Explorer), but here we are, finally.</p>
<p>I recommend trying things out, to find the hidden easter eggs and so on, to get used to the new functionality.<br />
[Tested in Firefox 2-3, Safari 4, Google Chrome 4, Opera 9-10, Internet Explorer 7-8]</p>
<p>But to truly understand the design, I think a more extensive portrayal of the design process is in order.</p>
<p><span id="more-293"></span></p>
<p class="separator">&nbsp;</p>
<p>In August 2009, I was working on a design for an online store of digital photos, based on the idea of a memory box. For one iteration of the design in question, I had the idea of scanning a paper file and using it to convey the idea of a file containing the photos. This idea was set aside for the project in question, because it did not perfectly fit the idea, but the design felt very well done (and I put some effort into it).<br />
I therefore decided to slightly alter the design, and use it for my own website.</p>
<p>This &#8220;<strong>Arpia File</strong>&#8221; design boiled down to showing pages on documents linked to a file on a desk. See the design in action on <a href="http://www.arpia.be/ad-oc/" target="_blank">the Arpia File design demo</a>.<br />
While working on this design, I realised that it did not fit the idea of science-fiction, so I attempted to make a specific page for the ARPIA2 plug-in, more &#8220;technical&#8221; through the use of a &#8220;blue prototype paper&#8221; pattern (click on &#8220;Game&#8221; on the <a href="http://www.arpia.be/ad-oc/" target="_blank">Arpia File design demo</a>).<br />
I was somewhat pleased with it, and had the idea then of making a different page for the &#8220;Novels&#8221; section, closer to the idea of novels, creating an &#8220;old paper&#8221; effect (click on &#8220;Novels&#8221; on the <a href="http://www.arpia.be/ad-oc/" target="_blank">Arpia File design demo</a>).</p>
<p>Still, the Arpia File design didn&#8217;t feel right, not for my website.<br />
I then had another idea, inspired by my last touches to the Arpia File design: to create a book-like experience, through the use of a “multiple column” layout.<br />
This was the &#8220;<strong>Arpia Book</strong>&#8221; design, on which I poured yet more time and resources, making it look like an old book, with classical typography.<br />
Getting this effect to work on CSS3-capable browsers, such as Firefox, Safari and Chrome, was easy. Getting it to work on Opera and, worst of all, Internet Explorer, was a true challenge. See the design in action <a href="http://www.arpia.be/book/" target="_blank">on this webpage</a>.<br />
Once I had worked on it for some time, my enthusiasm was yet again damped by the realisation that it did not fit the website. I adored the layout, but most people visiting Arpia.be itself do so for the <a href="http://www.arpia.be/arpia2/">ARPIA2 plug-in</a> and the <a href="http://www.arpia.be/itunesque/">iTunesque Mac themes</a>. Why present them with an old book?</p>
<p>The latest version of this website is an attempt to reconcile the feel of a book with the science-fiction (and therefore more modern) setting of the Arpia universe.<br />
It tries to look like a tablet, and with the constant rumours about an Apple tablet about to change the computing landscape, I hope the &#8220;<strong>Arpia Tablet</strong>&#8221; design brings an appropriate look to Arpia.be for 2010.</p>
<p>Of course, I&#8217;m sure it will undergo refinements as the year progresses.<br />
And if you want to have a hand in that, just let me know what doesn&#8217;t work, what should be changed, what you like, what you don&#8217;t. After all, without feedback, a design is not worth anything!</p>
<p>PS: about being able to click beyond the last page, that is unfortunately a limitation of the design. Why not take a look at what it leads to?</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.arpia.be/2010/01/arpia-be-design-refresh/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A new webboard design: critique?</title>
		<link>http://www.arpia.be/2009/05/a-new-webboard-design-critique/</link>
		<comments>http://www.arpia.be/2009/05/a-new-webboard-design-critique/#comments</comments>
		<pubDate>Sun, 17 May 2009 09:19:22 +0000</pubDate>
		<dc:creator>Peter Craddock</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://www.arpia.be/?p=184</guid>
		<description><![CDATA[Now that I have defended my Master Thesis, I &#8220;only&#8221; have three exams to prepare (one of which is basically a 15-page paper). As such, the Master Thesis was by far the largest work to be done for university, and I therefore took a small break from working.
That break turned out to be spent on [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I have defended my <a href="http://www.arpia.be/master-thesis/">Master Thesis</a>, I &#8220;only&#8221; have three exams to prepare (one of which is basically a 15-page paper). As such, the Master Thesis was by far the largest work to be done for university, and I therefore took a small break from working.</p>
<p>That break turned out to be spent on another kind of work, web design. In July, I will normally become the administrator for our Law Faculty student webboard &#038; website, and I grew somewhat tired of the <a href="http://www.jakob-persson.com/templates/cobalt">Cobalt theme</a> for phpBB2, which is currently used.<br />
I therefore got to work on another design, something fresh.</p>
<p>The result is a working board on <a href="http://www.arpia.be/droides/">www.arpia.be/droides/</a>, only a test so far. The board is in French, but I&#8217;m looking for feedback on the general design, which shouldn&#8217;t require a great deal of linguistic skills. There&#8217;s a test user, &#8220;Test&#8221;, with the password set as &#8220;testpass&#8221;.<br />
Anything that desperately needs changing? Suggestions? &hellip;?<br />
There are two working themes, and you can switch between them in the footer (&#8220;Dro&iuml;des &#8211; Dro&iuml;des2&#8243;). Just click, and a whole new layout appears.</p>
<p>Edit: updated.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.arpia.be/2009/05/a-new-webboard-design-critique/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Having fun with maps</title>
		<link>http://www.arpia.be/2009/04/having-fun-with-maps/</link>
		<comments>http://www.arpia.be/2009/04/having-fun-with-maps/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 12:33:55 +0000</pubDate>
		<dc:creator>Peter Craddock</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://www.arpia.be/?p=181</guid>
		<description><![CDATA[The subject of my &#8220;Mémoire&#8221;, the 60-page &#8220;Master Thesis&#8221; I have to write for university, is linked to European law, and I therefore use the europa.eu portal a lot (read: the EU institution websites and EUR-Lex were by far the websites I visited the most these past weeks).
The problem is, they all use text to [...]]]></description>
			<content:encoded><![CDATA[<p>The subject of my &#8220;Mémoire&#8221;, the 60-page &#8220;Master Thesis&#8221; I have to write for university, is linked to European law, and I therefore use the <a href="http://europa.eu/">europa.eu</a> portal <em>a lot</em> (read: the EU institution websites and <a href="http://eur-lex.europa.eu/">EUR-Lex</a> were by far the websites I visited the most these past weeks).</p>
<p>The problem is, they all use text to get users to select their language. If it were a bilingual website, it would be easy. But there are 23 official languages in the EU, and so it takes time to figure out which string of text is &#8220;yours&#8221;.<br />
The worst front page, in my opinion, is the <a href="http://www.consilium.europa.eu/">Council&#8217;s homepage</a>, which I find impossible to use under five seconds.</p>
<p>I therefore decided to try (during a small break) my hand at another system: maps.</p>
<p><span id="more-181"></span>I may be crazy, but I&#8217;ve taken a liking to webdesign and coding, and I&#8217;m starting to brush up my Photoshop skills in the hopes of coming up with fresh designs (for my personal website, as I don&#8217;t go around offering my services to others).</p>
<p>So&hellip; I started playing around with a bunch of maps pulled from the web, and put my CSS and HTML knowledge to the test.<br />
The result is the following:<br />
<a href="http://www.arpia.be/europa/">www.arpia.be/europa/</a><br />
<a href="http://www.arpia.be/europa/europa2.html">www.arpia.be/europa/europa2.html</a></p>
<p>Opinions?</p>
<p>I like it a whole lot more than the version they have over at the Consilium website, so I contacted the webmaster to suggest taking a look. Who knows, someone over there might read the e-mail and like the result!</p>
<p>Edit:<br />
Well, I got an answer:</p>
<blockquote><p>Nevertheless, having in mind the linguistic divesity within the European Union,  I have a strong preference for a list of languages.</p></blockquote>
<p>Too bad!</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.arpia.be/2009/04/having-fun-with-maps/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Speeding things up</title>
		<link>http://www.arpia.be/2008/12/speeding-things-up/</link>
		<comments>http://www.arpia.be/2008/12/speeding-things-up/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 16:47:34 +0000</pubDate>
		<dc:creator>Peter Craddock</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.arpia.be/?p=103</guid>
		<description><![CDATA[I decided to take a look at possible optimisations for this website, in order to make it load faster, and so on. I&#8217;d already done a bunch of this some time ago, but I rediscovered the Firebug plug-in for Firefox, and in particular its YSlow extension.
YSlow is a set of guidelines that Yahoo! published a [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to take a look at possible optimisations for this website, in order to make it load faster, and so on. I&#8217;d already done a bunch of this some time ago, but I rediscovered the Firebug plug-in for Firefox, and in particular its YSlow extension.</p>
<p>YSlow is a set of guidelines that Yahoo! published a while ago to help web-designers in their quest for the optimal code, and WordPress hasn&#8217;t ever been very YSlow-friendly.</p>
<p><span id="more-103"></span></p>
<p>So, what to do to clean things up?</p>
<p>The first step involved trying to see what I could change on my own (CSS &amp; HTML validation, compressing CSS and Javascript files, removing unnecessary code, downloading &amp; configuring the &#8220;Super Cache&#8221; plug-in, &#8230;). Fortunately for me, I&#8217;d already done that kind of stuff. So now I could sit back and rely on what others had found out!</p>
<p>After a few searches of the web, I stumbled upon <a title="Easy steps to speed-up your WordPress blog" href="http://www.cloudfour.com/77/easy-steps-to-speedup-your-wordpress-blog/">this post</a>, which happens to contain most of the information I needed to get this done.<br />
Steps 2 to 4 were by far the most valuable to me, because I&#8217;d found similar results, but none that were this complete.</p>
<p>Next, I decided that the &#8220;WP-Polls&#8221; plug-in needed some work. I only downloaded and used that plug-in for a post concerning <a href="www.arpia.be/2008/05/googles-new-favicon/">Google&#8217;s then-new favicon</a>.<br />
[For some reason, though, it seemed no longer to work (perhaps because of the latest version of WordPress, no idea) - this, however, has no bearing on the steps I shall now mention.]</p>
<p>See, many WordPress plug-ins that add features to posts are only used within posts, and sometimes, you really don&#8217;t need them on many posts. The solution was simple: change a few lines of code to make the plug-in only be active for these posts, i.e. make sure that the extra CSS/Javascript/&#8230; files aren&#8217;t called up for all the other posts &amp; pages.</p>
<p>If you&#8217;re somewhat comfortable with code, here are a few steps you could follow:<br />
- edit the main PHP file of the plug-in to add an action to &#8220;wp_extra&#8221; instead of &#8220;wp_head&#8221; (do a search for &#8220;wp_head&#8221; for that)<br />
- edit the &#8220;wp-content/includes/general-template.php&#8221; file to add the following:</p>
<pre>function wp_extra() {
do_action('wp_extra');
}</pre>
<p>- add the following to the template&#8217;s &#8220;footer.php&#8221; file (with &#8220;postnumber&#8221; being the relevant post&#8217;s ID):</p>
<pre>
< ? php if (is_single('postnumber')) { ?>
< ? php wp_extra(); ?>
< ? php } ?>
</pre>
<p>(for some reason, I couldn&#8217;t post this as &#8220;< ? p h p" without the spaces, but just remove those two extra spaces per line)<br />
If you want to do that for several posts, just change the "is_single('postnumber')" into "is_single(array('postnumber1', 'postnumber2', 'postnumber3'))" (and so on).</p>
<p>Theoretically, this <em>should</em> work. At least, it worked for me.</p>
<p>Feels snappier!</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.arpia.be/2008/12/speeding-things-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

