Thursday, March 20, 2008

First demo, new Plugin Recorder features and a new core patch

First Demo:

So I had my first demo yesterday, which turned out pretty well I think. Looking back, it does feel like I have come a long way, and doing the demo helped cement that thought; which strangely motivated me to start working on some of PW's more exotic frontiers - namely lack of OSX support and the somewhat shifty Unix compatibility. To that end I started debugging late last night (or early this morning) and managed to find where all that plugin fun happens. Also I owe Mike Shaver (shaver on IRC) a big thank you for helping me make sense of that hairy code. Now I feel closer than ever to being able to implement PW on all platforms uniformly.

Plugin Recorder v0.2:

There have also been some developments in the new Plugin Recorder feature of PW - I have implemented a new option that allows the user to control how the data gets written to the file. Admittedly however, this feature would not be of great use to the large majority of people who might otherwise have interest in using PW's notifications feature. Because of this I will be shifting most of my attention to creating some type of a graphical notification feature using some sort of an existing graphical library. If you happen to know of a good one that would fit this task, don't hesitate to tell me by leaving a comment!

For those of you interested in seeing, I have created a screen capture video of a flash plugin and its run time being charted in real time using LiveGraph. I am working on compositing the two videos together and will post a link here to the uploaded video when its done.

New Core Patch:

In my second review from Robert (roc on IRC), I was instructed to switch some of my code from a MACRO into a helper function. This new PW v0.81 core patch addresses this issue by introducing a new file to the mix - dubbed nsNotifyPluginCall.cpp. This was a slightly more challenging implementation compared with the MACRO solution I came up with initially, but it was a great learning experience - teaching me how to include new files in a patch and enriching my knowledge of the build system in general. I have not yet received any feedback for this patch, but I'm fairly confident Robert would be satisfied with the changes, as they do seem to address most all of the points raised in both his reviews (Update: new review has been posted by Robert, currently working on updating my code). The only point this patch fails to address is the performance testing which still needs to get done. After talking to Dave (humph) and Chris (ctyler) I think I have a more concrete plan as to how to go about this testing. The first thing I would need is to locate (or more likely create) a page that contains a loop with JS calls into a flash object. Once I have that I would need to create a script that opens Firefox, launches the plugin page and closes the browser when the loop is done. Calling this script with the "time" command, both when PW is present and when it is not, should give me an indication if my code affects performance in any significant way.

No comments: