2011

Multiple Screen Sizes in Android

One of the big differences we found between iOS and Android development, is handling the multitude of screen sizes that come with Android devices.

The Android solution to this has changed in Android 3.2. Prior to this, different screen layouts could be specified for small (~<4 inch), normal (~4 inch), large(~6 inch) and xlarge (~10 inch) screens. In Android 3.2, you can specify layouts based on dp (density-independent pixel) units.

What we like most is that layouts can be specified for different available screen widths, meaning that layouts can be specified for different screen orientations. The YouTube app on the GalaxyTab does this very well; in the portrait orientation, the related videos section appears at the bottom, but when switched to the landscape orientation, this section appears on the right, making maximum use of the space available.

The android documentation contains detailed information on screen support, including how to handle screens of differing pixel densities.


Listening to users and finding the problem.

Listening to users considered harmful?. A really great post with lessons from another industry, but ones that can be applied to any industry.

This doesn't mean that you don't listen to users--because the truth is embedded in what they say ... but you have to look for the deeper meaning behind what they ask for [...]

I've droned on about this topic for many years to anyone who would listen. Since "becoming" a software developer in 2004 I have been given a lot of contradicting advice on how to treat customers/users regarding internal systems, software and general support enquries.

The general consensus is the that the client is always right, they are experts in their field and we should make software that they ask for and move on.

Experience tells me otherwise. Clients may request specific features be added to a piece of software, because they are trying to solve a specific problem. This problem, however, may have many solutions with differing results. Diving deeper will help tease a better solution out.

Lee Munroe has a nice post about diving deeper into the problem by asking "why". Ask your client "why" 5 times.

[...] make sure you understand the root of the problem and explore all possible solutions before time and effort is wasted.

The customer (read: user) doesn't always know what they want and the developers first instinct should be to understand the underlying problem, rather than getting started on the "solution".

I have always found spending time with the users as they use the system can be very useful for seeing how they use a system, which can be vastly different from how they should be using the system. By learning users habits and techniques for accomplishing tasks, we can really understand how to develop simple and intuitive tools to help them solve real problems.

Always ask why. It can't hurt.


The cause of and solution to all of life's problems

The Cause

There is a theory doing the rounds about the global financial meltdown and it goes like this: the western economic model requires growth but there has been no "real" economic growth for the last ten to twenty years.

And, ten or twenty years ago, government, staring impotently at an unstoppable but gradually emerging recession, looked in desperation to the financial sector and wondered if that could help stimulate the economy. The financial sector eagerly responded and started speculating with savings in the way it used to gamble only with investments.

As "real" growth further tapered off, western governments leaned heavier upon the financial sector which in turn asked for leeway so it might devise ever more complex money-creation schemes.

Competitive deregulation resulted and soon the economic system transformed from its historic reliance on traditional "real" productivity to its new dependence on very cheap credit created by banks. This mutation is sometimes referred to as "the financialisation of capitalism".

The arcane financial instruments that were created by the banks to generate all this growth became farcical: In the US, subprime mortgage loans were split up into bits and pieces that were strewn in with fragments of better assets. The contaminated bundles were then passed off by the banks as low-risk collateral. As the poor quality components were ignored, these securities obtained greater leverage than they should have, propounding the original exposure. [1] 

And that was just the start of it: sub-prime has been estimated as a $1.5 trillion bubble.  In 2008 an organisation known as the Asymmetric Threats Contingency Alliance estimated the total size of all the credit bubble devices to be $1 quadrillion.  

Money was magicked into existence with no regard to the underlying risk. Cheap credit flooded everywhere. Attitudes were engineered: consumption of pap for debt was positively enforced by media. And over and over this went. 

In 2007, gradually at first then all at once, US subprime mortgages defaulted and their backup securitised collateral was realised as the junk it was. When the securities were called for the edifice cracked apart. As Warren Buffet might say, the tide went out to reveal Lehmans, Iceland and Ireland swimming naked.

The system never recovered. Doubtful confidence wavered then withdrew.

The same tide has ebbed out and flowed in several times but it has taken several sudden outward heaves and has generally receded, revealing in its wake a banking or sovereign debt disaster in every European nation. [5]

What looked to us like growth was actually the financial system creating debt - and lots of it. The entities that own that debt are other banks  (i.e deposit holders) and pension funds (i.e anybody) and private holders (e.g. Roman Abramovich/Apple) and other countries (e.g. Japanese NTMA-equivalents) and so on. These entities have "wealth". All the money in the world, really. And they want that money instantiated. And they, as they have "wealth", have influence.

