Archive for November, 2010

Programmer’s Thoughts about the Facebook movie – The Social Network

November 23rd, 2010

So I was at the Premiere Screening of ‘The Social Network’ aka Facebook movie, courtesy of Shaolin Tiger. 🙂

I have watched the trailer before this and was very much excited to know that the Facebook story will be revealed.

Being a programmer, the Facebook story itself is so much greater than what normal people think of Facebook. It’s like hitting a jackpot, although I have never hit one.

Anyway, you probably can read about the movie review by doing a Google search, but here’s some thoughts about the Facebook’s story from a programmer’s perspective(AKA mine).

NOTE: You might want to stop here if you do not like movie spoilers. There are bound to be a few with what follows.

1) Ideas are easy, execution is not

Anyone can come up with a ‘cool’ idea and then say its theirs. Ideas are aplenty, but are you able to execute it, and most importantly to execute it successfully?
What is the most successful fast food chain in the world? McDonald’s?
Do you know McDonald’s brothers were the one started the McDonald’s restaurant, but they are not the one making it what it is now? Ray Kroc did.
Mark Zuckerberg started building Facebook (then called while studying in Harvard.
Harvard students Cameron Winklevoss, Tyler Winklevoss, and Divya Narendra accused and sued Zuckerberg for stealing their ideas and built his own, because they have earlier invited Zuckerberg to be their programmer in building the social network they have in mind.
To me : You can always talk the talk, but are you able to walk the walk?
You can always get a programmer to build a site (people always think so don’t they, programmers are cheap) and then claim it’s theirs.
Come on, if you have a great recipe but you do not know how to prepare it, you hire a chef and then the chef went on to start his own restaurant and be successful. What you gonna do about it? Sue your ex-chef?
There are no guarantee that a piece of software you hired someone to code for you will make you successful. There are many other factors, and your inability to code it by yourself is one of the limiting factor by itself, in my humble opinion.
So do you still think software should be cheap?

2) Software do not come cheap
If you pay cheap for a software, cheap software is what you get. Of course the most expensive will not be the best yet.
Which is why this reaffirm that you should know the ins and outs of your business. If your business is software, you better know what the code does as well, and more often than not, website startups are created by programmers.
The mindset of people that software is cheap is always around, because there are always free software.
Craigslist used to be a famous site, and based on its simple interface, I’ve seen people request freelance programmers to do a same site with the smallest amount of money. That’s ironic to me.
If you want to build a world-class website, how much do you think it’ll cost?

3) Age does not matter
Conventional wisdom tells us that age matters where any experience is to be taken into account.
In certain countries or cultures, the older you are, your chances of success in getting a managerial or leadership role is easier, and merit or your actual experience might not be the first criteria yet.
Although more often than not, experiences do come with age, but Mark Zuckerberg’s self made billionaire at age 23, proves that age is just a number.
Still that doesn’t really save him from being called or depicted as a ‘kid’ in conferences or public events.

4) Competition is tougher than ever
With large internet enterprise like Facebook, Google etc, the benchmark is now set so high that any web startups dreaming of getting success is not easy as it might be anymore.
How many search engines are there on the Internet? Probably you only know the few that you really use, but there actually many more than you can imagine.
I think the key is not to try to build something to compete, but to have something that differentiate yourself from the popular ones.

5) Conflicts among team members
The Facebook story was a display of how difficult it is to have a partnership in a business.
The first was with Cameron Winklevoss, Tyler Winklevoss, and Divya Narendra. On their side, they might think they have Mark Zuckerberg joining them, but without a close relationship, Mark just went his own way.
The second was Mark with his best friend, Eduardo Saverin. Due to conflicts and differences of opinion, they drifted apart and lawsuit followed.
One good thing that the movie shown (I’m not sure how accurately real it is, it’s just a movie) is Mark was a person who treated Eduardo well. He never deliberately kicked Eduardo out, and there’s a sense of regret with the share dilution.
The other thing that I learn or reaffirmed myself is, you need one who knows the ins and outs to be the main guy or the leader, where in Facebook, it is Mark Zuckerberg. Other contributors should only be minor shareholders, depending on how important their contributions are.
Even angel investors only have a small percentage in shares.

