For most modern software applications, the developer doesn’t have to think much about hardware integration. Many hardware components the software comes in contact with—displays, pointing devices, keyboards, cameras, mobile device GPS receivers, etc.—have application programming interfaces (APIs) or are represented by standard interfaces built into the operating system.