The Dovetail Blog

Delivering clean content

I will usually spend some time browsing UX blogs and I follow a number of design agencies that I feel contribute a lot to the UI/UI/WebApp community. They can be very inspiring and ideas for new techniques for enabling the end user can come from anywhere.

While reading the clearleft twitter feed, I notice they launched a new 'Channel 4 News' site, and I took a look at their portfolio page for more information. The portfolio page struck me as really simple, yet clear and the delivery of the content was bang on.

While there is a lot of text in the left column, it is seperated by paragraphs and different styles so the reader is not overwhelmed. This is a great way to deliver text content. By slowly bringing the user into the story. Content starts with a simple title, then quickly explains problem needing to be solved.

The core content is broken down with a bulleted list and a quote from a happy customer.

So all very nice, and it looks good, but what's under the hood? I presently surprised by the html code and how they achieved the quote and citation, as it looks really clean (and pretty).

Rather than the age old solution of using a few divs and slapping some spans in there for good measure, the guys went all semantic up in there!

<blockquote>
<p>The new site has given the whole newsroom at ITN a real lift and helped make the integration into a totally multi-media outlet work so much better.</p>
</blockquote>

<p> <cite class="vcard"> <span class="fn">Vicky Taylor</span>, <span class="role">Commissioning Editor News and Current Affairs</span> at <span class="org">Channel 4</span> </cite> </p>

They have used blockquote and cite to define the elements. So styles could be applied easily, and it also gives meaning to the content. This allows screenreaders (and search engines!) to make sense of the content and give it some context to it's eventual audience.

Even though we at dovetail are technologists, and spend more time editing code than content, it's important to know your audience and build for as many of them as possible.


AppPoolIdentity and Permissions in IIS7

One of the better features that came in IIS 7 was the automatic creation of separate application pools for each web site; this had to be done manually for each website in IIS 6. Furthermore, in IIS 7.5, the default application pool identity changed from NetworkService to AppPoolIdentity. Both of these changes were designed to improve process isolation by using separate user accounts for each application pool. It also meant that we do not have to manually create custom Windows user accounts for our application pools anymore.

All well and good. So how do we set folder permissions (ACLs) for these applications pools? This is done by setting folder permissions for the "IIS AppPool\[application pool name]" user, where [application pool name] is the name of the application pool in IIS.

SH_ 2011-09-27 14.5903

When in the Select Users or Groups dialog, ensure that machine name (Cabbage in my case) is selected for Locations and Built-in security principals is selected selected for Object Types, in order to find the application pool identity user.

SH_ 2011-09-27 14.5904


Boo to the Pedal-Powered iPhone Snatchers

Here in Dovetail we love cycling, and obviously we're all about mobile devices, but we are sad today to read about an unfortunate intersection of the two.

Conor Lally in the Irish Times writes today about GardaĆ­ dealing with a surge in gurriers stealing iPhones from their bicycles.  The recession must be driving the demand for hot luxury items.  Hopefully the increased use of GPS apps will help recovery rates.

Iphonebikesnatch


Spam as Gaeilge

Today I received spam written in Irish for the the first time.  It is for an Indian outsourcing development company (with some US contact details).  We get loads of these emails looking for strategic partnerships, but this one shows an unusual level of initiative. On the other hand it is naive to think the Irish version will be more successful than its English equivalent!

irish spam


HTTPS and remote content

The problem

About 90% of our customer applications use some form of payment system. This inevitably requires https in part or all of your application. We try to limit https traffic to forms requesting personal data.

We also try to use a CDN for jquery, web-fonts etc, as it improves download speed and allows for better script caching on the clients browser.

So by requesting an external script via HTTP on page delivered over HTTPS, the user is often presented with something like the following:

HTTPS error

The solution

By removing the protocol (http: or https:) from the referencing url, the browser will automatically using the same protocol as the page being requested. For example:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>

Be sure that the CDN will deliver the content over both https and http. At times the CDN will use a different URL (https://ssl.), so you will need to implement some server side logic if that is the case.

Browser Compatability

Having only discovered this little trick recently, I would have assumed it was not adopted by all browers yet. It is, however, part of the web standards and should therefore be a valid url in all modern web browsers ( Stackoverflow Discussion).


The rise of Javascript

Way back when ASP.Net was first released, many web developers saw the postback as a replacement for JavaScript. Back then, it was easy to hate JavaScript, with its unfriendly DOM and its different behaviour in the various browsers. However, the launch of GMail demonstrated to internet users how a rich UI could be delivered over the web, and JavaScript was the essential component in most Web 2.0 applications.

With the growth of cloud computing, JavaScript powered web apps are becoming more common. Even Microsoft are introducing JavaScript+HTML5 apps in Windows 8. With transcompilers, developers can create JavaScript code using a different language, and with Node.Js, JavaScript is being used outside of its traditional web browser home.

JavaScript, it seems, is here to stay. Below are a few interesting JavaScript related links for further investigaton:

  • JQuery - Needs no introduction. Essential for web development
  • KnockoutJS - Dynamic JavaScript UIs using the MVVM (Model-View-View-Model) pattern
  • Node.js - Event driven IO server-side JavaScript environment
  • CoffeeScript - a little language that transcompiles into JavaScript
  • ClojureScript - Clojure to JavaScript transcompiler
  • Titanium Mobile - Create native IOS/Android apps in JavaScript

Indian outsourcers are now "insourcing"

I just came across this interesting article describing how Indian companies, providing offshore software development, are now hiring skilled staff in the US.  They are finding, on a large scale, that you have to carefully apportion work between onshore and offshore teams, and be aware that for many project all the work should be onshore.

http://www.siliconvalley.com/news/ci_18625774

In Dovetail we have experience working with off-shore teams, and we know when it works.  As Michael Murphy says in the article:

"The closer you get to true knowledge work, where experience and judgment is required, the closer you need to be to customers."

That's just what Dovetail does: providing that experience and judgement.  Several times we have been asked to (and did!) rescue projects that were sent offshore and foundered.  It's just part of the comprehensive range of services we offer related to custom software development projects.