<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
<title>Web Design Sydney Melbourne | Wiliam Blog</title>
<link>http://www.wiliam.com.au/</link>
<description>Sydney and Melbourne Web Design</description>
<language>en-au</language>
<pubDate>Thu, 20 Jun 2013 00:00:11 +0000</pubDate>
<image>
<title>Web Design Sydney Melbourne | Wiliam Blog</title>
<url>http://www.wiliam.com.au/images/template/logo-wiliam.gif</url>
<link>http://www.wiliam.com.au/</link>
<description>Wiliam</description>
</image>
<item>
<title>Custom Twitter feed - Twitter API v1.1 - The death of API v1</title>
<pubDate>Tue, 18 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[So what do you need to do to get it back online?]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-custom-twitter-feed-twitter-api-v1-1-the-death-of-api-v1</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-custom-twitter-feed-twitter-api-v1-1-the-death-of-api-v1</guid>
<content:encoded><![CDATA[<p>So it&amp;rsquo;s dead, API v1 for twitter was put to bed last week: <a href="https://dev.twitter.com/blog/api-v1-is-retired" target="_blank">https://dev.twitter.com/blog/api-v1-is-retired</a></p>
<p>If you weren&amp;rsquo;t across this &amp;ndash; your custom twitter feed that utilises the v1 API would cease to work and you would be trawling through various forums to find sweet FA about anything really&amp;hellip;.(until now that is)</p>
<p>So what do you need to do to get it back online?</p>
<p>Let&amp;rsquo;s start at the beginning, what changed to make so many developers scrambling to fix their now legacy feed:</p>
<p>The overview is <a href="https://dev.twitter.com/docs/api/1.1/overview" target="_blank">here</a> however in a nutshell twitter&amp;rsquo;s shift towards OAuth just got stepped up; you can no longer just slap a screen name at the end of REST call and receive a twitter JSON feed NOW you have create an app and initialise the twitter OAuth.</p>
<p><strong>Quick steps to get you going</strong></p>
<p>Log into twitter and go here &amp;amp; create an app</p>
<p><a href="https://dev.twitter.com/apps" target="_blank">https://dev.twitter.com/apps</a></p>
<p>Once created we need these the values you need to initialise the OAuth:</p>
<div style="text-align: center;">
<p><img src="/content/upload/images/twitterjosh1.jpg" width="400" height="357" alt="" />&amp;nbsp;</p>
<p style="text-align: left;">Dependant on what techonology you used to consume the JSON &amp;ndash; there are few open projects located here: <a href="https://dev.twitter.com/docs/twitter-libraries" target="_blank">https://dev.twitter.com/docs/twitter-libraries</a></p>
<p style="text-align: left;">I am simply going to demonstrate a JavaScript One: <a href="https://github.com/mynetx/codebird-js" target="_blank">https://github.com/mynetx/codebird-js</a></p>
<p style="text-align: left;">As the documentation suggests &amp;ndash; create the Open auth like so:</p>
<div style="text-align: center;">
<p><img src="/content/upload/images/twitterjosh2.jpg" width="400" height="337" alt="" /></p>
<p style="text-align: left;">And make your feed call:</p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;mso-fareast-language:EN-AU">cb.setToken(</span><span style="font-size:10.0pt;font-family:Consolas;color:#DD1144;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;mso-fareast-language:EN-AU">'YOURTOKEN'</span><span style="font-size:10.0pt;font-family:Consolas;color:#333333;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;mso-fareast-language:EN-AU">,</span><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU"> </span><span style="font-size:10.0pt;font-family:Consolas;color:#DD1144;
border:none windowtext 1.0pt;mso-border-alt:none windowtext 0cm;padding:0cm;
mso-fareast-language:EN-AU">'YOURTOKENSECRET'</span><span style="font-size:
10.0pt;font-family:Consolas;color:#333333;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;mso-fareast-language:EN-AU">);</span><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU"> </span><em><span style="font-size:10.0pt;font-family:Consolas;
color:#999988;border:none windowtext 1.0pt;mso-border-alt:none windowtext 0cm;
padding:0cm;mso-fareast-language:EN-AU">// see above</span></em><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU">&amp;nbsp;</span></p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;mso-fareast-language:EN-AU">cb.__call(</span><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU">&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size:10.0pt;font-family:
Consolas;color:#DD1144;border:none windowtext 1.0pt;mso-border-alt:none windowtext 0cm;
padding:0cm;mso-fareast-language:EN-AU">'statuses_userTimeline'</span><span style="font-size:10.0pt;font-family:Consolas;color:#333333;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;mso-fareast-language:EN-AU">,</span><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU">&amp;nbsp;&amp;nbsp;&amp;nbsp; <span style="border:none windowtext 1.0pt;mso-border-alt:
none windowtext 0cm;padding:0cm">{&amp;lsquo;screen_name&amp;rsquo;:&amp;rsquo;EXAMPLE SCREENAME&amp;rsquo;},</span><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU">&amp;nbsp;&amp;nbsp;&amp;nbsp; <strong><span style="border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm">function</span></strong> <span style="border:none windowtext 1.0pt;mso-border-alt:none windowtext 0cm;
padding:0cm">(reply)</span> <span style="border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm">{</span><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; <span style="border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm">console.log(reply);</span><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU">&amp;nbsp;&amp;nbsp;&amp;nbsp; <span style="border:none windowtext 1.0pt;mso-border-alt:
none windowtext 0cm;padding:0cm">}</span><o:p></o:p></span></p>
<p style="text-align: left;">&amp;nbsp;</p>
<p class="MsoNormal" style="text-align: left; line-height: 14.25pt; background-color: rgb(248, 248, 248); background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;font-family:Consolas;color:#333333;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;mso-fareast-language:EN-AU">);</span><span style="font-size:10.0pt;font-family:Consolas;color:#333333;mso-fareast-language:
EN-AU"><o:p></o:p></span></p>
</div>
</div>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Improve the mobile checkout experience</title>
<pubDate>Mon, 17 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Design</category>
<category>Online Trends</category>
<description><![CDATA[37% of people owned a smart phone in 2011. This increased to 52% in 2012.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-improve-the-mobile-checkout-experience</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-improve-the-mobile-checkout-experience</guid>
<content:encoded><![CDATA[<p>Smart phone usage is on the rise in Australia. 37% of people owned a smart phone in 2011. This increased to 52% in 2012. &amp;nbsp;</p>
<p>&amp;quot;Smartphones are critical shopping tools with 94% (of users) having researched a product or service on their device. Smartphone research influences buyer decisions and purchases across channels.&amp;nbsp;</p>
<p>28% of smartphone users have made a purchase on their phone. Implication: Having a mobile optimised site is critical and a cross-channel strategy is needed to engage consumers across the multiple paths to purchase.&amp;quot;</p>
<p><a href="http://services.google.com/fh/files/blogs/our_mobile_planet_australia_en.pdf" target="_blank">Source</a>&amp;nbsp;</p>
<p>With these numbers it's a must to get your mobile checkout experience right.&amp;nbsp;</p>
<div style="text-align: center;"><img src="/content/upload/images/global-shop-direct-checkout-design.jpg" width="390" height="620" alt="" /></div>
<ol>
    <li>When collecting customer details, ensure only vital fields are included</li>
    <li>Enable people to checkout as a guest if needed</li>
    <li>Use touch controls rather than trying to make the user type</li>
    <li>Remove any distractions that could drive the user elsewhere</li>
    <li>Show progress bar in checkout</li>
    <li>Make it light and make sure that the pages loads quick.</li>
    <li>Make sure credit card security symbols are visible</li>
    <li>And last but not least, test and test. Make sure you A/B test the pages &amp;nbsp;</li>
</ol>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Uploading a file over an Ajax postback</title>
<pubDate>Thu, 13 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[There is a more elegant way to upload files from your website than resorting to Flash or HTML5.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-development-uploading-a-file-over-an-ajax-postback</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-development-uploading-a-file-over-an-ajax-postback</guid>
<content:encoded><![CDATA[<p>None of my usual long-winded ranting this time around. Code. Just code.</p>
<p>Many people don't realise that most modern browsers are capable of uploading a file over an Ajax postback, something which can come in handy when you want to maintain a positive user experience and not resort to flash-based or html5 based uploaders.</p>
<h2 style="font-size:15pt;">How</h2>
<p>&amp;nbsp;</p>
<h3>1) The markup</h3>
<pre style="overflow:scroll; font-size:10pt;"><form method="post" action="/some-action" enctype="multipart/form-data">  	<input type="file" id="SomeFormFieldId" name="SomeFormFieldId" /> 	<a id="form-submit-button">Submit!</a> </form></pre>
<p>&amp;nbsp;</p>
<h3>2) The Javascript</h3>
<p>The magical stuff is the 'var dataString = new FormData(myForm.get(0))' line, in browsers that support it (more on that later).</p>
<pre style="overflow:scroll; font-size:10pt;">$(function () { 	$('.form-submit-button').click(function () { 		var myForm = $(this).closest(&amp;quot;form&amp;quot;); 		if (myForm.valid()) {  			if (typeof(FormData) === 'function') {  				var dataString = new FormData(myForm.get(0));  				$.ajax({ 					url: myForm.prop(&amp;quot;action&amp;quot;), 					type: 'post', 					data: dataString, 					processData: false, 					contentType: false, 					success: function(result) { 						// handle the success result, set the html back in to a visible container 						myForm.closest(&amp;quot;.form-container&amp;quot;).html(result); 					}, 					error: function(jqXHR, textStatus, errorThrown) { 						// handle your error 						alert(errorThrown); 					} 				}); 				// it is important to return false in order to 				// cancel the default submission of the form 				// and perform the AJAX call 				return false; 			} else { 				// do a regular postback 				myForm.submit(); 				return false; 			} 		} 	}); });</pre>
<p>&amp;nbsp;</p>
<h3>3) Server side</h3>
<p>Just handle the request as you normally would, nothing special here.</p>
<h2 style="font-size:15pt;">Browser Support</h2>
<p>&amp;nbsp;</p>
<p>The central object for this mechanism is the FormData class in javascript. If it is not declared by the browser then you will not be able to upload files using AJAX. In that scenario you can choose to revert to flash-based uploaders or some other equally outdated method, but once you see the browser compatibility chart below you might just choose to fall back to a regular old full page postback.</p>
<ul>
    <li>Chrome 7+</li>
    <li>Firefox 4.0+</li>
    <li>IE 10+ (Haha)</li>
    <li>Opera 12+</li>
    <li>Safari 5+</li>
</ul>
<p>&amp;nbsp;</p>
<p>So basically it's only the out of date IE users that will need the fallback behaviour, so you will need to decide for yourself based on the target audience of your site.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Adaptive/responsive technical and SEO considerations</title>
<pubDate>Thu, 13 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[Adaptive and responsive design have emerged from the desire to serve all the content of a single site from a single domain.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-adaptive-responsive-technical-and-seo-considerations</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-adaptive-responsive-technical-and-seo-considerations</guid>
<content:encoded><![CDATA[<p>The technical definition for the difference between adaptive and responsive websites is that adaptive websites alter their layout server side and responsive sites alter it client side.</p>
<p>Adaptive and responsive design have emerged from the desire to serve all the content of a single site from a single domain. While m. mobile domains did the job of making content accessible to mobile devices, they did have a number of issues arising from the fact that they were separate domains. Most importantly among these was Google detecting the same content on two separate domains and splitting the page weight.</p>
<p>While both adaptive and responsive design achieve essentially the same result, serving content to different profile devices, the way they function applies practical restrictions and best practice requirements on what can and can&amp;rsquo;t be done with each.&amp;nbsp;</p>
<p><strong>Adaptive</strong></p>
<p>Modern browsers reveal a lot about their internal capabilities in the user agent string and other request headers however this is still not enough for a site to determine enough information to adapt its content. For this reason when creating an adaptive mobile site we need to use a device library in order to know the individual device capabilities. 51degrees is the industry standard in this regard.&amp;nbsp;</p>
<p>It is also worth noting that changing the content of pages based upon the detected user agent was first used as a black hat SEO technique to known as cloaking. The goal was to show Google different pages to the end user. It is for this reason that whenever we do an adaptive site we have to set the &amp;ldquo;Vary: User-Agent&amp;rdquo; response header for all content pages. This tells Google what we are doing and since we are being upfront and honest about it we don&amp;rsquo;t look like we are cloaking.</p>
<p>This also helps proxy servers know that it should be caching a different copy for each user agent string. It is also worth noting that the header value should only be applied to the content pages, you don&amp;rsquo;t want proxies storing dozens of copies of you css and images. This can cause a significant bandwidth hit, especially when using an origin server style CDN.</p>
<p><strong>Responsive</strong></p>
<p>With this technique, the same html content is returned to all devices, it is css and javascript that changes the layout.</p>
<p>Due to the fact that all clients receive the same content this is the preferred method for creating SEO friendly mobile sites as there is no potentially deceptive content. It is, however, the worse technique from the client&amp;rsquo;s perspective since on the lowest profile mobile phone you are still downloading all the desktop site content, just hiding what you don&amp;rsquo;t need.</p>
<p>Within responsive design there is a further subset that we term fluid layout. In these layouts the transitions between the different layouts are managed using javascript animations and generally there are many smaller steps between the different layouts allowing the site to fit almost any device profile.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Integrating your .Net Console Application with Umbraco</title>
<pubDate>Wed, 12 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[One of the more common issues that comes up with Umbraco is how to access its data store and methods from an external source.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-integrating-your-net-console-application-with-umbraco</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-integrating-your-net-console-application-with-umbraco</guid>
<content:encoded><![CDATA[<p>One of the more common issues that comes up with Umbraco is how to access its data store and methods from an external source. This comes up when you have to build a console application or scheduled task that needs to perform system functions but have full access to Umbraco library. One way you could do this is try to remember all the .dll libraries and configurations necessary for the console application to access Umbraco, or you could use Umbracos Web Services instead.</p>
<p>It's really that easy. Umbraco already has built into to a bunch of Web Services that you hook into. To do so you simply load up Visual Studio and find the Solution or Application you would like to use the the service on use the Add Service Reference tool. Enter the URL of you local Umbraco instance and hit the Discover button. This presents you with some pre-built web services you can use built by Umbraco.&amp;nbsp;</p>
<p>If you need to make something a bit more custom you can do so by adding a Web Service to the Services folder of you current project. From there you can build the Web Service to do whatever tasks you require and have them all leverage against the Umbraco library. Be sure to check for a Username and Password on all your Web Methods as these services are public. Once your done and its all tested you can then reference the new service from your outside application without worrying about .dll libraries or other includes. Just call the new Web Service and have all the work done at the Umbraco end while your application takes 5 and waits for the response.</p>
<p>Happy Coding.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Why m. sites are not good for your website</title>
<pubDate>Wed, 12 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Strategy</category>
<description><![CDATA[Here are my main concerns in regard to websites that have a mobile version, the m.yourdomain.com.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-why-m-sites-are-not-good-for-your-website</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-why-m-sites-are-not-good-for-your-website</guid>
<content:encoded><![CDATA[<p>Firstly, we all know what the <a href="http://www.wiliam.com.au/wiliam-blog/web-design-sydney-what-s-the-difference-between-adaptive-responsive-web-design-" target="_blank">differences are between a Responsive and an Adaptive website</a>, don&amp;rsquo;t we?</p>
<p>Listed below are my main concerns in regard to websites that have a mobile version, the m.yourdomain.com.</p>
<p><strong>1. Duplicate content SEO issue</strong></p>
<p>Google, the king of web etiquette, has made it very clear that the optimal solution for a website is: 1 website, 1 Domain/1 URL, 1 page, allowing any device to access it the same way.</p>
<p>If you have a mobile website with a different domain (e.g. | m.yourdomain.com) then in Google&amp;rsquo;s eyes, unless you have taken the correct approach, your site will stumble on the &amp;ldquo;Duplicate Content&amp;rdquo; issue and you will be penalized.</p>
<p>By &amp;lsquo;penalized&amp;rsquo; by Google, I mean pushed down the search results. And that sucks. You&amp;rsquo;ve worked hard to be where you are on the ladder, so don&amp;rsquo;t fall off.&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/falling.gif" width="400" height="358" alt="" /></p>
<p><u>How can I to prevent being penalized?</u></p>
<p>Something you should look into is helping Google index your mobile site.&amp;nbsp;</p>
<p>Update your Robot.txt to allow &amp;ldquo;&amp;quot;Googlebot-Mobile&amp;rdquo; review your mobile site. More information on this <a href="http://googlewebmastercentral.blogspot.com.au/2009/11/help-google-index-your-mobile-site.html" target="_blank">here</a>.&amp;nbsp;</p>
<p>Another approach is to update all the canonical URLs. Here&amp;rsquo;s <a href="http://support.dudamobile.com/entries/23124071-Does-having-a-mobile-site-create-duplicate-content-issues-" target="_blank">how</a>.&amp;nbsp;</p>
<p><strong>2. URL Spaghetti</strong></p>
<p>Let&amp;rsquo;s have a look at the CatchOfTheDay.</p>
<p>The mobile site looks good, it&amp;rsquo;s easy to use, but if I want to share a <a href="https://m.catchoftheday.com.au/product/22242/159362" target="_blank">product</a>&amp;nbsp;to my mate Rob in the office, you&amp;rsquo;ll fall on the URL spaghetti issue.</p>
<p>This will be what you&amp;rsquo;ll see on your mobile device:</p>
<div style="text-align: center;"><img src="/content/upload/images/catchoftheday.PNG" width="400" height="710" alt="" /></div>
<p style="text-align: left;">This is what Rob will see in the office:</p>
<p style="text-align: left;">Desktop same Page</p>
<p style="text-align: center;"><img src="/content/upload/images/catch3.png" width="400" height="217" alt="" /></p>
<p>Instead of</p>
<p style="text-align: center;"><img src="/content/upload/images/catch2.png" width="400" height="217" alt="" /></p>
<p><br />
And for Rob it is actually impossible to go from the first URL: <a href="https://m.catchoftheday.com.au/product/22242/159362" target="_blank">https://m.catchoftheday.com.au/product/22242/159362</a></p>
<p>To the one for desktop: <a href="http://www.catchoftheday.com.au/event/22242/product/nike-men-s-downshifter-5-grey-yellow-159362" target="_blank">http://www.catchoftheday.com.au/event/22242/product/nike-men-s-downshifter-5-grey-yellow-159362</a></p>
<p><strong>3) Email redirect and content issue</strong></p>
<p>Managing 2 websites is also more expensive than managing one. This is why some sites don&amp;rsquo;t have all the pages.&amp;nbsp;</p>
<p>So if users on mobile devices can&amp;rsquo;t access pages, the options are to leave (very easy), or go the the &amp;ldquo;main&amp;rdquo; site and tap around a terrible user experience (very frustrating).</p>
<p>Check out this email LinkedIn sent me&amp;#8230;</p>
<p style="text-align: center;"><img src="/content/upload/images/LinkedIn2.PNG" width="400" height="710" alt="" /></p>
<p>Once I click on the link, this is what i have to deal with&amp;#8230;&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/linkedin.PNG" width="400" height="710" alt="" /></p>
<p>Come on LinkedIn, you&amp;rsquo;re better than that!</p>
<p><strong>5. Cost</strong></p>
<p>On average, planning a new site and integrate a responsive layout is 10%-20% more expensive than the initial build, and for any future changes you &amp;nbsp;only need to add a 20%-40% extra time on slicing and testing.</p>
<p>Compare that to having to update two websites all the time, where any changes are 70%-80% more expensive every time you need to update your site. And that&amp;rsquo;s for the rest of the life of your mobile website.</p>
<p>Are you really saving m.money now?</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Some of the latest results from Visual Web Optimizer. Some of these are obvious but still interesting.</title>
<pubDate>Fri, 07 Jun 2013 00:00:00 +0000</pubDate>
<category>Online Trends</category>
<category>Tips &amp; Tricks</category>
<description><![CDATA[Always lead the user to where you want them to look.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-some-of-the-latest-results-from-visual-web-optimizer-some-of-these-are-obvious-but-still-interesting-</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-some-of-the-latest-results-from-visual-web-optimizer-some-of-these-are-obvious-but-still-interesting-</guid>
<content:encoded><![CDATA[<p>Always lead the user to where you want them to look. If you want a user to look at a product then focus the attention of imagery to that point. The example below has a picture of a girl looking at the product which generated more user activity to the product. The same can be said for using arrows to point users to where you want them to look.&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/visualweb1.jpg" width="400" height="410" alt="" />&amp;nbsp;</p>
<p style="text-align: left;">Make sure the call to action is relevant to your business. If they are going to get a pricing sheet then make sure you use that terminology.&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/visualweb2.jpg" width="400" height="281" alt="" /></p>
<p style="text-align: left;">Be upfront about costs. The reality is people price match online and hiding pricing from a user is only going to make them find a site who doesn&amp;rsquo;t. If your prices are competitive don&amp;rsquo;t be afraid to promote them.&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/visualweb3.jpg" width="400" height="182" alt="" /></p>
<p style="text-align: left;">Live chat is a no brainer. Even if you are not always online the concept of live chat alone will increase your leads. If in doubt you can always switch it off but you will not regret adding it as an option to your site. Third parties such as livechatinc (www.livechatinc.com) make it incredibly easy to add this feature and qualify leads making it easier to convert the visitor into a lead.&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/visualweb4.jpg" width="400" height="152" alt="" /></p>
<p style="text-align: left;">People are used to modal windows these days so it is less of a difficult decision to add one to your site. If you want more leads then a modal is a quick and inexpensive way to do so. Make sure you offer an incentive to filling it in.&amp;nbsp;</p>
<p style="text-align: left;">&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/visualweb5.jpg" width="400" height="145" alt="" /></p>
<p style="text-align: left;">Testimonials on signup pages generate interest. It gives the user an idea of the type of content they will receive in your newsletter and creates excitement. Make sure the testimonials look realistic and highlight a feature of the newsletter.&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/visualweb6.jpg" width="400" height="107" alt="" /></p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Cross browser testing gets easier: BrowserStack</title>
<pubDate>Fri, 07 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[The best part? By creating a tunnel to your machine (all done through the interface), you can test your local websites.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-cross-browser-testing-gets-easier-browserstack</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-cross-browser-testing-gets-easier-browserstack</guid>
<content:encoded><![CDATA[<p>Testing across browsers is something that web developers just have to do. There is no way around it. Browsers have improved considerably since the age old days of IE 5.5, but there are still differences between how some browsers choose to render a page &amp;ndash; worse still, sometimes a specific combination of browser and scripting technology can completely change how something functions.</p>
<p>Enter BrowserStack: www.browserstack.com</p>
<p>Created by the good people at StackExchange and endorsed by Microsoft themselves over at www.modern.ie (where you can get a 3 month free trial, for a limited time), BrowserStack is a paid monthly service that allows you to fully interact with hosted instances of all major browsers: Internet Explorer 6 and up, Chrome, Firefox, Safari and Opera on all platforms, including Mac and even smart phones. And it&amp;rsquo;s not emulation like the compatibility mode options available in IE.&amp;nbsp;</p>
<p>It works by utilising a combination of browser Java plugin and Adobe Flash, and by spinning up remote virtual machines as required. It is really no different to using VNC or Remote Desktop into another computer. The included browsers even have Firebug installed for debugging any issues that arise.</p>
<p>The best part? By creating a tunnel to your machine (all done through the interface), you can test your local websites. No need to deploy anything to a staging server!</p>
<p style="text-align: center;"><img src="/content/upload/images/simontesting1.jpg" width="400" height="284" alt="" /></p>
<p style="text-align: left;">Browser options differ depending on the operating system chosen &amp;ndash; to test IE6 you spin up a Windows XP virtual machine, or Safari on a true Mac OS X install.</p>
<p style="text-align: center;"><img src="/content/upload/images/simontesting2.jpg" width="400" height="239" alt="" />&amp;nbsp;</p>
<p style="text-align: left;">So what&amp;rsquo;s the cost? Very reasonable in fact, especially when purchased for a team by a web development agency. As an example, a small agency could outfit their whole team of developers for $79 per month.&amp;nbsp;</p>
<p style="text-align: center;"><img src="/content/upload/images/simontesting3.jpg" width="400" height="388" alt="" /></p>
<p style="text-align: left;">And there&amp;rsquo;s even a handy plug-in available for Chrome and Firefox!</p>
<p style="text-align: center;"><img src="/content/upload/images/simontesting4.jpg" width="400" height="313" alt="" /></p>
<p>If your team adopts BrowserStack as part of their regular development cycle, it could be considered the best new tool since Firebug and the Red-Gate toolbelt!</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Using the AWS SDK to create an S3 connector</title>
<pubDate>Tue, 04 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[Upon examining the AWS SDK, the first thing you notice is the similarities between System.IO namespace and the classes in the SDK.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-using-the-aws-sdk-to-create-an-s3-connector</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-using-the-aws-sdk-to-create-an-s3-connector</guid>
<content:encoded><![CDATA[<p>I was looking for a file manager plugin for CKEditor or TinyMCE with S3 support. There was nothing decent available. Well, nothing in the .NET space anyway, it was all in PHP, even the licensed file managers. So I decided to write my own. I was already using CKEditor with Core Five Labs&amp;rsquo; file manager, so all that was needed was to create an S3 connector for it.</p>
<p>Upon examining the AWS SDK, the first thing you notice is the similarities between System.IO namespace and the classes in the SDK. For instance</p>
<p class="MsoNormal" style="background-position: initial initial; background-repeat: initial initial;"><span style="font-size:10.0pt;
font-family:Consolas;color:blue;mso-fareast-language:EN-AU">var</span><span style="font-size: 10pt; font-family: Consolas;">&amp;nbsp;dirInfo&amp;nbsp;=&amp;nbsp;</span><span style="font-size:10.0pt;
font-family:Consolas;color:blue;mso-fareast-language:EN-AU">new</span><span style="font-size: 10pt; font-family: Consolas;">&amp;nbsp;</span><span style="font-size:10.0pt;font-family:Consolas;
color:#2B91AF;mso-fareast-language:EN-AU">S3DirectoryInfo</span><span style="font-size: 10pt; font-family: Consolas;">(_awsClient,&amp;nbsp;_bucketName,&amp;nbsp;path);<o:p></o:p></span></p>
<p><span style="font-size: 10pt; font-family: Consolas;">&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;</span><span style="font-size: 10pt; font-family: Consolas; color: blue;">var</span><span style="font-size: 10pt; font-family: Consolas;">&amp;nbsp;dirInfo&amp;nbsp;=&amp;nbsp;</span><span style="font-size: 10pt; font-family: Consolas; color: blue;">new</span><span style="font-size: 10pt; font-family: Consolas;">&amp;nbsp;</span><span style="font-size: 10pt; font-family: Consolas; color: rgb(43, 145, 175);">DirectoryInfo</span><span style="font-size: 10pt; font-family: Consolas;">(path);</span>&amp;nbsp;</p>
<p>The S3DirectoryInfo object has an equivalent of the well know GetFiles/ GetDirectories method found on the System.IO objects. Obviously it&amp;rsquo;s not a 1:1 mapping against the two frameworks, for instance, the AWS doesn&amp;rsquo;t have a Created Date for its files/directories. There are enough similarities though for migration to be an intuitive process, there wasn&amp;rsquo;t a need to look up the documentation at all. In the end, my S3 connector centred on the use of 2 classes from the AWS SDK:</p>
<pre style="background-position: initial initial; background-repeat: initial initial;"><span style="font-family:
Consolas;color:#2B91AF">S3FileInfo</span><span style="font-family: Consolas;"><o:p></o:p></span></pre>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;
color:#2B91AF;mso-fareast-language:EN-AU">S3DirectoryInfo</span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:Consolas;
color:#2B91AF;mso-fareast-language:EN-AU"><o:p></o:p></span></p>
<p>I would say the AWS SDK makes interacting with S3 a walk in the park with an intuitive migration path from .NET&amp;rsquo;s System.IO to AWS SDK. It even comes in NuGet form!</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>ASP.Net Health Monitoring and Logging</title>
<pubDate>Tue, 04 Jun 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[What you may not know, is ASP.Net has a lot of handy logging features for automatic events straight out of the box]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-asp-net-health-monitoring-and-logging</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-asp-net-health-monitoring-and-logging</guid>
<content:encoded><![CDATA[<p>As you probably know, when it comes to logging there are a lot of application add-ons out there used such as Elmah, nlog and log4net. What you may not know, is ASP.Net has a lot of handy logging features for automatic events straight out of the box ie.</p>
<ul>
    <li>Heartbeats</li>
    <li>Application Lifetime Events</li>
    <li>Request Processing Events</li>
    <li>All Errors</li>
    <li>Infrastructure Errors</li>
    <li>Request Processing Errors</li>
    <li>All Audits</li>
    <li>Failure Audits</li>
    <li>Success Audits</li>
    <li>All Events&amp;nbsp;</li>
    <li>And Custom Events</li>
</ul>
<p>By utilizing these events, your application can be configured to handle capturing and logging process diagnostics (e.g. your applications current managed heap size), application life cycle events, application login attempts, server errors etc.</p>
<p>These events can be configured to log to the event viewer or SQL server or the WMI Consumer(for custom applications to monitor).</p>
<p>The setup is pretty basic. Your machine web.config will by default be using Health monitoring to log errors to the event viewer for all server errors and failed login attempts. To extend this, to for example log the <strong>heartbeat</strong> event for process diagnostic info, add the following lines to the system.web node of your application web.config.</p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">&amp;lt;</span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(163, 21, 21); background-position: initial initial; background-repeat: initial initial;">healthMonitoring</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">enabled</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">=</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">true</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">heartbeatInterval</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">=</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">10000</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">&amp;gt;</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;</span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(163, 21, 21); background-position: initial initial; background-repeat: initial initial;">rules</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">&amp;gt;</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:72.0pt;text-autospace:none"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">&amp;lt;</span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(163, 21, 21); background-position: initial initial; background-repeat: initial initial;">add</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">name</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">=</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">Process Info</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">eventName</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">=</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">Heartbeats</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">provider</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">=</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">EventLogProvider</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">profile</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">=</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">Default</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">minInterval</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">=</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">00:01:00</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;quot;</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">/&amp;gt;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:36.0pt;text-autospace:none"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"><!--</span--><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(163, 21, 21); background-position: initial initial; background-repeat: initial initial;">rules</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">&amp;gt;<o:p></o:p></span></span></p>
<p>&amp;nbsp;</p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;"><!--</span--><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(163, 21, 21); background-position: initial initial; background-repeat: initial initial;">healthMonitoring</span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">&amp;gt;</span></span></p>
<p class="MsoNormal"><o:p></o:p></p>
<p>Note: the heart beat interval determines the frequency of the Heartbeats event getting raised.</p>
<p>Now to view the logs, visit the windows &amp;lsquo;event viewer&amp;rsquo; and navigate to windows logs -&amp;gt; application as below:</p>
<p style="text-align: center;"><img src="/content/upload/images/peterrblog1.jpg" width="400" height="322" alt="" /></p>
<p>As you can see now have logged a snap shot of this applications current requests executing, requests rejected, managed memory heaps size and more.&amp;nbsp;</p>
<p>Enjoy!</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Mobile first? Give it six months&amp;#8230;</title>
<pubDate>Thu, 30 May 2013 00:00:00 +0000</pubDate>
<category>Mobile Web</category>
<description><![CDATA[You can hardly even call it a trend anymore&amp;#8230; mobile is the new king.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/mobile-first-give-it-six-months-</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/mobile-first-give-it-six-months-</guid>
<content:encoded><![CDATA[<p>There is an ongoing debate in our office about when we will design a website though exclusively around mobile</p>
<p>It can&amp;rsquo;t be far away.</p>
<p>Already, we start our projects thinking about mobile first if only that it really underpins great usability across of devices and screen-sizes, right through to desktop.</p>
<p>An <a href="http://www.engadget.com/2013/05/29/internet-trends-report-2013">article out this morning</a> is just another nail in the coffin of the desktop internet being the king. Have a look at the presentation embedded in the article; a really good read about where we are right now.</p>
<p>Mobile is accelerating on all fronts and desktop is not.  2013 is truly the year of the mobile.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Why your website probably isn't the problem</title>
<pubDate>Wed, 29 May 2013 00:00:00 +0000</pubDate>
<category>Web Design</category>
<category>Common Sense</category>
<category>e-commerce</category>
<category>Web Strategy</category>
<description><![CDATA[Sure your website can be improved, though it's not the only culprit.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/digital-agency-sydney-why-your-website-probably-isn-t-the-problem</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/digital-agency-sydney-why-your-website-probably-isn-t-the-problem</guid>
<content:encoded><![CDATA[<p>I met with a fairly successful eCommerce website last week.</p>
<p>In fact, in their category, they&amp;rsquo;re the largest player in Australia and growing at a nice trend.</p>
<p>This said, they don&amp;rsquo;t feel their growth is quite on the right trajectory, especially as they feel they&amp;rsquo;re seeing growing &amp;lsquo;exit-rates&amp;rsquo; from their website and less sales as a percentage of customers.</p>
<p>Fair enough a point, at least at first glance; something is wrong with their website and increasingly.</p>
<p>As web designers, we have been trained to immediately hone onto any given website and to find faults in construction, usability and performance as the basis of any undue underperformance.</p>
<p>We look at the colour of buttons, the size of text, whether content is above &amp;lsquo;the fold&amp;rsquo; and so on; and required to come up with an answer for why a website is not sprinting in terms of performance, we naturally find blame in the website.</p>
<p>And it is true that even the most optimised websites will contain inherent faults hindering sales and performance.</p>
<p>But is the website all that is at fault?</p>
<p>&amp;nbsp;</p>
<p><strong>Think laterally </strong></p>
<p style="text-align: left;">I am in the throes of purchasing a Chiminea (an outdoor, Mexican fire-pit) for home:</p>
<p style="text-align: center;"><img src="/content/upload/images/chiminea_web_design.png" width="283" height="487" alt="" /></p>
<p>My old Bunnings Chiminea &amp;ndash; made of clay &amp;ndash; finally caved in on itself after many outdoor fires and so determined to find something more long-lasting, I turned online.</p>
<p>The quality of websites selling Chimineas in Australia (and really anywhere) is atrocious and predictably so.</p>
<p>But the appalling nature of these Chiminea websites hasn't stopped me from browsing and enquiring.</p>
<p>Sure, if the different Chiminea websites I have looked at were actually &amp;lsquo;functionally&amp;rsquo; broken, I might not have made the enquiries I did, though save for looking visually terrible, the websites worked functionally fine.</p>
<p>Which, in my opinion, supports the notion that what a website looks like is not really what determines whether the website will work or not.</p>
<p>Over and above this notion, I sometimes refer to a concept I call &amp;lsquo;user perseverance&amp;rsquo;.</p>
<p>My concept is simply that under certain circumstances, users will actually put up with a poor experience, merely because they think they need to (i.e. you&amp;rsquo;re the exclusive seller of a product) or because they have to.</p>
<p>As a good friend of mine who works for a major insurance company, pointed out to me that despite the atrociousness of his company&amp;rsquo;s mobile offering to customers (i.e. mobile users have to use the desktop website), the conversion rates across mobile and desktop were consistent; if a user needs car insurance and they need to organise it on their mobile, they&amp;rsquo;ll slug their way through it.</p>
<p>They&amp;rsquo;ll persevere.</p>
<p>Indeed, my friend pointed out that whilst many web designers had pitched him on improvements to poorly-performing parts of his website in terms of sales and &amp;lsquo;conversion&amp;rsquo;, my friend&amp;rsquo;s research in fact revealed that the real reason the a certain part of his website wasn&amp;rsquo;t performing was because people do not purchase discretionary insurance online.</p>
<p>Having built a few insurance websites &amp;ndash; especially in life insurance &amp;ndash; I can assure you that this is correct; the website isn&amp;rsquo;t the issue, the product is.</p>
<p>&amp;ldquo;People don&amp;rsquo;t buy life insurance. They&amp;rsquo;re sold life insurance.&amp;rdquo;</p>
<p>Which brings me to my point of being and thinking lateral about your digital business.</p>
<p>Optimising a website in of itself, is a great and important thing.</p>
<p>But there are many other factors at play in a digital business.</p>
<p>And it is these many other factors that are often ignored.</p>
<p>Do you have the right range and enough range?</p>
<p>How is your pricing?</p>
<p>Is your content mix right?</p>
<p>Is your messaging consistent with your users need and want?</p>
<p>Are you better to get your users onto your call centre?</p>
<p>These are just a few questions you might ask yourself, though as I speak to my clients this year, it&amp;rsquo;s clear that the trend for 2013 is that &amp;lsquo;it&amp;rsquo;s not the website that&amp;rsquo;s broken&amp;rsquo;.</p>
<p>It is everything around it.</p>
<p>&amp;nbsp;</p>
<p><strong>Conclusion </strong></p>
<p>As keen as I am to sell anyone a new website, that might well not be your digital boggle.</p>
<p>Sure, at the hyper-level of selling that ASOS and eBay and Amazon work at, there is an unquestioned and constant program of website optimisation and improvement.</p>
<p>But these companies are focused right across the whole gambit of their businesses.</p>
<p>For the rest of us, we naturally have a more narrow focus by the mere fact of having less resources and capability; we can only focus on one or two things at once.</p>
<p>What I am suggesting is taking a more holistic view to your digital business than simply focusing on the website and its &amp;lsquo;conversion&amp;rsquo;.</p>
<p>Buy some reports.</p>
<p>Get a consultant in.</p>
<p>Talk to your users and ask them about your broader offering.</p>
<p>Look at your competitors and understand their strengths and weaknesses compared to yours.</p>
<p>Do a customer journey map and understand the sentiment of your users from the very outset that they encounter you.</p>
<p>By all means, keep plugging away at improving your website, though it is very arguably not what is broken.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>WebP pushes image compression further</title>
<pubDate>Tue, 28 May 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<category>Online Trends</category>
<description><![CDATA[The rise of streaming video across the Internet has pushed focus to video.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-webp-pushes-image-compression-further</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-webp-pushes-image-compression-further</guid>
<content:encoded><![CDATA[<p>Image compression has fallen on the backburner the last few years. The rise of streaming video across the Internet has pushed focus to video. Rightfully so, the approval of video standard H.265, is a huge step forward in video compression.</p>
<p>Video aside, much of the web is still made up of images.</p>
<p>Thankfully, some of the advancements of video flow down to images. After all, a video is just a set of still images. Well, in the world of video compression, not really, but there are shared compression methods.</p>
<p>Image compression has been traditional made up of two methods:</p>
<ul>
    <li>Lossy &amp;ndash; compression that discards image detail to reduce size.</li>
    <li>Lossless &amp;ndash; compression that reduces size but maintains detail by describing an image as an algorithm.</li>
</ul>
<p>In the simple terms, JPEGs are lossy and GIFs are lossless.</p>
<p>Lossy sounds bad, but for photos is easily to best way to strip (unnoticeable, or tolerably noticeable) detail. Lossless of compression of photos doesn&amp;rsquo;t save my space at all.</p>
<p>Google has set about to merge both these compression formats in its recently updated WebP format. Doing so has seen file sizes about 33% less than JPEG for a comparable image.</p>
<p>CNet have a couple of examples <a href="http://news.cnet.com/8301-1023_3-57580664-93/facebook-tries-googles-webp-image-format-users-squawk/" target="_blank">here</a></p>
<p>Historically only supported by Google, the recent update has added features such as EXIF data and alpha transparencies that&amp;rsquo;s got Mozilla on board too. Getting Mozilla across the line was always going to be the easy one though, Microsoft and Apple will be much more difficult.</p>
<p>Whether WebP takes over the world or not is up for debate. However, anything that shakes up the other formats to think about same level of enhancements we&amp;rsquo;re seeing out of video, is a good thing in my opinion.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Controlling the mobile device view port</title>
<pubDate>Fri, 24 May 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[Controlling the view port size of a mobile device is a relatively easy thing to do.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-controlling-the-mobile-device-view-port</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-controlling-the-mobile-device-view-port</guid>
<content:encoded><![CDATA[<p>Controlling the view port size of a mobile device is a relatively easy thing to do. The hard part is deciding the scale and how much control to give the user in adjusting this scale.<br />
<br />
The view port is controlled by adding a meta tag to the head of your page:<br />
<br />
Using a combination of properties to control the width and scale of the content we can essentially scale the size of which a pixel is rendered on the device.<br />
<br />
The meta tag above sets the width of the content equal to the width of the device. This is not to say that your 960 pixel page becomes 768 pixels wide on a small device, it sets the device to display the 960 pixels across the devices 768 pixel screen. A pixel therefore becomes 80% of it's actual size (768 / 960 = 0.8)<br />
<br />
Setting minimum and maximum scales tells the device what the safe zoom-in and zoom-out size is. Above, the properties tell the device to not allow any zooming at all.</p>
<p>Interestingly the &amp;quot;viewport&amp;quot; meta tag isn't yet a W3C standard. Given the demand for the tag (it is supported by all popular mobile browsers and used by thousands if not millions of websites), there is now a specification in draft as of 7th May 2013, <a href="http://dev.w3.org/csswg/css-device-adapt/" target="_blank">http://dev.w3.org/csswg/css-device-adapt/</a> This new specification quite rightly moves the control from the &amp;quot;head&amp;quot; element into css.&amp;nbsp;</p>
<pre><span class="k">@-viewport</span><span class="line"> </span><span class="p">{</span><span class="line"><o:p></o:p></span></pre>
<pre><span class="nt">width</span><span class="o">:</span><span class="line"> </span><span class="nt">640px</span><span class="o">;</span><span class="line"><o:p></o:p></span></pre>
<pre><span class="p">}</span><span class="line"><o:p></o:p></span></pre>
<p class="MsoNormal" style="margin-bottom:12.0pt">Combining this with media queries one would in theory be able to normalise screen sizes based on the content styles to be rendered.<o:p></o:p></p>
<pre><span class="k">@media</span><span class="line"> </span><span class="o">(</span><span class="nt">max-width</span><span class="o">:</span><span class="line"> </span><span class="nt">699px</span><span class="o">)</span><span class="line"> </span><span class="nt">and</span><span class="line"> </span><span class="o">(</span><span class="nt">min-width</span><span class="o">:</span><span class="line"> </span><span class="nt">520px</span><span class="o">)</span><span class="line"> </span><span class="p">{</span><span class="line"><o:p></o:p></span></pre>
<pre><span class="line">&amp;nbsp; </span><span class="k">@-viewport</span><span class="line"> </span><span class="p">{</span><span class="line"><o:p></o:p></span></pre>
<pre><span class="line">&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span class="nt">width</span><span class="o">:</span><span class="line"> </span><span class="nt">640px</span><span class="o">;</span><span class="line"><o:p></o:p></span></pre>
<pre><span class="line">&amp;nbsp; </span><span class="p">}</span><span class="line"><o:p></o:p></span></pre>
<pre><span class="p">}</span><span class="line"><o:p></o:p></span></pre>
<p class="MsoNormal" style="margin-bottom:12.0pt">This css would normalise any screen smaller than 700px and larger than 519px to display as though it were 640px wide.<br />
<br />
The new spec also allows similar (but more advanced) scale properties along with a new orientation property. So far IE10 is the only browser to even partially implement the new standard, allowing one to set the width and/or height properties.<o:p></o:p></p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Using Pseudointernationalisation to test internationalised sites</title>
<pubDate>Fri, 24 May 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[Being a console application, it can easily be included as part of a build script.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-using-pseudointernationalisation-to-test-internationalised-sites</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-using-pseudointernationalisation-to-test-internationalised-sites</guid>
<content:encoded><![CDATA[<p>Pseudointernationalisation is the process of creating a pseudo-translation set for your content and resource files. Not only does this help you to locate any UI elements that have been hard coded into the UI, it will show how different string lengths affect the layout of the site. Additionally it will test your site with extended character sets. The process itself is really simple.&amp;nbsp;</p>
<ol>
    <li>Pick a language that your site will most likely <u>not</u> utilise.</li>
    <li>Create a set of obviously fake set of translations for that language.</li>
    <li>Switch your site to use the language (by whichever language switching mechanisms are available to your site)</li>
    <li>Observe the new layout and go from there.&amp;nbsp;</li>
</ol>
<p>&amp;nbsp;</p>
<div>
<p class="MsoNormal"><span style="background-position: initial initial; background-repeat: initial initial;">Your overall strategy will change depending on the target languages, but of course, the closer you can simulate these languages the fewer anomalies you will have on your production site. There are general rules of thumb, and statistical data that you can use to help you get close. For example, a short word in English will translate to something 4 times as long in some Latin based languages.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-position: initial initial; background-repeat: initial initial;">To help generate these translations, you can use Psuedoizer. Psuedoizer is a really simple tool that takes a few of these rules into account, generating the translated content for you. It&amp;rsquo;s a console application that will convert your RESX files into a pseudo-translation. The pseudo-translation is essentially English substituted character for character from the extended character set. For example, an English &amp;lsquo;B&amp;rsquo; will become a Greek Beta. It will simulate extended length by padding the translations. The benefit of using pseudo-English is that the site is still readable. And you get full access to the source, so you can easily incorporate translations into your data seeding mechanism for your test environment.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="background-position: initial initial; background-repeat: initial initial;">Being a console application, it can easily be included as part of a build script. You can get the Psuedoizer tool here: <a href="https://github.com/shanselman/Psuedoizer" target="_blank">https://github.com/shanselman/Psuedoizer</a></span></p>
</div>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Watermarking digital photos</title>
<pubDate>Fri, 24 May 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[One of our developers spent time researching the best way to watermark digital photos and this is what he found]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-watermarking-digital-photos</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-watermarking-digital-photos</guid>
<content:encoded><![CDATA[<p>Watermaking digital photos online it extremely important for certain clients, particularly in the art space. We have recently been developing an amazing art gallery website where by the images of the artwork not only are under copy write, they also have local beliefs behind them which prevent them from being miss-used online. When we did a google image search almost every image we found on the current site had been taken and used on other sites so it was imperative that the new site had stricter restrictions on copywriting in place.&amp;nbsp;</p>
<p>One of our developers spent time researching the best way to watermark digital photos (apparently called Steganography) and this is what he found:&amp;nbsp;</p>
<p><strong>You can programmatically add a line of text (&amp;ldquo;This image copyright 2013&amp;rdquo;) to an image that is invisible to the screen.&amp;nbsp;</strong></p>
<ul>
    <li>We can read that text back from any image using software that we create software.</li>
    <li>Therefore we can create a page where images can be loaded in and checked to see if they have been copied from the original image on the site.&amp;nbsp;</li>
    <li>However, if a user opens that image in Photoshop, resizes it and hits save, the copyright text is lost</li>
</ul>
<p><strong><br />
Adobe has a thing called XMP that is part of Photoshop. It&amp;rsquo;s so you can add Copyright, Author etc. when you go File &amp;gt; File Info in Photoshop itself.</strong></p>
<ul>
    <li>You can apparently code to this but it looks like a large tasks. There doesn&amp;rsquo;t appear to be a native .NET implementation.&amp;nbsp;</li>
    <li>A user can still remove this text in Photoshop by just clearing the field</li>
</ul>
<p><strong><br />
The industry standard for doing this kind of work is Digimarc</strong> - <a href="http://www.digimarc.com/" target="_blank">http://www.digimarc.com/</a></p>
<ul>
    <li>This is not an API and not something we can access programmatically. It&amp;rsquo;s an application you use to process images before uploading them to your website.&amp;nbsp;</li>
    <li>It is a subscription service. They have a &amp;lsquo;copyright search engine&amp;rsquo; that searches the web for images you watermarked using their program. This appears to be the most sophisticated way to do this &amp;nbsp;however there is no easy way to make it work with your existing CMS.&amp;nbsp;</li>
</ul>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Photoshop CS6 = My new love.</title>
<pubDate>Fri, 24 May 2013 00:00:00 +0000</pubDate>
<category>Web Design</category>
<description><![CDATA[I don't even know where to begin explaining how much I love this updated version and how much it has made my life easier when designing.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-photoshop-cs6-my-new-love-</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-photoshop-cs6-my-new-love-</guid>
<content:encoded><![CDATA[<p>We have just upgraded to the latest Adobe suite here at Wiliam, and with that came my new love - Photoshop CS6. I don't even know where to begin explaining how much I love this updated version and how much it has made my life easier when designing.</p>
<p>I have a feeling Abobe was tracking how people worked on pervious versions and added new features and tweaks to better our experience.&amp;nbsp;</p>
<p>The first thing I love about Photoshop CS6 is it's enhancement to the crop tool. Now the whole canvas is preselected, which is such a big help. It reduces the number of steps needed to alter a canvas size. I know everyone has a different way of doing things in Photoshop, previously I used to click and drag the tool from top left to bottom right, then pull it down to extend my canvas. Now I just pull it down. Perfection.</p>
<p>Another small but life changing enhancement preselected state of the hex code within the colour picker tool. Again this cuts out so many added steps if you wanted to paste in a colour from a brand guideline. Previously, you would have to select the text manually, delete it and then paste. All you need to do now is open the tool and hit paste! Heaven.</p>
<p><img src="/content/upload/images/colourpicker.jpg" width="400" height="400" alt="" /></p>
<p>Before Photoshop CS6, I would have to keep the Information tab constantly open in order to measure out how many pixel there were between elements. Not anymore! The marquee tool now comes with the Head Up Display system which shows you the measurements as you pull the tool over your canvas. Genius.</p>
<p>I am still yet to try out the new Paragraph and Character Style panels. But I know it will again cut down time when trying to keep headings/text consistent through PSD's. I have to applaud Adobe on their latest release of Photoshop CS6. I didn't think it would have such an impact on me since CS5 was not that much better/different than CS4. Adobe have done so well, I can't wait to try out all the features.&amp;nbsp;</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Forcing secure viewing over https in MVC</title>
<pubDate>Fri, 24 May 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<description><![CDATA[To do so requires 2 simple steps.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-forcing-secure-viewing-over-https-in-mvc</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-forcing-secure-viewing-over-https-in-mvc</guid>
<content:encoded><![CDATA[<p>Suppose you want your application to automatically adjust, to view a page of your application over https even when a user attempts to view the page over http. This can be achieved quite easily with &amp;lsquo;<span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">ActionFilterAttribute</span><span style="font-size:9.5pt;font-family:Consolas;color:#2B91AF">&amp;rsquo;</span> in mvc.</p>
<p>To do so requires 2 simple steps. Firstly, add the following class to your web project below:</p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">public</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">class</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">SecureAttribute</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> : </span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">ActionFilterAttribute</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp; {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">public</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">bool</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> PermanentRedirect { </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">get</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">; </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">set</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">; }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"><o:p>&amp;nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">public</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">override</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">void</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> OnActionExecuting(</span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">ActionExecutingContext</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> filterContext)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">var</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> request = filterContext.HttpContext.Request;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"><o:p>&amp;nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">if</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> (request.IsSecureConnection) </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">return</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">;<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">string</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> redirectUrl = request.Url.ToString().Replace(<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">Uri</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">.UriSchemeHttp,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">Uri</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">.UriSchemeHttps);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"><o:p>&amp;nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filterContext.Result = </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">new</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">RedirectResult</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">(redirectUrl, PermanentRedirect);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">&amp;nbsp;&amp;nbsp;&amp;nbsp; }</span><span style="font-size: 9.5pt; font-family: Consolas;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;">&amp;nbsp;</span></p>
<p>Now all that&amp;rsquo;s left, is to open up your controller class and specify the attribute either preceding the action method, or before the controller class declaration.</p>
<p>Eg.</p>
<p class="MsoNormal"><strong><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">[</span></strong><strong><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">SecureAttribute</span></strong><strong><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">(PermanentRedirect = </span></strong><strong><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">true</span></strong><strong><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">)]<o:p></o:p></span></strong></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">public</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">class</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">AccountController</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;">&amp;hellip;.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">public</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: rgb(43, 145, 175); background-position: initial initial; background-repeat: initial initial;">ActionResult</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> Register()</span><span style="font-size: 9.5pt; font-family: Consolas;">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; <o:p></o:p></span></p>
<p class="MsoNormal" style="text-indent:36.0pt"><span style="font-size: 9.5pt; font-family: Consolas;">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;">}<o:p></o:p></span></p>
<p>And that&amp;rsquo;s all that is necessary. Now if someone tries to visit <a href="http://yourdomain.com.au/Account/Register" target="_blank">http://yourdomain.com.au/Account/Register</a>, they will be permanently redirected to the same url over https.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Umbraco gets easier with MVC</title>
<pubDate>Fri, 24 May 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<category>Umbraco</category>
<category>MVC</category>
<description><![CDATA[The good thing is with the current version and using MVC it has become even easier as a .NET developer.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-umbraco-gets-easier-with-mvc</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-umbraco-gets-easier-with-mvc</guid>
<content:encoded><![CDATA[<p>Working on Umbraco sites over the past couple of years has been a love/hate relationship. In the beginning it was one of those tools that had to be figured out with much digging into the code and the framework to achieve the smallest result. Once you found how something worked it all seemed to make sense. There were features that were easer than others and some harder than they should have been, like getting an image from the media library.</p>
<p>The good thing is with the current version and using MVC it has become even easier as a .NET developer. As most websites these days have moved on to the MVC framework it was a good decision of the Umbraco team to embrace this concept too. No more web forms and fiddly post back controls. It is now all about Models, Views and their Controllers. Makes things so much easier, now I only have to learn how to grab those media items again.</p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
<item>
<title>Dipping my toes into Responsive Design</title>
<pubDate>Tue, 21 May 2013 00:00:00 +0000</pubDate>
<category>Web Development</category>
<category>Online Trends</category>
<description><![CDATA[From looking at the already created CSS and JavaScript from a project I am now co-developing I have learned the basic techniques for creating a responsive template for tablet and mobile devices &amp;#8211; and it really isn't that hard.]]></description>
<link>http://www.wiliam.com.au/wiliam-blog/web-design-sydney-dipping-my-toes-into-responsive-design</link>
<guid isPermaLink="false">http://www.wiliam.com.au/wiliam-blog/web-design-sydney-dipping-my-toes-into-responsive-design</guid>
<content:encoded><![CDATA[<p>My first experiences with responsive design was by being thrown in the deep end. That&amp;rsquo;s always the best way, I find, and is even more interesting when the bulk of the work has already been done. From looking at the already created CSS and JavaScript from a project I am now co-developing I have learned the basic techniques for creating a responsive template for tablet and mobile devices &amp;ndash; and it really isn&amp;rsquo;t that hard.</p>
<p>The key lies with the CSS media selectors. First, construct your CSS for your desktop view as you normally would &amp;ndash; though keep the tablet and mobile views in mind when deciding how to construct your HTML. When it comes time to create the mobile template, insert the following into your CSS file AFTER your main CSS declarations.</p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">@media</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">only</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">screen</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">and</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">(</span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">min-width</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">: </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">300px)</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">and</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">(</span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">max-width</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">: </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">767px)</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> {</span><span style="font-family: Consolas; font-size: 9.5pt;">&amp;nbsp;</span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;">}</span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p></o:p></span></p>
<p>This is a media selector, and this one defines the rules for browser width that represents a mobile device such as a phone. Within the declaration simply override your main CSS declarations with their mobile equivalent.&amp;nbsp;&amp;nbsp;</p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">@media</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">only</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">screen</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">and</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">(</span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">min-width</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">: </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">768px)</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">and</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">(</span><span style="font-size: 9.5pt; font-family: Consolas; color: red; background-position: initial initial; background-repeat: initial initial;">max-width</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;">: </span><span style="font-size: 9.5pt; font-family: Consolas; color: blue; background-position: initial initial; background-repeat: initial initial;">1000px)</span><span style="font-size: 9.5pt; font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"> {</span><span style="font-size: 9.5pt; font-family: Consolas;"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;">}&amp;nbsp;</span></p>
<p class="MsoNormal">These widths define most tablet devices. You will notice that when you resize your browser to the defined widths, the template realigns itself and obeys the new CSS rules. You could also include mark-up specific to a media by decorating it with a class, such as &amp;ldquo;mobile-only&amp;rdquo;. In your base CSS you would set display: none, and in your mobile media selector set it back to display: block. This is an easy way to add and remove elements not required for all templates.</p>
<p class="MsoNormal">The most important thing to remember (as is usual with modern web development) is that Internet Explorer version 8 and earlier (and some earlier versions of Safari) do not support media selectors. Our salvation lies with the jQuery library &amp;ldquo;CSS3 Media Queries&amp;rdquo;, found here: <a href="https://code.google.com/p/css3-mediaqueries-js/" target="_blank">https://code.google.com/p/css3-mediaqueries-js/</a>. Just include the script and you are good to go.</p>
<p class="MsoNormal"><span style="font-size: 9.5pt; font-family: Consolas;"><o:p></o:p></span></p>
<p>Wiliam is one of Australia's leading <a href="http://www.wiliam.com.au/" title="Premium web site design agency in Sydney and Melbourne Australia.">web site design</a> and <a href="http://www.wiliam.com.au/" title="Leading web 2.0 development company in Melbourne &amp; Sydney." >web development</a> agencies. Our <a href="http://www.wiliam.com.au/" title="Melbourne.">Melbourne web design</a> and <a href="http://www.wiliam.com.au/" title="Sydney web design">Sydney web design</a> offices provide cutting-edge <a href="http://www.wiliam.com.au/web-solutions/web2-web-design" title="Web 2.0">Web 2.0</a>, internet marketing, business web hosting, <a href="http://www.wiliam.com.au/wiliam-technology/email-marketing-software/features" title="Email marketing and campaign management software Sydney and Melbourne Australia.">email marketing software</a>, <a href=" http://www.wiliam.com.au/wiliam-technology/search-engine-optimisation" title="Search engine optimisation Melbourne and Sydney Australia." >search engine optimisation</a>, <a href="http://www.siterank.com.au/">SEO</a>, <a href="http://www.wiliam.com.au/web-solutions/facebook-applications" title="Facebook Applicagtions" >Facebook Applications</a>, <a href="http://www.linkbistro.com/" >Link Exchange</a> and <a href="http://www.linkbistro.com/">SEO Tool</a> services. </p>
]]></content:encoded>
</item>
</channel></rss>