Most of what they do is a commodity; open source software, electronics from Asia, undergrad programmers, etc. (ok maybe I am a bit overboard about programmers). What makes them successful is a focus on design, fit and finish, usability, and re-arranging existing components in new and innovative ways; e.g. taking a cell phone, a UI, wireless, a UI and creating the smart phone. This is mostly creative and artistic. A focus on CS will not save American innovation. MS actually has some smart people, but the lack of focus, vision, quality, and imagination is what is killing them