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

<channel>
	<title>WebSight Design Blog &#187; Tips and Tricks</title>
	<atom:link href="http://blog.websightdesign.com/category/tips-and-tricks/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.websightdesign.com</link>
	<description>The Official Blog of WebSight Design, Inc.</description>
	<lastBuildDate>Thu, 02 Feb 2012 22:40:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>Common sense for the modern human &#8211; Backups!</title>
		<link>http://blog.websightdesign.com/2011/08/05/common-sense-for-the-modern-human-backups/</link>
		<comments>http://blog.websightdesign.com/2011/08/05/common-sense-for-the-modern-human-backups/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 22:23:46 +0000</pubDate>
		<dc:creator>noah</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/?p=1614</guid>
		<description><![CDATA[<a href=http://blog.websightdesign.com/2011/08/05/common-sense-for-the-modern-human-backups/><img src=http://blog.websightdesign.com/wp-content/uploads/2011/08/crashed-HD-150x150.jpg class=imgtfe hspace=5 align=left width=200  border=0></a>It is every modern computer-using individual's responsibility to ensure that their own data is getting backed up.<p><a href="http://blog.websightdesign.com/2011/08/05/common-sense-for-the-modern-human-backups/">Common sense for the modern human &#8211; Backups!</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.websightdesign.com/wp-content/uploads/2011/08/crashed-HD.jpg"><img class="alignleft size-thumbnail wp-image-1615" title="crashed-HD" src="http://blog.websightdesign.com/wp-content/uploads/2011/08/crashed-HD-150x150.jpg" alt="" width="150" height="150" /></a>Let&#8217;s say you have a laptop that you use as your primary work machine, and it stores lots of important stuff like work documents and old emails. Now lets say one day you boot it up and it won&#8217;t start up, and you hear some weird &#8216;clicking&#8217; noises.</p>
<p>Guess what: your hard drive, arguably the single most likely-to-fail component in your laptop, has just failed. And you desperately need your data, like a key document due to a client today. What do you do next?</p>
<p>If you are one of the fortunate people who, either intentionally or unintentionally, have good, up-to-date backups of your laptop, it&#8217;s no problem. Worst case scenario you bring your backup medium, such an external USB drive, over to someone else&#8217;s machine and you get at your data. You can skip the rest of this post.</p>
<p>However, if you either do not have any backups or do not have good up-to-date backups of your data, you really only have two options. Option one is to bring your failed hard drive to a data recovery service. They typically charge in the neighborhood of $2000-$4000 to recover data from a failed laptop or desktop hard drive. Option two is to throw your hands up in the air and resign yourself to the fact that you have lost all your data. Better get to work re-writing that document ASAP!</p>
<p>The point of all this is, it is every modern human&#8217;s responsibility to themselves that they always make sure that their key data is being backed up, and further, that it is being backed up regularly and succesfully. That is just one of those things that every individual is going to have to have some awareness of sooner or later. Even if you aren&#8217;t technically managing your own backups, you&#8217;d better make sure that somebody is, i.e. that provisions have been made for backing up your data and that someone is verifying that the backups are actually occuring succesfully and your data is recoverable.</p>
<p>It&#8217;s the same on the server or website hosting side as well. If your company has servers, it may sound obvious, but it must be someone&#8217;s responsibility to not only ensure the servers are being backed up, but that they are being backed up succesfully. Even if you are using a <a class="hiddenSuggestion" title="Redundant Off-Site Back-up" href="http://www.websightdesign.com/services/website-hosting" target="_blank">redundant off-site back-up service</a>, you need to actually verify that it is working and continues to work. And if you are using hosted services, such as hosting a website or email with a company like ours or any other host, it is your responsibility to yourself to both confirm that your hosted data is being backed up and how frequently, and to even go so far as to occasionally request a test restore, just to confirm for yourself that your data really is recoverable.</p>
<p>Bottom line is, if one accepts the need for backups and is willing to take some level of personal responsibility for ensuring that their own  data is safe and recoverable, one can avoid ever having that &#8216;oh sh-t!&#8217; moment that is what eventually leads everyone who isn&#8217;t already to become &#8216;backup-aware&#8217;&#8230;</p>
<p><a href="http://blog.websightdesign.com/2011/08/05/common-sense-for-the-modern-human-backups/">Common sense for the modern human &#8211; Backups!</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2011/08/05/common-sense-for-the-modern-human-backups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Need for Multiple Browsers</title>
		<link>http://blog.websightdesign.com/2011/01/26/the-need-for-multiple-browsers/</link>
		<comments>http://blog.websightdesign.com/2011/01/26/the-need-for-multiple-browsers/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 18:14:46 +0000</pubDate>
		<dc:creator>bennet</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/?p=1335</guid>
		<description><![CDATA[<a href=http://blog.websightdesign.com/2011/01/26/the-need-for-multiple-browsers/><img src=http://blog.websightdesign.com/wp-content/uploads/2011/01/Bing-Download-IE-Error.png class=imgtfe hspace=5 align=left width=200  border=0></a>I often look down at my dock and wonder why I have three browser icons in there – Safari, Chrome, and Firefox – when I prefer one so highly to all the others. I finally have my answer. <p><a href="http://blog.websightdesign.com/2011/01/26/the-need-for-multiple-browsers/">The Need for Multiple Browsers</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I am a loyal Safari user (and Apple fan). Perhaps because I don&#8217;t like change and I&#8217;ve become accustomed to and comfortable with the look and feel of this browser, I feel no need to switch.</p>
<p>But recently, looking to add a little more excitement and safe adventure to my life, I decided to dabble with a new browser.</p>
<p>For some reason I’ve never liked Firefox. I’m not too sure why, but I don’t choose to use it except for testing purposes. So, <a href="http://techcrunch.com/2010/11/30/top-browsers/" target="_blank">I went with Chrome</a>.</p>
<p>But even before I had started this experiment, I would often look down at my dock and wonder why I have three browser icons in there – Safari, Chrome, and Firefox – when I prefer one so highly to all the others.</p>
<p>Today, I got my answer.</p>
<p>While doing local optimization research on a client, I was searching through Google Places and Yahoo! Local. Using Safari as usual, I went to the Bing Local Listing Center and was greeted with this:</p>
<p style="text-align: center;"><a href="http://blog.websightdesign.com/wp-content/uploads/2011/01/Bing-Download-IE-Error.png"><img class="aligncenter size-full wp-image-1349" title="Bing-Download-IE-Error" src="http://blog.websightdesign.com/wp-content/uploads/2011/01/Bing-Download-IE-Error.png" alt="" width="946" height="360" /></a></p>
<p style="text-align: center;">
<p>Of course. How silly of me to assume that a Microsoft site would support an Apple or Google browser. That would make things too simple.</p>
<p>But that&#8217;s not all.</p>
<p>There’s the problem I run into when browsing on my new MacBook Air – when using Safari, I can’t view Flash. So I have Chrome installed for when I visit those types of sites. Which, from an SEO’s point of view, is a problem I should not encounter to begin with because why are people still using Flash on their sites?</p>
<p>And there was <a href="http://blog.chromium.org/2011/01/html-video-codec-support-in-chrome.html" target="_blank">Google’s announcement</a> that Chrome will not support H.264 and therefore is trying to make Flash the future of video on the web. And they&#8217;ve also pulled Mozilla onto the bandwagon. Another inconvenient battle in the larger war between Apple and Google, as if the Apple and Microsoft feud wasn&#8217;t enough.</p>
<p>So I have Safari for general usage and apparently H.264 videos, Chrome for Flash sites and extra plug-ins, and Firefox for testing and those times I need to access certain areas of Bing.</p>
<p>Moral of the story? I need to find a new &#8220;Switzerland&#8221; browser that will make my web life simpler. And my dock a lot less cluttered.</p>
<p><a href="http://blog.websightdesign.com/2011/01/26/the-need-for-multiple-browsers/">The Need for Multiple Browsers</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2011/01/26/the-need-for-multiple-browsers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Tips To A Successful Web Site Design</title>
		<link>http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/</link>
		<comments>http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 15:17:10 +0000</pubDate>
		<dc:creator>steph</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[WebSight Design]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/?p=680</guid>
		<description><![CDATA[<a href=http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/><img src=http://blog.websightdesign.com/wp-content/uploads/2010/03/ruleofthirds-300x231.jpg class=imgtfe hspace=5 align=left width=200  border=0></a>When deadlines call and you need to squeeze out some more creative juices, these <a href="http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/"><b><u>three tips to a successful web site design</u></b></a> will have you back on track in no time. <a href="http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/"><b><u>Read on</u></b></a> to find out how these three simple things can help you create something that looks fantastic, delivers your client's message, and keeps things fresh and creative.<p><a href="http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/">Three Tips To A Successful Web Site Design</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><strong><a href="http://blog.websightdesign.com/wp-content/uploads/2010/03/ruleofthirds.jpg"><img class="size-medium wp-image-702 aligncenter" title="ruleofthirds" src="http://blog.websightdesign.com/wp-content/uploads/2010/03/ruleofthirds-300x231.jpg" alt="The ever-handy Rule of Thirds" width="300" height="231" /></a></strong></p>
<p style="text-align: center;"><strong>1. Remember the Rule of Thirds.</strong></p>
<p>Ever wonder why <span style="text-decoration: underline;"><a href="http://www.thegridsystem.org/">TheGridSystem.org</a></span> is a 12-grid layout? It’s no accident that 12 is a multiple of three.</p>
<p>For a couple of thousand years, the <span style="text-decoration: underline;"><a href="http://en.wikipedia.org/wiki/Rule_of_thirds">Rule of Thirds</a></span>, or the <span style="text-decoration: underline;"><a href="http://milan.milanovic.org/math/english/golden/golden1.html">Golden Ratio</a></span> for you mathematically-inclined folks, has worked an aesthetic guideline which states that a given visual space (your web site layout) should be divided horizontally and vertically into thirds, and that important design elements should be placed along the dividing lines, or at their intersections. This, the rule says, provides the most visually appealing layout. Both left- and right-brained figures throughout history, from Euclid to Rothko, have utilized this rule to create ingenious observations and works of art.</p>
<p>The Rule of Thirds is often tagged as the lazy man’s way to lay things out, but that’s really because of its simplicity and universality. <strong>In short, the rule works.</strong></p>
<p>Web layouts are a bit trickier since the monitor size and screen resolution on everyone’s individual computers is a variable that the designer cannot control; however, if you stick with non-fluid layouts to constrain the horizontal space of your design, or use percentages in your CSS (a bit trickier, especially if non-scalable images are involved), the Rule of Thirds can provide you with focal points and design layouts that web users find easy to visually digest. Another popular method of utilizing the Rule is to design an “impact area” (often dominated by a “hero graphic”) that is divided in thirds aesthetically and is designed to be the primary focal point for the page. As the user scrolls down, simple 1/3 ratio columns for the text or remaining content can be used. Columns work well in vertically variable workspaces.</p>
<p><strong>2. KISS all those pretty fonts goodbye.</strong></p>
<p>Remember that annoying acronym we all learned in school? Just in case you’ve been living on a deserted island for the last decade or so, KISS stands for “Keep It Simple, Stupid.” And that’s precisely the best way to use type fonts.</p>
<p>I’m not saying you can’t indulge in <span style="text-decoration: underline;"><a href="http://www.youtube.com/watch?v=KD_Vu_YzEPI">unique, hand-created typography</a></span>, or that you can’t <span style="text-decoration: underline;"><a href="http://www.davidcarsondesign.com/?dcdc=top/t0a">mix typefaces</a></span>, ever. But it must be done with care and artistry. Adding in that really cool font you downloaded for free from the link your nephew in HTML class sent you may not be your best bet for communicating your client’s message.</p>
<p>In fact, communicating your client’s message is the goal of the web site you’re designing. If that message isn’t already contained in the design of the typeface you want to use, skip the typeface and go neutral. Something like <span style="text-decoration: underline;"><a href="http://www.blokdesign.com/">Helvetica Bold</a></span> works incredibly well to get messages across (which is why we’ve seen such a resurgence of it in the self-publishing &amp; blogging trends). The type font does not interfere with the actual words. You have something like 1/gazillionth of a second to get your message across to the web user, <strong>so do it the fastest, clearest possible way.</strong> If that isn’t with a fancy font that says it all for you, then say it with words, and make the words concise and easy to absorb.</p>
<p>I like to use no more than three fonts (excluding any fancy or unduplicatable logo fonts) in my designs: one main graphic font, one secondary graphic font, and one web-safe HTML font. Save the pretty stuff for non-text graphics.</p>
<p><strong>3. Don’t give up.</strong></p>
<p>Sounds like touchy-feely pandering, right? Well, it’s true.</p>
<p>These days, Photoshop, CSS, and your own artistic talents can pretty much do anything with a layout. Anything you want. If you have an idea in your head that’s just not translating onto a sketch pad or a monitor, keep at it.</p>
<p>Sometimes we all get a little bit too reliant on filters and effects, and when the desired outcome isn’t met with a drop-shadow or a gradient, it’s tempting to settle for “good enough.” Don’t do it. Nobody ever won a design award by settling. No client was ever thrilled to pay for a design that was settled on. <strong>And no web user has ever been wowed by “good enough.”</strong> If that brush stroke isn’t working for you like it should, go old school: get out your ink, brushes, and watercolor paper and draw precisely the stroke you need. If that typeface just isn’t quite right, pull it into Illustrator and tweak the anchor points until it is. If you think the paper effect you’ve made isn&#8217;t convincing, grab a real piece of paper and tear the edges, fold the corners, crumple the middle until it is.</p>
<p>There are also plentiful tutorials and resources on the web for just about any specific effect you’re trying to achieve. Do a Google search and see what you come up with. At worst, you’ll slightly expand your knowledge. At best, you’ll learn skills and tricks that will make your web layouts really shine.</p>
<p>And if all else fails, get up, and take a walk around your neighborhood. Fresh air is a great re-motivator, and inspiration is all around us, all the time.</p>
<p>—</p>
<p><em>Stephanie Long is an artist and designer with over a decade of <span style="text-decoration: underline;"><a href="http://www.websightdesign.com/services/web-site-design" target="_blank">web-specific experience</a></span> currently lending her talents as <span style="text-decoration: underline;"><a href="http://www.websightdesign.com/about" target="_blank">Creative Director</a></span> at WebSight Design. She believes that listening to the client is the key to a successful project, and that listening to yourself is the key to a happy life. And she actually likes deadlines — go figure. Stephanie recently got a <span style="text-decoration: underline;"><a href="http://www.twitter.com/imstephcreative" target="_blank">Twitter</a></span> account and now feels much younger.</em></p>
<p><strong>Like this post?</strong> You might like this one, too: <span style="text-decoration: underline;"><a href="http://blog.websightdesign.com/2010/02/19/design-is-not-a-pretty-picture/" target="_self">Design Is Not A Pretty Picture</a></span><em><br />
</em></p>
<p><a href="http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/">Three Tips To A Successful Web Site Design</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2010/03/23/three-tips-to-a-successful-web-site-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the UIImagePickerController in an iPhone OS v2.2.1 app &amp; On A OS v3.0 Device</title>
		<link>http://blog.websightdesign.com/2009/08/31/using-the-uiimagepickercontroller-in-an-iphone-os-v2-2-1-app-on-a-os-v3-0-device/</link>
		<comments>http://blog.websightdesign.com/2009/08/31/using-the-uiimagepickercontroller-in-an-iphone-os-v2-2-1-app-on-a-os-v3-0-device/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 18:50:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[cocoa touch]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/?p=225</guid>
		<description><![CDATA[So I wrote an iPhone application for a client using v2.2.1 of the iPhone SDK. (The client did not want to go OS v3.0 yet.) I needed to give a user the capability of taking and uploading a picture with the built-in camera or uploading a picture from the photo library on the phone. Seems [...]<p><a href="http://blog.websightdesign.com/2009/08/31/using-the-uiimagepickercontroller-in-an-iphone-os-v2-2-1-app-on-a-os-v3-0-device/">Using the UIImagePickerController in an iPhone OS v2.2.1 app &#038; On A OS v3.0 Device</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>So I wrote an <a href="http://www.websightdesign.com/services/iphone">iPhone application</a> for a client using v2.2.1 of the iPhone SDK. (The client did not want to go OS v3.0 yet.) I needed to give a user the capability of taking and uploading a picture with the built-in camera or uploading a picture from the photo library on the phone. Seems pretty straightforward so far. Yes? I thought so. It turned out to be pretty tricky but the solution was very simple and was staring me in the face.</p>
<p><strong>The Problem</strong><br />
I had a UIViewController with an UIImageView setup to be used as a container for the selected image. I also had several UIButtons on the page. (One button for calling up the camera. Another button for calling up the photo library, etc&#8230;) So what should have happened is that the Camera or photo library UI would display a Modal View window the user instructing them to either take a picture or select a photo from their library. Once they did that, they would be returned to the main view and whatever photo they took or selected would appear in UIImageView as a preview. However, when I was selecting the photo the &#8220;editingInfo&#8221; NSDictionary object that was supposed to be returned would be there only about 50% of the time. The other 50% it would be returned empty. I double and triple checked my code and it was all correct. Something was zapping my dictionary object and I couldn&#8217;t, for the life of me, figure out what it was.</p>
<p>The second part to this problem was that the preview image never appeared whenever the user was grabbing their image from the camera. It worked if the photo library was the source but not if it was the camera. Very, very frustrating.</p>
<p>Here is my original code:</p>
<p>My .h file -</p>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #a61390;">@interface</span> AddPhotoController <span style="color: #002200;">:</span> UIViewController &nbsp;<span style="color: #002200;">&#123;</span><br />
IBOutlet UIImageView <span style="color: #002200;">*</span>imageView;<br />
IBOutlet UIButton <span style="color: #002200;">*</span>snapNewPictureButton;<br />
IBOutlet UIButton <span style="color: #002200;">*</span>selectFromPhotoLibraryButton;<br />
<span style="color: #002200;">&#125;</span><br />
<span style="color: #a61390;">@property</span> <span style="color: #002200;">&#40;</span>nonatomic, retain<span style="color: #002200;">&#41;</span> UIImageView <span style="color: #002200;">*</span>imageView;<br />
<span style="color: #a61390;">@property</span> <span style="color: #002200;">&#40;</span>nonatomic, retain<span style="color: #002200;">&#41;</span> UIButton <span style="color: #002200;">*</span>snapNewPictureButton;<br />
<span style="color: #a61390;">@property</span> <span style="color: #002200;">&#40;</span>nonatomic, retain<span style="color: #002200;">&#41;</span> UIButton <span style="color: #002200;">*</span> selectFromPhotoLibraryButton;</div></div>
<p>My .m file -</p>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #a61390;">@implementation</span> AddPhotoController<br />
<span style="color: #a61390;">@synthesize</span> imageView, snapNewPictureButton, selectFromPhotoLibraryButton;</div></div>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span>IBAction<span style="color: #002200;">&#41;</span>getCameraPicture<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>sender<br />
<span style="color: #002200;">&#123;</span><br />
UIImagePickerController <span style="color: #002200;">*</span>picker <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIImagePickerController alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;<br />
picker.delegate <span style="color: #002200;">=</span> self;<br />
picker.sourceType <span style="color: #002200;">=</span> UIImagePickerControllerSourceTypeCamera;<br />
picker.allowsImageEditing <span style="color: #002200;">=</span> <span style="color: #a61390;">YES</span>;</div></div>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">&#91;</span>self presentModalViewController<span style="color: #002200;">:</span>picker animated<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>picker release<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#125;</span></div></div>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>imagePickerController<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIImagePickerController <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>picker didFinishPickingImage<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIImage <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>image editingInfo<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/"><span style="color: #400080;">NSDictionary</span></a> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>editingInfo<br />
<span style="color: #002200;">&#123;</span><br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Image Meta Info.: %@&quot;</span>,editingInfo<span style="color: #002200;">&#41;</span>;</div></div>
<p>UIImage *selectedImage = image;<br />
imageView.image = selectedImage;<br />
self._havePictureData = YES;<br />
[self.useThisPhotoButton setEnabled:YES];</p>
<p>[picker dismissModalViewControllerAnimated:YES];<br />
}</p>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>imagePickerControllerDidCancel<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIImagePickerController <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>picker<br />
<span style="color: #002200;">&#123;</span><br />
<span style="color: #002200;">&#91;</span>picker dismissModalViewControllerAnimated<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#125;</span></div></div>
<p>Like I said before, it all seems pretty straightforward. However, there were two things wrong with the above code.<br />
#1. Deprecated Method<br />
The UIImagePickerController method, <strong>– imagePickerController:didFinishPickingImage:editingInfo:</strong>, is deprecated in v3.0 of the iPhone OS. So even though I built the app using SDK v2.2.1, because the app will be running on 3.0 devices, I needed to use the new and improved method, <strong>- imagePickerController:didFinishPickingMediaWithInfo:editingInfo</strong>, which contains FIVE pieces of really important information:</p>
<ol>
<li> UIImagePickerControllerMediaType &#8211; Which specifies the type of media that this dictionary contains.</li>
<li> UIImagePickerControllerOriginalImage &#8211; Contains the original non-cropped image.</li>
<li> UIImagePickerControllerEditedImage &#8211; Contains the user-edited cropped image.</li>
<li> UIImagePickerControllerCropRect &#8211; Contains the CGRect that was applied to the original image.</li>
<li> UIImagePickerControllerMediaURL &#8211; If the object is a movie, this object contains the URL to be used by the media player.</li>
</ol>
<p>I simply accessed the &#8220;UIImagePickerControllerEditedImage&#8221; object from the dictionary and was off to the races.</p>
<p>#2. Dismissing the Modal View<br />
This one was really painful as it was so simple to solve. In order for the UIImageView to be updated correctly, you must dismiss the ImagePicker modal window BEFORE you attempt to update your UIImageView.</p>
<p>As a result of this, here is my updated method call:</p>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> imagePickerController<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span>UIImagePickerController <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>thePicker didFinishPickingMediaWithInfo<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDictionary_Class/"><span style="color: #400080;">NSDictionary</span></a> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>imageInfo<br />
<span style="color: #002200;">&#123;</span><br />
<span style="color: #002200;">&#91;</span>thePicker dismissModalViewControllerAnimated<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;<br />
UIImage <span style="color: #002200;">*</span>img <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>imageInfo objectForKey<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;UIImagePickerControllerEditedImage&quot;</span><span style="color: #002200;">&#93;</span>;<br />
previewImage.image <span style="color: #002200;">=</span> <span style="color: #a61390;">nil</span>;<br />
self.previewImage.image <span style="color: #002200;">=</span> img;</div></div>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/"><span style="color: #400080;">NSData</span></a> <span style="color: #002200;">*</span>imageData <span style="color: #002200;">=</span> UIImagePNGRepresentation<span style="color: #002200;">&#40;</span>img<span style="color: #002200;">&#41;</span>;<br />
<span style="color: #a61390;">if</span> <span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>imageData length<span style="color: #002200;">&#93;</span> <span style="color: #002200;">&amp;</span>gt; <span style="color: #2400d9;">0</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span></div></div>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">&#91;</span>self archivePictureData<span style="color: #002200;">:</span>imageData<span style="color: #002200;">&#93;</span>;<br />
self._havePictureData <span style="color: #002200;">=</span> <span style="color: #a61390;">YES</span>;</div></div>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">&#91;</span>self.useThisPhotoButton setEnabled<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#125;</span></div></div>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #002200;">&#125;</span></div></div>
<p>That was it. Hope that was helpful.</p>
<p><a href="http://blog.websightdesign.com/2009/08/31/using-the-uiimagepickercontroller-in-an-iphone-os-v2-2-1-app-on-a-os-v3-0-device/">Using the UIImagePickerController in an iPhone OS v2.2.1 app &#038; On A OS v3.0 Device</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2009/08/31/using-the-uiimagepickercontroller-in-an-iphone-os-v2-2-1-app-on-a-os-v3-0-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebSight Design SEO Success Story &#8211; Storage Seeker</title>
		<link>http://blog.websightdesign.com/2009/08/06/site-maps-and-internal-links-10000-page-test/</link>
		<comments>http://blog.websightdesign.com/2009/08/06/site-maps-and-internal-links-10000-page-test/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 23:25:30 +0000</pubDate>
		<dc:creator>Vanessa</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Storageseekers.com]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/?p=163</guid>
		<description><![CDATA[<a href=http://blog.websightdesign.com/2009/08/06/site-maps-and-internal-links-10000-page-test/><img src=http://blog.websightdesign.com/wp-content/uploads/2009/08/sitesnapshot-150x150.jpg class=imgtfe hspace=5 align=left width=200  border=0></a>WebSight Design understands how important search engine optimization (SEO) is to your site. Having bad SEO is like opening your shop in the middle of the desert, and forbidding people from having your phone number and address.  Not much business is going to happen that way!  But buyer beware, there are many different SEO scams [...]<p><a href="http://blog.websightdesign.com/2009/08/06/site-maps-and-internal-links-10000-page-test/">WebSight Design SEO Success Story &#8211; Storage Seeker</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>WebSight Design understands how important <a href="http://www.websightdesign.com/services/search-engine-optimization">search engine optimization</a> (SEO) is to your site. Having bad SEO is like opening your shop in the middle of the desert, and forbidding people from having your phone number and address.  Not much business is going to happen that way!  But buyer beware, there are many different SEO scams out there, some of which could even get your site banned from Google.  When it comes to SEO, you want experts who have years of industry experience and understand best practices.</p>
<p style="text-align: center;"><a href="http://storageseeker.com"><img class="size-medium wp-image-171 aligncenter" title="StorageSeeker.com" src="http://blog.websightdesign.com/wp-content/uploads/2009/08/sitesnapshot.jpg" alt="" width="220" height="201" /></a></p>
<p>Recently one of our SEO experts, <a href="http://searchmarketingwisdom.com/">Alan Bleiweiss</a>, published a case study for <a href="http://StorageSeekers.com">StorageSeeker.com</a> on <a href="http://www.searchenginejournal.com/">Search Engine Journal</a>, one of the premier SEO blogs online.  In it he shares the methodology he used to get our client to the top of the first page of Google.  Alan and the SEO team at WebSight Design are masters at best-practice SEO techniques and achieving awesome <a href="http://en.wikipedia.org/wiki/Organic_search">organic search results</a>.</p>
<p>Read the article: <a href="http://www.searchenginejournal.com/sitemaps-and-internal-links-the-10000-page-test/12336/">Sitemaps and Internal Links &#8211; 10000 Page Test</a></p>
<p><a href="http://blog.websightdesign.com/2009/08/06/site-maps-and-internal-links-10000-page-test/">WebSight Design SEO Success Story &#8211; Storage Seeker</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2009/08/06/site-maps-and-internal-links-10000-page-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash vs jQuery &#8211; Is it in the budget?</title>
		<link>http://blog.websightdesign.com/2009/07/09/flash-vs-jquery-is-it-in-the-budget/</link>
		<comments>http://blog.websightdesign.com/2009/07/09/flash-vs-jquery-is-it-in-the-budget/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 00:11:01 +0000</pubDate>
		<dc:creator>Vanessa</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[budget]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/?p=78</guid>
		<description><![CDATA[In the beginnings of the internet there was only two options for animation on a webpage. The first was animated gifs, an animated gif is essentially a web-based stack a flip cards, stringing together static images to create the illusion of movement.  Unfortunately animated gifs can end up being large files, pixilated and don’t look [...]<p><a href="http://blog.websightdesign.com/2009/07/09/flash-vs-jquery-is-it-in-the-budget/">Flash vs jQuery &#8211; Is it in the budget?</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>In the beginnings of the internet there was only two options for animation on a webpage. The first was animated gifs, an animated gif is essentially a web-based stack a flip cards, stringing together static images to create the illusion of movement.  Unfortunately animated gifs can end up being large files, pixilated and don’t look very sharp.</p>
<p>In 1996, Macromedia released a product named Macromedia Flash.  This was a vector based animation platform that allowed web designers to create animations using tools provided by Macromedia.  This resulted in smaller files with cleaner animations.  The major drawback to this was it required a browser plugin to view and most of the internet wasn’t on board with this yet.</p>
<p>Now days, there are better options then animated gifs when it comes to adding features to your site.  With the new advances in HTML and JavaScript, major browsers vendors are investing huge efforts in improving JavaScript engines in their browsers.  With all of this new attention to JavaScript dozens of frameworks, have popped up as tools for web developers to use.  Common frameworks include jQuery and jQuery UI, YUI, Prototype and Scriptaculous, and the Dojo toolkit.</p>
<p>When it comes to deciding between JavaScript based features and Flash based features in your site there are many different advantages and disadvantages you need to weigh.  JavaScript has several distinct advantages over Flash, first it no plugin is needed because it uses open Web technologies like <a href="http://en.wikipedia.org/wiki/Document_Object_Model">Document Object Model</a>, HTML and CSS.  Secondly, it is much easier to make animations that are accessible and <a href="http://en.wikipedia.org/wiki/Section_508_Amendment_to_the_Rehabilitation_Act_of_1973">508 compliant</a> and JavaScript is also viewable on many mobile devices, unlike Flash applications.</p>
<p>Although, jQuery/ JavaScript cannot be used for all animations, when it comes to certain types there are things that jQuery just can’t do.  It cannot handle 3D animation, audio/video players or fine user controlled animation.  When using JQuery you are also at the mercy of user end controls such as disabling JavaScript in a browser and resized text.</p>
<p><strong>Is it in the budget?</strong></p>
<p>When considering whether to use a jQuery or Flash based solution you are also going to want to look at the development and maintenance hours versus what the features are that you are looking for in your project.</p>
<p>JQuery can be used for almost all modules for a standard website, including scrolling images for the banner and photo galleries, interactive menus, form validation, and pop-ups and tool tips.  Because most of these tools are available as JavaScript frameworks this can end up keeping the development costs of your site down.  All of these features can be integrated with the CMS and dynamically updateable. Changes to the design of jQuery features most front end designers can handle and this will lower any maintenance costs you may incur.</p>
<p>A Flash application encapsulates all the code in the application itself.  First, this means creating the application require the use a specialized Flash developer, but this can be to your advantage if you are looking for features to your site such as audio/video player or 3D animation.  If you are looking to have complex multi-media in your project, you are going to have a higher development cost.  Changes and updates to Flash content can be executed via updateable XML files, but if you want to change the design of the application you will need to use a Flash developer with can cost more in maintenance hours.</p>
<p>What this decision really comes down to is asking yourself what are the features that you need.  Much of the “flash” in Flash can be mimicked at a lower cost with jQuery, but if your site is multi-media heavy; your best option would be to go with the Flash application for the ease of the end user and yourself.</p>
<p><a href="http://blog.websightdesign.com/2009/07/09/flash-vs-jquery-is-it-in-the-budget/">Flash vs jQuery &#8211; Is it in the budget?</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2009/07/09/flash-vs-jquery-is-it-in-the-budget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to add a chrooted FTP account for access to a specific dir on a Linux Plesk server</title>
		<link>http://blog.websightdesign.com/2008/07/21/how-to-add-a-chrooted-ftp-account-for-access-to-a-specific-dir-on-plesk/</link>
		<comments>http://blog.websightdesign.com/2008/07/21/how-to-add-a-chrooted-ftp-account-for-access-to-a-specific-dir-on-plesk/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 20:15:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[plesk]]></category>
		<category><![CDATA[Plesk tips]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/2008/07/21/how-to-add-a-chrooted-ftp-account-for-access-to-a-specific-dir-on-plesk/</guid>
		<description><![CDATA[To add a chrooted FTP user outside of Plesk properly, you need to: Create the user with the home directory as the root of what they can access Give the user a password Make their primary group psacln Add them to the psaserv group as well # useradd username -d /var/www/html/website/slideshow/ # passwd username Enter [...]<p><a href="http://blog.websightdesign.com/2008/07/21/how-to-add-a-chrooted-ftp-account-for-access-to-a-specific-dir-on-plesk/">How to add a chrooted FTP account for access to a specific dir on a Linux Plesk server</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>To add a chrooted FTP user outside of Plesk properly, you need to:</p>
<p>Create the user with the home directory as the root of what they can access<br />
Give the user a password<br />
Make their primary group psacln<br />
Add them to the psaserv group as well<br />
# useradd username -d /var/www/html/website/slideshow/<br />
# passwd username<br />
Enter new password for username<br />
# usermod -g psacln username<br />
# usermod -G psaserv username<br />
You also need to chmod the directory in question to 775</p>
<p>That&#8217;s it.</p>
<p><a href="http://blog.websightdesign.com/2008/07/21/how-to-add-a-chrooted-ftp-account-for-access-to-a-specific-dir-on-plesk/">How to add a chrooted FTP account for access to a specific dir on a Linux Plesk server</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2008/07/21/how-to-add-a-chrooted-ftp-account-for-access-to-a-specific-dir-on-plesk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One way to fix Apache serving up the wrong SSL certificate</title>
		<link>http://blog.websightdesign.com/2008/06/02/one-way-to-fix-apache-serving-up-the-wrong-ssl-certificate/</link>
		<comments>http://blog.websightdesign.com/2008/06/02/one-way-to-fix-apache-serving-up-the-wrong-ssl-certificate/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 18:41:48 +0000</pubDate>
		<dc:creator>noah</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/2008/06/02/one-way-to-fix-apache-serving-up-the-wrong-ssl-certificate/</guid>
		<description><![CDATA[I ran into an issue today on an Ubuntu server running Apache 2 where the server already had an SSL certificate for &#8216;www.domain.com&#8217; and the client wanted to add a second one for &#8216;sub.domain.com&#8217;.  I added a new IP to the server, set up the virtual site, and generated the CSR and ordered and installed the cert [...]<p><a href="http://blog.websightdesign.com/2008/06/02/one-way-to-fix-apache-serving-up-the-wrong-ssl-certificate/">One way to fix Apache serving up the wrong SSL certificate</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I ran into an issue today on an Ubuntu server running Apache 2 where the server already had an SSL certificate for &#8216;www.domain.com&#8217; and the client wanted to add a second one for &#8216;sub.domain.com&#8217;.  I added a new IP to the server, set up the virtual site, and generated the CSR and ordered and installed the cert normally, but when I tried to view the new virtual site, it gave me the new site directory but with the old &#8216;www&#8217; cert, causing a cert name mis-match error.</p>
<p>The old virtual site&#8217;s apache config file had the site bound to *:443, so when I added the new site I changed the old one to [Old IP Address]:443, so it wouldn&#8217;t conflict with the new one which was bound to [New IP Address]:443. While logically it seemed like that should have worked, it didn&#8217;t, and was serving up the old cert for the new site.</p>
<p>I fixed the issue by changing the binding for the old virtual site back to *:443, while leaving the new one on [new IP address]:443. To me, it seems like this shouldn&#8217;t work, and that the *:443 would catch all the requests, but apparently that&#8217;s how it is supposed to be, and the binding with the IP address overrides the wildcard binding. Who knew?</p>
<p><a href="http://blog.websightdesign.com/2008/06/02/one-way-to-fix-apache-serving-up-the-wrong-ssl-certificate/">One way to fix Apache serving up the wrong SSL certificate</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2008/06/02/one-way-to-fix-apache-serving-up-the-wrong-ssl-certificate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configuring MySQL-Python on OSX Leopard</title>
		<link>http://blog.websightdesign.com/2008/04/27/configuring-mysql-python-on-osx-leopard/</link>
		<comments>http://blog.websightdesign.com/2008/04/27/configuring-mysql-python-on-osx-leopard/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 18:38:30 +0000</pubDate>
		<dc:creator>Lawrence</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[mysql-python]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/2008/04/27/configuring-mysql-python-on-osx-leopard/</guid>
		<description><![CDATA[At WebSight Design we try to remain technology-agnostic. (The right tool or language for the job.) Having said that, we are primarily a PHP shop. However, with the launch of the Google App Engine, we&#8217;ve been looking seriously at Python. In recent years, I have become a big fan of development frameworks so to aide [...]<p><a href="http://blog.websightdesign.com/2008/04/27/configuring-mysql-python-on-osx-leopard/">Configuring MySQL-Python on OSX Leopard</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>At <a title="WebSight Design, Inc." href="http://www.websightdesign.com" target="_blank">WebSight Design</a> we try to remain technology-agnostic. (The right tool or language for the job.) Having said that, we are primarily a PHP shop. However, with the launch of the <a title="Google App Engine" href="http://code.google.com/appengine/" target="_blank">Google App Engine</a>, we&#8217;ve been looking seriously at Python. In recent years, I have become a big fan of development frameworks so to aide me in learning the ways of the snake, I have been using the <a title="Django" href="http://www.djangoproject.com" target="_blank">Django</a> framework.</p>
<p>Getting it all setup wasn&#8217;t difficult. The Django installation is very easy. I started to get errors when I was trying to get my models working when I ran</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">manage.py syncdb</div></div>
<p>. Come to find out that I needed the MySQL-Python library installed to work correctly on my OSX Leopard machine. Most everything that I illustrate below is to be executed from the command-line. So if you are not familiar with working in the Terminal app, this post is gonna suck for you. So here is what I did to get it working:</p>
<p>First, download MySQL for Python<br />
<a title="Sourceforge" href="http://sourceforge.net/projects/mysql-python" target="_blank"> http://sourceforge.net/projects/mysql-python</a><br />
for me it was MySQL-python-1.2.2.tar</p>
<p>Unpack it:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tar -xzf MySQL-python-1.2.2.tar</div></div>
<p>Change to the directory that is created:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">cd MySQL-python-1.2.2</div></div>
<p>Next, locate your &#8220;mysql_conf&#8221; file.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">locate mysql_conf</div></div>
<p>Copy the location of this file so you can use it in the next few steps.</p>
<p>Next, you need to edit the &#8220;site.cfg&#8221; file and add the path to your &#8220;mysql_conf&#8221; file.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">mysql_config = &quot;YOUR_PATH_GOES_HERE&quot;</div></div>
<p>Also, (very important), change the line that reads:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">threadsafe = True</div></div>
<p>TO</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">threadsafe = False</div></div>
<p>Save and exit the file.</p>
<p>Now, compile and install the library:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">python setup.py build<br />
sudo python setup.py install</div></div>
<p>NOTE: You may need to run &#8220;python setup.py clean&#8221; if you previously tried to build and install the library.</p>
<p>Next is the *really* important part. After I kept getting errors trying to run the Python server I found the missing piece on the <a href="http://projectmouse.org/2013/InstallingDjangoforLeopardwithMySQLSupport">ProjectMouse.org</a> site.</p>
<p>The key is, you need to create a symbolic link in the location that Python is expecting to find MySQL. This should be a link to the MySQL library that your computer is setup to use.<br />
See here:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo mkdir /usr/local/mysql/lib/mysql/<br />
sudo ln -s /usr/local/mysql-5.0.41-osx10.4-i686/lib/libmysqlclient_r.15.dylib /usr/local/mysql/lib/mysql/libmysqlclient_r.15.dylib</div></div>
<p>NOTE: &#8220;mysql-5.0.41-osx10.4-i686&#8243; is where MySQL is installed on my machine. Change this to the location specific to your computer.</p>
<p>Finally, import MySQLdb into Python and test your configuration:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">python<br />
import MySQLdb</div></div>
<p>NOTE: You should not see any errors or warnings. Hit &#8220;Ctrl+d&#8221; to exit the interepter.</p>
<p>Now go back and run</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">manage.py syncdb</div></div>
<p>again and you should not get any errors.</p>
<p><a href="http://blog.websightdesign.com/2008/04/27/configuring-mysql-python-on-osx-leopard/">Configuring MySQL-Python on OSX Leopard</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2008/04/27/configuring-mysql-python-on-osx-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usability: Know Your Target Audience</title>
		<link>http://blog.websightdesign.com/2008/04/11/usability-know-your-target-audience/</link>
		<comments>http://blog.websightdesign.com/2008/04/11/usability-know-your-target-audience/#comments</comments>
		<pubDate>Fri, 11 Apr 2008 22:33:07 +0000</pubDate>
		<dc:creator>steph</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[graphic design]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web site]]></category>
		<category><![CDATA[web usability]]></category>
		<category><![CDATA[websight]]></category>
		<category><![CDATA[WebSight Design]]></category>

		<guid isPermaLink="false">http://blog.websightdesign.com/2008/04/11/usability-know-your-target-audience/</guid>
		<description><![CDATA[When it comes to design, the web has another dimension that design for print doesn’t: usability. Visitors to a web site need to know where to click, and how to find what they want, all while being actively engaged in the visual experience that represents the company, person, or people the web site is for. [...]<p><a href="http://blog.websightdesign.com/2008/04/11/usability-know-your-target-audience/">Usability: Know Your Target Audience</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>When it comes to design, the web has another dimension that design for print doesn’t: usability. Visitors to a web site need to know where to click, and how to find what they want, all while being actively engaged in the visual experience that represents the company, person, or people the web site is for. Instead of just opening a brochure and seeing the words on the paper, web site users interact with a site, enlarging photos, expanding menus, highlighting links, and leading animations. Because of this, designing for the web requires a continual focus on usability.</p>
<p>The best indicator of successful usability is a clear understanding of the web site’s target audience. For example, the audience of our rock musician clients want multimedia. They want to download audio tracks, play videos, see large photos, and actively participate in the web experience on a fan level. A fan will most likely have multimedia plugins on his or her computer, and if not, will eagerly download them to be able to access enhanced content.</p>
<p>The audience of our real estate clients, however, want to find information, and find it quickly. They aren’t interested in lingering through a Flash animation that stands as a hurdle to the information they’re after. And while photos of properties are necessary, waiting for them to load, having to navigate a sea of thumbnails, or having too-small images will turn a potential homebuyer into a frustrated web user. The real estate agent or company won’t get that user’s phone call.</p>
<p>The tough part is finding the balance between easily giving base-line visitors what they want, and not boring (therefore, alienating) more sophisticated web users. Luckily, that just happens to be our specialty. With design that’s focused on both visual impact and usability, WebSight Design creates a custom-tailored user experience, based on <em>your</em> target audience.</p>
<p><a href="http://blog.websightdesign.com/2008/04/11/usability-know-your-target-audience/">Usability: Know Your Target Audience</a> is a post from: WebSight Design, Inc. company blog. With headquarters in the San Francisco bay area, WebSight Design, Inc. has been providing world class web engineering, creative design and hosting solutions since 1995. <a href="http://Websightdesign.com">WebSight Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.websightdesign.com/2008/04/11/usability-know-your-target-audience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

