Archive for the ‘Software Engineering’ Category

Paper Prototypes Have Gone Digital

Paper Protptyping has gone Digital

Wireframes and Prototypes

The best practice for dealing with a fresh web app project is to meet with the client, map their business processes and then wireframe the solution. Often this involves an intense conversation discussing all aspects of their business, followed by shadowing their workforce or interviewing the intended users to learn exactly what they need.

After I know what the client needs, I usually start building the UI first. It’s a top down approach that focuses on the end result first rather then worrying about the internals of a project.

The Paper Prototype… On Paper

To do this I create what’s called ‘paper prototypes‘. These are mocked up screenshots of the final application as the user will see it. Up until yesterday I did this the old fashioned way with pen and paper. It was a slow process but incredibly valuable to both me the developer and the client. It set in stone the agreed features and acted as a template for building the real thing.

Traditional Pen and Paper Mockup. Hand Drawn.

Now though, I’ve got something far more powerful. There’s a new software product just launched called Mockups and it’s made by the talented guys at Balsamiq. Using their new kit, paper prototypes have gone digital.

Enter Mockups: The Rapid Prototyping Tool

Mockups is a rapid prototyping application that lets you build UI screens in just a few minutes. The software lets you drag and drop all the typical objects used in modern web applications onto your design. There’s over 60 in the default set. This includes everything from scroll bars and menus to more advanced objects like tag clouds and even Apple’s cover flow.

The best thing about these mockups is that they still look hand drawn, so there’s no risk that your client will mistake it for the finished product. Often, I’ve done up prototypes in Photoshop and when I show them to the client, they get confused when I tell them it’s just a mockup, they actually thought it was real! Mockups prevents this from happening by using slightly squiggly lines. It makes for a more ‘hand drawn’ effect. Here’s an example of what’s possible:

See What\'s Possible with Mockups.

Also, this demo should give you an idea of how important this new tool is going to be for developers. A mockup of iTunes is put together in less then three minutes:

The Mockups software is built on the Adobe AIR platform which makes it natively cross platform. So it’ll work on Windows, Macs and Linux boxes.

How Much Does It Cost?

Another great aspect of the software is its price. Balsamiq have said that they’ll give it away free to developers of open source projects. They’ve also said that if you talk about them at an event, they’ll give you two copies for free, one for you and another to give away at the event. And finally, they’ve said that if you write a convincing blog post about them, they’ll also give you a copy for free! To everyone else it costs just $79.

This software has been coming a long time, and I’m delighted I stumbled onto it. It’ll greatly speed up the prototyping phase of my web app development cycle and allow me to be more creative too.

UPDATE – As a result of writing this post I received a free license for the product. I had a suspicion I might get one, but honestly, I would have written it anyway.

URL Shortening Service – Short.ie

Short URLs, Fully Tracked.

Okay, so a few months ago I wrote a post about how URL shortening services could be improved. I suggested adding new features like click tracking and semantic links.

Soon afterwards Dave and Gordon got in touch with me and said they were interested in helping out. They added to the idea and suggested integrating it with Firefox and running some content analysis on the different sites people were linking to so we could recommend new content they might like. And so with these new ideas, the project began.

Short.ie went live soon afterwards, and since then we’ve been adding new services to it, building out on the original idea. Since adding the custom URL feature (two weeks ago) we’ve seen over 500 URLs shortened through the service and over 2,500 clicks. So far, here’s what we’ve got:

  • Regular URL Shortening
  • Custom URL Shortening
  • Click Tracking
  • View All Shortened Links (per user)
  • Content Recommendations
  • An API
  • A Firefox Plugin

We’re also working on:

  • Connecting people who link to the same things
  • RSS feeds per registered user
  • Displaying popular links on the homepage
  • Displaying most influential users on the homepage (once we get avatars setup)
  • Improving the content recommendation engine

