Open News

GitColony makes open source projects fun

Mariano Focaraccio is the CEO and co-founder of Gitcolony. I met him during the Dublin Web Summit, where he talked about his solution to help people contribute to open source solutions. Gitcolony has a matching system to help pair coders with open source code they can contribute the most to, and a review system that allows for developers to be given great feedback, and a standardized score, for contributing to open source code. 

Here are questions I asked him.

Open Source Projects with code(love)

Open Source Projects with code(love)

1) What’s your vision for Gitcolony?

We want to redefine the code review experience, help open source projects and build a reputation system for developers.

a) Redefine the code review experience both for open source projects and private repositories: we notice the process is broken and developers use meetings and emails to give feedback on code. This is highly inefficient and not effective as information gets lost. Also, because reviewing code is the most boring part of developers’ role, code reviews get done on a rush before the code needs to get pushed to production.

b) Help open source projects by spreading the responsibility of the revision of the quality of the code. Shellshock and Heartbleed happened because nobody ever revised those pieces of code in 27 years!

Nowadays only the small core teams of open source projects need to review the pull requests they receive. With our voting functionality, a broader community can decide which pull requests are of good quality and are ready to be merged.

c) Build a reputation system by evaluating both the quality of the code and the quality of the code reviews. We’ll allow the community to know which developers are good.

2) What are some tangible examples of how this helped build communities/contributions around open source projects? That’s notoriously difficult to do.

We recently launched Gitcolony but we are already helping build stronger and larger communities around both very well known open source projects like Laravel, WordPress and Rails and smaller and completely unknown projects.

Also, several companies are using Gitcolony internally, for their private repositories to level up the quality of their code and ensure they are building scalable, maintainable, reliable, cohesive and efficient.

3) What are your thoughts on open source projects, and how Gitcolony can encourage more participation in the movement?

We never stop surprising ourselves of how software developers collaborate, give feedback and share solutions with the open source community. Think about it… there’s no other area where this kind of selfless sharing happens.

Until now, developers could contribute with open source projects by coding or documenting. With Gitcolony, they can also do code reviews and we are seeing how code reviews is already getting new developers involved and interested in open source projects. Developers who did not use to participate in the community.

Gitcolony is also a good way to spread the word about open source projects.

Interesting? Check out other cool things you can build with open source at our Open News section.

Learning Lists

Learning Artificial Intelligence

Last year, my partner and I designed Gump, a Voice-Commanded Bipedal Robot for our Engineering Graduation Project. Gump won first place in the Engineering Faculty for Best Project and is currently featured in Engineering News Magazine at Concordia.

The moment we saw our robot walk on two legs for the first time and respond to the sound of our voice was miraculous.

That moment is when we knew we wanted to work on artificial intelligence for the rest of our lives.

Learning Artificial Intelligence with code(love)

Learning Artificial Intelligence with code(love)

That moment is when we knew we wanted to work on artificial intelligence for the rest of our lives.

As technology grows, so does the information that is available to us.

We began working on artificial intelligence in the NLP (Natural Language Processing) domain, something that allowed machines to understand and process human language patterns. We worked on speech recognition and now we are doing text analysis using artificial intelligence.

We’ve learned that the possibilities of using artificial intelligence are endless. Learning artificial intelligence is crucial to understanding how the 21st century will unroll—Chris Dixon, a prominent venture capitalist, argues that the next 10,000 startup ideas are clear: take x and add artificial intelligence to it.

With artificial intelligence, you can get unlimited insights from Big Data. Imagine measuring the mood of iPhone Users on Twitter after Apple’s latest product launch, gauging the world’s opinion on a major event like Russia’s invasion of the Ukraine, or predicting a company’s performance based on previous financial data, without any need for a human to relay that information to us.

Imagine a world where machines can automatically process information, and present it to use in a relatable and relevant form. This is what artificial intelligence proposes.

Artificial intelligence can help us all be more informed in less time, allowing us to make quicker decisions by getting the insights and analytics we need from Big Data.

Learning Artificial Intelligence

Learning Artificial Intelligence

Because of all this, I’m excited about artificial intelligence. I want you to be as excited as I am, so I’ve decided to highlight some ways to get started with artificial intelligence using resources available online

1-NLTK with Python

NLTK stands for Natural Language Tool Kit, an open source library with lot’s of functions to help you use NLP and artificial intelligence. to solve a problem or work on a project. You must know Python to get started with NLTK. To begin your path, I recommend the Coursera class offered by Stanford University. You might want to brush up on your Python skills with this great book for Python and NLTK beginners and then level up and learn more about Natural Language Processing by looking at this book.

2- IBM Watson Sandbox

Watson is IBM’s artificial intelligence., famous for defeating two human contestants on Jeopardy by having only the Wikipedia database to answer questions. It is considered the gold standard for artificial intelligence nowadays. IBM released a sandbox version for using Watson’s APIs for 30 days, which allows you to hack away and create a cognitive application.

If you want to use Watson for your next big thing, you won’t be able to unless you’re a Series B Funded startup, but that will change in the future. The access IBM has given to Watson now bodes well for the future. The ecosystem is still evolving, but it is the gold standard of artificial intelligence, and IBM is working to make it more accessible.

3- Udacity Courses

Sign up for the free courses on Udacity for Introduction to Artificial Intelligence, and the three Machine Learning Courses offered there. There are tons of resources and a community there to answer all your questions. We personally believe that Machine Learning should be a mandatory course for every Software Engineer and Computer Science Major.

Check out the forums as well, they’re very insightful and they will help guide you step by step.

4- MATLAB’s Neural Network Toolbox

This one is costly, but if you can get a MATLAB license with Neural Network Toolbox license as an add on, you have a very powerful system to play with. NNT is an Artificial Neural Network that has amazing capabilities for your project like speech recognition, image recognition, and object detection. We loved playing with NNT for our robot, Gump.

With a few lines of code, you can create artificial “neurons” in your program. The neurons can be assigned to do several things. We created eight neurons with MATLAB, each one assigned to a specific voice command. After that, we trained the neurons by recording over 5,000 voice samples from every person we could find on campus. The more voice recordings each neuron had per voice command, the more it grew in knowledge. When we tested it, the response was just perfect! MATLAB is immensely powerful.

Those resources will help you get started with learning artificial intelligence.

Leave comments below if you found this helpful, or know of other resources!

