Oh Yeah… It’s Out. You’d Think I Would Have Mentioned That Before.

Strangely I posted some book updates last week and forgot to mention that Professional jQuery has been out for a couple of weeks now.. I haven’t seen it yet, but I like to know that it’s out there. Looking back on my work, I think it’s actually pretty good. Normally my own writing makes me cringe, but this stuff is still pretty good.

For those of you keeping track, my contribution was Chapters 10-14. Cesar Otero basically set up the basics of jQuery, and then I came along and talked about fancy stuff, like code optimization (Chapter 10: Writing Effective jQuery Code, Chapter 11: jQuery Template, and Chapter 13: Advanced Asynchronous Programming with jQuery Deferred,) plugin development (Chapter 12: Writing jQuery Plugins) and unit testing (Chapter 14: Unit Testing with QUnit.)

Bits and Bobs (Book Updates, the H5BP Ant Build Script, CanvasJS and My First Six Months at Sapient)

Time to share some random updates.

Mobile Web App in Practice

My Manning book has shifted tracks slightly. It was originally going to be a cookbook. It’s now part of Manning’s In Practice series so the title has changed to reflect that. With that slight adjustment out of the way we’re heading into serious production mode. For what it’s worth, my contribution is about 1/2 done at this point. The other authors are a little bit behind me, but they’ll start to crank soon. I’ll be sure to update once I have some solid dates.

Project Z

I won’t call it Project X since I worked on one of those already and I don’t want to confuse anyone that previously heard me talk about that behemoth. I signed a contract for another book project a few weeks ago. That’s in the planning stage right now. So much so I’m not even sure of the final title just yet. What’s interesting is that it’s a revised edition of a popular title by another author, so once we get the title sorted out and I can talk about it it’s going to be exciting.

I think it’s going to be a great project.

Sapient

Six months in, Sapient is going well. I’m enjoying myself personally and in terms of the big picture things are really starting to fall into place. I’ve got two excellent JavaScript engineers starting on my team in Bangalore this month. We’re really trying to build out a great team in India so it feels good to have found two strong guys to anchor our efforts over there.

What I’m trying to do now is build out the team here in North America. The focus is here in Boston, but I don’t think I’d turn our nose up at someone in New York or Toronto, for example. In Boston I’m looking for both senior and mid level people who are interested in building nutty JavaScript applications using bleeding edge technology. For example, my current project has me hacking away at both Raphael and D3. Fun times. If you’re an experienced front end engineer who’s tired of working on marketing sites and want to expand your horizons with some real application work, lemme know. I’d love to hear from you.

Also, I’m not a bad guy to work for (unless everyone is lying to me.)

CanvasJS

Call this a soft-alpha. I’ve been working (along with Bob Holt and Marc Neuwirth) on a little Canvas helper library called CanvasJS.

There are currently two areas of focus:

  • Chaining any method that doesn’t return an explicit value is chainable.
  • API Enhancements These range from new concepts (getting the boundingBox of the last operation, getting the currentPos (x and y) of the ‘cursor’,) missing methods (circle, rectangle) to convenience methods (canvas properties are now getter/setter methods.)

Additionally, I’m thinking it would be cool to offer polyfills for certain features that might have been missed in implementation or might be new to the specification.

Marc and I have both used it on projects at this point so I feel like it’s probably okay to talk about at this point. I’m going to buckle down and finish up the loose ends for a decent release. That’s basically documentation and a few API loose ends.

Here’s what the code looks like:

var ctx = new Canvas( "ctx" );           
ctx.reset();          
for ( var i = 0; i<1000; i++ ){
  var color = 'rgb(0,' + Math.floor(255 - i/7) + ',' +  Math.floor(255 - i/100) + ')';
  ctx.beginPath()
     .line({
        x:.4*i,
        y:.4*i,
        angle: i, 
        distance:i * .40 
      })
     .strokeStyle(color)
     .stroke();
} 

And here it is in action.

I think it’s kind of cool.

H5BP Ant Build Script

Finally, we’ve been busy as hell on the Ant Build Script. In just the past couple of weeks we’ve simplified the way we handle concatenation (thanks dholth!) and added Less CSS (thanks Chris Rowe!) support. I’ve been really happy with the project since it’s split from the main HTML5 Boilerplate repo. We’ve got over 400 watchers and over 60 forks, which isn’t too shabby- we’re working our way up the “shell” rankings on github (we’re coming for you wemux). Which isn’t to say we don’t have a lot to do. We do. It’s just fun to watch the progress and feel like the project still has some good traction, even on its own.

My Presentation and Some Photos from the Redefining Perspectives Event in New Delhi

