Content Distribution Using Amazon S3

Amazon, long known for their amazing on-line book store, had in the process of setting up the companies backed infrastructure, ended up with some amazing services, that they decided to release upon the general public in January of 2006. Suddenly Software as a Service (SAAS), was a reality for the masses, available to anyone who wanted to piggy back on the services Amazon released. Probably the service that caused the biggest buzz was Simple Storage Service (S3). For all intents and purposes this is a glorified file system, with some interesting bells and whistles. However the biggest benefit to most, is probably going to be the speed of delivery and also the reliability, that the might of Amazon can provide. That being said, this is in no way a perfect service. Most hosting services, usually boast an uptime of 99.9%. I’m not sure on S3’s uptime, but I’m pretty sure it’s in the high 90’s, but they are not without their share of issues. A couple of times in the last year, they have had fairly large outages, in excess of half a day, but of late, things have been calm and reliable. They do provide account credit should their level of service drop below certain levels, which you can read about in their Service Level Agreement (SLA).

While S3 is truly an amazing service, it’s not right for everyone. While their basic charge of 15 cents per gigabyte seems fairly cheap, I looked at using for my off-site backups and it wasn’t until I did the calculations on the Amazon S3 Calculator page.

I have about 200 gigabytes of data that I need to backup off-site, and when I plugged in the numbers into the S3 calculator, it came back with a figure in excess of $30 per month and that didn’t include all the video stuff I have. If you are using S3 in conjunction with a business idea, this will probably not be an issue. Indeed there are manyh companies that publicly state they use S3 as the backend to service their files. Two of the popular ones that come to mind are Smug Mug and Animoto, who use S3 to server photos and videos. When you consider the sheer weight of traffic served, they are finding S3 a very cost effective solution.

So where do we start?

1. Setting up an Amazon S3 account
Setting up an Amazon S3 account is a bit of a slog, but for anyone who already has an Amazon account, it’s at least slightly easier. First things first, you’ll need to go to the Amazon Web Services web page, http://aws.amazon.com/. Once the page has loaded, click on the [Sign Up Now] button:

If you already have an Amazon account, this would be the account through which you order books, you can log on, otherwise you’ll need to follow the steps, starting with the following screen:

If you have an account, login using your email and password, otherwise, enter you email address and then ensure “I am a new user” us selected, then click on the [Sign in using our secure server] button. You will now be presented with the following screen:

Complete this with your details and then click on the [Continue] button. Sign up is nearly complete, for the main Amazon part anyway. The following screen also needs to be completed with your personal details, address, etc. You will need to agree to the Amazon Web Sevices Customer Agreement, to continue:

Now those details are filled in correctly, click on the [Continue] button. An email will now have been sent to the email address you specified. One you have received the confirmation email, your Amazon account is set up. You now need to set up Access Key, to be used in the Simple Storage Service (S3) service. In the confirmation email, click on the link, relating to Setting Up an Access Id. On the page that is displayed, are two key pieces of information you will need for a variety of services and software you will use. Keep a note of them here for safe keeping. You will also probably want to keep an electronic copy, as it is much easier and less error prone, to copy and paste these keys, rather than typing them out. Please store them securely. The key screen will look something like this:

Your Access Key ID, will obviously not be obscured, but you will need to click on the [+ Show] to see your Secret Access Key.

Your Access Key Id : _______________________________________________________________

Your Secret Access Key : ____________________________________________________________

Now click on “Products” at the top of the screen and then click on the Amazon Simple Storage Service (Amazon S3) link. You will probably want to explore a few of the links on this page. When you are ready, click on the [Sign Up for Amazon S3] button. You are now ready to link your credit card to your Amazon account. This is the credit card to which the monthly charges will be charged. Once you have verified your credit card details are correct, click on the [Continue] button.

Click on the [Use this address] button if the billing address is the same as the address you entered earlier, otherwise enter a new billing address and then click on the [Continue] button.

You know have the opportunity to verify that everything you entered is correct. Once you are satisfied, click on the [Complete Sign Up] button. You will now receive a confirmation email. Sign up is now complete.

