Another obvious lesson to take from this is that it is sometimes better to release something imperfect and improve upon it, rather than wait for the perfect product, because by then you may be irrelevant.
The downside to this is lack of agility due to trying to maintain backwards compatibility, and being bogged down by support.