Twitter Updates

Thursday, May 09, 2024

A Trip Down Memory Lane: Revisiting My Blog

It's been over 13 years since I last posted on this blog. With the rise of social media, blogs have become a less popular medium for sharing thoughts and experiences. Revisiting my old blog feels like taking a short trip back in time, allowing me to dig into my own mind and rediscover my past musings. I particularly enjoyed rereading my lesson-learned article from my startup days.


In the past 13 years, I have grown tremendously and gained valuable experience in both my career and personal life. I think it's time to gather my thoughts and write another lesson-learned article here. It will be a fun and insightful read for me when I'm older, providing a glimpse into my current state of mind and the lessons I've learned along the way.


To my future self: Joel, you have been doing well and staying true to yourself. Keep up the great work, and never stop learning and growing. Remember to cherish the moments and experiences that have shaped you into the person you are today. Stay curious, stay passionate, and always strive to be the best version of yourself.

Thursday, April 07, 2011

My Startup Lessons Learned


I have been thinking about documenting what I learned from my startup adventure so people could benefits from my mistakes. It seems to be the right time now. Please remember that this post is not about finger pointing. I am trying to document what I learned so far so I won't repeat my mistakes, and hopefully you could learn something from it too.

Background
A little background for those who don't know what I did before. I started a company called Appnergy with one of my MBA classmate last year, and as the technical founder I developed Qmazing!, a cloud based Queue Management Solution for restaurants, running on iPhone and iPad clients. The idea is to provide remote queuing up for restaurant using iPhone, and customer will get notification when the table is ready. With the help of my other technical friend, the two of us successfully developed, deployed this solution to real world customer. It is amazed that two of us could develop the whole system from scratch in such a short amount of time. I enjoyed every technical minutes of it even though it was hard work.

What went wrong?
Just like those who first started a company, we made many mistakes along the way. However, I think the most critical mistake is that I picked the wrong business co-founder for my venture. It is my mistake because I should have researched (e.g. like this excellent page) and prepared more before going into a business relation. A wrong co-founder will not only create lots of pain, but also destroy a startup in the process. Based on my experience, I think I will have the following questions for my next potential business co-founder.
  • Do you have experience in the IT industry? My next co-founder should come from the IT industry. Non-IT business partner will make strange and odd strategy that doesn't make sense, or not applicable to a Software company. For example, is it odd to be suggested to let go your core member and wait for a possible deal that may happens in six months? Maybe it will work for non-software company, but if you stop working on the software you will not be competitive at all.
  • Do you have domain experience? Unless the concept is so new that domain experience in irreverent, domain experience and connections are crucial.
  • Do you have good and real connection? Don't tell me you know someone who know big boss, and the only way to establish the connection is to offer a big chunk of the share to that someone. A business partner with only 1 or 2 connections makes it harder to get business, and also make it hard to gather real world software requirements.
  • Are you willing to do low level tasks hands-on? I gave up my previous management job and learned iPhone/iPad programming for the success of the company. As a business co-founder, don't tell me you are expected to only do relationship building with customer(Dinner and drink only). Go out and sell whenever you could, even though you need to knocks on 1000 doors. You are not suitable for startup if you are not willing to do low level works because there is always not enough resources.
  • Are you willing to learn anything new along the way? No one will know everything and startup always don't have enough resource. Even a business co-founder must be willing to learn new tricks. For example, if you don't know internet marketing, try learning it! Refusing to learn new stuff with excuse like you are not from IT background makes it really hard for others.
  • How do you handle the situation if you really don't know how to do the task? Don't expect others to automatically take up your tasks just because you don't know how to do. Please propose how to solve it together as a team.
  • Are you truly committed? Although it is very hard to know the real answer because the answer is always YES. One hint I learned from last time is that my co-founder keeps referring this business partnership as a game. When I first agreed to partner with him, he actually referred it as "game" couple time throughout our discussion. I should have spot this "Game" word because to me this business is everything but a game. If he thinks it is a game in his mind, he is treating it just like a game. And it shows in the end.
  • Are you currently working on other business? Or do you plan to start another business along the way? If yes, just tell me upfront so we could work things out. Tell me about how you are going to spend the time.
  • What would you do if you need help? Will you ask your other co-founder for help even though you may loss face? A co-founder must understand that it is ok to ask for help from the other founder. If you really don't know and cannot do certain tasks, bring it out and discuss. Don't worry about saving face as we should act as a team. Hiding the issues will not help at all.
  • A question to myself: How long do I really know the guy? If you have not really worked with that person in a project, you don't know him enough. Even taking MBA classes together for 2 years also doesn't help at all. My relatives keeps asking me questions like "Why are you partnering with someone you don't know enough?". I thought I know but it doesn't turn out right because we didn't seriously worked together before. Maybe it is best to create a new un-related small project to try it out first. There should be a dating period for partnership.
  • Request for a pitch presentation. For those who I am not already familiar with, I should ask the candidate to do a presentation to me, as if I am an investor (Because, after all, I am going to invest my life with him for a long time). So that I could observe his powerpoint slides and presentation skill. I was shocked by the ugly and hard to read powerpoint that I saw last time.
  • What is your expectation in me? Let's line up any expectation that could results in future problems early.
