Posted in August, 2007

SitePen Unplugged 2007 August 31st, 2007 at 5:11 pm by Carrie Sackett

SitePen has a distributed work model that allows members of its team to reside anywhere in the United States. Here at SitePen, we know that talented people do their best work in comfortable, customized environments, away from the blinding glare of fluorescent lighting, the back-breaking, $40 chair from Walmart, and the chatty Kathy who works two cubicles down and never shuts up.

As we continue to gain experience operating in this manner, we have learned that extra effort must be allocated to building community, strengthening communications, and growing together, as a whole. Virtual watercoolers only go so far, so on August 21, each and every employee of SitePen, Inc. loaded up their backups, jumped on planes in cities around the country, and traveled to the lower Klamath River for SitePen Unplugged 2007. We arrived on the river for three, fun-packed days and thanks to our friends at AT&T, there wasn’t an inkling of cell coverage for miles.

Given that we wanted to spend as much time as possible goofing off, we retained the services of Rogue Klamath River Adventures and selected the option titled “Pamper the Camper”. With tasks like pitching/striking camp, cooking, cleaning, etc. completely eliminated, we had oodles of time to pseudo-relax (pseudo because there’s always a lingering deadline just around the corner) in an atmosphere that reeked of boyish camaraderie and perhaps a smidge of tomfoolery. Bottom line: we’re like, really cool.

SitePen-Unplugged3.jpg

A very special thanks to the entire Rogue Klamath River Adventures team for a truly amazing experience and especially for getting us geeks back home in one piece!

Dojo 0.9 released August 20th, 2007 at 3:36 pm by Dylan Schiemann

Alex has announced the final release of Dojo 0.9:

After a complete re-think about the purpose and value of Dojo, and after months of grueling ground-up work on the part of the entire Dojo team, I’m happy, proud, and excited to announce that Dojo 0.9.0 is available.

And AOL is already hosting 0.9 in their CDN.
(more…)

Wiring a Dojo App August 10th, 2007 at 6:01 pm by Mike Wilcox

Spaghetti code comes from all of your objects needing to know where all your other objects are so they can communicate. I used to attempt to alleviate this problem by creating a switchboard object that acted as a message bus. That helped surprisingly little, as I had to deal with long object paths; and the bus would fill up with a ton of simplistic pass-through functions, making for tedious coding and bloating. Then I discovered dojo.event.topic, which already is the switchboard I needed, and beyond that, helps make the application act as more of an event-driven system.

The Dojo 0.9 Topic system has been greatly simplified over that found in Dojo 0.4. Actually, Topic itself is gone (now a private object), and the system has been rolled into dojo._base.connect, where it can be utilized without having to specifically require it. The two primary methods are publish and subscribe, with a third being unsubscribe.

(more…)

Improve the Open Web. Live Anywhere you want. Get paid. Interested? August 7th, 2007 at 5:18 pm by Alex Russell

I’m excited to announce that SitePen is hiring in our R&D department, which roughly translates into “do research on how to improve the Open Web, make it a reality through Open Source software, and get paid to do it”. If that sounds like your dream job, we want to talk to you.

Safari on the iPhone: 2 Steps Forward, 1 Step Back August 2nd, 2007 at 10:03 pm by Neil Roberts

I’ve been following John Gruber on Twitter, who just noticed that the iPhone update (1.0.1) now updates Safari with the ability to send key events. Fantastic! 2 steps forward.

But, onkeyup is broken. You see, the onkeyup event is supposed to be called after a key event has officially propagated through the page. This is very important, because by the time onkeyup gets called, the page should have adjusted itself for this newly inserted character. For example, in a text input box, when you press a key it doesn’t show up in that input box until after onkeydown and onkeypress have been called, but does show up before onkeyup is called. Pretty much the whole reason that onkeyup hook exists at all, is so that you can be notified after this change has happened. The iPhone sends onkeyup before the page has been updated. 1 step back.

What this means is that sites that rely on using the onkeyup event to tell what is in their text entry box will break. There is a simple solution though! (other than having to find the key value in the event object) Just use setTimeout, with a timeout of 0 and you’ll be able to see the proper value. For example:

  input.onkeyup = function(e){
    setTimeout(function(){ alert(e.target.value); }, 0);
  }

Web Application Design: An Introduction August 1st, 2007 at 9:54 am by Chris Anderson

These are truly exciting times. Not only for SitePen, but for the web application space in general. It seems we are seeing a seismic shift in the way we use computer applications: moving away from the clunky, static, boxed-installed lot to those that are quick, lightweight, flexible, and web-based. More and more we are building and using applications that are not tied down to one single computer. Web applications have allowed us a truly mobile lifestyle, giving and providing us access to all of our crucial - and not so crucial - information on multiple computers and devices at the touch of a fingertip.

So how do we go about building these applications? How do we take these web-based ideas and concepts and turn them into something people can use and enjoy? When building web applications, it is crucial to not only have the back-end functionality and nuts and bolts in place. You need the smooth curves, the chrome, and a consistent, uniform design to tie everything together. The design of an application’s user interface can be a make or break experience, one that determines if you and your organization have the next true “killer app”, or one that will languish in obscurity.

(more…)