A quick history of software platforms: How we got here, and where we're going