Google’s Santa Tracker Codelab Is an Extremely Simple Way to Teach Kids How to Code



Google’s Santa Tracker Codelab is an extremely simple way to teach kids how to code, and honestly it’s the easiest and most beautiful way I’ve seen yet.  The Codelab consists of 10 challenges that slightly increase in difficulty as you go on.  These challenges have you moving an Elf through a maze to find a holiday present.  Which is a pretty genius way to pull students interest in right off the bat.  It’s simple and fun, conceptual, and easily tied back into real world coding.  Access it now at and you’ll see what I mean.

Being a CS Major in under grad and grad school I’ve learned my fair share of programming languages and environments to write code in.  For me the concepts of programming always came easy, even if the actual code writing was hard.  AT times however, setting up those environments could be cumbersome.

So how do we teach students not only the concepts of coding, but also provide them with an easy to use coding environment?

Some of the simplest coding environments involve visually dragging and dropping boxes of code that already have pre-determined functionality.  There are less semi colons and more focus on putting building blocks (the functions we write with curly brackets) together.  Lego Mindstorm’s native development environment allows you to program visually like this; you drag and drop sensor and motor control blocks to bring your robots to life.  However the kit isn’t cheap and you have to actually build something to see your code come to life.

Blockly is Google’s “ library for building visual programming editors.” And as far as I can tell this is the Engine for the Santa Tracker Codelab.  This Codelab features a very polished, Material Design minded and cartoonish environment that kids will love.  The environment is all set up and ready to go, it’s accessible via a web browser.

Equally, if not more important, the Codelab starts simple and conceptual with out adding anything technical to confuse you.  For the first challenge you literally combine two puzzle pieces, or lets call them “Blocks” to create a picture of a reindeer, then in challenge two you use three blocks to create an image of an elf.

The first concept is combining smaller pieces to create a larger whole.  Simple.  No Code yet, but your mind is now starting to get conditioned.


Level 3 is where things get exciting.  Your challenge here is to move an elf through a maze, one step at a time to grab a present.   You do this using North, South, East, and West controls.

…the basics of programming, with out actually writing a line of code.

For this challenge two north moves find you the present.  So you drag two north blocks under the “When Run” block and push play.  Now you see an Elf move forward two spots on the screen and he finds the present.  So now we’re putting blocks of functions together, and directly seeing the outcome.  Challenges increase in difficulty and we eventually are introduced into conditional loops to repeat blocks of code.  Again the basics of programming, with out actually writing a line of code.


In the more difficult challenges there is more then one way to solve the puzzle and get through the maze.  In these instances the Codelab will actually tell you that you can do it in fewer blocks of code.  So now we’ve taught students the basic concept of optimization.  One could even make the argument that this is the bedrock to teaching analysis of algorithms and concepts such as Big O Notation (simply put how many times an algorithm needs to run to solve a problem).

Now how do we tie this back into actually writing code?  Well there’s a link that says “View code” that will show you a JavaScript equivalent would look like.  This shows kids how the concept of their code blocks translates into actually written code.  In my mind the next step would be to allow kids to actually write the Javascript shown while still moving the elf on the screen, and I’d love to see that on future iterations, or even a stand alone offering.  Given that the Santa Tracker this year was a 20% Time project it’s easy to understand that this Codelab was small in scope and as such doesn’t feature this, but it would make it a more robust solution to teaching kids how to code.

As I mentioned the visual nature and the fact that you don’t need to actually use a keyboard and write code makes the Google Santa Tracker Codelab simple.  The fact that it has a holiday theme makes it fun.  By abstracting the notion of coding into assembling building blocks visually the Codelab provides us with the concepts of coding, and since we can view the code that would be generated it easily ties back into real world coding.  The Google Santa Tracker Codelab is an excellent example of how we can begin to introduce coding to students at younger ages.  I can’t wait to see if there are more like this.

What makes a watch a Smart Watch?


Prior to Android Wear I honestly thought that most smart watches weren’t really Smart. There’s a lot of buzz, and hype around Smart Watches and wearable’s. For years I have been unbelievably enticed by the concept of a fully connected device on my wrist. As a kid my concept of a Smart Watch was more akin to a walkie talkie(think Knight Rider), but as an adult those delusions of grandeur look more like something out of Minority Report. Samsung’s “Galaxy Gear: A Long Time Coming” ad highlights this pretty well. However I wanted to dig deeper and think about what it means to be “Smart” in a connected device world.

What Makes A Device Smart

