Sunday 13 December 2009

jQuery has taken over my life!

Firstly, an apology. This is my first post since June. Since then, I've been working pretty much non-stop, and as a result, I've not had much time to post. I intend to post more often, but I keep finding myself "on a mission" with some work related code. Call me a geek - I love my job!

Anyway, onto my post...

I love the web. I love seeing what can be done, and if I don't know how to do something, I love sussing out how it's done. I also love how much things have changed with web interface development over the past few years, specifically with client-side interactivity and web application design.

I've been working as a "web designer/developer" since 1995, so I've been lucky enough to have witnessed quite a few trends and developments, including being blown away by the original Flash 3 Gabocorp site (well, it blew me away anyway!), fighting in the "first browser war" (multiple versions of sites for different browsers anyone?), and writing a Flash video player, using SWF format flash video (FLV was a true godsend!), and I've always put as much effort as possible into learning the "latest thing" if it was in demand.

As a result, I've always been able to work on interesting or "cool" projects, from price comparison engines, online casino projects, personalised flash video management systems, and online travel booking applications. Most recently, I've been working as part of the Jobsite development team, on a new recruitment industry tool, soon to be released into public beta (Come back soon for more info).

Much of the aforementioned project is jQuery/AJAX based, and as a result, I've had the perfect opportunity to benefit from the incredible power of the jQuery library.

Monday 15 June 2009

Words of Advice For Young People.....

Real World Advice for Fledgling Web Developers

Baz Luhrmann's Sunscreen is one of my favourite tracks of all time, not for the music, but for it's message. I'd recommend everyone to take the time out and listen to it at least once, and to try to take a bit of it's advice onboard.

In a similar vein, I found this article today, and after reading it a couple of times, smiling to myself, I read a few snips out to my co-conspirator Nick (Head of Design @ Jobsite), it occured to me that it's one of those things I would recommend everyone to check out (well, everyone in web development anyway).

Maybe this is another of my "geeky" posts, but if you only read one article on what it takes to shine as a web developer, read Real World Advice for Fledgling Web Developers. Then when you've read that, take a while to read more of Isaac Schlueters brilliant blog!

Wednesday 3 June 2009

Ubuntu Update

Its been a while since my last post, been very busy at work, not to mention the fact I have become addicted to Fallout 3, but in the interests of trying to keep to my intention of regularly blogging, I thought I'd write a quick post about my experience with leaving "the evil empire" and becoming a 100% Linux user.

So far, I have to say, it's been almost totally painless. I have managed to find software and/or solutions to almost all my professional requirements, as well as having a decent OS for home use.

For those of you who are tempted, I'd say go for it, take the plunge, I think you'll be pleasantly surprised. And, to help, here's a breakdown of some useful links and tips to get up and running quickly and easily.

  1. Ubuntu Newbie Guide: First 24 Hours With Ubuntu A useful overview of things to be aware of before you install, different types of installation, and things to do to get started. Well worth a visit.
  2. Ultimate Linux Newbie Guide - An interesting site to get started with, it has sections covering choosing a Distro (Linux versions are know as Distributions), benefits, command line commands, and much more. I've spent quite a bit of time reading up and learning here.
  3. Getting Stared with Linux - The first of three courses to be found at Linux.org. Well worth checking out, especially if you are interested in really getting stuck in!
  4. Linux Virgins - Another good place to start, offering advice on getting, installing, and using Linux.
  5. Linux Software Replacements. - Not sure if there is a particular tool you need available on Linux? Don't worry. The chances are there are several alternatives out there, and this site will help.
That should get you started. Check back soon for more links and tips (if I get time). I should also confess at this juncture, that I am still having to resort to Windows at times, but more of that in a later post!

Thursday 30 April 2009

Getting into Ubuntu..

I've tried various Linux flavours over the years, but always got to the point of screaming frustration, and then swiftly giving up, but then recently, I tried Ubuntu. I'm pleased to report, that it almost lives up to it's hype. Personally, I think it still has some way to go before it becomes a viable alternative to Windows or Mac OS, but it's getting pretty close.

I've seen a couple of articles around lately, saying how Ubuntu is as good as Win/Mac, but until the setup process is as painless and easy to understand as it's two competitors, its going to have a hard time meeting up to expectations. Like other Linux distros, there is also still a fairly heavy reliance on performing tasks at a terminal command prompt too. So, it's still not the ideal choice for the beginner.

However. There's an awful lot to be impressed with. I'm nowhere near a Linux/Unix expert, quite the opposite in fact, but I have still managed to install Ubuntu (dual boot, just to be safe), configured it to be able to use my workplace Cisco VPN, remote desktoping, and to the point of being able to work pretty much how I would on my Windows box.

Past experiences with Linux have been painful, with issues ranging from completely wiping hard drives and data loss during setup, through to inability to get sound/display drivers and more, but Ubuntu seems to pretty much work "out of the box".

The current version, Jaunty Jackalope (v.9.04) is a great preview of what a good open-source operating system has to offer, but until it's easier to install and configure, and developers such as Adobe get behind it, it's always going to languish in the shadow of it's two main rivals.

Watch this space for articles about my ongoing experiment in Living with Ubuntu....


Friday 20 March 2009

Playing with the JavaScript Date Object

I've been working on a couple of projects that require manipulation of the date strings in one way or another, and one of the things I wanted to achieve was to show a posting date in a list built from RSS, but this meant I would need to convert ISO Date format used in the Blogger RSS feed to a prettier format.

