First of all I would like to emphasize the differences between the original philosophies of the different operating systems:
Linux:
- Let users control how the OS is composed and works (and of course everything else)
- Can cause versioning nightmare.
Windows:
- OS structure is a given uniform constraint.
- OS version is stable.
- Let users decide what they install on the OS (which apps for each purpose).
- Users decide which application(s) handles each protocol/file format.
iOS:
- Users can do what we allow them to - everything is a given uniform constraint.
- Most stable and uniform user experience, however, most limited possibilities.
Now for the differences between desktop, mobile/app, web based user experiences:
Console: (e.g. DOS/terminal)
- Users must know how to do everything.
- Terrible user experience.
Modern desktop:
- Simple interface - doesn't require expert users.
- Users can have multiple applications open at once - applications shouldn't hog resources (screen real estate, CPU, RAM).
- Many applications can work without connection to Internet.
- Information is mainly stored locally.
Mobile/app-based:
- App runs in full screen.
- Limited resources for apps (small screen, less CPU and memory).
- Web account(s) associated with device.
- Most apps work online.
- A lot of information is stored in web account (e.g. mail, contacts).
- Basic app settings stored locally.
Web based apps / web-sites:
- Apps run in browser.
- Apps have full browser window size.
- Browser may or may not be full screen (see desktop apps above).
- Information is mainly stored online (except cookies).
- Settings for non registered users stored locally (and for use prior to login).
- Storing information online requires web account(s).