I decided to do some research into the origins of the term “Smartphone”. I had once read a definition that stated a Smartphone was a device that you could add applications to and extend its functionality. This is not a bad term but that actually precludes the first generation of iPhone from being a smartphone(which was an argument at the time of it’s release that many made). More recently PC Mag defines a Smartphone as “A cellular telephone with built-in applications and Internet access.” Which would include the original iPhone and iOS 1 (I don’t think it was ever actually called iOS 1 though).

Crafting a smart watch definition from these ideas we get “A watch with built-in applications and Internet access”. Sounds a little vague still and I think we can all agree that we’ll be flexible with the “internet access part”. I don’t expect every watch to have 3G, or even Wi-Fi necessarily, but I certainly expect it to be able to tether to a smart phone and access information services via that connection. Since all of the watches labeled as “Smart” perform this function we’ll just label that as a given.

Built-in Applications

So let’s talk about the built-in applications part for a moment. I’m going to focus a bit on the Pebble for a moment because it’s a great candidate for this argument. I own a Pebble and use it a lot for the convenience of seeing my notifications on my wrist and not having to take my phone out pocket every time it vibrates. Notification viewing is of great utility but I have a hard time calling it a “Smart” feature. You can think of it as an application on the device, which it is, but I need more. The watch also comes a built in application for music control and clock, it tells time. So I guess it has built in applications, but are they that smart?

Well Pebble’s 2.x firmware allows you to add “Watch Apps” and Watch Faces. At first glance the apps just seem like watch faces with some extra information being displayed. As a developer I decided to dig deeper. The reality is Pebble provides developers with some fairly robust tools, including a cloud based IDE, to develop for the Pebble. It’s easy to use web services/APIs to pull in data to the Pebble, as well as push information from it. The Pebble can actually run JavaScript-ed code on itself. And while the interface is still fairly limited I feel the expandability of the platform allows the device to function in a much smarter manner then just telling time. Focusing on the “a smart watch needs apps” argument I think we can consider this a smart watch, and since it’s able to utilize your phones internet connection via Bluetooth it fulfills our two pronged test for a smart watch.

Now let’s look at the Galaxy Gear for a moment. While I haven’t had a lot of hands on time with these devices it’s fairly obvious that any number of smart phone functions are duplicated. You can reply to text messages, answer calls, and take pictures. Like the Pebble the Gear has a Developer Kit that allows Developers to create additional apps and functionality for the watch. So it’s a fairly easy argument that the Gear is smart. My biggest problem with the Galaxy Gear, it doesn’t work with my iPhone. I get it, kind of, but since it only works with a handful of phones (it doesn’t work with all Androids) Samsung is extremely limiting their marketplace. You could look at it as a Brand/ecosystem play but is their ecosystem that strong to have the watch limited to only a few devices that it works with? I digress.


So what have we done here? Well we defined a Smart Watch as “A watch with built-in applications and Internet access”. Then we tested that hypothesis with both the Pebble and the Samsung Gear. Basically I proved my own pessimism about the term “Smart Watch” wrong.

More of My Thoughts

I think these devices are just the tip of the iceberg. I believe Android Wear will really advance Smart Watches as a technology and as a consumer device. The enhanced interaction between watch and phone, as well as the standardization of a more open platform will allow developers greater freedom. And lets be honest if you keep the developers happy great things will happen.

Showing Two Timezones In Google Calendar

How To Show Two Time Zones In Google Calendar
For those of you travelling and or working with clients and the team in different time zones this may be a big help:

Can I show more than one time zone on my calendar?

Yes, you can view two time zones in Google Calendar. To add another time zone to your calendar view, click Settings. On the General tab, under Your current time zone, select another time zone in the Additional time zone list.

Also worth a look is

What To Read From The Week Of September 23 2013

iBeacons are a promising iOS7 feature that’s based on Bluetooth Low energy

MLB to use iOS7′s iBeacons

Blackberry gets bough for $4.7B

Twitter Creates An Alert System

New Amazon Kindles Fires

A few months ago wrote about the Kindle Device as a service business model on my blog about disruptive technology:

This week Bezo’s team came out with some updated models and are still focused on their model of getting tablets into peoples hands so that they buy more digital content from Amazon.

New Roku Devices

In other media device news Roku has updated the rest of their line up


And Steam unveiled an OS, partnerships for gaming rigs, and a controller to match

Apple adds Haswell to the iMac

Apple does Breaking Bad subscribers a solid


Evernote creates a market for physical goods that help you stay organized:

Airbnb Victory In NYC: Environmental Control Board Reverses $2,400 Fine On Renting Out A Room In An Apartment

Cast away: Google’s latest streamer

Google chromecast

I’m not going to lie, I’m extremely excited by the Chromecast dongle. Sure it does a lot of what Airplay theoretically already does, but at $35 US it does it for far less

Finally someone made easy to use device to push digital video  to my TV. I mean how many times have you seen it on NCIS: LA where someone swipes up on their device and magically their window shows up on a TV screen?  Sure you may have to tap a button instead of swiping but you get my point.

What I like about this is it’s simplicity, and it’s price.  It’s not an over thought or under thought attempt at a connected TV.  It’s merely a means to wirelessly push the content that my connected devices are already consuming.NOTE I’m still trying to figure out how much Chromecast pulls from my device vs uses my device as a discovery and control mechanism and then pulls down from the Internet/cloud.  As part of it’s elegant simplicity Chromecast doesn’t require a special app on the Chromecast device to work, maybe just some slight tweaks to the one on my laptop/phone/iPad/Kindle Fire/connected device.  From all of the reports out there it sounds like it can stream content right out of Google Chrome on my computer also. At $35 I can add it to 3 TV’s in my house for the price of an Apple TV and not have an of Apple’s content restrictions.

Also The Verge has a pretty good comparison of Chromecast vs AirPlay

Let’s hope when I finally get my hands on one that it works as simply as promised. When I get some more time to look over the SDK I’ll post some more findings.

So What Is Samsung’s Android Tablet Strategy?

Samsung Galaxy 3 Tablet Family

Did Samsung just give up on competing with the iPad?  Are they trying to race to the bottom?  These questions resonated in my head as I read through the specs on the third generation of Samsung’s tablets and try to figure out their strategy.

Looking at the specifications of the device I have to wonder if they really just created a 10.1 inch device with a paltry 149 pixels per inch?  That’s barely better then the iPad 2’s 132PPI that came out over 2 years ago and no where near the iPads Current 264PPI and last years Asus Transformer Prime’s 224PPI.  And before I could even finish writing this Asus announced a tablet with 299ppi.  Which makes me wonder who are they really trying to compete with?  Their Galaxy line of phones is lauded as one of the best in the Android world, but their tablets fall flat.

Which brings me to my next thought – Is Samsung just going after budget Android tablets?  Maybe they just believe that Android tablets is a budget space no matter who you are and that trying to compete with Apple on performance is a no win scenario.  Certainly there is nothing wrong with this business model (although my brand strategy professor will tell you it’s always better to push up a brand and make more money off of it then push down to cheaper products).  However if you’re going to make a budget product, it needs a budget price and $399 for the 10incher is anything but.  Also you probably shouldn’t profess that your tablet is “built to be the leading 10-inch tablet in the market.” when you’re the budget product.  So maybe they aren’t going after the budget market.  As an MBA I have to ask, what’s Samsung’s Tablet strategy?

One conclusion that makes is that the multiple sizes, and sub brands (ie Galaxy Note vs Galaxy Tab) allows Samsung to fill smaller niches, and in aggregate pull of a larger percentage of the addressable market.  I’d say that conclusion works for me, but I’m still thrown by the $399 price point.

In an iPad world if you’re not an iPad you’d better be cheaper then an iPad.  With the iPad 2 still on sale for $399 the Android Tablet price point has to be lower.  The perceived value of Android an Android tablet still isn’t that of an iPad.  We can view different device sizes as a competitive advantage and a bump to perceived value.

Compared to the iPad Mini the Galaxy Tab 8 does have a slightly better screen resolution but it’s only $30 cheaper.  On the 7 inch side the just announced updates to the Nexus 7 make an even less compelling argument to buy Samsung.

I’d love to see some marketing data on how much of a premium iOS can get vs. Android.  Apple is out innovating Samsung in the tablet space, and when I can get an Asus Transformer Prime Infinity for only the same money I just don’t see the point.

I’d really like to see a solid Android competitor to the iPad come out of Samsung.  The Galaxy line is building brand equity, which could halo into a tablet line up, and tight integration between Samsung products (like that alluded to but not really explained in a recent commercial) would start to create a stronger Samsung ecosystem.  While I’ll admit I probably shouldn’t judge a tablet solely based on screen resolution, it’s hard not to once you’ve seen a Retina iPad. I just don’t see the innovation and product evolution coming from Samsung in the 10” tablet space.

Maybe the Tab 4 will change that…

References  And Links