After a bit of Googling and tweaking code, I found a solution, which I will post at a later date, but in the meantime, here's a list of a few useful links relating to manipulating dates using JavaScript.
  1. DateJs - Very useful little JavaScript utility for working with dates.
  2. Parsing W3C's ISO 8601 Date/Times in JavaScript - Useful script that uses Regular Expressions to handle ISO Format Dates.
  3. JavaScript Date Object -Estelle Weyl's useful article giving an overview of the JavaScript date object.
  4. JavaScript Toolbox Date Formating - A useful library contains functions to deal with dates in Javascript, parse date strings, format dates to different output strings, and compare dates.
  5. JavaScript Pretty Date - John Resiq's function to convert dates to "web 2.0" style strings, eg Something like "2008-01-28T20:24:17Z" would become "2 hours ago".
  6. JavaScript ISO8601/RFC3339 Date Parser -Another approach to formatting ISO dates.
  7. PHPDate - Jon Combe's jQuery port of PHP's Date function. Very useful!
  8. JavaScript Source Date & Time - A list of scripts that might come in handy for some readers.
  9. JavaScript date string formatting - Svend Tofte's interesting script. again, based on PHP's date function.
  10. JavaScript Date Formatting - An Unorthodox Way -Most date formatting implementations use format strings where format specifiers like “mm”, “mmm”, “HH”, etc. are used for selecting different components of a date. Ates Goral tackles the date object from a different angle.

The Complete Guide for the jQuery Developer

Always on the lookout for useful stuff to share, I found The Complete Guide for the jQuery Developer today. Chirag Chamoli at WhiteBoard has compiled a really good list of useful jQuery resources, including blogs, tutorials, plugins, and more.

If you are interested in learning jQuery, or polishing up your skills, it's a great place too start. It's also worth checking out if you are looking for a specific plugin.

Note: Ignore the top list of links, they are all dead.

Cheers Chirag, top post!

Wednesday 11 March 2009

Essential jQuery Controls

I've been doing an awful lot of jQuery coding of late, and at last, jQuery has been elected weapon of choice by other developers on the team too. As a result, it's been interesting seeing what some of the other guys are playing with.

JP sent me these links today. If you need some good jQuery interface controls, start below...

30 Essential Controls
: Theresa Neil gives a good breakdown on 30 essential interface controls including AutoSuggest, Charts & Graphs, Dialogs, Comboxes etc, and which JavaScript libraries support them. Handy.

Essential Controls List : If, like me, you work almost exclusively with jQuery, this page lists the Essential Controls for jQuery, and where you can find them. REALLY handy!

Tuesday 3 March 2009

Noooo, an Aptana weakness!

Well, I hate to say it, but I think I have found a bit of an issue with the otherwise amazing Aptana.

I have recently been working on a quite complicated JavaScript/jQuery project, and trying to keep myself organised, I have tried to make use of Aptana's Bookmarks and Tasks functionality. The problem is, that you spend time bookmarking functions etc, and meticulously adding tasks as they arise, hoping to keep everything under control and within easy reach, then, if you use CTRL+SHIFT+F keyboard shortcut to format your code, it leaves your Tasks and Bookmarks in disarray if you're lucky, and if you are unlucky, they just disappear. You also lose your Tasks and Bookmarks if you edit the .js file with any other editor. Not good.

In my opinion, this is a fairly major issue. What's the point of taking the time to add bookmarks and tasks if they're not persistent? It's got to the point now where I've gone back to using Outlook for handling my task list. Arrgh!

If anyone else has seen this and found a fix, please let me know.

Wednesday 25 February 2009

Back in the Day...

Musings about the bad old days of web design/development

Apologies in advance, for my lack of posts for the past couple of months. Inexcusable I know, but unavoidable. Life and work take precedence I'm afraid.

Grovelling aside, I thought I'd share my thoughts regarding where web designers/developers stand today, regarding the use of JavaScript, compared to "back in the day". I built my first site back in the early/mid nineties, and since then moved away from HTML/CSS/JavaScript towards Flash based solutions, and then over the past couple of years found myself ignoring Flash almost completely, unless the project requires video.

Why the change? Simple. JavaScript has grown up, CSS is more widely supported and HTML doesn't need any plug-ins. I used to be a bit of a Flash evangelist, and used it at every possible opportunity. I loved it's ability to do things that plain HTML just couldn't do reliably across browsers. Both in terms of layout, and functionality. I also found ActionScript 1 and 2 to be easy and accessible, which as a designer rather than hard-core developer was important. I genuinely believed that the Flash platform was going to completely change the Internet. Man, was I wrong! (alright, alright, Flash has changed the landscape, but not for the initial reasons I thought it would).

Today, that's all changed. The emergence of robust JavaScript libraries such as MooTools, ProtoType ,( and it's sidekick Scriptaculous), ExtJS, or my personal favourite jQuery, has had a noticable impact on web design and development.

I am currently working on an in-house tool that will eable users to manage and troubleshoot stored database queries and parameters. the current version is hideous (admittedly it is pretty old and was built by programmers rather than designers), and uses old-school JavaScript, HTML tables based layout, and requires visiting several pages to edit/view different elements of the data. The current results pages returns, on average a 900kb web page and is slooooooooow to say the least.

The new version is a different animal entirely. Using jQuery, I have been able to enhance it's functionality beyond all recognition. Users can now view/edit/delete master/child data sets within the same page, with data only being loaded when required, and only sections of the page changing rather than complete reloads. Using the amazing jQuery library, I have been able to reduce the HTML weight to less than 200kb (a roughly 75% saving on filesize), and at the same time produce a tool that performs faster, is easier to use, and allows users to get better results. In less than 6 weeks. Impressive stuff. I'm not bragging, saying "I AM A JAVASCRIPT GOD". What I am saying is...

How did we do it back in the day? jQuery has saved my life.

Why are you still here? You should be giving unobtrusive, library-based development a shot....