2. Uploading files
Although Amazon do not provide any means to manage the files on your S3 account, there are numerous applications and websites that fill in this vital missing link. One of the most popular is the S3Fox add-on for Mozilla’s firefox browser. If you have not used Firefox before, it is an excellent, extensible browser, with many neat add-ons. It is also considered one of the safest browsers, with many built in protections against pop-up and phishing schemes.

If you haven’t already installed Firefox, you can get it from the following webpage:
http://www.mozilla.com

Once you have installed Firefox, you need to install the S3Fox add-on. go to the following web page:
http://www.rjonna.com/ext/s3fox.php

Now click on the “download it here” link, which you can see here:

As part of Firefox’s security, it will not allow you to install this by default. You will see the following appear at the top of the browser window.

Click on the [Allow] button to begin the install of S3Fox. You will now see the following screen.

The [Install Now] button will be active after 3-5 seconds. Click on [Install Now] when it is ready. When the installation is complete, you will be prompted to restart Firefox. To do this, click on the [Restart Firefox] button.

Now that S3Fox is now installed, you will find the S3Fox icon at the bottom right of the status bar:

You can start S3Fox by clicking on this logo. The first time you start S3Fox, you will get the following message:

This is basically informing you that S3Fox needs some key information before you can proceed. Once you click the [OK] button, you will see the main screen, which looks like this:

To set up your account, click on the [Manage Accounts] button and the following screen will appear:

Enter anything you want to describe your account. Then copy and paste your Access Key and Secret Key into the text boxes. Please ensure that no extra spaces are added to the end of your keys when you paste. When you are satisfied that you have entered everything correctly, click on the [Close Button]. Then click on the minimise button next to the [Manage Accounts] button. S3Fox is now set up. This screen can be used for data transfers, by dragging files to the remote view, however a more conventional screen is also available. Click on the “Tools” menu item in the main Firefox menu, and then click on the “S3 Organizer” menu item:

A two pane view is now displayed, showing your local hard disk and your S3 space. You can create buckets (directories), and copy files two and from both views.

3. Making files available to the public
By default all files and directories created, are only visible to you. Even if you know the URL to get to the file, you will only get a pretty terse XML file :

This means that you can store file securely, and at the same time have a folder that has files available to the public. It’s even quite feasible to have both public and private files available in the same folder, but this could potentially get quite confusing. It make be a good idea to create both a public and private folder (bucket). Remember to bare in mind that all folder names have to be unique across the whole of the Amazon S3 service, so you may want to having a naming convention, something like name-video-public and name-video-private.

After you have uploaded a file to one of your folders, that you wish to be made available to the public, the next step is to change the files rights, using Amazons Access Control List (ACL). This is similar to changing a files rights within Windows, Linux and a whole host of other operating systems. You’re basically telling the Amazon S3 service, who can do what with the files you upload.

With the S3Fox Organizer open, ensure you have created at least one folder (bucket) and then upload a file to it. When the upload has completed, open the folder by double clicking on it, if you haven’t already and you will see the file you just uploaded. Now right click on the file and select “Edit ACL” from the menu that appears. You will now see the following screen:

To now make this file publically available, click on the red “X” next to Everyone and the click on the [Save] button. This file is now available for anyone to download, that is once they know the URL. You can easily get the files URL, by again right clicking on the file and selecting “Copy URL to Clipboard”. If you now go into your browser and in the address bar, paste the URL you have on the clipboard, when you press enter, you should now see the file you uploaded, if it is an image, or see the usual download dialog.

As I mentioned before if you want to make all files in a specific folder, public, you can right click on the folder name, and again select “Edit ACL” and repeat the process we did for a file. Now when all files are uploaded to this folder, they will be publically available.

4. Hosting a Complete Site on Amazon S3
While it is quite possible to host your website on Amazon S3, this is only feasible if you site consists of static pages, i.e. pages that are not dependent on some kind of backed programming language, like PHP, Ruby, Python, ASP.NET and Coldfusion, to name some of the most popular. This is because the scripting language your site is dependent will not be available on Amazon S3. That’s not to say you cannot host interactive sites, just that your choice of languages will need to be client based, i.e. Javascript and Flash (although even then some Flash options will not be available). Remember S3 is geared primarily at providing a means of serving up large files, quickly and realiably.