So these organisations will be paid and if European sovereigns are subjugated in order to achieve that, then so be it.  

We are now faced with a triple crisis: First, the credit bubble has burst. The west had gotten very used to easy credit. Some people leveraged assets bought with borrowed money for more borrowed money, inflating secondary property bubbles, creating employment and government revenue all round. Now with all the credit dried up, and the bubbles popped, we are left with a huge gap between government spending and tax revenues. So a reduction of structural deficits through austerity, while probably wrongheaded, appears to be the norm.

Second, the debt created by the bubble is still owed - and policy appears to dictate that the citizens have to pay back all the money the banks lost when they securitised all that new debt on flimsy collateral and swapped it around between themselves  [2].

And third, we're about to find out what life would have been like without the fake growth.

So why did we need to turn to the banks to preserve western living standards in the first place? All those years ago?

Capitalism's innate flaw, oil prices and globalisation have all been loudly accused and they may well be guilty.  But did they act alone? There have been murmurs about another culprit, said to be the real brains behind the operation: Technology.

It is now being commonly discussed that we have eliminated millions of jobs by implementing massively centralised production systems [3], factory automation, IT systems, and billion dollar companies with relatively few employees.

This is, of course, not a new angle: in the Great Depression of the 1930s, technology was also considered a contributor (even by Keynes himself).

Financialised capitalism may well provoke a major reaction as it wrings all the value it can out of us, but if or when that reset occurs is impossible to say.  In the meantime...

The Solution

There is no stopping progress. If you can't beat it join it. To ensure Ireland doesn't face another Hungry Thirties, we must seize the opportunities presented by the current technological transition.

We should have the manoeuvrability: as John Mauldin recently wrote on his visit here, "First off, even though we think of Ireland as a country, it is in reality a nice-sized city. Ireland is a little under 4.5 million in population (with another 1.8 million in Northern Ireland)". Ireland is an "open economy", we are told.

But we have vastly inappropriate skills: from the established cadre of generalists in the Department of Finance who helped steer the country onto the rocks, to the last misdirected decade of unemployed (but talented) new architects and non-specialist (but well-educated) arts graduates.

The EU education report published on April 19 this year shows:

..that 49% of 30-34 year olds in Ireland have a third level qualification - well exceeding the 'Europe 2020' target of 40% set two years ago. However, Ireland was the worst performer for increasing numbers of maths, science and technology graduates, with a boost of only 1% between 2000 and 2008. The numbers of women science graduates actually fell in that period.

 

And according to last year's OECD report,

On reading levels among 15-year-olds, Ireland slipped from fifth place in 2000 to 17th place, while in maths Ireland fell from 16th to 26th.

 

No wonder companies like Google, Intel and Ericsson must cast their nets wide to find suitable candidates to fill Irish vacancies. Our schools don't provide the people. For the coming reality, third-level should be looked upon not as "education" in the Victorian sense but as "training". And Science, Engineering and Technology ("SET") are skills we need for the future.

The Education Minister is right in his attention to second-level maths, but he should broaden his scope to all sciences and he should bring a new IT subject into both primary and secondary curricula. The UK - our closest trading partner and greatest competitor -  has realised this and just last week the BBC announced that "Coding is the new Latin" while The Telegraph wrote "Children to be taught to create software".  

The Irish government should adopt similar policies with urgency. The Broadcasting Act should be updated to ensure that Science and Technology is considered a funding topic that falls under the public service mandate so that these subjects, through exposure, become demystified and even ingrained as part of the fibre of Irish life.  

And it is not just programming: Ireland has aimed high to become a centre of R&D in the nanotech, biotech, medical and security fields.  Biology, chemistry, physics and computer sciences are converging in incredibly interesting ways[4].

Ireland has the range, the machinery, we have the thirst. And we have the opportunity.

In the meantime, if you have kids they can get a headstart. There are several technology courses in Ireland specifically aimed at children. Here are some courses for you to check out (the first two come recommended, I don't know anyone who's been on the third):

 --

[1] And that's not to mention Credit Default Swaps, the extent of which we have yet to experience. See footnote 2

[2] Not just Ireland. By one estimate 10% to 20% of Western banks will be wiped out in the next year. 

[3]  Food production is a sector that appears to be beginning to reverse from its current state of massively-centralised production. This is another opportunity for Ireland.  For a start we should reopen that sugar factory!

[4] MIT on convergence 2011 - PDF WARNING 

