Announce: open 0.2 - a unix application launcherr

Mike Meyer mwm at mired.org
Sun Sep 18 20:09:44 EDT 2005


"open" is designed to provide Unix users with a single tool for
dealing with the multitude of applications that deal with data files.
Without open - or something like it - every time a user wants to look
at a file, they have to figure out what type the file is and which
application on their path can open that file, and then invoke that
application with the appropriate arguments. Likewise, every
application that uses external applications has it's own database of
file types and applications. Applications developers have to choose a
format for the database, write code to parse it, and provide a GUI for
editing it.  This not only represents a duplication of effort, but
requires the user to tell every application how to deal with each type
of file, meaning they have to learn multiple different tools for
dealing with this information.

"open" was designed to solve these problems. If the user wants to open
a file, they just invoke "open" on it. To edit it, they just invoke
"open -c edit" (or "edit" if they've installed it that way). Open will
figure out which application they want to use for this, and arrange
that it gets called appropriately. If open can't find an application,
it'll ask the user to choose one, and save that choice for future
reference.  For applications, open provides an API that takes care of
the entire problem. There's no need to parse a configuration file,
provide facilities for editing the configuration file, ensure the
consistency of the configuration file, or any such thing. The
application merely hands the file name to "open", and "open" does the
rest. Further, the API is one that any program that has to deal with
external applications already deals with - launching an external
application on a file. So users can start getting the benefit of using
"open" even if none of the applications they have installed know about
it - all they have to do is tell each application to use "open" for
everything. Hopefully, applications will start checking for and using
"open" as an external viewer by default, removing even that burden
from the user.

The benefits to the user are multifold. They only have to learn one
interface for configuring the invocation of external programs. If they
install a new foo viewer, and decide they want to use that for viewing
foos everywhere, they only have to change it in one place - the "open"
database. Users can quit worrying about "What application opens this
file" at the command line. Well, most of the time. Instead, they just
do "open <filename>", and let open sort it out.

It's not got it's own web page yet - and little or no
documentation. Download the tarball from
<URL: http://www.mired.org/downloads/open-0.2.tar.gz >

      <mike
-- 
Mike Meyer <mwm at mired.org>			http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.



More information about the Python-list mailing list