5. Making Content Look Like it is Being Served from your Website
As you will have found out, the URL’s S3 generates for your files is pretty long, take this one for example:

http://colboys-videos.s3.amazonaws.com/cdm.jpg

A much more attractive alternative would be:

http://videos.colinmeeks.com/cdm.jpg

This makes it look like the file is coming directly from your website, but more importantly, it means should you decide to cease to host your files with Amazon, you just need to create a sub domain that replicates the one you create for S3 and there will be no disruption in the files you are serving, which is very important should you care about links being picked up by search engines remaining valid. If you decide to go down this route, you’ll probably want to keep a duplicate of the content you upload to S3 on your own website.

To set this up is relatively straightforward, but is not covered in this document.

6. Final Thoughts
S3Fox is just one of a many of programs that helps with managing your S3 account. It’s also free, but not only that, it’s very well written. However should you prefer to have something that doesn’t run in a browser, there are a few programs available. One of the most popular is JungleDisk, this is an excellent program that has a myriad of features, the most important one, for me anyway, is the ability to map a folder to a drive. That is, I can have my folder “Backup” mapped to the logical X: drive on my computer, and copy files to and from the X: drive. This is very convenient, but really comes into it’s own when you have JungleDisk installed on multiple computers, meaning the X: drive is common to all drives. I use this a lot for backups, but also as a central place to hold written works in progress, meaning I can work on documents on which ever computer, without needing to email it myself or carry it around on a flash disk drive. The only downside to JungleDisk, is that it uses it’s own method to store the files, so it is not able to use this to make content publically available. JungleDisk costs $20, and you are allowed to install on as many machines you want that share the same S3 account.

The second program is called BucketExplorer. This is the only client I’ve find that allows you to set up the more extensive permissions on files, including time limited URL’s. I haven’t yet used this personally, but it looks to be pretty good value at $49.95.

Amazon is never one to rest on it’s laurels and there are a host of other features sure to be coming down the pipes. Suffice to say, S3 has landed with a a sizable thump, providing an excellent service with Amazon’s weight behind it.

convert this post to pdf.

Randy Pausch - A Fond Farewell

Life is incredibly short. It is also even shorter when the finite span, has an almost definite end. So what do you do, when you have but a few months to live. I don’t know about you, but probably the last thing on my mind, would be undertaking a lecture. This however is exactly what Randy Pausch did, admittedly though, the lecture in question was a pretty special one, “Really Achieving Your Childhood Dreams”. What was an excellent lecture, really turned out to be a kind of farewell message from a Father and Husband to the ones he’d soon be leaving behind. More than that though, it has had a profound affect on me and I’m sure many other people.

Not wishing to state the obvious, but being diagnosed with a terminal illness can’t be easy, but at least it does allow you to get your affairs in order, as well as tell those around you how much they mean to you. The more I think about Randy Pausch, the more I can’t help but think how hard it must be for families, where they lose a loved one suddenly, that person never getting the opportunity to say all the things on their mind, nor being able to get their affairs in order.

Like many, I first came upon the name Randy Pausch watching the Oprah Winfrey show. Actually in my case it was stumbling upon a YouTube clip from the show. Here was a guy dealing with a terminal disease, in his case pancreatic cancer, in front of the world. His appearance on Oprah, was as a result of what has become a bit of a phenomenon, often referred to as “The Last Lecture”. I tracked down the full lecture, given at Carnegie Mellon University and watched it in full on YouTube, to say I was blow away, is pretty much an understatement. Here was a guy who probably looked fitter than me, doing press ups, with but a few months left.

After watching the video in bursts, I did a bit of Googling and found that the video could be purchased from Carnegie Mellon for the princely sum of $7.00 which covers the production and handling costs. I picked up a copy, a) because I wanted to watch the video in something better than YouTube quality and b) I knew that this was a video that I wanted others, especially my older children to see.

A few months after watching the video, I noticed that a book was also available. I added this to my Amazon wishlist, because Christmas was approaching and sure enough it was under the tree waiting for me to unwrap it. It wasn’t until the frantic holidays was over, that I got to sit down and read the book. At 224 pages, it’s not a weighty tome in substance, but is in content. A few times, I found myself reading with a tear in my eye. Much of this is when Randy speaks of his children. Being a father myself, this kind of thing really strikes home and I couldn’t resist look in on my sleeping children and realising what a luck man I am.