This post was written by Yaz Khoury, the founder of an A.I startup called Summarit that uses artificial intelligence to summarize articles for students.

Learning Guides

How I grew my mailing list by 133 emails in 2 hours

I’ve always had a theory that Newton’s Third Law applied to people. I think that’s largely been borne out by all that I’ve experienced.

Put your trust in people and you’ll get that trust repaid in you.

Do good, and others will do good unto you.

It was Dale Carnegie’s How to Win Friends and Influence People that probably put it best—when you make people feel like they’re important, they’ll respond to you in kind. You shouldn’t ask people for things directly: you should ask them for a favor, make sure that they know that they’re in a position of influence and power. That will elicit a favorable response to your endeavors.

I’ve always been a huge fan of involving people in creative projects, getting people to feel like they have ownership over something even if it wasn’t them that originated the idea. I think that’s the basis of the greatest way to grow something: when people push your idea as if it was their own. Then, if you can get them to join up with you for the long haul by joining your mailing list, you’ll be able to grow your own brand as well.

If people believe that you’ve heeded their words, and that they’ve played a part in your creative process, people will act on your behalf. If you genuinely listen to the input people give you, that’ll make them feel even more inclined to help spread the word.

I’ve always loved testing this—collecting both information that shapes my creative projects, and fans is a strong ideal for me. I worked for a startup where I segmented all of their top users, and surveyed them about what they actually used it for. Those super-users not only gave a ton of insight—they re-activated and used the product again at higher rates.

So while I was preparing for the launch of my book, I wondered how I could get people involved. Finally, it hit me: I was missing the most important element of my book: the title.

So I set off to create a survey form and prepare a list of startup Facebook groups I wanted to ask for their insights. Here’s what the form looked like:

Entrepreneur Blackjack Google Form with code(love)

I collected the answers on a Google spreadsheet connected to the form. Technologically, it took me about 5 minutes to get this all set up.

I then spent a couple of hours sending the link to this form on my personal social media profiles, and on a few selected startup Facebook groups. The results were convincing—

I got 369 clicks. Out of those 369, 167 replied with a title (conversion rate of 45.25%), and 133 asked to be part of the mailing list for when the book launched (conversion rate of 36%).

The click-through rate on the first newsletter I sent out was 20%, leading me to believe that upwards of about 30 people got wind of my book from just a couple of hours of work. I did get a few unsubscribes, but many people opted to stay on my mailing list: so I added a pool of new subscribers interested in what I do. I was able to grow my mailing list very rapidly.

I got great data from the 167 responses.

A significant amount of people chose the other option, which meant my titles I thought up were not strong enough. In a comment on one of the Facebook threads, someone came up with the idea that I should title the book Startup Blackjack since I was defining 21 startup terms—I ended up titling the book Entrepreneur Blackjack: 21 Startup Buzzwords Defined. This was also because titles with the word “Defined” scored high in the chosen categories—and so did the word bulls**t, even if I didn’t incorporate that (it might be something where profanity does drive sales, but I was giving my parents the book, so it wasn’t the best choice for me.)

Why did this happen?

I believe it’s because I really tapped into the entrepreneurs I asked ,making them feel part of the creative process. With two simple call-to-action prompts, people could contribute their input, then buy into the project they just helped create. For me it was a win-win-win—I got more people interested in the book, people who wanted the information I collected got access, and I created the title of the book with customer validation rather than blind guessing. I was able to grow my mailing list with new fans who were engaged straight off the bat.

With every action, there’s an equal reaction. I believed in creating with others—and I was happy to see others wanted to create with me. Here’s to your efforts to activating that same feeling.

Comment below if you’ve ever done something like this, or are giving this a try. I want to learn with you. 

Want to learn more?  Check out our other learning guides, and our learning lists filled with free resources to learn technology and entrepreneurship!

Defining the Future

“Growth hacking” in action: the best revenue-making secrets I found looking through Buffer.

What is growth hacking?

It always helps to have a concrete example. I love learning by doing, so I’ve decided to deep dive into the process for one startup, see what I can learn from it, and share the insights I glean so we can all get a greater understanding of growth hacking. Join me.

growth hacking with code(love)

growth hacking with code(love)



Now, where do we begin?

I like to say that startup growth should be an orchestra: different sections are trying different notes—when you listen to it from the crowd while they’re practicing, you can hear a consonance of some kind, but what’s happening is that each section is practicing how it should tune itself in sync with how the section sounds—and ultimately, how the orchestra itself sounds.

The beauty you hear at the end of a well-practiced orchestra comes from a series of players optimizing for their individual performance, as well as their collective one.

Brian Balfour, VP Growth of Hubspot, nailed it for me: he talks about how the most common question he gets is: what magic growth hack will propel your startup to instant success?

That’s a cop-out.

There’s no single magic bullet. The orchestra can’t just get a superstar violin player that can catapult the whole collective to success: they have to work so that each section of the orchestra gets progressively better, working within their individual units and the whole to deliver incredible, measured results.

There’s no magic bullet to startup growth.

You need a process that takes in new plans, works on existing ones, and gets new and existing players to work together to deliver magic, learning from yesterday’s mistakes to deliver progressively better results, forever experimenting and tinkering to do better.

You need a system to manage that.

For a system you need the aforementioned process, data, creative experiment ideas, and goals to aim for.

For a system you need the aforementioned process, data, creative experiment ideas, and goals to aim for.

I’ve worked with several startups already, but I’ve never had a complete taste of all of the data out there. This has been a function of my location as well as my inclinations: I’m based in Montreal, so I don’t have easy access to all of the startups clustered in major American cities. I’m also inclined towards earlier-stage startups where there isn’t as much data assembled: the startups are still going through the process of learning exactly how to grow. Most of them haven’t had the time to really look back at the data they’ve assembled.

Thankfully, with today’s emphasis on openness, that isn’t a barrier. Taking a page from Ivan Kriemer’s analysis of the Buffer dashboard gave me the inspiration to take a look at Buffer, which has wonderfully made its data and practices available to all.

You might know about Buffer from the great content they put out, not only on their blog, but through the social media management tool that forms the basis of their business. Buffer allows you to queue up a vast array of social media posts: the software handles the optimal timing for everything, allowing you to collect data on the effectiveness and reach of your social media efforts, while reducing the friction of organizing content for those efforts.

