Slashdot Mirror


GNOME Development Site

An anonymous tipster contributed the following "To make it easier for hackers to write GNOME apps and make contributions to GNOME, the GNOME developers have just opened up the GNOME developers' site, where you can find brain dumps of their knowledge on the GNOME architecture, as well white papers, tutorials, FAQs, and web-browseable source code. " The site really does contain a lot of good documentation, and actually looks quite nice, I think.

43 comments

  1. Re:Will Moores law cure X? by Anonymous Coward · · Score: 0

    True - everything will be twice as fast, but getting to the point where twice as fast (or slow) of something tiny doesn't make much difference.

    For a wild-guess example:

    1999 cpu/buss:
    windows gui renders something in 1 sec
    X takes 2 seconds for the same thing
    (the difference is noticeable)

    2004 cpu/buss:
    windows gui renders something in .1 sec
    X takes .2 sec for the same thing
    (the difference is still by 2, but to the user it's so tiny it doesn't matter)

  2. but PC's are so inexpensive now by Anonymous Coward · · Score: 0

    Back when PC/Workstations cost several thousand dollars it may have been cost effective to have one box with several monitors running from it - but we're at a point where you can buy SEVERAL killer AMD boxs with monitors for less than what that one box cost ten years ago.

    A display system with more emphasis on performance for a single user has become more important than the ability to save money by running several monitors from one box.

    1. Re:but PC's are so inexpensive now by Anonymous Coward · · Score: 0

      The actual cost of the hardware is not that big compared to the management and maintenance costs of the equipment over it's lifetime. That is why the thin-client machines are still viable in the age of sub $500 computers. The cover story of this month's Network Computing magazine is about this very subject. Centralizing applications and data on a few servers helps lower admin costs.

      When you think about it, not everyone needs a PC. People doing data entry, point-of-sale, or other tasks that depend on sending data back and forth to a server are really just need something to display the information and a way for the user to input the data and interact with the application. A 'killer AMD' box is a waste of resources for something like this, even if the hardware is cheap.

      If this ability wasn't useful, why would MS try to hack this functionality onto NT? It very useful if you have an GUI application that only runs on a certain machine and you can't get on it's console or it's inconvienient to do so. Not everyone can have a 64 cpu SGI next to their desk, but it's nice to be able to run apps that can take advantage of such a machine in the central computer room and still have a GUI interface to control it at my desk.

      Just because you think that single user performace is more important doesn't mean that it's as important to someone else.

  3. Re:X is bad by Anonymous Coward · · Score: 0

    But what if X had widgets defined in the X protocol and they sucked or were limited in some functionality? I agree that having the application break the widgets down to the basic drawing primitives supported by the protocol, send them to the X server (either over the net or via shared memory), and then have the X server draw those primitives is a bottle neck.

    Why not define an extension, similar to the XIE or the direct draw extensions where the X server can load shared libraries for the widget sets being used? That way whenever a widget needs to process a redraw event, it just passes the information needed to the X server and the server uses the widget's libraries to perform the drawing of the primities. The widget information would be in shared memory for local apps and transferred via the network for remote apps. The widget set could just transmit the data needed by the X server when the widget changes state to minimize network traffic. When an application is started, the X server could be queried to see if it supports this extension, and if so, then queried if it supports the native drawing of the current widget set. If this isn't the case, everything would act like it does now. But if it did support the widget set, on the app side, the widget would just have to send a message to draw it, and the X server would use the widget library routines in 'server-mode' to draw the requested widget.

    This does have the disadvantage of making the server take up more memory, open security holes, or if there is a bug in the server side widget library, it could crash your program as well as the server or just cause a memory leak that requires you to restart X every so often. The latter case has happened in a few versions of X. I remember having to periodically shut down X on my workstation a few years ago because of a memory leak in X that became very noticable if one was manipulating large images.

  4. Good one! by gavinhall · · Score: 1

    Posted by !ErrorBookmarkNotDefined:

    OK, so extrasolar didn't hold his punches, but he makes a good point.

    Perhaps I should follow up with something like:

    We need a Beowulf cluster of the developer.gnome sites.

    ...just make sure we cover all the cliches.

    But here's a better question:
    Look at the site. Ask yourself: what isn't here that I need.
    Compare it to some other developer connections, like Sun's Java site and Netscape's rat-nest of a developer page.
    Now ask of yourself how can I get involved to provide what I think is missing.
    Documentation will really help with the acceptance of Linux, I think.


    -----------------------------
    Computers are useless. They can only give answers.

  5. Re:Slightly off-topic question by webslacker · · Score: 2

    LinuxPPC comes with both KDE and Gnome in the installer.

  6. You miss the point... GNOME *does* suck. by Anonymous Coward · · Score: 0

    The point is, that GNOME *does* suck. It's not even as good as the Mac for GUI development, and that's pretty sad.

    From the site:

    "For localization, GNOME uses the gettext() interface. gettext() works by using the strings in the original language (usually English) as the keys by which the translations are looked up. All the strings marked as needing translation are extracted from the source code with a helper program. Human translators then translate the strings into each target language. "

    THE STRINGS ARE EMBEDDED IN THE CODE! Christ, this is a Nightmare to try to internationalize, and it doesn't address at *all* the fact that there's more to internationalization than converting strings!

    In NeXTStep (ten years old and counting!) an app can have multiple co-resident UI's, selecting the appropriate presentation based on the user's language preference.

    Didn't the GNOME folks look at the current state of the art before setting out to write yet another X-windoze disaster?

    Linux is for servers. If Linux manages to jettison X-Windows (Yes, I call it X-Windows, mostly to irritate its proponents) and come up with a decent graphics architecture/GUI/windowing system/end-user application model, then it will become a challenger to Windoze. It's not there yet, and it won't *get* there, until toys like X and Gnome are abandoned.

    -jcr

    1. Re:You miss the point... GNOME *does* suck. by BrianB · · Score: 1

      > THE STRINGS ARE EMBEDDED IN THE CODE! Christ, this is a Nightmare to
      try to internationalize, and it doesn't address at *all* the fact that
      there's more to internationalization than converting strings!

      Obviously you know next to nothing about gettext.
      gettext works on a simple premise, *If localization
      hampers the developer, then the developer (usually
      an english-only speaking american) will say screw
      and not even bother.* gettext is actually pretty clever in that it has a minimal impact on the original developer and others can localize the code. And yes there are more issues than just changing strings, (dates comes to mind) but gettext's job is strings, and if you read the doc on it you would see that it makes reccomendations about things such as plurals (not all languages pluralize by adding an 's' kinda thing)
      In short gettext means 1) more readable code 2) more likelyhood that the program will get localization. We live in the real world, not some fantasy "everbody codes by my standards, no one would ever use a 2 digit date!" world

    2. Re:You miss the point... GNOME *does* suck. by JamesHenstridge · · Score: 1

      From your response, it is not clear to me that you have ever actually looked at the gettext library, GTK+'s internationalisation features or the ideas that are being considered for the next version of GTK+.

      In case you didn't know, gettext is not just a GNU or GNOME invention -- the original implementation was done by Uniforum and used in Solaris.

      Yes you have strings embedded in your source code -- this means that the changes to add translation are minimal. You just have to call gettext() (usually you will create macro _() as a synonym for this) for each translatable string before displaying it.

      You can then pass all your source files through the xgettext program that will extract all the strings for you and put together a po file template where translations can be made. At runtime, if a translation is not available, the original strings are used. If there is one, the translations are used. This is a very clean way of doing translations -- don't knock it unless you have tried it.

      And yes, strings aren't everything. GTK+ supports using fontsets to display languages with large character sets. It also handles internationalised input methods.

      As for separate user interfaces, it is possible to code this sort of thing with the libglade library and the glade user interface builder (hint: there is documentation about using libglade on developer.gnome.org if you want to take a look).

      Lastly, what is your problem with X? It is the most stable, versatile (what other systems are as configurable as X?) and useful windowing system available. It has had network transparency for a long time -- windows is just starting to add it, and is not part of the standard package. Why do you think we should stop using X and wait for a better windowing system?

      Wouldn't it be a better idea to use X now, and build applications on top of libraries that abstract away some code specific to X, so if something better comes along, it can be used? But if you actually take a look, this is what is currently being done with GNOME by using gtk/gdk, and by KDE by using Qt.

      If you still think that X and GNOME suck, don't use them (that means KDE is also out of the question). No one forces you to use them. If you are interested in seeing a better windowing system for Linux, I urge you to take a look at the Berlin project, or offer to lend a hand with Hungry programmer's Y windowing system.

    3. Re:You miss the point... GNOME *does* suck. by gavinhall · · Score: 1

      Posted by stodge:

      I'm not too technically minded, but why have a graphics subsystem that is abstracted away from the core of the OS if you don't want to throw the display across the network. I find X bloated as well - but I get that impression from looking at top.

  7. Central Point for Developers by Anonymous Coward · · Score: 0

    There has been a central point for Gnome developers to get
    information for some time - looking at core dumps. Is this what
    the book is about, then?

    Gnome sucks. Several months ago (May) I installed Gnome 1.x whatever.
    Supposedly with a lot of bugfixes on top of the initial 1.0 release.
    Most things worked, but the performance was terrible.

    Of course it came with "E" as the designated window manager.
    I got a very negative impression of Enlightenment because its
    performance was so degraded by Gnome and the Gnome people
    kept blaming crashes on E instead of Gnome's sorry code.

    More recently, I reinstalled E without Gnome, and it works beautifully.
    It has *never* crashed except when installing some new,
    experimental themes and even then E trapped the segmentation
    violation and allowed me to restart X.

    I still have some of the Gnome libraries installed because
    sadly quite a few Gtk programs require them. They should not
    need the Gnome libs, though. They don't use CORBA, and why
    the hell sould a program unnecessarily be linked to the Gnome
    control panel and require ESound (which E itself dosn't even
    require?) Why should you need sound to copy a file?

    This really is sort of a conspiracy - to make Gtk apps which really
    don't need to use Gnome dependent on it. Gtk developers -
    please don't Gnomify your apps. Miguel should rot in hell for
    crashifying applications by encouraging developers to link them to
    buggy Gnome code.

    Gnome does not just have bugs. It is incompetently designed
    and the problems go much deeper than what can be fixed by
    changing a line of code here or there. The whole design is
    flawed and most of what is in Gnome is there for political reasons
    and to put "hooks" into apps to make Gnome the centeral point
    of control and to make everything dependent on itself. That's
    pure greed and power hungriness. Not good code.

    What for? Of what use is the crappy control panel? All the
    Linux desktop needs is some way for apps to more easily
    share information and commonly accepted drag and drop
    protocols, etc. And more mature apps for end users - not
    just for developers and sysadmins.







  8. developer.kde.org never got a story :P by Anonymous Coward · · Score: 0

    And it's been there for over a year...

  9. Unreachable to me last night and today by Anonymous Coward · · Score: 0

    Anyone else unable to connect to
    developer.gnome.org? Anyone connect successfully yet?

    I can't even access www.gnome.org today.

  10. Re:I am kind of curious by Anonymous Coward · · Score: 0

    Yes, but this has already been done for Perl and lisp, which are more commonly used on Unix.

  11. Re:X is bad by Durbs · · Score: 1

    Didn't NeWS implement something like this - the idea of an extensible server ?

    --
    -- I'm drinking myself to sleep again...
  12. Re:Don't feed the trolls by dmiller · · Score: 1

    If you don't like ACs then raise your threshold so you don't see them. Don't bitch and whine.

  13. The Stranger by Anonymous Coward · · Score: 0


    THE STRANGER


    by Rudyard Kipling


    The stranger within my gate,
    He may be true or kind,
    But he does not talk my talk -
    I cannot feel his mind.
    I see his face and the eyes and the mouth,
    But not the soul behind.


    The men of my own stock,
    They may do ill or well,
    But they tell the lies I am wonted to,
    They are used to the lies I tell;
    And we do not need interpreters
    When we go to buy or sell.


    The stranger within my gates,
    He may be evil or good,
    But I can not tell what powers control -
    What reasons sway his mood;
    Nor when the Gods of his far-off land
    Shall repossess his blood.


    The men of my own stock,
    Bitter bad they may be,
    But at least they hear the things I hear,
    And see the things I see;
    And what ever I think of them and their likes
    They think of the likes of me.


    This was my father's belief
    And this is also mine:
    Let the corn be all one sheaf -
    And the grapes be all one vine,
    Ere our children's teeth are set on edge
    By bitter bread and wine.


    Rudyard Kipling 1865-1936

  14. Re:I am kind of curious by SimonK · · Score: 1

    Wasn't that what guile was for ? or has that fallen by the wayside ?

  15. X is bad by be-fan · · Score: 1

    The reason that X is bad is not becuase of its features, but becuase of it's kludginess. The reason they guy said that Linux is for servers is becuase X is causing horrible problems with its bloat in local applications. Look at how people had to come up with LibGGI and DRI to bypass some of the X bloat. Most people don't need network transparancy, they don't want a windowing system that hurts local performance by using TCP/IP locally. A clean, light local windowing/graphics system is what Linux needs to penetrate the home/workstation market and thats what that person was lamenting about. And don't even think of saying that X is not bloated, it responds slower than Win2k on my computer (PII 412 64MB)

    --
    A deep unwavering belief is a sure sign you're missing something...
    1. Re:X is bad by SimonK · · Score: 1

      Half and education is a terrible thing. X does not use networking locally. It uses local IPC. This is transparent. If its available many toolkits (including Gtk+) use the shared memory extension to get rid of even that overhead.

      Network transparency is absolutely vital to large companies. If you want proof just look at the lengths people go to to acheive it under Windows.

      Yes, X has problems. The protocol is showing its age a bit, and arguably the distinction between what runs on the client and what runs on the server is in the wrong place for many applications. The Berlin people are taking a different approach, but that too has its problems.

    2. Re:X is bad by SimonK · · Score: 1

      Yes. It used DPS as an extension language.

    3. Re:X is bad by Ben+Hutchings · · Score: 1

      Which resulted in horrible security problems, I believe.

    4. Re:X is bad by scrytch · · Score: 2

      Ahem. No X I have seen ever uses TCP/IP locally. It uses a unix socket or even shared memory. It's the fact that widgets aren't representable in the X protocol and have to be drawn naively that causes some of the more major slowdowns (not to mention bloat).

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  16. Re:Will Moores law cure X? by Anonymous Coward · · Score: 0

    It won't be that way if intel gets it's way.
    Intel will push it's hardest to get companies to design and implement ever more complex GUI's and OS'es.
    Microsoft also needs to create new "features" (read: bloat) which means render time will not really drop. That is if software is going to start to catch up w/ hardware again.
    Much of this bloat we can do without, such as "Active Desktop" (who the hell thought that one up?), and so we can narrow the gap between X and Windoze if we do not implement these utterly useless, buzzwordy "features".
    Microsoft may have an ace up it's sleeve w/ 3D GUI's however, and with the current state of 3D on linux, they'll be years ahead.
    Hopefully OpenGL can bypass the bloat of X (Like SVGAlib??) and we can have a fast, kickass 3D GUI.
    That is, if we ever get accelerated OGL.
    On a side note, Gnome AND KDE must be horribly unoptimized, on my P200 w/64 megs of ram, I can hardly TYPE in Kedit and such. Are KDE and Gnome made for >=P2??

  17. Finally by X-ViRGE · · Score: 1

    I was wondering when you guys would post that. Perhaps I should've submitted it days ago when I found out. :)

  18. Re:YeeHaa!!!! by Acy+James+Stapp · · Score: 0

    That is Kick ASS!

    --
    -- Too lazy to get a lower UID.
  19. Re:help!!! by Black+Parrot · · Score: 2

    Don't know about '98, but GNOME runs just fine over Windows 95. (You're just going about it wrong -- you've got to start with "format" rather than "pkunzip".)

    --
    Sheesh, evil *and* a jerk. -- Jade
  20. Slightly off-topic answer by Gregg+M · · Score: 1

    Check out www.linuxnewbie.org

    Looks like a good site for newcomers to Linux.







    --
    Linux is only free if your time has no value. Windows is only free if you threaten to use Linux.
  21. Re:Legal trap! - groan by NotZed · · Score: 2
    If you had read much of the content you would find that the actual reference content is output from the DocBook tools and has no such reference to RedHat anyway.

    Further, although the HTML output generated from the source documents does not all contain the license information (some does, for example mine does), it is included in the source forms of the documentation - which is the way people actually modify it.

    I don't see what is wrong with attributing hosting facilities either. It wouldn't be there if SOME company didn't pay the bills. Why is RedHat so evil?

    Also, if you end up wording your own documentation similar to something on the website then you maybe sued for copyright infringment.
    Don't yanks think about anything but sueing each other? Its only making the lawyers rich! Anyway, this would generally fall into the 'fair use' category.

    Maybe there needs to be more explicit legal information, but that is not terribly difficult to add.


    __// `Thinking is an exercise to which all too few brains

    --
    _ // `Thinking is an exercise to which all too few brains
    \\/ are accustomed' - First Lensman
  22. You are an idiot. (Somebody moderate this down.) by Anonymous Coward · · Score: 0

    This guy clearly hasn't even read the website, or any of the information on it. Nowhere do I see any information whose copyright is held by Red Hat. It IS all clearly marked with copyright information though, sometimes held by the author, often with the copyright turned over to the FSF. Either way, it clearly doesn't fall to Red Hat, nor does it say anywhere that "all rights are reserved."

    I think this is a pretty clear-cut case of lying FUD. I recommend some moderator knocks his post down to -1.

  23. Brain dumps by Improv · · Score: 0

    If you use undump on a brain dump, do you get
    a working brain? Can I do a backtrace on people's
    brain dumps? :P

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
  24. Slightly off-topic question by Anonymous Coward · · Score: 0

    While we're on DE's, I'm a total Linux newbie and I got LinuxPPC 5 for my Mac. It comes with WindowMaker by default, can I replace it with Gnome/KDE, or are those only only for x86 Linuxes?

  25. Re:help!!! by nd · · Score: 1

    Please, no one e-mail that address. This person obviously is trying to get everyone to send hatemail to that guy, presumably his enemy.

  26. Documentation by Anonymous Coward · · Score: 1

    I'm glad that Gnome finally has a good API reference document.

  27. Uhm, GGI is not a windowing system... by Anonymous Coward · · Score: 0

    It's just an abstraction of the video framebuffer. As a matter of fact, there is an X server that runs on top of GGI.

  28. KDE does have this by Anonymous Coward · · Score: 0

    It's called KScript and it's in the CVS. It will be part of KDE2.0.

  29. You think backwards (PS: Moderate this down) by extrasolar · · Score: 1
    You think in the opposite direction than most people. You have your conclusion (GNOME sucks) and then scurry to justify it. With that logic, everything sucks. Let me give you a few examples:

    1. Linux sucks.
    2. Linux uses outdated Unix technology.

    1. KDE sucks.
    2. KDE looks a lot like Windows.

    1. GNOME sucks.
    2. GNOME uses technology similar to Windows.

    1. Diplomacy sucks.
    2. The minority has no voice.

    1. The Space program sucks.
    2. It uses money from the national bugdet.

    1. World Peace sucks.
    2. The arms contracters don't make as much money.


    Gee, this is easy. I guess everything really sucks then.

    And I hate to see people bash GPLed software. We don't make fun of Windows because it crashes, we make fun of it because it doesn't get fixed. Gnome is getting fixed very rapidly because of it's open source nature. Same thing goes for KDE.

    I think we can do without your kind of advocacy (Hint: You aren't changing anyone's minds).

    Oh, and about Miguel's misquote that was tooken out of context. It was a very good compromise, otherwise KDE or Gnome would have had to change to interoperate with the other. Quit expecting developers to speak like diplomats!

    --

  30. Re:I am kind of curious by Fizgig · · Score: 2

    Well, there are python bindings for GNOME (don't know about glade). That's getting pretty close.

  31. Will Moores law cure X? by Anonymous Coward · · Score: 0

    In a couple years when we have ghz-range cpus with comparatively fast m/b buss, will the speed difference between the windows gui and X that we hear so much about be rendered moot?

    1. Re:Will Moores law cure X? by scrytch · · Score: 2

      Yes, and anything that's twice as fast will STILL BE TWICE AS FAST. Citing Moore's so-called "law" is a lame cop-out I would expect from marketroids, not a geek who actually takes pride in having good code.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
  32. I am kind of curious by extrasolar · · Score: 1
    Given Gnome's language bindings and things like GLADE, I am wondering, hypothetically, if it is possible to have a Gnome BASIC, sorta like Visual Basic (not that anyone would want to).

    I was wondering this for a while now, anyone know?

    --

  33. Don't feed the trolls by Joe+Patry · · Score: 2

    Man nothing brings 'em out like GNOME or RedHat. Maybe slashdot should put the topic of AC posting to a vote.

    Moving on to the topic:

    I can't see how anyone could view this in a negative light. More documentation makes for better programs, and some is better than none. Atleast there now is a central point for GNOME developers to look for information, in an organized matter. Keep up the good work GNOME developers.

  34. X doesn't suck. by Anonymous Coward · · Score: 0

    I don't see what all the fuss is about. I started using X in 1988 ( I think it was X10 at the time) and it's made a lot of improvements since then. It's funny to hear ppl complaining that X is bloated and slow on their PIIs with accelerated video cards. No, X11R3 on a Sun3 w/ 8MB was slow. There were several companies at the time selling X accerlator hardware at the time because X performance was slow. The code cleanup in X11R4 helped greatly and made a lot of those products unnecessary.

    People gripe about having network support in X, but that's one of the best things about it. You can have several inexpensive X terminals hooked up to a fast server or two and display GUI applications from several different locations. NT is just trying to do that and as usual, Gates & Co. think they've invented something revolutionary. We've been able to do that for over a decade!!!

    XFree86 4.0 is supposed to be more modular and faster. If you don't mind proprietary software, some of the commercial X servers are faster for many video cards. In my experience, X usually runs slow when:

    • You have the X server configured improperly for the video card being used or
    • You have too much fscking eye candy being used for backgrounds or widget decorations.