The Sudoku Challenge

I’ve challenged myself to create a game of Sudoku. Why you ask? Because it is broad enough to exercise all of the different Javascript skills I want to work on, while not being so complex as to be a big time sink on any one area.

In computer programming, it is not often the case that the challenge you end up with is the same as you conceived beforehand. Three days into it, I’m happy to say it is exactly as I had hoped for.

The Sudoku puzzle, like most web apps, breaks apart nicely into the MVC model. I wrote the model first and it was pretty easy. I made a two dimensional array to represent the squares, and a square object to fill each square. I hit a major snag when my outputs showed everything as working as it should, but then when I tried to output the board all at once, every square was filled with the value of the last square! It turned out at that point I didn’t understand closures as well as I thought I did, and instead of creating the 81 squares of the sudoku board, I was creating only one and changing it’s value. It was a pain to debug, but I came out of it really understanding Javascript closures.Read More

Another take on Panoramas

Here’s another solution for panoramas. It’s actually a 360 degree pan viewer, one of those virtual world things that are about as old as interactivity on the world wide web. But the person (Audrey Scott) using it is a travel photographer and her goal is to present a beautiful photograph of the pyramid at the Louvre. The solution has it’s problems, but I’m taking it into account as I think about my lightbox project.

My immediate question is, Is it Photography?

Technically, yes. It uses a cameraRead More

A Fitting Display for Panoramas

I’ve never been happy with any Lightboxes I’ve come across on the Internet. It’s true, I’m very picky and hypercritical about these things. I’ve come to have very strong opinions on UI, particularly when it comes to photography.

So I’ve started a little sideproject on designing my own Lightbox, with an emphasis on the proper display of panoramas. From my notes:

To me the beauty of a panorama is looking at it whole and wide, and then walking in on it to see the details.

As a photographer I experience this with my own panos when I first stitch them together in photoshop, then zoom in in various ways to edit it. But how do I share this experience with my viewer? It would be easy in a physical gallery, just make a large print, let the viewers approach from a distance then zoom and pan with their feet. This is a very satisfying way to look at a large, detailed photograph. My goal is to capture this in digital form.

Well, I’m still mulling around the problem. So far I’ve just got the basic lightbox made, it works much like the lightbox you find in facebook or any random photo sharing or news website– nothing special. And I thought I’d finish it before blogging about it, but I came across an interesting solution here. This artist makes complex images starting with photographs then digitally repeating elements to create very high resolution, realistic but surreal, patterned images.

The ability to view the whole, then zoom in and explore are a must for his images. I like the simplicity of the zooming and panning, although I might make a few different choices on how the panning works. There also seems to be some ajax built in, which is something I’ve been mulling. Is it better to load one very large image at the beginning, or start with a lower resolution image then bring in higher ones as needed? The solution he uses is Adobe Flash based, which works for him, but is not acceptable to me if only because Flash is so 2000’s. The solution I am working on will be in Javascript with jQuery, and probably presented as a WordPress plugin.