Archive for General

Warming to SQL

I never have loved SQL. But I respect it.

I just managed to save ~30% page load time per page load by writing a better query. That’s pretty reasonable.

Using a self join meant I was able to get all the information I needed in a single query.

The lesson I’ve been learning lately, apart from learning about SQL joins, is to work with the database, not against it.

It’s too easy to write a simplified query and let application logic crunch through it, rather than take the time to write a better query and save the application layer a lot of work. Work which the database is designed to do in the first place. It’s worth investing the time to learn how the db works.

Comments (2)

A List Apart, The Survey

i-took-the-2008-survey.gif

Comments

The hand (paw?) of Basement Cat

I wrote a quick (and dirty) script to track clicks on links from a directory page at work. It’s been running for a few weeks now.

I just looked at the current results and saw…

<ol>
	<li>Careers</li><!– #1 with 6666 clicks –><li>Human Resources Forms</li><!– #5 with 666 clicks –>
</ol>

Is this evidence of Basement Cat at work?

And is it a coincidence that HR has “666″ clicks?

Comments

The Coup

First there was Project Mayhem.

Now there is The Coup.

Ok. Perhaps we need a better name. Feel free to suggest one.

But for some time there have been mumblings and grumblings about the future of ByteClub. Although it pains me to admit it, patronage has been in a steady decline for some time, and now only a few hardy souls remain here. And ITS, who have taken over the running of the ICT infrastructure etc, are not happy with Tyler being on their network.

But Clinton and I aren’t ready to give up.

Some time in the next 6 months, we hope to buy the byteclub.net domain back from the ICT faculty and start hosting ByteClub somewhere else.

