Archive for JavaScript

TXJS post-conference thoughts

Note: this was supposed to be posted right after the event that happened on April 15th, but other commitments came up.

I got back to Houston after a day in Austin for the 2013 Texas JavaScript conference. It’s more like a mini-conference since it’s a one day event. I was excited to join other web developers in this regional conference, but the content wasn’t what I expected.

Before I go much further I should mention that the conference itself was well organized. The Paramount Theater is a beautiful spot in downtown Austin, there was breakfast provided to attendees at the kickoff which was nice, and the speakers were for the most part interesting, engaging and fun.

However, the 2013 Texas JavaScript conference didn’t have much JavaScript content. The conference had a single track structure, which may have been part of the problem. Alex Sexton (the conference organizer) can correct me if I’m wrong here, but apparently previous years had a different structure with multiple tracks, so if some people were interested in some CSS/design-approach sessions, they could go to a different room and join those.

The 2013 conference grouped three short talks (around 25 minutes in length) into a one hour and a half time slot group, ending up with these final groups:

* HTML5 & CSS
* Web Applications
* Node.js
* Rethink.js

If you were to look at the conference solely on these session topics, it may seem like a pretty technical conference. That’s not quite what it ended up being. While I was at the conference I kept thinking to myself “when are the *actual* JavaScript talks going to start?”. I thought that maybe I’m being too harsh on the conference, but at around 2pm when the Node.js sessions were about to start, I began to hear other attendees saying the same things.

Perhaps the real problem was that each talk was restricted to 20-25 minutes, so the speakers didn’t really have much time to do a technical session, but I believe it is possible if the organization behind the event tries hard at choosing good sessions.

I’m concerned that I sound too negative here, and I certainly don’t want to sound like I’m trashing the conference because it’s clear that some real work went into making a good event. Perhaps not being from the Austin tech scene I didn’t know exactly what to expect, and the original conference website didn’t give out a lot of details on what sessions were going to happen.

Maybe that’s a bigger problem these days, where a lot of regional/indie conferences don’t quite list out the sessions that are going to take place, but rather the “all star” speaker line up.

In any case, let’s review the sessions and grade their relevancy to this JavaScript conference:

* Keynote from Harper Reed – interesting information about what happened with the Obama campaign tech operations. Great speaker, with lots of funny and insightful quotes on big scale development. I think Harper mentioned JavaScript in passing once, when he said he was excited about the Node.js conference.
* “HTML: Do we really need the L?” – “Uncle” Dave was a very entertaining speaker, but he clearly didn’t have enough time in 20 minutes to go over all of the technologies that are part of HTML5, so this session was mainly a quick overview of the different things that are available. Again, not much to do with JavaScript.
* “OOCSS and Preprocessors in a tree, K-I-S-S-I-N-G” – This was a very interesting session on CSS development methodologies, and SASS in particular. I actually learned a lot on best practices about potentially switching to SASS. Nicole is a great speaker, and this was one of my favorite sessions, even though it had nothing to do with JavaScript.
* “CSS is for Computers” – Another session that seemed extremely constrained at 20 minutes, but it was interesting in that it helped me think more about the merits of switching to a CSS preprocessor. I’m sold on the idea after this session, but again (not to harp on this), nothing to do with JavaScript.
* “Beyond Front-end Developer” – Interesting session with some potential “what if” questions on what our jobs will look like in 10 years or so. JavaScript content here was also extremely low.
* “Apps that Build Themselves” – This was one of the sessions I liked the least because it seemed like we were reviewing a specific way of building a web application, without really going into specifics. The speaker went through the use case of building / deploying JavaScript applications that are self-contained. It’s sort of interesting that they can use this platform to just build applications dynamically, but I’m not sure that I learned much from this session. On the other hand, it’s actually one of the few JavaScript-centric sessions of the conference.
* “Culture change for creating better user experiences” – Really cool session on the work happening in England to change how their government provides their services to citizens. This was one of my favorite sessions, but again, this had nothing to do with JavaScript.
* “Faking Browsers for FFUU and Profit” – Jed is a very entertaining speaker, and this was clearly the most fun session of the day. Great relevant session for JavaScript developers.
* “The Evolution of Node” – Interesting session on what is happening on the Node project, and what we can expect from it in the next several months. Again relevant to JavaScript developers.
* “Streeeams, probably” – Great session on the specifics of stream development with Node.js. Very relevant to JavaScript developers, and it had excellent technical content.
* “All Open Source Everything” – Wow, this was one super insane session that had nothing to do with JavaScript, and I’m not even sure if it had anything to do with a technical conference in general. Sure, it had some relevancy to a discussion on developers valuing their work more, and choosing appropriate open-source licenses, but man, this was a real head scratcher.
* “Execute” – Pseudo-inspirational session on building on your product ideas and not being afraid to fail. It could be interesting for some people out there of course, but I’m not sure I have not already read some derivation of this same content out there on the web countless times before. Not at all relevant to JavaScript.
* “I can smell your CMS” – Funny and entertaining speaker talking about interesting stories about web site development and what some badly designed CMS systems can mean to client companies. Not relevant again to JavaScript.