This is a project we’re working on in our spare time and to be honest we’ve got absolutely no business model for it. The truth is, it’s fun to work on and it’s something we believe in. There’s no advertising on the site and we cover the costs to host it ourselves. If you feel like helping out, we’d love it if you could help spread the word. We’ve got a lot of plans for Short.ie in the future, so if you haven’t already seen it. Go take a look.

The Simple Software Cycle

Software Cycle

I’ve always wanted to write a post about the similarities between writing software and riding a bike. Not because I think they’re particularly interlinked or I feel they have a lot in common but because they’re two things in my life that I have a passion for.

Since moving house last month I’ve been cycling into work most of the time. It’s a five mile cycle which takes about 20 minutes. I skip past the cars in the traffic jams, whizz down the canal, take a quick short cut through Ringsend and cross over the Liffey at the East Link bridge. It’s great exercise and I’m saving about €30 on petrol a week in the process. But the good news doesn’t stop there, the ride is pretty therapeutic too, it helps me de-stress, relax and takes my mind off all my worries. In short, it gives me time to think.

Whilst whizzing in and out of work I’ve noticed a similarity between the design of a bicycle and the design of desktop software. It might sound like a bit of a stretch, but honestly it’s not. They have both become a victim of the age old product lifecycle. With each new iteration comes a new set of enhanced features and upgraded technologies. Many of which aren’t really necessary.

Feature Creep to Beat the Competition

My racer has 14 gears, yet I can’t remember the last time I actually used them all on one ride. In fact, for my spin into work I don’t even change gear once! This got me thinking about how necessary gears are for a bike that’s used simply to bring me in and out of work.

In this sort of scenario the gears could easily be seen as an unnecessary extra, and as one of the most complicated parts on any bike, they can be fairly problematic and also increase the price of the bicycle.

Similarly, desktop software and its many features have fallen into the same trap. Each new version includes new extra features that for the most part are unwanted and unnecessary yet form the basis for aggressive marketing campaigns encouraging consumers to purchase new editions with all the fluffy features we don’t need. The additional features are also prone to bugs.

For example, about 80% of Microsoft Office customers use only 20% of the supplied features. This is exactly what I’m talking about. I bet most of those features weren’t added because users needed them, they were added because the marketers needed something to promote in the next release.

I suspect that the ever increasing number of bicycle gears and their increasingly sophisticated designs have originated from the same motivation, to have a new product slightly better then the previous one.

The SaaS Bicycle

Maybe the cycling industry and others like it would benefit by taking a leaf out of the software as a service industry and focus on generating recurring revenue and developing a great product with features that people really need instead of relying on the next ‘bells and whistles’ release to boost revenues.

There will always be a proportion of customers that will push the limits of whatever it is you’re selling, but for the majority, they’ll mostly use its core function. Whether that’s cycling, driving, making music or saving lives, never loose sight of the core purpose of your product. Everything else is just hot air.

The Real Cost of SaaS

Software as a Service

SaaS, or Software as a Service is being hailed as the greatest thing since slice bread. It’s got loads of advantages over it’s traditional desktop equivalents. For developers and entrepreneurs it’s a dream business model, but for consumers it can actually end up burning quite a large hole in their pocket, especially if they need to use more then a few services at once.

To highlight this I’ve done a little test to see much it costs to run all my favourite SaaS services with an average paid account.

Right now, I use 10 online services that I either pay for or expect to pay for at some point in the future. These are:

Not all of these pricings are based on a yearly or monthly charge, so lets make some assumptions:

  1. That on Campaign Monitor I’ll send 12 newsletters a year to 200 people ($5x12x$2.00=$120)
  2. That I need 3 Google App accounts ($50×3=$150)
  3. That I need to remotely manage 4 servers on LogMeIn ($69×4=$276)

Now lets add it all up.

Service

Monthly Cost

Annual Cost

Freshbooks $24 $288
Campaign Monitor $10 $120
Google Apps $12.50 $150
Lighthouse $24 $288
LogMeIn $23 $276
Remember the Milk $2.08 $25
Springloops $32 $384
Basecamp $49 $588
GRAND TOTAL $176.58 $2,119

