2. The default way to install third-party application software shouldn't depend on repositories or servers. It should be based on installing files, just like on Windows. The OS should define a stable format for the OS to install, update and uninstall these files. Additionally, a permission system like Android's could be a good idea.
3. We need a desktop environment that's visually appealing and has a good UX.
4. We need centralized, thorough and official user documentation about the OS, so that the user doesn't need to browse random forums and wikis in order to learn how to use some piece of the OS. Note that this documentation is about the OS, not about third party software. And this documentation should be distinct from the developer's documentation.
5. Consistency. The user shouldn't need to learn 10 different config file formats or inconsistent command flags across the system in order to configure it.