[5] Details omitted. See Kevin O'Rourke's presentation which describes how badly the Euro was made.

 


I might have your password

Here's some interesting research. Mark Burnett is a security researcher who harvests passwords from the Internet using a variety of methods. He has the passwords of over 6 million users.

His analysis shows that Internet users still tend to choose their passwords from a very small list of options.

  • 14% of passwords people use come from the top 10 most common passwords.
  • 40% come from the top 100 passwords
  • 91% come from the top 1,000 passwords

This tag cloud shows the top 500 passwords, where the size represents frequency of use.

passwordscloud.png

It's amazing that people are so lax with their online security!

The most important aspect of your passwords is their length.  You can learn more here and here.

Be safe out there!


Powerscourt Estate selling vouchers online

Congratulations to PerfectCard, who are now selling gift vouchers online for Powerscourt Estate, using the bespoke system Dovetail designed and built.

 Powerscourt Estate logo.png

A handy one to know about with Christmas around the corner!


Facebook privacy

I got into conversation last night with one of the founders of the Electronic Frontier Foundation who was in Dublin after attending Kilkenomics. This chance meeting prompted me to do a little surfing about the EFF and I found a browser fingerprint profiler that they have written which told me that my browser is unique amongst all the browsers it had tested.

Browser fingerprinting is a technique that web advertising and marketing companies use to identify individual people across many sites so that they can assemble a fuller profile of an individual from their browsing habits.

This type of privacy-compromise has been in the Irish news lately: Since last week, Billy Hawkes, the Irish Data Protection Commissioner, has been investigating Facebook for potential privacy breaches. The Irish Data Protection Commissioner is tasked with this Europe-wide investigation because Facebook's European HQ is in Dublin.

One of the complaints registered against Facebook is that it is using "third-party cookies" to follow people around on the web, reporting back to Facebook exactly who has visited what site. Indeed, it has previously been found that "Like" buttons on sites were sending user information back to Facebook even when you were logged out. At the time the behaviour was reported, Facebook called it an accident. Yesterday it was discovered that this tracking cookie has been re-enabled by Facebook.

So today a couple of us had a look around to see how to disrupt these tracking cookies and we found a browser add-on called "Ghostery" which also claims to block other tracking mechanisms, such as invisible web-bugs.

It's interesting to look at who's looking at you. Here's Ghostery running on www.rte.ie:

RTE Ghostery

In RTE's case the sites that were blocked do not collect any data on you as an individual. They do collect what Ghostery calls "pseudonymous" information - i.e. your IP address, which in some circumstances may be enough to identify you specifically. But the agencies that monitor the RTE site are unlikely to try to figure out who you are from your IP address, so these tracking devices are far less disagreeable than Facebook - which knows exactly who you are.

Ghostery also blocks Facebook, so it will stop Mark Zuckerberg from spying on you (see him sweat about privacy here) as will a more lightweight plug-in called Disconnect.me.

By the way, Billy Hawkes the Data Commissioner doesn't seem to have a Facebook account :-/


Dublin city data on the web

Dublin local authorities, in collaboration with NUI Maynooth, have made public sector data available on the internet. The aim is that the public can use this data to create innovative products and services.

We encourage projects similar to this, which open up data stored previously in information silos.

For more information, see www.dublinked.ie


Some things I like this week

Here are some things I like this week. Broad category here: Designs, Art, Libraries. I know I'm just linking here, but a lot of interesting things came past my inbox/reader this week.

Cuban Council Portfolio. Found this site today. Very unique design and typography. The blog has a nice collection of photos and design related things. Their portfolio is also very impressive and presented in an unusual yet very usable fashion. They designed the Facebook logo!! Very Cool.

Dublin Contemporary 2011. I highly recommend visiting one of the exhibitions for this. It ends this weekend, so get out quick and snap up some alternative inspiration.

The Role Of Design In The Kingdom Of Content. It's true now more than ever - Content is King. This article goes a great job explaining why great content needs to be supported by great design. Let your designs support your content, rather than dilute it.

Regardless of what your content actually says, the design around it controls what the users see first and how their eyes move across the sections of the page.

Notificon. A gmail-like favicon notfication library, and all done with JavaScript too. Very Nice.

And finally, because it seems the world cannot have enough lightwieght single use JavaScript libraries: money.js

Designed to work seamlessly with data from the Open Source Exchange Rates API project - but can be set up to use any data source and base currency in just a few lines. And it works as a NodeJS/CJS and RequireJS/AMD module, too. Yay!


22,000 downloads for LUAS iPhone app

