proposal for MIME, actions, and implementations

Hi Jonathan,

Wow -- it's great to see a proposal on this already.  I just got involved in the discussion about it last week-ish :)  I have a slightly different idea of how this could work, though.

Doubtless some compromise would be best (especially if KDE come in on a freedesktop solution :), but I'll spell out just how I imagine it, anyway:

Files would have a prioritised list of mimetypes; not just primary and others.  This would allow better fallback and probably some other nice features, simply by virtue of providing more information to the desktop itself.

Mimetypes should have multiple actions associated with them.  'Open' should be one of many possible actions for a file.  Print, Extract, etc, should all be possible too.  Ideally, these actions would be a global list, which can be given 'implementors' for each mimetype.  The list should be extensible, too.

Applications should provide a list of actions and mimetypes for which those actions are implemented.

Some way to prioritise applications is needed, too.  Perhaps giving each application's implementation a 'rating' would do here: a scale of 1 to 100, with certain known milestones on the scale, like 1 is NOT_IMPLEMENTED, 25 is POOR_IMPLEMENTATION and 100 is IDEAL_IMPLEMENTATION, for example.  The reasons for using a scale rather than an enumeration will be obvious later.

To go cross-desktop neatly, those values might be scaled for applications which use different desktops.  So, for example, a GOOD_IMPLEMENTATION for the GNOME might outrank an IDEAL_IMPLEMENTATION for KDE, if GNOME is the desktop in use.

Doing this allows you to automagically present a 'Top 10' of favorite applications to perform any available action on a file.

An 'advanced view' of the 'Open With...' dialog could be rolled-down (I'm not sure of terminology here -- the triangle widget like in  OS X) allowing selection of more complex options, like handling this file as a more fundamental mimetype (XML, etc).

Alternatively, you could present the 'Top 1' of 10 different action implementors for a mimetype.  That would give you a list, for an XHTML file, of Edit with Bluefish, Edit with Conglomerate, Edit with GEdit, Edit with Hex Editor, etc.  Equally, a print list might look like Print with Mozilla, Print with Pretty HTML Printer, Print with GEdit, etc.  Actually, there's an issue here, where we might want two print actions: Print as Webpage and Print as Sourcecode.  But this system allows for that problem, unlike current approaches.

GNOME would probably prefer those apps to be listed by generic name, but that's possible, too, except in cases where very similar applications need to be distinguised.

I'll summarise, in an attempt to make more sense of all this:

I'd like to have a context menu with 'Open with <default app>' and 'Open with >'  Open With should resemble the current system, with 'App 2, App 3, ----, Other...'.  The difference is that it would choose each app VERY smartly.  When you choose 'Other...', it should give more SMART options for both the top-level mimetype and a SMART selection of other mimetypes' Open actions, perhaps.

In advanced mode, it should give access to the Mimetypes capplet, which gives another nice, usable interface to the hierarchy of mimetypes and associated actions.   From there, it should be possible to define new actions.

Globally, you need mimetypes, actions, implementations, and some new common dialog to handle handle smart display of available implementations of a given action for a given mimetype.

Hope this all makes sense!  I'm not currently on the list, but I'll try to subscribe and keep track of this conversation as quickly as possible.  Apologies if you don't get something, and I fail to elaborate :/

- Lee Braiden.

Email provided by

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]