A Wonder Day for Pumpkins

Recently the Q team participated in an internal, no-holds-barred, pumpkin carving contest. It seems simple enough, right?

I’m sure you can all guess which team I was on: the Technical Tyrannosaurus’.

A few months back, Paul had brought in an Arduino for the tech team. It turned out to be a really fun combination of my old Electrical Engineering training and my Software Development profession. I put together a simple device which would monitor twitter for mentions of agencyQ and play the Super Mario Bros. theme song. It would also light up some LED’s, though they weren’t visible due to keeping the Arduino hidden in a little box.

So how does that relate to a pumpkin carving contest? Matt was on my team and envisioned a pixilated Q with the twitter-monitoring Arduino software. Leave it to techies to over-complicate a simple pumpkin carving contest. Of course, it was also somewhat expected of us. The problem was: it only had 2 songs, neither of them Halloween-themed.

It was also written using the deprecated Twitter 1.0 API. (Hey, who ordered the OAuth?!)

After putting together a new (secret) song, there were now 3; which further inspired me to create a queue-able playlist allowing any of the 3 songs to be played upon the hash tag being used. The options are as follows:

  • #mario – The Super Mario Bros. theme
  • #victory – The victory song from Final Fantasy
  • #monster – The Monster Mash

As well as playing the song, the Q-O-Lantern blinks a different color for every note to the intensity of the pitch, cast against a range of pitches.

Matt unveiled the idea with the following tenants: code re-use is great, marketing is important, and never let developers do visual design. And so it was presented, to the tune of many synthesized songs.

Tweet @agencyQ one of these hash tags and the Q-O-Lantern will play a little song and flash joyfully.

Here are some classes that were developed to accomplish this task and a video of the Q-O-Lantern in action:

class Note {
  private:
    unsigned int _value;
    float _duration;
    bool _rhythm;

  public:
    Note(unsigned int value, float duration);
    Note(unsigned int value, float duration, bool rhythm);

    unsigned int getValue();
    float getDuration();
    bool isLegato();
};

class Song {
  private:
    Note *_notes;
    unsigned int _len;
    unsigned int _whole;
    unsigned int _pause;
    int _pin;
    void (*_callback)(Note*);

    void execCallback(Note *note);

  public:
    Song(Note *notes, unsigned int noteSize, int pin);
    Song(Note *notes, unsigned int noteSize, int pin, unsigned int whole);
    Song(Note *notes, unsigned int noteSize, int pin, unsigned int whole, unsigned int pause);

    void play();
    void setCallback(void (*callback)(Note*));
};

class PlayQueue {
  private:
    Song** _queue;
    unsigned int _growth;
    unsigned int _pause;
    unsigned int _size;
    unsigned int _ptr;

    void resize();

  public:
    PlayQueue();
    PlayQueue(unsigned int pause);
    PlayQueue(unsigned int pause, unsigned int growth);

    void clearAll();
    void add(Song* song);
    void play();
};
Read More Comments


This Week’s Top Tweets (June 3)

1. The 5 Stages Of ‘Getting’ Twitter
By Shea Bennett on All Twitter

You’ve probably heard of Elisabeth Kübler-Ross’ concept of the Five Stages of Grief, but what about the stages of understanding Twitter? Twitter has been around for a while now – an eternity in digital years –  but it remains one of the most misunderstood digital platforms. In this post, Shea Bennett offers a great walk through of the path people often take as they come to understand the relevance – and to many, overall awesomeness – of this platform, from thinking it’s a waste of time to finally “getting” it.

Read More Comments


This Week’s Top Tweets (December 3)

1. Gowalla 3.0 Unifies Check-Ins, Places With Facebook, Twitter, And Yes, Foursquare

By MG Siegler on TechCrunch

Gowalla made a major move this week when it unveiled Gowalla 3.0 for the iPhone (an Android version is coming soon), which allows users to perform unified check-ins across services. Integration with Twitter is nothing new, but now Gowalla users on the iOS platform can check into Gowalla, Facebook Places and Foursquare from one application.

Takeaway: If you’re a Facebook Places or Foursquare devotee, Gowalla is not worth another look. On the surface it may seem as though Gowalla is tossing its hat into the ring as mobile applications and social networking tools vie for world domination, but really, Gowalla is simply responding to user needs. If you’ve ever tinkered with Gowalla, you know that its UI is pretty lovable, but it’s a hassle to have one more place to check in while your friends are using Facebook and Foursquare. Gowalla is bringing them together to address that complaint. There are other enhancements brought by Gowalla 3.0 that create a richer experience for its users, including better picture integration, a new UI, a new location bookmarking feature and the ability to leave personalized notes for other Gowalla users at any location around the world.

Read More Comments


This Week’s Top Tweets (November 19)

1. You Have More Content Than You Know
On Conversation Agent

Content creates some of our biggest challenges when it comes to creating websites and interactive campaigns for our clients. While marketing collateral tends to come to mind first when people think of content, Conversation Agent’s Valeria Maltoni argues that you may have more content than you think and that in the digital age, it can come from some nontraditional places.

Takeaways: According to Maltoni, in addition to existing content you may have in-house, there is also a wealth of user generated content out there to be mined and organized. And if you’re lucky enough to have people out there who are passionate about you brand or service, that’s even better, because as part of your content curation efforts, you can acknowledge and recognize their contributions. Maltoni cites major brands Apple, IKEA, and Ducati as examples of brands with a passionate core group of customers who are evangelists or advocates on behalf of the brand, but you don’t have to be a multi-million dollar organization to have fans. As Maltoni states in the article, no matter your size, what truly matters is understanding what to listen for and how to harness your brand advocates’ energy on behalf of the total content your business organizes and shares. Great questions and tips are offered in the full piece.

Read More Comments


This Week’s Top Tweets (November 5)

1. LinkedIn Gives Brands a Platform to Promote Themselves
By Ben Parr on Mashable

Ben Parr addresses LinkedIn’s newest features for businesses – product and service recommendations, product listings, product multimedia and a recommender module.

Takeaway: LinkedIn has made many continuous updates in an effort to compete with other social networking sites, but this one may really hit the mark, particularly for B2C marketers. The site has made incremental updates to company profiles, but this is the first real opportunity for businesses to showcase their products and services in a meaningful, interactive way. It would be great to have more content management functionality to add versatility to the features for B2B (i.e., change “products” to “case studies”) but these added features show a lot of promise. As the author notes, LinkedIn will have to push the innovation envelope a little bit further in order to really engage brands and users like Facebook and Twitter, but this is a good start.

Read More Comments