BFAV2 feedback

Doug Way dway at mailcan.com
Wed Dec 31 04:27:29 UTC 2003


I finally used BFAV2 to help incorporate the last batch of updates, and 
it works pretty well.  (I used v2.01.)  It was reasonably easy to get 
my UpdateIncorporationTool working with the new BFAV2 client.

The appearance of all messages on a subject (even those with an "Re:" 
prefix) is very cool!  Also the ability to see fixes going years back 
is nice. :)

Here's my longish random list of improvements I'd eventually like to 
see with BFAV2 (I could help with some of these if necessary)...

- Add "Approved but not yet Update" preference, or similar mechanism.  
I had to do this myself for BFAV2 to be useful to me at all, although 
most people might not need it.  Here's the code I used (of course it 
should be done as a preference or menu item rather than hard-coded)...

statusFilterBlock
	"return only the groups marked as approved"
	^ [ :group |
			group isMarkedAsApproved
				and: [group hasNoStatus not
					and: [group isMarkedAsClosed not
						and: [group isMarkedAsUpdate not]]]]

- Have some way to optionally download/cache posts locally... Hmm, wait 
a minute, it looks like this is working now that I disconnect from the 
network.  But I didn't think it was working, because when I click on a 
fix, it takes a long time (about 5 seconds) to load the contents of the 
message, so I assumed it was downloading from the net each time.  Using 
MessageTally, it turns out that this is just slowness due to several 
calls to #fileExists, which is known to be slow (on some platforms at 
least).  This could probably be improved, see my messagetally attached 
at the end of this email.

- Include the author name in the first post in a group, something like: 
  [FIX] DicAddAll-OK -- ok at cs.otago.ac.nz (17 December 2003)

- (nice to have) Include (*) or some indication in the archivepost 
subject that an attachment exists for this post.  Probably would 
require a change in the bfav server?

- Improve UI wording where possible to make things easier for 
first-time users... for example, instead of "open comments note pad" 
(why would I need a "note pad"?) change it to something like "review 
this bug fix" or "comment on this bug fix".

- Change "reviewed", "tested", etc. checkbox labels in CommentsNotePad 
to "reviewed [er]", "tested [et]", etc.  This ties things together 
better.  Alternatively, we could just get rid of the obscure 
abbreviated tags ([et] [er] [su]) altogether and instead generate fully 
spelled out tags ([externally tested] [externally reviewed] [sunit]) or 
maybe ([ext tested] [ext reviewed] [sunit]).  Since the tags mostly 
just go through BFAV and not squeak-dev anymore, there's not as much 
need to abbreviate them.

- Add more specific balloon help for CommentsNotePad.  Help text for 
the summary contents pane could say "Enter brief summary contents (like 
'Needs tests').  This will appear in the subject line for the comment 
post."  And the detailed contents pane help could add something like: 
"... This will appear in the text for the comment post."

Hope this helps,

- Doug


-----------------------------------------
MessageTally (via debug... menu) for clicking on a BFAV2 post:

  - 332 tallies, 5971 msec.

**Tree**
99.7% {5953ms} PasteUpMorph>>doOneCycle
   99.7% {5953ms} WorldState>>doOneCycleFor:
     79.2% {4729ms} WorldState>>doOneCycleNowFor:
       |77.7% {4639ms} HandMorph>>processEvents
       |  77.7% {4639ms} HandMorph>>handleEvent:
       |    77.7% {4639ms} HandMorph>>sendMouseEvent:
       |      77.7% {4639ms} HandMorph>>sendEvent:focus:clear:
       |        77.7% {4639ms} HandMorph>>sendFocusEvent:to:clear:
       |          77.7% {4639ms} 
PluggableListMorph(Morph)>>handleFocusEvent:
       |            77.7% {4639ms} 
PluggableListMorph(Morph)>>handleEvent:
       |              77.7% {4639ms} MouseButtonEvent>>sentTo:
       |                77.7% {4639ms} 
PluggableListMorph(Morph)>>handleMouseUp:
       |                  77.7% {4639ms} PluggableListMorph>>mouseUp:
       |                    77.7% {4639ms} 
PluggableListMorph>>changeModelSelection:
       |                      77.7% {4639ms} 
PatchArchiveClient>>listingIndex:
       |                        77.4% {4622ms} 
PatchArchiveClient(Object)>>contentsChanged
       |                          77.4% {4622ms} 
