Scott Smith

Blog Tutorials Projects Speaking RSS

The Birth of Bit: Making Ideas Happen

Let’s face it, we all have ideas. In the space we work it is nearly impossible not to. We are developers and designers; the makers of the digital world.

They key is having the ability to take the leap and transform an idea into a reality.

Why do so many people not follow through with their ideas? Read on to learn practical tips on how to take an idea and make it real.

Don’t fear the reaper

Too many times I hear people comment they don’t want to share their ideas. They fear them being stolen or copied by putting it out there in the public space. I too felt this way in the beginning. I was very hesitant to share my idea about coderbits to anyone but my family. It is a very natural human instinct to protect what we consider valuable. Our ideas hold value to us and we don’t want to just give them away.

I remember asking myself and being asked questions like:

  • “Why are you telling people about it? Won’t they copy it?”
  • “What will you do if someone makes the same thing?”
  • “Isn’t it better to keep it a secret until it is done?”
  • “Why would they use yours when they can make it themselves?”
  • “Can’t a larger company with lots of resources out compete you?”

Guess what… The truth is that ideas are cheap, most have them, and very likely somebody has already had the same idea. It might sound harsh to state ideas are worthless but an idea by itself truly has no value. It does not exist nor does it provide any intrinsic value to the holder or to others (if you have something that could be protected by a patent, then by all means protect it).

If you can accept the premise that an idea by itself holds no value, you are able to free yourself from the notion that it can be stolen or lost. The true value lies in the execution of that idea. It is the ability to execute or lack thereof that keeps others from taking, copying, or stealing your ideas.

For simplicity, I am going to generalize and state there are 4 types of people:

  1. Those with no ideas and the inability to execute
  2. Those with no ideas and the ability to execute
  3. Those with ideas and the inability to execute
  4. Those with ideas and the ability to execute

Before continuing, I would like to add that the inability to execute does not necessarily mean anything negative about a person. They may not want to do something like this, may not have the time, or they simply don’t have the necessary skills.

Those with no ideas and the inability to execute

These types of people don’t have ideas of their own nor do they have the ability to execute ideas. Somebody like this learning about your idea won’t care enough to even consider doing something about it. Even if they did, they don’t possess the necessary skills.

Those with no ideas and the ability to execute

Somebody who has the ability and drive to execute is a doer. They are the hard workers making things happen. They are not the dreamers and hence when confronted with an idea will not have the interest to pursue that idea.

Those with ideas and the inability to execute

These types of people are the dreamers. They are the guy in the cubicle with a new idea every day. They always have ideas, yet they never act upon them. If they do happen to act upon them, they never get finished. Someone like this already has enough ideas to not be tempted by yours and even if tempted, no ability to execute it.

Those with ideas and the ability to execute

This type of the person is the one you most fear. They are the ones with the ideas and the ability combined with drive to see them through to completion. The truth is you should consider them as much of a threat as the first group. They already have enough ideas to keep them going for years. Even if they don’t, then tend to be the type surrounded by friends and colleagues that do have ideas. The fact that they are executors also means they will not be tempted by your idea. They will already have something in progress and the proper skills needed to see it through. They won’t have any time to be distracted by your idea.

Take me for example, I consider myself a person with ideas and the ability to execute. If I were to hear of some great idea, there is no way I would drop coderbits to “take” that idea. I have had many ideas myself that are viable business opportunities and still haven’t been diverted. The same personality that enabled me to take coderbits to where it is prevents me from stealing somebody else’s idea. No shiny ball syndrome here nor for any other with similar traits.

A conversation with the reaper

The number one purpose of taking an idea and turning it into a usable product is to get others to use it. Even in cases where the goal isn’t to make money, creating something for nobody doesn’t do a lot of good. It is better to find a different idea to pursue. In order to determine if an idea has any potential it is imperative to reach out to users and see if they want or need it. Even if people don’t want it there is still the possibility of convincing them they do want or need it. It all depends on how persuasive and crafty you are!

So how do we reach out to our users?… Communication

Communicating with your potential user base is critical in determining the viability of your idea. There are two basic ways you can communicate:

  1. Actively
  2. Passively

Active communication

Active communication is where you share your idea, ask for opinions, request feedback, and generally engage people with the purpose of discussion.

