Re: Idea for backend maintainers: "reversal of roles"
Andy Dent <[email protected]> Sun, 2 Mar 2003 05:46:26 +0800
| Newsgroups | gmane.comp.python.anygui.devel |
|---|---|
| Message-ID | <a05100300ba86d4f2a166@[192.168.0.1]> |
At 11:41 +0100 01/03/2003, Magnus Lie Hetland wrote: >Hellen Claggett <[email protected]>: >> >[snip] >> >> I'd just like to second this idea! Personally, I'd like to see a >> published anygui API hit version 0.2 final with only a single reference >> backend and then see the various other backends developed to support the >> API after the 'official' release. > >Hm. This *is* an interesting idea -- and it might even make the >project more viable. The prolification of back-ends in the >distribution is one of the major issues holding back a release, as >they must all be de-bugged, tested and the like. I've been in a similar situation for years - OOFILE is a database API with a range of front-ends (above the database API is a report-writer, graphing engine, XML parsing and forms engine on Mac and Windows) and backends (two simple streaming backends, our own dBase-compatible which counts as two because it does dBase III+ and IV format, and the professional c-tree Plus backend which can count as about 3 minimal variations and blow out to about 12 given the mix of single/multi-user/client-server and other options). I've been a believer in regression testing since I first encountered it as a VMS sysadmin installing DEC packages in 1985 and OOFILE's had it since day one and it HAS helped but is an expensive help. Manual, even partly-automated, regression testing doesn't really help small teams with this kind of problem (the OOFILE nearest equivalent to anygui issues would probably be the report writer) because the eyeball time is excessive and judgement as to whether something like an embedded graph drawn in Word after rendering to RTF correctly matches a laser printout from Mac is highly subjective :-( I suspect that partly-automated regression testing CAN help if you have a big enough fan-out of users and an issue tracking system which a) obviously has minimal barrier to people posting issues b) makes it easy for them to find existing postings of a similar problem so they can describe their experience as annotation to that report c) allows the developers to search flexibly so they can correlate reports to different areas of code and prioritise fixes d) gives them a range of examples sufficient for them to easily compare their problems against an expected result (I can't emphasize this too highly - if you're feeling paranoid about how your use of 7 text fields and a listbox in a tabbed layout looks, being able too see expected snapshots on two different platforms of something similar gives people a lot of confidence and the boost to report problems in a usefully detailed manner). In the last couple of years I've had the chance to work heavily with cppunit in particular using it on a project which included some heavily graphical work, under the direction of a CTO who'd used it before for graphics. It opened my eyes as to the level of comparison that can be automated. >I think a natural choice for a "standard" back-end...would be tkgui Agreed. >Actually finishing 0.2 with a solid and _simple_ tkgui >(for example) might help. Hugely. You desperately need at least one believably complex range of examples so people can make their minds up in 30 seconds that it is possible to use anygui for their project. The next strategic step is picking the backend with the MOST DIFFERENT architecture to the first and smothering it with a blanket of examples. That proves the core "anygui" nature. >Then the various toolkits could get "Anygui certified" if they wanted to >get in >on the fun... Yes, this is a very good long-term goal. Your range of examples has to be good enough to make people's GUI's look good if certification is to mean anything. >BTW: I've been thinking about generating API docs with epydoc >(epydoc.sf.net). This desperately needs automating like Doxygen. If epydoc is similar, use it. >I believe that a solid, up-to-date API >documentation is sorely needed... For years, OOFILE had moderate API docs and only an excellent range of examples - some people particularly like the annotated ones <http://www.oofile.com.au/oofdoc/features.htm> Then I got heavily into Doxygen. <http://www.oofile.com.au/oofile_ref/html/index.html> There are two types of user - "gimme a reference manual" and "for XX sake show me how to do it with examples" and sometimes we shift between camps. You need to satisfy both. I don't know how to not make this painful but for something as architecturally complex as anygui I don't think it is possible to succeed without satisfying both camps of potential users and giving people confidence with a range of working stuff that demonstrates you really can deliver. The core idea of anygui is "just working" on top of a range of backend GUI's. You will get a few subscribers to the project but until people can see enough online to believe in that core idea, you're sitting in Catch22-land. Anygui is a great idea and has received some good press but is big enough to need proving for most folks. -- Andy Dent BSc MACS AACM http://www.oofile.com.au/ OOFILE - Database, Reports, Graphs, GUI for c++ on Mac, Unix & Windows PP2MFC - PowerPlant->MFC portability ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf