Archive for the ‘News’ Category

March 5th, 2009 Comments Off
Tags: ,

Category: News

JavaScript/Ajax Bootcamp at the Big Nerd Ranch in May

Join me at the Big Nerd Ranch the first week of May for JavaScript/Ajax Bootcamp. Sure, there will be plenty of Dojo to go around, but we’ll also look at other technologies and toolkits throughout the course, so bring hard questions and interesting projects along with you. I’ll make sure you’re not disappointed and that you go back home with the knowledge you need to take care of business.

I’ve totally blocked off my schedule for the week I’m out at the ranch, so I’ll be completely available outside of the core teaching hours. Let’s get ready to do some serious immersion, work on interesting things after class, and have a great time.

If you’re attending the course, feel free let me know if there’s anything in particular that you’re especially interested in; given a little bit of lead time, I’ll do whatever I can to tweak the course content as long as we’re not getting too far out of scope.

February 9th, 2009 4 Comments »
Tags: , , ,

Category: News, Screencasts

iGoogle-like drag-and-drop for Shindig (ala Dojo)

My consulting firm has been spending a good bit of time augmenting and providing developer advice for a really interesting startup based out of Berkeley, CA called Life360; in case Life360 sounds familiar, it might be because they were one of the first place teams in Google’s Android Developer Challenge a while back. In short, the crew out in Berkeley is developing an incredible developer platform for “taking care of your family’s what-ifs”, and it’s been a lot of fun getting to be in on all of the discussions and working with the amazing talent on board there to see it happening.

One of the most recent tasks we’ve been working on is an iGoogle-like drag-and-drop container for gadgets. There’s a really nice project out there called Shindig that implements the gadget specification, but there’s little to be had in the way of a nice sophisticated container that gives you drag-and-drop operations, a custom title bar, and a maximized view. Well, after getting chunks of the new application platform wrapped up for some investment pitches in the coming weeks, we decided that it would be really cool to give some of this code back to the OSS community since we’ve benefited so much from Shindig, the LAMP stack, and a number of useful utilities here and there.

90 sec (6.4MB) QuickTime file of dnd in action across multiple browsers

4 min (13.5MB) QuickTime file of installing Shindig and using the container extensions

You can read the blog post on Life360.com for the details as well as watch some screencasts that walks you through downloading Shindig and putting the files to use, but I did want to take just a moment to make brief mention of a couple of the technical considerations that immediately come to mind:

  • When doing anything like this, you need infrastructure. For this part of the project, Dojo streamlined tons of things like setting up event handlers, styling nodes, getting coordinates on the screen, abstracting a lightweight fabric for drag-and-drop operations, and so forth. Currently, the code uses AOL’s CDN to keep things nice and simple, but you’d definitely want to use the build tools to consolidate and minify the code when it’s game time.
  • When an IFRAME is inserted into the DOM, it (re)loads. So, when you’re dragging an IFRAME all over the screen, its location in the DOM doesn’t change and it doesn’t continually reload because it’s just being positioned absolutely. It’s when the drag event ends that you’re faced with the reload event because you want to move it into its new column (versus trying to maintain the geometry of never manipulating the DOM tree and keeping track of everything in a snap-to-grid fashion.) Anyhow, that’s the approach we took. The one reload event that takes place when the gadget being drug reaches its final destination seemed more reasonable than all of that geometry. Other than the frame getting drug around, no other IFRAMES ever get removed and reinserted, so they never have to reload.
  • For security reasons, Shindig renders gadgets inside of their own individual IFRAMEs versus rendering gadgets in an element like a DIV. That may not sound like a big deal, but it does bring up a few more implementation details worth noting. The first one that comes to mind is that when you’re dragging a DIV that contains an IFRAME, it’s not uncommon for the mouse to occasionally slide ever so slightly into the IFRAME. Unfortunately, the IFRAME then captures mouse events, and then drag-and-drop starts to get choppy and wig out a bit. You can work around this by creating a transparent overlay and placing it on top of the IFRAME during drag events so that the IFRAME can never capture those mouse events. Overlays also come in handy when you popup menus on the titlebar and want them to disappear when the user clicks anywhere else on the screen (including in other IFRAMEs.) One day, hopefully, Caja will kill those IFRAMEs, which will also probably help performance a bit (especially on IE.)
  • There are a few peculiarities that arise when you remove the last element from a container like a DIV, so one way you can deal with this is to ensure it always has a minimum height and width by placing an element in there that spans the width of the column and has a minimal height so that it can accept drag events.
  • As always, there are always a few special cases, so you have to do a little extra bookkeeping here and there. Hopefully the code is commented well enough that it’s not hard to follow. All in all, it’s only about 150 lines for the drag and drop mechanics, including whitespace.