I read an article recently about a man who wanted to get feedback about a phone app he wanted to develop. Instead of just blindly coding it out without any idea of its potential, he instead created a prototype that had enough usability to show what it could do. He then went to a famous coffee shop, bought 20 $5 gift cards, sat at a table, and put up a sign offering a gift card in exchange for trying out the prototype and telling him what they thought.

Not only is this great in that he was able to get feedback on his idea before ever creating it, he did it in one of the most effective ways - face to face. We live in a digital world and are bombarded constantly by so many new products, gadgets, and more. By getting feedback in a non-digital medium he was able to have their full attention on his idea. That kind of feedback is well worth $100.

Some other great ways to get feedback are:

  1. Ask your friends, family, and colleagues what they think.
  2. Reach out through your social media channels.
  3. Request feedback on sites like coderbits, Hacker News, Reddit, etc.
  4. Attend local meetups, conferences, and events to share your idea.
  5. Find other creative ways like the man in the coffee shop.

Passive communication

While active communication consists of pushing your idea to get back a response, passive communication is about listening to what is being said or written to determine if your idea is viable.

Take me for example; in the early days before coderbits started, even before it was an idea, I listened. I would listen to the news while driving to work, to what people were talking about on Hacker News and blogs, and to my colleagues. By listening to all these mediums the idea began to form for coderbits. I saw a need that needed to be filled. Once the idea formed, I continued to listen which helped reinforce that my idea was valuable and needed.

The last and possibly most important thing to remember is to listen. Too many times we know what we want to hear. It is a flaw in most of us, myself included. We need to make a conscious effort to really listen to what we are being told or learning. It is the key to making the entire exercise worthwhile.

I saw it first!

We do a bunch of upfront work and determine we have a golden idea. We are going to make millions. We start plugging away at making our idea, iterating, releasing betas, and finally the full product. Things are going great. Our user base is growing and money starts rolling in.

And that is when the problems begin…

What we forgot to take care of is one of the most important pieces to working on an idea with others. We didn’t explicitly define ownership. Each person will have in their mind how much of the pie they hold. I can promise you it will not be equal. In truth it probably isn’t equal. The amount of time and money invested into something will be different for each person. Those that have put in more time are going to believe they own more. The person who thinks they had the idea first is going to feel justified that they hold a larger percent. The reasons why don’t matter. What matters is that each will have a different view and conflict will ensue.

Granted, this is only an issue if your idea is successful. Nobody cares how much they own of something worthless. But we are not doing this with plans to be unsuccessful. We are doing it because we know it will be successful. And when it becomes successful then you better make sure you explicitly defined ownership.

Do not get to the point where this could be an issue. It is very easy to establish all this early on yet so hard later. It is like developing software. Would you rather update and change your architecture before or after your code has been written?

Defining ownership can be as simple as a written contract agreed upon and signed by all parties. The more detailed the contract the easier it will be to avoid misinterpretations. If a contract doesn’t feel strong enough, I would suggest seeking out legal advice from someone experienced in this area. Just make sure to have something defined.

When I first started coderbits, it was just I. There wasn’t a need to define ownership. It was all mine. When Thabo joined as my co-founder early on, the first thing we did was define roles, time, and ownership. This has been great because there are no grey areas, we both know where we stand, and it allows our relationship to avoid the strain of financial conflicts.

Don’t forget the milk

One of things I did with coderbits was talk to my spouse about it right away. It was much more than saying, “Hey, I have this great idea and I am going for it.” Instead, I made her a part of it just like I would a business partner or founder. We discussed potential, brainstormed ideas, and determined how best to make it happen. In essence she was my first co-founder. I did this because it is just my personality. I didn’t realize at the time how essential it was for the success of creating coderbits.

If you have a family, spouse, or significant other, your success at executing your ideas is tightly coupled with the level of support, belief, and understanding your SO provides. For the sake of simplicity I will refer to your family, spouse, or significant other as SO (significant other).

Inclusion

As mentioned before, including your SO is the first step in ensuring the success of your idea. Including them early on and continuing to keep them involved will have a positive effect. First, they will feel they are a part of it. It isn’t just you working on it alone. They will have a mental stake in its success, which will allow them to more likely make sacrifices when necessary. Second, since they are a part of it and understand what it is you are doing, they become an excellent person to bounce ideas off of and perhaps provide a different beneficial viewpoint. Lastly, by including your SO you are showing them that you respect and value them. This is both important for the success of your idea because it contributes to the success of your relationship.

