The Dovetail Blog

Dovetail Award Winning Software Services

Posts tagged with Tech

An anxious moment for NASA

I love this story about the Mars Science Laboratory.

NASA found a problem with the onboard computers and had to reprogram them.  It sounds like they had to update the firmware.  

I get a little nervous updating the firmware on my phone because I don't really trust it.  It makes me wonder how the NASA engineers felt as they uploading their patch to a once-off 2.5 billion dollar experiment hurtling through space!

Mars Science Laboratory

iPad auto-rotating some images

We recently came across an issue on a customer website where a photo appeared correctly on most browsers, but was rotated ninety degrees when viewed on the iPad. The photo even showed up correctly on the Windows version of Safari.

This was puzzling us; why would one browser decide to rotate a photo when all others displayed the same photo correctly?

On further investigation, we discovered that this was because of the EXIF metadata stored in the photo. The camera, when taking the photo, saved its rotate setting for the photo in the EXIF metadata, and the iPad browser was just applying this rotate.

So the simple solution is to remove the EXIF metadata from the photo. This can be done using an application such as IfranView, or an image compression website such as PunyPNG. We used PunyPNG, and the reduced image now displays perfectly on the iPad.

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.

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!

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!

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

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/

Blog categories:

The Dovetail team came to see us and very quickly established what we wanted and then to all intent and purpose steered us through the process. What we ultimately ended up with was beyond our initial expectation. Our product is live and within budget. Our product has the “wow factor” we wanted. We have future projects rolling out and Dovetail will be part of these processes from the outset. 

- Rennicks Signs

Consultancy

You can benefit from our 9 years of experience designing and delivering mission-critical systems on-time.

Custom Software Development

Automation and integration, on web, desktop or server: we build custom systems that make your business more efficient.

Mobile & Tablet Systems

iPhone, iPad, Android, Windows Mobile, Blackberry, Symbian... we can keep you at the front of the mobile revolution.

Cloud Computing

Cloud computing is ubiquitous as running water and electricity. You can take advantage of the new wave.