Upcoming Projects

I have a few upcoming projects in the works that I hope to make public before too much longer. Here’s a sneak peek at what’s in the pipeline:

Paper Plus 9.40
The next release of my wallpaper changing application is nearly complete. Support for PNG images is coming, as is improved list manipulation. There are bug fixes galore, and general improvements in the way things are handled. I’m looking forward to releasing this, so I can at long last use it on my laptop (I’ve been missing some of the new features that have been implemented).
CoLT 2.4.5
The next release of CoLT won’t add any new features, but it will no longer pollute the global JavaScript namespace, a problem that been around for far too long now. One minor bug fix is also going into the new release, and I may add the rich text HTML option to the default custom formats (for new users).
Googlebar Lite 4.7.2
Although this is still a long way off, a new release is already in the planning phase. Google Product search support will return (based on popular demand), and I also hope to clean up the JavaScript namespace pollution problem. What else would you like to see? Leave your comments here to let me know!

It’s my hope to release the new CoLT build this weekend. Following that, the new build of Paper Plus is on the order of two or three weeks away (I’ve still got to rewrite the documentation and do last minute cleanup). Googlebar Lite’s new release is a month or more away (cleaning up the extension’s namespace pollution is going to take a lot of work).

« »
 

6 Comments

  1. Out of curiosity, how do you avoid namespace pollution? Do you use a custom prefix on the names of variables (like __coltMyVar), or do you put everything in a single struct, so you only pollute with one __coltData object, or is there a good way of actually using localized scope?

  2. Currently, I prefix all my functions and variables with CLT_ for CoLT and GBL_ for Googlebar Lite. This, however, isn’t a recommended practice. Doing so simply pollutes the global namespace with all of your function and variable names. To improve things in the next release, I’m taking a preferred approach of wrapping everything in an object (so variables and functions are all properties of said object). I think CoLT ends up with like 2 or 3 global variables, instead of the 40 or 50 used previously. Making this change for Googlebar Lite is going to take quite a while, since there are so many functions and variables in that extension.

    There are a few interesting articles on namespace pollution in JavaScript. Had the language been properly designed, we would have true namespaces and wouldn’t have to worry about this stuff.

  3. One interesting approach I’ve seen lately is to stick *everything* inside an anonymous function, since vars/functions defined within a function are local to that function. I’m not sure if that works for FF add-ons, since there are multiple files. What I’m talking about looks like this:

    (function() {
      var localVar1 = 7;
      var localVar2 = localFunc1(localvar1);
    
      function localFunc1(somevar) {
        return somevar + 10;
      }
      //...
    })();
    
  4. I believe some extensions use implementations similar to what you present here. However, there are some weird scoping issues when working across multiple files (as you allude to), so I stuck with a slightly simpler format.

  5. Wish comment: it would be very nice if Googlebar Lite bacame able to search in Bing. At the beginning it would be enough to add additional button similar to “Search About.com”. Thanks. Googlebar Lite is great!

  6. Hi.

    Colt functionality should be standard in all programs, thank you!
    I need that in my e-mail prg., so I tried ”clickcutter” (Download – http://clickcutter.com/sec/dl.phpsis ), but it doesn’t do the obvious like colt.

    I was wondering, would you consider releasing a sistem-wide colt?

    Thanks.