Monthly Archive for June, 2008

What makes your rich? The idea or the execution

It is not hard to write a long list of great ideas. If you are lazy, you can just visit some business startup forum or network sites to steal them. Sitting around your office, sipping latte and looking at the idea list, now what? You probably thinking how the hell you can convert a idea into a product…. It is probably pain in the neck to get it built. But, if you find the right person to do it, you can still get it done without any problem.

And now, you feel released and excited about the beta launch… You are in danger if you think you make a solid step in the direction of making money, seriously. The real battle is just about to start, and the new product is no more than a weapon. Come to think of it this way, any senior web developers like myself can clone an application like ebay, facebook, amazon etc within months, but could any of them make me a millionaire? Not now, and not in a million years. :-)

As time is ticking away after the beta launch, you will loss your enthusiasm and start to doubt about the product. The big question marks will be all around your office - what have I done wrong? Nothing wrong but you didn’t realize the fact that either the idea nor the product itself will make you rich.

9 months back, I was in that situation…. But, I was lucky, I found a great mentor who showed me everything from a new angle, including:

  1. Think globally from day one
  2. Understand your competitors as much as you can, including their strengh, weakness and targeted markets
  3. Ask yourself how are you going to provide the best customer service
  4. Ask yourself what could be the worst case scenario in terms of markeing approach, and then how you can improve on
  5. Don’t make assumptions. If you don’t know say I don’t know, and then try to find the answers

Regards,

Matt

Is MobileMe Innovative?

If you never heard about Apple’s MobileMe, what do you think it does? Mobile… mobile phone? get connected anywhere? Me…. all about my stuff? Yes, you are absolutely right. It is a simple way to keep everything organize and sync. If you look closer, MobileMe is actually a web-based application which helps to store and manage your emails, contacts, calendars and files on both your computers and iPhones or iPod.

The idea is not new and so simple. Well… all the brilliant ideas are simple. The question is that what is the innovative stuff involved?

SproutCore, a javascript platform is being used to provide the desktop-like feel. This approach is definitely not new as there are plenty of similar platforms being used all over the place, you name it… Google Web Toolkit, Ext-js, Objective-J, YUI etc.

The business model is not new neither. Keep everything up to date and share large files with friends are well discussed and executed throughout the web industry.

Could MobileMe succeed? I think so…. The reasons are simple:

A. Apple has a good reputation building easy to use stuff.

B. Apple has a massive consumer base, among which there are plenty of evangelists.

C. MobileMe can solve problem, fairly enough :-)

The world is using different browsers

According to the latest browsers statistics report (May, 2008) from the W3C, IE is still the most common browser (IE7 26.5%, IE6 27.3%), and Firefox becomes more and more popular as 39.8% of the public are using it today. At the same time, Safari and opera takes 2.4% and 1.5% of the market respectively. However, as we all know, different browsers response to CSS and javascript differently, and this will definitely give the developers and graphic designers some extra work.

As for the Bizroof development team, we dive into the specifications of each browser and try to discover all their preferences, and then we test our code in all the 6 major browsers, including IE6, IE7, FF2, FF3, Safari and Opera. It is a painful and time consuming job, but we are doing it now and we will continue doing it in the future. The reason is simple: As a web application provider, we need to make each user’s experience count!

A post dedicated to small biz owners

Understand the people who work with you

As an entrepreneur, you take the full responsibility of any business decisions and the consequent outcomes. Also, for any failure, no matter big or small, you are the person to blame. Unfair? Not if you don’t understand the people who work with you. So, what do you need to know about them then? Here are my opinions:

  1. You want a profitable and scalable business. Do you know what do they want apart from the salary?
  2. You expect them to deliver. But, do you know if they’ve been experiencing problems? Also, do they tell you the problems in detail?
  3. You think you put them onto the most suitable tasks. Have you asked them what they think?
  4. Do you know if they are 100% confident with your business model and roadmap?

Pay serious attention to your financial reports

What is a business? My definition is the accumulated outcomes from the products or services you are offering. So, you will always be looking for new and more valuable ways to organize your available resources. But, how do you know if the new method work? I don’t know the answer, but your financial reports (Cash Flow Account, Balance Sheet) do. ;) Therefore, the paperwork deserve your regular review with respects.

Top 10 reasons why use web-based CRM software

  1. Transparency across the entire business, no matter small or big operation
  2. Avoid duplicated data entries, and save precious time for more creative stuff
  3. Productivity and collaboration on top of accurate performance measurement and trends analysis
  4. With full access to customer contact histories (notes and events), the sales team will be much more focus and provide higher quality services
  5. Management is all about managing exceptions, and which can be prevented with early precise decisions beneficial from critical operational data
  6. Substantial cost reductions, and more competitive pricing
  7. Real-time data updates enables all the staff to have a better understanding of what’s happing in the business right now, no matter the team members are in the same building or from different countries
  8. Marketing process becomes smooth and pleasant. Think it this way, you and your targeted clients are literally a few clicks away
  9. Absolutely no need to worry about data backup and computer crash
  10. Manage your business online is just the future. If you don’t make the move now, you will be behind your competitors. Seriously ;)

AJAX Calendar is now in alpha testing

The new calendar is in iCal format which is a standard for calendar data exchange with apps like google calendar, yahoo calendar, MS outlook, MAC iCal and lot more. We use AJAX wherever possible for this design, and keep improving on the usability.

The Current features include:

  1. Customize “first day of week” (i.e. week start on Monday, Saturday and Sunday)
  2. Support multi calendars (coloured labels) for each user
  3. Drag and drop events to make changes
  4. Quick add events (just one click)
  5. Translate human language to computer readable language. i.e. “Lunch with Jason 3pm tomorrow”
  6. Auto detect “Time Zone” and “Daylight saving time” on the user’s computer
  7. Support multi languages
  8. AJAX auto-completer to add guests to events
  9. Feed for events
  10. Export in iCal and MS Word formats
  11. Filter events by tags

