IMO mimetypes are the only way to access all the different applications on a desktop in a user friendly manner. Mimetypes are the glue how applications are connected to files, how applications are visible so a user can work with them. But the current implementation and the current standard at freedesktop.org is not usable. The following mimetype concept tries to solve the situation.
Concept: A mimetype library with an easy usable API handles the current implementation, may handle the freedesktop standard and allows handling a future Berkeley DB implementation. This API has to conform to the following points:
All the mimetype information have to be provided and installed by the application, it's their responsibility to care that the information are complete and correct any time they are needed. This may mean each application has to check and correct this information each time it's run. At least any user without _any_ computer knowledge and without any rights has to be able to restore this information anytime.
A tool has to be created to take care for conflicts between different applications and to add, change or remove information. Any change of this tool has a higher priority than changes by applications. There might be a common source, a public repository, for such changes.
The wxMimetypeManager class has to be extended so it provides all the needed function, especially for writing mimetypes by the application.
The API of the mimetype library as to be defined and the library has to be created.