Since man started using computers in order to work more efficient, the software used, has always been geared towards to making the gap between computer and user as close as possible, while protecting the user from the technicalities involved in the "behind the scenes" processes. Contradictory as this may seem, this concept has proven to be very effective over the years, starting with the first industrial computers until today where every home has one and often more than one computer, intended for personal use.
Initially the development of software was geared towards creating the required programming languages in order to enable the creation of user friendly applications that can run using the underlying operating system, that make computers effective in every day work and ultimately in the homes for personal uses.

Next came the development of user friendly OS's that are used to provide a graphical interface so the user/operator can manage all necessary applications with ease. Through these operating systems, not only the software running on it could be managed, but also the hardware the computer was running on. Through these graphical interfaces it became easy to manage all resources used by the applications, enabling the user to gain maximum performance from the machine.

Truly starting in the nineties the history of software and it development can be divided in to two distinct periods in time. The first era was geared towards industrial uses of computers and focused most on the coding languages, specific operating systems for the programs to run on, the processing of data and utility development. Through these developments came techniques and methods that were standardized, many of them are still used in today’s software creation.

The second period can be considered to be one geared towards the consumers as the computer is rapidly becoming a part of everyday life, gaining more and more momentum as a first necessity of living, like shelter food and heat. It is the period that is still continuing today, and started when the many computer software applications were adapted for private use and tweaked for easy usage by non-expert users. This period places the emphasis on integration and user friendliness, providing better and easier to use graphical interfaces, connecting man with the machine, without any technical knowledge being required.

It should be noted that there will always be a big difference between those that are “computer savvy” and those that have next to no PC knowledge at all, but with today’s software empowering the computers in many homes, it has become possible for everyone, to use them on a level they can feel comfortable with.