Life360 would love to have you go take a look at their site and rate some of their ideas, so why not head on over there, browse around, and leave some feedback on what they’re doing. Helping startups that have good intentions is the cool thing to do, right?

January 17th, 2009 Comments Off
Tags: ,

Category: News

Dojo, Now with Drawing Tools! (Linux Journal, Feb 09)

I was really excited when I got the Feb 09 issue of Linux Journal in the mail yesterday, because they did such a fantastic on laying out the article I put together on gfx, a module for cross-browser 2D drawing. It’s a fairly meaty nine page tutorial, there’s a ton of code examples in it (each with accompanying images that show you what the code examples produce) and overall, it’s clear that they really put some thought into making it look so nice in print.

Per my contracts with Linux Journal, I’m allowed to republish articles I write under an OSS license 30 days after they’ve been on newsstands, so once that time elapses, I’ll republish it here, just like I did for Using Dojo: The JavaScript Toolkit with Industrial Strength Mojo. But seriously — don’t let that dissuage you from paying the six bucks to get this February issue. It’s packed with great articles on web dev, and is one of my favorite issues in a long time.

November 13th, 2008 Comments Off
Category: News

Ajax Bootcamp in January and May

Just a while ago, the Big Nerd Ranch had a slot open up in January, so I quickly snatched it up in hopes of an earlier-than-May rendition of the Ajax Bootcamp I’ll be teaching later in the year. They’re doing some interesting things out at the ranch (like building an entire ranch from scratch!), and you can keep up with it on Aaron Hillegass’s personal blog.

September 29th, 2008 1 Comment »
Tags: ,

Category: News

Dojo Developer Events at TAE

I’ve been in Boston attending and presenting at the Dojo Developer Day events as part of The Ajax Experience, and it’s been a blast so far. Here’s a quick summary of what’s been happening in case you couldn’t make it but want to say in the loop.

Sunday – Contributor/Committer Day at IBM

Yesterday, active members of the Dojo community got together to discuss strategic and tactical project management topics, the next release, heated architectural and design issues, and so forth. This was the first community event in which Peter Higgins reigned as the new project lead, and it was great to see him (masterfully) interacting with the project community.

There were also a number of other great announcements and discussions:

  • Dylan kicked off the day with a brief introduction and overview
  • The Dojo Campus site is launching really awesome online documentation that makes putting Dojo to work a lot easier than it has been before
  • The Dojo Foundation is hard at work fostering new projects and has a great new website on the way that makes the foundation, its projects, and its goals more accessible and easily digestible
  • The dojotoolkit.org site has a fantastic redesign on the way that you should expect before the end of the year
  • The Google Summer of Code students accomplished some really great work over the summer – hot animation fx that will be included in the imminent 1.2 release and 3d gfx are a couple of the projects I’ve followed most closely.
  • There’s a new build tool that Dustin Machi from SitePen is working on that will allow you to create a custom Dojo build on the fly through a web-based interface. From what I understand, ShrinkSafe will still have it’s place, but this new tool will make a lot of things quite a bit simpler (and way faster) for many use cases
  • Jon Ferraiolo gave a talk about happenings with the OpenAjax Alliance. So many interesting things are going on, including efforts to produce standards for Ajax IDEs so that code completion becomes easier and specific toolkit standards can be seamlessly bridged with OpenAjax standards, standards for widgets (primarily the kinds that are used in mashups and “mega-widgets” sort of like Google Gadgets) are continued to be spec’d out, and a lot of neat things in the mobile Ajax arenas and at play
  • There was a fierce round of lightning demos around lunch where many different presenters got 5 minutes each to demonstrate apps that they’re working on that employ Dojo
  • There were a number of breakout sessions in which small groups got together and had the opportunity to hack on code, discuss project issues, etc.
  • We ended the day by heading out to a nearby pub for some good beer and conversation over dinner.
  • I headed back to the hotel early to polish my slides for my talk the next day on gfx and fx with Dojo — a new and improved version of my OSCON presentation.

