Idea to product

I was always curious on how do people come up with successful products. I wonder if people must be intelligent to come up with great ideas and get them executed brilliantly

In my company I happen to start a product which is basically my Idea. so I began to search about various ways to make this product a hit. I wondered if there is a secret formula which can make it go viral but as usual there is there isn’t any.

Below are some of the points that I have come across which are really important to be followed when making a product. I would like to disclose the exact product details that I am making in further posts.

Idea and validation:

  1. First come up with an idea that really solves a problem. mostly ideas come out of problems that irk’s us in daily life.
  2. After you get an idea before executing it you need to make a market valuation of that Idea. Is your idea into a market which is highly matured or does your idea going to create a new market. If you feel your idea is going to alleviate the problems which are not being addressed by existing solutions then go for it.

This article discusses about how one can get a idea. What are different possible ways to generate an idea.

3. Market sizing of the idea must be done. This post on Quora explains how a market sizing can be done and also you will understand its importance.

Lean methodology

Forming habits and hooks to identify if u r product is

Check the two questions in the matrix(morality of manipulation)

We can’t build great products in first go. We need to understand consumer psychology. Just knowing what a what a customer needs is not enough to bill great products because the customer always can’t articulate the psychology or the inner force that is actually driving him to use that product show their life importance of knowing the consumer psychology and which is actually building a habit around the product

Next phase is validating your idea

3 things are important for user research

1. What do people need

2. What do people want

3. Can people use the product we are building

–always question u r assumptions and idea

Why now this idea is important?

What are the dilemma’s around the idea

How much can u disrupt the industry with u r idea

How u can bring more and more users use u r product

Are existing solutions in u r idea space are not good enough?

What u r competitors failed in providing and can u provide that

Does u r product any good to the society?

Can u form a habbit loop in a consumer around u r idea

Do users really need u r product?

-the best way is to start build a product after answering all the above .the product can be just a basic one with minium features of what u initially thought with basic interactions. The idea here is u can get user feedback and quickly change implementation or idea to facilitate user adoption.

Bit there is a catch in above para, if u like and understand what u r building then even before u release u r product to public..u understand what should be implemented and what not. One way to get help in this is, showing u r product demo to right people who can actually provide good feedback.

E.g– Ben, founder of Pinterest..went to coffee shops and asked staff there(moms) to check the demo version of the product and noted down the feedback that they gave. This type of feedback for u r product demo which u r building is highly important

How to conduct user research for idea and ux—check smashing magazine tabs in chrome(read them)

Define value proposition for u r idea

Value proposition-1)what is the problem or pain point u r app is going to solve?

2) how u r solution is addressing that problem

(Check screenshot s for more info on value proposition and example)

–dont follow heard mentality. e.g-in 2000 there was high craze for pets and hence everyone tried creating market around it. No don’t only follow trends. It is becoz of camera Instagram exits today, due to GPS uber exits, due to cloud computing concept highlighted by Amazon there are many products there..sometimes there may not be trend but may be alleviating pain points which is a signal

–for a growing company compare and try to copy what competitors are doing..it is not at all good. Once u r company becomes matured u may copy or try to get what u r competitors are doing but as a growing company always stick to u r value proposition

—-knowing u r competitors

You can use Google search, similar web, whois like tools to search and know about existing competition..also social media interaction of that competitors is a good measure(this is called competitive analysis)

How to refine your idea

1) write a tweet about u r idea(149 characters) which helps in having laser focus or able to express short of u r idea

2)write a future press release of u r product

3)……

Use these these to refine u r idea link

Advertisements

Master of Scale #1, Brian Chesky (CEO of Airbnb)

Master of Scale is a Podcast hosted by Reid Hoffman, Co-founder of Linkedin. In this Podcast, he interviews various successful entrepreneurs and tests his theories about how a company can grow from zero to a gazillion.

In this blog under Master of Scale heading, I am listing out all the points discussed in every episode.

First Episode with Brian Chesky,  CEO and co-founder of Airbnb

Brian starts with about their initial days and how they sold cereals for a living. It was during their initial days of running Airbedandbreakfast.com, a business idea which Brian along with his roommates started out to attract people who needed a short-term living place, breakfast and a networking opportunity.

Slowly they ran out of funds to run this business. Out of an immediate need for money to sustain the business, they sold cereals (which were handpacked by them) under the names of presidential candidates Barack Obama and Jhon McCain as “Obama O’s” and “Cap’n McCains”. This cereal business took off and was started making profits. but this was not scaling for them as they were limited in packing the cereals themselves.

