Re: GTK+ installation




On Jan 6, 2007, at 6:15 PM, David Nečas (Yeti) wrote:

i have no guarantee that the end-user
knows anything about something called gtk+ and all the nightmare
requirements involved in installing it.

Is the problem that Gtk+ dependences *exist*?  Or does your
application have -- unlike Gtk+ -- some magic building
method that everyone immediately understands and can
perform?


Coming back to this, David hits on exactly the point I'm trying to make. Briefly:

My application is intended to be used by both seismologists and seismic network operators and consists of both server-side processes (analyzing data and feeding the results to a database), and client- side (a GUI responsible for displaying wave-forms as well as reading the server dbase and visualizing its contents). The entire system, database, server processes, client processes, supporting scripts, i.e., everything, is delivered in a single tar ball.

In addition to all my specific coding (itself open-source), the application makes use of other open-source software, namely:
- MySQL
- GTK+
- FFTW (fourier transform software from MIT)
- gdbm
- siesmic data format readers (obtained from multiple sources)
- seismic instrument response converter
- high-resolution bi-cubic spline interpolator

My goals and purposes of this system is many-fold, however, for the discussion here, two are paramount: 1) provide software that is fully open-source, also using as much open-source software as possible (i.e., write nothing new), 2) provide a system that is entirely complete and fully self- contained, from first download to the GUI's visualization of data.

The first I have succeeded in realizing. Not only is all of the software free, but, imho, is also the best the market has to offer (I refer to the included libraries, here.).

The second goal has been a little more difficult to come by. However, after working on the problem for some time now, I can say I'm almost there:

-) entire system is self-contained in a single tarball
-) entire system compiles and installs itself in a single command
-) database is set up with a single command
-) server exectues in a single repeatable command (no configuration necessary, all configuration occurs as a result of found files, i.e., off the existence of data, simply feed the system data and everything else 'magically' works) -) once server has completed, GUI can connect and begin visualizing the server's results

(And to answer Yeti's question: yes, the system 'magically' builds and installs the entire system, alleviating the end-user from knowing intimately all the details related to the externally contributed libraries. I regard a computer's primary task to be that of magic- maker.)

Regarding the compilation, the libraries included fall into two categories, internally provided (by me as part of the tarball), or externally provided. All internal libraries are compiled in-situ as part of the system compile. The two externally provided libraries are MySQL and GTK+.

For MySQL, as part of the installation instructions for the system, I direct the user to the MySQL download page ( http://www.mysql.org/ downloads/mysql/5.0.html#downloads ) which is both straightforward and contains a proper solution for all my end-user types. This works and results in no issues or hassles, in general.

Leaving the other externally provided library, GTK+, to be contended with. What I miss, here, is the download equivalent of the MySQL download page cited above. As it is, anyone wishing to use my software must figure out for themselves all the details of GTK+ installation, since: 1) the GTK+ libraries, when delivered built-in with the OS, are usually too old, and anyway 2) are only the runtime version of the GTK+ libraries (at least on redhat), i.e., completely useless for my purposes.

I need the GTK+ development libraries so that my system can successfully compile on the target system. Except that my end-users are not, for the most part, technical in nature, and since installation of GTK+ is technical in nature, won't be able to successfully get past this requirement.

My question still is: why is there no GTK+ equivalent of the MySQL download page? Since it simply doesn't exist, I will assume it's basically not recognized as needed, as also indicated by Tor's response a few days ago:

The current GTK+ maintainers don't feel it's a good use of their limited
resources to work on niche features that would benefit a relatively
small part of the user population.

Understood: I, as well, do not have the time to devote to filling the hole I so actively describe, alas.

My next question nonetheless: is what I am trying to achieve really a niche activity? To generally state, I develop a GUI application, based on GTK+, for use by many people all over the world (granted, I would say the subject of seismology is definitely niche), which requires:
1) a recent-ish version of GTK+ (namely, 2.6 or better)
2) development libraries for compilation and linking
3) a straight-forward foolproof method of providing for 1) and 2), alleviating the end-user from understanding all the ins and outs of a GTK+ installation from source.

Perhaps my understanding of who the non-niche end-user population of GTK+ is incomplete. Who do the GTK+ developers understand their user base to be, if not me and my sort?

And while I readily admit I would be one to immediately benifit from this hole being plugged, what I really would like to convince someone of (I have no idea who, really) is that making the downloading of GTK + libraries, both runtime and development, similarly as easy and straight-forward as is done by MySQL will be of most benefit to GTK+ itself. Is it so difficult to understand that making a library easy to install encourages its use whereas difficulty in installation can (and I'm sure does) result in people not choosing GTK+ as the library to use? (Anyone doing proper due diligance when starting a project and deciding on proper libraries would have to simply take a look at the mailing list to realize that compilation and installation are non- trivial and subsequently decide, perhaps, that another library would be better used (not to mention discover that if they want to distribute their application to the world at large against the most recent version, they are a niche group).)

To be clear (as I hope is obvious), I have only nice things to say about GTK+ as a library, it allows me to do anything I can think of to do, my compliments can go no higher.

the real world beckons, oh ivory tower; shall thee truly not heed the
call?

Part of the real world experience is that you invent a great
solution and then find ohter people don't have the problem.
I happens to me all the time too.

Agreed. But would you say that the problem described here is a problem that other people don't have?

With an eye to a solution: For me, in any case, a single web-page responsible for all downloading combinations, similar to MySQL, would be an ideal solution. I would then be able to instruct my user population to download and install the proper version from this web- page and proceed with the single command to compile and install my system.

Going again back to Tor's comment, is GTK+ really and truly dependent on functionality only existing provided by a volunteer wanting to actually do the work? I really have no idea, but this strikes me as a bit limited in its approach since there's always work that must be done that no one would, in their right mind, volunteer for (can anyone say documentation, all you programmers out there?).

My assumption has been for awhile that there are supporting entities of GTK+ (Redhat, for example?), who provide resources, time, and money to the problem. Can no one of these entities see the benefit from having such a download page? The way I understand the problem, the work would be a finite exercise, the solution good for all time, and would ultimately make GTK+ the absolutely most attractive GUI solution on the market today. Is this not ultimately what we all want?

As it is, I am now at a point where I need to provide my system to a broader user base, i.e., persons I will have no direct contact with; and my GTK+ install problem is still not solved. Not sure yet what I'm going to do (suggestions?) in order to satisfy my requirements, but I have no choice but to come up with a solution, otherwise my end- users will simply not be able to install GTK+ and my tool will go unused, and this would be a shame.

Warm regards, I hope I've been lucid and obvious,

richard


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