So what’s the point of this blog entry you might ask? Certainly I think you should watch the video and maybe purchase the book, but more than that, this is about counting your blessings and realising life is so much more than the material things. With the world in economic ruin, it’s easy to wallow in the doom and gloom being fed to us in the daily media, but we are still part of this amazing thing called life. I never knew Randy, never met him, never got to skim more than the surface of his every day persona, but I’ve seen a side of him, that gives me something to aspire to. Be the best person you can be for yourself, bur most of all be the best person for the other people in your life.

convert this post to pdf.

Software that Jumps the Shark

Was just reading my Twitter and saw someone complaining about Nero and this got me thinking about software, specifically software that packs in things you don’t really need, for the sake of getting you to purchase an upgrade. Admittedly there is the occasional feature that may be of interest, but on the whole it’s either fluff, or stuff I have no interest in.

Nero is a good case in point. I’ve been on the upgrade path for this, since version 4 or 5, however I’m quite content with version 7 and don’t see myself upgrading anytime soon, even though Nero is now at version 9. I’ve just taken a look at the Nero site and the download for the trial version is over 300 megabytes. I love Nero, but all I used it for is creating CD’s and DVD’s. Why force me to pay over and over again for stuff I don’t want or need.

So with this thought in mind, I tried to thing of other software that’s jumped this over functional shark and I’m not just talking about commercial software, some free applications also have a lot to answer for. Here’s what I came up with:

  1. Paint Shop Pro
    Version 7 was the lean mean graphics machine. Version 8 prior to the Corel sell off, starting heading north and all the versions that Corel have produces have been total over kill
  2. Adobe Reader
    I want to view PDF documents. I don’t want an update every week or so. Also the basic download is now 41 megabytes, which is crazy. Foxit Software’s reader a sylph like 3 megabytes.
  3. iTunes
    As much as I like the way iTunes catalogues my music collection, there’s no denying it’s a unwieldy beast. A 70 megabyte download is just crazy, not to mention sucking my machines resources like an overenthusiastic hooker
  4. InstallShield
    Yes I realise that this has all the functions a software developer might want for installing their software, but at a little shy of $1,000 for the basic version, I think I’ll be sticking to InnoSetup for the foreseeable future… and did I mention it’s free.

These are the ones that come to mind now and there’s been a whole ton more, but it’s always the way that you can’t think of them when you want to, but I think you get the general idea.I’d be interested to hear what software you think has jumped the shark.

Before I go, I realise that software companies have a living to make, I’m a programmer myself, but it seems that software is getting more and more bloated, without actually becoming more usable, in fact, many of the latest software packages, require fairly hefty machines. You should not need a dual core Pentium machine with 2 gigs of memory to do basic word processing. I think there is a great opportunity for software companies to rethink their software and strip software back to it’s essence, at least to allow the process to continue, but from a much more tightly programmed core.

convert this post to pdf.

Free Book

Nothing starts the day off better than a freebie. Reading my usual blogs this morning, I stumbled upon a post from Bob over at FlakLife. Mmm, so as well as giving Bob a bit of linking love, you can get a copy of the Book, “Pow! Right Between the Eyes - Profiting from the Power of Surprise” over at Andy Nulman’s website. Only the first 200 get a copy, so be quick. A great marketing move.

As per Andy’s request, yes I’d love a copy and my address is :

Colin Meeks
30 Dylan Way
Ottawa, ON
K2G 6K6
CANADA

I look forward to an interesting read.

Colin

convert this post to pdf.

Automobile Bailout - An Excuse to Move Forward?

As the big three North American automobile companies, Chevrolet, Ford and GM, with caps in hand, look to be given a much needed injection of cash, are we not ignoring a possible enormous way forward. I’m in no way a financial expert, but even I know that letting these big three companies collapse, would have a profound effect on North America, of not the world. Many people say, that we should let them flounder, after all “Why pump money into a financial black hole”, they say. That may or may not be the case. There’s no real way of knowing if this cash injection will give the companies enough of a breather, to allow themselves time to turn their companies around.