Don’t hesitate to contact me if you have any suggestions. ;)

Build a web app (LAMP) - build your team first

If you ask anybody in the software industry to tell you some creative ideas, most of them could give you a big list of ideas fairly easily. However, the ideas themselves won’t bring you any success but the execution of the ideas will. Any failure of delivering ideas is rooted in the bad team design, in another word, you don’t have the right person working on the project at the right time.

If you have all the same team members working on the project during the entire development stage, you are in a dangerous zone for the cost-effective sake. I would like to share my experience of building a good team for web apps:

Development stage of a web app: (Usability and infrastructure)

  • 1 full-time Graphic designer (core skills needed: css, html, usability, sense of style)
  • 2 full-time Developers (core skills needed: Object-Oriented PHP / AJAX / Javascript / MySQL / server administration)

Close to the end of the development stage: (Start public relationship)

  • 1 full-time Developer (core skills needed: OO PHP / AJAX / Javascript / MySQL / Unit test)
  • 1 full-time SEO (core skills needed: professional writing / in-depth understanding of search engine and backlinks)

Beta lauch stage: (all about PR)

  • 1 full-time SEO focus on public relation articles (core skills needed: professional writing / in-depth understanding of search engine and backlinks)
  • 1 part-time SEO focus on blog and forum (core skills needed: professional writing)
  • 1 part-time developer for ad hoc functions

Remove beta label: (PR and partnership)

  • 1 full-time SEO focus on public relation articles (core skills needed: professional writing / in-depth understanding of search engine and backlinks)
  • 1 part-time SEO focus on blog and forum (core skills needed: professional writing)
  • 1 part-time developer for ad hoc functions
  • 1 partership builder (core skills needed: building partnerships across the web app industry)

I’d be a fool if I thought I knew it all. So, please don’t hesitate to share your ideas with us. :)

Project management is all about managing exceptions

Recently, I talked with a project manager who has over 6 years project management experience in big organizations. I asked him that what is the most important skills about managing projects, and his answer was as simple as concentration on solving team members’ problems. He was absolutely right!

If a project goes on exactly as planned, there is no need for managing at all. So, management is all about managing exceptions (i.e. solve problems). Responsibility is all about solving problems, cooperating is all about solving problems, and even resource allocation is all about solving problems. Additionally, the roles themselves in a team will determine what problems the person need to solve.

Meanwhile, the overall performance of a team, in some way, can be measured as its ability to solve problems and the average time length to close them. For the small projects which normally done within 2 weeks, it is easy for the project manager to identify and extinguish problems while for medium to big sized projects, it is getting harder to find out the problems. Therefore, a good project manager has to encourage the team members to tell you all their concerns throughout the entire project life cycle. In that case, you don’t have to dig into each area to drag out the bugs yourself. Moreover, your team members are well motivated and take the ownership of their tasks as well.

It is no need to be panic if you are managing some projects which you don’t understand inside out, coz your team members can support you if you try your best to solve their problems and eliminate their concerns.

Wordpress blog upgrade practice

The bizroof blog has been upgraded to wordpress 2.5.1 which is the latest version to date. I documented what I’ve done here in case someone needs a quick guide on this:

1. BACKUP all your current files.

2. DEACTIVE all your plugins, and change the theme back to the default one.

3. DELETE all your files in the root folder.

4. DOWNLOAD the latest version wordpress.

5. COPY back your wp-config.php file to the root folder.

6. RUN the upgrade programme. simply type http://example.com/wp-admin/upgrade.php in your browser.

7. COPY back your plugins and themes to the wp-content folder and ACTIVE the plugins. Also, select your favourite theme.

8. (Optional) COPY back your robot.txt file or .htaccess file to the root folder if they are in use.

9. (Optional) LOGIN wp-admin, go to the Design section, and click edit theme, and then put your favicon back. After that, you can spend some time on update the css files to get the perfect look and feel. :)

Also, I spent some time customized the css files to give the blog a new looking and feel. Looking at the blog now, I still think it is not pretty enough, and myself, is definitely not the type of person with a sense of style. :) So, could anyone will me some suggestions on how to improve please?

Meanwhile, the plugins I am using are AddThis social bookmark (Help my visitor promote the blog) and Google Analytics to help myself monitor the site traffic. I would be really appreciate if you can suggest me some other plugins which helps SE0 and usability.

If you were the boss, and recruiting PHP developers…

If you were the boss, and recruiting PHP developers, what kind of person would be your ideal candidates?

For myself, a sincere love of programming is on top of the list. The reason is that it is much much easier for a person to learn actual programming skills than trying to change their love or hobbies.

Second of my list is the character of the candidates. If you take anybody on board, you are going to spend more time with them than with your wife and children. Therefore, if you cannot get on well with them, you just dig a big hole for yourself. :) So, don’t take anybody who lie, cheat and steal ideas.

The third item on my list is the ability to learn. In the web application developing industry, technologies change on a daily basis. It is no good to say that I spend 5 years on PHP, and I am an expert on that area now. It would be better to hear from the candidates that “you know what, I knew nothing about javascript before, spent 2 weeks on that, and got my work done properly.”

At the bottom of my list is the relevant knowledge and skills for the job itself. i.e. Ruby on Rail, AJAX, CSS, HTML, SVN, MySQL, Apache, blar, blar, blar. The reason is if you love programming, plus you are a responsible character, plus you got the ability to learn, a new technology is just a piece of cake.

Please tell me your ideas…. :)