Happy 1.0, Dojo!

November 5, 2007

The Dojo Toolkit is proud to announce our 1.0 release to the entire Web community! I could not be more psyched to be part of the monumental effort that is Dojo… great job everyone!

Wanted: Front-End Webdev

September 25, 2007

It’s a rare engineer who wakes up every morning and can’t wait to tweak CSS in pursuit of beauty and elegance. JavaScript takes a few moments to learn but a lifetime to master! Renkoo seeks a fearless DOM manipulator who is eager to spend a lot of time knee-deep in the Web’s lingua franca.

This job is core to our engineering team, and you will work closely with our entire company to provide an extraordinary user experience on many flavors of browser.

Requirements:

  • 3+ years of CSS and DOM experience, preferably on JavaScript-heavy Web-based applications.
  • Scripting experience working on a consumer-facing application (preferably PHP5).
  • Working knowledge of the LAMP stack. Yes, we use Linux, Apache, and MySQL.
  • Familiarity with version-control software (preferably Subversion).
  • An eye for detail, and a desire to provide a great user experience.

Bonus:

If you’re qualified (or know someone appropriate), please send a resume with subject “FRONT-END WEBDEV, BABY!” to

jobs -at- renkoo -dot- net

U.S. Citizenship or Permanent Residency required. We’re very sorry to say that no sponsorships are available at this time due to U.S. government regulations. 😦

Renkoo builds and runs a family of web applications dedicated to helping people have fun. Our UI employs a whole lotta CSS and Javascript, with LAMP and Python on the back-end.

Our Redwood City crib is a half hour from San Jose or San Francisco by Caltrain, and we’re also walking distance from Beard Papa’s.

As a bonus, you get to work with Troutgirl. 🙂

Anne Zelenka of Web Worker Daily writes:

Renkoo uses email to drive more synchronous discussion of event plans, which could be a real boon to those who suffer from the endless back and forth about what time and where to meet. It uses Comet technology to provide an instant messaging like conversation.

Thanks Anne! We’re working on some new features that will make Renkoo much better than email for figuring out when and where with friends. More on that soon.

Meanwhile, the piggies from our homepage are retiring today, but you’ll always be able to visit them on Flickr

Renkoo Piggies

For a surprising number of years now, Paul Sowden’s elegant JavaScript stylesheet switcher has been the state of the art in changing the look and feel of websites on the fly. However, and with no disrespect to him whatsoever, there are reasons why this type of purely front-end solution may not easily scale up to a very complex production site like Renkoo.

For one thing, Paul’s solution is only intended to switch the stylesheet — not, for instance, any style-specific graphics used on the page. You can of course use background images for everything, as they so memorably do on CSS Zen Garden… but honestly as an old-school LAMP person rather than a designer I find it an unnatural way to work.

More importantly for us, our pages are composed of dozens of Dojo widgets — each of which can potentially have its own stylesheets (applied with templateCSSPath) and images. We needed a solution that could ripple down to this very fine-grained level with a minimum of rewriting code and a maximum of overall site performance.

Therefore we turned to Apache HTTP server, specifically its mod-rewrite module. As every dev knows, the lower-level the solution to a given problem, the faster it generally is. Instead of loading your whole page and all its attendant stylesheets, then calling a JavaScript function to process through the DOM picking out the link nodes, then changing the display based on preference order expressed in a cookie — we decided it would be easier to just use the power of URL rewriting to make sure you only get the stylesheets and images you need in the first place.

Let’s use a concrete sample Dojo widget from Renkoo: the Add a Friend widget. It looks like this in the various styles:

addfriend_default

addfriend_beeta

addfriend_terminal

The great thing is that no matter which of our skins you’re using, or whether you’re applying the style via the Dojo method (templateCSSPath) or normal link tags in the parent page — our markup calls for the same CSS stylesheet:

/stylesheets/select/addafriend.css

The stylesheet directories are laid out thusly:

/stylesheets/default/addafriend.css
/stylesheets/beeta/addafriend.css
/stylesheets/terminal/addafriend.css

Now we will apply the following Apache rewrite rules:

RewriteEngine On
RewriteCond %{HTTP_COOKIE} browse_skin=([a-z]+)
RewriteRule /stylesheets/select/(.*) /stylesheets/%1/$1 [R,L]
# Else
RewriteRule /stylesheets/select/(.*) /stylesheets/default/$1 [R,L]

