Hello Android! - Presentation for Pune GTUG

June 7th, 2009

Leveraging medium - Effective advertising

May 27th, 2009

There has been lot of buzz about ZooZoo advertisements by Vodafone during recently concluded IPL 2009. Now I have no experience what so ever in advertising and branding. But something like this made me think that which advertisements/campaigns produce great branding and sales push?

So I started thinking about all advertisements that I liked, which made me at least remember the company when I was looking to buy something they sell. 

Common thread among these all?

They don’t leverage the medium, they add value to it. 

Now I may be completely wrong, or very accurate. But this is just a personal observation. I don’t have tonnes of data to prove it.

But here is what I observed -

TV - Most of the advertisements on TV will entertain you. Be it Zoozoo, or some dental care gum with people’s teeth used for lighting tennis court, or some guy using a adhesive stick to catch fish. They will entertain you, make you laugh. Almost each time. My mom, who is cooking in the kitchen, would come out to see the zoozoo ad and not when Gilchrist was going berserk hitting everything over the fence. TV is mainly entertainment focused and hence if you can entertain people through your ads then you can win them over. Throwing lot of information about your product in their face for 20secs is money not so well spent. This is why I think, ads which are shown on news channels (their hardly news channels any more, but gross entertainment channels) don’t make that big a impact on me. Because I take it as roadblock in consuming information. May be its just me though. But if it was me I will roll out different campaigns for news, sports and entertainment channels.

Newspaper - Well most of the newspapers are meant to provide information, news, analysis. So if you can add value to this then that will be great way to utilize your marketing budget. For example, if you are a training institute which is geared towards providing IT related training. Instead of providing information about you and your products, provide information about your domain. Like jobs created in industry for last couple of years in technologies that you train in. This may add more confidence about your brand to your consumers.

Online - Online is very different in this aspect. Because for online media, there is no categorization at high level. So roll out ads based on the properties that you are buying here. I was engaged in a good discussion with Mahesh other day on twitter. And point he mentioned about performance based branding is, finding out right set of properties to target and rolling out your campaign for it. I would like to add that, choose right set of properties, based on USP of these properties, roll out campaigns geared to add value to their USP.

Whats your take on this?

Ideas, Startup , , , ,

Being with yourself

May 4th, 2009

I got back from a 9 day break on Sunday. It has been a pure heaven. 

Well I love what I do and love to be around people I am working with. 

Having said so, there is so much of communication happening these days that its completely impossible to be give yourself a time. People pinging you all the time on chat, emails being exchanged, mobile going off all the time (well not for me as I tend to use mobile less and less everyday), landlines, twitter, orkut scraps, facebook notifications. Uff. The list is endless.

We all have come to a place where we are addicted to news and communication. 90% of news we consume is generally useless to us. But we do consume it.

For last days I checked my emails 15 mins everyday as it is impossible for me to be out of touch with the team and with clients. Updated twitter only couple of times. Did NOT even touched the god-damned mobile phone. 

I found myself thinking loud and may be clear in my head. Though about lot of stuff. Scribbled few poems. Read couple of books. Did lot of MASTI. Endured some physical work like taking 5-6Kms walk. Swim. 

No matter what profession you are in. No matter how many responsibilities you need to shoulder. Please do take breaks. 

Try to be alone with yourself once in a while. There is nothing like it.

Misc , ,

Packing off, for 10 days

April 23rd, 2009

After about 6 years of continuous working, I finally am giving myself a good long vacation. These last few years out of college have been a great great experience. I think I have achieved few of the milestones I set on various fronts. There are more to achieve. But more importantly there are more to set. 

We generally set ourseleves lots of milestones and try to achieve them I try to keep setting myself new milestones to achieve every now and then too. Goal is always have something so big to do that you are just not having time to get distracted.

I will be in Ooty for 3-4 days and Kodaikanal 3 days. With parents. Should be fun. Taking lots of books with me. I am not really a trekking sight seeing sort of person. I mean like it. But right now what I want is peace. Time to reorganize some of the thought process. Look at all the mistakes done in last couple of years objectively and find patterns in them. 

Gonna try and see if I get chance to study Israel startup culture and education system and if there things we can learn from them too.