Belief

Making an idea happen is very hard. There will be great days and very dark days. During those dark days when things seem to be going downhill, your SO will be the one there to support you with their belief in you and the idea. If you properly laid the foundation by including them early on, you will have someone fully behind you providing assurance and motivation. This can in turn help you move past those dark times and not give up on your idea.

Support

Along the same lines as belief, you will also need support from your SO. Support can come in many forms. It could be giving you the time you need to work. It could be more extreme by backing your decisions to quit your job to pursue your idea. Maybe it is simply taking on the role of motivator by cheering you on, rooting for you, and encouraging you to continue.

No matter the type of support given, the root of that support is what is important. You want your SO to root for you and want you to succeed. With that basis, the necessary support will come.

So how do you get your SO to support you? The first step is including them as I mentioned before. The next thing is to respect them and understand the sacrifices they are making. Showing you understand and appreciate what they are sacrificing for you will further solidify their support for you. It is important for you to step back and make sure their needs are met as well. Take them out for dinner, surprise them with a massage, or even offer to watch the kids (if you have any) so they can go and do what they want.

Balance

Like all things in life there must be balance. You cannot spend every moment working on your idea and expect full support forever. You must find a balance between work and your SO. There are many ways to accomplish this. You need to find what works best for you and your SO.

Also, when you are with your SO be there mentally as well as physically. Don’t think about work, turn off your phone, and focus on the person you are with. This quality time together will not only show your SO you care about them; it can also help ensure their continued support for you.

Show me the money!

When starting your idea, there are a lot of options available for funding. You can bootstrap it yourself using personal funds, borrow from friends and family, seek out loans, use crowd-funding sites like Kickstarter, secure angel investment, or raise big money form venture capitalists.

Bootstrapping

Pros:

  1. You keep full control
  2. No loans to make payments on

Cons:

  1. Risk of losing your own money
  2. Chance of running out of money
  3. May not have the capital needed to grow big

Friends and Family

Pros:

  1. You keep most control
  2. Choice of giving up equity or incurring debt
  3. They want you to succeed and may help you along the way

Cons:

  1. Give up equity or incur debt
  2. Risk of losing their money
  3. Risk of strained relationships if things don’t go well
  4. They may feel more inclined to interfere with your idea

Loans

Pros:

  1. You keep full control
  2. You are not risking your own money

Cons:

  1. Can be hard to obtain and may require assets to back the loan
  2. Debt can hamper you and the growth of your business if too high
  3. You can lose assets if payments cannot be made

Crowd-funding

Pros:

  1. You keep full control
  2. You get to pre-sell your idea
  3. You get validation about your idea and marketing

Cons:

  1. May not work well for all ideas
  2. Services take a percentage
  3. You will need to pay taxes on campaign earnings

Angel Investors

Pros:

  1. You are not risking your own money
  2. Can provide needed business contacts, investors, and customers
  3. Can provide guidance and share experience for building a successful business

Cons:

  1. Give up equity for capital
  2. There may be conflict when different views on what should be done
  3. May receive pressure to perform and produce

Venture Capitalists

Pros:

  1. You are not risking your own money
  2. Can provide even better business contacts, investors, and customers
  3. Gives the business credibility
  4. Can provide guidance and share experience for building a successful business

Cons:

  1. Give up equity for capital
  2. Don’t generally consider startups at an early stage
  3. They will enforce their will on the business
  4. May force change or direction you do not want

Coderbits

For coderbits we went the route of bootstrapping it ourselves. We really liked the idea of maintaining full control and not owing money to anyone. This in conjunction with being very frugal with our money (more on this later) has granted us full say on where coderbits goes while having plenty of resources to keep it going.

Pinch those pennies

SBootstrapped, traditional loan, or Angel funded, you should always strive to keep costs low. By keeping costs low, you position yourself for long-term success. When the money runs out so does your startup.

There are many ways to keep costs low. I have put together a list of resources, services, and tools we use at coderbits that have kept our costs extremely low.

Microsoft Bizspark

Microsoft has an amazing program for startups called Bizspark. It provides technology, support, visibility, and community to promising startups and entrepreneurs at no charge.