This success has made them fall in the eyes of Paul Graham of YCombinator. Airbedandbreakfast.com later became Airbnb.com

Points on how to run a successful business which later can get scaled:

Paul Graham asked Brian Chesky some simple questions which were tough to answer for Brian. The key takeaways were

  1. You must know what a customer exactly needs. for this, you may need to go to each customer and ask them what they really need. As this is not a simple task, this must be performed when your business is small.
  2. You need to ask right questions to right customers. The questions you pose them must help you get needed information
  3. You must avoid considering every single idea or feature being adviced to include in the product rather must consider only most required features.

Brian went from home to home to ask them what they really needed. but mere tapping door for this would be not a fruitful one. so they started to make a deal. Brain and team would take pictures of the home and upload on their website. but they knew this won’t scale when many number of users in different countries use their product.

Brian shares one of his experience on this journey, There was a person’s house whom they visited in winter. they asked him for what he really needed in the are of the business they are into, to which the user started writing the feature set he needed and soon it turned into many pages of features. this experience made him realize that users or customers usually have an idea of how a product solving a solution must be, just that they are unable to solve it they use the products which solve it.

Reid also shares one such experience in the initial days of LinkedIn where he received an advice asking him to include a feature which would let every user in the world get connected to every other user which was not a good feature according to Reid, which he happened to throw away from his Linkedin feature set.

He also explains how Pinterest co-founder Ben visited every possible restaurant and shown his product prototype and noted down every feedback they gave.

4. The best way to pose a right question to a potential customer would be asking him what features would they include in this product to make it go viral. this way they get into the shoes of founder and present their view accordingly.

5. No one can make the best product out on the first try itself. One needs to release a product solving a solution with certain features and need to take user feedback and change it accordingly. they may need to be swift in bending themselves if a certain idea is not working and need to change according to customer demands.

6. You can never make a scalable product on the first go. you definitely need to restructure your product as it slowly scales up passing through the hard pain of scaling.

Brian recalls how he misses his early days at Airbnb where he used to visit each and every house asking them for their feedback/opinion and advices everyone to follow this approach when they are small in business because later you cannot even when you want to.

 

 

 

 

What are different types of testing techniques

As a developer we always are prone to write code which may not cover all corner cases and thus leading to unexpected bugs or logical errors at production, which may hinder product’s reputation. Thus it is a hour of time to make sure whatever you build must be tested well enough.

“Code without tests is broken by design” – jacob, core contributor for django

Testing can be done before the project development is even started which is called “Test driven software development” which has it’s share of pros and cons. A test driven software development may not be a cup of tea for every project. When you are not sure about exactly on how a project may proceed forward, which may need to observe any unexpected changes in flow or feature implementation you may find Test driven to be less fruitful.

Read this thread for more info on pros and cons

I personally don’t like test driven software development. I would like to write unit tests for the code I write.

Below are some different testing methodologies which are used for different purposes. Any testing major goal is to make the overall project to be stable and bugfree. (Which as usual in any other case can never be 100% achieved, as we may not be able to write or find all corner cases to write test cases)

1) A/B Testing:

It is a testing done to compare the effectiveness of two different versions of the same thing(web/app page or feature etc.. ). but why we need this testing?

Imagine your product needs to drive users to subscribe or buy or get a paid version of it. It’s generally not easy to do, so we adopt many qualities in our product to attract a user. Like say you may display a hungry kid image beside a donate button (in case of a NGO) which may drive a user to donate looking at the image. Now you may also come up with no such image and only a beautiful background color and donate option. Now you may want to compare which of these two is driving more users.

Hence you make two versions of same page and drive half traffic to one version and other half traffic to other version and make your calculations. This is a very brief introduction to A/B Testing. This can help in growing your sales for the product or if your from travelling area, may be more ticket bookings.

But there is a caveat in using this type of testing. You must be careful for search engine optimisation (seo) for your page, as delivering two different content depending on user may hurt your page ranking and using 301 (temporary redirect) than 302 (permanent redirection) to your different versions is highly suggested as you may confuse google or other search crawlers.

2)

D3.js Graph

A D3.js graph and it’s explanation

D3.js is one of the most important javascript library, the other 2 being i)underscore.js and ii) Jquery

D3.js is a frontend chart making library which requires data to be fed in the form of either JSON, CSV, TSV or XML etc.. file formats

D3.js is most importantly used for Data visualisation