Some other things I learned...
  • Don't fall in love with your idea. Take the time to research the market and create a better business model before doing anything. Do not just rely on your business partner to do so. Is it really worth doing?
  • What's the most important document? Haha, the one that I don't have, which should be a founder vesting agreement and an written agreement that discuss every bad scenario that could happened. For example, what happened if one is not performing? What happened if one must leave because of family issue, or what happened if one want to buyback the share? This is something that I will definitely do in the future to prevent losing another friend because the negotiation of this stuff later-on is just not helpful and a complete waste of time and energy.
  • 50%/50%? A 50/50 split of share will not healthy as the company is totally idle when people are trying to argue the right strategy. Someone needs to be really in-charge and it is better to setup clearly the role and responsibility upfront. Also, when I first started I assume that giving 50% of share to my co-founder will make him truly committed and will do anything to help build the business. It is definitely a wrong assumption.
  • Vesting milestone. One thing that I should have done is to create vesting milestone that tights to real deliverable. For example, 10% share if you successfully acquired 5 customers in the first 6 months. In this case it will prevent partner who achieved nothing, yet hold half of the company.
  • Pay ourselves. Should have taken a small salary from the startup rather than zero salary. And the salary should based on the role you take.
  • Software IP Rights. Who own the software if the company is going to close? What is the process if a co-founder want to continue the development. How much is the costs? Everything related to IP should be discussed before partnering.
  • Adviser Should have find one or more experience advisers in the early stage to help.
  • MBA is only nice to have. Only a handful of stuff I learned from MBA class is relevant as most of the classes are for training manager, not startup entrepreneur. I suggest MBA school should add a course that let people to form REAL company so they could understand the process and make painful mistakes there.
  • The only way to learn is to try it. I have been dreaming about starting a company for a long time and I finally tried it. Although the outcome is not what I expected, the stuff that I learned is so valuable and I believe people should give entrepreneurship a try.
Of course, I am no expert and these are just something I think I learned along the way. There are definitely a lot of stuff I could handle better. If you have any better suggestions/ideas or if I am wrong, please feel free to let me know.

Maybe I will write a part two in the future about some other things I learned, like the technical stuff and other areas in the business.

Friday, December 31, 2010

Last day of 2010

Time flies and it is in less than 20 minutes it will be 2011 already! Looking back, I have done what I dreamed to do for a long long time, which is to start my own company and work on products that I wanted to do. My goal is to develop something that is useful and has impact to people's live. With the help of my great colleague, we developed a product and launched in real world with positive feedback. I also learned many valuable lessons as well. This is one of my greatest achievement in 2010.

However, today also marks the end of this service because of internal company issue. It is quite painful and difficulty to terminate what I have worked on for so long. And I am really heart broken to tell customer that we have to shut down the service. Nevertheless, I believe I have tried my very best and I am going to put all those unhappy events behind me and move on.

I am thankful to have wonderful supports from my wife, my parents, my in-laws and friends. Without them, this startup life will be much harder. Thank you!

2011 is going to be a another challenging year for me.

Happy new year!

Friday, September 24, 2010

What I am doing and What I learned so far

It has been about four months since my last post. To update everyone, I have started a company and is currently building a new product that we believe it will make both the users and businesses happy. It is definitely not an easy task and I learned the following in these four months:

1) It is ok to work in coffee shop almost everyday and actually many people do the same. haha
2) Finding the right people to work with you is absolutely essential to startup. I am fortunate to be able to form a team that is highly skilled. Of course we all certainly could improve in different areas.
3) It is also important to learn many different skills before you even start. I am doing programming, graphic, logo design, web site soon, biz development, researches.... I am glad that I was into graphic design before I start doing programming when I was younger. And also I am very interested in technology so new tech learning is not too painful for me. Although I don't considering myself as an expert, those are important skills to build the product as we don't have many resources to hire others to do these.
4) MBA helps, but not too essential for doing startup. Startup is about building a new thing and see whether it is could work out. MBA mostly taught people how to manage an existing business. I believe for HK we need more training to help people do startup.
5) Things will certainly not going well, but it is always a new learning experience.
6) Startup is also about self control. To move thing forward it is important to control my own emotion.