Havent yet packed so heading home. Mangala Express to catch tomorrow at 5am!

See you folks back on 3rd May. Have a safe and happy time till then!

Uncategorized

Understanding Saas and implementing business model for it

April 20th, 2009

Cloud is on the rise. No doubt about it. With cloud comes SaaS. I have already said that, these are two most important things to watch out for in 2009. But question is - have we really understood SaaS? From business point of view, I mean.

Let us study couple of Something aaS models we can find in current world.

Telecom - I think telecom companies have correctly understood this model. You pay for your usage. There is some basic monthly rental to cover wiring, instruments, infrastructure cost. But main thing is if you make a call, you know how much you will have to pay for it.

Roads - In India, when you buy a vehicle, based on your vehicle type you pay some road-tax. Irrespective Of whether you ever drive the vehicle or not you have to pay that tax. Almost all roads are free to drive on once you have paid this tax. In special cases, say some high speed highway/freeway you want to use, you have to pay for it before using. If you are going to use it every day, then you get subscription models.

Now the last statement, bold, above is very interesting. Models they offer you is - 1 time use, return usage, weekly/monthly subscriptions.

The way we are implementing SaaS for computer applications, provide me with only monthly subscriptions. Take example of Zoho pricing, all it provides me is various slots based on number of users for each of the application on a monthly basis. Same is the story with LinkedIn and many other SaaS business model implementers.

This is not what SaaS is. Period.

I will call this as rental model for software applications. You are paying rent. You pay it, whether you actually use the application or not.

How to implement SaaS for these applications?

Identify the bold point features your application provides. If you take example of Zoho projects, it is free for one project. USD 12 per month for upto 10 projects. Now I dont know how many projects I am going to have. Say I start with 1. Now when I acquire another project, I need to shell out 12 USD per month for that one project.  If I acquire another 8 projects, then they are free. For 11th project cost again is USD 8 per month. So the point is, there is no defined cost for one project.

Now such models create a BIG entry barrier for a small company like mine. This is the reason I do not use Zoho despite liking their products. If they would have given me something like 3 USD per project. It would have reduced entry barrier for me a LOT.

Let us see second example of LinkedIn. Now linkedin for professional users, charges some fixed fee. I am small time entrepreneur who needs these special features once in 2-3 months. Where I really need to connect with some one who is not in my network and I need that In Mail feature for that. But I will not take professional account, as I don’t need this feature all the time. So why not just ask me for 2 USD (say) for every feature request. 

You can have rental schemes too, along with such fine grained pricing structure. If over a period of time I notice that subscribing to rental schems is going to reduce my cost then I will.

I think such feature based model is the REAL SaaS business model. So if you do not have it, dont call it SaaS.

Ideas, Misc , , , ,

Punetech

March 6th, 2009

Punetech is a blog started by highly experienced fellow technology enthu, Navin Kabra and he is being supported by excellent team like Amit Paranjape, Manas and others.  It is a must read blog for all start entrepreneurs, geeks and not just in Pune but every where.

10 Things I like about Punetech -

  • Clear, concise, to the point.
  • Started by a person who has been there done that. Not by some one who doesnt have expertise in commenting on startup things.
  • Very vibrant offline presence.
  • Helping in organizing events, meets in Pune.
  • Leadership in taking up responsibilities for startup community with features Ask Punetech and other features like Wiki, Event schedule.
  • Great coverage, live and review, of various events.
  • Of the people, for the people by the people!
  • I am always skeptical about organizations which are not for profit. Punetech is one of the very few organizations, and I call them organization not just a blog, which has maintained quality despite being not for profit.
  • Most often a tech blog tend to get to focused on Web 2.0 stuff and forget rest of the things. Punetech does not lose focus like them. If you read there articles ranging from GNU to Supply chain management to twitter you get the entire range of technology happenings.
  • Focus is on content and helping startup scene in Pune (in fact in India) and not on traffic. So stories, content on Punetech is much better than other startup blogs out there.
  • This is 11th point but what the heck. If you compare startup activities in Pune 2 years back and today, you will see definite contribution by Punetech and various forums that Punetech supports like Pune Open Coffee Club.
