Monthly Archives: March 2006

I’m an author… well almost.

2
Filed under Projects

A few years back when I was just finishing university, I purchased one of the Masters of Flash books published by Friends of Ed. Back then, I was really into flash, spending many late nights creating neat and original things—projects I considered worthy of a chapter in such a book. I had Joshua Davis’s PrayStation web site as my home page and I vowed then and there that within three years I would produce something similarly cool and write a chapter for a book.

—Fast foward about five years.—

Since the glory days of university and my experimentation with flash as a web app platform, my focus and priorities have changed. At work, our use of flash shifted from integrated web application to simple graphical eyecandy—and I got bored making things just fly around the screen. I haven’t touched flash in more than a year and a half, not because I dislike it, but because my interests have move towards the wonderful world of web standards and getting all you can out of XHTML, CSS and pals. My most visited bookmarks have changed from FlashKit and PrayStation (though I still think Josh’s work rocks) to web standards sites such as CSSZenGarden, AListApart and the personal sites of other Web Standards zealots such as Dan Cederholm, Jeffrey Zeldman, Jason Santa Maria, Shaun Inman, Cameron Moll, Douglas Bowman and Dave Shea. As well, I’ve shifted from being known as the ‘Cool Graphic Design Guy’ to ‘Cool Research and Development Guy’ (Yes, R&D can be cool when you work for a company like We-Create and you have almost free rein on what you’re allowed to R&D). Meanwhile, my now five year old vow to write a chapter in a book made it’s way to the back of the filing cabinet, where I lost it with the other crunched and dusty pages of ideas, never to be seen again. And it was, until recently.

Almost by accident I was handed the opportunity not to write a chapter, but to co-author an entire book on some almost brand new stuff that everyone’s excited about. It seems that somehow through the grapevine, I knew the right people, at the right time. The offer to write the book—I can’t yet say what the subject is or who it’s for as it’s still "hush hush"—suddenly rekindled that drive and excitement I had years ago.

My excitement was additionally compounded by a yearning to write. Since leaving university, I’ve missed the late night writing and research sessions before a big paper was due. You’ve all been there, the pressure on, awake at four in the morning, trying to finish a 60 page research report on Ink Tack and the Tensile Strength of Web Offset Paper, due at 8:00 am and you still have an hour commute on the train, plus a 20 min walk in downtown Toronto to get to school… We’ll OK maybe you haven’t been exactly there but you get the point. When you’re in school you always say you won’t miss it, but you really do.

While working on the first chapters of the book, I’ve also been excited to discover I really enjoy the writing process, both from the authors point of view and the editors point of view. Educated in a print production background, I’m well aware of all the technical aspects that go into the printing, publishing and distribution of a book, but this is the first time I’ve experienced it from the other side of the fence, and I must say I enjoy it. At the same time however, I also still have a lot to learn.

So until I can tell you what the book is about, I’ll just say that I’m excited and working hard. I think all you web developers out there will find the end product really useful and I’m just happy that I can now submit my work via email, rather than taking an hour long train ride into downtown Toronto at 6 in the morning!

Rapid Web Development with the prototype library

1
Filed under Behaviour, Knowledge

While I work on tweaking the design of the site, I though I’d just write a quick opinion piece. I‘ve been experimenting with a variety of libraries lately to see what’s out there on the web. One bit of internet goodness I’ve been using a lot is Prototype, the JavaScript library made popular by Ruby on Rails and the AJAX boom several months ago. Prototype touts itself as:

a JavaScript framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere

But AJAX is far from the only thing that Prototype has going for it. It also provides a list of useful functions, the simplest (and my favorite) being the $() function to replace the document.getEementById() function - my keyboard is much happier! The downside is in the documentation. The doumentation is very lacking, almost non-existant, which is very annoying, but there are sites such as script.aculo.us that are picking up the slack and providing some informed documentation. A quick google search will also reveal a lot of working examples you can learn from as well.

Aside from what it has to offer, I was impressed by it’s ease of use and simplicity while working on a recent idea. At work, we were starting to use paper and pens to track the time we were spending on each project. As a growing company, we need to know this information so that we can better adjust our quotes and estimates, but the time spent writing and tracking the information became tedious after only one week. thinking about it on my commute home from work one day I had a better idea. Enter Prototype and a JavaScript app.

Starting from a quick sketch, I was able to create a working app using an XHTML/Prototype user interface and PHP server side base, in less than an hour. It relied on 100% AJAX communication but it was for my personal use anyways so it didn’t matter. Quick, fast, simple, clean code and anything else I could ask for. Now tracking time is as simple as typing in a task and hitting go. No more fumbling with paper and pens.

Time Tracker

If you haven’t tried prototype yet I highly suggest you do. You’ll be up and running in minutes!

A Theme in the Making

5
Filed under Style
New Wordpress Theme

I’m playing with the theme to see how the wordpress stuff works. I tried to install it under another location but unless I install two databases as well, I can’t seem to mess with it because the stylesheets are referenced by full URL (strange). I’ll just play here and you’ll have to watch it change over time.

It’s far from done right now so plesae bear with me as I learn. I won’t be breaking any links so bookmark as necessary, but the design still has a long way to go so please be kind.

The key to centralized AJAX services

9
Filed under Behaviour

The Problem: Same Origin

While working on a top secret project at We-Create, I was faced with a road block regularily encountered by many web developers: the ‘Same Origin‘ security policy. Simply put, it’s the security restrictions in the web browser that confines actions to the same domain where the page is located. For example, in accordance with the policy, JavaScript running on this page in Jeffreysambells.com should only communicate with JeffreySambells.com and be denied access to any other domains. Usually this isn’t a problem as the policy doesn’t apply to loading non dynamic objects such as images from other domains, and most AJAX requests will be between the browser and JeffreySambells.com. As well, to protect against Cross Site Scripting (XSS), it makes sense to disallow seemingly random requests to other domains. The problem arises in places such as my top secret project where I require a centralized data service on one domain which communicated via AJAX with pages viewed on other domains. With the ‘Same Origin’ security policy this isn’t possible using any traditional AJAX methods! But it is possible with a little JavaScript trickery. Read More »