By joining the program, you get the following benefits free of charge for up to three years:

  • Software, cloud computing, and support to help you grow your business
  • Access to network partners, investors, mentors and startups in your area and around the world
  • A community of peers—online, one-on-one, and at BizSpark events

In order to join you must meet the following requirements:

  1. Developing software
  2. Privately held
  3. Less than five years old
  4. Making less than $1 million annually

The two parts of this program that are mind blowing are free Visual Studio Ultimate with an MSDN subscription and free Windows Azure credits.

Cloud Services

Windows Azure

Did I mentioned that a benefit of the Microsoft Bizspark program was cloud computing? What I didn’t mention was the details of that benefit. While a member of the program you will receive a $150 credit per month that can be used for any Windows Azure service. You will also receive discounted rates on the services so those credits go even further.

You can learn more on the Bizspark benefits page.

Amazon Web Services

Amazon Web Services has a free tier that provides some great benefits as well. Their plan offers many computing benefits for one year after sign-up that includes EC2, S3, RDS, SWF, and more.

You can learn more on the AWS free usage tier page.

Awesome Free and Low Cost Services

Bitbucket

We all know and love GitHub. It is an amazing service. Do you know about Bitbucket? Bitbucket provides many of the same services as GitHub except it also offer unlimited free private repositories. The only catch is that it limits the number of team members to 5.

Bitbucket’s site

Trello

Trello is a collaboration tool that organizes your projects into boards. In one glance, Trello tells you what’s being worked on, who’s working on what, and where something is in a process.

Trello’s site

Workflowy

WorkFlowy is an organizational tool that makes life easier. It can help you organize personal to-dos, collaborate on large team projects, take notes, write research papers, keep a journal, plan a wedding, and much more.

WorkFlowy’s site

SendGrid

SendGrid provides simply email services at very affordable rates. They have a pay-as-you-go Lite plan that provides email services for $0.10 per 1,000 emails. Email can be sent using SMTP or through their API.

SendGrid’s site

UserVoice

UserVoice is a SASS provider of customer support tools that include:

  • Feedback forums to understand the ideas users care about most
  • A support ticket system to track and respond customer support requests
  • A knowledge base to answer common questions and help users find the information they need when they need it

UserVoice’s site

Coderbits

Since the very beginning we have take steps to keep costs very low. We understood the importance of not getting ourselves into a financial bind, which in turn could lead to us shutting down. Our monthly costs (as of the writing of this article) are below $10 per month. This puts us in an amazing position to focus on adding features and growing our business without the worry of running out of money or trying to find more.

Pucker up for a KISS

For those who have not heard of it before, KISS is an acronym for “Keep it simple, stupid”. It was a design principle used by the United States Navy in 1960, which states that most systems work best if they are kept simple rather than complex. The concept has been around for hundreds of years in different forms like Leonardo da Vinci’s “Simplicity is the ultimate sophistication” from the late 1400s and Occam’s Razor from the 1850s. While the concept is not new and is intrinsically simple itself, so many people fail to follow it.

This is a mistake too many startups make. They end up trying to do too much too soon. This has a multitude of negative effects. Instead of doing one thing very well, you end up doing many things poorly and average at best. You will confuse your startup’s message about what you are providing which will in turn confuse your potential customers. The product will become overly complicated, bloated, and difficult to maintain. You end up with mediocre features, a confusing message, and an unnecessarily complex product.

When coderbits first started, we had a clear and highly focused vision of what we wanted it to do. We wanted to provide a way for software developers and designers to create an automatically updated portfolio using information already available and require the least amount of input possible. It wasn’t an easy thing to do. Along the way we had great ideas for features to add. We had users making suggestions and feature requests that we couldn’t do because they strayed too far from our core focus. While it was hard, it paid off in the long run. We have a solid product core that we can branch from and build upon.

Keep your eyes on the prize

An interesting thing occurs when you start executing your ideas. You start having a lot more. For me, it was like a floodgate had been opened. I couldn’t go a few days without having some new idea. My mind was switched on. It was amazing and scary at the same time. Instead of getting distracted with these new ideas, I would write them down and then continue with what I had already started. This served two purposes. First it allowed me save my idea for future reference thus allowing me to forget about it. Secondly it allowed me to keep my main focus and energy on coderbits.