6) Environment conducive to startups is important
How great an idea it could be, the idea need a conducive environment for it to grow.
For Facebook, it moved from Harvard to Palo Alto, California which is the headquarters to a number of Silicon Valley high-technology companies.
Having mentors and guidance from venture capitalist will also help, just like how Sean Parker (creator of Napster) helped Mark Zuckerberg.

How the movie fared
Mark has been portrayed to be a nerd, an arrogant geek, a traitor, but in the end it somehow makes you sympathizes the problems he faces.
At the end of the day, I think there isn’t too much issues that are too big for the youngest billionaire in the world to be worried about.

Don’t you think so?

Good To Know, Internet, Movies, Review , , , , , , , , ,

10 Steps to a Successful Enterprise Website Launch

November 22nd, 2010

Photo Credit :

If you have been working hard to build a website or the Internet next-big-thing, make sure you’re launching it well.
The launch is also an important part, or you’ll risk losing all the hard work you have been doing all this while altogether.

This list might not be exhaustive nor definitive, but missing any of it might just sabotage your very best investment:

1) Preparation and planning

With a written plan, you can get back on course when you go astray. Without a plan, you don’t even have a reliable way to determine whether you are off course. – Paul Merriman

You have a project plan, and development plan. Launching plan and a backup plan is also important to make sure you are showing your site to the world without any glitches, even if there’s any, none should be too serious to recover from, in the quickest time possible.
What about capacity planning?

2) Load test / Stress Test as capacity planning
Have you check that you have completed a load testing or stress test of your website/application?
There are many software tools to help with it, although you can get a group of people to log on to your site concurrently. Of course, that’ll depend on the size of your users and anticipated traffic as well.
If your website is an enterprise site, getting a group of people will be another challenge in itself, so using tools is the best bet.
Load testing and stress testing is non-functional testing, ensure you have performed a thorough functional testing as well, that include multiple browsers, or multiple operating systems / computers test.

3) Traffic anticipation
If you have done a load testing or stress testing, what is the result? What is the number of users you are anticipating in the test?
20 concurrent users? 200? 2000? Or 1 million? (Yes, it’s not easy to build sites like MySpace/Twitter/Facebook/Google)
How well do you know your market?
Getting a close-to-accurate number of concurrent users will most definitely save you from getting ‘your website is down’ problem, when you are getting a surge in web traffic.

4) Soft launch/beta test
A good way to pre·empt a high concurrent traffic, besides knowing the max number of users you can cater to after your stress test, is to have a soft launch or a beta test.
You can invite/select a group of advance users who would be able to test all the functionalities of your website as well.
That way, you can sort out whatever issues that users might encounter and then get ready for the actual public launch on a later date.
This reminded me of some Google products or even Twitter new features.
There will be staggering release to selected/invited group of users, so that functionalities are deployed to 5, then 10, then 15 users… you get the drill?
Imagine getting all Twitter users to one website? It’ll get crashed in no time.
Or, the worst you could do is to make a count down timer, and get everyone excited about it to log on CONCURRENTLY. Live Stress Testing. 🙂
Unless you’ve have been doing a wonderful stress testing and confident with any number of concurrent connections, then that’s fiine.
If you’re not, then that’s similar to a SUICIDE.

5) Trim down launch site or employ CDN
Usually during a launch, most likely not all functions will be available. Only focus on important features.
With that in mind, a lot of resources can be trimmed down to cater to the surge in web traffic during the first few days.
If your website is a portal or content intensive, having a CDN (Content Delivery Network) service for your website will be very beneficial.
A CDN can off-load a lot of connections and load from your servers. Of course, that will come with a price.
If you’re using some website builder tools, it is also likely that such products are highly customizable and where plugins or scripts that are not used, it is best to turn them off or get them removed altogether.

