← Back to team overview

unity-design team mailing list archive

Idea - Unity Preview & Nautilus Content Aware Modules



Looking at a picture of the new Unity preview function the following idea
pooped into my mind (extends a previous brainstorm
idea<http://brainstorm.ubuntu.com/idea/24505/>of mine).

It would be cool to have little programs called "Unity Modules". These
modules would be like CLI programs but mainly for the Desktop. Every module
would be capable to preform given related task*s* on predefined file type*s*.
Now Unity preview and Nautilus comes into play.

- Dash:
When opening the preview of a document in Dash, the OS would check if any
Unity modules exists that supports the given file type, if yes it would add
a button for it to the preview window. If we would have e.g. a Unity module
to convert any text file type to PDF the button would be labeled 'Convert
to PDF'.

- Nautilus:
A user selects multiple files and preforms a right click. The OS would
check if there are Unity modules that can handle the selected files and
display the triggerable actions in a sub-menu (called e.g. 'Further
Actions'). All modules that can't handle the selection are discarded →
multiple file types = less module actions available...

Unity modules should be designed in a way that they can be used in the
Dash, Nautilus, from CLI...
It would be nice if user could *easily* write there own Unity modules (as:
shell script, java script, python, c...).

Unity Modules could extend the Dash + [enter Program name here]
functionality in a way we can't anticipated yet. Maybe Unity Modules could
even be useful for voice stuff... *dreaming* :)

*I guess a lot of module interactions could be integrated quite easily
because the code already exists. The Unity Modules would only provide a
common interface to access it.*

*Unity Module Suggestions:*
PDF Module: Convert any text or image file to PDF - split/merge PDF's.
Ubuntu One Module: Allows to upload a file to the cloud / create a public
Image Converter Module: Convert/resizes images to given size (px or file
Empathy Module: send file to online contact.

Modules that could be written by users:
SSH Module: Upload file to Server XYZ.
Terminal Module: Open file dir location in terminal
Media Convert Module: Convert sound or video file to XYZ.


   - content aware
   - needs to be implemented once and can be used on multiple
   - follows the Unix philosophy (one problem, one program)
   - a lot of code that could be used in Unity Modules already exists
   - current IT world lacks something like this

Your thoughts?

Follow ups