Stylify Me

A crucial part of the creative process is researching current trends and advances in the design industry. This is a time consuming task involving inspecting the CSS of sites, taking notes of design elements, and evaluating them before choosing a design direction. We discussed how there was an opportunity to make this process easier, and Stylify Me was born.

Stylify Me was created to help designers quickly create a style guide of an existing site, including colours, fonts, sizes and spacing. It’s a tool that allows the designer to research the CSS styles efficiently without the need to inspect each element, in order to be aware of current design trends and inform their design decisions.

Retrieving CSS styles from a website is easy when you can query against the actual DOM elements, but as many sites cannot be opened in an iFrame, a client side only approach was not an option. Michael had previously heard of PhantomJS, a scriptable, ‘headless’ WebKit browser, on the Javascript Show Podcast. ‘Headless’ means it runs without a GUI (Graphic User Interface) from the command line, allowing a JavaScript file with processing instructions to accept arguments like a URL or file path.


Running a load speed script from PhantomJS’s example library.

PhantomJS is commonly used for test automation and web crawling but it did exactly what we needed: loading a website, running scripts against its DOM and saving screen shots – all in a real browser using JavaScript. PhantomJS comes with an experimental server but we decided to call it from Node.js as it has a lot more to offer in terms of stability and performance. Furthermore we can leverage express, a small but very convenient development framework for Node.js.


The step-by-step process of analyzing the styles for

In our processing instructions for PhantomJS we analyze the text and background colours of all elements on the page and order them by quantity, giving some, for example, the main background and the main text colour, a higher priority. Next we look for the main text element. For proper HTML5 markup this is simple, we just need to look for the role=”main,” but in reality a lot of websites use old and irregular markup, which requires us to look for common id and class names. If this does not work we simply use the middlemost element – in the hope that this is part of the main copy and not the side navigation. Based on this selection we extract the CSS styling of the text and headlines and return everything as a JSON response back to the user.

If you’re interested in learning more about the technical side of Stylify Me, you can check out the source code of the service layer on Michael’s GitHub.

Stylify Me was a fun, collaborative project to work on. We hope it becomes a useful tool that helps make the design process a little easier.…

LEGO, a phoenix in the digital age

Eighty years after LEGO hit the market, the brand still remains true to founder Ole Kirk Christansen’s promise to give children the freedom to play, dream and imagine. In an increasingly technological toy market, what is LEGO’s secret to survival? Focus on the rejuvenation and expansion of an iconic brand in the digital era.

A well-known and loved flagship brand

While the LEGO factory (LEGO from the Danish phrase “Leg Godt” or “Play Well” in English) opened in Denmark in 1932, it wasn’t until the end of the 1950s, when plastic became popular, that the famous building blocks that we know and love today came to be. Since then, 320 billion blocks have landed in the hands of over 300 million children in some 138 countries worldwide. To what can LEGO attribute its longstanding success?

LEGO’s ultimate appeal lies in its ability to stimulate imagination and to encourage the construction of anything and everything thanks to its easy-to-use, multi-purpose base material. Cities, farms, fire stations – you name it – have sparked the creativity of children, the young and the not so young, since 1958.

A true pearl of nostalgia, LEGO is essentially for children aged seven to 77 years old, with Duplo for little ones 18 months to five years of age, as well as for “kidults” (adults who are really just big kids at heart) who build architectural models and post videos of their creations on YouTube.


From a success story to first losses

The company upholds that anything can be built with LEGO and that kids love it today as much as they did back in the 1960s. However, if the brand fails to innovate and relies solely on its history to maintain a loyal following and inspire children, LEGO runs the risk of seeing its clientele grow old and eventually disappear.

To maintain leadership in the toy market, the brand decided to stray from its core product – mutating its DNA if you will – by creating a clothing line, baby products, computer games, and entering into licensing agreements with Hollywood. In the 1990s, LEGO positioned itself everywhere competitors were trying to pierce the market, but this haphazard diversification confused fans and, for the first time, affected LEGO’s growth.

Renewal with growth, getting back to the heart of LEGO

Jorgen Vig Knudstorp, the current CEO of LEGO, acknowledges that the company diversified too much and too quickly, often going into areas that they had no experience.

To bring itself back from the brink, LEGO got down to basics by streamlining its offering. The brand revised its diversification so as to renew consumer expectations associated with a brand asset – fond childhood memories of the famous building block.


The subsequent effect of this strategy played an important role in LEGO’s success. In fact, in order to revamp the brand without fear of disenchanting users and short-circuiting video game competition, LEGO went digital with its iconic building block by developing affinity platforms with differentiated objectives for the target age groups:

  • Play with the past with original target users
  • Use the present to polarize children
  • Call on the future with passionate users