This is pretty much it. Out of all of these sessions, and including the keynote on it, I count 4 out of 13 sessions that actually had any technical content relevant to a JavaScript-centric conference.

I understand having a small mix of non-technical sessions, or even having technical sessions on other things that are related in some way to a front-end developer, but less than 30% of relevant content seems a bit much (or little?).

It was an interesting conference, but depending on what you want out of it, I would sometimes recommend just using peepcode.com to get your fix for some technical content.

iPhone SDK: Parsing semi-complex JSON objects

Since this seems to be quite common for newcomers to Objective-C / iPhone development, here’s another example on how to parse a semi-complex JSON object. This was asked as a comment on a previous post, but I think that deserves its own space.

The JSON object looks something like the following:

{"start":0,
 "stat":"ok",
 "locations":[{"name":"Pensacola, FL",
               "place_id":"qQ7Vig2bBZsZCy82",
               "woeid":2470377}],
 "count":3,
 "total":3,
 "query":"address=Pensacola"}

So you can quickly see that it’s an object, with a “locations” entry that contains an array of objects. This looks like an object that represents the search results for a location from some web service.

I will parse that complex object by creating separate variables to hold specific parts of the object, but there are simpler ways to do this. In this example, I want to get the value for the “name” key in the first item of the “locations” array.

// jsonString contains the actual JSON output from your web service
SBJSON *json = [[SBJSON alloc] init];
NSError *error = nil;
// object containing full results
NSDictionary *results = [json objectWithString:jsonString error:&error];
// array just for the "location" results
NSArray *locations = [results objectForKey:@"locations"];
// first location in your array
NSDictionary *firstLocation = [locations objectAtIndex:0];
// finally, the name key
NSString *name = [firstLocation objectForKey:@"name"];
[json release];

JavaScript event compatibility tests

Peter-Paul Koch expanded his set of event compatibility tests (not updated since 2005) to cover some of the newer versions of browsers available today. The results are very useful, and include dozens of bugs throughout the browsers, and lots of tips on things to avoid. Recommended.

Prototip: tooltips for Prototype

Prototip is a cool little project that works well with sites that already use Prototype. Lots of easy ways to implement tooltips in your pages, even while using AJAX.

SWFUpload: upload files via Flash

This is a really cool project that I found out through Jonathan Boutelle’s presentation at SXSW’08 called AJAX and Flash mistakes. That’s basically what they use on Slideshare to upload documents to their system.

It seems pretty useful, and I’m already thinking about using it in a few projects in the future. You can find more details about it on the homepage.

My only concern is that in some scenarios you may want to avoid a hard dependency on Flash, but for consumer sites it seems like a safe choice.

« Previous entries Next Page » Next Page »