So that’s $2,119 per year for all the online software I need to run my personal life and my small business. Is this an acceptable cost? Probably. But the few dollars a month really add up once you start to use more then a couple of services.

Compared to the licensing costs of Windows XP and Microsoft Office (which are one off’s) these costs are seriously high, so although SaaS provides new and exciting opportunities it can also be expensive compared to traditional software solutions.

So the lesson here has to be that before deciding to pay for a subscription based SaaS service, make sure you’re 100% confident you need it for your business. Otherwise it could end up costing you more then you expected.

New Ideas to Improve URL Shortening

Ideas to Improve URL Shortening Services

The use of URL shortening services has exploded since the introduction of micro-blogging sites like Twitter and Jaiku. The most popular ones include url.ie, is.gd and tinyurl.com. The tight restrictions on the maximum length of a Twitter post has created a surge in demand for these simple services.

The only problem is, they’re nowhere near to reaching their potential.

These services could be so much more useful and interesting. And there are loads of simple ways to improve them. They should be leveraging the unique data they receive and help make the service more interesting to everyone. Additionally, as Aidan Finn rightly points out, they’re not always appropriate either as they remove contextual meaning from the text used in the link. This text is a key navigational tool often used by readers to help them decide if something is worth visiting.

This got me thinking about ways to improve this relatively simple service, so I’ve come up with four straight forward ideas to help add value and make them more useful.

1. Add Statistics

Neither Twitter or Jaiku or any other micro-blogging tool provides any form of analytical statistics for their users. Other than our list of followers, we have no way to see who’s viewing (or cyber stalking) our profiles. By adding simple statistics to one of the popular URL shortening services we could see a) who clicked them, b) how often, c) and from where.

The statistics of the URL’s activity could be made public, or alternatively, simple user accounts could be added to the system to allow users to see and manage all their URL links created from within the service over time.

2. Allow Custom Links

Links generated by the current URL shortening services don’t give any context. The text used in the links give no hint as to the content of the source of the link. It would be nice to have an option to choose the text used in the shortened link rather than have the system generate one for you. Obviously the number of available and meaningful URL’s is limited, but it doesn’t necessarily have to be three characters in length (such as http://url.ie/g00). I’d be quote happy with an eight or nine character URL if it gave me some idea about it’s content.

For example, the shortened URL for this post could be http://url.ie/urlPost rather then the context free http://url.ie/g00.

It’s a small improvement, but something that would make these services a lot more useful.

3. Secure RSS Notifications

Simple statistics could be provided via RSS to centralise and aggregate the activity on the URL. It would be a great way to deliver analytical data. Each URL could have it’s own feed (example: http://url.ie/short/rss) or user’s could have an aggregated feed of all their URL’s (example: http://url.ie/iarfhlaith/rss). These could be rendered private or public, allowing the owner to control who has access to view it’s popularity.

4. Go Social

Perhaps there’s also a social networking angle to this. These URL services could build communities around the people who link to the same resources. It would be a great way to connect readers with similar interests, who otherwise may never find out about each other.

It would also be another way to add authority to links into blogs and other news content, albeit just a small portion of the actual number of links likely to be linking to a particular resource. Normally, authority in blog search engines like Technorati and the new Twingly service rely on pinging services to gather data on the number of links back to a resource, but these only work for blogs and news sites. Whereas the URL shortening services, by their very nature, knows who’s linking to what without the need for complex systems.

Tell Me What You Think

I think these are all simple, interesting concepts that would improve the current URL shortening services, and I’d be keen to hear what anyone else thinks of them. Maybe these are totally useless ideas, but I thought I’d throw them out there. If any of the URL shortening services want to adopt any of these ideas, I’d be delighted if they did. It would make them far more useful, and leverage the data that’s passed through them. If not, I’d be tempted to put together something myself. Shout if you want it.