1. Play with the past to preserve the expectations of original target users.
With no age limits on creativity, LEGO is a brand that can stay with users throughout their lives. At the turn of the century, LEGO identified older target markets with different expectations than children. In order to sustain the interest of these particular consumers, LEGO developed the LEGO Factory platform in a creative partnership with AFOL (Adult Fans of LEGO). The project provided the brand with the opportunity to exploit crowdsourcing potential and to create affinity products in parallel with its licensed products.

  • LEGO Factory – To take advantage of its adult users’ creativity and intelligence, LEGO developed LEGO Factory, a free download that allows users to design and order their own toys.

2. Use the present to build brand loyalty with children in the web era.

With the evolution of media and gaming, children are bypassing traditional toys for video games and digital devices at an earlier age than ever before. In order to avoid the disintegration of this target market in the digital era, LEGO opted to take its popular block digital by developing several platforms for children:

  • LEGO Club – To extend the LEGO brick In Real Life (IRL) brand experience, the Lego Club offers a wealth of content and tools to stimulate the creativity of children aged five to 12 years.
  • My LEGO Network – Similar to a social networking site, My LEGO Network is a safe platform built especially for children where they can create their own web page and share their LEGO creations with children their own age.
  • ReBrick – ReBrick is a sharing platform designed for
Boosting teamwork with Vagrant

Boosting teamwork with Vagrant

In September I was fortunate to be able to give a talk at DjangoCon US, the largest annual conference about the Django web framework. The topic of the talk was on Vagrant, a free open-source tool facilitating the manipulation of virtualized environments, and how it may benefit the development of Django applications. This talk was aimed at Django developers of all levels who were interested in getting an overview of the great possibilities Vagrant offers to support teamwork and quality assurance. In this article, I provide the same overview of the issues and solutions as addressed in the talk, albeit in broader terms that should be compelling to all kinds of web development teams, regardless of their framework or programming language of choice.


Common issues for web development teams

Over the last couple of years, a number of things have contributed to making the lives of developers easier, in particular the emergence of cloud computing, of both backend and frontend testing frameworks, and of distributed version control systems such as Git. However, the web stack specifications have also become more complex in order to provide the features that are now commonly expected by web users and to respond to ever increasing levels of traffic on modern web sites and applications. Indeed, it is now often necessary to use components such as RabbitMQ, Hadoop, Solr or Redis, just to name a few. As a result, web teams nowadays tend to be recurrently confronted with two types of issues:

  • Code sometimes unexpectedly breaks in production whereas it worked on development machines prior to being deployed. This type of unanticipated problems is often due to the inconsistencies that exist between the team members’ platforms, and to the inconsistencies between the development and production environments. Indeed, many web developers nowadays use Mac and Windows computers as their primary development platform, whereas the vast majority of websites eventually get deployed to Linux machines.
  • On-boarding new developers tends to be difficult and time-consuming. This is true especially if the person that you are on-boarding does not have much experience with systems administration, for example a frontend developer or a designer. If you are well organized, you might have long wiki pages describing every step required to manually install all of the technical requirements for your project. However, keeping those wiki pages up to date is hard, tedious and uninteresting, and so is having to manually execute all the required steps every single time a new person joins your team. What’s more, the web developers who work on Mac or Windows platforms often have to go through extra pain as the installation of certain software, such as MySQL or PostgreSQL for example, are generally much more difficult on their platforms than it is on Linux platforms. The net result is that developers end up having to spend a lot of time administering their systems, whereas they would rather spend this time writing code and building features.

Vagrant to the rescue

The issues described above would not occur in an ideal world where all developers of a same team worked on the same, pre-built platform: there would be no need to manually install anything and the working environment would automatically be assembled so that developers may solely focus on their development tasks. In that ideal world, the development and production platforms would also closely match so that no more bad surprise would occur when new code got pushed live. The good news is that this world already exists — and it’s called virtualization.

Virtualization is nothing new, really. It has been around for a long time. However, in the last couple of years it has become much more approachable and useful to developers, especially thanks to a project called Vagrant. Essentially, Vagrant is a developer-friendly interface for managing virtual machines (VM). Currently the only VM manager supported by Vagrant is VirtualBox, but there are plans for it to support VMWare in the future as well. In a nutshell, with Vagrant the workflow for a given developer is as follows:

Boosting teamwork with Vagrant

