Google -- solved a single very important problem really well by applying a well known tool (SVD and graph networks) to a novel example, also made android, otherwise not very exciting.
Furthermore, brick and mortar problems are hard -- things break, rot, get lost, require staff to move them around, etc. Not to poo-poo Google or any other pure software company, but it isn't harder because its on a computer, it's actually easier.