PatchArchiveClient(Object)>>changed:
[77.4% {4622ms} PluggableTextMorph>>update:
[  77.4% {4622ms} PluggableTextMorph>>getText
[    77.4% {4622ms} PatchArchiveClient>>contents
[      77.4% {4622ms} PatchArchiveClient>>fullDescriptionForSelectedPost
[        27.1% {1618ms} ArchivePost>>body
[          |26.5% {1582ms} ArchivePost>>asMailMessage
[          |  26.5% {1582ms} PatchArchive>>mailMessageForId:
[          |    26.5% {1582ms} ArchiveRepository>>mailMessageForId:
[          |      13.3% {794ms} 
ArchiveRepository>>downloadZipContainingEmailWithId:
[          |        |13.3% {794ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileExists:
[          |        |  13.0% {776ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileNames
[          |        |    12.7% {758ms} 
MacHFSPlusFileDirectory(FileDirectory)>>entries
[          |        |      12.7% {758ms} 
MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor:
[          |        |        10.8% {645ms} primitives
[          |      13.3% {794ms} MailUtil class>>mailMessageFromFile:
[          |        13.3% {794ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileExists:
[          |          13.0% {776ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileNames
[          |            12.7% {758ms} 
MacHFSPlusFileDirectory(FileDirectory)>>entries
[          |              12.7% {758ms} 
MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor:
[          |                9.6% {573ms} primitives
[        25.3% {1511ms} ArchivePost>>asMailMessage
[          |25.3% {1511ms} PatchArchive>>mailMessageForId:
[          |  25.3% {1511ms} ArchiveRepository>>mailMessageForId:
[          |    12.7% {758ms} 
ArchiveRepository>>downloadZipContainingEmailWithId:
[          |      |12.0% {717ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileExists:
[          |      |  12.0% {717ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileNames
[          |      |    11.4% {681ms} 
MacHFSPlusFileDirectory(FileDirectory)>>entries
[          |      |      11.4% {681ms} 
MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor:
[          |      |        9.3% {555ms} primitives
[          |    12.7% {758ms} MailUtil class>>mailMessageFromFile:
[          |      12.3% {734ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileExists:
[          |        12.0% {717ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileNames
[          |          12.0% {717ms} 
MacHFSPlusFileDirectory(FileDirectory)>>entries
[          |            12.0% {717ms} 
MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor:
[          |              10.2% {609ms} primitives
[        25.0% {1493ms} ArchivePost>>titleFromMailMessage
[          25.0% {1493ms} ArchivePost>>asMailMessage
[            25.0% {1493ms} PatchArchive>>mailMessageForId:
[              25.0% {1493ms} ArchiveRepository>>mailMessageForId:
[                12.7% {758ms} MailUtil class>>mailMessageFromFile:
[                  |12.3% {734ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileExists:
[                  |  12.0% {717ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileNames
[                  |    11.7% {699ms} 
MacHFSPlusFileDirectory(FileDirectory)>>entries
[                  |      11.7% {699ms} 
MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor:
[                  |        8.7% {519ms} primitives
[                12.3% {734ms} 
ArchiveRepository>>downloadZipContainingEmailWithId:
[                  12.0% {717ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileExists:
[                    11.7% {699ms} 
MacHFSPlusFileDirectory(FileDirectory)>>fileNames
[                      11.4% {681ms} 
MacHFSPlusFileDirectory(FileDirectory)>>entries
[                        11.4% {681ms} 
MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor:
[                          9.9% {591ms} primitives
     20.5% {1224ms} WorldState>>interCyclePause:
       20.5% {1224ms} Delay>>wait

**Leaves**
59.3% {3541ms} 
MacHFSPlusFileDirectory(FileDirectory)>>directoryContentsFor:
20.5% {1224ms} Delay>>wait
5.4% {322ms} Symbol>>=
2.7% {161ms} Array(Object)>>species

**Memory**
	old			+1,126,288 bytes
	young		+254,716 bytes
	used		+1,381,004 bytes
	free		-1,381,004 bytes

**GCs**
	full			0 totalling 0ms (0.0% uptime)
	incr		38 totalling 86ms (1.0% uptime), avg 2.0ms
	tenures		24 (avg 1 GCs/tenure)
	root table	0 overflows
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 8721 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20031230/a01f5338/attachment.bin


More information about the Squeak-dev mailing list