The developer interacts with Vagrant by running a few simple commands. The main command is ‘vagrant up’ (1) for booting the VM up, that is the equivalent of pressing the ‘on’ button of a physical computer. The developer also has to provide a configuration file named ‘Vagrantfile’ (1), which contains some basic directives to specify the characteristics of the VM that needs to be built. Then Vagrant will talk to VirtualBox (2) and instruct it to actually create the VM (3). Vagrant will also talk to some provisioners (4), which are responsible for provisioning the VM, that is, installing and configuring all the software required for running the project’s application (5). Once the VM has been created, booted and provisioned, the developer may directly access the VM (6), …

A quirky experiment proves the value of story-drive content

A quirky experiment proves the value of story-drive content

How much is a $3 ashtray purchased at a yard sale worth? Trick question. What if the same ashtray is sold on eBay but includes a short story by William Gibson? Then it’s worth $101.

Still don’t believe in the alchemistic powers of a great story? Then you need to read Significant Objects, a new book that details a quirky literary experiment that set out to prove that “stories are such a powerful driver of emotional value that their effect on any given object’s subjective value can actually be measured objectively.” And as coauthors Joshua Glenn and Rob Walker discovered, whether a famous author or an up-and-comer wrote the story didn’t matter.

By the end of the experiment, they had sold $128.74 worth of insignificant objects for a combined total of $3,612.51.

Once Upon a Newsletter

Although Significant Objects is a fun reminder of the value of fiction, that doesn’t mean you should turn over your newsletter campaign to the staff of the Paris Review. But anyone looking for a reminder of simple but effective storytelling can learn a few lessons from the makers of the Pebble smartwatch.

As part of my Kickstarter pledge for Pebble, I now receive regular updates via email. And although the emails are occasionally long and geekish, I’ve been impressed at how the Pebble founders are able to tell a natural and compelling story about their watch in progress.

A recent update promised, “We’re looking forward to sharing all kinds of cool things with you during the next few months, including updates from the factory, links to developer information [and] screenshots of the iOS and Android app as they take shape.” It’s a birth narrative, except for a watch instead of baby. The updates even contain some narrative tension—how soon will Pebble be able to ship watches to eager backers who were promised a September deadline?

Even though I’ve already paid for the watch, this behind-the-scenes tour is increasing Pebble’s perceived value by making me emotionally invested in its development. This process is almost identical to the literary experiment that Significant Objects conducted, except that Pebble is telling a nonfiction story.

As a bonus, by the time Pebble’s founders are ready to sell their watches to the general public, they will have generated a rich, coherent product and brand story via their updates.

Telling Stories for Fun (Not Profit)

As the intro of Significant Objects notes, the experiment proves “the value-adding power of narrative.” But not every brand or product story should have a monomaniacal focus on selling customers something. As Significant Objects coauthor Rob Walker recently noted on, telling a good tale is more than just a tool or tactic: “A good story is not a means to an end. It’s an end. It’s a thing of value, all on its own.”

That lesson is especially critical for consumer brands that use a content-marketing approach for their social media campaigns. Last year’s series of Coca-Cola Content 2020 videos illustrated (literally) a multiyear commitment to dynamic storytelling. The goal, according to Jonathan Mildenhall, vice-president of global advertising strategy and creative excellence at Coca-Cola, is that “every contact point with a customer should tell an emotional story.”

Does that mean every one of Coke’s stories will end in a call to action? Hopefully, not. Will every story link back in some way to the overall Coke narrative? Hopefully, yes.

Raiders of the Lost Story Arc

The goal, then, is to map out the long-term story that your company or brand is planning to tell. HBO shows are particularly good at doing so. Each season of The Wire focused on a particular institution (civic politics, the school system, print journalism) while the show itself told a five-season story about Baltimore’s ongoing attempts to deal with a rampant drug problem.

As you can imagine, such an approach requires a substantial amount of up-front thought and planning. But once you determine your brand arc, you can much more easily ensure that every piece of content you develop—newsletters, videos, tweets, or Facebook posts—is contributing to your overall story, one image, video, or sentence at a time.

Once Upon and Once Upon Again

We have no shortage of blog posts and books that remind us how humans are natural storytellers. Joan Didion, a master of the literary essay, called one of her nonfiction collections We Tell Ourselves Stories in Order to Live.

But traditional marketing approaches and templates, such as the lifeless press release, either push story to the margins or eliminate it altogether. To overcome the constraints of tradition, you’ll need to encourage all of your employees to practice storytelling on a regular basis. Here are four easy ways to practice your gather-’round-the-campfire skills:

  • Brainstorm a new marketing campaign by starting with the phrase “Once upon a time…”
digital innovation shop

4 tips for working with your digital innovation shop