They also have a cultural commitment to radical transparency. Buffer has posted employee salaries online, charted their organizational thinking openly, and posted all of their metrics online. All of this leads to a wealth of data to play with.

Data-driven with code(love)

Data-driven with code(love)



Playing with the data yields a whole host of insights. It’ll allow us to come up with experiment ideas, and goals that make sense to “growth hack” systematically, and push Buffer even further into the green.

“[Growth hacking is] experiment-driven marketing.” – Sean Ellis

Caveat here: I might make mistakes in reasoning or gathering numbers here: if I do, I want you to call me out on them in the comments productively. We’re all in here to learn together.

Also, none of this is conclusive because we don’t have all of the data.

It’s very difficult to parse cohort-by-cohort analysis from the open Buffer dashboard, one of the things you should do because each collection of users goes through a different life-cycle of using the product. This incomplete view on the data has a negative effect on any data analysis.

Buffer is a software-as-a-service business, where their users pay monthly for premium features, a typical freemium subscription model. Churn is the enemy of this model. The number of people who jump ship after becoming a subscriber decreases the amount of money you can count on coming in every month.

Most cancellations occur in the first month of a subscription. A churn rate increase, one of the red flags all startups are told to watch for, can be deceptive in this case. You won’t know if it is a function of your product going bad. It could mean that you’re experiencing explosive growth that is driving churn because a larger portion of your userbase are hitting that first month wall with higher cancellation rates. You wouldn’t know if this was the case unless you could measure growth cohort-by-cohort, and separate out old users unhappy with the product, and new ones are just trying it out.

We must also keep in mind that this is insight from Buffer’s Stripe account, which means we’re looking exclusively at when Buffer collects money: that’s fine, but we have no idea of, among other things, when Buffer spends money.

We’d need a look into their Google Analytics/Kissmetrics for that, which means we’re missing at least one essential piece of the SaaS puzzle: cost of acquiring a customer.

The metrics are also anonymized so we have no idea of who the clients are, which helps with privacy issues, but hurts when it comes to making tangible recommendations—beyond hypotheses, assumptions and some aggregated data, we can’t really target great clients based on little more than the revenue categories they’ve been placed in.

Nevertheless, the Buffer dashboard is a great look into one of the fastest growing consumer applications in the world: a set of numbers that implies a lot of activity, and interesting insights to be gained. Finding trends in the data is where all good growth hacking begins, so let’s start.

We have to look at all of the data before we find trends. The current situation looks strong, but there can be improvements. Monthly recurring revenue at $367,000 implying an annual run rate ($367,000 * 12) of $4.4 million (4.404 million to be anatomically precise) means that we’re looking at a business that has hit product-market fit. There are 28,484 current paying customers. Buffer long ago hit the 1 million total user mark: it happened in September 2013, more than a year ago.

In the last Buffer Open update, CEO Joel Gascoigne mentions that there were 1,725,172 total users of Buffer. Extrapolating the average of the two previous monthly growth rates in users (3.3% and 3.7% average to 3.5%)—I’d do a weighted average, but that’s just being pedantic at this point, then you can assume that at mid October, there are now 1,816,800 users assuming a growth rate of 3.5% that takes to us to the end of September, and 1.75% that takes us to the end of October.

Buffer with code(love)

Buffer with code(love)



We now have enough to get almost all of the metrics Kissmetrics considers must-have for SaaS businesses at this stage: monthly recurring revenue, churn, average revenue per user, and the lifetime value of customers. Acquisition cost, as mentioned above, is something we’re going to have to assume.

Important trends from the data

Number of total users (approx): 1,816,800

Number of total paying subscribers: 28,484

Subscription rate (approx): 1.567%

Lincoln Murphy often sees an average 3%-5% conversion rate, but that’s for pure B2B subscription services. For applications with more B2C implications like Dropbox and Evernote, it’s tends to be lower. Phil Libin, for example, structured Evernote to be profitable at a 1% conversion rate. Now, about 2% of all Evernote users are paying customers. Obviously, Buffer would like to do better, but while there is room to improve, this isn’t a bad baseline.

