<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>op111.net » Web</title>
	
	<link>http://op111.net</link>
	<description>Everything about anything.  Or, a website about technology, the web and web publishing.</description>
	<lastBuildDate>Sun, 16 Oct 2011 13:05:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/op111net_web" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="op111net_web" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Progressive enhancement of drop-down menus with the :not CSS selector</title>
		<link>http://op111.net/74/</link>
		<comments>http://op111.net/74/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 16:50:53 +0000</pubDate>
		<dc:creator>demetris</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[drop-down]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[indicators]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[lang-en]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[navmenu]]></category>
		<category><![CDATA[planet-wp-en]]></category>
		<category><![CDATA[selectors]]></category>
		<category><![CDATA[suckerfish]]></category>
		<category><![CDATA[superfish]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://op111.net/?p=74</guid>
		<description><![CDATA[Add indicators to items with subitems on your drop-down menu in three easy steps, using CSS alone.  For all browsers except IE.  <a href="http://op111.net/74/" title="View post Progressive enhancement of drop-down menus with the :not CSS selector" rel="bookmark">More...</a>]]></description>
			<content:encoded><![CDATA[<!--nm: Progressive enhancement for drop-down menus with the :not CSS selector-->

<!--sl: -->

<!--id: xx-->

<!--INTRODUCTION -->

<p>You probably have noticed the characters—usually arrows—displayed on some navigation menus to indicate the presence of subitems under an item.  I find them helpful, and I recently looked to see if it was possible to have them displayed on a CSS drop-down menu by using only CSS (that is, without any JavaScript assistance).  In this howto I explain the solution I arrived at:  <span id="more-74"></span></p>

<p>How to display these useful indicators on a CSS drop-down menu by using the selector <code>:not</code>.</p>

<p class="insert">For a simple demo, see the menu of this site, op111.net.</p>

<p>It is a simple solution that works in all browsers except Internet Explorer, where the indicators simply do not appear at all.  Hence, it is a progressive enhancement, or, to put it the other way round, it degrades gracefully in old or wayward browsers.</p>

<p>It is also a solution that suggested to me that the <code>:not</code> selector may offer possibilities that are unexplored.  If you know of other useful applications of the <code>:not</code> selector, be kind enough to enligthen us with your comment!</p>

<h2>    Step 1</h2>

<p>To each anchor in the menu we add an indicator-character wrapped in a <code>span</code> with an appropriate class:</p>


<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;more&quot;</span>&gt;</span> <span style="color: #ddbb00;">&amp;darr;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span></pre></div></div>


<p>For this howto I use the downward arrow as indicator, and <code>more</code> as the class name.</p>

<p>So, supposing we have a menu with two top-level items, one of which has a subitem:</p>


<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://x.net/p1&quot;</span>&gt;</span>Page1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://x.net/p2&quot;</span>&gt;</span>Page2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://x.net/p2/s1&quot;</span>&gt;</span>Subpage1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></div></div>


<p>... what we aim at is:</p>


<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://x.net/p1&quot;</span>&gt;</span>Page1<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;more&quot;</span>&gt;</span> <span style="color: #ddbb00;">&amp;darr;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://x.net/p2&quot;</span>&gt;</span>Page2<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;more&quot;</span>&gt;</span> <span style="color: #ddbb00;">&amp;darr;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
        <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://x.net/p2/s1&quot;</span>&gt;</span>Subpage1<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;more&quot;</span>&gt;</span> <span style="color: #ddbb00;">&amp;darr;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
      <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></div></div>


<p>The best way to add the indicators will depend, of course, on how the markup is generated.  If you use WordPress, look at the Appendix at the end for some examples.</p>

<p>Let’s see the second step now...</p>

<h2>    Step 2</h2>

<p>We make a CSS rule to hide <strong>all</strong> indicators we added:</p>

<pre lang="">
li a .more { display: none; }
</pre>

<p>Why did we do that?</p>

<p>Because the indicators we added in the first step appear in all items, but not all items have subitems.  So, in the second step we hid the indicators, and in the third step we will instruct the browser to display indicators only in items with subitems:</p>

<h2>    Step 3</h2>

<p>We make a second CSS rule:</p>

<pre lang="">
li a:not(:last-child) .more { display: inline; }
</pre>

<p>Done!</p>

<h2>    How does this work?</h2>

<p>In items with subitems, the <code>a</code> anchor is followed by a <code>ul</code> element (which containts the subitems).  So, in items with subitems the anchor is <em>not</em> the last child of its <code>li</code> parent.  This is the condition that our <code>:not</code> rule specifies, saying, in human language:</p>

<p><em>Select <code>.more</code> within any anchor that is not the last child of its parent, and <code>display</code> it <code>inline</code>.</em></p>

<p>The <code>display:none</code> declaration of the second step is understood by all common browsers.  So, all browsers will hide the indicators from display.  Then, browsers that understand <code>:not</code> and <code>:last-child</code> will show the indicators where appropriate.</p>

<p><em>Simple, perfectly valid CSS 3, and, for this reason, future-proof too!</em></p>

<h2>    Fine... But!...</h2>

<h3>I want the helpful indicators in Internet Explorer too!</h3>

<p>That’s not possible with CSS alone, because IE (even IE8) knows nothing about CSS3 selectors like <code>:not</code> and <code>:last-child</code> (or <code>:only-child</code>, which would have the same effect here).</p>

<p>So, for Internet Explorer you will have to resort to a mixture of CSS and JavaScript.  Either use something like <a href="http://users.tpg.com.au/j_birch/plugins/superfish/" title="Superfish — Suckerfish on ’roids [users.tpg.com.au]">Superfish</a> or write some custom JavaScript.  If the site already uses a JS framework, I imagine the code would be pretty simple.  In jQuery, for example, all it takes is one line:</p>


<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a:not(:last-child) .more'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<p>Then, load the JavaScript snippet conditionally if the user agent is Internet Explorer, so that good browsers don’t have to download unnecessary bytes.</p>

<h3>I want different indicators for parents of different levels!</h3>

<p>I omitted that from the example on purpose, to keep the markup as simple as possible.  It’s easy to do:</p>

<ol>
<li>Add two indicators to each anchor, one for subitems that expand vertically and another for subitems that expand horizontally,
and wrap each indicator in its own span along with an appropriate class.  E.g.:  <code>more-v</code> and <code>more-h</code>.</li>
<li>Hide all indicators.</li>
<li>For top-level parents display the one indicator by making a selector that applies to top-level parents only.
E.g.:

<ul>
<li><code>#menu &gt; ul &gt; a:not(:last-child) .more-v</code></li>
</ul></li>
<li>For lower-level parents display the other indicator by making a selector that targets lower-level parents.
E.g.:

<ul>
<li><code>ul ul a:not(:last-child) .more-h</code></li>
</ul></li>
</ol>

<h2>    Links</h2>

<p>That’s it for now.  Thanks for reading!</p>

<p>Here are a few links to help your work and research on drop-down menu systems:</p>

<ul>
<li><a href="http://www.quirksmode.org/css/contents.html" title="CSS browser compatibility table at QuirksMode [quirksmode.org]">CSS browser compatibility table at QuirksMode</a>.  See which browsers support advanced CSS3 selectors.</li>
<li><a href="http://www.tyssendesign.com.au/articles/css/dropdown-low-down/" title="Comparative review of dropdown menus [tyssendesign.com.au]">Dropdown low down — Tyssen Design</a>.  Extensive comparative review of drop-down menus.</li>
<li><a href="http://lwis.net/free-css-drop-down-menu/" title="A free and open-source drop-down menu framework [lwis.net]">Free CSS Drop-Down Menu Framework</a>.  Popular, actively maintained, relatively easy to set up, and licensed under the GPLv3.</li>
<li><a href="http://adipalaz.awardspace.com/experiments/css/accessible_ddmenu_test.html" title="Experimental keyboard-accessible CSS menu [adipalaz.awardspace.com]">Keyboard accessible dropdown menu</a>.  Full keyboard-accessibility even without JavaScript! </li>
<li><a href="http://users.tpg.com.au/j_birch/plugins/superfish/" title="Superfish — Suckerfish on ’roids [users.tpg.com.au]">Superfish</a>.  A jQuery plugin that adds useful enhancements, including indicators, to Suckerfish-type drop-down menus.</li>
</ul>

<h2>    Appendix</h2>

<p>Here are three bits of code that show how to generate the markup for the indicators in WordPress.</p>

<p>If you are constructing a WordPress theme from scratch, simply use the <code>link_after</code> argument of <code>wp_page_menu()</code>.  If the menu is generated by <code>wp_list_pages()</code>, you can pass the exact same argument to it too.  Here is an example that uses <code>wp_page_menu()</code>:</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">wp_page_menu<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
    <span style="color: #0000ff;">'depth'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'link_after'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'&lt;span class=&quot;more&quot;&gt; &amp;darr;&lt;/span&gt;'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'sort_column'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'menu_order'</span><span style="color: #339933;">,</span>
    <span style="color: #0000ff;">'title_li'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span>
<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<p><code>wp_page_menu()</code> and <code>wp_list_pages()</code> can also be modified by <strong>applying a filter</strong>, which is convenient if you do not want to edit template files directly.</p>

<p>For <code>wp_page_menu()</code> the indicator markup is added by applying a filter to <code>wp_page_menu_args()</code>:</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> my_page_menu<span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$args</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'link_after'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'&lt;span class=&quot;more&quot;&gt; &amp;darr;&lt;/span&gt;'</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$args</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_page_menu_args'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my_page_menu'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<p>For <code>wp_list_pages()</code> your filter will have to do a simple string replacement instead:</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> my_list_pages<span style="color: #009900;">&#40;</span><span style="color: #000088;">$html</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #990000;">str_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'&lt;/a&gt;'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;span class=&quot;more&quot;&gt; &amp;darr;&lt;/span&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;/a&gt;'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$html</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wp_list_pages'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'my_list_pages'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<!--ABBREVIATIONS............................................................-->

<!--URIs.....................................................................-->

<!--MISC.....................................................................-->
<hr />
<p>Add to <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://op111.net/74/&title=Progressive enhancement of drop-down menus with the :not CSS selector">del.icio.us</a></p>
<hr />
<p>© 2010 <a href="http://op111.net">op111.net</a> | <a href="http://op111.net/74/">Permalink</a></p> ]]></content:encoded>
			<wfw:commentRss>http://op111.net/74/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eight website/weblog designs I enjoy</title>
		<link>http://op111.net/72/</link>
		<comments>http://op111.net/72/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 20:29:35 +0000</pubDate>
		<dc:creator>demetris</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[colors]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[habari]]></category>
		<category><![CDATA[Jekyll]]></category>
		<category><![CDATA[lang-en]]></category>
		<category><![CDATA[minimalism]]></category>
		<category><![CDATA[readability]]></category>
		<category><![CDATA[screenshots]]></category>
		<category><![CDATA[typography]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[white-space]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://op111.net/?p=72</guid>
		<description><![CDATA[Eight websites with good readability and attractive design:  en-ca.org, kyleslattery.com, madebyfrog.com,    melly.me, nikolay.bg, tom.preston-werner.com, whistleandfish.com, and wilsonminer.com — annotated and illustrated. <a href="http://op111.net/72/" title="View post Eight website/weblog designs I enjoy" rel="bookmark">More...</a>]]></description>
			<content:encoded><![CDATA[<p>... and that I would probably try to steal from if I ever, against all reason, decided to do a proper website design myself.  I hope you’ll enjoy them too! <span id="more-72"></span></p>

<p><em>Click on the links to visit the websites or on the thumbnails to see the full-size captures.</em>
<em>You can navigate between captures by hitting the Left and Right arrow buttons on your keyboard.</em></p>

<h2>en-ca.org</h2>

<p><a href="http://en-ca.org/" title="Homepage of the book “Organizing Our Marvellous Neighbours” [en-ca.org]">en-ca.org</a> is a two-page website for a book on Canadian-English orthography.  Its front page uses a single font, Constantia.  The manicule/index image is a nice touch.</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/en-ca.org-20091126-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/en-ca.org-20091126-fx37-win-256x302.png" alt="en-ca.org in Firefox 3.7 for Windows, November 2009" title="en-ca.org in Firefox 3.7 for Windows, November 2009" width="256" height="302" class="alignnone size-medium wp-image-645" /></a></p>

<p><a href="http://en-ca.org/" title="Homepage of the book “Organizing Our Marvellous Neighbours” [en-ca.org]">Visit en-ca.org!</a></p>

<h2>kyleslattery.com</h2>

<p><a href="http://www.kyleslattery.com/" title="Website and weblog of Kyle Slattery [kyleslattery.com]">kyleslattery.com</a>, the custom-built website of Kyle Slattery, has one of the best navigation bars I’ve seen.  See the drop-down menu on the first screenshot:</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/kyleslattery.com-20091126-fx35-linux.png"><img src="http://op111.net/wp-content/uploads/2009/11/kyleslattery.com-20091126-fx35-linux-256x320.png" alt="kyleslattery.com, homepage with drop-down menu activated, in Firefox 3.5 for Linux, November 2009" title="kyleslattery.com, homepage with drop-down menu activated, in Firefox 3.5 for Linux, November 2009" width="256" height="320" class="alignnone size-medium wp-image-654" /></a>
<a href="http://op111.net/wp-content/uploads/2009/11/kyleslattery.com-20091127-photopost-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/kyleslattery.com-20091127-photopost-fx37-win-256x321.png" alt="kyleslattery.com, photopost, in Firefox 3.7 for Windows, November 2009" title="kyleslattery.com, photopost, in Firefox 3.7 for Windows, November 2009" width="256" height="321" class="alignnone size-medium wp-image-652" /></a></p>

<p><a href="http://www.kyleslattery.com/" title="Website and weblog of Kyle Slattery [kyleslattery.com]">Visit kyleslattery.com!</a></p>

<h2>madebyfrog.com</h2>

<p>This is the homepage of the <a href="http://www.madebyfrog.com/" title="Homepage of the Frog CMS (Content Management System) [madebyfrog.com]">Frog CMS</a>, and it makes me want to try this CMS.  (Not something I will say for many publishing platforms.)  Built with Frog&nbsp;CMS.</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/madebyfrog-20091127-fx35-linux.png"><img src="http://op111.net/wp-content/uploads/2009/11/madebyfrog-20091127-fx35-linux-256x192.png" alt="madebyfrog.org in Firefox 3.5 for Linux, November 2009" title="madebyfrog.org in Firefox 3.5 for Linux, November 2009" width="256" height="192" class="alignnone size-medium wp-image-658" /></a>
<a href="http://op111.net/wp-content/uploads/2009/11/madebyfrog-20091128-about-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/madebyfrog-20091128-about-fx37-win-256x192.png" alt="madebyfrog.org, About page, in Firefox 3.7 for Windows, November 2009" title="madebyfrog.org, About page, in Firefox 3.7 for Windows, November 2009" width="256" height="192" class="alignnone size-medium wp-image-657" /></a></p>

<p><a href="http://www.madebyfrog.com/" title="Homepage of the Frog CMS (Content Management System) [madebyfrog.com]">Visit madebyfrog.com!</a></p>

<h2>melly.me</h2>

<p>Text shadows are often used in web design without thought or reason, with results that range from indifferent to bad.  In <a href="http://melly.me/" title="Homepage and weblog of Melissa Ward">melly.me</a> <code>text-shadow</code>—and transparency—are a successful and integral part of the design.  On the left is the home page; on the right the Archives and Tags page.  Built with Habari.</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/melly.me-20091126-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/melly.me-20091126-fx37-win-256x298.png" alt="melly.me in Firefox 3.7 for Windows, November 2009" title="melly.me in Firefox 3.7 for Windows, November 2009" width="256" height="298" class="alignnone size-medium wp-image-647" /></a>
<a href="http://op111.net/wp-content/uploads/2009/11/melly.me-20091126-archives-tags-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/melly.me-20091126-archives-tags-fx37-win-256x241.png" alt="melly.me, Archives and Tags page, in Firefox 3.7 for Windows, November 2009" title="melly.me, Archives and Tags page, in Firefox 3.7 for Windows, November 2009" width="256" height="241" class="alignnone size-medium wp-image-646" /></a></p>

<p><a href="http://melly.me/" title="Homepage and weblog of Melissa Ward">Visit melly.me!</a></p>

<h2>nikolay.bg</h2>

<p>Black/Red/White schemes are common but they are also difficult to get right;  the result can easily get jarring or too stark.  <a href="http://nikolay.bg/" title="The website/weblog of Nikolay Bachiyski [nikolay.bg]">nikolay.bg</a>, the website of Nikolay Bachiyski, gets it right.  Also, like all designs in this selection, it makes good use of white space.  Built with WordPress.</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/nikolay.bg-20091126-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/nikolay.bg-20091126-fx37-win-256x384.png" alt="nikolay.bg in Firefox 3.7 for Windows, November 2009" title="nikolay.bg in Firefox 3.7 for Windows, November 2009" width="256" height="384" class="alignnone size-medium wp-image-660" /></a>
<a href="http://op111.net/wp-content/uploads/2009/11/nikolay.bg-20091127-archives-fx35-linux.png"><img src="http://op111.net/wp-content/uploads/2009/11/nikolay.bg-20091127-archives-fx35-linux-256x256.png" alt="nikolay.bg, part of Archives page, in Firefox 3.5 for Linux, November 2009" title="nikolay.bg, part of Archives page, in Firefox 3.5 for Linux, November 2009" width="256" height="256" class="alignnone size-medium wp-image-659" /></a></p>

<p><a href="http://nikolay.bg/" title="The website/weblog of Nikolay Bachiyski [nikolay.bg]">Visit nikolay.bg!</a></p>

<h2>tom.preston-werner.com</h2>

<p><a href="http://tom.preston-werner.com/" title="The personal website of Tom Preston-Werner [tom.preston-werner.com]">tom.preston-werner.com</a> has a functional and inviting front page:  Just a series of title links that you want to click on.  (Why aren’t more blogs like this?)  Its individual article pages use full paragraph justification without hyphenation but they somehow <em>almost</em> get away with it thanks to the relatively wide lines.  Built with Jekyll.</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/tom.preston-werner.com-20091126-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/tom.preston-werner.com-20091126-fx37-win-256x276.png" alt="tom.preston-werner.com in Firefox 3.7 for Windows, November 2009" title="tom.preston-werner.com in Firefox 3.7 for Windows, November 2009" width="256" height="276" class="alignnone size-medium wp-image-651" /></a>
<a href="http://op111.net/wp-content/uploads/2009/11/tom.preston-werner.com-20091127-article-fx35-linux.png"><img src="http://op111.net/wp-content/uploads/2009/11/tom.preston-werner.com-20091127-article-fx35-linux-256x192.png" alt="tom.preston-werner.com, part of Article page, in Firefox 3.5 for Linux, November 2009" title="tom.preston-werner.com, part of Article page, in Firefox 3.5 for Linux, November 2009" width="256" height="192" class="alignnone size-medium wp-image-661" /></a></p>

<p><a href="http://tom.preston-werner.com/" title="The personal website of Tom Preston-Werner [tom.preston-werner.com]">Visit tom.preston-werner.com!</a></p>

<h2>whistleandfish.com</h2>

<p><a href="http://whistleandfish.com/" title="The website of Harry Haller [whistleandfish.com]">whistleandfish.com</a> has a beautiful header, while its paragraphs are among the most readable I’ve seen.  Its typography also serves as a reminder that fancy font options is not something good design can’t live without.  The fonts on the left are Liberation Serif and Liberation Sans (the fallback defaults for serif and sans-serif in my Linux desktop).  The page on the right uses Georgia and Verdana (Verdana is second after Helvetica Neue in the sans-serif stack).  Built with WordPress.</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/whistleandfish.com-20091127-article-fx35-linux.png"><img src="http://op111.net/wp-content/uploads/2009/11/whistleandfish.com-20091127-article-fx35-linux-256x371.png" alt="whistleandfish.com, Article page, in Firefox 3.5 for Linux, November 2009" title="whistleandfish.com, Article page, in Firefox 3.5 for Linux, November 2009" width="256" height="371" class="alignnone size-medium wp-image-662" /></a>
<a href="http://op111.net/wp-content/uploads/2009/11/whistleandfish.com-20091128-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/whistleandfish.com-20091128-fx37-win-256x240.png" alt="whistleandfish.com in Firefox 3.7 for Windows, November 2009" title="whistleandfish.com in Firefox 3.7 for Windows, November 2009" width="256" height="240" class="alignnone size-medium wp-image-663" /></a></p>

<p><a href="http://whistleandfish.com/" title="The website of Harry Haller [whistleandfish.com]">Visit whistleandfish.com!</a></p>

<h2>wilsonminer.com</h2>

<p>I never would have thought that I would enjoy a site whose front page is in a shade of violet (amethyst in this case).  Yet the colour is what I like most in <a href="http://www.wilsonminer.com/" title="The personal website of Wilson Miner [wilsonminer.com]">wilsonminer.com</a>.  I would like its individual pages more if they didn’t use indentation to distinguish paragraphs.  Built with Django.</p>

<p><a href="http://op111.net/wp-content/uploads/2009/11/wilsonminer.com-20091127-fx35-linux.png"><img src="http://op111.net/wp-content/uploads/2009/11/wilsonminer.com-20091127-fx35-linux-256x510.png" alt="wilsonminer.com in Firefox 3.5 for Linux, November 2009" title="wilsonminer.com in Firefox 3.5 for Linux, November 2009" width="256" height="510" class="alignnone size-medium wp-image-648" /></a>
<a href="http://op111.net/wp-content/uploads/2009/11/wilsonminer.com-20091126-article-fx37-win.png"><img src="http://op111.net/wp-content/uploads/2009/11/wilsonminer.com-20091126-article-fx37-win-256x384.png" alt="wilsonminer.com, part of Article page, in Firefox 3.7 for Windows, November 2009" title="wilsonminer.com, part of Article page, in Firefox 3.7 for Windows, November 2009" width="256" height="384" class="alignnone size-medium wp-image-649" /></a></p>

<p><a href="http://www.wilsonminer.com/" title="The personal website of Wilson Miner [wilsonminer.com]">Visit wilsonminer.com!</a></p>

<h2>Notes</h2>

<p>Screenshots are from Firefox 3.5 for Linux and Firefox 3.7 for Windows.  (Hover over the images to see which is which.)</p>
<hr />
<p>Add to <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://op111.net/72/&title=Eight website/weblog designs I enjoy">del.icio.us</a></p>
<hr />
<p>© 2009 <a href="http://op111.net">op111.net</a> | <a href="http://op111.net/72/">Permalink</a></p> ]]></content:encoded>
			<wfw:commentRss>http://op111.net/72/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Reliable budget hosting from $18.75/year:  A quick look at 2 webhosts</title>
		<link>http://op111.net/68/</link>
		<comments>http://op111.net/68/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 21:45:13 +0000</pubDate>
		<dc:creator>demetris</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[APC]]></category>
		<category><![CDATA[asmallorange]]></category>
		<category><![CDATA[budget]]></category>
		<category><![CDATA[cheap]]></category>
		<category><![CDATA[coupon]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[economical]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[habari]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[offer]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[recommended]]></category>
		<category><![CDATA[rubyonrails]]></category>
		<category><![CDATA[shared]]></category>
		<category><![CDATA[special]]></category>
		<category><![CDATA[Utopian.net]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[webhosting]]></category>
		<category><![CDATA[webpublishing]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://op111.net/?p=68</guid>
		<description><![CDATA[A look at two different shared-hosting providers, Utopian.net and A Small Orange, and a special 25% discount ASO coupon for op111.net readers. <a href="http://op111.net/68/" title="View post Reliable budget hosting from $18.75/year:  A quick look at 2 webhosts" rel="bookmark">More...</a>]]></description>
			<content:encoded><![CDATA[<!--nm: Reliable budget hosting from $18.75/year:  A quick look at 2 webhosts-->

<!--sl: small-orange+utopian-net-->

<!--id: 68-->

<p>Reliable economical webhosting for small websites is hard to find.</p>

<p>Most small websites with low traffic don’t need a dedicated server and cannot justify its expense either.  So, it is common practice to host small sites along with other small sites in one server.  This practice is called “shared hosting”.  In this way, cost is shared and a website can be hosted for only a few dollars  or euros per month.  However, <span id="more-68"></span> along with cost, resources, most importantly RAM and CPU, are also shared.</p>

<p>Then, the equation a responsible host must solve is:  How many websites to put on one server to keep cost as low as possible while maintaining good quality of service?</p>

<p>When the websites are too many, the host “oversells”.  What constitutes overselling is difficult to define, since it involves many factors and varies from case to case, but overselling is not rare, and you will know it if it happens to you.  The symptoms are two:  poor uptime and low speed.  The problem is, you cannot know in advance.</p>

<p>A good indication that a company may be overselling is “overpromising” — for example, offering plans with “unlimited” bandwidth and “unlimited” storage for 5 or 6 dollars per month.  In fact, unless you have previous experience with a company, or people that you trust have had previous experience, overpromising may be the only indication to go by.</p>

<p>Overpromising is also a problem on its own.  Unless you are naïve, you know that it is <em>impossible</em> to get 1TB of monthly transfer for $4.95, or “unlimited” storage and “unlimited” bandwidth for any price whatsoever.  But what you <em>cannot</em> know is what you <em>do</em> get, which is often less than what you need, even if your needs are modest.</p>

<p>My experience with companies that promise ridiculous numbers has been unpleasant.  I avoid them and, if you value your time and your peace of mind, you should too:  When you see unrealistic promises, steer away!</p>

<p>In this review I talk about two hosting providers, A Small Orange and Utopian.net, that are different in that:  They don’t try to lure you with impossible numbers.</p>

<h3>Utopian.net</h3>

<p>op111.net, this site, is hosted with <a href="http://utopian.net/" title="Making the Web easy for artists [utopian.net]">Utopian.net</a>.  One reason I selected Utopian.net is that they don’t make unrealistic promises:  their basic plan gives 8GB storage and 8GB monthly bandwidth for $10/month or $110/year.</p>

<p><img src="http://op111.net/wp-content/uploads/2009/03/d68-utopian-net-logo-less.png" alt="Utopian.net.  Making the Web easy for artists" title="Utopian.net.  Making the Web easy for artists" width="313" height="117" class="alignnone size-full wp-image-545" /></p>

<p>Compared to the offerings of some big names, this may seem too little for too much.  It’s anything but that, for two reasons:</p>

<p>First,  <em>the numbers are real!</em></p>

<p>Second,  the quality of service and the set of features are rare in budget hosting:</p>

<ul>
<li>Good speed</li>
<li>Modern setup</li>
<li>Alternative PHP Cache (APC)</li>
<li>gzip compression of HTML, CSS and Javascript</li>
<li>Knowledgeable administration</li>
<li>People familiar with top web-publishing systems like Habari and WordPress</li>
<li>Friendly, efficient support</li>
</ul>

<p>... to name a few.</p>

<p>In fact, as far as I know, Utopian.net is unique in offering full gzip compression in a shared-hosting plan.  This and APC are two features I especially appreciate in their setup.</p>

<p>You don’t know what APC and gzip compression are?  Here is a quick explanation:</p>

<p><em>APC</em> (Alternative PHP Cache) is an accelerator that makes the generation of PHP pages up to 3 times faster and, in doing so, benefits both ends of the transaction:  By caching PHP scripts in their compiled state, it reduces server load, while, at the other end, pages are served faster, which makes for a better user experience.</p>

<p><em>gzip compression</em> means that the web server compresses a page before sending it to the browser.  The browser then decompresses the compressed elements and shows the page to the user.  The result is faster transfer and, again, a better user experience.  However, gzip compression costs in RAM and in CPU time, and, for this reason, it is rare in shared-hosting environments.</p>

<p>The benefits of gzipping are most impressive in pages with few images or media files.  (Most images and media files are already compressed with specialized algorithms and cannot be compressed more without loss of quality.)  Here are the numbers for two op111.net pages, the homepage and one long illustrated article, as reported by the Firefox extension Web Developer:</p>

<p><img src="http://op111.net/wp-content/uploads/2009/03/d68-gzip-op111net-homepage.png" alt="Gain by gzip compression on a webpage that is mainly text, as reported by “Web Developer”" title="Gain by gzip compression on a webpage that is mainly text, as reported by “Web Developer”" width="400" height="224" class="alignnone size-full wp-image-547" /></p>

<p><img src="http://op111.net/wp-content/uploads/2009/03/d68-gzip-op111net-wp-excerpts.png" alt="Gain by gzip compression on a webpage with many images, as reported by “Web Developer”" title="Gain by gzip compression on a webpage with many images, as reported by “Web Developer”" width="400" height="224" class="alignnone size-full wp-image-548" /></p>

<p>Notice the difference for the homepage of op111.net:  The document is 92kB but the browser has to get only 21kB — almost <em>one fifth</em> of the original size!</p>

<p>To return to the subject of my review,  all in all I’m very happy with <a href="http://utopian.net/" title="Making the Web easy for artists [utopian.net]">Utopian.net</a> and I recommend them to anyone looking for trouble-free and responsible shared hosting.</p>

<h3>A Small Orange</h3>

<p>I recently looked for a very small auxiliary plan to host a testing site.  And I found one that I fell in love with, “Tiny Orange”, by A Small Orange, a provider with two qualities I appreciate in Utopian.net:</p>

<ol>
<li>Openness</li>
<li>Honest offerings</li>
</ol>

<p><img src="http://op111.net/wp-content/uploads/2009/03/d68-aso-plan-tiny.png" alt="A Small Orange, “Tiny” webhosting plan" title="A Small Orange, “Tiny” webhosting plan" width="192" height="192" class="alignnone size-full wp-image-546" /></p>

<p>“Tiny Orange” offers 75MB storage and 3GB monthly transfer for $25/year, or $20/year if you use a coupon!  <del datetime="20090329">If you keep reading, you can get it for even less, or get a special 25% discount on any A Small Orange plan!</del>  (The special coupon expired!)</p>

<p>Tiny Orange is, of course, tiny!  It’s not for everyone, but, depending on your requirements, it may be enough for you.  To illustrate what 3GB/month is good for, the <a href="http://news.bbc.co.uk/text_only.stm" title="BBC News | News Front Page, low graphics [news.bbc.co.uk]">BBC News low-graphics homepage</a> is about 24kB, while the eBay homepage is about 280kB.  With the Tiny Orange you can serve 375 eBay homepages per day or 4400 BBC News homepages per day. — Not bad at all for less than 2 US dollars per month!</p>

<p>Then, what makes this super economical plan even better is that it has everything the larger <abbr title="A Small Orange">ASO</abbr> plans have, even <abbr title="Secure Shell">SSH</abbr> access.  In other words, it is a full-featured plan, tiny only in storage and transfer.</p>

<p>In general, <abbr title="A Small Orange">ASO</abbr> plans feature everything you need to run a modern website on a modern platform and don’t impose artificial limitations.  For example, you can use as many databases or subdomains as you wish, as long as you don’t exceed the storage space and monthly transfer of your plan.  And the amount of space and transfer are realistic, which means that A Small Orange take their clients seriously.  In return, I can take them seriously too.</p>

<p>The only things I’ve missed in my <abbr title="A Small Orange">ASO</abbr> plan are gzip compression and PHP cache, but this is because I’ve been spoiled by Utopian.net.  As I said,  I know of no other shared-hosting provider that offers these two features.</p>

<p>IMPRESSIONS AND NOTES</p>

<p>My Tiny Orange plan is very young and I used it mainly for testing,  so I cannot write a proper review of <abbr title="A Small Orange">ASO</abbr>.  But up to now I’m happy with it.  It’s been perfect for what I bought it for.  What follows is some impressions and notes.</p>

<p><em>Activation</em>.  <abbr title="A Small Orange">ASO</abbr> activate new accounts manually, to prevent abuse.  So, there is delay between payment and activation.  My account was activated 29 minutes after payment, which is when I received the welcome e-mail:</p>

<p><a href="http://op111.net/c/aso-welcome-2009.txt" title="A Small Orange welcome e-mail [op111.net]">op111.net/c/aso-welcome-2009.txt</a></p>

<p><em>Features and compatibility</em>.  I installed 3 web-publishing systems that use PHP and MySQL—Drupal, Habari and WordPress—and everything is fine up to now.  I also used cPanel a few times, which is the latest version, and it works well too.  FTP connectivity is good and fast.</p>

<p><em>Technical support</em>.  I knew that <abbr title="A Small Orange">ASO</abbr> is reputed for its good technical support, and my short experience confirms this reputation.  I contacted support twice via the help desk, once because of my stupidity and once because Habari needed a PHP extension that, as it turned out, had been temporarily disabled.  Both issues were resolved within minutes.</p>

<p><abbr title="A Small Orange">ASO</abbr> support is available via e-mail (official), the help desk (official), at the <abbr title="A Small Orange">ASO</abbr> forum (unofficial) and at the <abbr title="A Small Orange">ASO</abbr> wiki (unofficial).</p>

<p><em>Speed</em>.  Speed in page generation is good and I never noticed high server load.  Transfer speed is good too, at least from my basic aDSL connection.  I uploaded a 24MB file, so that you can check for yourself from your own connection and location:  <del>http://op109.net/c/ruby-1.8.6-26.exe</del>  20091003:  I deleted the file to free some space in my Tiny account.</p>

<p><em>Uptime</em>.  On the 1st of March I started monitoring 3 websites on 3 different <abbr title="A Small Orange">ASO</abbr> servers at intervals of 1 minute.  One has 100% uptime up to now.  The second was down twice, for 40 minutes and for 5 minutes.  The third was down once for 18 minutes.  To translate these numbers to uptime percentages:</p>

<ul>
<li>45 minutes downtime in 10 days is 99.70% uptime</li>
<li>18 minutes downtime in 10 days is 99.87% uptime</li>
</ul>

<p>I will update these numbers on the 1st of April.</p>

<p>A Small Orange guarantee 99.5% uptime, and they also have a page that displays the current status of all servers:</p>

<p><a href="http://status.asmallorange.com/" title="Current status of A Small Orange servers [status.asmallorange.com]">status.asmallorange.com</a></p>

<p>NOTE.  The behaviour of 3 servers over a period of 10 or 30 or 60 days cannot tell much about a company with dozens of servers.  Certainly, it cannot tell with any confidence that the servers are reliable.  But it could be a sign that they are not reliable.</p>

<h3>25% special discount for op111.net readers</h3>

<p><del datetime="20090329">If you want to try <abbr title="A Small Orange">ASO</abbr>, the kind people at A Small Orange offered a special 25% discount for op111.net readers on all <abbr title="A Small Orange">ASO</abbr> plans.  It is for new clients only and valid for 14 days — until <em>25 March</em> 2009.</del>  The special discount that <abbr title="A Small Orange">ASO</abbr> kindly offered expired, but you can use one of the two coupon codes below:</p>

<ol>
<li><strong>op111.net-$5</strong> &nbsp;‹&nbsp; Use this to get 5 US dollars off the standard price!</li>
<li><strong>op111.net-15%</strong> &nbsp;‹&nbsp; Use this to get 15 percent off the standard price!</li>
<li><a href="http://refer.asmallorange.com/21259" title="op111.net non-credit referral for ASO. Use “op111.net” to get a 25% discount! [refer.asmallorange.com]">refer.asmallorange.com/21259</a> &nbsp;‹&nbsp; Click to get an <abbr title="A Small Orange">ASO</abbr> plan!</li>
</ol>

<p>DISCLOSURE.  <em>When you use an op111.net code, my <abbr title="A Small Orange">ASO</abbr> account is credited with one month’s worth of the plan you buy.  So, if you buy a plan that is $5/month, my account is credited with 5 dollars.  (I think you can guess by now that my main motivation for publishing the coupons is not the credit — I just like the service!)</em></p>

<p>The following table shows the 5 shared-hosting plans by <abbr title="A Small Orange">ASO</abbr>, the standard prices, and the prices you get with the 15% discount.  Note that all plans except Tiny offer 14 months when you buy 1 year.  Prices are in US dollars.</p>

<pre><code>             Space     Trnsfr      Std    (mo)    −15%    (mo)
---------------------------------------------------------------      
 Tiny         75MB        3GB       25  (2.08)      21  (1.77)
 Small       400MB       10GB       60  (4.29)      51  (3.64)
 Medium     1000MB       25GB      120  (8.57)     102  (7.29)
 Large      2500MB       60GB      240 (17.14)     204 (14.57)
 Super      4500MB      100GB      360 (25.71)     306 (21.86)
</code></pre>

<p>TIP 1.  For the Tiny Orange the $5 coupon gives a better discount than the 15% coupon.</p>

<p>TIP 2.  If you want to try <abbr title="A Small Orange">ASO</abbr> but don’t have a domain name, <a href="http://www.godaddy.com/" title="Domain Names, Web Hosting and SSL Certificates - Go Daddy [godaddy.com]">Go Daddy</a> offers .info domains (http://example.info/) for $1.99.</p>

<p>Thanks for reading!</p>

<p>δκ</p>

<h3>Links</h3>

<p><a href="http://asmallorange.com/" title="A Small Orange – Web Hosting, Software and more! [asmallorange.com]">A Small Orange</a><br />
<a href="http://utopian.net/" title="Making the Web easy for artists [utopian.net]">Utopian.net</a></p>

<p><a href="http://asymptomatic.net/2008/02/01/2699/how-to-choose-a-good-web-host" title="[asymptomatic.net]">How to Choose a Good Web Host</a> by Owen Winkler at Asymptomatic.</p>

<h3>Changes</h3>

<dl>
<dt>2009-03-29</dt>
<dd>Added 2 new coupon codes for <abbr title="A Small Orange">ASO</abbr>:  <strong>op111.net-$5</strong> and <strong>op111.net-15%</strong>.  (The 25% coupon expired.)  Several other edits and corrections</dd>

<dt>2009-03-14</dt>
<dd>Added quick explanations of APC and gzip compression.</dd>
</dl>

<!--ABBREVIATIONS............................................................-->

<!--URIs.....................................................................-->
<hr />
<p>Add to <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://op111.net/68/&title=Reliable budget hosting from $18.75/year:  A quick look at 2 webhosts">del.icio.us</a></p>
<hr />
<p>© 2009 <a href="http://op111.net">op111.net</a> | <a href="http://op111.net/68/">Permalink</a></p> ]]></content:encoded>
			<wfw:commentRss>http://op111.net/68/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>tumblr log-in screen</title>
		<link>http://op111.net/52/</link>
		<comments>http://op111.net/52/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 05:45:00 +0000</pubDate>
		<dc:creator>demetris</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[lang-en]]></category>
		<category><![CDATA[legibility]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[microblogging]]></category>
		<category><![CDATA[readability]]></category>
		<category><![CDATA[tumblr]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://op111.net/?p=52</guid>
		<description><![CDATA[The log-in screen of tumblr:  Large readable fonts. <a href="http://op111.net/52/" title="View post tumblr log-in screen" rel="bookmark">More...</a>]]></description>
			<content:encoded><![CDATA[<p>I love it! :-)  <span id="more-52"></span></p>

<p><a href="http://op111.net/wp-content/uploads/2008/11/tumblr-login-screen.png"><img src="http://op111.net/wp-content/uploads/2008/11/tumblr-login-screen-300x225.png" alt="tumblr.com, login screen, in Firefox for Linux. Large readable font" title="tumblr login screen, in Firefox for Linux" width="300" height="225" class="size-medium wp-image-407" /></a></p>

<p><a href="http://tumblr.com" title="tumblr, a miniblog application and service [tumblr.com]">tumblr</a> log-in screen.</p>
<hr />
<p>Add to <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://op111.net/52/&title=tumblr log-in screen">del.icio.us</a></p>
<hr />
<p>© 2008 <a href="http://op111.net">op111.net</a> | <a href="http://op111.net/52/">Permalink</a></p> ]]></content:encoded>
			<wfw:commentRss>http://op111.net/52/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.780 seconds. --><!-- Cached page generated by WP-Super-Cache on 2011-10-19 23:47:51 -->

