libwww survey

Hope this helps... --Rick Kwan (rick.kwan@lightsaber.com)

=====================================
             LIBWWW SURVEY
=====================================

Opens: September 22, 2000
Ends:  October 6, 2000
Goal:  Get a clear idea of what the libwww user community would like to
       do with libwww
Means: Mail your responses to this form to www-lib-survey@w3.org

---------------------------------------------------------------------
[1.0] Who are you and how do you use libwww
---------------------------------------------------------------------

[1.1] Do you develop or have developed applications that use libwww

[x] Yes
[ ] No

If you didn't answer yes to [1.1], go to section 2.

[1.2] What kind of application (you may cite the name too, if you want)
Voice browser (product name "Web-On-Call", now end-of-lifed)

[1.2] On which platform and environment (mark all that apply)

[ ] X-Windows
[x] Unix (includes Linux, Solaris, ...)
[x] Win32
[ ] GTK
[ ] Others (please cite): 

[1.3] Which language(s) did you use

[x] C
[ ] C++
[ ] Others (please cite):

[1.4] How do you rate your programming skills

[x] Experience programmer
[ ] Average programmer
[ ] Beginner

[1.5] What parts of libww do you use

[ ] XML parser
[ ] RDF parser
[x] HTML parser
[x] HTTP 
[ ] FTP
[ ] News
[ ] Telnet
[ ] Gopher
[ ] SSL
[ ] Others (please cite):

[1.6] What applications of libwww do you use

[x] Examples
[x] Robot
[x] LineMode parser
[ ] Command line parser
[ ] WinCommander

[1.7] What modifications do you make to the code before you use it?

Come up with modified version of linemode browser, to parse HTML
into navigable data structures, which are then handed off to another
program/co-routine.

[1.8] If you have any tests for libwww code, what parts of libwww
      do you test and are you willing to contribute the tests to
      the W3C?

[1.9] Anything else you'd like to say

---------------------------------------------------------------------
[2.0] Your opinion of libwww
---------------------------------------------------------------------

[2.1] In your opinion, libwww is (check all that apply):

[x] useful to write sample code
[x] useful for learning how to program a WWW application
[x] useful to write production code
[ ] Other: please cite

[2.2] Do you find it useful that libwww is written in C

[x] Yes
[ ] No

[2.3] Please explain your previous answer
Yes, but...
Having practical sample implementations is good.  It helps to
follow the code thru a debugger to see how the different parts
play together.  I think using C has an OO programming language
makes the source code significantly larger than it needs to be.

I really don't know if moving to C++ is the right thing to do.
C++ purists are going to insist of templates, including the STL
list template.  I think it would have to be clear that libwww should
be small and portable enough to be tailored to things like network
appliances and other embedded systems.

[2.4] Do you feel that libwww too big?

[x] Yes
[ ] No

[2.5] If so, which parts would you like to remove, or move to other libraries
* Things like HTMemory.c and HTList.c could be moved to a utlity library with
  broader application than just libwww.

[2.6] What are the things that you like the most of libwww
* LineMode browser.  It was/is a full-functioned realistic prototype
  browser, better designed than what I saw of "lynx" source code.
* Open source license.

[2.7] What are the things that you dislike the most of libwww
* Building Windows binaries seemed extremely difficult.
  It seems like the www-lib mailing list was innudated with
  how-to-build-on-windows questions.

[2.8] What are the things that you would like to change in libwww

[2.9] What are the things you think that libwww are missing
* Simple HTTP server.  Then again, there is Apache.
  (Is there any fundamental reason why the same processing model
  cannot be applied to both client and server?  Just asking; I'm
  personally not sure.)

[2.10] Anything else you'd like to say
* As many people have said, documentation is weak.  More below.

---------------------------------------------------------------------
Section 3: The future
---------------------------------------------------------------------

---------------------------------------------------------------------
[3.1] Let's continue with libwww
---------------------------------------------------------------------

[3.1.1] Do you think it's worth it to have a WWW library?

[x] Yes
[ ] No

[3.1.2] Do you know of any other similar libraries (please give a URL to
        the project if possible)
* Lynx, but I prefer libwww.
* Mozilla, but that thing way too huge!

[3.1.2] Do you think it's worth it to invest time continuing enhancing
        libwww and its architecture.

[ ] Yes
[x] No

[3.1.3] Are you interested in joining the core team of such a project 
        (enhancing libwww)?

[ ] Yes
[x] No

[3.1.4]  If you are willing to write some new documentation or improve
         existing documentation, which topics are you willing to document?
If there is no appealing follow-on project, I might consider it.

[3.1.5] Anything else you'd like to say
* I believe that libwww accomplishes its original mission very
  well as an HTTP/HTML protocol testbed.  But I worry about it being a
  catch-all for a kitchen-sink full of protocols.
* Tracing the POSIX-style event loop was one of the most valuable
  things I learned.  It is a much smaller environment than X11,
  which also does similar things, and is thus easier to grasp.
* I don't think the code as-is should be enhanced with new functionality.
  Instead, clear detailed architecture and design documents are now
  need to map out what is where, and what are the essentials of how
  it works.

---------------------------------------------------------------------
[3.4] Let's invest our forces enhancing an existing project
---------------------------------------------------------------------

[3.4.1] Do you think it's better to enhance another existing project (i.e.,
        merge our efforts)
* Depends on the project.  I don't want to see bloated code.

[3.4.2] Are you interested in joining the core team of such a project
        (enhancing an existing project)?

[ ] Yes
[ ] No

[3.4.3] Anything else you'd like to say

Before we merge with another project or enhance the existing code,
I'd like to see a clear statement what the code is or is intended
to be.  (I'm afraid of unbridled feature creep.)

---------------------------------------------------------------------
[3.5] Let's write it again
---------------------------------------------------------------------

[3.5.1] Do you think the project should stop and start again from a clean
        slate?

[x] Yes
[ ] No

[3.5.2] Which language would you use and why (please take into account
        portability among systems)?

A restricted subset of C++.  Possibly "Embedded C++".  Home page at
    http://www.caravan.net/ec2plus/
This would allow a code base which could be built for network
appliances, etc.

[3.5.3] Are you interested in joining the core team of such a project 
        (starting a new libwww project)?

[ ] Yes
[ ] No
I'm thinking about it.

---------------------------------------------------------------------
[3.6] Where to host it
---------------------------------------------------------------------

[3.6.1] Should W3C continue hosting libwww or any other spin-off projects?

[ ] Yes
[x] No
Not unless it is still useful to W3C as a protocol testbed.

[3.6.2] SourceForge (SF): How would feel if the W3C transferred libwww to a 
        SF project?
SourceForge is good.

[3.6.3] Are you currently involved with any SF projects?

[x] Yes
[ ] No

[3.6.4] If so, do you think libwww would fit into that developement paradigm?

[ ] Yes
[x] No
My SF project is not really a libwww-related project.

[3.6.5] Do you have other suggestions of where libwww should be hosted?
No.

[3.6.6] Anything else you'd like to say

---------------------------------------------------------------------
[4.0] Your comments
---------------------------------------------------------------------

[4.1] Anything else you'd like to say

Received on Thursday, 28 September 2000 12:47:19 UTC