Additions and Apologies

Okay, let me start with the apologies.

Anyone who visited this site over the last couple of weeks would have found that none of the internal pages worked. Additionally, anyone using IE6 or IE7 who has visited the site since the last redesign, would have had some pretty nasty display problems.

These issues should now be fixed - apologies for the delay in addressing them for all those affected.

Right, on to the additions. Nothing major! Firstly, I have now added a link to the top nav to my projects area where my two jQuery plugins are kept. Secondly, there is another link up there to the portfolio page that I have just put together. These are both seperate entities from this blog, and so are very different in look and feel. I may change this to mae everything a bit more homogeneous in the future, but right now I am a bit lacking in time. If you spot any browser issues with the portfolio page, please do let me know.

That’s it for now. Enjoy the start of the New Year!

Some interesting JavaScript projects…

Some nice (mostly) JavaScript projects that I have been using recently that have impressed me (in no particular order):

DD_belatedPNG - Finally, someone thinking out of the box on the issue of ‘fixing’ 24-bit PNGs in IE6, and the result is by far and away the best solution going. So much less resource intensive than the other offerings, has full background-position and background-repeat support and is super-easy to implement. I just wish this had been around before!

Bluff - really nice JavaScript port of Ruby’s Gruff graphing library. Straightforward to implement and gives nice looking results.

SWFUpload - JavaScript/Flash mulitple file uploader, which can be set up to give visual feedback on the progress of uploads, can cancel queued uploads and more. A bit of a learning curve if you want to customise it away from the provided demos, but well worth the effort. This sort of functionality should be built into browsers by default.

Typeface.js - another fresh take on a problem, this time the issue of cross-browser font embedding. Clever stuff, and has real potential to knock sIFR off it’s throne.

SoundManager2 - Another JavaScript/Flash hybrid, this time providing a simple API to play MP3s using only JavaScript calls. Useful if you need to do this sort of thing at all.

That’s it for now… It’s certainly quite interesting to see the number of JavaScript plus Flash/canvas/VML etc solutions cropping up that are providing unique ways of addressing age-old problems. Many thanks to all those working on the above projects for all your hard work!

Great Companies

When you are a web designer/developer, you are generally reliant on a number of third-party suppliers to provide you (and by extension your clients) with essential services such as site hosting, domain registration and DNS management, email newsletter broadcasts, hosted version control and more.

Obviously, you will grade your quality of experience with these suppliers largely in terms of the reliability of service that they provide. But these days most reasonable suppliers offer very similar levels of reliability, so what becomes more and more important is the quality of their customer service. All services will encounter a problem every now and then; the true mark of a great company is how they address those problems, how quickly they respond to your support requests and questions.

After dealing with literally hundreds of companies with stunningly crap customer support, when I find one where the people are helpful, quick to respond and knowledgeable about what they do, I hang onto them pretty tight and recommend them to as many people as possible. So I thought I would recommend a couple of companies that I have dealt with a lot recently and have found to provide both excellent reliability and fantastic customer support.

Wired Tree (Hosting)

Wired Tree offer managed VPS as well as dedicated servers, with cPanel/WHM at reasonable prices. I host all my personal sites with them, and we use them at work now for all our clients’ hosting, and they have performed excellently in terms of speed and uptime. More importantly, their customer service has really been second to none - support requests are generally answered within 15 to 30 minutes, and they are knowledgeable, honest and exceedingly helpful. Highly recommended, check them out at wiredtree.com.

Campaign Monitor (Email broadcasts)

These guys are great! They provide a really nice, easy to use online email broadcast tool, which does it’s job very well. They also are quick to respond to support tickets and information requests, and are eager to help and quick to look into any problems that I have encountered (mostly my fault!). After using an number of other email broadcast tool suppliers over the years I can honestly say that none have even come close to the level of service that these guys offer. You can sign up for an account at campaignmonitor.com for free to check out the tool.

Any one got any other great companies they can recommend?

jQuery Quick Pagination plugin

I have just added a quick, simple jQuery pagination plugin to my projects area.

It basically allows you to paginate any collection of elements on the page, adding very simple prev / next links (as well as a ‘page’ counter if required) to allow navigation.

I often use this to paginate a list of news articles, or as a very simple way to throw together a little ’slideshow’ (by paginating through images with the ‘perpage’ setting set to 1).

It can paginate pretty much any collection of elements (of mixed types if required), including images, divs, elements in an unordered list etc (ordered list li’s don’t work well - try it and see why!).

Once again, I’ve kinda rushed it up there so if you spot any bugs or mistakes in the documentation etc, just drop a comment below and I will look at it asap.

Check the plugin out here.

Change of Tack

The only programming I have ever know has been programming for the web. Chiefly PHP and JavaScript (with a little RoR sprinkled in there along the way), but all loosely-typed languages where it is easy to be a bit sloppy with the code and still get away with it.

In contrast, I have just started learning a bit about iPhone app development. Primarily because I want another challenge, something a little different; and partly because I am really excited about the potential that the platform holds, and I would rather be in there making things happen then watching from the sidelines. So I have started getting stuck into a bit of Objective-C, and to be honest it is something of a shock! Coming from a PHP/JavaScript background, the language seems incredibly rigid - no more getting away with being sloppy about return value types! Actually, to start with the whole thing seemed incredibly anal, but I am slowly starting to see the advantages of doing things this way.

In fact, even though I have only just started looking at it, I am starting to understand how PHP is really a kind of facilitation layer plastered over the underlying core programming language - which makes things easier for sure, but lacks the fundamental power that scripting in C can give you. Of course PHP is really optimised for web tasks, and Objective-C in turn for mobile and desktop applications, so their intention is very different and they undoubtably each fulfill their roles very satisfactorily. But I can’t help the feeling that I have suddenly had a veil lifted from my eyes and can now see that I have been programming in Fisher-Price, child-friendly languages up until now.

I mean this as no disrespect to the people who code in PHP/JavaScript etc - I do so everyday and very much enjoy it. It’s just that within those languages you are very much shielded from a lot of the more ’serious’, lower-level programming issues (such as memory management and threading) that you have to deal with in languages such as Objective-C. This is a fact that I was aware of but never really understood until I started investigating iPhone development.

So I am realising how much I have to learn, all over again, but I am really quite excited about it all. Who knows where it will lead - 5 years ago I was doing a Master’s degree in Oceanography and would never have though I would be programming for the web in 5 years time! I certainly wouldn’t be sad if I was earning a living writing Mac/iPhone applications in a few years time. But perhaps I’m getting ahead of myself…