In this blog post I try to explain how I used D3.js to make a graph. D3.js is tough to get started and hence it requires significant amount of time digest

 

001

Let us understand how to create above graph

link to source code :- https://github.com/nikhilponnuru/D3.js-sample

Explanation of each line:-

— The code starts with defining character encoding meta tag. we need to specify character encoding to make the browser understand what type of characters are being used inside. this is an optional tag but it is a good practise to use, since we don’t know how and where our client uses our website

—  then we start with style tag:- in which body tag is defined with font size and font-family

—  And then we defined path attributes. here path is nothing but the graph line which we see between x and y axis.

—  And then we defined how the x and y axis must be appearing and hence it’s attributes are defined

—  In body part of the code we defined a script tag to load d3.js. the line which we used

http://d3js.org/d3.v3.min.js

the above code is d3.js CDN. instead of this we can even download D3.js from its official website and include it’s path. but if you constantly use internet, I would highly recommend a CDN path

—  Then we defined the width and height of the graph and canvas

— The file which we used is  “data.csv” — the format used inside this “Day-Month name-Year” and value of sales that day in lakhs

to format

"Day-Month name-Year" we use "%d-%b-%y"

 

 
— We have set the range of lengths of x and y axis, where x-axis displays time and y-axis as scale values

— And then we define axes values which are values range used on the axes and orient(“left”) and orient(“bottom”) are used …..for e.g:- look the images

orient(“left”)

001

 

orient(“right”)

 

02.png

 

 
— The below code




<pre>
var svg = d3.select("body")
    .append("svg")
        .attr("width", width + margin.left + margin.right)
        .attr("height", height + margin.top + margin.bottom)
    .append("g").attr("transform",
              "translate(" + margin.left + "," + margin.top + ")");</pre>

 

This Adds the SVG canvas. here we are appending svg (scalable vector graphics, it is a form of vector image which is not pixel dependent, hence zoom-in or zoom-out wont effect the image quality)

The SVG is provided with attributes of left, right, bottom, top.

 

— In the latter lines we fetch the csv data and parse the data which has date and values and then we plot them on the graph

here forEach (The forEach() method calls a provided function once for each element in an array, in order.) is used to iterate each and every value in the data.csv

— In the latter code parts we define attributes required to display X and Y axis

//ADD the X-axis
svg.append("g")
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);


// Add the Y Axis
svg.append("g")
.attr("class", "y axis")
.call(yAxis);

 
 

 

 

Compiler Extensions like chrome extensions !!

Well I am sure everyone must have come across many chrome or mozilla extensions like adblock, pocket etc… bus

but there is something called compiler extensions

compiler extensions are some features that are provided by specific compilers (like GCC) which are not a part standards of that particular language.

e.g:– typeof() is a compiler extension for C. it is used to find out the type of the variable. but this is not a standard ISO feature of C language, but just provided that compiler.

Continue reading

Port, Port …Socket!!!

When listening to  Computer Networks class today I got the following interesting doubts which I got clarified by my professor

Doubts:-

Q) what is doubt:- when every browser is allocated a port number 80 then how can multiple tabs of chrome or any browser can talk through that when only when process can be listened through one port ?
Ans:– servers listen through port-80 for browsers but not on client side..on client side your  OS uses port numbers >5000 so every new tab(as for google it is a process..read the below) uses a unique port number —i.e one process one port

Continue reading

Vanilla JS –this is ridiculous !!

uhaa sometimes pun is a necessity else it will be a boring life

I was shocked to know that Vanilla Js (the much heard name) is just a pun kind of thing

here is a website which jokingly expresses the meaning of Vanilla JS

     It is nothing but –A name to refer to using plain JavaScript without any additional libraries like jQuery. People use it as a joke to remind other developers that many things can be done nowadays without the need for additional JavaScript libraries.
     Moreover if you download what they are showing in that page –it is just a plain file which gets downloaded –Extraordinary pun :v
Screenshot from 2016-02-07 09:25:52.png

 

Big-Hero six

Big-Hero Six an animated movie from Walt Disney Animation Studios is a first super hero film from walt disney which they got inspired from marvel comics.

 [[ spoilers ahead ]]

I would rate the film with  3 /5 stars. the whole movie had best animation and was a blend of inspiration, science and research and more saliently about nerds . I am sure kids would have been spellbound with the fictional science that is exhibited by the movie.but the true drawback of this film is one can speculate the next moves in the film.

Continue reading