NL-Jug J-Fall 2006: Resources for my presentation

On October 11th I gave a presentation at the Dutch NL-Jug’s J-Fall conference. As this post was prepared before-hand and posted automatically during my presentation, I will put up another blog post reflecting on my performance during and reflection on the reception of my presentation.

First of, here are the book recommendations I made during the presentation:

Don't Make Me Think: A Common Sense Approach to Web Usability Designing Interfaces Pragmatic Ajax: A Web 2.0 Primer Agile Web Development with Rails: A Pragmatic Guide Core JFC Eclipse Rich Client Platform

Now concerning the presentation itself: It is in Quicktime format posted here (2.3 mb).


Designing Interfaces

Designing InterfacesThe subtitle of this book says it all: *Patterns for effective Interaction Design*

The book uses a familiar style by presenting problems with pattern like solutions. While it is a very good style for a reference, it is prohibitive to a full cover to cover read. Now I am not saying this book is bad or anything. It simply is a treasure trove. Knowing how to implement which UI mechanisms is one thing. Knowing when to use which UI mechanism is more like a form of art. There are factors at play which are not based at cold hard logic. It’s about user perception, expectations and experience. Depending on the kind of user and the level of skill among the users, different solutions should be chosen.

For instance, take PhotoShop. I am in no way an avid PhotoShop user. I can get along with a lot of searching through documentation and online tutorials. But I can still remember my feelings when I first started PhotoShop with the intent to do a simple edit. A sheer and utter feeling of being overwhelmed. Now PhotoShop is like it is for a reason. Lots of people work with this tool all day long. Imagine having to work all day long having to go through piles and piles of wizards and dialogue boxes, I guess you wouldn’t be a happy user anymore. This little bit of information was sort of footnoted next to one of the patterns.

Each of the 94 patterns are thick with useful titbits and examples of when and when not to use a particular pattern. If you’re a interaction designer, I think this book is a must buy. If you’re a developer doing any serious UI related work, I’d say this book is a must read. Just having read this book will change your perception of the way users look at your user interfaces.

Just one question left: What’s with the duck?

Quartz 2D Graphics

Quartz 2D Graphics for Mac OS X(R) DevelopersI haven’t finished the book yet, I’m about half way through. But so-far it’s a great book about an excellent part of Mac OSX.

The book details how you should use Quartz 2D and Core Image. Quartz 2D is a central piece in the graphics development on Mac OSX. The thing with Quartz 2D is the fact that it is resolution and color independent. And this book really hammers it down. The interesting thing to me is the fact that Graphics 2D in Java is also resolution and color independent. This resolution and color independence makes it possible to program in a device independent manner. The “device” can be the screen, a memory bitmap, a PDF file/memory structure, a printer or anything else which is capable of displaying or producing graphics. The end result of this is that you only have to write your drawing code once without any device specific intricacies. There are a few things to keep in mind in a few exceptional cases, but that’s usually not a problem at all.

The book doesn’t seem to contain a lot of code. Most of the time it shows a few snippets to get a point across. But every listing comes with a number which references a file on the accompanying compact disk. Excellent stuff, you see something interesting, you want to fiddle with it in an editor anyway. So why waste precious page space? I personally hate it when books are half code, half actual text. Quartz 2D graphics on the other hand strikes just the right balance to me.

This books also goes into Core Image. Core Image is a framework on OSX which allows programming of the systems graphics card. If the graphics card does not support such actions Core Image provides a soft alternative, which is a lot slower offcourse.

InfoSupport blogs migrated to Community Server 2.1

I just got back from a little vacation in France and am working through the e-mail and RSS feeds that have pilled up only 8 days. And then I come across a nice surprise… (I won’t mention the freakish time I’m typing this. 😉

My employer finally decided to migrate to a decent blog platform. Until recently they’ve been running an ancient .Text install. And let me tell you, it was not so pretty and lacked lots of handy blogging features like a decent comment spam filter, auto ping-back, track-back and tagging support.

InfoSupport blog Header

Make sure to take a peak. Right now I’m proud of the InfoSupport blogs. For those unfamiliar with the old look and feel, let’s just say I just tried not to mention our blogs, since they just that ugly to look at. The layout didn’t do justice to the actual content.

Also a few weeks back I gave a presentation to my co-workers about blogging in general. I also mentioned some handy features and things missing from the then current implementation. Although I’d like to think I caused this migration I just didn’t. But I do think that because of my presentation some people thought: “Well, to hell with .Text. Let’s do this migration from .Text to Community Server and be done with it.” From what I heard it was migration fraught with pitfalls and possible data-loss when done incorrectly. I’d say, well done and enjoy the new blogging environment.

Community Server LogoIf you’d like some more details about the platform the IS blogs are using… It’s Community Server. A Microsoft .Net based blogging solution. It’s one of the few serious blogging servers available. Unlike WordPress it supports multiple blogs straight out of the box. It’s comparable with SixApart’s Movable Type

Book: Interface Oriented Design

Interface-Oriented Design (Pragmatic Programmers) Don’t buy this book. It’s only good for dead weight and lighting a fire. The book seemed so promising when I picked it up. Some guy’s views on interface oriented design. After some mandatory introductory stuff it goes bad. Real bad. It winds up into to a pizza laden interface convulsion where XML gets dragged in by it’s hair, topped with the most basic of basic remarks about why and how you should design by interface. Hell, it even grabs the Gang of Four by the balls to give it a little twist.

And I thought that “The Pragmatic Programmers” publishing stood for quality. Kind of like the way O’Reilly books are no-brainers (in good way) when looking for a book about a subject.

Don’t say I warned you when you buy this book. It’s that bad, I wont waste any more words on it. Now I’m of searching for my receipt in hope of being able to return this thing.

Giving a presentation

Right now I am giving a presentation to my co-workers.

It’s about blogging at our company.

It involves a number of things:

  • Baking cookies
  • Mac programming
  • Me
  • Locks
  • Wildfires
  • Google
  • Seven of nine
  • BA Baracus
  • Agent Smith
  • Aragorn
  • Oh, lets not forget Naked Conversations

Curious? Let me know I’ll see what I can do for you. 😉

Sometimes I hate myself…

..because I get into the train to travel to work. I managed to get a nice seat, no yelling kids nearby or other nasty loudmouths. I flip out my PowerBook. *&@$, I forgot that I deleted my preliminary notes after posting them on my blog. Can’t find anything in my browser’s cache either. So I slept all the way, better luck tomorrow. Right now I only jotted down like 12 slides.

Also today our Knowledge Center secretary posted the invitation e-mail to all my co-workers. So that’s past a point of no return. I wonder who will show up this wednesday, a lot of people are on vacation too.

The biggest thing missing in my slides right now is a link to the “local hero” strategy my employer tries to implement. I promised I would tie my presentation into that subject too. Personally I am really curious what this really means for our company. We are a knowledgable player in The Netherlands, from my experience we have an ok reputation (always room for improvement). But this “local hero” stuff is still a bit vague. Does it mean we are a bunch of extremely hard working people? Are we really that much ahead of the competition? What qualities makes a “local hero” a “local hero”? Because I have not seen anything heroic as of yet.

I’ll have to figure this out today or tomorrow.