From: Michael D. C. <cra...@go...> - 2002-06-18 22:42:33
|
Friends, The ZooLib website (http://zoolib.sourceforge.net/) has always been quite spartan. One reason for this is that I wrote the original site in something of a hurry, using handcoded HTML. Also at the time I didn't really know how to do much fancy markup. I also wanted the website to download quickly and work well with text-only browsers like Lynx, but I don't think it's necessary to be as plain as it is. I think it would help ZooLib's acceptance if we had a more attractive website. I think that a good time to post a new website would be when we announce the upcoming release. I'm happy to do the work of creating it, but I'm not all that imaginative a web designer. What I am asking of you is to give me ideas for how our new website should look. You can email me descriptions of proposed pages, send me sample HTML, or send the URL's of web pages that you think I should draw inspiration from. You could also write up information for me to post on the site. I've always wanted ZooLib to have a logo. I just asked my wife, an artist, to design us a logo, and she agreed to give it a try. Bonita's not a graphic artist though, and neither of us has a clear idea of what a logo might look like. It would be OK to just have the word "ZooLib" in some interesting font. Maybe we could get a mascot. Of course it would be natural to have a bunch of zoo animals. Maybe we should incorporate the word "C++" in it somehow. One logo idea that did come to mind would probably be a bad idea - I was imagining a graphic showing the logos for all the different platforms being stuffed into a blender or meat grinder! Unfortunately any company which has a trademarked logo also has strict requirements for how it is to be presented, and some logos (like the Windows compatibility logos) require expensive compliance testing before one can get permission to use them. Of course since we are cross-platform developers it is important that the website be completely interoperable, and even look attractive, in all the browsers. One way to ensure this is to write "valid HTML" - that is, HTML which is completely compliant with the W3 Consortium HTML file format specifications. One must write valid HTML in order for it to work with web browsers for visually impaired users. You can test a web page for validity by submitting its URL to the W3C validator: http://validator.w3.org/ (There is also a page there where you can upload HTML files from your hard drive for validation.) Unfortunately, most of the WYSIWYG HTML editors do not produce valid HTML, as they concentrate on having fancy layout and appearance capabilities and often produce really strange markup that's designed to work around bugs in different browsers. I'm a big fan of handcoded HTML. I would also like to continue supporting terminal-based (text-only) browsers. That means we should not format columns with tables, and should avoid frames. In general it's a bad idea to use frames on web pages because users can't bookmark a frame. Using tables that aren't too big is generally OK with current text browsers I think. I'd like to continue having a fast downloading website. We shouldn't rely heavily on graphics except maybe for screenshots of sample ZooLib applications (this is also important for text browsers). It is reasonable to use small graphics for things like navigation buttons, and other objects with such a straightforward purpose that we can write sensible ALT attributes for them. I'm starting to become a fan of Cascading Stylesheets. Doing all your decoration with CSS helps a site work well with text browsers. Unfortunately, old versions of Netscape don't work too well with CSS, but with the recent release of Mozilla 1.0, and the Mozilla-based Netscape 6 having been available for a while I think it is reasonable to design a site with CSS nowadays. In order to avoid link rot, it's important that all of the existing web pages continue to exist at their original URLs with at least some meaningful content in them (it would be OK to move some of the content to new pages). There are likely a number of other web pages around that link to pages within ZooLib's site, as well as people out there who have some of our pages bookmarked, and its important all those links continue to work. It would also be helpful if the website were coded in such a way as to make it really easy to create mirror sites (maybe by running the HTML through a filter). Sometimes sourceforge has problems, and mirrors can keep our site available to users. I have a kind of mirror at http://www.goingware.com/zoolib/ but it's not complete. A mirror would have to link to both local and sourceforge's file downloads. It would be really cool if complete mirrors were available as download tarballs. Here are some websites that give some really sound advice on writing really attractive, usable and interoperable websites (some of these have good advice for GUI application interface design too): http://useit.com/ Jakob Nielsen's Website http://www.jnd.org/ Don Norman - author of The Psychology of Everyday Things http://www.asktog.com/tog.html Tog was the founder of Apple's Human Interface Group http://nngroup.com/ The Nielsen Norman Group - their design consulting firm I have an article that discusses how to use validators, as well as stress-test web server applications, at http://linuxquality.sunsite.dk/articles/ Here are the websites for some of our competition - other cross-platform application frameworks. Some of these sites are very good: http://www.gtk.org/ The GIMP Toolkit (GTK+ isn't just for Linux anymore) http://www.mozilla.org/ Mozilla isn't just a web browser, it's a very featureful C++ cross-platform application framework, and there are a number of other applications. http://www.abisource.com/ AbiWord is also built on a cross-platform framework, although as far as I know, no one has built any other applications with it. http://www.wxwindows.org/ wxWindows - this seems to be the most popular toolkit for Linux/Windows crossplatform development. http://www.trolltech.com/ Trolltech, the publishers of the QT library. Linux' KDE desktop is based on QT - the Unix version of QT is Free Software, but proprietary versions of QT are available for other platforms. http://java.sun.com/ The 800 pound gorilla of cross-platform devevelopment. http://www.halcyon.com/www3/jesjones/Whisper/Home.html Whisper, a Mac/Win C++ framework. It has a pretty spartan website too, but Whisper itself is very well done. http://www.cs.wustl.edu/~schmidt/ACE.html The ADAPTIVE Communications Environment, for cross-platform networking http://www.boost.org/ The Boost C++ Libraries. Boost isn't a cross-platform framework, but a set of libraries for a variety of purposes that are highly portable across compilers and platforms. There are a number of other application frameworks available, some are cross-platform but some run only on a single platform. Some are open source, some not. A pretty complete list can be found at: http://www.geocities.com/SiliconValley/Vista/7184/guitool.html Finally, my personal favorite for website design. It is suprisingly simple and attractive: http://advogato.org/ Thank you for your thoughts on this. Michael D. Crawford GoingWare Inc. - Expert Software Development and Consulting http://www.goingware.com/ cra...@go... Tilting at Windmills for a Better Tomorrow. |