With the global markets suffering similar bad times, there has been a welcome side effect and that’s the plummeting price of oil, which has seen petrol prices here in Canada, fall from about $1.30 a litre to around 70cents. This lull in the price of petrol, and the auto companies desperate need for tax payers money, isn’t this the perfect time, to force the automobile manufacturers to make some serious inroads into making cars that are not reliant on petrol. Think of what one of the big three manufacturers could do if they took something like a Tesla and turned it into a full production car. Yes I know the Tesla is a $200,000 piece of car, but that’s because it has a relatively small production run, but at least Tesla seem to be solving some of the real issues with making an electric car. They claim the Tesla can do a 200 mile round trip on a single car, and it’s no secret Jeremy finds them amazingly fast, albeit an apparent couple of shortcomings, but Tesla isn’t on trial here. They have an amazing car, with some rough edges that need smoothing, but it’s far an away the most exciting electric car so far.

What if…. as part of the big bail out, Tesla were also to get a cash injection, in return for any patents/trade secrets they have for their electric marvel. The big three then get their cash infusion and the patents/trade secrets are then licenced to the big Three, in return for a royalty on each car sold using the licensed technologies. Tesla gets the money they need to build the cars many people have put a sizable deposit on, they also get a stack of cash to use for further R&D which the big three also have an option to licence. The big three get a kick up their backside to actually deliver some new cars that break their reliance on petrol and hopefully this will result in the big three making cars, people actually want to buy.

I know this is a pretty simplistic view, but I think it’s at least adds some validity to handing money over to the big three, instead of just throwing it into a money put.

convert this post to pdf.

Technorati Tag Creator

I’ve been podcasting for nearly 3 years now at Indie Launchpad and the constant bane of my existence is the creation of show notes. What sounds like a relatively simple thing, usually results in lots of cut and paste, and errors aplenty. My show notes consist of 3 sections, the usual preamble, the core body of bands featured with their review and web page links and my Technorati tags. I’ve been meaning to knock up a show note creator for a while, but just haven;t got around to it, but I thought I’d at least try to write a little utility that would enable me to create Technorati tags without having to mess with HTML. The Technorati Tag Creator is the result. Sorry at present it’s only for Windows users, though a Linux and Mac version may come in the future.

This is a very simple program. Just enter each tag separated by a new line, i.e.

Colin Meeks
Indie Launchpad
podcast

and then click on the [Create Tags] button. The tags are then ready on your clipboard for pasting. The program itself is only 25KB, yes I mean kilobytes. I find it funny that the installable version is over 3 times larger, but have stuck with this, so you get your nice shortcuts, etc.

If you are curious why this program is so small, I shall let you into a secret…. but that’s a whole other post.

convert this post to pdf.

Time to Mozy on Down to the Backup Hole

Once upon a time, according to Stan Laurel, “you could lead a horse to water, but a pencil must be lead”. Er, maybe that not the saying I’m after. Oh, yeah it’s, “You can lead a horse to water, but you can’t make it drink”. You can kind of transpose that to backups. You can tell people to perform backups for their prized photos, documents, files, etc, but unless it’s a no brainer they are not going to do it, save for the rare few.

It’s not that people don’t worry about losing their valuable data. It’s just that backing up is about as fun as watching paint dry. I used to be really bad about doing my own backups, but started to get serious with stuff like documents and programming source code. Unfortunately when it comes to photos, videos, etc, apart from doing a direct copy on an additional removable drive, I didn’t do anything for offsite backups. The reason for this is that I had around 190 gigabytes of stuff that needed to be backed up, but there was not real cost efficient way of doing this.

Recently I toyed with Amazon’s web services, particularly their S3 storage service. However once I did the math, it looked like it was going to cost me around $30 per month, and that’s just a starting price. With each additional gigabyte costing 15 cents, it’s soon going to get more and more expensive. I do love Amazon however and use it in conjunction with Jungle Disk, enabling every machine I own to have a shared virtual disk drive, something I find invaluable.

