Re: API Fragmentation and Cleanup



Hi Kenny, Havoc and everybody else,

    What you say is something I'm sure a lot of us agree with. When I
    was at GUADEC this April, I raised a similar issue, that of a lack
    of integrated documentation and while everybody felt that it was a
    vaild point, I'm not sure how many think it is really important in
    the time frame of the GNOME 2.0.

    Ever since I started hacking on GNOME and managed to do something
    substantial, I have been on this drive to get more and more people
    to adopt it as well as hack on it. Especially on areas like Pango
    which are relevant to a country like India with 18 official
    languages ! 

    Now, I have spoken to a lot of people I know, especially my fellow
    LUG members of my city and I always hear a common complaint, "Hey,
    the learning curve is too steep!", "There's no proper documentation
    for so many of the APIs", "It isn't explained in a nice and
    integrated manner" and their favourite, "KDE has such sexy
    documentation !"

    Now, the last comment is something I find hard to refute because
    it's true. And now, more importantly, I feel, just like Kenny does
    that the amount of fragmentation happening is confusing newcomers
    like crazy. It is no joke that a lot of people go crazy trying to
    figure certain things out.

    I am not saying that there is no doc. Of course there is, but it
    requires a tremendous amount of effort (which the average talented
    hacker who is testing unchartered waters might not be willing to put
    in) to understand how it all fits in. In most cases, I have to
    resort to reading code and understanding the API but how many people
    are willing to do that ? 

    How many people are willing / able to check out CVS code and read it
    and then figure out how to use, say, the BonoboItemHandler (Michael,
    that's just an example :-) ?

    And to make matters worse, there are so many different ways of doing
    things, as Kenny points out. I have been often asked by people
    whether they should create menus using GtkMenu or using the
    GNOMEUIIINFO structs and I have to tell them, "No, people, the
    correct way is to use the Bonobo XML file stuff !" And that's when
    people ask, "okay, so where can I go learn about it ?" And I have to
    say, "Read the code from CVS, dude."

    I urge every hacker on this list to think about how daunting this
    would be for potentially useful and talented hackers capable of
    contributing immensely to GNOME. Aren't we losing such people ?

    Shouldn't we spend some time and effort into addressing this
    important issue ? I know this might not be necessarily targetted for
    GNOME 2.0 because there are a lot of important issues to tackle
    there but can't we get something started ? Something co-ordinated
    with GDP which allows for _integrated_ API references plus tutorials
    plus code examples (perhaps the MSDN way, but don't flame me!)

    I really think we need to look strongly at this, but not necessarily
    in the GNOME 2.0 timeframe if there are other, more pressing issues.

    I think we need some action on this and soon.

    Regards,

        Ravi


On 26 Apr 2001 23:16:43 -0700, Kenny Graunke wrote:
> I propose organizing a team of hackers representing various "interests"
> module-wise and company wise (people who hack on gtk+, gnome-libs,
> bonobo, gal, eel, and so on - this will already assure that we get
> a mix from RHAD Labs, Eazel, Ximian, and independent hackers.) This
> team would examine basic tasks in GNOME development, our current APIs,
> and the status of all these modules. Their goal would be to find places
> where these modules overlap, and to decide where APIs should be merged,
> moved between modules, cleaned up, depricated, or entirely removed.
> 
> Hopefully GNOME 2.x already addresses some of these issues, I am only
> familiar with the state of 1.x - but I think as we move on to 2.x
> and to future releases, we must keep a handle on this so it does not
> get out of control. I doubt most people would disagree with my strong
> belief that having a few *solid* ways to do a simple development task
> is much better than having 6 ways to do the same thing, none of which
> are optimal solutions.
> 
> I do realize that many of these problems stem from backwards compatibility
> and the simple fact that these newer solutions simply did not exist
> back when the older ones were used. However, at the moment it's gotten
> pretty messy, so I want to be sure people are working on these issues
> for the future.
> 
> Thanks,
> 
> Kenny Graunke <kenny whitecape org>
> 
> _______________________________________________
> gnome-hackers mailing list
> gnome-hackers gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-hackers
> 
> 



-- 
"If you're smart, you'll be humble. There always is somebody
who hasn't read a book and knows twice as much as you do."

              -- David Duchonvy in Readers' Digest

        Ravi Pratap M         <ravi che iitm ac in>
                      <http://www.iitm.ac.in/~ravi>





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