Happy birthday Punetech! You are a rockstar!!

Misc , ,

Co-founder checklist

February 26th, 2009

I have written last two posts on founders/co-founders. There are few more things I would like to write about, so thought it will be great to make a check list.

First of all, whether you need a co-founder is itself a big question. This post is not a discussion about that question. I will try to address that question in a separate post.

This post is about things that you should look for in a person before starting a venture, from a very India perspective.

Checklist - 

  1. Piggybacker - Is he trying to piggyback you? If yes, then may be he should not be an entrepreneur, but more of an non-executive member of the team who is just providing some financial support to the team. Call him an angel if you want, but not a co-founder. Details about such piggybackers can be found here.
  2. Daydreamer - I have discussed this point thoroughly too, and you can read it here. So if s/he is one of those daydreamer, then may be not a good idea to have him/her in the team.
  3. Vision - How far can he see? Can he think ahead of time for the responsibilities he will be shouldering? For example, if he is going to be technology head in the company, can he see where geek community is moving? Can he be one of those person who will lead the community in right direction? 
  4. Social - I strongly believe that you can not create culture in the company. You and your founding teams personality is directly reflected on the team. So if your founding team is not very social, your company will not have lot of social aspects. People will be just coming and working there with out much of interaction. I dont prefer such companies. Hence I would like a co-founder who is social like me.
  5. Sacrifice - Taking financial risks and career risks in one thing. But sacrifice even some part of personal life is a big thing. If your co-founder is going to be attending each and every family event with out even considering current work pressure then he is not a good fit. One of my mentors and a serial entrepreneur told me a very good story about himself. When he started his first company, his wife was pregnant with their first child. Yet he used work from 7am to 2am everyday including weekends! Now he is very successful with millions of dollars. I am not saying everyone should make such sacrifices, but there has to be some. Its a tough thing to be an entrepreneur, no matter how hard you try there are going to be taxes on your personal life. You cant talk to your girlfriend for hours and still be part of next big thing you know.
  6. Reason - Why a person is looking for entrepreneurship? What is a driving force for him? What keeps him awake at night? What will keep him motivated in the journey when your burst you tyre/s ? If money is the only reason, then dont even consider him. Most important reason I would look for is does he drive to be the best in what he does.
  7. Comfort zone - Lot of people have tendency to get into comfort zones. With hints of even a small success such people will start underperforming big time. They will start spending lot of money too. Plus since they cant be fired from the company, that puts them even deeper into their comfort zones. This attitude will soon be reflected on people who work directly with them and so on. Not a good fit. An entrepreneurs needs to be agile in bad times but equally (in fact more) agile in good times. Momentum needs to be carried forward and forward.
  8. Originality - Some people are original in their thought process initially. But after a while since they are not may be reading things, learning new stuff or not interacting with peers/mentors, they lose their originality. Does your co-founder have a drive to find solutions to problem on their own? Is he original enough and does originality drives him? 
  9. Team person - Its absolute essential for him to be a team person. He should be work for the betterment of the team. Any thing and everything he can contribute to the team, should be contributed. If he is going to keep things to himself, then team as whole is never going to grow. Also fluid discussions in the team are not going to happen if he is not a team person.
  10. Brand - All co-founders will typically be leading few parts of the company. How big is your own brand in what you do? If you are in technology, are you respected as a programmer/architect? Great people wants to work only with other great people. Does your co-founder have ability to create brand for himself to attract such other great people?
  11. Decision maker - Last but most important, does he have confidence to take all important decision on his own. Typically an ideal co-founder is some one who can run the company completely on his own without you. 
There are few minor things left unsaid in the post, but above mentioned are the bullet points with which you should evaluate choices you have for co-founder.
Note- I will be using he/him to refer to people and that should not be considered as me being sexiest.

Uncategorized , ,

Beware of Piggybackers

February 25th, 2009

There are lot of people out there who wants to be entrepreneur.

A large percentage of these people only want to be entrepreneur to become rich!

That is not the motivation for entrepreneurship.

Most of the times these people will try to piggyback with some one else who is true entrepreneur. Who believes in his ideas, concepts. Who has commitment and passion required to lead those ideas to success. 

