John Gapper Microsoft has trouble learning its lessons