Re: Cursed GTK port actually usable



On Sat, 2003-08-30 at 05:48, Pavel Machek wrote:
> Hi!
> 
> > > It has three basic components:
> > > * gdk/cursed, forked from linux-fb
> > > * new theme
> > > * removing ugly +1's etc to make it render correctly
> > > 
> > > And now... Of course I'd like to see it merged. Merging gdk/cursed is
> > > easy, theme can live externally as well, but I guess those +1's are
> > > going to cause some problems.
> > > 
> > > Johanka, can you post diff between your and plain gtk, all but
> > > gdk/cursed?
> > > 
> > > Owen, this CursedGTK is actually usefull these days; would you
> > > reconsider your "No."?
> > 
> > I still don't think it makes sense. 
> > 
> >  - Good text mode GUIs and good pixel-based UIs have to be written
> >    separately. The necessary interaction design is very different.
> 
> ? From days of Borland's turbo vision, good text mode UIs are
> very similar to graphical UIs. Movable windows, pull
> down menus, mouse, colors. I believe turbo vision is still the best
> text UI around. Now... how is it different from gtk+?

I got started doing C programming using Turbo C and Borland
C++ in the text mode, and they were indeed pretty usable.

But my memory is that you didn't really use the moveable windows
much, you just left the editor window maximized, or maybe split
the screen into two windows. And it also wasn't really usable
at 80x25 ... I think I typically ran 132x48.

And I don't think this is typical for what people are doing in
text mode these days... in fact, Borland pretty much had moved
on to GUIs for their IDEs by 1992-1993 or so.

What people are usually doing with text mode UI's these
days are:
 
 - Running tools in a ssh session where either they can't
   forward X, or where forwarding X would be too slow.
 - Running config tools on a machine without X

There are a few text mode UIs that are so good that people prefer
them to the graphical competition - Mutt and MC seem to be 
the primary examples, but they don't look much like GUI apps.

A few of the specific design differences between good GUI
and good TUI apps:

 - TUI apps have very little content per screen, especially
   when internationalized
 - TUI apps are divided into screens with roughly the 
   same amount of information per screen. Popup dialogs
   generally don't work very well.
 - Scrollbars in a TUI app won't be recognizable or
   navigable for beginning users, so generally should
   be avoided.

[...]

> >  - If you are going to write a text mode UI, GTK+ is a huge, 
> >    bloated and fundementally unsuitable interface. 
> 
> Why? It has glade to help you with application design, and
> if you are using internationalization, you'd need layout engine, too.
> Graphics-manipulation parts of gtk are no longer important, but
> I guess thats okay... 

While I don't have details for line counts, if you look, say, 
at GtkTextView and GtkTreeView, a great deal of the complexity
is dealing with different fonts, with unequal line-heights,
etc. And a lot of GTK+ is dealing with the fine details of
mouse interaction.

If someone said, "OK, we've made MC depend on GTK+. To get
MC built, you first need to build:

 - iconv/libintl
 - GLib
 - Pango in text mode
 - ATK
 - GTK+ in text mode

MC when run, will pull in 3-4 megabytes of extra libraries."
I can't imagine that people would accept that. People running
text mode apps are a small subset of total users. People 
wanting to run text mode apps built on GTK+ are going to be
a small subset of that small subset. Simply not worth spending
time worrying about.

And we (the GTK+ maintainers) put the equivalent amount of effort 
into say a) helping integrate a curses port b) helping integrate
an OS/X port, the port to OS/X would pay much greater dividends
in:

 - Improvements and bug fixes to GTK+ itself
 - New users for GTK+-based applications
 - Competitiveness of GTK+ with other toolkits for application
   developers

I think it's very much worth asking:

 A) Why are people still using text mode in 2003?
 B) What can we do to fix those problems?

Halving the memory usage of GTK+, making GTK+/X twice as efficient
over the network are both attainable goals. 

> > I think adding a Curses backend would be useful to a very small 
> > group of people and would distract significantly from the goal of GTK+ -
> > to be the best possible toolkit for writing graphical mode 
> > applications.
> 
> I do not think that group is so small; currently popular applications
> tend to have their less-powerfull text-mode variants. I believe that's waste of
> effort. (kmail/mutt, mozilla/links, yast-graphical/yast-textmode, stormpkg/dselect
>  gnobots2/robots, krusader/mc),

For each of the above ask yourself - would the graphical mode app be as
good run in text mode as the current text mode app is currently? 
For all of the above I'm familiar with, the answer, I'm pretty sure,
is no.

And presumably the reason people are running, say, links, is that they
feel Mozilla is too heavy, not because they are running on a VT100 
terminal. Even if a curses GTK+ would give you a curses Mozilla
(it wouldn't) it would be pretty close to exactly as heavy as Mozilla
running in X.

Regards,
						Owen





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