The short version of that story is simply that the day was a great time to interact with, program alongside, and pass some time with first-class JavaScript hackers. You’ll hear me say time and time again that the Dojo community is so much fun, and today was just one more testament to that being more true than ever.

Monday – Community Day at TAE (Renaissance Waterfront Hotel)

We kicked off the day bright and early at 8am sharp and had a “sold out” audience with standing room only. A brief rundown of the day’s events:

  • Dylan opened things up and got the day rolling
  • Peter presented on “progressive Dojo” and did some on-the-fly coding
  • I presented on gfx and fx with Dojo; slides and sample code will be posted here soon.
  • Tom Trenka did a guided tour of DojoX and showed off some of the state-of-the-art
  • Nikolai Onken demonstrated some tricks of the trade with layout dijits
  • James Burke presented on the build system
  • Peter took back the reigns and provided some demonstrations on Dijit
  • Another fierce round of lightning demos ended the day’s events at 1pm sharp

From what I understand, everyone signed docs that allows TAE to post videos of our talks whenever the video editing is complete, so I’ll post back here if/when that happens.

At this point, we’re all hanging out in the various lobbies hacking on code and otherwise intermingling until it’s time to head out for dinner and beer at the Summer Shack on 50 Dalton St here in Boston at 8pm.

I’ll be sticking around until tomorrow afternoon, so ping me if you want to get together.

September 14th, 2008 Comments Off
Tags: , , ,

Category: News

Dojo is now at the Big Nerd Ranch!

This is just a quick note to mention that I now have a JavaScript/Ajax Bootcamp class offered out at the Big Nerd Ranch. We’re still ironing out some of the initial scheduling details, but there should be some definitive dates squared away pretty soon; I’ll post back here with an update when we get that all hashed out.

And yes, as you’ll notice on the course syllabus, I do plan to lean on Dojo heavily for most of the instruction even though the course wasn’t called something more like “Dojo Bootcamp.”

In case you’re not familar with the Big Nerd Ranch, it’s a really cool concept: the idea is that you go into a retreat setting and totally immerse yourself in a particular area of knowledge for the week. You get first class accomodations and meals, and unlike other training courses right in the middle of hectic metro areas where it’s far too easy to get distracted, you get more of a serene, tranquil setting. Plus, the proprietor of the Big Nerd Ranch, Aaron Hillegass (perhaps better known as “the guy who wrote the Cocoa book“), is a heck of a good fellow and has really cool hair hidden underneath the hat — unlike, some of us, who, uh, don’t have any hair…at least not at the moment.

September 9th, 2008 Comments Off
Tags: , , ,

Category: News

Dojo: The Definitive Guide – Now Available Through Google Books (and Fine Torrent Sites Everywhere)

A colleague just pointed out that select portions of my book are now available through Google Books, so you can now read a fairly substantial portion of it online — for free. Sure, I’d like to actually sell as many copies as possible, but the way I see it, the more I can help Dojo and the Open Web, the better the market economics work out in the end — probably.

On a related note, someone also pointed out not too long ago that the book is also available on several well-trafficked torrent sites — no links to those though; I’m sure you’ll have no trouble successfully stealing the book if you want it that bad.

So why even point that out? Well, a couple of reasons: 1) it’s not like I can stop you if you want to pirate the book, so pretending like it’s not out there isn’t going to change anything, 2) if there’s a secondary market for pirated versions of a printed book on technology, then that’s all the more reason to be excited about the success of the technology in general, and 3) if you do pirate it and like it enough, maybe you’ll actually buy it (not that I’m encouraging you to pirate it in the first place, though)

As the author of a book that’s being pirated, I guess it’s mildly flattering and mildly frustrating all at the same time. So before I forget: pretty please, with a cherry on top — don’t steal the book. You can read a lot of it online for free now, and if that’s not good enough, pick up a used copy on Amazon for cheap.