I am lucky to have the support of people around me. A big thank you to you all.

Will post more in the future.

Thursday, May 13, 2010

Last day of work. Challenges ahead!




Today is my last day at my current company.

I have been working in this place for three years and I learned a lot from my service here. But the most important element that I am going to miss is the people. Although doing projects are hard, it is the people that make it a lot of fun.

People is what makes a company great and move forward.

What's next? We will see...

Friday, May 15, 2009

Punch Party HK 2 - Great Experience

I attended the my first Punch Party HK today. It was a wonderful gathering.

This time the topics are mostly IT centric, with talks about BBS, PALM, NEWSGROUP, etc. Since I didn't grow up here in HK, there are certain newsgroup and BBS that I wasn't familiar with. However, I am old enough to experience BBS using software like Telix.

I feel the most when the presenter talks about Palm since I used to own many PalmOS products, including Palm 3, Palm V, Sony Clie N760C, Sony NX70V and Treo 650. I also upgraded my Palm V to 8MB as well. It is fun to see that presentation on ram upgrade.

Overall, I really glad I signed up for it. Looking forward to PPHK3.





Saturday, March 21, 2009

Firefox extensions that I installed lately

With so many new browsers like Safari and Chrome, I still like Firefox mainly because of its extension. It is because the other browsers lack the "smart drag and drop" feature. This feature lets you just drag and link and open it in a new background tab. Currently I am using the Easy Dragtogo plugin with Firefox 3.1 beta.

I am also playing with a plugin called AutoPager. This plugin will auto load the next page when you reach the end of current page. It is particular useful when using with Google.

What Firefox plugin do you use?

Thursday, November 13, 2008

Mission Accomplished!

I had a great time today because my parents and wife came to the HKUST 2008 Congregation to celebrate the finish of my MBA studies.

Thanks my parents and my wife for all your support throughout my MBA study life. Without you, I cannot accomplish this goal!

Monday, October 27, 2008

Krispy Kreme Hong Kong is closing its door

Krispy Kreme has a special meaning for me, I once bought a box of fresh doughnuts in US and took it on a plane to Canada to visit my girlfriend (now wife). At that time there was no Krispy Kreme in Canada. The lady in custom asked me to open it for inspection and one even said whether she could take a bite (she was joking). Once I took it on the plane, you could smell it everywhere. I guess a lot of passengers were also wondering where the smell came from.

I saw this sad news today about Krispy Kreme's HK franchisee closing it door in Hong Kong due to financial issue. The high rent and the economic downturn forced the owner to liquidate this franchise.

Although I have doubt about whether Chinese will visit it regularly when it first launched, Krispy Kreme actually setup quite a lot of store in Hong Kong. At one time I thought it was doing well as I saw it showing up in many different places.

I think one major problem with Krispy Kreme in HK is the opening hour. It doesn't open their store before 10am (The Mongkok store). I tried to visit them for breakfast before work and it is just not opened. So my money always goes to Cafe de Carol instead.

The stores that are still opened are located in the airport and it is just too far away for me to visit. Maybe I will be able to enjoy it when I have a chance. I wish they could announce the closing of those stores one day earlier so I could visit it in time.

Kind of wonder who will be next to go....

Reblog this post [with Zemanta]

Thursday, July 10, 2008

X61, Ubuntu 8.04 and Dual Monitors finally work for me

Ubuntu logoImage via WikipediaFinally got dual monitor to work! I could now run Ubuntu on the external monitor, and a Windows VM on the notebook's LCD panel. I now have a virtual desktop that is sized 2048x768. I am now a happy user of Ubuntu. So far, no major complaint.

Here is my /etc/X11/xorg.conf
-----------------------------------------------------
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizEdgeScroll" "0"
EndSection

Section "Device"
Identifier "Configured Video Device"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Modes "1024x768" "1024x768"
Virtual 2048 768
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Synaptics Touchpad"
EndSection

---------------------------------------------

After modification, I press CTRL-ALT-BACKSPACE to restart X.

I than run the following command line to resize the virtual desktop

xrandr --output LVDS --mode 1024x768 --output VGA --mode 1024x768 --left-of LVDS


Reference: Simple dual monitor setup with XrandR in Ubuntu (Linux)