But lot of people just have apetite to take up financial risks. They dont have entrepreneurial drive.

Beware of people who want to piggyback you. And if you have someone like that in your team, get rid off that person.

Startup , ,

Daydreaming

February 24th, 2009

Since the resurrection of dot com phenomenon and with astounding success of youtube likes, many entrepreneurs dream of making it big.

There is no problem in such dreams.

But problem is entrepreneurs think that making it big in very quick time with not much efforts is very possible.

They dont realize, youtube like financial success is very rare and almost fluke.

It is not a repeatable success story.

You can never know if your venture will turn out to be a next youtube story.

So stop daydreaming.

People who always keep thinking that some Google will come and buy us out, all we need to do is have the product out there, are just kidding themselves.

People who think, even if we fail in dot com venture, some company will buy out our user base and hence we turn investors, are kidding themselves.

If you are thinking about what to do with your success or with your failure when you are running a company, then stop running the company.

You are not meant for entrepreneurship.

Entrepreneurship is also not for retirement minded people, who wants to just make few lacks or couple of crore rupees and live the rest of life without doing anything, are the worst kind of entrepreneurs. In fact such people should join bureaucracy, as they dont even deserve to be in corporate life style.

Startup, philosophy , ,

Google Web Toolkit

February 17th, 2009

The post which will bring some very very interesting discussions/debates/fights. Here it is.

(Before starting flames on this post, do read the last line note.)

When I co-founded this company and decided to work with early stage startups, I was faced with technology choices. Ruby was (is) getting mainstream momentum. Many startups were using it. PHP, no matter how much I dislike it, was still used widely. Python with Django was also started getting some ground. .Net and Java being as important as ever. Choices were there, all looking good on surface. Features were all there. We decided to evaluate all these technologies. We both come from deep roots in Java and object oriented technologies and do have some bias towards it. But still we tried to do our best. We listed down all pros and cons for all these technologies. Investigated all of them. Build sample projects/apps in all of them. Talked to experts, technology mentors.

Also while making the choices we had some limitations on ourselves and this choice should be evaluated against these limitations.

Limitations - 

  • We are not building one single product. We will be building many products, for diversified set of applications. For mobile, for web, for enterprises, for embedded devices and may be even for space crafts.
  • Talent acquisition, training and retaining costs. Though we build cutting edge products, we still are a services company.
  • We use our services arm to groom engineers. So finding projects on same/similar technology which can be executed by services division was also essentially, but this was more of an nice to have feature rather than limitation.
  • We will be working for many startups in next few years. We want technology to support creation of off-shelf components and using them with multiple startups where ever possible.
  • Knowledge transfer for code/design and technology should be minimal. Again nice to have but not exactly a limitation.
Okay, so once you know the background, here is our clear choice.
Java all the way.
We decided Java provides the best technology choice we can make. True, for web applications Java is not exactly a suitable choice. So, we started thinking which is the technology that can provide UI features and sit comfortably on a Java backend? You can use any technology for that. But again doing lot of investigation, search (we dont call everything as research) and came to conclusion that Google Web Toolkit is the best technology available.
If you refer to previous post, I have outlined majority of things we consider or should consider while making choices. So how does Google Web Toolkit (GWT) ranks on all this. If you dont know what GWT is, I will suggest going through some basics before continuing.
Feature set -
  • Provides cool Ajax stuff like fading pop-overs, drag and drop and many such things in built.
  • Though most of the features are available with other technologies too.
  • Templating is one of the most important feature for UI side technology. Is there any better templating engine than a class? I dont think so.
  • Why one should learn weird things like % % terminated tags? Weird UI side syntaxs? With GWT all you are doing is writing classes and implementing methods.
  • Already many UI design tools are available for GWT. Writing your own is not a big problem. All you will be doing is churning out classes from the design tool. Hence performance and usability of such tools is much better for GWT than for other things.
