When Steve Jobs stepped on stage with his iconic black turtleneck and introduced the iPhone, it changed the way we interact and live. Many described it as magical at the time, but now we take it for granted. The mobile industry has never been the same since.
Each iterative refresh of the iPhone brings software, hardware, and middleware updates — shipped together as a cohesive, polished and (we hope) secure package. Apple’s control over all aspects of that experience have helped it get an edge against its competition by developing software that runs uniquely well on its hardware. It has also enabled new features like face recognition, avatars, fingerprint readers for payments and integration with other Apple devices.
The idea of building on specialized hardware is nothing new to Apple. Alan Kay, who worked at Apple and was influential in early portable computing concepts and a close collaborator with Steve Jobs, famously said, “People who are really serious about software should make their own hardware.” This was in 1982.
It’s no wonder that the concept of specialized hardware is so impactful in the mobile space, where everything is miniaturized, and efficiency and battery life are key. Traditional and especially cloud-based software development, on the other hand, have focused on the opposite side of the coin, with hardware abstracted away from the application developer whenever possible.
In a local development environment, everything but the overarching features of your laptop are abstracted away. Developing on any laptop is the same as long as they have the same architecture and operating system. In a cloud environment, PaaS and SaaS offerings can abstract away hardware even further, removing the concept of hardware completely from the end developer. However having such a high level of abstraction comes at a cost both in price and development.
Building on Specialized Hardware appeared first on Software Engineering Daily.