We see more and more big companies seeking out firms like ours that specialize in digital product and service innovation.

These engagements usually focus on conceiving and creating one of two things: an extension to an existing product or service or an entirely new line of business. In either case these companies are looking for a new and uniquely digital perspective on their business.

Odopod has successfully completed a number of these collaborative innovation engagements. Along the way we’ve learned a few lessons that may help you avoid common pitfalls to get more out of these collaborations.

digital innovation shop

1) Be un-brief. Immerse them in your business.

In the first weeks of the engagement your partner’s team will want to absorb an array of essential information. Preparing a brief might be your first instinct.

Relying only on a brief to initiate an innovation engagement can be counterproductive because it editorializes information prematurely. The typical brief has been shaped over many years by the needs of communications initiatives. Its extreme focus is designed to convey a concise set of product characteristics to a specific audience.

In contrast, innovation is driven by insight which can come from many sources — observing users, talking to employees or applying new technologies. To feed this process augment the briefing process with experiences that provide a more complete picture of the business, including its culture.


  • Allocate extra time at the beginning of the engagement to immerse the team in your business
  • Look for unorthodox, experiential ways to introduce them to the business
  • If your factory is state-of-the-art, take them on a tour and introduce them to the operator
  • If your product is edible or drinkable, set up a tasting with an expert
  • If your hiring process is unique, have a few of them interview
  • If your customer service is excellent, have them listen to customer support calls
  • Don’t hold back — share the pain points, known opportunities, competitive pressures, and aspirations that are top of mind for you, encourage others to do the same
  • Expand the standard stakeholder interview process to include non-stakeholders that can help the team understand the business more fully
  • Introduce them to your language: offer a crash course in the vocabulary and recurring topics

2) Draw a small box. Define the territory you need to explore.

While you don’t want to constrain the briefing process you will want to clearly define the territory for exploration. The innovation process can be applied successfully to both a broad problem space, like identifying new lines of business, and to a narrow one, like incremental innovation for an existing product.

Some clients want to avoid bounding a territory for the engagement. They are concerned about limiting the potential of the engagement and feel as though important ideas might be missed if they articulate boundaries.

While the instinct to keep all potential areas of exploration open is natural, it can dilute your results by creating lack of focus with your partner’s team and spreading them too thin.


  • Define the territory you’d like your partner to explore in terms of what you need from the engagement for it to be considered successful
  • Collaborate with your partner before the engagement begins to further refine the territory
  • Don’t worry about the box being too small. The best firms always push at the edges. It’s built into the process

3) Preserve some independence. Don’t integrate internal and external teams.

It is increasingly common for companies to have internal innovation teams or “labs” that are responsible for running external innovation engagements. If you’re in one of these groups you probably know that close collaboration with your partners can be especially productive.

That said, the desire for close collaboration may lead you to consider fully integrating your internal team with your partner’s team — uniformly sharing responsibility for key activities and deliverables. You may want to reconsider.

Integration can present challenges in aligning the pace, organizational structure and working style of the teams. Trying to reconcile differences may lead to inefficiency and detract from the desired outcome.

In addition to the operational challenges, you also run the risk of losing some of the fresh, objective perspective that you get from an outside team.


  • Don’t make integration of internal and external teams a requirement. Instead look for ways to collaborate closely
  • For projects that demand integration be sure to allocate time before work begins to design a working relationship both groups believe is viable

4) Contract flexibly. Describe scope as modular, changeable priorities.

These engagements sometimes take unexpected turns based on learnings from user research or in response to early stage work. The good news is that the turns are usually towards more fertile territory.

For obvious reasons the legal documents that govern most client-vendor relationships are not designed for flexibility. They are …


Peering into the soul of the virtual self

In April of this year I pre-ordered a Pebble, a new smartwatch that became a Kickstarter darling when it raised a kajillion dollars virtually overnight. Other than bragging rights, I want a Pebble because it will allow me to seamlessly track and record the average distance and speed of my bike rides to and from work.

But since my watch won’t arrive until September, I have some time to mull over the implications of self-tracking that Nora Young raises in her new book The Virtual Self: How Our Digital Lives Are Altering the World Around Us. Young explains how the combination of social media and geolocative smartphones now allow us to create elaborate shadow selves comprised entirely of data. Never before have we been able to share our daily activities with the world and also have them link back to our physical locations. The result is “a Data Map, a digital version of our earthly selves.”

The explosion of self-generated personal data has happened so quickly that we have yet to fully understand its implications. Through a combination of research, participatory journalism and in-depth interviews, Young considers the unintended consequences of our ability to post photos of everything we eat to Instagram and track our spending habits via

