From: Jason M. <ko...@gm...> - 2008-08-23 19:15:25
|
Personally, whenever I begin a project of any particular size, the first question I ask is what it should do. What is the purpose in creating it. I find this useful, as any debate about what should or should not be included in the project can usually be cleared up by looking at its purpose. Or, at the very least, it is easier to see which alternative fills the purpose better than the other. Normally, I would do this by making a (prioritized) list of goals. However for this project, I think it would be easier to list who should want to use the GL SDK and for what reasons. The audience for the SDK should drive all aspects of the design of the project. I would say that our audience is two-fold. One section of our audience is the "new to OpenGL/graphics" programmer: the neophyte. This is someone who decided to do some graphics work, heard about OpenGL, and wants to have a go at it. This person cares about seeing something working and learning about how and why it is working. This person wants detailed examples, a clear, well-documented codebase, and above all, for it to work with as little fuss as possible. The other section of our audience is the hobbiest GL programmer. This is someone who may probably has some GL experience. This programmer has some understanding of graphics, and may be interested in getting a greater understanding. However, the hobbiest differs from the neophyte in a very specific way: the hobbiest wants to code something specific. The neophyte just wants to learn; the hobbiest wants to implement some form of shadow mapping. He is not interested (at the moment) in building a large, complicated engine for doing it. He is more interested in getting a specific result, interfacing with OpenGL and getting it to do that cool think he heard about. The hobbiest wants to make little demo programs that do cool-looking things. The neophyte is interested in examples, tutorials, documentation, and a simple, easy-to-use codebase. The hobbiest is interested in comprehensive documentation and the functionality of the codebase. Both of them are interested in playing with graphics, but the hobbiest knows more about graphics and is mostly interested in how to translate some idea into an on-screen result. So the first thing I would put forward is that the GL SDK should serve the needs of both of these groups. There's enough overlap, particularly in the general code department, that serving both of their needs should be doable without much additional effort. So, given the needs of the above, I would put forth the following as a prioritized list of design goals: 1. Cross-platform. That's a given, as it is OpenGL's primary strength. 2. Simple. The code design should be written in a style that can be understood. 3. Comprehensive. We should provide full coverage over OpenGL's functionality. This means tutorials on lots of different aspects of GL, appropriate base code support, etc. 4. Well Documented. All code needs to have clear documentation about every function, object, etc. 5. Easy-to-"Install". I'm not necessarily suggesting a packaged installer (though I wouldn't be against it), but the library should be something that can be easily installed onto a system. And, most importantly, /compiled/. Generally, that means no /external/ dependencies; that means we ship the library with any actual dependencies (if we use libpng, we ship our lib with a version of libpng, etc). 6. Functionality. To the extent that the prior goals are followed, we should provide a base code that gives reasonably comprehensive functionality to the user. So, what do you think? |
From: H. H. <hen...@gm...> - 2008-08-23 19:57:36
|
I think you put it out very clearly and right on the point. I agree on your views and goals. On Sat, Aug 23, 2008 at 10:15 PM, Jason McKesson <ko...@gm...> wrote: > Personally, whenever I begin a project of any particular size, the first > question I ask is what it should do. What is the purpose in creating it. I > find this useful, as any debate about what should or should not be included > in the project can usually be cleared up by looking at its purpose. Or, at > the very least, it is easier to see which alternative fills the purpose > better than the other. > > Normally, I would do this by making a (prioritized) list of goals. However > for this project, I think it would be easier to list who should want to use > the GL SDK and for what reasons. The audience for the SDK should drive all > aspects of the design of the project. > > I would say that our audience is two-fold. One section of our audience is > the "new to OpenGL/graphics" programmer: the neophyte. This is someone who > decided to do some graphics work, heard about OpenGL, and wants to have a go > at it. This person cares about seeing something working and learning about > how and why it is working. This person wants detailed examples, a clear, > well-documented codebase, and above all, for it to work with as little fuss > as possible. > > The other section of our audience is the hobbiest GL programmer. This is > someone who may probably has some GL experience. This programmer has some > understanding of graphics, and may be interested in getting a greater > understanding. However, the hobbiest differs from the neophyte in a very > specific way: the hobbiest wants to code something specific. The neophyte > just wants to learn; the hobbiest wants to implement some form of shadow > mapping. He is not interested (at the moment) in building a large, > complicated engine for doing it. He is more interested in getting a specific > result, interfacing with OpenGL and getting it to do that cool think he > heard about. The hobbiest wants to make little demo programs that do > cool-looking things. > > The neophyte is interested in examples, tutorials, documentation, and a > simple, easy-to-use codebase. The hobbiest is interested in comprehensive > documentation and the functionality of the codebase. Both of them are > interested in playing with graphics, but the hobbiest knows more about > graphics and is mostly interested in how to translate some idea into an > on-screen result. > > So the first thing I would put forward is that the GL SDK should serve the > needs of both of these groups. There's enough overlap, particularly in the > general code department, that serving both of their needs should be doable > without much additional effort. > > So, given the needs of the above, I would put forth the following as a > prioritized list of design goals: > > 1. Cross-platform. That's a given, as it is OpenGL's primary strength. > 2. Simple. The code design should be written in a style that can be > understood. > 3. Comprehensive. We should provide full coverage over OpenGL's > functionality. This means tutorials on lots of different aspects of GL, > appropriate base code support, etc. > 4. Well Documented. All code needs to have clear documentation about > every function, object, etc. > 5. Easy-to-"Install". I'm not necessarily suggesting a packaged > installer (though I wouldn't be against it), but the library should be > something that can be easily installed onto a system. And, most importantly, > *compiled*. Generally, that means no *external* dependencies; that > means we ship the library with any actual dependencies (if we use libpng, we > ship our lib with a version of libpng, etc). > 6. Functionality. To the extent that the prior goals are followed, we > should provide a base code that gives reasonably comprehensive functionality > to the user. > > So, what do you think? > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Glsdk-devel mailing list > Gls...@li... > https://lists.sourceforge.net/lists/listinfo/glsdk-devel > > -- Henri 'henux' Häkkinen |
From: Branan R. <br...@gm...> - 2008-08-23 22:06:37
|
I agree 100%. On Sat, Aug 23, 2008 at 12:15 PM, Jason McKesson <ko...@gm...> wrote: > Personally, whenever I begin a project of any particular size, the first > question I ask is what it should do. What is the purpose in creating it. I > find this useful, as any debate about what should or should not be included > in the project can usually be cleared up by looking at its purpose. Or, at > the very least, it is easier to see which alternative fills the purpose > better than the other. > > Normally, I would do this by making a (prioritized) list of goals. However > for this project, I think it would be easier to list who should want to use > the GL SDK and for what reasons. The audience for the SDK should drive all > aspects of the design of the project. > > I would say that our audience is two-fold. One section of our audience is > the "new to OpenGL/graphics" programmer: the neophyte. This is someone who > decided to do some graphics work, heard about OpenGL, and wants to have a go > at it. This person cares about seeing something working and learning about > how and why it is working. This person wants detailed examples, a clear, > well-documented codebase, and above all, for it to work with as little fuss > as possible. > > The other section of our audience is the hobbiest GL programmer. This is > someone who may probably has some GL experience. This programmer has some > understanding of graphics, and may be interested in getting a greater > understanding. However, the hobbiest differs from the neophyte in a very > specific way: the hobbiest wants to code something specific. The neophyte > just wants to learn; the hobbiest wants to implement some form of shadow > mapping. He is not interested (at the moment) in building a large, > complicated engine for doing it. He is more interested in getting a specific > result, interfacing with OpenGL and getting it to do that cool think he > heard about. The hobbiest wants to make little demo programs that do > cool-looking things. > > The neophyte is interested in examples, tutorials, documentation, and a > simple, easy-to-use codebase. The hobbiest is interested in comprehensive > documentation and the functionality of the codebase. Both of them are > interested in playing with graphics, but the hobbiest knows more about > graphics and is mostly interested in how to translate some idea into an > on-screen result. > > So the first thing I would put forward is that the GL SDK should serve the > needs of both of these groups. There's enough overlap, particularly in the > general code department, that serving both of their needs should be doable > without much additional effort. > > So, given the needs of the above, I would put forth the following as a > prioritized list of design goals: > > Cross-platform. That's a given, as it is OpenGL's primary strength. > Simple. The code design should be written in a style that can be understood. > Comprehensive. We should provide full coverage over OpenGL's functionality. > This means tutorials on lots of different aspects of GL, appropriate base > code support, etc. > Well Documented. All code needs to have clear documentation about every > function, object, etc. > Easy-to-"Install". I'm not necessarily suggesting a packaged installer > (though I wouldn't be against it), but the library should be something that > can be easily installed onto a system. And, most importantly, compiled. > Generally, that means no external dependencies; that means we ship the > library with any actual dependencies (if we use libpng, we ship our lib with > a version of libpng, etc). > Functionality. To the extent that the prior goals are followed, we should > provide a base code that gives reasonably comprehensive functionality to the > user. > > So, what do you think? > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Glsdk-devel mailing list > Gls...@li... > https://lists.sourceforge.net/lists/listinfo/glsdk-devel > > |