The Dovetail Blog

Posts tagged with Tech

Teamwork.com launch party

Last night myself, Martin, Garrett and some friends from the Dublin software development scene had the privilege of witnessing the launch of Teamwork PMs latest iteration - the birth of Teamwork.com.

A little Googling will tell you just how much they spent on that domain name, and there is discussion about how crazy it seems. But I think the important message which can be taken away from this is that the guys have huge pride and confidence in what they are doing. They are here for the long haul and to continue to solve real problems, really well. The polish of the new product and the quality of their marketing website certainly backs up that message.

Teamwork.com Launch - Peter McCanney and Martin WallaceHaving fun with the height difference between Martin and Peter McCanney. Photo taken from Mossy's eye level.

Garrett Heaver and Martin Wallace
Left: Garrett Heaver and Martin Wallace at the Teamwork.com launch in the gravity bar. Right: The gravity bar as seen from the Guinness Enterprise Centre, Dublin 8.


Umbraco 7 is coming

In fact it's here, in RC mode. We haven't installed it yet, but we are very excited about some of the upgrades that come with newest version of Umbraco. Umbraco is our go to Content Management System and allows us to integrate with our custom software seamlessly for our clients.

Umbraco 7

We love umbraco. We've used it as our CMS since version 3. In fact, one of our clients still uses version 3 and it's still working perfectly for their needs. But over the years, the backend management site has become quite cumbersome and was definitely in need of an overhaul. The workflow for the backend starts to creak when a site/blog starts growing in size. The new version promises to solve a lot of those problems by using more of a wordpress style for handling large news archives or blogs.

Management of media and images is also drastically improved and we know that these features will be welcomed by a lot of our clients.

Our own marketing website (this one, the one you're reading right now) will likely be our testing ground to get used to the new UI and features of Umbraco 7. Once we're happy we can deliver it as part of great software solutions to our clients with it we will begin the rollout/upgrade.


The Marvellous Muenchian Method

Recently I've been doing some software consultancy work on a payments system, to do with SEPA integration, and ISO 20022.

As part of that I've come across Steve Muench's Muenchian Method of Grouping in XSLT. It's been around for 13 years, but this is the first time I've needed it. I won't describe it here - I couldn't improve on Jenni Tennison's description here - I just want to state well done Steve. Given the constraints of XSLT 1.0 it is a very neat, elegant and efficient way to solve that particular issue.

Thanks very much Steve!


The Bird's Eye View: Issue #18

We have a new addition to the team this week. John Ludgate has joined us. With almost a decade of software development experience, John will be a very welcome addition to the team. We are extremely busy at the moment, so another developer will help us continue to deliver great solutions to new and existing clients. Welcome John! He’s just finished his first office beer so I can assume he’s enjoyed his first week.

Mailgun logo

We’ve started using Mailgun. Over the past few years, mail providers like Hotmail, Outlook and Gmail have become much more strict, when receiving mails, in an effort to combat spam. Traditionally we use our own SMTP server, but we have found that some mails to some providers are not getting through. Mailgun is a SAAS product that takes care of email for developers. As simple as email is, it is a tricky to get right when sending to lots of providers from lots of bespoke applications. We have now decided to utilise Mailgun for all future projects and updates to existing applications reducing the need for any extra software development time from the team.

Movember update Mossy Breen

It is now 2 weeks into Movember, and as promised here is a photo of my “progress”. I’m pretty happy with my new moustache, although I miss my beard, and cycling to work in the morning leaves my face pretty cold. If you can spare a few euro, please donate to raise awareness for men's health, and make my ridiculous face worthwhile.

(Edit: Photo reminds me of this -- Martin)

Milton from Office Space



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