Young is not interested in scolding her readers, however. As she notes, “It’s easy to sit in judgment about self-monitoring, if you don’t do it. There is, however, something deeply human about the urge to document our lives, to look back at a pattern of our behaviour and make sense of it, to use it to construct the narrative of our lives.”

We are now able to crunch a variety of personal data and compare it against the Data Maps of others, using tools previously available only to major corporations. As Young notes, “The ability to reassemble information in new ways makes personal metrics much more powerful, allowing us to understand the meaning of our behaviour in a new way.” We have become test subjects in laboratories of our own design.

The problem, as Young points out, is that a Data Map cannot be used as a substitute for careful introspection. We can easily track calorie counts and bike routes, but even the most sophisticated pie chart or infographic built from our personal data will never be able to reveal our emotional or spiritual selves. Or, as Patrick McGoohan famously put in the 1960s show The Prisoner, “I am not a number. I am a free man.”

Young also identifies a major paradox: our digital obsession reduces our physical presence in the world, and to compensate for this disembodiment, we’re using the very same technology to try and reaffirm our identity. “Today’s urge to document the self is an attempt not just to assert the self but also to ground the self, to tether it, to re-embody it, to give it heft and substance.”

During a recent talk at Third Tuesday Toronto, Young used the invention of the telephone as a reminder that although technology might nudge us toward certain behaviours, it does not solely determine our actions. Many aspects of the telephone, including what to say when answering it (Alexander Graham Bell suggested “Ahoy”) were negotiated over time. The fancy term for this process is social constructivism, and Young argues in The Virtual Self that “we have the power to shape the character of our technologies.”

As our Data Maps grow in scope and importance, Young suggests that data portability will become a mainstream concern, and we might need to start treating personal data as a form of intellectual property. As Young notes, “The streams of data we’re creating are worth something. We want to access the data for our own purposes, but it’s also potentially useful to governments and to researchers interested in creating smarter policies and more responsive cities.”

In short, by the time my Pebble arrives, I will need to determine not only what I might want to measure, but why I want to track it in the first place.…

What should we watch? Part I: Before the TV

The connected world is changing the way we live. In order to offer our clients accurate insights into what’s next, it’s crucial that we understand consumer needs and behaviours, and how they are impacted by digital technology.

Recently at the Nurun Lab, we’ve been studying TV and movie viewing rituals. Never before have we lived in a world with such a complex and diverse media landscape. We have so many more options in every regard – the content, the location, the platform, the time and with whom. Inevitably the obvious question arises: how does a viewer select media content to watch?

To clear up the mess we decided to take a look back at history – which always seems simpler – to compile three comparable consumer journey maps. Our first map delineates the main influences that led people to watch a movie, like Gone with the Wind (1939), in the 1930s.

Over the next week we will post the two subsequent journey maps to present the explosion of the influence of TV in the 1970s and the proliferation of the Internet in the 2010s.…

social media

The return of word of mouth

What if we were to stop thinking about social media in terms of likes, followers, pins, re-blogs and ROI $ and instead thought of it as a storytelling tool or a customer service platform?

Thinking of social platforms as a meeting place for like-minded individuals (‘fans’) to discuss their common interests (‘the brand’) enables companies to not only enhance their commitment to each individual customer, but also to inadvertently facilitate the storytelling process. Giving people a place to share their stories not only generates rich brand-inspired conversations, but plays off one of the greatest marketing techniques of all time: word of mouth.

In the age of social media, consumers are the true brand owners; what they have to say about a brand will ultimately shape its reputation both on and offline. A positive review on Amazon or Yelp can be much more influential in determining a brand’s success than any PR or ad campaign. By leveraging their online communities, companies can use this grassroots marketing movement to their advantage.

One company that’s getting this right is Steam Whistle Brewery. I recently had the opportunity to speak with their community manager, Marina Arnaout, about the company’s consumer-centric approach to social media.

Much like their do-one-thing-really-well approach to beer making, using social channels to connect with consumers is a natural extension of the Steam Whistle brand. “For us, social media is about engaging in transparent, two-way conversations with Steam Whistle drinkers. It’s never been about finding a way to put a numerical value on a consumer,” said Marina. “At the core, social media is really about customer service. It’s real-time, it’s constantly on, and it’s definitely the future of our industry,” she added.

This fan-centric approach – focusing on fan engagement levels instead of ROI $ – has helped Steam Whistle cultivate a passionate community of brand ambassadors both on and offline. Want proof? Check out Trip Advisor, where fans of the brewery have ranked it as one of the top ten tourist attractions in Ontario.…