I did another version of HTML5 From the Front Lines (download: ppt and pdf.) It was well received. Judging by the 45 minute (!!!) question and answer session alone it was one of the best presentations I’ve ever done.

The Sapient team that put on the event was phenomenal.

Here are a couple of photos.

And here’s proof I was in India.

Professional jQuery

The Amazon page is updated with my name (even if the cover is still listing just the single author), so it’s as good a time as any to officially announce Professional jQuery, a book I co-authored for WROX over the past few months.

The project fell into my lap during a period in which I had a lot of time available to write, so it was a serendipitous opportunity that ended up working out perfectly.

When I came on board, the book was half finished and much of the structure was in place, so I was tasked with finishing out the remaining content and putting some polish to the existing chapters through the author review process. It was a lot of fun to do and exposed me to more depth in the jQuery API than I ever would have gotten simply as a consumer of the library.

In interviews now I tell candidates “pretend I’m Google if you have any questions about the jQuery API” when we’re going through code samples and I’m not really kidding.*

The book is broken into two sections, an introduction to jQuery/JavaScript basics and a section on Applied jQuery, which is where the “Professional” part of the title really comes into play. Most of that Applied jQuery section is my work and I’m very pleased with that content. I wrote a lot about jQuery and JavaScript best practices for speed and maintainability, introduced jQuery Templates, talked about the new Deferred object, went in-depth into unit testing with QUnit and did a long chapter on plugin development.

I learned a lot just writing it, so hopefully if you pick the book up you’ll learn a thing or two in reading it.


Speaking of interviews… while I’ve had some good luck hiring and am no longer a team of 1, I am looking for a senior JavaScript engineer to join my team. Why join me? I’m an awesome boss (even my interviews are fun) and the work is almost entirely focused on web application development using the latest/greatest web technologies. What more could you want?

Big Book Update: Now with 100% More Co-Authors

I just wanted to deliver on the book update I promised last week.Mobile Web App Cookbook is rolling now, with actual words being written. That’s pretty exciting for me.

What’s even more exciting is that we’re finally set with co-authors to do the technical chapters. I wanted to take a minute to introduce them, since they’re going to be the real stars of the show, providing the hands-on expertise the book is going to deliver. Me? I’m just a table-setter.

Anyway, here they are, the rest of the team (in order of appearance in the book):

Mike Morley

Mike is going to be doing chapters on the core technologies (HTML5, CSS3 and JavaScript.)

MIKE MORLEY is a freelance mobile user interface developer at 9eggs.com and has spent many years building web applications for financial institutions and digital media agencies. For the past few years he has specialized in developing mobile web applications for a range of clients from UK high street retailer New Look, the car manufacturer Ford and the UK lottery. When not building mobile web apps he may be spotted on the golf course or walking along the coast near Colchester (UK), where he lives with his wife Rachel, his young son and Chocky the dog.

Rich Freedman

Rich is going to be working on the jQuery Mobile section.

RICH FREEDMAN is a consultant at Chariot Solutions, where he works with a wide variety of technologies for clients ranging from startups to members of the Fortune 500. Rich has over 20 years of application development experience. He has been blogging about software development for several years, is a DZone MVP blogger, and has reviewed several books for Manning, including JQuery in Action and Roo in Action. When he’s not programming or reading or writing about programming, he’s probably in the kitchen, whipping up a gourmet vegan meal, while thinking about programming. Rich lives in Lambertville, New Jersey, a small and architecturally wonderful 18th century city.

Lee Boonstra

Lee is going to be working on the Sencha Touch chapters.

Lee Boonstra lives together with her partner in Amsterdam the Netherlands. While doing her study (Art & Technology) in 2004 she started her own web development company to continue to grow and learn new technologies. Right now her focus is more on mobile (web) apps. Her most successful app is available at the Apple Appstore and Google Chrome webstore: Spotlib.

In the last year of her study she worked for Accenture as a senior back-end (Java) developer for clients such as UPC and KLM/Air France.
After 3 years she decided to make the move to the front-end. “I think it’s advantageous to understand back-end technologies while working on the front-end. I’m a creative person and I like to have a nice workflow and see my changes directly on the screen.” In 2009 she started working as a front-end team lead for eFocus, one of the top 3 fullservice internet agencies in The Netherlands. “I’m working with a lot of (front-end) technologies & frameworks, and that is why I love my work so much: jQuery (Mobile), Mootools, Dojo, CSS3, HTML5, XML, SQL and recently Sencha Touch”. As a team lead she works on both mobile and web for middle to large scale clients, such as Deloitte, Heineken and Philips.

Beside technologies, Lee’s other passions are alternative music, attending concerts and festivals and (what she is famous in Amsterdam for) being a drag king performer and model. And let’s not get started about how extensive her videogame (console) collection is…