6) Security/ penetration test
To catch a thief, you need to get into the mind of a thief (and I would disagree that you try to be a thief) 🙂
Call them hackers or information security experts, these group of people are very expert in finding holes in computer systems.
Perform a security evaluation and also get advice on the risks you might face and how to get around them.
Sometimes there are things you cannot prevent, but you can reduce the risks or loss to the minimum.

7) Vendor SLA
Be it your hosting provider, your programmer who did your website, or any service provided, they are your vendors.
Any vendor you pay to do their job should have a SLA (Service Level Agreement).
Make sure that they attend to any issues that might be encountered during the first few days of launch with immediate response, as top priority.
If your website is inaccessible, that is of highest severity.
An example (the required response time may vary) :

Severity Priority Level Definition Estimated Initial Response Time
1 ASAP System is down or effectively unusable as a result of the problem. Problem causes mission-critical impact on the Customer’s operation with no acceptable workaround or functionality used to perform tasks considered to be essential to Customer operations, project completion or normal productivity of end-user. Within 1 hour
2 High System is up and running, but the problem causes significant impact and has no acceptable workaround. High impact problem where operation is proceeding, but in a significantly impaired fashion or functionality used to perform tasks considered to be important but not primary to immediate business operations. Within 2 hours
3 Medium System is up and running and the problem causes only limited or insignificant impact. Important to long-term productivity, but is not causing an immediate work stoppage. Within 4 hours
4 Low Problem does not have significant impact to the Customer or functionality that is not important and infrequently used. Within 4 hours

8 ) Hardware
One failure that you will not be able to predict is hardware failure. Depending how mission critical or how complicated your architecture is, replacing hardware could be either easy or complicated.
If your website is a mission-critical application, and hardware are difficult to procure, or probably need to be imported/flown from elsewhere, you better had a backup plan ready before trying to launch it.

9) Backup, no single point of failure
A backup plan is important so that you can proceed with launching your website with whatever issues that could be predicted or not.
You can either have a backup copy of your website, or an entire backup site (physical site with a smaller architecture), so that you can redirect all web-traffic to the backup version, while you are trying to figure out what went wrong.
Have a copy of everything for redundancy so that there is no single point of failure that will jeopardize your launch.

10) Transparency
Regardless of you having a great time with your launch or having major issues with it, transparency to your users are important, especially the latter.
However, make sure you get the correct facts of the problem, and provide accurate and relevant information to your users.
Keeping the users in the dark will not only project a bad image of your business/website, it will also show how bad you are in handling a situation.

It is not an easy task to launch an Enterprise website, and it requires a lot of planning, coordination, monitoring and cooperation from many teams.
Learn to appreciate even it is is a difficult situation, because that is when you will be able to learn how to overcome it.
Accept the fact that you will get complaints or negative comments from issues but rarely praises for doing a good job.

Most of all, you are required to plan for failure and ways to overcome it.
Failing to plan is just the same as planning to fail.

Appreciate the fail whale, even the world’s few websites with the highest number of users will have downtime.
The important thing is only how well you handled it, and how you recover from it.

Software, Technology , , , , , ,

Screw It, Let’s Do It – Richard Branson

November 16th, 2010

Screw It, Let’s Do It is another easy reading book by Richard Branson.

This is the second book by Richard Branson I have read, the first one being Business Stripped Bare – Richard Branson.

So here goes my personal review of this book by the chapters:

Chapter 1. Just Do It!

This introduction chapter talks of how he was shaped to be an entrepreneur in the early days of his life, from running a magazine during his schooling days to the embarking of various challenges like breaking record with a boat and manning a stratospheric balloon.

Chapter 2. Have Fun!