I’ve seen a few other services, one in particular was xDrive, which I’ve toyed with numerous times over the years. It’s currently owned by AOL though maybe for not much longer, as AOL seems keen on divesting themselves of companies they purchased in the dot com boom. Unfortunately though the xDrive client software has never been very good and in fact given numerous computers of mine indigestion. They do however have a free 5 gigabyte version of the service for you to try. Recently they released a Adobe Air desktop client, which seems to work much more reliably.

All through my investigating, I tried several other services, but kept hearing one above all others, Mozy. They too have a free 2 gigabyte service, so I gave that a trial run and was very impressed. The client software was easy to set up and over the course of a week, worked faultlessly.

The thing that really clinched it for me, was their full service offered unlimited storage for a monthly fee of $4.95 , so with nearly 200 gigabytes of stuff that needed a safe home, I was in. The first run admittedly took a while, now that’s not a while as in hours. Nor is it days. The first backup took nearly 2 months. I can’t imagine what my ISP must have thought , but as subsequent runs only backup changed or new files, the backup up is soon complete. The client software basically allows you to select folders and files to watch for, which means that as I download photos from my digital camera and video, as long as I put the files in the correct directories, everything is backed up, when the next backup is initiated, in my case, I have it schedules for the early hours of every day.

Depending on what you have needing to be backed up, you can either use the free service, which as I mentioned gives you 2 gigabytes of storage. This is great if you are a student and want to backup your schools classwork. In fact my nephew will be using this service soon, as his brand new Mac Book has recently suffered a hard drive crash, which fortunately resulted in just a couple of files being lost, but reiterates what could have happened , should he have been much further into his course. So fairly small files, like word processing or spreadsheet documents and programming source code, are ideal candidates for the free service. If you want to back up your music, photo or video collection, it’s unlikely you are going to squeeze that into the free service, unless you only upload a few files at a time. That being said, for just under 5 dollars a month it’s amazing the level of reassurance it provides.

I’ve restored files a few times from my backups, a) just to ensure it works and b) because I needed a file that was older than the one currently on my computer. Mozy however is not an archiving solution, you only get one version, albeit the latest version stored on the Mozy server. With now over 200 gigabytes stored on Mozy, I have no doubt there are going to be fairly interesting issues arise should I find my self needing to restore them back again. I can either restore them via the client software, from the web or the service I will probably choose via DVD. This is not going to be cheap however. Mozy charge $0.50 per gigabyte, $30 for processing and will charge your credit card for FedEx shipping, so in my case I will be looking at something in excess of $120 + shipping. The way I look at it though, if I need to make use of this service, something awful has happened, and spending $120+ is going to be the least of my worries.

convert this post to pdf.

Songs of Yesteryear

Music is a big part of my life, which is one of the reasons I started Indie Launchpad. Indie music now fills the void that’s been left by radio stations constantly pumping out the same old rubbish, and record companies looking to make an easy buck. That being said it’s hard to ignore the music of my youth. Thankfully with so many music services around it’s easy to dip into the music I once loved growing up. However as services spring up, others close or are shutdown, by an industry that still seems willing to cut it’s own throat. Pandora, probably the number one website for music, looks like it’s going to be putting up the shutters due to a pricing structure, when compared to traditional radio is just plain unfair. MuxTape also seems to be on the end of the RIAA’s wrath, although this may now, not be the mains reason for the indefinite suspension of service.

Any how a couple of weeks ago I came across MixWit, a service similar to MuxTape, but instead of uploading your own music to share with friends, the service itself piggy backs two other services SeeqPod and Skreemr, services that scour the web for music files to share. I felt a pang of nostalgia when I saw someone elses MixWit selection and decided to make my own, culling some of the greatest music from the UK in the late 70’s early 80’s. Who knows how long this service will remain up and running, so take advantage while you can and listen to some great music.


MixwitMixwit make a mixtapeMixwit mixtapes


