<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>DrieStone Design : The Portfolio of Jonathan Sweet</title>
	<atom:link href="http://www.driestone.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.driestone.com</link>
	<description>Design This!</description>
	<pubDate>Thu, 08 May 2008 04:30:06 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>St. Germain Investments</title>
		<link>http://www.driestone.com/portfolio/web-development/st-germain-investments/</link>
		<comments>http://www.driestone.com/portfolio/web-development/st-germain-investments/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 01:55:06 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.driestone.com/?p=41</guid>
		<description><![CDATA[One of New England&#8217;s oldest investment planners make a another wise investment (in a well-designed web site.)
St. Germain is a medium sized investment firm with offices in Springfield, MA and Hartford, CT. Their internal marketing team realized that their existing site wasn&#8217;t portraying the right image. The existing site was not only old, but needed [...]]]></description>
			<content:encoded><![CDATA[<p>One of New England&#8217;s oldest investment planners make a another wise investment (in a well-designed web site.)</p>
<p><span id="more-41"></span>St. Germain is a medium sized investment firm with offices in Springfield, MA and Hartford, CT. Their internal marketing team realized that their existing site wasn&#8217;t portraying the right image. The existing site was not only old, but needed to be updated to make sure the company was adhering to all the required requirements.</p>
<p><a href="/portfolio/stgermain/live_home.jpg" rel="lightbox[portfolio]" title="Final production web site"><img src="/portfolio/stgermain/live_thumb.jpg" class="bordered"/></a></p>
<p>The new web site is what you might consider a &#8220;standard&#8221; web site for 2007. A few dynamic elements (like news and file management for the client), and a solid standards-based web design. Our goal was to create a site that looked clean and professional and pulled elements from their marketing materials.</p>
<p><a href="/portfolio/stgermain/live_home.jpg" rel="lightbox[portfolio]" title="Final production web site"><img src="/portfolio/stgermain/live_home_t.jpg"  class="gallery_image" /></a> </p>
<p><a href="/portfolio/stgermain/mockup_home.jpg" rel="lightbox[portfolio]" title="Our Photoshop mockup presented at the end of the design stage"><img src="/portfolio/stgermain/mockup_home_t.jpg"  class="gallery_image" /></a> </p>
<p><a href="/portfolio/stgermain/mockup_sub.jpg" rel="lightbox[portfolio]" title="An additional mockup of a sub-page"><img src="/portfolio/stgermain/mockup_sub_t.jpg" class="gallery_image" /></a> </p>
<h3 class="clear">Responsibilities</h3>
<p>From the project kick-off I handled all of the responsibilities of this project including project management, graphic design, database design, and PHP programming.</p>
<p><a href="http://www.stgermaininvetments.com">Visit the St. Germain web site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/portfolio/web-development/st-germain-investments/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Building a Better Mousetrap</title>
		<link>http://www.driestone.com/technique/building-a-better-mousetrap/</link>
		<comments>http://www.driestone.com/technique/building-a-better-mousetrap/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 00:05:55 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://www.driestone.com/2007/09/11/building-a-better-mousetrap/</guid>
		<description><![CDATA[If you&#8217;re a Web developer, you&#8217;ve probably read various methods for filling the need for a scriptable CSS style sheet. Most are a variation on a theme, here I present my preferred method, that is unlike others I&#8217;ve read (and it does some pretty cool stuff too). I&#8217;ve been using the core of my scriptable [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.driestone.com/wp-content/uploads/2007/09/mousetrap.jpg' alt='Mousetrap' class="left"/>If you&#8217;re a Web developer, you&#8217;ve probably read various methods for filling the need for a scriptable CSS style sheet. Most are a variation on a theme, here I present my preferred method, that is unlike others I&#8217;ve read (and it does some pretty cool stuff too). I&#8217;ve been using the core of my scriptable CSS system for six months now, and I have found it invaluable to the way I work.</p>
<p>The core need of a CSS scripting system is the need for a color substitution system that would streamline color selection for the web sites I&#8217;m working on. Most of the other scriptable CSS systems do exactly that, so we&#8217;re not breaking new ground here. Since many of the sites I work on are high bandwidth, heavy usage sites, I need to minimize the server hit as much as possible. Reducing external files, and limiting the calls to the database and PHP are the name of the game here. My tertiary concern is to make the editing of my scripting system as easy and transparent as possible.</p>
<p><span id="more-39"></span><br />
<h3>Avoiding the Overhead</h3>
<p>The issue with many of the other &#8220;CSS scripting&#8221; systems is that since they rely on PHP at run-time the files need to be processed through PHP each time they are loaded (which means there is additional server load, as well as additional non-CSS code buried in the file). Another (minor) issue is that all of your CSS files also end with &#8220;.php&#8221; which can make management problematic (especially because chances are your text editor is going to use its PHP syntax highlighter instead of its CSS highlighter). I wanted to avoid all of these issues. The solution here is simple, we compile to CSS once and load the &#8220;true&#8221; CSS file each time the page is loaded.</p>
<h3>How Does it Work?</h3>
<p>The core of the CSS scripting is a file I called the &#8220;FCSS&#8221; file. Because this file is not a PHP file, I can set a rule inside of BBEdit (or other editor) to use CSS syntax highlighting. I built a PHP helper function for my XHTML pages that inserts the correct XHTML code on the page to load my CSS file. I do this because my scripting system runs in two modes: &#8220;production&#8221; and &#8220;testing&#8221;. In testing mode my script attempts to compile the FCSS to a normal CSS file. In production the system circumvents the FCSS file and loads the compiled CSS file. This means that PHP is only loaded when I&#8217;m testing the CSS on the site, but when the pages get rolled out to production only the compiled CSS pages get called.</p>
<h3>Syntax</h3>
<p>The syntax inside the FCSS file is simple. I have adopted a function style syntax that allows me to use regular expressions inside my scripting engine to find data that I need to act upon. To support my primary goal, I have created a function called &#8220;color&#8221;.</p>
<h3>Color Substitution</h3>
<p>At the most basic level I wanted a system that would allow me to create a named color that I could use across all of my CSS files. For instance I may want to assign the hex color #c312F0 to the named color &#8220;background&#8221;. This would allow me to create a dictionary of color for each site that would allow me to quickly select the right color (and make global changes easily).</p>
<p>Within the config file for my web site I define an array of name/value pairs for colors I want to use for this particular site. The colors are passed off to the CSS scripting engine to be used</p>
<h3>Color Calculations</h3>
<p>Having a dictionary of colors used on a site is handy, but really not super useful (how many times will you really need to know the color of the background?) Being able to modify those colors on the fly would be very helpful. For instance perhaps I might want to make a popup box a darker version of the background color, or maybe I want to take the link color, rotate the hue and set that color to the link visited color. You can see how powerful having the ability to calculate colors would be.</p>
<p>Why stop there though? Why not give the author the ability to mix two colors together? Maybe take your background color and mix in a little bit of the link color to give the site credits a subtle look?</p>
<p>Instead of opening up Photoshop (or some other tool) and mixing the colors together, putting it into your CSS file, then testing it, you can write:</p>
<p><code>p.credits{color:color(background,m:link:25);}</code></p>
<p>&#8230;and if it&#8217;s not quite right, you can tweak the colors, and refresh the page until it&#8217;s perfect.</p>
<p>That is the power of scriptable CSS.</p>
<h3>Down Sides</h3>
<p>There are a few negative side effects of this system. The biggest issue is that you need to make sure that Apache has write access to create (or change) the compiled CSS files. Part of my script checks this and attempts to alert the user if there is an issue. A secondary issue (although only for some) is that using this compiled css, you lose the ability for run-time changes (although this can be easily overcome with a trigger on my PHP helper function). Honestly though, CSS doesn&#8217;t need real-time scripting. It&#8217;s not its job. That is what JavaScript is for.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/technique/building-a-better-mousetrap/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hartford Business Journal</title>
		<link>http://www.driestone.com/portfolio/web-development/hartford-business-journal/</link>
		<comments>http://www.driestone.com/portfolio/web-development/hartford-business-journal/#comments</comments>
		<pubDate>Sat, 10 Mar 2007 05:49:58 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.driestone.com/2007/03/10/hartford-business-journal/</guid>
		<description><![CDATA[When you&#8217;re a newspaper catering to the business leaders of Connecticut, you need a web site that reflects the quality and professionalism of your periodical.
ForeSite has partnered with the Hartford Business Journal on a variety of projects over the last few years, so when the HBJ decided to build a new web site from the [...]]]></description>
			<content:encoded><![CDATA[<p>When you&#8217;re a newspaper catering to the business leaders of Connecticut, you need a web site that reflects the quality and professionalism of your periodical.</p>
<p><span id="more-37"></span>ForeSite has partnered with the Hartford Business Journal on a variety of projects over the last few years, so when the HBJ decided to build a new web site from the ground up, ForeSite was there to lay the groundwork.</p>
<p><a href="/portfolio/HBJ/HBJ_1.jpg" rel="lightbox[portfolio]" title="The Hartford Business Journal's new web site"><img src="/portfolio/HBJ/HBJ_1t.jpg" class="bordered"/></a></p>
<p>The original HBJ web site was a simple affair. The design stood, unchanged, for more then five years. Every page was still manually edited, and the content was very limited. Working with ForeSite, a specification was built to create something special that was more befitting the newspaper. The new site was built to be managed dynamically so that the HBJ staff doesn&#8217;t need to write a single line of HTML to keep it updated. In addition, it was the goal of the HBJ to move from weekly information (where they&#8217;d update two articles each week), to daily and even hourly information.</p>
<p><a href="/portfolio/HBJ/HBJ_0.jpg" rel="lightbox[portfolio]" title="The original HBJ web site"><img src="/portfolio/HBJ/HBJ_0t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/HBJ/HBJ_2.jpg" rel="lightbox[portfolio]" title="The back end CMS system"><img src="/portfolio/HBJ/HBJ_2t.jpg" class="gallery_image"/></a></p>
<h3 class="clear">Features</h3>
<p>The HBJ site was an ambitious piece of programming. Although we could have found an off-the-shelf CMS system that could have done some of the things we wanted it to, we decided to write everything from scratch. In the end, this was the right decision. The system isn&#8217;t overloaded with features the client doesn&#8217;t use, and the interface is straight forward and written specifically with the HBJ in mind.</p>
<p>News articles can be automatically important from the source Quark documents. This means that the HBJ staff doesn&#8217;t have to spend time copying and pasting text. The system manages a lot of the grunt work for them (although human oversight is needed for verification).</p>
<h3 class="clear">Responsibilities</h3>
<p>ForeSite built everything end-to-end, including a user-friendly CMS back end to allow modification of the site. I was responsible for the front-end look-and-feel including: site design, XHTML &#038; CSS coding, and the majority of the JavaScript work. I was also worked with the primary developer on some of the back-end PHP coding.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/portfolio/web-development/hartford-business-journal/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Playing by the rules</title>
		<link>http://www.driestone.com/technique/playing-by-the-rules/</link>
		<comments>http://www.driestone.com/technique/playing-by-the-rules/#comments</comments>
		<pubDate>Wed, 20 Dec 2006 15:04:37 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://www.driestone.com/2006/12/20/playing-by-the-rules/</guid>
		<description><![CDATA[Any developer who has worked on a job for a corporate client of any reasonable size, has probably had to wade through some documentation as it pertains to the final presentation of their project. Companies want to make sure that whatever you do for them matches everything else, it&#8217;s vital to their livelihood that their [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image27" src="http://www.driestone.com/wp-content/uploads/2007/01/gavel.jpg" alt="Gavel" class="left" />Any developer who has worked on a job for a corporate client of any reasonable size, has probably had to wade through some documentation as it pertains to the final presentation of their project. Companies want to make sure that whatever you do for them matches everything else, it&#8217;s vital to their livelihood that their image doesn&#8217;t get diluted by designers and developers trying to push the envelope.</p>
<p class="clear">Although it can be frustrating and annoying, it also gives a designer/developer the freedom to avoid getting mired in the details of the interface (even though many of us love designing interfaces). Taking a page from the corporate world (no pun intended), establishing a set of rules can make a developer&#8217;s life easier.</p>
<p><span id="more-15"></span>These rules should be created for two important reasons. First, working with other designers and developers becomes easier if they are all working from the same playbook. Second, by providing the rule book to the client before work begins, the client can feel better about the decisions of the developer (they will know that the process has been well thought out, and that there is a reason for the decisions of the developer).</p>
<h3>Starting Out</h3>
<p>Any developer that has been asked by their client to explain why he/she did something in particular already knows a number of the rules that should be established. I broke my own rule book into six main sections:</p>
<ul>
<li>Overview</li>
<li>Design</li>
<li>Accessibility</li>
<li>Usability</li>
<li>Browser Compatibility</li>
<li>Coding Practices</li>
</ul>
<p>Coding Practices is by far the largest section. It includes six sub-sections (General, HTML, CSS, JavaScript, Database, and PHP).</p>
<h3>Building on a bad thing</h3>
<p>Every time that I run into a conflict with a client or another developer that isn&#8217;t covered in my manual, I/we decide on a solution, and it goes into the manual for future reference.</p>
<h3>Evolve the rules</h3>
<p>Every so often (3-6 months) I read through my rule book to make sure I agree with everything in the rule book. For instance, one of my rules is minimum screen size. In my last read-through, after a little investigation, I decided that 1024&#215;768 is the new minimum size that I would begin working within.</p>
<h3>Samples</h3>
<p>Here are a few rules from my book:</p>
<ul>
<li>All code/layout for publicly accessible pages should be built so that Internet Explorer 6.0, Firefox 1.0, and Safari 1.5 all act similarly. </li>
<li>CSS styling should only be implemented using linked files.
<ul>
<li>Inline styles should not be used</li>
<li>Style definitions in the head of the document should be avoided.</li>
</ul>
</li>
<li>Forms should always be validated on the server side.
<ul>
<li>JavaScript form validation is a nice extra, but data from the client should never be trusted to be valid.</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/technique/playing-by-the-rules/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Hartford Stage Company</title>
		<link>http://www.driestone.com/portfolio/web-development/the-hartford-stage-company/</link>
		<comments>http://www.driestone.com/portfolio/web-development/the-hartford-stage-company/#comments</comments>
		<pubDate>Wed, 08 Nov 2006 01:20:07 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.driestone.com/2007/11/08/the-hartford-stage-company/</guid>
		<description><![CDATA[With some help from one of Connecticut&#8217;s top marketing firms we bring the hub of Hartford&#8217;s artistic community into the 21st century.
When the Hartford Stage needed someone to redesign their aged web site, ForeSite answered the call. I designed a new look for their site, before ForeSite had even presented a bid for work. In [...]]]></description>
			<content:encoded><![CDATA[<p>With some help from one of Connecticut&#8217;s top marketing firms we bring the hub of Hartford&#8217;s artistic community into the 21st century.</p>
<p><span id="more-18"></span>When the Hartford Stage needed someone to redesign their aged web site, ForeSite answered the call. I designed a new look for their site, before ForeSite had even presented a bid for work. In the end, ForeSite lost the bid for the design work, but were kept onboard for the heavy lifting.</p>
<p><a href="/portfolio/hartford_stage/HS_1.jpg" rel="lightbox[portfolio]" title="The Hartford Stage's new home page"><img src="/portfolio/hartford_stage/HS_1t.jpg" class="bordered"></a></p>
<p>We teamed with the highly creative Adams &#038; Knight to develop the new site. Adams &#038; Knight were responsible for the design of the web site and the team at ForeSite did everything else. We built a variety of systems that allowed the staff at The Hartford Stage to easily modify content (the content of the entire site can be changed easily, most of it from the web-based tool that we built).</p>
<p>My primary responsibility was to act as the bridge between Adams &#038; Knight&#8217;s design and ForeSite&#8217;s development. Most of this work was turning a design (built in Quark) into a proper web based template that matched the vision of the designer at Adams &#038; Knight but didn&#8217;t resort to hacking and tables to make it work.</p>
<p><a href="/portfolio/hartford_stage/HS_0.jpg" rel="lightbox[portfolio]" title="My original site design for the web site."><img src="/portfolio/hartford_stage/HS_0t.jpg" class="gallery_image"></a></p>
<p><a href="/portfolio/hartford_stage/HS_2.jpg" rel="lightbox[portfolio]" title="A show page"><img src="/portfolio/hartford_stage/HS_2t.jpg" class="gallery_image"></a></p>
<p><a href="/portfolio/hartford_stage/HS_3.jpg" rel="lightbox[portfolio]" title="The calendar of events"><img src="/portfolio/hartford_stage/HS_3t.jpg" class="gallery_image"></a></p>
<p><a href="/portfolio/hartford_stage/HS_4.jpg" rel="lightbox[portfolio]" title="The administration interface"><img src="/portfolio/hartford_stage/HS_4t.jpg" class="gallery_image"></a></p>
<h3 class="clear">Responsibilities</h3>
<p>ForeSite&#8217;s main responsibility was the &#8220;heavy lifting&#8221;, we had no control over graphic design and very little latitude for &#8220;coloring outside of the lines&#8221;. We just had to &#8220;make it work&#8221;.</p>
<p>I was responsible for the layout of the site and a significant amount of the PHP/mySQL work.</p>
<p><a href="http://www.hartfordstage.org">Visit the Hartford Stage Company web site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/portfolio/web-development/the-hartford-stage-company/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tennant Capital Partners</title>
		<link>http://www.driestone.com/portfolio/web-development/tennant-capital-partners/</link>
		<comments>http://www.driestone.com/portfolio/web-development/tennant-capital-partners/#comments</comments>
		<pubDate>Sun, 01 Oct 2006 00:00:20 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.driestone.com/2006/10/01/tennant-capital-partners/</guid>
		<description><![CDATA[What do you do when a client comes to you with a clear vision? You give them exactly what they want.

The Tennant Capital Partners site was a joy to work on. The client knew exactly what they wanted, and was able to communicate this to the team at ForeSite. Without hesitation I was able to [...]]]></description>
			<content:encoded><![CDATA[<p>What do you do when a client comes to you with a clear vision? You give them exactly what they want.</p>
<p><span id="more-19"></span><a href="/portfolio/tennant/T_01.jpg" rel="lightbox[portfolio]" title="Tennant Capital's Home Page"><img src="/portfolio/tennant/T_01t.jpg" class="bordered"></a></p>
<p>The Tennant Capital Partners site was a joy to work on. The client knew exactly what they wanted, and was able to communicate this to the team at ForeSite. Without hesitation I was able to craft a design that fit the client&#8217;s vision. From design to template to final web site happened in less than two weeks. Although the design is unadorned, it perfectly matches the company image of no-nonsense and getting straight to the point.</p>
<h3 class="clear">Responsibilities</h3>
<p>Because the vision from the client was so clear, the mockup of the Tennant Capital site came together fairly easily. Since the site was static (I only used PHP as a template engine), it also came together without significant difficulty. This may have been one of the easiest projects I&#8217;ve ever worked on.</p>
<p><a href="http://www.tennantcapital.com">Visit Tennant Capital Partners web site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/portfolio/web-development/tennant-capital-partners/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Marathon Healthcare</title>
		<link>http://www.driestone.com/portfolio/web-development/marathon-healthcare/</link>
		<comments>http://www.driestone.com/portfolio/web-development/marathon-healthcare/#comments</comments>
		<pubDate>Sun, 10 Sep 2006 03:55:29 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.driestone.com/2006/09/10/marathon-healthcare/</guid>
		<description><![CDATA[When a company grows from 0 to 100 in less than a year, how do you build an online presence quickly?

One of the challenges for Marathon is that the corporation is still very young (and yet very large). The company has been wildly successful, and concentrating on the business has been the overriding priority.  [...]]]></description>
			<content:encoded><![CDATA[<p>When a company grows from 0 to 100 in less than a year, how do you build an online presence quickly?</p>
<p><span id="more-30"></span><a href="/portfolio/marathon/M_01.jpg" rel="lightbox[portfolio]" title="The Marathon Home Page"><img src="/portfolio/marathon/M_01t.jpg" class="bordered"></a><br />
One of the challenges for Marathon is that the corporation is still very young (and yet very large). The company has been wildly successful, and concentrating on the business has been the overriding priority.  As a freshman company, Marathon&#8217;s image was undefined and finding it has proved to be a difficult process.</p>
<p>Marathon hired a 3rd party design firm to build marketing materials, but asked ForeSite to design the web site (but requested that the site be based on the look of the marketing materials). I suggested that we start simple and proactively build (or rebuild) the site as the requirements arose.</p>
<p><a href="/portfolio/marathon/M_00.jpg" rel="lightbox[portfolio]" title="Original print material that I was told to emulate"><img src="/portfolio/marathon/M_00t.jpg" class="gallery_image"></a></p>
<p><a href="/portfolio/marathon/M_02.jpg" rel="lightbox[portfolio]" title="Secondary Page"><img src="/portfolio/marathon/M_02t.jpg" class="gallery_image"></a></p>
<h3 class="clear">The Intranet</h3>
<p>Possibly more important than an external marketing web site, was the need for a company intranet to share information across eight locations and hundreds of employees. Although we could have picked an off-the-shelf solution, it seemed as though none fit the requirements, particularly the idea of simplicity.</p>
<p>Expanding on original ideas I had built for Skinovative, the team at ForeSite built a custom intranet solution.</p>
<p><a href="/portfolio/marathon/M_03.jpg" rel="lightbox[portfolio]" title="Example of a typical intranet screen"><img src="/portfolio/marathon/M_03t.jpg" class="gallery_image"></a></p>
<p><a href="/portfolio/marathon/M_04.jpg" rel="lightbox[portfolio]" title="The back-end CMS system"><img src="/portfolio/marathon/M_04t.jpg" class="gallery_image"></a></p>
<h3 class="clear">Responsibilities</h3>
<p>I was responsible for all the front-end graphic design, XHTML construction, Flash development, and JavaScript programming. Additionally I wrote a significant amount of the PHP code.</p>
<p><a href="http://www.marathonhealthcare.com">Visit the Marathon Healthcare web site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/portfolio/web-development/marathon-healthcare/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Academy of Aesthetic Medicine</title>
		<link>http://www.driestone.com/portfolio/web-development/academy-of-aesthetic-medicine/</link>
		<comments>http://www.driestone.com/portfolio/web-development/academy-of-aesthetic-medicine/#comments</comments>
		<pubDate>Sat, 09 Sep 2006 03:24:12 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.driestone.com/2006/09/09/academy-of-aesthetic-medicine/</guid>
		<description><![CDATA[Building a virtual classroom from the ground up is no easy task. Creating both a front facing marketing site and a classroom replete with text books, slide shows, and even tests gets an A+ from the client.

In 2006, Skinovative decided to spin-off its internal training classes into a secondary business. The curriculum was mostly written [...]]]></description>
			<content:encoded><![CDATA[<p>Building a virtual classroom from the ground up is no easy task. Creating both a front facing marketing site and a classroom replete with text books, slide shows, and even tests gets an A+ from the client.</p>
<p><span id="more-23"></span><a href="/portfolio/AAM/AAM_01.jpg" rel="lightbox[portfolio]" title="AAM's Home Page"><img src="/portfolio/AAM/AAM_01t.jpg" class="bordered"/></a></p>
<p>In 2006, Skinovative decided to spin-off its internal training classes into a secondary business. The curriculum was mostly written over the years training Skinovative employees, but now a marketing site needed to be created. Of course, the site also needed to allow students to register and pay for classes online.</p>
<p><a href="/portfolio/AAM/AAM_02.jpg" rel="lightbox[portfolio]" title="Secondary Page"><img src="/portfolio/AAM/AAM_02t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/AAM/AAM_04.jpg" rel="lightbox[portfolio]" title="Administration Dasboard"><img src="/portfolio/AAM/AAM_04t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/AAM/AAM_03.jpg" rel="lightbox[portfolio]" title="Class Editing Screen"><img src="/portfolio/AAM/AAM_03t.jpg" class="gallery_image"/></a></p>
<div class="note">I wish I could direct you to see the live version of this site, but disappointingly the client decided to start utilizing a less expensive web developer who replaced my original pages with their own &#8220;revised&#8221; pages and no longer representative of my work.</div>
<h3 class="clear-left">Building the classroom</h3>
<p>As a second part of the process, I needed to take the existing training system that I built for Skinovative, add a number of features and re-brand it.</p>
<p><a href="/portfolio/AAM/T_01.jpg" rel="lightbox[portfolio]" title="Classroom Log In"><img src="/portfolio/AAM/T_01t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/AAM/T_02.jpg" rel="lightbox[portfolio]" title="Class Home"><img src="/portfolio/AAM/T_02t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/AAM/T_03.jpg" rel="lightbox[portfolio]" title="Taking a Test"><img src="/portfolio/AAM/T_03t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/AAM/T_04.jpg" rel="lightbox[portfolio]" title="Classroom Admin"><img src="/portfolio/AAM/T_04t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/AAM/T_05.jpg" rel="lightbox[portfolio]" title="Managing Classroom Data"><img src="/portfolio/AAM/T_05t.jpg" class="gallery_image"/></a></p>
<p><a href="/portfolio/AAM/T_06.jpg" rel="lightbox[portfolio]" title="Editing a Test"><img src="/portfolio/AAM/T_06t.jpg" class="gallery_image"/></a></p>
<h3 class="clear">Responsibilities</h3>
<p>I was responsible for all the front-end graphic design, XHTML construction, and JavaScript programming. Additionally I designed the database (mySQL) structure and wrote a significant amount of the PHP code. This was one of many sites that I was also acted as the project manager.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/portfolio/web-development/academy-of-aesthetic-medicine/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reaching the Gray Area of Accessibility.</title>
		<link>http://www.driestone.com/technique/reaching-the-gray-area-of-accessibility/</link>
		<comments>http://www.driestone.com/technique/reaching-the-gray-area-of-accessibility/#comments</comments>
		<pubDate>Mon, 17 Jul 2006 19:21:01 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Technique]]></category>

		<guid isPermaLink="false">http://driestone.com/?p=10</guid>
		<description><![CDATA[
Lately I’ve been working for a unique client that understands the importance of accessibility, but they view it as a black and white issue. It’s not entirely their fault, but that’s a rant for another day. The core problem is that they equate accessibility to making a site usable by people using a screen reader. [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image28" src="http://www.driestone.com/wp-content/uploads/2007/01/glasses.jpg" alt="Glasses" class="left"/>
<p>Lately I’ve been working for a unique client that understands the importance of accessibility, but they view it as a black and white issue. It’s not entirely their fault, but that’s a rant for another day. The core problem is that they equate accessibility to making a site usable by people using a screen reader. If only real accessibility were that easy.</p>
<p>Making a web site accessible for those who can’t see pixels on the screen is important, but for every blind person using a computer, there are (probably) dozens more that we also need to think about, the gray area. These are the people who may have difficulty reading the average well-designed web site. Accessibility for these people is as important as accessibility for the sightless.</p>
<p><span id="more-10"></span>
<p>These are the people who don’t need a “skip to content” link, but need high contrast, large text pages that are easy to navigate. Liquid layouts and clever design will get you part of the way there, but ultimately, to provide real accessibility you’ll probably have to create an alternate format that these users can use.</p>
<p>So, in the interest of accessibliity, you’ve carefully crafted a primary style and it’s gray area cousin. Your code is clean and accessible, so finally you can step back and admire your beautifuly accessible site right?</p>
<p>Well&#8230; almost. You’ve done the legwork, but there is still one major accessibility (and usability) problem. How do you get your gray area users to their version of the site? It’s doubtful the client is going to go for the idea of putting a big black and white button next to their logo advertising the alternate version of the site (it’s not <strong>that</strong> important to them). There’s really not a place for an accessible link in your standard site design. If only there was a way that we could detect those users that would require the alternate version of the site without the requirement of a link to initiate the switchover.</p>
<h2>Introducing Auto Style Switching.</h2>
<p>Most average users tend to keep their browsers set to the default font size because this is what most developers design for (or maybe it’s the other way around). Our gray area users have the option to increase the font size globally on all web sites. Those who need a larger font only need to tell their browser to user a larger font.</p>
<p>Using a bit of Javascript we can detect the size of 1em in pixels and judge it’s size relative to the default. This isn’t an exact science since there will always be a variation between browsers and configurations, but we don’t need to be pixel accurate here. If it is beyond a threshold we trigger our high contrast style sheet (using the script by <a href="http://www.alistapart.com/articles/alternate/">Pault Sowden</a>).</p>
<pre>
<script>
  window.onload = checkContrast;

  function checkContrast(){
    if (document.getElementById('high_contrast_check').clientHeight > 30)
      setActiveStyleSheet('high_contrast');
  }
</script>
<style type="text/css">
  div#high_contrast_check{
    height:2em;
  }
</style>
<div id="high_contrast_check"></div>
</pre>
<p><a href="/articles/gray_accessible/example1.html">See it in action</a></p>
<h2>Handling the Resize</h2>
<p>Although the majority of users will be entering our site with their font size already set to their liking, it is certainly possible that a user might change their font setting after already loading the page.</p>
<p>In Internet Explorer, changing the text size reloads the page (therefore trigering the window.onresize event). So, we could just add that to our initialization:</p>
<pre> window.onresize = window.onload = checkContrast;</pre>
<p>Of course it&#8217;s never that easy. Safari and Firefox don’t seem to trigger any DOM event so there is no way for us to find out if the text size has been changed.</p>
<p>We could call it a day and accept that we&#8217;ve provided support for the majority of users, or we could use setInterval to check our text size a few times a second as a work around. It&#8217;s not very elegant, and it almost crosses the line into what might be considered a “hack”, but the setInterval solution is the only one that works for all browsers.</p>
<p>In the end I opted to be as accessable to as many people as possible, which means using the setInterval solution. I check the test area five times a second which should be often enough to provide reasonable feedback, but not so often as to make much impact on our available processor cycles.</p>
<pre>
<script>
    var theLastSize = 0;
    window.onresize = checkContrast;

    window.onload = function(){
      window.setInterval('checkContrast();',200);
      checkContrast();
    }

    function checkContrast(){
      if (document.getElementById('high_contrast_check').clientHeight != theLastSize){
        theLastSize = document.getElementById('high_contrast_check').clientHeight;
        if (theLastSize > 30)
          setActiveStyleSheet('high_contrast');
        else
          setActiveStyleSheet('default');
      }
    }
</script>
</pre>
<p><a href="/articles/gray_accessible/example2.html">See it in action</a></p>
<h2>Allowing Users the Choice</h2>
<p>As a last step we should add a link to our site that allows the user to toggle the style that they are presented with. We can work this into our design now without too much fear that those who need it won’t be able to find it. This has been covered in <a href="http://www.alistapart.com/articles/alternate/">many places</a>, so it&#8217;s not really worth reexamining it here.</p>
<h2>Variations On a Theme</h2>
<p>You don&#8217;t need to use the text size to trigger style sheet changes, you could trigger any other interface. Perhaps instead of switching styles, you present a dialog notifying the user of the alternate style, or even send them to a different location.</p>
<p>Additionally, we don’t need to create a binary switch between normal and alternate versions of the site. We really are in the gray area of accessibility. A clever developer can use the realative size difference to adjust the site, triggering variations based on font size using different style sheets, or directly changing the styles of elements. <a href="/articles/gray_accessible/example3.html">What would you do?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/technique/reaching-the-gray-area-of-accessibility/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Advertising Agencies vs. Web Designers</title>
		<link>http://www.driestone.com/opinion/advertising-agencies-vs-web-designers/</link>
		<comments>http://www.driestone.com/opinion/advertising-agencies-vs-web-designers/#comments</comments>
		<pubDate>Thu, 29 Jun 2006 19:59:22 +0000</pubDate>
		<dc:creator>DrieStone</dc:creator>
		
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://driestone.com/?p=9</guid>
		<description><![CDATA[
Advertising agencies, PR firms and graphic artists are talented people with creative ideas. They are knowledgeable in their field, and produce quality work, however they are not web designers*.

Why is it a poor design?
These agencies design web sites like they design printed ads, as if it is a printed on a physical piece of paper. [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image29" src="http://www.driestone.com/wp-content/uploads/2007/01/boxing.jpg" alt="boxing" class="right"/>
<p>Advertising agencies, PR firms and graphic artists are talented people with creative ideas. They are knowledgeable in their field, and produce quality work, however they are not web designers*.</p>
<div class="p_sidebar" style="width:355px;clear:none;float:left;">
<h3>Why is it a poor design?</h3>
<p>These agencies design web sites like they design printed ads, as if it is a printed on a physical piece of paper. Web sites are a different medium, and there are certain design rules that should be followed. Most agencies are using the wrong set of rules to design their web sites.</p>
</div>
<h2 class="clear">The problem</h2>
<p>The core of the issue is the reinforcement of bad habits. They think they know how to design a web site, because they’ve done it (they think successfully) a dozen times before. The typical top-down flow doesn’t allow for these bad habits to change. At the bottom of the work flow is the web designer that is saddled with a poor layout that must be implemented as outlined (because it’s been approved by the client). </p>
<p><span id="more-9"></span></p>
<h2>The lose-lose situation</h2>
<p>Because the web developer is usually forced to “make it work”, the agencies aren’t required to make changes (or learn what is the “right way”). A poorly designed format can force a developer to spend much more time trying to meet the expectations of the client and the agency.</p>
<p>Beyond that the final design will be weaker because the DNA was transplanted from a brochure or a newspaper ad. Vital concepts like usability and accessibility are ignored.</p>
<h2>How it should work</h2>
<p>Building a web site should be a collaborative effort, not a top-down hierarchy. If working with an agency is required, the agency should be responsible for the overall branding, but the web designer should be responsible for the specifics. </p>
<div class="p_sidebar" style="width:auto;float:none;padding-right:25px;">
<h3>The Top Five Design Faux Pas</h3>
<ol>
<li><strong>Locked to paper:</strong> A web page’s size is dynamic, the author doesn’t know if the end-user has a small or a large monitor. Most agencies don’t consider this and create situations where either the content is too small, or too large for a user’s monitor.</li>
<li><strong>Content in a box:</strong> Similar to the issues with the locked to paper issues, agencies occasionally create a box to put content inside of. This area is constrained both horizontally and vertically. This doesn’t take into account non-default text sizes, or other content issues that won’t fit within the pre-defined “box”. </li>
<li><strong>Breaking the basics:</strong> Web users have certain expectations of web pages. Breaking these expectations creates unneeded confusion for the end-user. This includes things like: removing any differentiation between hyperlinks and normal text.</li>
<li><strong>Form instead of Function:</strong> On many occasions I have seen the agency choose to ignore the functionality and usability of the site because it doesn’t fit within their artistic vision.</li>
<li><strong>Complex over Simple:</strong> Agencies can think up creative ways to reinvent the wheel that eat up (sometimes) precious development hours unnecessarily.  I’ve been requested many times to build a custom scrollbar.</li>
</ol>
</div>
<p>The web designer needs to be part of the creative process from the project kick-off, so that any issues or pitfalls that occur in the process can be solved before the client approves the format design. The greater input the web designer has in the development of the format, the easier it will be to develop the rest of the site (and the better the site will be).</p>
<h2>Disclaimer</h2>
<p>I know that there are advertising agencies and graphic artists that do understand how to design for the web (properly). It is too bad that those agencies are the exception and not the rule.</p>
<p><em>* In this case, I am defining the web designer as someone with the ability to create a look for a web site and turn that into valid HTML/XHTML code.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.driestone.com/opinion/advertising-agencies-vs-web-designers/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
