<?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>GrantPalin.com</title>
	
	<link>http://grantpalin.com</link>
	<description>Code, photos, books, and anything else</description>
	<lastBuildDate>Sun, 29 Jan 2012 23:58:30 +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/grantpalin" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="grantpalin" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Review of the BlackBerry Playbook</title>
		<link>http://grantpalin.com/2011/07/18/review-blackberry-playbook/</link>
		<comments>http://grantpalin.com/2011/07/18/review-blackberry-playbook/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 02:54:14 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2276</guid>
		<description><![CDATA[My review of the current latest and greatest BlackBerry accessory - the Playbook tablet]]></description>
			<content:encoded><![CDATA[<div id="attachment_2282" class="wp-caption aligncenter" style="width: 610px"><img src="http://grantpalin.com/wp-content/uploads/2011/10/DSC_6153-600x398.jpg" alt="Playbook, still boxed" title="DSC_6153" width="600" height="398" class="size-large wp-image-2282" /><p class="wp-caption-text">This colourful box holds one brand new Playbook</p></div>
<h2>Hardware</h2>
<p>Initial examination shows that the Playbook is a compact tablet, with a very sturdy feel and rubberized edges and back. The smaller size, as opposed to the larger iPad or Xoom, makes the device easy to hold in one hand &#8211; the rubberized backing helps with this too.</p>
<p>The screen is gorgeous. There&#8217;s no other way to put it. The colours are excellent, and the graphics are crisp. It does have a noticeable black bezel, which serves a purpose, as seen shortly.</p>
<p>At the top edge are the only physical buttons; on the left is a small round power button, and just to the right of that are three rectangular buttons that decrease sound volume, start and stop media, and increase sound volume, respectively. The two volume buttons, if pressed at the same time, cause a screenshot to be taken of the Playbook&#8217;s display, and dropped in the Pictures folder. Also on the top, at one end, is the headphone jack.</p>
<p>Much attention has been given to the power button. The initial run of the Playbook had the power button flush with the device edge, causing many complaints of how hard the button is to push; it is reported that RIM modified the device to raise the button slightly afterwards. My button is flush, and I have no issue pressing it when needed. The complaints about it seem like petty nitpicking.</p>
<p>The bottom edge has three connectors, one of which is a micro-<abbr title="Universal Serial Bus">USB</abbr>, and another a mini-<abbr title="High-Definition Multimedia Interface">HDMI</abbr>. The third is a magnetic dock connector for charging (dock not included). The device can also be charged via the micro-<abbr title="Universal Serial Bus">USB</abbr> and the included charging cable.</p>
<p>The backside has a camera below the top edge, centered. On the front, equidistant from the top center are a notification light and another camera.</p>
<h2>Operating System</h2>
<div id="attachment_2283" class="wp-caption alignleft" style="width: 310px"><img src="http://grantpalin.com/wp-content/uploads/2011/10/DSC_6159-300x200.jpg" alt="Playbook initial startup" title="DSC_6159" width="300" height="200" class="size-medium wp-image-2283" /><p class="wp-caption-text">The Playbook&#039;s initial startup isn&#039;t exciting, but it works!</p></div>
<p>The core software is based on QNX, which I had not known about before but apparently powers numerous embedded devices, and so already has some history. RIM is apparently planning new phones based on QNX, so the Playbook seems to be the testing ground for the new(er) operating system.</p>
<p>The interface has a minor learning curve, but once past that curve I was happily working away. As the device only has physical buttons for power and media control, all interaction with the <abbr title="Operating System">OS</abbr> is done onscreen. This is where the wide bezel comes into play: it is used for originating &#8220;swipes&#8221;, messages to the <abbr title="Operating System">OS</abbr> to perform a specific action. Swiping actions are:</p>
<ul>
<li>With an app running, swiping upwards from the bottom bezel shrinks the app, and makes the <abbr title="Operating System">OS</abbr> main screen visible.</li>
<li>Swiping horizontally from the left or right bezels allows switching between currently open apps.</li>
<li>Most apps will show their own menu bar when swiped down from the top bezel.</li>
<li>Also, when within an app, swiping down and to the left from the top right corner of the bezel will show the <abbr title="Operating System">OS</abbr> menu bar. </li>
<li>Finally, swiping up and to the right from the bottom left corner reveals the virtual keyboard.</li>
</ul>
<p>Once used to the swiping system, moving around and switching apps becomes very intuitive.</p>
<p>The main screen has a small menu bar at the top and a &#8220;drawer&#8221; at the bottom. Tapping the arrow at one end opens or closes the drawer. There are subsection <strong>All</strong>, <strong>Favorites</strong>, <strong>Media</strong>, <strong>Games</strong>, and <strong>Bridge</strong>. <strong>All</strong> is the catch-all, in that all apps appear there. <strong>Favorites</strong> contains the items that are frequently used, while <strong>Media</strong> and <strong>Games</strong> contain media-related apps and games, respectively. The last group, <strong>Bridge</strong>, contains the Bridge-specific apps, which can be used only when the Playbook is bridged to a BlackBerry phone.</p>
<p>The apps within each section can be rearranged; this is done by pressing and holding on an app icon for about two seconds, at which point all icons in view start pulsating. At this point, each icon will have an &#8216;X&#8217; beneath it, which can be clicked to delete the app. Also, an icon can be pressed and dragged to another position, or even to another tab. The one exception is the set of Bridge icons &#8211; they cannot be deleted or moved to another tab, though they can be rearranged.</p>
<h2>Tethering/Bridging</h2>
<div id="attachment_2284" class="wp-caption alignright" style="width: 310px"><img src="http://grantpalin.com/wp-content/uploads/2011/10/DSC_6163-300x200.jpg" alt="Playbook connected to home WiFi" title="DSC_6163" width="300" height="200" class="size-medium wp-image-2284" /><p class="wp-caption-text">Playbook is a primarily WiFi tablet - it's very simple get on a WiFi network</p></div>
<p>Most any tablet these days can be tethered to a cell phone via BlueTooth, and the PlayBook is no exception. This allows the device to make use of the phone&#8217;s data plan when wifi is not available. Tethering the PlayBook works regardless of which phone is used, BlackBerry or otherwise.</p>
<p>If the phone involved is a BlackBerry, there is an additional option available: Bridge. Bridge is a feature built in to the PlayBook, and a matching application can be installed on a supported BlackBerry. When the devices are bridged, they are connected via BlueTooth, similar to standard tethering. The difference is that the phone&#8217;s contents are <em>bridged</em> to the tablet; that is, the phone&#8217;s emails, calendar, contacts, and files are accessible on the PlayBook. When Bridge is active, additional applications are available which provide access to this information, including a bridge-specific web browser to use the web via the phone&#8217;s data plan. Bridge essentially provides a larger window into this data on the phone.</p>
<div id="attachment_2285" class="wp-caption alignleft" style="width: 310px"><img src="http://grantpalin.com/wp-content/uploads/2011/10/DSC_6174-300x200.jpg" alt="Establishing the Bridge connection" title="DSC_6174" width="300" height="200" class="size-medium wp-image-2285" /><p class="wp-caption-text">Bridge is easy to configure on the phone, done mostly by the Bridge app</p></div>
<p>What makes Bridge interesting is that the bridged data is kept on the phone &#8211; it is not stored on the tablet, and disappears when the connection is broken. This is a plus for security, since personal or sensitive information such as emails and contacts are kept on the phone, instead of creating yet another location where that information can be retrieved from.</p>
<p>Setting up Bridge was pretty simple: I just had to install the Bridge app on my Tour 9630, open the matching app on the Playbook, and initiate the connection. Both devices remember each other, so connecting again in the future is very quick &#8211; if the phone is nearby when the tablet is started, they are bridged automatically.</p>
<h2>Apps</h2>
<p>The device is physically solid, no question, and the operating system is a pleasure to use. But they aren&#8217;t the most important aspects of a tablet: it&#8217;s the apps that matter. The Playbook ships with a number of useful apps, and many more are available in AppWorld. There are also some apps that are missing.</p>
<p>Perhaps the most important app is the web browser. The web is supposed to be the equalizer between many different platforms and operating systems, so that content can be accessed from any system with a web browser &#8211; without the need to build the same app for each possible device.</p>
<p>The Playbook web browser is based on Webkit &#8211; it is fast, and renders pages accurately. That said, web content is often not optimized for small screens or finger-driven interfaces, so apps come to equalize things again. An app presents a custom-built interface for consuming web content; the interface is designed to work on smaller screens and be usable by fingers rather than mice or keyboards.</p>
<h3>Reading</h3>
<p>A <strong>Kobo</strong> app ships on the Playbook. It is essentially a software version of my Kobo e-reader device. It connects to my Kobo account and lets me download and read any new purchases. This is a redundancy since I have my separate Kobo device, and I prefer to do my reading on that. However, it&#8217;s nice to have it available here when the Playbook is close at hand and the Kobo is not. Incidentally, while the Kobo app easily synchronizes to my Kobo account, it does not recognize or load materials from other sources. This is where the next app comes in.</p>
<p><strong>EPUB Player</strong> will load ePub books files from any source. This works for me since I have books from other sources besides Kobo. There is one other ePub reader that I&#8217;m aware of on AppWorld, but I like this one better. It has an Import EPUB button which presents a list of ePub files in the Playbook&#8217;s books folder; when selected, a file will have an icon added to the EPUB Reader main screen, where it can be tapped to read it. When opening a book that has previously been opened, the software goes straight to where reading left off when the book was closed. I have loaded some books from Manning and Sitepoint, as well as issues of phpArchitect and Hacker Monthly. I can read these on my Kobo device as well, but again, it&#8217;s handy to have them available on the tablet.</p>
<p>For checking on current news and events, I use apps for Canadian newspapers &#8211; the <strong>National Post</strong> and the <strong>Globe &amp; Mail</strong>. These were available surprisingly quickly after the PlayBook was released. Even my local newspaper, the <strong>Times Colonist</strong>, has an app (though the news shown there are usually about a day old).</p>
<h3>Media/Social</h3>
<p>RIM produced a Facebook app for the Playbook. It&#8217;s easier to use than the web browser version. Not much else to say.</p>
<p>For tracking Twitter, I use <strong>Blaq</strong>, a very attractive paid app.</p>
<p>For tracking web feeds, I purchased <strong>Pipeline</strong>, which looks good but doesn&#8217;t &#8220;click&#8221; for me. <strong>GeeReader</strong> is a more useful, and free, feed reader. It synchronizes with my Google Reader account, so reads and stars are maintained whether I&#8217;m on a computer or using the Playbook.</p>
<p>The built-in <strong>Pictures</strong> app is functional. When adding my photos via the Desktop Manager, the directory structure was collapsed to one level, which bugs me a little. Also, the view does not rotate with the screen, so portrait photos must be viewed in landscape mode. Swiping through pictures in a single folder is quite easy, as is navigating all the picture folders.</p>
<p>The <strong>Podcasts</strong> app presents a pre-configured set of podcasts in a number of categories. Tapping on a podcast icon shows the details of the podcast, and a list of episodes. Episodes can be downloaded automatially or manually. Only the podcasts listed within the app can be subscribed &#8211; there doesn&#8217;t seem to be a way to add podcasts from other sources online.</p>
<h3>Email, Contacts, Calendar</h3>
<p>This is another large, ongoing complaint; the Playbook did not ship with built-in email, contacts, or calendar apps. Like the power button, much has been made of this issue.</p>
<p>In my view, the lack of these native apps is not a huge deal, as I don&#8217;t need all that information in yet another location; besides, these are all available via Bridge, though that isn&#8217;t an option if someone using a Playbook is not also using a BlackBerry phone. The Playbook does include shortcut icons to various internet email services such as GMail, Hotmail, and AOL. I kept the GMail icon and deleted the rest; GMail&#8217;s mobile web interface works quite nicely on the Playbook.</p>
<p>Simply put, the weight of this issue depends on what your needs are, and for me, this is a non-issue.</p>
<h3>Apps I would like to see</h3>
<p>Given my disclaimer above, that the web access somewhat reduces the need for installed apps, there are a few such programs that I would love having on the PlayBook for an optimal experience:</p>
<ul>
<li>Evernote</li>
<li>Remember the Milk (the web interface is not finger-friendly)</li>
<li>Instapaper</li>
<li>Zinio (I think a magazine reader could be one of the selling features of the PlayBook)</li>
<li>Google Maps (I don&#8217;t like the Bing Maps app, and the Google Maps website is not finger-friendly)</li>
<li>Flickr (a specialized app for browsing and managing photos would be awesome)</li>
</ul>
<h2>Niggles</h2>
<p>Overall the PlayBook is a nice device, despite the weak software selection. I do have some minor complaints about the device software, none of which are make-or-break issues.</p>
<p>When typing on the virtual keyboard, positioning the text insertion cursor can be difficult &#8211; this is one place where the touchscreen interface is a bit frustrating, since fingers are too large to accurately touch a location between letters in a text field. Perhaps when the keyboard is active, arrow keys could be added to the screen, or an onscreen touchpad. Either would help this issue.</p>
<p>Also on the virtual keyboard: the <code>123</code> sym key switches the keyboard to symbol mode, where each key press keeps the symbol mode active until it is toggled back. Oddly, the <code>aA</code> key (shift) does not keep the mode active &#8211; it switches back to standard mode after each keypress. I wish the shift mode would remain active until toggled back, like the symbol mode &#8211; might as well be consistent!</p>
<p>The browser has no feature for finding text on a webpage, making finding specific information more difficult on longer pages.</p>
<h2>Ideas</h2>
<p>Virtual keyboards aren&#8217;t my preference, though the one on the PlayBook works reasonably well. It cold be a neat thing to use the BlackBerry&#8217;s keyboard for typing while the devices are bridged. That feature works for Bridge, why not keypresses?</p>
<p><strong>The bottom line:</strong> the Playbook is physically solid, has a super <abbr title="User Interface">UI</abbr>, comes equipped with useful core software, and works with your BlackBerry phone if you have one. On the downside, the app selection is still weak; I&#8217;m not bothered by the lack of native email, as explained earlier, so that particular aspect is not a factor in my eyes. The Playbook is helped greatly by the Bridge feature, which, despite the apps shortage, makes it an excellent companion to a BlackBerry smartphone.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/_UdSGs89IhQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2011/07/18/review-blackberry-playbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reading with Kobo</title>
		<link>http://grantpalin.com/2011/07/16/reading-with-kobo/</link>
		<comments>http://grantpalin.com/2011/07/16/reading-with-kobo/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 06:52:40 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2241</guid>
		<description><![CDATA[Electronic book readers have been around for some time, but I only recently started using one: the Kobo, produced by &#8211; wait for it &#8211; Kobo, based somewhere in Ontario. The Kindle is the obvious leader in the e-reader market, largely since it is backed by Amazon. I looked at the Kindle, but in my [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_2247" class="wp-caption aligncenter" style="width: 310px"><img src="http://grantpalin.com/wp-content/uploads/2011/08/DSC_61091-300x200.jpg" alt="Kobo, boxed" title="DSC_6109" width="300" height="200" class="size-medium wp-image-2247" /><p class="wp-caption-text">The Kobo is still in the box, clearly</p></div>
<p>Electronic book readers have been around for some time, but I only recently started using one: the <a href="http://www.kobobooks.com/">Kobo</a>, produced by &#8211; wait for it &#8211; Kobo, based somewhere in Ontario.</p>
<p>The Kindle is the obvious leader in the e-reader market, largely since it is backed by Amazon. I looked at the Kindle, but in my opinion it tries to do too much &#8211; it has a keyboard, a basic web browser, and can even play music. Too much for what, in my view, should be a simple device for doing a simple thing: reading. The Kobo is a better match for my preference, and it being of Canadian origin doesn&#8217;t hurt either!</p>
<div id="attachment_2248" class="wp-caption aligncenter" style="width: 310px"><img src="http://grantpalin.com/wp-content/uploads/2011/08/DSC_6112-300x200.jpg" alt="Box contents" title="DSC_6112" width="300" height="200" class="size-medium wp-image-2248" /><p class="wp-caption-text">Not very much is in the box, but then not much is needed</p></div>
<p>Getting started is really simple. Unpacking the box yields the Kobo itself, a USB cord, and a manual. The only way to charge the Kobo is to connect it to a computer via the USB cord. One less cord, but requires a computer. There was a bit of a charge on the device already, so turning it on and browsing the contents was a simple task.</p>
<p>The Kobo ships with 100 classic novels preloaded, written by the likes of Jules Verne, Charles Dickens, and H.G. Wells. The <a href="http://www.kobobooks.com/">Kobo bookstore</a> also has a freebies section, where additional free ebooks can be downloaded. These are mostly additional classics, though there are also more contemporary novels in the mix. There seems to be some overlap between preloaded novels and the extra free ones available online &#8211; after downloading a bunch of these, I had two of the same book in a few cases.</p>
<div id="attachment_2250" class="wp-caption alignleft" style="width: 142px"><img src="http://grantpalin.com/wp-content/uploads/2011/08/DSC_61261-132x200.jpg" alt="Kobo closeup" title="DSC_6126" width="132" height="200" class="size-medium wp-image-2250" /><p class="wp-caption-text">Showing the Kobo&#039;s main screen</p></div>
<p>Reading is simple. From the main screen, select a book, using the control pad, and &#8220;click&#8221; by pressing the centre of the pad. There is a short wait while the book loads, then reading commences. Turn pages by pressing the left or right side of the control pad; page changes have a bit of a lag, more than it would take to turn a physical page. It&#8217;s not bad as it is, but any longer and it would get frustrating quickly.</p>
<p>The controls on the left side of the device, Home, Menu, Shop, and Back do just as they sound. Home returns the user to the main screen, Menu brings up the device menu, Shop provides access to the shopping mode (I prefer doing this on a computer as it&#8217;s less painful), and back changes your view to where you were previously (except if on the home screen), or removes the side menu if it is visible.</p>
<p>I&#8217;ve purchased numerous books from the Kobo store. There is a good variety, and the prices are less than equivalent paperback versions. I&#8217;ve also been able to sideload, via my computer, a number of books (in ePub format) from other sources, as well as some magazines (<a href="http://www.phparch.com/">phpArchitect</a> and <a href="http://hackermonthly.com/">Hacker Monthly</a>). The Kobo has quite a bit of storage onboard, but can be supplemented with an <abbr title="Secure Digital">SD</abbr> memory card to expand the storage, especially useful for sideloading  extra reading materials.</p>
<div id="attachment_2249" class="wp-caption aligncenter" style="width: 310px"><img src="http://grantpalin.com/wp-content/uploads/2011/08/DSC_61141-300x200.jpg" alt="Syncing Kobo to computer" title="DSC_6114" width="300" height="200" class="size-medium wp-image-2249" /><p class="wp-caption-text">The Kobo reader can be connected to a computer and be synced via the Kobo software</p></div>
<p>There is an <a href="http://www.kobobooks.com/desktop">application for computers</a>, supporting Windows and Mac. This can be used to sync book purchases from the bookstore, and read downloaded books on the computer &#8211;  a nice facility in addition to the Kobo itself. The device has the capability to connect to WiFi networks to directly sync from the store; it can also be connected to a computer with the Kobo software installed, and be synced via the software.</p>
<p>If that wasn&#8217;t enough, Kobo also provides <a href="http://www.kobobooks.com/smartphones">reading software for smartphones</a>, essentially a scaled-down version of the computer-based application. Smartphones don&#8217;t have very big screens, so this facility isn&#8217;t as useful as the actual device or the computer-based software, but it&#8217;s still nice to have the option. I had this working nicely on my BlackBerry Tour, useful for doing little bits of reading while waiting for a bus or the like, where I had a few minutes to spare.</p>
<p>Kobo recently released an updated version of the device. It features a touch screen, a minimized single physical button on the front, and a redesigned back. It was announced just two weeks after I got my second-generation device, and I&#8217;m not at all bothered by that. I&#8217;m quite happy with my Kobo as it is.</p>
<p>I&#8217;m not planning to switch completely to electronic books anytime soon, though my ratio of text on paper to text in bytes may eventually change. For the moment, an e-reader is a supplement to my existing library and to any future reading materials I like to have in physical form.</p>
<p><strong>The bottom line:</strong> the Kobo is a simple device. I recommend it as the ebook reader to use for the first-time ebook user. It&#8217;s inexpensive, simple to set up, and a breeze to use.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/SBCHgu11dIQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2011/07/16/reading-with-kobo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Slightly More Beautiful Web</title>
		<link>http://grantpalin.com/2011/03/19/a-slightly-more-beautiful-web/</link>
		<comments>http://grantpalin.com/2011/03/19/a-slightly-more-beautiful-web/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 05:29:17 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2230</guid>
		<description><![CDATA[I'll present my perspective on the newest web browser on the block: Internet Explorer 9.]]></description>
			<content:encoded><![CDATA[<p>Microsoft have been busy recently. Among other things, they recently pushed out the latest successor to the ancient web browser, Internet Explorer 6. The venerable (?) IE6 has been around for so long, overstaying its welcome long ago, and is now being shown the door. By the parent company, no less.</p>
<p>Indeed, Microsoft have finally gotten on the &#8220;End IE6&#8243; bandwagon, symbolized by the <a href="http://ie6countdown.com/">Internet Explorer 6 Countdown</a> website. It seems to be the first time the company has officially shared it&#8217;s view of the old browser.</p>
<p>In addition, <a href="http://blogs.msdn.com/b/ie/archive/2011/03/14/ie9-release-globally-available-for-consumers-and-businesses.aspx">IE9 was officially released</a> earlier this week. It follows much fanfare, multiple public previews, betas, and a release candidate, representing a large step up in features and standards support.</p>
<h2>The elephant in the room</h2>
<p>A sticky issue regarding the demise of IE6 is Windows XP. The equally venerable operating system ships with IE6, which can be further updated, though only to IE8. Microsoft has explained that due to a technical limitation, IE9 will not work on Windows XP systems. This presents a damper on the efforts to phase out IE6 altogether, due to XP users not upgrading because they are not able to (corporate systems come to mind here) or do not know how &#8211; or maybe don&#8217;t even care. Windows XP still represents a very large chunk of the operating system usage numbers.</p>
<p>However, Windows XP is approaching the end of its support cycle, and once that drops off, hopefully IE6 will drop off along with it. Even before that, IE6 has been declining in global usage trends for some years anyway.</p>
<p>Keep in mind that Windows Vista ships with IE7 and can be upgraded to IE8 and then IE9, and that Windows 7 includes IE8 and can upgrade to IE9; it is hoped that Windows Vista and 7 systems will be upgraded to IE9 in short order, depressing the IE6 and IE7 numbers at the least.</p>
<h2>The web&#8217;s future is looking better</h2>
<p>On to the more positive details, the aspects of IE9 and what it means for users and web developers.</p>
<p>IE7 was a big step up from IE6, and IE8 was a further (smaller) step up. IE9 appears to be a very big step up, making IE6 appear infinitesimal in comparison. I&#8217;ll go through both perspectives and provide some points for each on what I believe makes IE9 a notable update.</p>
<h3>For the users</h3>
<p><strong>Jump lists</strong> &#8211; a new feature that come into play when IE9 is running on Windows 7. They provide a way to gain quick access to parts of a website. It works by dragging a site&#8217;s tab to the taskbar, creating an icon. Clicking the icon will show options that the site offers. This does require that the site have implemented some code to support the feature. Twitter and Facebook have already done this; no doubt there are others as well.</p>
<p><strong>Speed!</strong> &#8211; IE9 appears noticeably faster in rendering pages than its predecessor. No concrete comparison, just one person&#8217;s observation. It would be interesting to see benchmarks of all current browsers once Firefox 4 and Opera 11.1 are released (soon, supposedly).</p>
<p><strong>Simplicity</strong> &#8211; previous IEs have been less than attractive. IE9 greatly simplifies the UI, having combined the URL and search boxes, and reduced the icons to a small strip at the end of the URL bar.</p>
<p><strong>Download manager</strong> &#8211; finally! This is one feature that IE has lacked for years while the alternative browsers the ability to manage downloads. This is a much-appreciated feature in IE9.</p>
<h3>For the developers</h3>
<h4>Standards support</h4>
<p>Microsoft have provided an <a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx">Internet Explorer 9 Guide for Developers</a> which details the current standards support. It is thorough, covering new and improved support for CSS3, HTML5, JavaScript, and DOM APIs.</p>
<p>An additional resource is the <a href="http://caniuse.com/">When can I use&#8230;</a> website, maintained by <a href="http://a.deveria.com/">Alexis Deveria</a>. <abbr title="When can I use...">WCIU</abbr> is a listing of various web standards (e.g. <abbr title="HyperText Markup Language">HTML</abbr>, <abbr title="Cascading Style Sheets">CSS</abbr>, <abbr title="JavaScript">JS</abbr>, <abbr title="Document Object Model">DOM</abbr>) and indicates the level of support for each in common web browsers. This includes desktop browsers as well as mobile versions, and can show support numbers for multiple versions of each. It&#8217;s a <em>very</em> useful resource to see at a glance whether a particular standard can be widely used.</p>
<p>The site has a listing of the changes in feature support from IE8 to IE9: <a href="http://caniuse.com/#compare=y&#038;b1=ie|8&#038;b2=ie|9">IE8 vs IE9</a>. Ones that I particularly appreciate include:</p>
<ul>
<li>HTML5 &#8211; Audio element</li>
<li>HTML5 &#8211; Video element</li>
<li>HTML5 &#8211; New semantic elements (e.g. section, aside, nav, header, footer)
<ul>
<li>refers to default styling of block elements; can be &#8220;enabled&#8221; in IE &lt; 9 <a href="http://remysharp.com/2009/01/07/html5-enabling-script/">using a JavaScript shiv</a> and some extra CSS (<a href="http://blog.whatwg.org/supporting-new-elements-in-ie">ref</a>)</li>
</ul>
</li>
<li>CSS3 &#8211; Rounded corners</li>
<li>CSS3 &#8211; Multiple backgrounds</li>
<li>CSS3 &#8211; Opacity</li>
<li>CSS3 &#8211; Selectors (now in all current major browsers)</li>
<li>DOM/JS &#8211; getElementsByClassName</li>
</ul>
<p>On the flip side, there are some areas in which IE9 is still lacking, where one or more of the other browsers has support in place. Some items that I would like to see added to IE10 are:</p>
<ul>
<li>HTML5 &#8211; New form elements / attributes</li>
<li>CSS3 &#8211; Multiple columns</li>
<li>CSS3 &#8211; Text-shadow</li>
<li>CSS3 &#8211; Gradients</li>
<li>CSS3 &#8211; Transitions</li>
</ul>
<p>Despite the above shortages, the listing does show a marked improvement in IE9; indeed, according to the summary table, the latest browser&#8217;s standard support has doubled over IE8. It&#8217;s still behind the other browsers, true, but it has made progress. I think that, at the moment, IE9 has support for the majority of web standards that are widely used <em>today</em>, or that developers typically would like to use. The outstanding items appear to me as &#8220;extras&#8221;, nice-to-haves but not absolute necessities.</p>
<h4>Jump lists</h4>
<p>The new jump lists feature will provide some convenience for accessing websites. Admittedly the audience for such a feature is currently small (IE9 + Windows 7), but it couldn&#8217;t hurt to do some exploration and test implementations. The utility of this feature will depend on where it is implemented &#8211; it will likely be overkill for a basic site, while a big application such as Twitter or Facebook could benefit. It will be up to the webmaster to make this decision.</p>
<p>The feature appears to be easy to implement &#8211; it just takes a set of meta tags in a website&#8217;s <code>head</code> section to make it work. An example implementation from the Twitter website:</p>
<pre class="brush: xml">
&lt;meta name=&quot;msapplication-task&quot; content=&quot;name=New Tweet; action-uri=http://twitter.com/home; icon-uri=images/ie/tweet.ico&quot; /&gt;
&lt;meta name=&quot;msapplication-task&quot; content=&quot;name=Direct Messages; action-uri=http://twitter.com/inbox; icon-uri=images/ie/dm.ico&quot; /&gt;
&lt;meta name=&quot;msapplication-task&quot; content=&quot;name=Mentions ; action-uri=http://twitter.com/replies; icon-uri=images/ie/mentions.ico&quot; /&gt;
&lt;meta name=&quot;msapplication-task&quot; content=&quot;name=Favorites; action-uri=http://twitter.com/favorites; icon-uri=images/ie/fav.ico&quot; /&gt;
&lt;meta name=&quot;msapplication-task&quot; content=&quot;name=Search; action-uri=http://search.twitter.com; icon-uri=images/ie/search.ico&quot; /&gt;
</pre>
<p>Scott Hanselman has written up <a href="http://www.hanselman.com/blog/IE9SiteSpecificBrowsersAndAddingYourOwnJumpListItemsToPinnedTabs.aspx">a thorough tutorial</a> on implementing jump lists. Plenty of code, screenshots, and explanations available.</p>
<h2>IE10: 201X?</h2>
<p>Once again, IE9 is a big step forward, as it should be. However, no product exists in a vacuum, and there is still much that is needed &#8211; there will be more new features and technologies to be added in the coming years.</p>
<p>Here&#8217;s hoping Microsoft don&#8217;t take another prolonged period to release a major browser release. At the rate they have been going, they will not be able to catch up to the rest of the pack anytime soon. I think they should look at doing smaller point releases  (at least) once a year. It would reduce the wait time for individual capabilities to become widely available, and at least make it seem like progress is being made at a regular pace.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/ISgoEcHGlLo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2011/03/19/a-slightly-more-beautiful-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review: CSS3 for Web Designers</title>
		<link>http://grantpalin.com/2011/01/30/review-css3-for-web-designers/</link>
		<comments>http://grantpalin.com/2011/01/30/review-css3-for-web-designers/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 03:42:55 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2218</guid>
		<description><![CDATA[A look at a recent book on CSS3 from a known master on the subject.]]></description>
			<content:encoded><![CDATA[<div class="image thumb float-left"><a href="http://books.alistapart.com/products/css3-for-web-designers"><img src="http://grantpalin.com/wp-content/uploads/2011/02/css3-for-web-designers-thumb11.png" alt="CSS3 for Web Designers - cover" title="css3-for-web-designers-thumb" width="100" height="154" class="alignright size-full wp-image-2222" /></a></div>
<p><strong>Author:</strong> Dan Cederholm<br />
<strong>Publisher:</strong> A Book Apart<br />
<strong>Published:</strong> 2010<br />
<strong>Pages:</strong> 125</p>
<p>Last year, <a href="http://grantpalin.com/2010/07/25/review-html5-for-web-designers/">I reviewed a book on HTML5</a>, written by Jeremy Keith and published by <a href="http://books.alistapart.com/">A Book Apart</a> (closely associated with A List Apart and An Event Apart). <abbr title="A Book Apart">ABA</abbr> is developing a series of books related to web design and development; each targets a particular topic, and focuses on the most important or prevalent aspects of the topic material. This got off to a good start with the HTML5 book, the first in the series. Since then, <abbr title="A Book Apart">ABA</abbr> released a new book focused on CSS3, which is the focus of this review.</p>
<p>Enter <a href="http://books.alistapart.com/products/css3-for-web-designers"><cite>CSS3 for Web Designers</cite></a>. This book introduces some interesting uses of CSS3, and the application of those capabilities to modern browsers in a variety of ways.</p>
<p><a href="http://simplebits.com">Dan Cederholm</a> may well be the most qualified person to write a book on CSS3, even a brief one. He has already written three other books on CSS, and is well-known in the web industry. That said, without even opening this book, it helps to know the reader will be in good hands.</p>
<p>The book has a <a href="http://css3exp.com/code/">supporting website</a>, where you can see some of the effects in action, and download the sample code.</p>
<h2>The Chapters</h2>
<p>In the following sections, I&#8217;ll briefly summarize the contents of each of the book&#8217;s chapters. Hopefully I will do it justice in providing a clear picture of what is contained within!</p>
<h3>Using CSS3 Today</h3>
<p>The book starts with a brief history of CSS, leading up to the current state of CSS3. It lists the uses of CSS, and the benefits it provides. Next is a list of CSS3 properties that are usable now; each of these items comes with a description, a usage sample, and an outline of browser compatibility. It&#8217;s important to note that the compatibility listings as of when the book was published &#8211; the values will have since changed. Also included is the use of vendor-specific prefixes; these help to ease the process of using CSS3 in browsers that don&#8217;t yet support the standard properties, but have experimental support in place.</p>
<h3>Understanding CSS3 Transitions</h3>
<p>In the dark ages of the web, web developers created rollover effects using images and JavaScript, the latter being especially useful for &#8220;easing&#8221; the subject between normal and hovered states, rather than just switching one to the other. This effect can be achieved today with CSS transitions, without using JavaScript, and even without images.</p>
<p>The information provided here helps to set the stage, as transition effects are used throughout the following chapters.</p>
<h3>Hover-Crafting with CSS3</h3>
<p>As mentioned earlier, image rollover effects used to be done in JavaScript, when CSS was in its infancy. Now that CSS has matured, along with browser support, hover effects can be done in a much simpler fashion. Hover effects are not limited to images, but can affect a variety of elements in different ways. A common scenario is website navigation links. Dan delves into styling a navigation bar with rollover effects on individual links, applying <code>border-radius</code>, <code>text-shadow</code>, RGBA colour, and transitions. He also shows the use of <code>opacity</code> in a separate example.</p>
<h3>Transforming the Message</h3>
<p>Another effect previously facilitated by JavaScript is element transformation; an example of this is a picture gallery, where hovering a photo would enlarge it. Once again, CSS3 comes to the table with a variety of transformation effects. Dan shows how to enlarge images, rotate them, skew them, and move them around. Again, the possible applications are huge, beyond just images.</p>
<h3>Multiple Backgrounds</h3>
<p>A long-standing pain point of web design hass been the inability to use multiple background images for a single element. The workaround was to use nested elements, usually empty <code>span</code> or <code>div</code> elements, each with a background image. This was frequently applied to give a block element rounded corners, for example. Never mind that CSS3 also supports rounded corners, there are other cases where having multiple background images for one element can be useful. One such case is the parallax effect, as seen on the <a href="http://silverbackapp.com/">Silverback</a> website (resize the browser window to see the vines move).</p>
<p>Dan shows the use of the updated <code>background</code> property; previously the property would only accept one background image, but now it can take multiple images, each with their own positioning. This effect is demonstrated on the book&#8217;s website, linked above &#8211; it is the starry background, which is actually made up of four images layered on the <code>body</code> element.</p>
<h3>Enriching Forms</h3>
<p>Form elements normally look pretty plain with the default styles. They have long been the target of cosmetic customization, from background colour to borders. CSS3 provides for rounded corners, and gradient backgrounds, and text and box shadows, which Dan demonstrates. The result is a set of form elements that look very different from the default renderings.</p>
<h2>Impressions</h2>
<p>This book is not anywhere near comprehensive; if it were, it would be a much thicker tome, and probably much less appealing. Instead, the focus is bang for the buck; the techniques shared are of immediate value, and can be used <em>today</em>. Granted, there is the issue of compatibility (*cough*Internet Explorer*cough*), but the author takes pains to provide for graceful degradation. This is important, as web developers cannot wait for the CSS3 spec to be complete and widely supported; rather, some bits can be widely used now. That is the focus of <abbr title="CSS3 for Web Designers">CFWD</abbr>.</p>
<p>As mentioned, the author emphasizes the use of graceful degradation to ensure that noncompliant browsers get a reasonable experience, if not a perfect one. This is achieved with the provision of browser-specific property prefixes; future-proofing is provided by use of the standard, un-prefixed property as well.</p>
<p><strong>The bottom line:</strong> CSS3 is an evolving standard, with certain portions that are usable now in most browsers. <abbr title="CSS3 for Web Designers">CFWD</abbr> provides concise coverage of these features, and shows how to use them in creative ways in a variety of browsers. It&#8217;s not comprehensive, but it makes a useful reference when checking CSS syntax for maximum cross-browser compatibility.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/vok7fAU9oDQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2011/01/30/review-css3-for-web-designers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Done Victoria WordCamp 2011</title>
		<link>http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/</link>
		<comments>http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 05:05:23 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2199</guid>
		<description><![CDATA[I just spent today hearing about WordPress, WordPress, and more WordPress. Suffice to say I've had all the WordPress I can take in one day. But the time was well spent at Victoria's annual WordCamp event.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve attended this event once before, a year and a half ago. It was a good time then, and I expected the same today. I was not disappointed.</p>
<p>There were well over 100 people in attendance, going in different directions to three separate tracks. There was also a Genius Bar to get WordPress assistance, and a comfortable lounge area for general chat. All-day coffee was included in the cost of admission, along with a catered lunch.</p>
<p>Quite a few topics were covered, but some particularly valuable ones for me were custom types, taxonomies, useful plugins, and theming tips and advice. I&#8217;ve learned some things I can do to improve this site, and any others I work on.</p>
<p>You can page through the <a href="http://twitter.com/#!/search?q=%23yyjwordcamp">#yyjwordcamp</a> hashtag on Twitter; there are a variety of tips and observations, and links to presentations.</p>
<p>I enjoyed the variety of presentations, and chatting with other people who have similar interests in building sites with WordPress. I look forward to the next WordCamp in Victoria.</p>
<p>I&#8217;ve included a number of photos for your viewing pleasure.</p>

<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/queue-the-lineup/' title='Queue the lineup'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02641-100x100.jpg" class="attachment-thumbnail" alt="Queue the lineup" title="Queue the lineup" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/wordcamp-program-cover/' title='WordCamp program cover'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02741-100x100.jpg" class="attachment-thumbnail" alt="WordCamp program cover" title="WordCamp program cover" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/wordcamp-program-open/' title='WordCamp program, open'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02751-100x100.jpg" class="attachment-thumbnail" alt="WordCamp program, open" title="WordCamp program, open" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/wordpress-stickers-at-wordcamp/' title='WordPress stickers at WordCamp'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02691-100x100.jpg" class="attachment-thumbnail" alt="WordPress stickers at WordCamp" title="WordPress stickers at WordCamp" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/coffee-bar/' title='Coffee bar'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02651-100x100.jpg" class="attachment-thumbnail" alt="Coffee bar" title="Coffee bar" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/paul-holmes/' title='Paul Holmes'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02671-100x100.jpg" class="attachment-thumbnail" alt="Paul Holmes" title="Paul Holmes" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/lunch-at-wordcamp/' title='Lunch at WordCamp'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02701-100x100.jpg" class="attachment-thumbnail" alt="Lunch at WordCamp" title="Lunch at WordCamp" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/making-better-wordpress-themes/' title='Making better WordPress themes'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02731-100x100.jpg" class="attachment-thumbnail" alt="Making better WordPress themes" title="Making better WordPress themes" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/those-wacky-dewolfes/' title='&quot;Those wacky DeWolfes&quot;'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/DSCN02721-100x100.jpg" class="attachment-thumbnail" alt="&quot;Those wacky DeWolfes&quot;" title="&quot;Those wacky DeWolfes&quot;" /></a>
<a href='http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/yyj-wordcamp-program-cover/' title='yyj-wordcamp-program-cover'><img width="100" height="100" src="http://grantpalin.com/wp-content/uploads/2011/01/yyj-wordcamp-program-cover1-100x100.jpg" class="attachment-thumbnail" alt="yyj-wordcamp-program-cover" title="yyj-wordcamp-program-cover" /></a>

<img src="http://feeds.feedburner.com/~r/grantpalin/~4/DPcFiaWMMNA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2011/01/22/done-victoria-wordcamp-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Looking Back on 2010</title>
		<link>http://grantpalin.com/2011/01/01/looking-back-on-2010/</link>
		<comments>http://grantpalin.com/2011/01/01/looking-back-on-2010/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 05:10:20 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2191</guid>
		<description><![CDATA[My brief retrospective on 2010 and look ahead at 2011.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s now the early days of 2011, and time I reflected on my blogging activities over the last year.</p>
<p>The year had an exciting start with the Olympics happening in Vancouver, which is just across the water from Victoria. I didn&#8217;t attend, but it was glorious to have such an event being hosted in my home country and province. Not to mention it was capped off with that excellent hockey game on the last day <img src='http://grantpalin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (go Canada go!)</p>
<p>One of my own high points was in April when I made a trip to Seattle and <a href="http://grantpalin.com/2010/04/08/aftermath-an-event-apart/">attended An Event Apart</a>. That was a good trip and an excellent conference, one which I hope to attend again.</p>
<p>Another high point, later in the year, was me <a href="http://grantpalin.com/2010/09/06/my-next-big-thing-university/">going back to school</a>. I&#8217;m now one term in on a standard 4-year bachelor of science degree. There&#8217;s still quite a ways to go with this, and it&#8217;s going to be my main focus for the next few years. A year ago I had no idea I would be back in school at this time, so this change definitely throws off my short-term goals.</p>
<p>Among the high points, I&#8217;ve continued occasional blogging, particularly on programming topics. I published articles on <a href="http://grantpalin.com/2010/01/10/net-projects-generating-documentation-with-sandcastle/">generating documentation with Sandcastle</a>, <a href="http://grantpalin.com/2010/01/15/reducing-code-coupling-inversion-of-control/">Inversion of Control</a> and a <a href="http://grantpalin.com/2010/12/30/a-net-project-base/">.NET project base</a>. I also wrote a number of book reviews &#8211; check the <a href="http://grantpalin.com/category/books/">Books</a> category for a listing of recent ones. I&#8217;ll try to keep doing more of the same!</p>
<p>I also plan to make some changes to this site, and add some new content which I am working up. I may even look at doing a redesign, as the current face has been around for a couple of years now.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/4FNgCdJ4088" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2011/01/01/looking-back-on-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A .NET Project Base</title>
		<link>http://grantpalin.com/2010/12/30/a-net-project-base/</link>
		<comments>http://grantpalin.com/2010/12/30/a-net-project-base/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 05:26:02 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2179</guid>
		<description><![CDATA[I'll share something I've been using to simplify creation of new .NET projects: a base project. It is intended to reduce setup of common directories and tools.]]></description>
			<content:encoded><![CDATA[<div class="image thumb float-left"><img src="http://grantpalin.com/wp-content/uploads/2010/12/dotnetbase-thumb11.gif" alt="" width="100" height="100" class="alignright size-full wp-image-2185" /></div>
<p>I&#8217;ve written <a href="http://grantpalin.com/tag/net/">in the past</a> about structuring .NET projects and automating build processes. Setting up the directory structure, as well as the tooling, gets tedious quickly when spinning up multiple projects. I decided to create a &#8220;base&#8221; project structure to provide a shortcut when starting future projects.</p>
<p>Below is a screenshot of the project&#8217;s current layout. The <strong>tools</strong> folder has a number of build-related tools that I&#8217;ve written about before. There&#8217;s certainly room for a <strong>libs</strong> folder at the project root, for containing shippable libraries your code depends on (e.g. NLog, NHibernate). There&#8217;s also a thought of moving build scripts to a seperate folder, but there&#8217;s only two NAnt build files currently, so there isn&#8217;t much value in moving them.</p>
<div class="image large"><img src="http://grantpalin.com/wp-content/uploads/2010/12/dotnetbase-folders1-600x212.gif" alt="DotNetBase folders" width="600" height="212" class="size-large wp-image-2180" />Layout of the DotNetBase project</div>
<p>The <strong>src</strong> folder contains a Visual Studio 2010 solution &#8211; <strong>slnname.sln</strong>. It&#8217;s an empty solution, no projects or any other additions. You can just open it up and get to adding projects.</p>
<p>I&#8217;ll point out that the project name field in a number of the files has been replaced with a placeholder: <code>[Project name...]</code>. You can search and replace on this over all the build-related files, substituting the name of your choice.</p>
<p>The project repo is located on Bitbucket: <a href="https://bitbucket.org/grantpalin/dotnetbase">https://bitbucket.org/grantpalin/dotnetbase</a>. Bitbucket uses Mercurial (Hg), so you&#8217;ll need an Hg client. A good one for Windows is <a href="http://tortoisehg.bitbucket.org/">TortoiseHg</a> (similar to TortoiseSVN).</p>
<p>To use this project base for your own projects, just check out the project, delete the <strong>.hg</strong> folder from the root, and go to town on the project. At this point, you&#8217;re free to make whatever customizations you need. As time goes on, I&#8217;ll probably extract useful tools/scripts/libraries from my own projects and add them to this base project, so they are available for the next new project.</p>
<p>Feel free to make use of the project base, and let me know if you find it useful.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/EeLTaZncl9w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2010/12/30/a-net-project-base/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Review: Microsoft .NET: Architecting Applications for the Enterprise</title>
		<link>http://grantpalin.com/2010/12/20/review-microsoft-net-architecting-applications-for-the-enterprise/</link>
		<comments>http://grantpalin.com/2010/12/20/review-microsoft-net-architecting-applications-for-the-enterprise/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 23:13:39 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2172</guid>
		<description><![CDATA[A very useful book for any .NET programmer; educates on the value of software architecture and guides implementation of useful patterns to ensure a successful application.]]></description>
			<content:encoded><![CDATA[<div class="image thumb float-left"><a href="http://www.amazon.com/Microsoft-NET-Architecting-Applications-PRO-Developer/dp/073562609X"><img src="http://grantpalin.com/wp-content/uploads/2010/12/dotnet-architecting-applications-cover11.gif" alt="Microsoft .NET: Architecting Applications for the Enterprise" width="99" height="120" class="alignnone size-full wp-image-2173" /></a></div>
<p><strong>Author:</strong> Dino Esposito, Andrea Saltarello<br />
<strong>Publisher:</strong> Microsoft Press<br />
<strong>Published:</strong> 2008<br />
<strong>Pages:</strong> 464</p>
<p>The book is comprised of two main sections: the first contains three chapters, while the second has four chapters. The first section is an introduction to the topic and process of software architecture, covers the basics of UML (UML diagrams are present throughout the book), and outlines common coding practices (coupling, cohesion, SOLID principles, etc.) and design patterns.</p>
<p>With the foundation set, the second part of the book covers the typical layers of an application: business, service, data access, and presentation. Each chapter here covers one layer in depth, explaining the purpose of the layer and how it relates to the others. There is discussion of various implementation patterns, and how design patterns can be leveraged to ease the process. This includes pros and cons of each approach, as well as sample code.</p>
<p>Each chapter ends with a &#8220;Murphy&#8217;s Laws&#8221; section, which nicely wraps up the chapter with tidbits of wisdom related to the chapter material. These laws, and others, can be seen at the <a href="http://www.murphys-laws.com/">Murphy&#8217;s laws site</a>.</p>
<p>There are frequent references to <a href="http://www.amazon.com/gp/product/0321127420?ie=UTF8&#038;tag=jasonhacom-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0321127420">Patterns of Enterprise Application Architecture</a> (PoEAA). This was slightly offputting to me as I haven&#8217;t read that book. Fortunately there is <a href="http://martinfowler.com/eaaCatalog/">an online reference</a> available, which helps to fill the gaps. An additional criticism is that some explanations seem to drag on longer than they really needed to. Perhaps it only seems that way since I already have some familiarity with some of the material.</p>
<p>The content is dense: after reading each section of a chapter, I had to take a moment to mentally run through what was just presented. I did the same at the end of each chapter. Having read the book, I have a much greater appreciation of the planning of a software project, particularly with regards to how its components work and interact. I&#8217;ve begun reevaluating the structure of a few of my coding projects, and have realized that some of them can be improved. The chapter on data access has been particularly revealing.</p>
<p>The code shown is in C#; aside from the title, the book can likely be applied to most any development platform. There is no introduction to .NET or C#, so this book is not suitable for an absolute beginner to programming.</p>
<p>Following the final chapter, there is a brief Final Thoughts section; it includes a number of mantras that are worth remembering during any software project.</p>
<p>There is also an appendix detailing the Northwind Starter Kit (NSK). <a href="http://nsk.codeplex.com/">The project is available</a> on CodePlex, and contains real-world implementations of the patterns and practices discussed int he book.</p>
<p><strong>The bottom line:</strong> this is a strong read for programmers who are not already software architects, whether at the beginner or intermediate level. There is some jargon and indirection (e.g. the frequent PoEAA references), and it takes some time to absorb the material. That said, it is very thorough and educational.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/cRzDFvRmZcs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2010/12/20/review-microsoft-net-architecting-applications-for-the-enterprise/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Review: Ready for Anything</title>
		<link>http://grantpalin.com/2010/12/10/review-ready-for-anything/</link>
		<comments>http://grantpalin.com/2010/12/10/review-ready-for-anything/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 23:52:57 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2156</guid>
		<description><![CDATA[A review of a David Allen's follow-up book to his Getting Things Done.]]></description>
			<content:encoded><![CDATA[<div class="image thumb float-left"><a href="http://www.amazon.com/Ready-Anything-Productivity-Principles-Getting/dp/0143034545/ref=sr_1_1?s=books&#038;ie=UTF8&#038;qid=1293241838&#038;sr=1-1"><img src="http://grantpalin.com/wp-content/uploads/2010/12/ready-for-anything-cover1-100x100.gif" alt="Cover - Ready for Anything" title="ready-for-anything-cover" width="100" height="100" class="alignnone size-thumbnail wp-image-2169" /></a></div>
<p><strong>Author:</strong> David Allen<br />
<strong>Publisher:</strong> Penguin Books<br />
<strong>Published:</strong> 2004<br />
<strong>Pages:</strong> 192</p>
<p><a href="http://grantpalin.com/2010/06/07/review-getting-things-done/">Earlier in the year</a>, I reviewed <strong>Getting Things Done</strong>, by David Allen. My review found that book to be a solid introduction to the GTD process, and I have since tried to follow that routine. It seems that many people have some amount of difficulty in really adhering to the system. Supposedly in response to that trend, a follow-up book was published, titled <strong>Ready for Anything</strong>. The subtitle is <strong>52 Productivity Principles for Getting Things Done</strong>. The follow-up book is the subject of this review.</p>
<p>The book is divided into five parts; the first four parts provide advice for effective GTD, each covering a particular theme. As the subtitle suggests, there are a total of 52 nuggets of GTD wisdom. Each one is a simple read, usually taking no more than a few pages. On the whole it&#8217;s easy to take in and process.</p>
<p>The final part of the book is a distilled review of GTD. It&#8217;s not a replica of the original book by any means, but can be a useful refresher. It also includes a useful checklist of steps to take in each phase of GTD.</p>
<p>The tips are fairly comprehensive, and should be enough to help most people with adhering to the GTD process. The advice given may be the no-brainer type for those who already have GTD ingrained in their heads; hence, this book wouldn&#8217;t really be necessary for the second group.</p>
<p><strong>The bottom line:</strong> this is a useful follow-up to Getting Things Done, though that book remains the definitive source. If you are fully on board with and practicing GTD, you don&#8217;t need this book. Otherwise, this book provides numerous useful insights into the GTD routine of capturing, processing, and executing your tasks.</p>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/9IldcSIDb6Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2010/12/10/review-ready-for-anything/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Whew. One term down…</title>
		<link>http://grantpalin.com/2010/12/07/whew-one-term-down/</link>
		<comments>http://grantpalin.com/2010/12/07/whew-one-term-down/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 03:50:47 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[University]]></category>

		<guid isPermaLink="false">http://grantpalin.com/?p=2145</guid>
		<description><![CDATA[I share my impressions of university and things learned about the academic lifestyle.]]></description>
			<content:encoded><![CDATA[<p>&#8230;and plenty to go. <a href="http://grantpalin.com/2010/09/06/my-next-big-thing-university/">As I said</a> a few months ago, I started classes at <a href="http://www.uvic.ca/"><abbr title="University of Victoria">UVic</abbr></a> this fall, and have just recently completed my first round of classes. There is still the matter of final exams over the next two weeks, but the bulk of the term is done.</p>
<p>I&#8217;m not expecting the finals to be much trouble, so am taking things easy while studying up for those. I&#8217;ve got most of the month free, and plan to work on a number of projects in that time.</p>
<p>Additionally, I&#8217;ll be publishing some reviews and articles that I started in the last while, but didn&#8217;t have time to finish until now. I&#8217;m hoping to be able to pace things better so I can post somewhat more frequently than every few months.</p>
<p>I&#8217;d like to ruminate on some things that I&#8217;ve learned in the last few months, relating to my first term in university. In hindsight, these are useful bits of advice for a new university student&#8230;</p>
<ul>
<li>Full time school is very different from full time work. When you are working, you usually use what you already know. When in school you are (or should be!) actively learning, which is a very different mindset, and much more draining. It had been several years since I finished college &#8211; I worked from then until recently &#8211; and found this change rather shocking. It takes time to get back into it.</li>
<li>Time and task management are key. It&#8217;s possibly more true here than it is anywhere else: university requires strong skill in tracking and managing your time and tasks. When you have midterms to study for, papers to write, and labs to complete, you need to be on top of the game. This is to ensure that everything is being done, and well, within the proper time frame.</li>
<li>Don&#8217;t spend all your time on schoolwork &#8211; you&#8217;ll burn out sooner or later. Read a novel, go for a walk, visit family and friends, and participate in hobbies and other activities. The diversions are very refreshing, and provide you a boost for when you go back to the books (and papers).</li>
</ul>
<img src="http://feeds.feedburner.com/~r/grantpalin/~4/tAKP1Ha_UlU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://grantpalin.com/2010/12/07/whew-one-term-down/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.784 seconds. --><!-- Cached page generated by WP-Super-Cache on 2012-01-30 09:07:12 --><!-- Compression = gzip -->