For those of us who don’t think in regex, this simply means that if the requesting browser has a cookie named “browse_skin” set AND is asking for a file in the “/stylesheets/select” directory, Apache will attempt to serve up a file of the same name from the directory “/stylesheets/[cookie value]” instead. We can use the exact same system with images.

This system should in theory deal with HTTP caching perfectly, resulting in flawless trickle-down through our system as soon as someone changes their cookie. Alas, there is no such thing as perfection on the web. Due to a five and a half year old bug in Mozilla — which exists in direct contravention of RFC 2616 — Mozilla-based browsers illegally cache the URL of image requests even if caching has been contraindicated by the server.

Practically speaking, this means that Camino- and Firefox-wielding Renkoo users will have to shift-reload each page once after setting a new skin preference… until the bug is fixed. The system should work perfectly for users of IE 6 or 7, and Safari.

Renkoo terminal skin -- My Invites view

To see Renkoo’s new skin switching system in action, go to your Renkoo profile page and choose an alternate skin now!

For bookmarkers among us: Save to del.icio.us and Digg this Digg it!!

Wanted: Senior Webdev

January 10, 2007

Renkoo is growing!

We are seeking a senior software engineer to help us develop and instrument our technically innovative website. This job is core to our engineering team, and you will work closely with our entire company, cutting code to provide an extraordinary user experience on many flavors of browsers.

Requirements are 3+ years of experience with:

  • PHP5, including familiarity with its OO features added since PHP4.
  • JavaScript, preferably on CSS-heavy consumer-facing applications.
  • SQL, preferably in a MySQL environment.
  • Database schema design, knowledge of data types, indexing, and complex queries.
  • Version-control software (preferably Subversion).
  • An eye for detail, and a desire to provide a great user experience.
  • Oh yeah, HTML would be great, too. 😉

Bonus:

  • Dojo or similar toolkit.
  • XML and XSLT.
  • Testing tools such as Selenium, Watir, Flood, ab, or SimpleTest.
  • Performance profiling and log analysis.

If you’re qualified (or know someone appropriate), please send a resume with subject “SENIOR WEBDEV” to

jobs -at- renkoo -dot- net

U.S. Citizenship or Permanent Residency required. We’re very sorry to say that no sponsorships are available at this time due to U.S. government regulations. 😦

Renkoo is a new, technically innovative consumer website dedicated to helping people have fun. We help users coordinate small, frequent, casual get-togethers with their friends: drinks, meals, movies, sporting events, etc. Our UI employs a whole lotta CSS & Javascript, with LAMP and Python on the back-end.

Our Redwood City crib is convenient to Caltrain, driving, and Beard Papa’s. 🙂

Congrats to Dojo!

January 3, 2007

Renkoo uses Dojo Toolkit for our JavaScript bling, and have been involved in the project from literally Day One — so we were proud to see Dojo recognized:

The editors at InfoWorld let us know just before the new year that Dojo has won their “Technology of the Year” Award as the best Open Source Ajax Toolkit.

Congrats to all of the members of the Dojo community!

Wanted: Front-End Webdev

October 30, 2006

It’s a rare engineer who wakes up every morning and can’t wait to tweak CSS in pursuit of beauty and elegance. JavaScript takes a few moments to learn but a lifetime to master! Renkoo seeks a fearless DOM manipulator who is eager to spend a lot of time knee-deep in the Web’s lingua franca.

This job is core to our engineering team, and you will work closely with our entire company to provide an extraordinary user experience on many flavors of browser.

Requirements:

  • 3+ years of CSS and DOM experience, preferably on JavaScript-heavy Web-based applications.
  • Scripting experience working on a consumer-facing application (preferably PHP5).
  • Familiarity with version-control software (preferably Subversion).
  • An eye for detail, and a desire to provide a great user experience.

Bonus:

If you’re qualified (or know someone appropriate), please send a resume with subject “FRONT-END WEBDEV, BABY!” to

jobs -at- renkoo -dot- net

U.S. Citizenship or Permanent Residency required. We’re very sorry to say that no sponsorships are available at this time due to U.S. government regulations. 😦

Renkoo is a new, technically innovative consumer website dedicated to helping people have fun. We help users coordinate small, frequent, casual get-togethers with their friends: drinks, meals, movies, sporting events, etc. Our UI employs a whole lotta Javascript, with LAMP and Python on the back-end.

Our Redwood City crib is convenient to Caltrain, driving, and Mmmmm… Beard Papa’s.

As a bonus, you get to work with Troutgirl. 🙂