Once you start working on your idea, do not stop. Do not get distracted by other ideas. I know and have talked to many people who execute their ideas but never complete them. They suffer from Shiny Ball Syndrome (not officially) and drop their current idea to pursue another. Not only does this ruin the chance of ideas executing to success, it also builds discouragement because nothing is ever completed. Which can eventually lead to a total lack of interest in pursuing any ideas.

Stay focused on what you started and remember the grass is not always greener on the other side.

Weathering the highs and lows

When you take that first step of executing your idea, you are opening yourself up to the good and bad of the Internet.

The Internet can be a dark and unforgiving place. It is full of people who will tear you down just because they can. By putting yourself and your idea out there, you are opening the gates for criticism and disrespect. You will have people tell you your idea is lame. Others will bash your UI, choice of wording, or features. You will even encounter people who will go out of their way to tell others why your idea is bad or why they shouldn’t use it. Why people do this doesn’t really matter. What matters is how you react when it does.

I don’t say these things to discourage you. I say them to warn you so you can better prepare for them. It is important to know that these things happen to everyone. This can be hard because an attack on your product is an attack on you. The best thing you can do is not take it personally. Instead take the criticism and analyze it to see if there are any truths to it. Try and take the negative to make a positive. You may even be able to better your product from it.

Not all people on the Internet are bad. You will also encounter amazing people who will compliment and evangelize your product for you. You will make friends, contacts, and business partners.

Just put on your thick skin, ignore the asses, and find a way to make criticism constructive.

Trust in other’s skills

Trusting in the skills of others is best explained by example. In the early days of coderbits, we wanted to have a logo created that could also serve as a mascot to give us character, uniqueness, make us recognizable, and provide a source for generating our badges. This was heavily inspired by GitHub’s Octocat. We sought out the help of a friend who is a very talented graphic designer. We tossed around ideas of what we might like and settled on the monkey theme. Within a few days we were presented the following concepts:

Logo 1

If you know what the coderbits logo/mascot looks like, then you will recognize it is already there. But I had an image in my mind of what I wanted so I pushed back and change the requirements. In the first conversation with the designer I had it right. I told him he was the expert and would trust in his skills to make something good. If I had stuck with that trust in him, we would have saved a lot of time. Instead I asked for a different look, more colors, etc. The next three images show the result of that:

Logo 2

Logo 3

Logo 4

As you can see the total aesthetic feel of the logo changed drastically. I pushed the designer to try and make something that fit into my mold. The result was less than stellar. It wasn’t the designer’s fault. He did pretty much what I asked him to do. The fault was my own. Luckily by this point I realized my mistake and again gave him free reign on the design. The result was fantastic and we got a great logo and mascot.

Logo 5

If you are good at business, then stay out of the way of the developers. Let them do what they do best. The same goes for developers. Let those with business skills handle the business. When people outside an area of expertise meddle too much, bad results are inevitable.

Don’t roll your own

As developers, we have a habit of wanting to make everything ourselves. Why wouldn’t we? We are developers and that is what we do! Just because we can make something doesn’t mean we should.

Don't roll your own

When embarking upon the adventure of executing your idea, you will come to a realization (if you haven’t already). The one thing you will not have enough of is time. Time will be enemy number one that you will be forced to battle every day. What this means is that you must pick the most important and necessary things to do with that time.

While working on coderbits, we are faced with this dilemma every time we integrate a new site. Instead of just pounding on the keyboard, we first go out and see if there are any open source projects we can use to integrate with the site. If we find one, we use it instead of reinventing the wheel. This then allows us to focus on what we are really doing which is building highly detailed and accurate portfolios. Our business model is not about making clients for APIs.

Of course not all APIs will have an open source project available and in those cases we create the necessary code. We do this out of necessity, not because we want to roll our own. Because we feel strongly about people focusing on their core business model and because we strongly support OSS, we open source the API clients we make.

Marketing 101

I am in no way a marketing wiz. What I found to work very well for coderbits was to promote and share it using social media, local meetup groups, hackathons, and speaking at conferences.

The key to propertly promoting your idea is to find local and online groups, social media outlets, and anything else where you can reach potential users of your product.

Wrapping it all up

All you need to do now is go for it. If you have an idea then just take that first step and start on it.

If you can do that and not

Give up
Falter
Get discouraged
or
Get distracted

Then you are on your way to taking an idea and making it real.