He who works all day is miserable. He who plays all day doesn’t pay his bills. The bowman hits the mark, as the sailor reaches land, by having different skills and knowing when to work and when to relax.

From this chapter, you will get to learn that Richard is one that works hard and play hard as well. He tells the story of how he managed to secure his personal island, Necker Island in the Caribbeans for £180,000.

Chapter 3. Be Bold

Be bold but don’t gamble, is the idea of making calculated risks, in business and also adventures. This is where he briefly shared about how Virgin Airlines started, including venturing into the business of trains and also the most glamorous space venture, Virgin Galactic.

Chapter 4. Challenge Yourself

This chapter talks about how he can’t let go of any challenges, including on the bet on how he would be able to learn swimming on a road-trip. There was also another hot-air balloon adventure which gone awry, that doesn’t diminish his interests in keep flying in a balloon at all.

Chapter 5. Stand On Your Own Two Feet

This short chapter talks about Richard buying back the shares of Virgin making it a private company again.

Chapter 6. Live the Moment

Again, Richard make another attempt in a hot-air balloon race in 1997, this time trying to go around the world and how he cheated death again as the balloon crashed into the sea.

Chapter 7. Value Family and Friends

Among his business ventures, Richard was assisted by friends and family, including his best friend Nik. His parents were very supportive in his ventures and dreams. He also had an Auntie who mortgaged her house so that Richard could buy a manor house!

Chapter 8. Have Respect

Respect is how to treat everyone, not just those you want to impress.

Richard reveals how he paid for getting caught by Customs for tax evasion from selling cut-price records. Not doing anything illegal was his watchword since then.

Chapter 9. Gaia Capitalism

Gaia is the Greek version of “Mother Nature” or the Earth goddess. Al Gore met with Richard in the late summer of 2006 and he instantly got intrigued by the scenario of global warming. This led to some ideas and a $3 billion pledge to develop biofuels.
This might sound ironic that an airline company’s boss is trying to go green, but Richard’s excuse was that it doesn’t make sense to stop his planes from flying as people will always want to fly and somebody with no ‘green’ sense will just fill the gap.

Chapter 10. Sex Appeal

Straight from the mouth of Richard, that sex appeal is a useful tool in business as he made a naked appearance in Times Square, New York to promote the Virgin cellphone.

Then also came Kate Moss which Virgin Mobile in UK signed her up for their advertisements.

Richard also believe in using sex appeal for the Virgin image using Pamela Anderson for the image of Virgin Cola.

And this just made me remembered how Richard went windsurfing with a model on his back. 🙂

Chapter 11. Be Innovative

Richard also reveals here about his first sexual experience, although not into the details, but he was having some nocturnal frolics with his headmaster’s eighteen-year-old daughter! OMG.

Other than that, he was also being innovative in getting new routes for his airline as well as how he maneuver his ways over other airlines like Singapore Airlines and British Airways. It sure isn’t easy to run an airline and being innovative is certainly one of the pre-requisites.

Chapter 12. Do Some Good

This chapter talks about his intervention in politics, how Richard helped free British hostages (with the assistance of King Hussien of Jordan) held by Saddam and flew them out with his plane.

Chapter 13. Pow! Shazam!

Richard shares about his dream of flying civilians to space starting 2010 with Virgin Galactic’s spaceship. This is said to be the world’s first space-flight for civilian passengers program.
For a ticket that costs $200,000 and deposits starting from $20,000, any healthy person can reserve a space for this spaceflight.

Chapter 14. Think Young

Citing stories from Bill Clinton, Nelson Mandela and Bill Gates, Richard talks about having a youthful approach to life and also about The Elders organization.

This book is good if you have not read any of Richard Branson’s books before. As I have read Business Stripped Bare – Richard Branson, some stories in this book was not new. Most of the chapters did not really went much into the secret of his success and how you can turn it into your individual goals. It is more or less his autobiography, and there are some room to be filled-in in the future it seems. 🙂

Books, Review , , , , , , , , , , ,