[Tracker] Traker Marketing



.. or how I learned to stop worrying and love the developers

Note: this is just a personal rant about (currently) missing stuff in
Tracker. I like Tracker, I know it's able to do anything with my
[meta]data. I like Tracker developers, but sometimes it seems to me that
the real Tracker scope is missed.

## Locating Tracker Targets ##

Tracker works fine. It's fast in indexing and retrieving info. It uses a
small amount of memory. But:
     1. there are 2 kind of Tracker users: people around the world that
        like to search in their own data (aka end-users) and people
        around the world that like to build software capable to search
        in other people's data (aka external-developers).
     2. end-users like Tracker automatically ensure that their files are
        automatically indexed when created, moved, copied or deleted;
        end-users like Tracker is fast and uses low memory; end-users
        want an easy and effective way to search
     3. ext-developer are not end-users; ext-developers like to have
        search facilities in their applications; ext-developers want a
        simple and powerful API to query meta-data and content index and
        a simple way to add custom data formats.

1 + 2 + 3 = Tracker needs to meet wishes of both end-users and
developers: it should be fast and trustworthy in data indexing and
retrieval and should be pliable to to build new applications and
services and to integrate itself with the (GNOME) desktop.

## Puzzle Pieces ##

Tracker could be represented by something like:

 +-----------+       +---------------+        +------------+
 |           |       |               |        |            |
 |  email    |       |    music      |        |   doc      |
 |           |       |               |        |            |
 +-----------+       +---------------+        +------------+
       |                    |                        |
       *--------------------*------------------------*
                            |
                    +-------v--------+  +---------------+
                    |                |  |               |
                    |    TRACKERD    <-->   DATABASE    |
                    |                |  |               |
                    +-------+--------+  +---------------+
                            |                            
       *--------------------*
       |                    |
 +-----------+       +---------------+
 |           |       |               |
 |  app 1    |       |   app 2       |
 |           |       |               |
 +-----------+       +---------------+

Tracker grabs data from "objects" and give out them to applications. The
basic pieces to perform this stream are:
     1. a database holding metadata and context for objects
     2. an API to query metadata and context
     3. a set of extractors to populate the database acquiring info from
        objects
     4. an API to create object extractors
     5. good documentation :-)

By now Tracker provides only the database and some extractors. There is
no (simple) way for external developers to build Tracker-compliant
application, i.e applications able to query the tracker database and/or
to create their own extractors and objects.

If we want Tracker in our favorite environment/distro/xxxx, we should
neglect end-users for a while and take care of ext-developers. Users (at
least power users and geeks) already know that Tracker is good for them
and are yet using it. Now Tracker needs to be widely adopted in desktop
applications.

## Marketing Is Important ##

So, thinking ext-developers as Tracker "targets", we can't simply
persuade them of Tracker excellence saying that Tracker is fast and use
low memory. Those arguments are good for end-users, not for developers.
Also we can't say "you could do it with Tracker

We have to explain and demonstrate them that Tracker is good to build
applications capable to perform searches in end-user's data.

But we also want Tracker in GNOME Desktop. This is an additional step,
and could need to stop thinking Tracker as a monolithic software and
start thinking (and developing) it as a framework.

IMHO the big issue to solve before propose Tracker as part of GNOME
Desktop is external dependencies: currently tracker module on
svn.gnome.org depends on Poppler in order to extract data from PDF files
and on GStreamer in order to extract data some multimedia files (as well
as on other stuff for other files). But Poppler and GStreamer are not
needed to (GNOME) developers to build Tracker-compliant applications.
For example, to build a tracker-compliant Epiphany, we don't need nor
Poppler neither GStreamer; to build a tracker-compliant Rhythmbox we
should ensure the availability of music metadata extractors. And so on.




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