The internet is eroding many traditional application categories, and enabling many new ones.
So it's worth revisiting what types of applications there are - which is another way of saying, "what is software for?".
1. Content Management"Content" could be text, images, diagrams, videos, or sounds, whether produced by professionals or otherwise. Think of emails, phone calls, spreadsheets, organisation charts, books, newspaper articles, TV news, blogs, and shopping lists.
- creation (e.g. camera)
- editing (e.g. photo red-eye elimination)
- collaboration (e.g. discussing which bits to airbrush)
- versioning (e.g. knowing who, when and how it was edited)
- distribution (e.g. emailing photos, or publishing them to a website)
- consumption (e.g. viewing in a browser or digital photo frame)
- search (e.g. Google Images)
- storage (e.g. Photobucket online storage)
2. Consumer ServicesMany applications provide services (above and beyond content) for the general population. Examples include banking, shopping, dating, gaming, and travel websites.
Consumer services was the focus of Web 1.0 and the first dot-com boom, with the awful moniker "disintermediation". Companies built websites on top of their back-end Process Management systems, to provide a cheap new way to reach their customers.
3. Process ManagementProcess software is what keeps organizations ticking. "Process" includes HR, Finance, Sales, Supply Chain Management, and a host of industry-specific processes. "Management" involves driving workflow, enforcing business rules, managing data, providing reports and charts to track success, and offering tools to improve the process further.
SAP and Oracle are the major providers of Process Management software, but many Software as a Service (SAAS) suppliers are challenging their business models using the internet as a distribution channel. Major corporations employ armies of software developers instead, to ensure a competitive advantage.
4. Environment ManagementSoftware is also used to sense and control the physical environment. Examples include thermostats, ABS braking in cars, production line robots, talking child's toys, oil rig drill systems, and vending machines.
This is the area that the web hasn't yet reached - although TCP/IP is often used for device communications, and HTML displays are used as dashboards.