Archive for the ‘Web Development’ Category

Microsoft Cleartype Breaks the Internet

Wednesday, January 11th, 2012
No Gravatar

With the news that Microsoft’s Internet Explorer 6 has – finally – fallen to 1% of U.S. browser share, the modern internet is now turning to face a new problem from the folks down in Redmond.

Until recently, the technology to include fonts and also the permission to use them has prevented web sites from deviating beyond generic typefaces like “sans-serif” or “serif”.  To get around this, many people banked on the popularity of Microsoft Windows to leverage their default font library.  Which eventually came to include the famous and well entrenched “Verdana” font.

Make it wider.

Monday, January 9th, 2012
No Gravatar

“It’s a little skinny, can we make it wider?”

Grid System Example ImageMore and more these days our clients are coming back to us after viewing a new design mockup on their modern high-res, wide-screen 16:9 displays, and have a common simple request. Make it wider. We are big fans of the 960.gs grid system here at Canada’s Web Shop, and often recommend against heading out into areas wider than 960.

Open Is Better

Tuesday, January 3rd, 2012
No Gravatar

In dealing with various technologies and services on the internet, one thing that my experiences as a developer have taught me is that open is better.  You can use this rubric for just about any online or IT concept, and you’ll find that in the long haul, you’ll be better served.  Whether it’s by using open software, hardware that communicates using standards or using a service that isn’t afraid of letting your data get away from them.  Examples are all around us and the majority of successful tech companies have banked on the quality and transparency of free software.  Even Microsoft and Apple have leveraged the quality of free and open – despite what their marketing departments might want you to think about it!  In the grand scheme of things, open solutions tend to be longer lived, easier to work with and overall cheaper.

Using Google-API-PHP-Client with Google Analytics Core Reporting

Thursday, December 22nd, 2011
No Gravatar

Google’s PHP client library for their GData API hasn’t received as much love as their client libraries for other languages. Despite the lack of high level service classes for Google Analytics’ Core Reporting API it is possible to work with it using google-api-php-client.

The below is a quick and dirty self contained example based on a Google+ example to get a report. Before you get started go to the API Console and enable access to the Analytics API and generate a client id, client secret, and to register your redirect uri.

Third Party On-Site Search Tools

Wednesday, December 21st, 2011
No Gravatar

Here at the Web Shop, we like to take advantage of existing tools, whether they’re free or reasonably priced. One tool that we opted to not roll on our own is a site search. From time to time clients require them and the first third party search tool so used was Google Custom Search. It’s pretty expensive considering how much traffic site searches tend to get and it behaves oddly, especially with sites that aren’t well indexed.

Why People Should Care About Responsive Design

Monday, December 5th, 2011
No Gravatar

If you’ve been keeping up with the latest and greatest in web design, you’ll probably have heard of the Responsive Design (http://www.alistapart.com/articles/responsive-web-design/) trend that’s been picking up steam the last couple of years. Personally I think it’s a great concept, and I’ve been looking forward to the day it becomes standard practice in web design for quite awhile now. However, each time I express my enthusiasm to fellow web designers, I am greeted with blank stares and total apathy.

Keep the Currency Out of Your Templates

Thursday, November 24th, 2011
No Gravatar

I was recently tasked with creating e-commerce sites for countries where dollar signs don’t apply. Symfony’s I18N support was great for translating strings but proved to be inadequate for formatting currency. Having only used our e-commerce software to display currency in either American or Canadian dollars I had to first remove all hard coded dollar signs from our templates and invent a generic way to display currency for different regions.

Symfony’s format_currency() almost gets the job done, so I created a helper which augments its output. There’s nothing fancy here. You can add a currency indicator on either the left or the right of the currency, and if neither a left or right currency indicator are configured, we default to showing a dollar sign.

SSL Certificates: then and now

Tuesday, November 1st, 2011
No Gravatar

Remember a few years ago when a basic SSL Certificate cost you $300? It’s different now. You can get them for $10, sometimes even less. A few of my peers consider the whole SSL Certificate authority situation a bit of a racket. We were paying them $300 per year for them to tell your browser that we are who we say we are. You can pay them even more money for them to make a certificate that works for all your subdomains. The last one I setup was in the order of 8 times more expensive for that privilege. On their end, it’s not any more technologically expensive to create you a wildcard certificate, or a normal certificate.

Programming for Load balanced environments: Part 1

Tuesday, October 18th, 2011
No Gravatar

Having multiple servers feeding a single load balancer has big advantages: fault tolerance, SSL Offloading to name just two. But with the performance comes extra complexity. There are a few things you need to keep in mind when setting up your web application to “play nice”:

SSL Offloading and Apache’s point of view

In a typical SSL Offloading setup, your load balancer (or web proxy) serves all of the certificates to the public facing IPs, so Apache doesn’t need to know anything about SSL. This simplifies web-server setup, which is especially valuable when you’re managing a cluster of them behind a load balancer. Because the load balancer is the point of contact to the outside world, Apache is unable to handle a few things that are normally simple in a standalone setup.

jQuery 1.7′s New Simplified Event API

Friday, October 14th, 2011
No Gravatar

This is just a quick heads up if you haven’t been following the jQuery blog. jQuery has added two new functions: .on() and .off(). We’ve seen this syntax before in other libraries like YUI and it’s clear and concise. These new functions infer whether to use .delegate(), .live() or .bind() based on the parameters passed to it.

From the jQuery blog:

Old API New API
$(elems).bind(events, fn) $(elems).on(events, fn)
$(elems).bind(events, { mydata: 42 }, fn) $(elems).on(events, { mydata: 42 }, fn)
$(elems).unbind(events, fn) $(elems).off(events, fn)
$(elems).delegate(events, selector, fn) $(elems).on(events, selector, fn)