Yes, this means the end of Tyler :(
(should we have a wake?)

But it also means more control by Clinton and myself and, hopefully, exciting new opportunities. The first of these, I hope, will be installing WordpressMU so we can host our blogs with more individual control.

In related new, I just got word from my domain registrar that byteclub.net.au and byteclub.com.au were both up for grabs, so I registered both domains. I’m just going to park them for a while, but at some point we should be in a position to point byteclub.net, byteclub.net.au and byteclub.com.au all at the same server.

Having the .com address is just a defensive manoeuvre. I/we have no plans to go commercial with this site.

Comments (5)

dreaming of version control

I see a beta for Dreamweaver CS4 is out. I haven’t looked at it yet, but it claims to have native SVN integration. That’s a big step forward. Of course it would only be useful if somebody would set up an SVN repository here at work. I’d do it myself, but I don’t have authority to go installing stuff on our servers :(

In the mean time, I’m stuck with CS-RCS. It’s taken me a little time to get my head around this tool, after using SVN, but I guess it does the job.

I know there’s all kinds of features that other versioning tools, even CVS, have to offer that beat CS-RCS, but for the most part, those features are above and beyond my needs as a humble web developer. It would be nice to be able to fork a project (can CS-RCS do this? I haven’t checked.), because I have three projects that share about 80% of their code base, yet these projects are all maintained seperatley. But for the bulk of what I do, CS-RCS works. (Hey, any version control is better than none.)

The main thing that urks me about CS-RCS is the lack of integration with Dreamweaver. I’m using Dreamweaver CS3 and I have to say it’s no great shakes. I actually chose to go back to using Dreamweaver MX on my home machine because it seems to do everything CS3 does, but without the bloat, meaning it runs faster.

There is a Dreamweaver plugin for CS-RCS, but it only works on the MX version, and since I’m using CS3 at work, this is a pain. I have to keep switching back into the CS-RCS tool to check the status of files. Switching apps isn’t going to kill me, but it’s a pain, and it’s a productivity drain, especially when CS3 seems to have some kind of memory leak issue that causes it to run slower and slower the longer I use it, which is especially noticeable when I’m switching apps.

So my wish list for now is:
* Somebody up in IT gets around to installing SVN on the server, and
* Dreamweaver CS4 SVN integration works, and
* Dreamweaver CS4 is an actual improvement over Dreamweaver MX

Comments

wordle

Just discovered wordle.

How fun is it?

I tried running Kevin Rudds “Sorry” speech through it and was suprised at how small the word “sorry” came up in it. And I don’t recal the word “Nanna” being used in the speech yet it’s got the same weight as “sorry”.

Then I tried a self portrait from my del.icio.us feed…

Comments

JS Frameworks

I’ve been using JQuery quite a bit recently and I just love how easy it is get stuff done.

Not necessarily difficult stuff either, but being able to do in three lines of code what would take at least 50 lines for me to write by hand, is very nice.

I’ve seen all kinds of very pursuasive agruments online about the evils of using JS frameworks (or Frameowrks of any flavour, I guess), which mainly say that if you can’t code it yourself by hand, then you shouldn’t be using a framework anyway.

I think this is a weirdly masochistic (and arrogant) stance to take. I wonder how many of those coders who write everything by hand drive cars. And of those, how many built their car by hand? But perhaps that’s not a fair comparison. After all, car drivers are “users” of the product, and we don’t expect users of our sites to be web developers just to be qualified to use them.

So how about car mechanics? Does the average grease monkey tool every part they use by hand? And do they braid the wires themselves from copper wire they also drew? I don’t think so. They go to the parts catalogue and buy the parts they need, ready made, to finish the job. And I’m sure they don’t lose much sleep wondering if people think any less of them for doing so.

Sure there are machinists out there who can, and do, make those parts from scratch. But in the JS Framework analogy, those are the same code monkeys who write the frameworks in the first place which the rest of us use.

For me it’s simply a question of productivity. What’s better? To spend a whole day finely crafting a brilliant bit of JS? Or spending 15 minutes getting the job done in JQuery?

Comments (4)

Technorati Profile

Comments

Web Directions User Experience (WDUX08)

For some reason, it took a little while for the Web Directions events to register on my radar. But once they had, I set my sites on getting to one of the conferences. But that goal has taken a little while to realise, and in fact I still haven’t made it to the Web Directions (North OR South) events. But I did finally get to go to the Web Directions User Experience event in Melbourne today.

Next week there is a Web Directions Government event in Canberra next week, but I’m not going to get to go to that one :(

So I have, for the time being, satisfied my Web Directions craving. Next year, I aim to make it to the big event in Sydney. The year after, I’ll be aiming For Web Directions North. That would be cool.

wdux.jpg

So the User Experience event today was pretty interesting with a wide range of speakers (wide range both in terms of quality, and the topics they were covering.), and a great venue (Melbourne Town Hall)

I’ll briefly give my impressions of each session I attended below, but my overall impressions of the event were positive.

Two things stood out for me:

* There was very little that was new to me. I’m not trying to be smug about it. I was expecting to be blown away a little more than I was, but I take this as a positive, as it serves to validate my own current thinking about web development. The first and last speakers (Andy Budd and Robert Hoekman, respectively) were the standout speakers of the day, and I got the most new information out of what they had to say.

* While the underlying message was singular (make the user feel good about what they do), the individual sessions all came at that message from very different points of view, and at times contradicted each other in how they advocated reaching that goal. I also thought it was interesting to compare some of what the speakers today were saying to the speakers of last nights WSG meeting. Again, there were direct contradictions in what people said, but the underlying message was the same.

It seems that everyone agrees that the user experience is king. It is the single most important thing. As web developers/designers, we are not developing me-ware. We are developing for our users.

But there appears to many divergent ideas about *how* you reach this goal. I say “divergent” deliberately. It’s not just different. Different views can be reconciled. I certainly got the impression that several of the speakers were talking in contradiction of one another in their approach.

Having said that, I found every one of the speakers to be interesting and informative and they all had a take home message worth listening to.

Sessions I attended were:

Andy Budd, Designing the experience curve.
Andy was the first speaker of the day and was the first one to introduce the recurrent theme of making the user feel good about what they do. He had a cute little version of Maslow’s hierarchy of needs, which said a “functional” web site was at the bottom of the heap (it simply does what it’s supposed to do), and had a meaningful experience at the top (the user *wants* to use this thing).

Andy had a lot of other cute examples of things and the overall impression I got from this presentation was fun. One person practically accused him of being frivolous, but I think they were just being grumpy.

This was a great, inspirational talk that encouraged me to pay attention to detail. I sometimes wonder if I’m wasting my time on job when I put in nice touches that probably nobody will ever notice, but this guy made me think it’s all worth the effort.

Lisa Herrod, User testing for the rest of us.
Lisa suffered from an equipment failure and had to abandon her slides and just talk. Plain old fashioned talking. I think her presentation did not suffer from this at all, although we did all have to wait while they tried to figure out if they could get the equipment to work or not. Once it was decided that they could not get the projector to work, the presentation went well.

I’ll confess I felt a little deceived by the title of this talk. I had somehow expected it to be a bout non traditional approaches to usability testing, but it seemed to be pretty standard stuff.

Donna Spencer, Getting content right.
Self consciously excused her presentation for being heavy on the bullet point, explaining that they were necessary, then proceeded to read all of them verbatim (meaning she didn’t need them after all, except as a script). Only actually needed about 5 of the slides she used.

In spite of that glaring exception, she had a lot of interesting things to say. Once again the theme of making the user king was underpinning everything she said.

Curiously, a lot of what she had to say was almost directly contrary to what XXXX said last night in his WSG talk on internationalisation, a fact that at least once other audience member picked up on because he specifically asked her about that point in the questions session at the end. Regrettably, Donna didn’t have an answer to the internationalisation question.

Most of all, I took home the idea of building a persona for a site and making that persona part of the sites style guide.

Mathew Patterson, Designing for the inbox.
This was a curious presentation. Mathew was obviously nervous, and when he used a slide of some sexy women’s underwear to illustrate the idea of frilly bits, his first comment on the slide was about his mother. Hmmm.

He polled the audience to see how many thought HTML formatted email was evil, and over half of us did (including me). So he went on to spend almost half of the presentation trying to sell us on the idea of HTML formatted email. But the thing is, we all knew, from the title of the presentation, what it was about. No sales pitch needed.

And the joke about “who can remember 1998″ fell on largely deaf ears since half the audience were old enough to be this guys parents.

Having said all that, he did have some interesting things to say. I came away from it thinking that perhaps HTML emails are, if not evil, then at least inevitable. He made a great point: if you, the designer, doesn’t do the HTML email the boss is asking for, he’s just going to go ask his secretary to use Outlook and Publisher to do it instead.

The other point is that to get HTMl emails to look right, we have to abandon everything we think we know about modern web design and use tables instead.

Jeremy Yuille, Web visualization, do you see what I see?
Wow. What an interesting presentation. But was this guy academic, or what? He was the only person on the day to use words like: accrete, zeitgeist and meme.

I think he lost focus a few times, but he had some great examples of visualizations. It did seem to me that it was more about data visualization itself, and the fact that these visualizations ended up on the web was almost incidental. But many of the data sources were XML/RSS feeds, so I guess that made them webby.

More than anything else, this presentation made me think I should go do my PHD at the MIT Media labs.

Robert Hoekman Jr., The essential elements of great web applications.
For me, Robert was the best speaker of the day. In spite of having a very simple message, he remained entertaining, and informative, for the whole hour.

Once again, he reiterated the message that we need to make the users feel good about themselves (make them feel like lions). But he then went on to say not to worry about the users too much. Don’t design for the users, design for the task. Identify what it is the users want to do, and focus on that task.

He also said not to design for the system. This is something I know I’m often guilty of. I first think how I can implement something in the code, so I implicitly end up with a code centric solution. Robert says not to do that. Figure out what will be most natural for a user to do, and develop for that. Make the system bend to the users needs, don’t make the user bend to the system.


Comments (3)

More CF lovin’

The code…

<cfset aList="12, 14, 15">
<cfif ListContains(aList, 2)>
    Yeah!
</cfif>

The assumption…
The number 2 is not present in the list.

The reality…
The character “2″ is present in the list since ListContains() does a substring search.

The reaction…
Grrrrrrr!

(Apparently I should have been using ListFind)

Comments (1)

« Previous entries ·