MRR (Monthly Recurring Revenue—the lifeline of a subscription business. How much money keeps on coming in month-by-month: $367,000, growing at a 5.7% clip in the last 30 days.

Joel mentions that August’s 4.8% growth rate was tepid and that he would like to focus on getting it up. The slow growth rate might have to do with the seasonality of the product, given that August is a slow month for social media professionals, an important point to always remember when treating numbers: they always have a greater context. July’s growth was 6.6%.

Getting monthly recurring revenue growth rate up would seem to be a key performance indicator, something important to move the chains on, and measure, because it represents a crucial factor to the health of any business. That’s something we’ll definitely have to consider on our experiment proposals: we’re going to focus more on tasks that are lower in the acquisition funnel, and which deliver money now.

Churn rate (the number of people who are unsubscribing from the service): Monthly user churn: 5.1%, decreasing 5.1% in the last 30 days.

Monthly revenue churn: 6.5%, increasing 2% in the last 30 days.

Seems like good news on the user front, but remember, August was a slower month than most. A churn rate decrease could just be less people hitting that first month wall. A year ago, monthly churn was around 4.4% for context within Buffer. The yearly change in monthly churn rate is 15.8%, a significant uptick.

For context outside of Buffer—70% of SaaS companies had annual churn under 10%. 5-7% annual churn rate is acceptable for pure B2B SaaS companies according to Lincoln Murphy. Again though, Buffer is a strange beast with massive consumer and business applications, more akin to Evernote than any of the SaaS companies incorporated in the survey in the number of people it attracts. Still, a 5.1% monthly churn rate on a purely annualized basis (without taking into account cohort thinking) comes out to 61.2% annual user churn—meaning on an oversimplified basis that Buffer is losing more users than it keeps in a year. It’s something to keep in mind, even if it doesn’t look that bad given Buffer’s expansive user base of millions, and available consumer growth engines: churn rate is pretty high. Getting users might not be as important as keeping them, especially given that it often costs 4 to 6 times more to acquire new users than just to keep existing ones.

How is revenue churn increasing, while user churn is decreasing? Turns out that this a function of Buffer’s split of users into casual and business users, a key insight that  will come back again and again.

The vast majority of Buffer users are on the Pro plan, which costs $10/month, or $102/year. This allows you to connect 12 social accounts, and queue 200 posts: basically, if you’re a small business or a freelancer doing social media management, Buffer is reaching out to you. On the other end, there are business plans that can connect hundreds of accounts that will cost you upwards of $250/month.

It appears that monthly user churn of heavy enterprise accounts is really high, a function of the fact that there are so few, and that this seems to be a relatively new cohort. Monthly churn rates for some of these categories are as high as 33.3% (though that seems to me to be a function of the fact that there are so few of these plans). They’re such heavy money earners, even though user churn might be going down as a function of less Pro/Awesome plan members churning, revenue churn can still increase: an important point we’ll return to.

Average Revenue Per User: $13, growing at a 1.7% clip per month.

In a year, this has grown by about 26%, which is relatively static considering monthly recurring revenue has grown by 146% at the same clip. This seems to indicate that the majority of growth is coming from new users rather than finding ways to up-sell current users.

Given that the Awesome/Pro plan is really the only option for consumers, and the rest are billed as business plans, this makes a lot of sense. Upsells would only typically happen if people were transitioning from the Awesome plan to Business plans, suggesting a user behavior pattern of trying the Awesome plan to validate if it can work for a business.

The number of upgrades last year were 3,264, compared to 1,196 downgrades. However, this is somewhat confusing because Buffer counts switches from monthly to annual plans as a downgrade—despite the fact that annual plans actually have a much higher LTV than monthly ones (more on that later). In total, you can surmise that 4,460 people were moving around in the Buffer system last year. Considering that there were 28,424 customers, an oversimplified metric that didn’t account for users doing multiple transitions, and the changing composition of Buffer customers, would indicate that about 15.7% of people move from one tier to another, after only about 1.5% go to being paying customers in the first place. What this means is that people are ready to be upsold, but perhaps Buffer hasn’t captured as much value from that as it should.

Average LTV (Lifetime Value, or how much Buffer gets on average from each client in their full stay with Buffer) of customer: $251, up 7.2% from the last 30 days

This is where Ivan’s analysis of Buffer shines. You realize that there are large LTV values for Enterprise clients but those on the Awesome plan pale in comparison: this is a quantity over quality play, but the contrast is quite stark: $583 LTV for the yearly Pro plan, and merely $134 for the monthly one. This in comparison to the enterprise plans, which often average many times more—some above $25,000 in LTV. You can make a theory that finding ways to commit people to the annual plan will drastically increase MRR, by reducing revenue and user churn.

Given some insight I reached by meeting with Buffer’s COO, Leo, I’ve realized that these are soft-sell clients who have passed the limits of standard plans and asked for custom limits. Given how high the LTV is however, it may well be worth the time to find out how to formalize this arrangement.

My meeting with Leo, COO of Buffer 

I managed to snag a meeting with the COO of Buffer, who gave me a lot of insights. I’ve realized that Buffer’s analytics and data are the biggest sell for enterprise clients, that Buffer doesn’t use paid acquisition (doesn’t really work for them) and the biggest growth engines are built into the product itself.

Important insights from the data

Enterprise clients are really important—and it seems Buffer is moving to that direction.

Buffer’s profile is akin to Evernote’s: freemium with a high customer base, and higher adoption rates, but with higher churn rates as a result. Churn can be lowered but it’s not the biggest issue here.

Buffer focuses on its’ content and the product itself as its’ main avenues for growth: and its’ largely working.

Awareness isn’t as much of a problem as activation. The KPI Buffer is really looking for is increasing the monthly recurring revenue.

Buffer is affected by seasonality—it does rise and fall with the whims of its’ power base.

Buffer is seeing a lot of movement between tiers, but maybe not taking full advantage of it.

Experiment ideas

1-Get a contest going: best social media agency, or social media agency with the most clicks gets a free custom enterprise package from Buffer.

This will help spread more awareness of the enterprise options available, and business plans, and will bring out Buffer power users to compete against one another. If you mandate that they have to share their results with the Buffer team, and their tactics, highlighting the agency at the same time—you create a rich slew of content from heavy social media users about some of their tips and tricks.

This will create more awareness about business plans, opening up a new slew of rich, interactive content. Test to see if it is driving more adoption of business plans by linking contest content with sign ups, and tracking to see if this cohort of business sign ups have similar, better or worse metrics than the current average.

2-Create a bigger incentive to sign up for yearly plans.

Add prompts in the upgrade panel about an added benefit—A/B split test to see what works. It could be more posts in the queue,or more social profiles.Offer people who do two months straight an upsell to the yearly plan with an even better discount for being dedicated Buffer members. “Hey, we chose you because you’ve become a Buffer power user, get 20% off our yearly plan!”. Really try to lock people into it.

This should decrease churn, and increase monthly recurring revenue.

3-Post sample case studies of business Buffer analysis and have a Buffer content crafter go over it. Do and don’t of social media. This will highlight the most popular feature of Buffer for Business, and create content that highlights how powerful Buffer’s analytics dashboard truly is.

This should increase activation via signups from the analytics dashboard, and increase awareness of the Buffer for Business rollout.

4-Test a new pricing tier/test pricing

You don’t want to take away from the transition to the business plan, but perhaps a plan that fit in between the Awesome plan and the business plan would work at a flat yearly rate of $200/year. Create a pricing page where you preview a new tier and see how many people sign up, and if people downgrade from a business plan. If the pricing tier makes more MRR, keep it going.

So there you have it: data. A system to manage that data, use it to glean experiments, and measure their effects. If they move the needle, keep the experiments going and scale them. If they don’t, or work against metrics, scrap them.


I hoped you enjoyed this rundown of what growth hacking represents to me. If you want to challenge me on any of my assumptions, or thoughts, please comment below! I know that I don’t know many things, and I am constantly discovering new ways of learning. Please connect with me at [email protected] or at if you want to further the discussion! 


Defining the Future

How to build 12 startups in 12 months: the startup MVP.

The following is an excerpt from my latest book, Entrepreneur Blackjack: 21 Startup Buzzwords Defined. The book is a guide to surviving startup cocktails, and building incredible new ventures. It defines a series of common startup buzzwords through storytelling and concrete examples so that everybody can learn from them, rather than using them to confuse.


The minimum viable product is an art, and not a science.

It’s when you finally decide your product is good enough to test out your original experiment. It is the bare minimum needed to get data about the market you’re in, and how customers will actually react to your idea.

A good MVP is a vehicle for your hopes and dreams.

As with any first car, there are a few rough patches to deal with.

When Twitter first started, they were not the Twitter you know and love. Twitter revolved around users texting messages with their phones,posting those messages on a publicly accessible web platform.

Netflix’s first rough version wasn’t even delivering movies online: it was about delivering movies through mail.

It’s important to realize that way back when they were getting started, those companies didn’t command the billions of dollars they do now. Their resources had to be focused on one narrow test, and that test had to be delivered under the simplest conditions possible.

Twitter was testing whether or not people wanted to be part of an organized universal message board, somewhere where you could post your thoughts simply, and see them displayed for all to see. The largest unorganized cocktail party on Earth ensued. It was only afterwards that Twitter worked on refining the experience.  The Twitter you know now that allows people to post directly on the platform through mobile applications, and allows them to easily find out what is happening around them through hashtags, and curated accounts—that was a Twitter that took years to evolve.

Netflix was trying to test a simple theory: would people be willing to pay for convenient access to movies? Instead of going to Blockbuster or anywhere else, would they prefer getting it shipped to their homes? If they did prefer that, it naturally followed that they would like to have video streamed to them on-demand with the web. After all, instead of dealing with the messiness of physical tapes, imagine instead a service that could deliver to you the media you wanted whenever you wanted it.

Netflix certainly imagined it. They executed on it masterfully.

Startup MVP Timeline

Startup Timeline

The test for instant on-demand online access to media was validated. Consumers accepted it en masse. Along the way, Netflix learned a great deal about the pain they were solving, and how they could go about delivering video to their consumers in the best way.

Netflix decided to move to external servers after an internal data center failure almost wiped out their ability to deliver videos on the web—which at the time was an experimental feature. By moving over to a more secure solution, Netflix ensured that the experimental feature that would become the centerpiece of its business would always be reliable.

The minimum viable product allowed for these large giants to test ideas cheaply, and make sure that when the time was right to spread their product like wildfire, everything was on a solid foundation.

It is through the minimum viable product that you first collect the data you need to establish if you have an idea worth pursuing. It is here where you determine whether or not you might need to pivot. It is here that your idea becomes something tangible that can be shared throughout the web, rather than a figment of your imagination. It is here that you see whether or not you are solving a real problem—and whether or not you have real customers who need your idea to exist.

Pieter (aka is an entrepreneur who has committed to doing 12 startups in 12 months. He’s constructed a series of minimum viable products that have been featured on Wired, the Next Web, and a whole host of publications, and been used by hundreds of thousands of people.

His latest venture, NomadList, focuses on sorting the cities of the world so that you can distinguish how friendly they would be to remote workers, from climate conditions all the way to how LGBT-friendly the cities were.

The idea has gone on the top of Product Hunt and Hacker News, two popular directories for startup ideas that will drive incredible traffic to new ideas. NomadList has received over 100,000 visits in less than a month.

NomadList MVP with code(love)

NomadList MVP with code(love)

Pieter is the perfect example of somebody who gets what a MVP should be about. When he talks about his ideas, he talks about building them as simply as possible, and just getting them done.

He started NomadList, a venture that was profitable from day 1, through creating a shared Google Spreadsheet, nothing more. He didn’t need to create a website or anything fancy to test the theory that people needed a guide to help them figure out cities where they might want to work remotely.

It can take you or me, or anybody less than five minutes to set up a Google Spreadsheet.

Soon after Pieter shared it, the list was getting populated with new information and new categories. Somebody filled in how LGBT-friendly each city was, rounding out the NomadList to its’ final form.

Demand for Pieter’s idea was established in the simplest fashion possible.

Perfect is the enemy of done. Done is when you can begin testing your theory that your idea is something people will use.

It is here where an idea becomes a startup.

Get the book here.

Technology and Society

How Citizens United is corrupting America and the open web

If you’ve ever Google searched for an image, you’ve encountered two of the strongest tools for digital builders in the modern age: Creative Commons (built by Lawrence Lessig) images, and Linux servers.

Google is built on the back of Linux servers, made possible by a collaboration of digital builders who claim no money, but rather build free software—free in the sense of free speech, not free in the sense of free beer, though most versions of Linux are free in both senses of the word.

Any image you find that is tagged with Creative Commons licences can be used, often with simple attribution. You can use it to build out your next website, your next slide deck, your next sales pitch: whatever you wish.

code(love) with creative commons

code(love) with creative commons

All you are asked to do is to pay it forward. Give the creator a link. Help contribute to open software.

Both of these systems rely on a simple principle: builders should be free to call upon a shared heritage, and move it forward to the benefit of all. Free software has been the kernel that has powered the distributed innovation of this age, from the multi-billion dollar successes of consumer apps like Facebook to Twitter, to entire industries based on big data to 3D printing.

At Facebook, we have always been strong advocates of open software. From our earliest days – when the site was built on PHP, MySQL and memcached – we’ve been privileged to stand on the shoulders of open source giants.

What the richness of open web culture has shown us is that everybody should benefit from a shared and rich tapestry of collective creativity and building. One voice, one vote, and a system that encourages the little guy to get what they can, and pay it forward—this has led to the creation of projects of incredible strength.

Politicians would do well to head the many they are entrusted to represent, and not the few that can buy their time, because this sort of innovation hangs in the balance.

The Supreme Court disagrees. Money, after all, is free speech. It is not to the creators of a vast and rich intellectual heritage that benefit should accrue: it is to the takers, even those who have avoided the law to make it to where they are.

Disney’s movies, based so closely on the Brothers Grimm. Hollywood, moved to the West Coast to avoid Edison’s patent fees. Apple, and Microsoft, built on initial prototypes of others, and stealing. The irony is palpable, but inevitable. The rebel who becomes the incumbent seldom remembers it. Moats are entrenched so that nobody else can join. After all, there are shareholders to look after: shareholders beholden to material wealth and cultural poverty.

That the incumbent has so much access to the system means that the system will always favor those who are seeking to capture creation rather than build on it. Or as Lessig put it: “the government is dependent on the few and not on the many.” And those few are often very focused on ensuring that they remain the few with the ability to influence.

A government that really listens to only a section of its’ people will oversee a stagnant system counter to the innovation that is powering the 21st century. It will fundamentally betray the tenets of its’ own creators: “Madison told us that ‘the people’ meant ‘not the rich more than the poor,’ ” Lessig said. It will mistake money for representation, and ignore what made America great.

Open News

Speeding up your website with new HTML picture magic.

A new HTML wrapper.

Will it speed up your website?

HTML has served as a backbone for millions of websites over the internet, but there are times when websites don’t deliver content at a fast enough pace. After having encountered a set of issues with current active HTML-based websites, web developers have planned to solve this problem for numerous individuals who’ve invested a good amount of time, money and efforts into building a perfect website, only to see visit rates decrease because it took too much time to load.

Through this post, I’ll be highlighting for you the significance of adding new HTML into an existing portal for improving its overall performance and speed. I’m sure by the end of this post, you will be ready to incorporate additional HTML into your website that will make it better.

A new HTML element with code(love)

A new HTML element with code(love)

Why new HTML?

It was the problem of images that gave birth to the concept of adding new HTML. Out of a total of 1.7 MB web space occupied by the average single webpage, nearly 1MB of that space, or close to 60% of all web space is occupied by images. If you have a fast internet connection, then even an image payload doesn’t pose a problem, but if you’re using a mobile network then a huge image payload can actually slow down how you load the website as a whole. Image tags are also currently set up to deliver all of their contents to a web page, even when it’s not fully needed as in the case of mobile websites. This leads to a huge amount of wasted loading time. 

To address this issue, a lot of site owners opted for building a second mobile-only version of their main website. Though this sounds a bit crazy now, just a few years ago, this was actually being done by entrepreneurs whose audience mainly comprised of people using their smartphones for accessing websites. Server-side device detection scripts were being used for redirecting users to a dedicated site for mobile devices, for example These dedicated mobile URLs of websites were referred to as M-dot sites. Even now, if you go to, you’ll see the mobile version of the Facebook site—even if you’re on desktop! 

Introduction of the picture wrapper

The story of the new picture wrapper began with the developers working on the Boston Globe that included Mat Marquis, who was the co-author of the HTML specification. While initially, no one thought about creating new HTML elements, it was Marquis who stressed building a site that could load faster on mobile devices. It was then that Marquis and other developers started with an image and enhanced it using cookies and JavaScript. During this time, major web browsers such as Firefox and Chrome were updating their prefetching capabilities. This turned to be more than a plain problem for Marquis’ solution of adding new HTML elements. Unlike the previous years when the browser first downloaded all the HTML on the page and then parsed it, today’s modern web browsers are simply downloading the images before parsing their body, causing massive slowdowns in loading times.

Something had to change.

Image element with code(love)

Image element with code(love)

Navigating through 

Although it was convenient to decide there should be a new HTML element to solve the problem, actually navigating the idea through the complex world of web standards was not as easy.

These developers first took their ideas to WHATWG– one of the two groups that oversees the development of HTML. WHATWG serves as a good place for determining how browsers would ship web design/development ideas. WHATWG was, however, displeased when people outside it rendered suggestions as to what it must do. It was due to this that Marquis and his team of developers didn’t manage to get WHATWG interested in the new HTML element.

Then W3C– the second group that oversees HTML standards, launched a brand new idea called “community groups”. These community groups were W3C’s attempt to get outsiders involved in the standard process of working out solutions for slow-loading websites. The developers started their own community group which was further named as the Responsive Images Community Group (RICG).

It was the WHATWG group that eventually overcame its not-invented-here syndrome. With compromises taking place, the RICG rolled out support for a number of web design and development ideas that were set into their proposal for a new HTML element. Since all this wasn’t enough for convincing the WHATWG, the group members started working together with Marquis and RICG for turning their ideas into reality.

The big breakthrough from Opera’s Simon Pieters and Google’s Tab Atkins

Well-known developers Simon Pieters and Tab Atkins came up with a simple yet powerful suggestion of making the picture tag a wrapper for img instead of a separate element altogether. This way, specifying a set of rules for images depending on a set of conditions such as screen sizes was a lot easier, and less confusing—you would rely on the handy old <img> element, but just append conditions to it. The browser would then load whatever images you specified instead of loading one image, and then adapting it to different sizes—cutting down on load time for mobile websites that could now choose to load mobile-friendly images only. 

The magic of responsive images has come to life, allowing mobile users to save their data and loading times without lifting a finger—creating better websites that load faster, and foster happier, more engaged users.

Here’s an example of what the code looks like:

"<img sizes="(min-width: 40em) 80vw, 100vw" srcset="examples/images/medium.jpg 375w, examples/images/medium.jpg 480w, examples/images/large.jpg 768w" alt="A giant stone face at The Bayon temple in Angkor Thom, Cambodia">"

In this instance, the sizes indicator specifies screen sizes where transitions are made between a medium sized image at 375w (anything below 80 vw) to a large image at 768w displayed at anything below 100vw to above 80vw.

vw is a CSS size unit that corresponds to the size of the viewport, or what is displayed to the end user. 100vw means 100% of the viewport’s width. Em is a similar sizing unit that corresponds to the height of your font in inches.

While work goes forward on deploying it in all major browsers, you can play around with the new setting at, and test it out yourself—

Wrapping up

The web is constantly evolving. With this new HTML picture magic, you can make sure your users only load what they have to access your content. As communities of thinkers and developers advance new technologies, the way forward becomes quicker, better, and more powerful for all.

About the Writer:- Samuel Dawson is an expert writer/blogger. He has written many research articles on converting HTML to WordPress theme website. Besides all this, he is working for Designs2html Ltd. – A leading PSD to WordPress conversion service company. This article relies heavily on for source research. 

Open Stories

Plunker: Open Editor Perfect for Angular.js


Some of the best open-source technologies are based on a great mix of things.

It usually comes after somebody with an entrepreneurial spirit confronts a problem due to old mentalities. As the old saying goes: “necessity is the mother of invention”.

Innovation is often about molding different pieces together and building something new out of it all, taking failure and turning it into the creation of something new.

3M’s post-it notes were created because one scientist named Spencer Silver failed at creating a strong adhesive for the aerospace industry. Instead, the result of his work was too weak to be used to mold together much of anything.

It was Art Fry, another 3M scientist, who was frustrated by how his paper bookmarks kept sliding out. Turning to what had been regarded as a failed adhesive, he realized that if he stuck the weak glue onto a paper, it could represent a temporary sticky paper, a way for one to mark one’s position—a bookmark that wouldn’t slide out.

That was the birth of Post-it notes, bathed in the spirit of innovation.

Plunker: A Primer in Open Innovation

Plunker with code(love)

Plunker with code(love)

In that spirit, Montreal-based Plunker is a good example of what happens when necessity strikes exactly the right person.

The creator, Geoff Goodman, is a programmer by calling, but not by profession. He works for one of the largest accounting firms in the world, but his true passion is building web technologies.

By day, you’ll see him plugging away at financial models for the sake of profit. At night, he’ll be driven to build things for the sake of passion.

He recently came across a pain point of his that needed solving. He had been using JSFiddle to help sandbox and prototype several versions of his code, but found that it was lacking for more complex Javascript frameworks such as Angular.js, which require more of a file-by-file approach where you can separate out different aspects of your code into a contained and organized multi-file system.

Geoff had been looking to build a timesheet application, but was frustrated by how JSFiddle’s sandbox couldn’t take on the more modern and complex Javascript frameworks that were required to make the application truly interactive.

So he set out and modified the Ace text editor, an open-source code-editor used by Cloud9 to help programmers build and prototype applications in the cloud.

Prior to finally installing Linux on top of my Chromebook, Cloud9 was the only way I could access node.js, and other tools that allow you to build out full web platforms, rather than simple display-only HTML/CSS pages.

The Ace text editor is open-source technology that aims to emulate the features of other text editors for code such as Sublime Text. Geoff built out an intuitive user interface with Ace that allows one to save one’s sandbox experiments (dubbed Plunks) and toggle easily between different Plunks, and different files within the Plunks. You can test your code, and see the live results instantly, which is quite gratifying for more complex applications that don’t load well in JSFiddle., responsible for scaling node.js applications, and MongoLab, which offers MongoDB have pitched in to help build out and scale the back-end for saving and accessing Plunks. The Angular.js team and tons of denizens of StackOverflow, a popular programming Q&A website, have used it to explain and teach code. Plunker has been an application built on open-source principles being helped throughout by a community that believes in it.

You can load up your plunks in Plunker with frameworks, including Angular.js, Bootstrap, and a whole host of others. You can save them for your own learning purposes, and watch what others have done with their plunks—this one taught me how to build with ng-table, an Angular.js function that extends tables to some nifty properties such as sorting, filtering, and pagination within tables.

Plunker’s been visited by hundreds of thousands of people, and used by many to learn and to teach programming. Plunker started with one person, frustrated at his own pain point. This is the beauty of the open Internet—something that allows solutions to spring from anywhere, supported by a community of people who believe that building is beautiful—and that sharing is caring.

Learning Guides

How to learn Ruby

In an online chat session between Yukihiro Matsumoto and Keiju Ishitsuka in early 1993, a discussion ensued about the name of a programming language that Matsumoto was going to write. He wanted to satisfy his desire to have an object-oriented scripting language, something that would craft virtual objects composed of data, and help them interact with one another. The alternatives at the time, Python and Perl didn’t appeal to him, Python being too object-oriented and Perl having “the smell of a toy language”. Between “Coral” and “Ruby”, Matsumoto decided to go with the latter because it was the birthstone of one of his colleagues.

You have probably heard about Ruby, and you might be wondering—what is all the fuss?

For starters, it’s written in a very easy-to-use, intuitive manner.

For beginners who have tried teaching themselves a programming language, there are many obvious barriers like the syntax and semantics of a language. Ruby strives to eliminate some of those barriers, for example, by naming functions in a very “natural-language” like format, the is_a? function does exactly what it promises, returning a Boolean (TRUE or FALSE) telling you whether a given object is of a certain type. The question mark at the end of the function is a Ruby idiosyncrasy that hints that the function always returns a Boolean. It may seem odd in the beginning, but as the amount of Ruby you read increases, the more natural this process will become.

Ruby is widely deployed ranging from applications in simulations, 3D modeling, business, robotics to web applications and security. For example, Basecamp – a project management application is programmed entirely in Ruby. Google SketchUp, a 3D modeling tool uses Ruby as its macro scripting API—programmers can add in scripts of their own to the SketchUp program, helping them do things such as automating routine modelling processes, similar to how macros work in Excel.

So how might you go about to learn Ruby, now that you are convinced that it is valued by the software community?

Learn ruby with code(love)

Learn ruby with code(love)


Though the usual suspects like Codecademy and Learn Ruby the Hard Way are good resources to learn Ruby, there are a bunch of other resources including Try Ruby, Ruby Koans, Ruby Warriors and many more. The one that really stands out as a gem (incidentally also the name of self-contained libraries in Ruby) is RubyMonk.

RubyMonk follows a narrative style of teaching Ruby along with some programming basics. The premise is based on you having a “master” who gives you much needed encouragement if you go wrong and also gives you triumphant messages when you succeed at some of the exercises. RubyMonk draws from movies, and video games to keep you plugging away to learn Ruby.

What really makes it stand apart from other resources is the way the entire learning environment is structured. Each page in the chapter has some introduction, a new concept, an exercise to try out, some more concepts with exercises and wrapping it up by using all the elements learned in that chapter in a slightly challenging exercise. There are several levels – Ruby Primer, Ruby Primer: Ascent, Metaprogramming Ruby and Metaprogramming Ruby: Ascent.

Each of the levels deliver content indicative of their name and each chapter is sprinkled with practical exercises.The design of the exercises and their placement is what makes the learning experience on this website fun and engaging. The exercises are just a little beyond the skill level you acquired in the lesson and require a little bit of thinking and are perfect for people who are just beginning to learn programming. They help easily transfer the theory you learned into practice.

Once, you’re done going through all of their material, you can be fairly confident that even if you can’t change the world with Ruby, you’ll at least have enough knowledge to create fun programs and venture into some complex ones with little additional effort.

Yet another reason to learn: Ruby serves as a wonderful background to migrate to the popular Ruby on Rails web framework, which makes the learning curve for making web applications much easier.

Ruby on Rails was constructed with the explicit goal of making it as easy as possible to build an interactive web platform, and maintain it. It speaks to the Ruby philosophy of simple, intuitive building.

After you learn Ruby, you will be able to build your ideas rapidly, and efficiently. You will have learned a valuable skill that will help make building natural.

Not done learning? Visit the rest of our learning resources.

Open Stories

Ten traits to define your perfect customer.

This was originally posted on Businessforbeginners, a resource for entrepreneurs to understand the business side of their ventures. 


Now that you’ve figured out what it is you’re offering and why it’s valuable, the next thing to think about is identifying the group of people who will care. In a previous post, we began thinking about the answer to “Who is your product/service for?” This group of people (i.e., your target demographic or target audience) have at least one thing in common – they like what you have to offer. So, a preliminary question to ask yourself is, if your product or service solves a problem, who has that problem?

By now, you should have an idea about who your target demographic, or group of customers, are or will be. If your answer to the question above is EVERYONE… try again. Everyone is not your customer, and this is great news. Why? By focusing on the group of people who ARE interested in what you offer, you will save yourself time, money, and energy. The goal here is to identify the exact group of people who are interested in what you’re offering, and to do everything you can to make and keep them happy.


Joe’s Steak Shop 

Joe closes his eyes and pictures a room with 100 potential customers. Joe announces, “Hey everyone! Come and buy my steaks!” Immediately, 5 people leave the room. Why? They are vegans and vegetarians. It doesn’t matter how great Joe’s steaks are, those 5 people won’t want to buy them. So, why would Joe waste his time and money trying to sell steaks to vegetarians?


Still not sure where to begin for your idea? No problem. First, if you know of a similar business, go there and see what kind of people spend time there. If it’s a web-based business, look at the websites of companies that are doing something similar to what you have in mind for your business. Also, use the tips and tricks you learned in the Dollar Shave Club practice problem to examine a website for clues on who their customer is. This is an iterative, ongoing process, and the information you gather now will have to be validated through more research and the data you collect over time. If you want to open a Thai restaurant, for example, visit other Thai restaurants! Another option is to just close your eyes and picture a room filled with your future customers. For either method, think about the following ten things, with the first six being especially important in the beginning stages.

  1. Age: Pick an age range that represents the group, e.g., 12 to 19 years old or 25 to 40 years old. It’s not always obvious, but you can estimate and try to confirm later.
  2. Household Income: You can start with something as simple as ‘high income’ or ‘middle income’, but this part will require additional research. If you’re in Canada, this kind of statistical information can often be found here. If you’re in the USA, try here or here. Live in Europe? No problem, try here and here.
  3. Gender: Male, female, etc.
  4. Geographic Location: This can be something broad such as all countries, or incredibly specific, like people living within a certain postal or zip code.
  5. Interests/Hobbies: Again, it may not be immediately obvious, but it can be incredibly important. A year from now, if we put all of your customers together in a room, what would this group of individuals have in common? This is where interests and hobbies come into play. It may not be obvious at first but when you start to chat, you realize they’re all obsessed with yoga, or they all love cooking. The point is that this group shares that interest or hobby, and you can use that information to build connections between your product and what your consumer loves.
  6. Attitudes/Values/Lifestyle: What is important to this group? What do they believe in? Again, invaluable information for
  7. Marital Status: Single, married, divorced, widowed, or dating. Again, not always obvious, but you can guess to begin with and confirm later.
  8. Occupation: This information is typically gathered over time by talking to customers, through newsletter sign-ups on your website, or in surveys and questionnaires. It’s not a big deal if you can’t answer this part right away.
  9. Ethnicity: Depending on what you’re selling, the ethnicity of your customers can play a role. If, for example, you’re importing a candy into Canada that up until now was only available in South America, the Latino community in your region would might be interested in a little taste of home.
  10. Education Level: Similar to martial status, or age, in that you may have to guess at first. Something to keep in mind is that education level is often correlated with household income.
Finding your perfect startup customer with code(love)

Finding your perfect startup customer with code(love)


Companies spend a lot of time and money trying to determine exactly who their customer is and continuously refine their answers to the above categories of customer information. By looking at existing competitors, you may be able to learn about their target demographic. Often, this information is not readily available to people outside the company. The important thing here is to use the ten categories above to guide you as you try to figure out who your ideal customer is or will be, even if you don’t have all of the exact information you need.


Now that we have a list of ten things to consider, let’s take a look at an example.

Example #1: Lululemon. Product – Women’s Apparel

Let’s pretend I want to start a retail business that sells high-quality yoga clothes to women. To learn more about who buys yoga clothing, I will look at another clothing brand that sells yoga clothes. For this example, I’ve chosen Lululemon, an athletic apparel company inVancouver, Canada that specializes in yoga clothes. As I mentioned before, it is difficult to find specific information on the customers who buy from a particular company. So, with my list of ten things to think about, I visited a few Lululemon stores to see who was shopping there, and reviewed their website. While I was unable to fill in every category, I found information on the most important first six items.

Lululemon Customer Overview:

  1. Age: 16 to 45 year-olds
  2. Household Income: Middle to high income
  3. Gender: Women
  4. Geographic location: North America, but expanding internationally
  5. Interests/Hobbies: Yoga, running, dancing
  6. Attitude/Values/Lifestyle: Physically fit, health and appearance-conscious, environmentally aware
  7. Marital Status: ?
  8. Occupation: ?
  9. Ethnicity: ?
  10. Education Level: University educated

If my business will offer women’s yoga apparel that is very similar to Lululemon’s, the information above would help me better understand who my future customer will be so that I can focus my efforts.

If my business will offer women’s yoga clothes is going to be different than Lululemon’s, this example will be a reference point, but my answers will be different. For example, if my yoga clothes are going to be much cheaper, then it doesn’t make much sense to target individuals with a high household income.


Now, just like the above example, you should be ready to apply what you’ve learned and tackle this practice problem! The company is Bentley Motors, and the product is a Bentley, a car whose starting price is approximately $200,000. So, who buys a Bentley? Who is Bentley’s ideal customer? Visit the Bentley website and try to complete the first six categories of information below.

Practice #1: Bentley. Product – Car 

  1. Age:
  2. Household Income:
  3. Gender:
  4. Geographic location:
  5. Interests/Hobbies:
  6. Attitude/Values/Lifestyle:

I will post my answer next week!

Practice #2: Your Company

Now that you’ve seen an example and have done some practice, you’re equipped to do the work for your company. Good luck!

Still not quite sure? Contact Us.

Final Thoughts:

If you know your potential and actual customer, what’s important to them, what they like and don’t like, the better you will be able to find them, make them happy, and keep them coming back for more. Remember, this is just a first step, as you will have to do some additional research to confirm these assumptions. Not everyone will want what you have to offer, no matter how good it is, and that is okay. Focus on the people who will love you, and you will succeed.