So anyway I digress. After wallowing in my nostalgia, I’m sure if you are of a certain age like me, the first thing you think of is “wow I’d love to own some of those songs” and that’s where MixWit I think does it right. Click on the MyPage link and you will see iTunes and Amazon links to purchase all of these tracks. Yes many people are going to go off and pirate the music anyway, but there are still many honest people that don’t mind paying for their music, especially when it’s made so easy. That being said, I’m not a big fan of iTunes. I dislike DRM with a passion and thing the non DRM offerings are still too expensive. Amazon is doing pretty well with their MP3 store, but as of yet it’s still unavailable in Canada. These services are going a long way to appeasing fans clamouring for music, it just needs the music companies to pull out their finger and realise they could be earning a lot more money by accommodating music fans, rather than treating them like criminals.

convert this post to pdf.

A Pleasant Taste with Balsamiq Mockups

Although this site isn’t really geared to reviewing products, a recent new software release did catch my eye. Balsamiq’s Mockup, is a really interesting product, not just because it solves a real need, but also because, as far as I know, it’s the first commercial application that is built using Adobe’s Air platform. Air is a way of leveraging web applications, be they a combination of HTML, Ajax, Flash or Flex, the latter two, also being Adobe products. What’s so neat about Air, is that it is cross platform, allowing the developer to deploy the application to Windows, Mac OSX and Linux, all using a single file.

Whilst Air is relatively new, there’s no shortage of applications available. Twirl and Snitter act as desktop clients for the popular social website Twitter. Similarly the Pownce file exchange website also has a client written in Air. There are also a whole host of other applications that do anything from serving up the latest music videos, to a better way to handle your auctions with the eBay client. Finally there lots of neat utilities and goofy programs, like Shrink-O-Matic a batch image resizer and FotoBooth, a great way of taking snapshots at your PC and automatically uploading them to your Flickr account.

OK, so Balsamiq’s Mockup is indeed an Air application, but as I said before it’s the first commercial Air application I’ve come across. This is the thing that first caught my eye, but the second thing was the application itself. As a programmer, I’ve designed user interfaces for desktop, hand held and web applications. This is usually done with a few quick scribbled sketches. When I’ve need something a little more professional, I’ve thrown together some mockups using the design interface of the compiler I’ve selected for the project, be it VB.NET, Delphi or ASP.NET. The problem with these mockups are that they are either not really of a high enough quality to wave in front of a client, or they are so good, the client sometimes doesn’t consider these as mockups, they think of these as the blueprints for the final project, which can open a huge can of worms later in the project.

Balsamiq’s Mockup, is a system created to design mockups, in a way that’s way better than most scribbled efforts and conceptual enough, that the client doesn’t get hung up on the black and white of the design. I’ve got a few projects that will certainly benefit of this approach, but for this overview, wanted to pick on something that isn’t going to give away any of my ideas. What better way than throwing together a quick mock up of Google’s Gmail web email service. As this is just a quick mock up, I’ve taken a few liberties here and there, but it’s very easy to see that my primitive version is functionally very similar.

There is quite a selection of controls, GUI elements and markup images that you can paste onto the screen. The first hump is getting acquainted with them. When doing the Gmail example, I’d say about half of the time was spent looking for the right element to mimic Gmail’s functionality. The first limitation I found that there was no easy way to replicate the checkbox element. It would have been great to be able to do n lines of text and have a check box appear before each line, this wasn’t possible, so I had to create a new check box for each line of supposed email. It was then that my system began to act a little sluggish. Upon looking at the load on the CPU, the software was taking between 5 and 10% of processor, which seemed a little high. Also high was the among of allocated memory, a whopping 150megabytes. The system I did the majority of testing on, is a little long in the tooth now, but still packs a 2.6 gigahertz processor and 1 gig of ram. Things further complicated, when I exited the software and tried to relaunch, only to find the software icon in the task bar, but the software nowhere to be seen. I ended up right clicking on the icon in the task bar and then selecting restore, I then did the same again, but this time selected maximize and the software again appeared in all its glory. I have a funny feeling this was not a problem with the mock up software, as from this point on, everything ran smoothly and checking the processes again revealed a more healthy 3% of processor usage and 40 megabytes of memory allocated, but I’ve never has this problem before. The only other real niggle I had, was the inability to import an image for use in your mockup. I appreciate that this is all meant to be pretty much conceptual, but there is nothing nicer for a client, than seeing their own logos on a mock up. I’m sure this is something that will be rectified with future releases.