Zemanta Pixie

Tuesday, July 08, 2008

First day to use Ubuntu instead of Vista at work




Today is my first day of work without using Vista.

I really want to like Vista, I really do. I have been trying to like it even though the performance is not as good as I originally expected.

Last week I have to run two VMs for testings and my computer (Lenovo X61 with 3G) ran out of memory. So I thought I bought a 2G ram hoping to at least get 3.5G ram out of it (My Vista is 32-bit only, so I don't I am not getting 4G). But to my surprise, after I spent the money the system shows 3G ram only again. I searched the internet and others are having the same issue.

So I decided to install a 64-bit OS. I could install Vista 64bit or Ubuntu.

I decided to give Ubuntu a try and installed it as my main OS. Linus has come a long way and it is quite easy to setup. I have also installed XP as a VM so I could run WIndows applications if I need to.

It is very easy to install and setup. I could do most of the work almost immediately as I have been using Google Apps for awhile. So far so good in my case, my only complaints is: No good support for dual monitor in my setup. I have another monitor at work and I could only see Cloned desktop view.

I don't know how long I am going to stay with Ubuntu. I think it is a good transition before I could get a Mac. :)

At this moment, I don't miss Vista at all.

Sunday, April 20, 2008

Video from Startup School Conference

Startup School is a great conference for people who are interested in startups. It is great that a video is available for people to watch online.


Watch live video from HackerTV on Justin.tv



[Update: full-length videos at Omnisio.com. It is very cool that the slides are being shown at the same time!]

Thursday, April 17, 2008

Listening to UC Berkeley's Search Engine Class

I have been learning and researching more on search engine lately and I am glad to found out that there is a free 2007 class online on this subject from UC Berkeley, one of the best university in the world.

UC Berkeley Webcasts | Video and Podcasts: INFO 141

I wish they could also post the slides for the class as well so I could visually the algorithm that they are talking about.

The internet has really changed how people learn.

I am currently taking classes from two different universities in HK, yet at the same time I am also listening to this class from UC. All the educational information are available now and the only one stopping me to learn is myself.

I could still remember how difficult it was to find out information on game programming when I wrote my first game using QuickBasic (Yeah...it was a long time ago...). Now, there are so many learning opportunities now and the key is information discovery and filtering.

We are living in exciting time.

[Updated: this 2005 version of the class with Video. I remembered I blog about it before too]


Wednesday, April 16, 2008

Sunday, April 13, 2008

What to do when you are busy?

See this comic about what you should do when you are busy. Funny.

Seriously, Twitter is getting really popular for people to draw comic about.

Another startup lessons from the net.

Very interesting discussion and advices from the founder of the Gridjit site.

I like his discussion on the business model, where he is saying that you may not have all the business model figure out yet.

"So, I’m not saying you have to figure out your business model right away. I certainly don’t have mine completely figured out...What I am saying is that, given the direction things are going, you’ll want to do everything you can to make your business self-sustaining along the way. But only do that if it doesn’t compromise the quality of your product. Embrace constraints, as they say, and deliver a quality product that people want."

I think it also means that you should still give it a shot and figure it out later, if you believe your service is valuable. That's kind of true, Google didn't figure out his real business model until later on.

The key is to make it self-sustaining so you are still ok if it doesn't work out.

Saturday, April 05, 2008

Twitter and the Open Sea

I have a Twitter account for awhile, but I don't use it simply because I don't think it is useful.

I read about the Adobe AIR Twitter client called Twhirl a couple days ago and I decided to try Twitter again. I than tried to follow some well known people on the internet. To my surprise, they also follow me back! Although I don't think I could contribute too much back to them.

Now I see the value of Twitter, it could definitely make the distance between people much closer than before. I could read about them in their blogs, or listen to their podcasts from time to time, but using Twitter you know the person more in a totally different way.

My only problem with Twitter is that I only have 1 friend in US using it, and none of my friends or family use it. It is like shouting to a an open big sea....

Friday, February 22, 2008

Even Disk Encryption is Not Safe Enough

A lot of people are talking about using disk encryption to protect their files these days. However, it turns out that even disk encryption is not save enough because the encryption key could be grabbed in RAM! [Read more at Engadget]

Wednesday, December 19, 2007

Learn from other's mistake about building a company

It is important to learn from other people's mistake. If you want to start your own technology company you need to read the following blog post about what the owner of mycarpoolstation.com had gone through.

I wish there are more company owners out there who are willing to share their own experience in such a great detail.

Direct link to the original post: Click Here