Twin Cities Code Camp 14 Overview

On Saturday, I went to the Twin Cities Code Camp 14 event over at the University of Minnesota. As with previous TCCC events, the event started off early in the morning at 8:15 AM, with continental breakfast provided by Thomson-Reuters, followed with a welcoming session after at 8:45 AM. However, as I was running a bit late, I was unable to make it for breakfast and the welcoming session.

After quickly checking in, the first session I decided to attend was about Meteor, a JavaScript framework that’s rapidly becoming popular among web developers these days.

Meteor is a full-stack app framework from the future. It breaks lots of rules and puts the developer experience at the center, promising unparalleled development speed. Bursting onto the scene in April of 2012 with an highly popular Hacker News launch, Meteor has since been maturing at a fast clip, as the core team works hard to vet the framework through lots of community feedback and real-world adoption. Join us to get the lowdown on what Meteor is, what it isn’t, and whether it lives up to the hype.

The speaker for the Introduction to Meteor session was Tim Heckel, who is the captain of the Meteor Minneapolis chapter. He essentially introduced the Meteor framework, what it is capable of, and where it’s biggest strengths are. Heckel emphasized that with the Meteor framework, it allows web developers much more freedom and flexibility, without being bound to the typical restrictions of JS. After describing Meteor in general, he then spent the rest of the session going through the usage of Meteor in example web applications.

Mobile development used to be a niche development platform. Many of us shied away from it due to unfamiliarity, lack of computing power, diversity of development environments for different devices or because we scoffed at its insignificance. Those of us who did are now behind the times. Mobile browsing will be the PRIMARY browsing environment in the next couple of years and just about everybody has a smart phone and/or tablet. The revolution is here and you must adapt. For the developer that’s been reluctant to make the switch, we’ll be going over the low-hanging fruit that’s been developed in the last few years by people sharing your concerns that will help you ease into the mobile development world including PhoneGap, jQuery Mobile, mobile websites and responsive web design.

The next session I attended was “Dipping Your Toes Into Mobile: The Low-Hanging Fruit”, hosted by Vince Bullinger, a long-time regular speaker at the Twin Cities Code Camp events. As I am currently transitioning into web & mobile application development, I felt that this session would be worth attending.

Vince kicked off the session by making a brief overview of how mobile platforms have evolved over the past decade and where we’re at now. He then pointed out several priorities that developers should focus on when developing web mobile applications, such as device type, resolution, hardware access, as well as UI. Vince described three different approaches that one could choose when implementing these changes for the modern mobile era:

Creating a separate website for mobile devices that is independent of an existing website designed for traditional computer platforms.

Design/modify a website that is user-friendly for both desktop and mobile platforms.

Incorporate a web-responsive based website that adjusts the content of the website, based on the target device and resolution.

Out of the three approaches, the third option of using a web-responsive design was highly recommended by Vince, especially if a website were to be remade from scratch. Afterwords, Vince went through several different examples of using JS libraries (such as jQuery) to transform existing sites to be web responsive.

11:45 – 12:45 PM: Lunch

After the session, I proceeded to have lunch over at Campus Pizza, where the Nerdery was hosting a free pizza party to TCCC attendees.

Build extraordinary audio applications in JavaScript with audiolib.js. In this session you’ll learn how to turn your web browser into a mind-bending, cat-annoying, audio-producing machine. Leave your HTML <audio> elements at home kids – in this presentation we look at the API’s that make digital audio synthesis possible with JavaScript. Specifically, we will dive in to audiolib.js – an open source JavaScript library that wraps browser-specific API’s. We’ll discover basics such as oscillators, LFO’s, samplers, and using effects like reverb and delay. We’ll also dig in to more complex topics such as envelopes, custom synth instruments, custom effects, and building a sequencer in your browser.

After a good, hearty pizza lunch over at the Campus Pizza, I decided to go to the “Web Browser === Synthesizer” session by Mike Hodnick. This session was about using audiolib.js, a JS audio library developed by Jussi Kalliokoski that provides a simple, yet effective way to add in sound functionality with JavaScript.

Mike began the session by discussing what audiolib.js is and what it can do for web developers. He then went over several sound effect terminologies (i.e. bit sample rate, channels, sine waves, etc.) and discussed how each of these effects can be applied via JS through audiolib.js. For the rest of the session, Mike provided several interesting web audio examples created with audiolib.js, including a reproduction of the original Super Mario Bros. theme song, as well as a funky “DJ Llama” song that Mike had created. 2:15 – 3:30 PM: C# From Abstract to Yield: How Well do You Really Know C#?Speaker: Keith DahlbyDescription:

With each successive version, C# has added more and more keywords to do new and (mostly) exciting things. Before you can use them, you need to know they exist. From flagship language features like async and LINQ, to the subtleties of co- and contravariant generic type parameters, we’ll discuss every language keyword/operator and provide some context for when you might see it in the wild or want to use it yourself.

The next session that I went to next was about C# abstractions and was hosted by Keith Dahlby, another long-time regular speaker at past TCCC events. This session was a particularly popular one with TCCC attendees, as the room was packed, with all seats filled! Keith, being extremely diligent, jumped directly into the code, going over both common and uncommon C# abstractions, as well as providing examples of how to utilize them effectively. 3:45 – 5:00 PM: Responsive Web Design with jQuery MobileSpeaker: Brad BroulikDescription:

No hoax, you can actually use jQuery Mobile to build responsive web designs for desktop, mobile, and every device in between. In this session we will review each new feature in jQuery Mobile 1.3 including responsive tables, responsive grids, sliding panels, and more. In addition, you’ll also see several new demos that I’ll be contributing to jQuery Mobile’s Demo site. Lastly, we’ll discuss performance strategies, remote debugging techniques, and client-side MVC integration advantages.

For the final session of the day, I attended “Responsive Web Design with jQuery Mobile”, hosted by Brad Broulik. Brad began the session by introducing discussing about responsive web design and how it can be implemented through use of jQuery. For the rest of the session, Brad went through live examples (such as a film summary page) and actively modified them using JS & jQuery to make them conducive for phone and tablet platforms.

5:15 – 5:30 PM: Prize Giveaways & Conclusion

At the end of the event, the TCCC staff thanked all the attendees for making it out to TCCC14. They announced that over 400 people had registered for the event, making this TCCC the highest attended TCCC event ever! They also announced that the next TCCC event will be in October, with a specific date being announced at a later time. They then began to give out prizes to the audience, which included items such as t-shirts, books, a Xbox360 set, a 37″ LCD TV, a pair of Bose headphones, etc.

Thanks to the TCCC staff and the speakers for making the TCCC14 event possible! I will be posting the recordings of the sessions I attended from TCCC14 at a later date.