Just noticed that our iPhone app for the LUAS has been downloaded over 22,000 times!

Great to see the app being so useful to commuters - especially in this rotten weather...

 

luasiphoneapp.png


I love great customer service

I own a rather extravagant corkscrew: the Screwpull LM 400.  It's beautiful because it works so well: with my background in mechanical engineering it appeals to me as a piece of "luxury engineering".

LM 400 corkscrew

Due to a recent mishap I needed a replacement screw for it.  I went to the Le Creuset website to find there were none in stock, but if I gave my email address I would be notified when they were available.  

When I tried to do so I found a bug on the site and it wouldn't accept my email address, so I emailed support to say what I was doing and what the error was.

Within hours, Catherince from Le Creuset phoned me.  She thanked me for my bug report, then told me that she had an emergency supply of spare screws and was sending one to me immediately, free of charge, to apologise for the inconvenience.

This is an example of one way great brands set themselves apart: by how they handle problems.  We relate to this in Dovetail, and aim to give customers the same warm feeling Le Creuset just gave me!


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.


Trevor wins IIA Web Developer of the Year 2011

We are delighted to announce that Trevor Jobling won the IIA Web Developer of the Year 2011.  He's pictured here gushing with his award.

Trevor Jobling with Cian Blackwell (Grant Thornton) & Maeve Kneafsey (IIA)
Trevor Jobling with Cian Blackwell (Grant Thornton) & Maeve Kneafsey (IIA)

Many thanks to our customers, everyone who voted, and all the team at Dovetail (especially Mossy for his help celebrating).


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 redux

Following on from Mossy's discussion of protocol relative URIs to automatically determine the correct schema for accessing external resources, here's a handy tool that will tell you what elements of your page have been loaded insecurely:

http://www.whynopadlock.com/


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

Trevor Jobling shortlisted for IIA Award

We're proud to announce that Trevor has been shortlisted for the Irish Internet Association's Net Visionary Awards 2011, in the Best Web Developer category.

IIA Awards

We'd all really appreciate your vote here:

http://www.iia.ie/net-visionary/vote/37

Thanks very much!

 


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.


Basic usability fail

I was in my local dry cleaners this morning.  I took a little professional interest in the software system they use to run the place.  It's a Windows desktop system, running Winforms.

The screen for receiving a new item of clothing has a section where the user selects the colour of the item by clicking a button.  It looked just like this:

Dry Cleaning Screen Bw

 

Who on earth designed that?  How did they not think it would be a nice idea to use a little colour?

Dry Cleaning Screen Color


Icarus v2 released

Icarus Logo

We are proud to announce that today we released version 2 of Icarus, our client management solution for service providers in the Drug Treatment and rehabilitation sector.

Icarus is currently used by three community drugs teams in Dublin, and we look forward to rolling it out to more in the future.


We join Dublin's Lunchtime BikeRide

Today we took time out to join the Dublin City Lunchtime Bike Ride, very well organised by our friends in Limelight Communications.  Despite the rain it was great fun, and was very well attended.

bikeride1.JPG bikeride2.JPG bikeride3.JPG Dovetail Bicycle Collection

Thanks to Mossy for literally carrying the flag.


HRH captured by Mossy Breen

Congratulations to Dovetailer Mossy Breen who captured a fantastic picture of Queen Elizabeth as she surveyed the Guinness Enterprise Centre.  Well done Mossy!

QueenGravityBar


Dovetail LUAS app number one in the AppStore

This month Dovetail released the official LUAS app for iPhone and iPad. The app has quickly risen to be the number one free App in Ireland, and the number 24 paid app. You can download the app here. We are currently developing an Android version which will be released during the Summer.

Luas Iphone App Store


SharePoint Europe conference site launched

We are proud to announce the launch of SharePoint Europe's conference site. This website and conference management tool was inspired by our success building a similar website and system for EuroSTAR Conferences

Sharepoint Europe Site


Dovetail's 2009 mobile project to feature in WIMA 2011

"The Resistance Tour" - the cross-platform Europe-wide mobile project for which Dovetail provided technical expertise - is to feature in this year's NFC WIMA conference in Monaco. Professor Clancy of the Research Institute for a Tobacco Free Society will discuss this project and his findings. See you there!


Triton Showers get new stock control system

Triton Showers Ireland has taken delivery of a Dovetail-built application for tracking their stock. This system is accessed by their engineers and provides Triton with realtime control of stock-levels. This system integrates with the managed service calls application which Dovetail previously supplied to Triton.