Performance - 
  • On UI side it is just HTML and Javascript code. Java code cross compiled into HTML + Javascript + CSS.
  • This Javascript code is maintained by Google and open source communities. This gives it chance of getting better and better with every release. Hence more optimized.
  • GWT is not much of code generation, but more of code replacement, hence limitations that code generation techniques have are not completely applicable to GWT from performance perspective.
  • Browser specifics etc are handled much better.
  • No need to write Javascript on your own, unless you want to write your own plugins. Even then, you write the Javascript, write a simple module to cross compile Java code to that Javascript and you never have to use Javascript directly again. Release that plugin into wild ie open source communities and it will keep evolving if its good enough.
  • So performance not an issue with GWT on UI side.
  • On backend its Java, so performance can not been an issue there. Java is proven for that.
  • Also lot of performance improvement tools are available for Java. Caching systems, search engines and many such goodies are there well performing, which can be easily integrated.
Maintainability - 
  • GWT code is essentially classes. We know that classes are more maintainable than PHP/JSP or other text files.
  • Since code is just classes, you will be drawing class diagram, sequence diagram instead of screen mocks and screen flow. Now UML digram are backed up with specification and hence more maintainable.
  • Two programmers can work on same class (but not on same plain text file) without giving too many check in conflicts. Great thing to have when quick fixing is required and you are fire fighting.
  • Classes are structured, governed by OOD and OOP concepts. Its very easy to understand code written by some one else in the format of class than in a text file, even if we assume zero or 100% documentation. Also this helps in code-reviews, peer reviews and other audit processes.
  • Using UML design philosophy and OOD/P concepts, code written is much cleaner, well organized and in fact much lesser than others. So much easier to maintain.
  • I can not stop raving about how maintainable GWT+Java code is!
Talent acquisition -
  • There are thousands of Java programmers out there who are good in Java and understand HTML/CSS basics fairly well.
  • No need to have Javascript wizards in the team, if you are working with GWT.
  • Java is backed by Sun certification, if you believe in certifications which I dont much. Always good to know that some one is making money by certifying talent. You need not have to rely on them, but its a nice to have thing.
  • So in short, talent acquisition is fairly straight forward, plenty of choices.
Distributed team work -
  • I have covered these things in maintainability but to make sure one understands the importance of the same from distributed team work perspective too, I am reiterating in next points. If you know how they apply for this, then skip to next bold point :-).
  • Class diagram, sequence diagram help in communicating thought process in more concise and clear way. With UML specs in place, you are sure that what you are saying is not misunderstood on the other side on internet pipe.
  • Lots of tools, techniques available for Java to help in minimising issues related to distributed team structures. 
Eco-system - 
  • Java has a very very vibrant community. A little too vibrant for my taste actually.
  • Lot of open source communities and products have made millions of dollars. JBoss, Hibernate, Apache are only few examples to note.
  • Java is backed by Sun which is a multi billion dollar company. There revenues, not all but part, are dependent on Java and its success.
  • Though Google, does not make money out GWT, at least for now, it cant just let GWT hanging. Google brand name is associated with it.
  • Already there are tonns of communities which are creating wealth by GWT plugin development, support, tools are there.
  • This can only grow from here.
  • Many outsourcing vendors are available for GWT development, as it is nothing more than plain JEE development, a little easier in fact.
Time to market - 
  • As I have mentioned already in last post, that time to market is not counted from development day zero to release. But it is counted from inception of the concept to release. This include time for team building, trainings and everything.
  • Considering all that time to market is much lower or at least same.
  • Also lot of people who say Java is slow in development, never used any code generation tools. Never have actually seen a world class product being developed using Java. There are many things one can do to speed up the process.
  • With GWT tool support is even more rich than for Java. Hence using excellent tools infrastructure and good design principles GWT+Java app is much faster developed or at least with the speed as a python app is developed.
  • Also dont compare time to release first screen as a measurement. Yes, I agree for Java or Java based apps, getting first use case running smoothly gets some more time than others. That too if you are very rigid about following processes. But once you have that one use case flowing, rest of the things become very mechanical, apart from the algorithms. We generally generate the code using custom annotations etc once we have that first use case. So all we need to implement is the backend logics.
Open for discussions.
Note, I am not saying other technologies (apart from PHP :D) does not have these features, but they are not as evolved as Java. And this is not a polical statement!

Design Methodology, Startup, Technology , , , , , , , ,