Once my mockup was complete I exported it as a PNG file and once actioned it exported instantly. While I appreciate the simplicity of this approach, I much prefer being asked where I want to save it and also what I want to call it. This also happened when I exported the mock up itself, which is saved in XML format, again here I would have preferred a unique file suffix, like .bmu or something similar, but that really because I have so many different XML file for other things.

The more I play with this software the more I find to like. Placing the page elements and changing their settings is very straightforward. Upon clicking on each element, a separate floating design form appears, allowing you to position and change the things that are available to change. While I like the simplicity of the colouring, i.e. black and white, I would have liked to be able to change the colours of the elements, for the more demanding client. This really is small potatoes,

While I only tested the standalone desktop version of the software, it is also available for various collaborative platforms, including Confluence and Jira, and coming soon for Twiki.

Here’s a five minute video that outlines the features of Balsamiq’s Mockup, produced by Balsamiq themselves.

Conclusion : If you ever create mock ups for software or websites, this is an excellent piece of software, which will save you time and blushes when the client sees your next mockup. At $79 it is reasonably priced and will surely pay for itself in very short time.

convert this post to pdf.

Now ‘C’ Here!

I’m not usually one to jump into a conflict, but sometimes it’s too much of an effort, trying not to bite my lip. Jeff Attwood is a respected blogger and programmer, who now write professionally. His blog Coding Horror is one of my essential blog reads, because it’s sometimes thought provoking, interesting and entertaining. Aside from his blog, Jeff has also created a startup called StackOverflow, along with Joel Spolsky another respected blogger and programmer, which at present is in early development, but has a highly entertaining podcast, detailing the goings on, in both their startup and tech stuff, more specifically programming in general.

During this podcast, there has been discussion between Jeff and Joel regarding the computer language ‘C’. Joel think it’s an important language for all developers to learn and Jeff thinks the opposite. This debate has popped up a few times and to be honest I never really thought much about it, although I do have my own views on the subject. Anyway Jeff was taken to task, by another blogger Alastair Rankine, within a blog post, taking Jeff to task on a few things. This is an except of what he wrote :

“In a recent podcast, Atwood disclosed recently that he had never learned C, one of my developer essentials. To me, this revelation is a profound hit to his credibility; it is like finding out that the chef who cooked your meal is a robot with no sense of taste or smell.”

This statement really got my back up. While I tend to agree, that the more computer languages you learn the better, I’ve never dictated to anyone that they should learn a specific one. Yes some languages are better suited to certain tasks, but to say a developer has to learn ‘C’ is ridiculous. Learning more than one computer language, often helps you understand new concepts and allows you to think through problems from different perspectives. I’ve been a professional programmer for over 20 years, programming for fun longer than that.

In all that time I’ve learned and actively used many computer languages including various dialects of Basic (PureBasic, VB.NET, VB) and xBase (Clipper, FoxPro, dBase, Force), Pascal (Delphi), Python, Ruby, many different hardware proprietary languages and many more I’ve now forgotten. I tried many years ago to pick up ‘C’, trying Zortech which later morphed into Zorland C and also Borland’s Turbo C, but just couldn’t get into it. From this list you’ll see that I’m primarily a high level language programmer, so picking up ‘C’ is very alien, as what takes a few lines in a high level language, often takes many, many more in ‘C’. Admittedly ‘C’ does have it’s place. Many assembly language programmers find ‘C’ a breath of fresh air. If you’ve ever programmed at this lowest level, you’ll know why, but they both share a common trait in that they allow the programmers to talk to the hardware at a very low level. This low level isn’t something I’ve ever really needed, as I primarily write bespoke applications that are database dependent.

To say ‘C’ is a number 1 essential for a developer to learn, which Alastair does on one of his postings is crazy. I’ve been programming 20 years and never learned ‘C’, does that make me a bad programmer? Does that make someone who does know ‘C’ a better programmer than me? To me a good developer is someone who is constantly learning. Yes I may pick up ‘C’ and dust off the cobwebs and I may learn many of the new languages bursting forth on the development scene. Developing is a constant, evolving field and one in which ‘C’ may or may not have a place, for me at least.

convert this post to pdf.