Posts tagged with 'Software'
Monday, April 14th, 2008
Over the past few months, I've been thinking about ways to become a better software developer, specifically in terms of Firefox extension development. I'm listing the ways that I came up with here; most of it can be generalized to the development of any end-user facing program or application, but I wrote it with extension development in mind. (I initially was going to call it "How to be a better programmer", but as it turned out, the most important things I came up with had little or nothing to do with writing code.)
- Keep your ear to the ground.
Nothing is worse than finding out weeks (or months) after the fact that there's a bug in your software that you never knew about. Nobody e-mailed you about it, you never came across it, so what were you to do? If you had signed up for Google alerts on your name/your extension/your website's name, you might have heard about it from someone who blogged about it ("FeatureFox is terrible. It doesn't even detect my COBOL widgets."), but didn't know how to report it as a bug.
Having Google e-mail you when your name or extension or website is mentioned in a blog post can be invaluable in getting feedback that you otherwise might not have read. (I also find it helpful to use TweetScan to sign up for an RSS feed of tweets that mention your extension. Twittering is the new blogging for many users, especially if it's just a quick gripe about a buggy extension.)
- Give your users a place to talk to each other.
If you have a popular extension, that can mean that 100,000 users or more have it installed - one person doing customer support for 100,000 users will get old fast. I've found that if the users have a place to talk to each other (a comment thread on the extension's home page, a support forum), oftentimes, the more savvy users will be able to take over a portion of this support duty by helping out a new user who may be in the dark about how to use a certain feature of your extension. Additionally, several users working together may be able to uncover the roots of a bug more easily than just you and a single user working on it. ("We're all running Linux on a Mac with both Firefox and Seamonkey installed and we're all using a non-standard profile directory? That's a weird coincidence...")
- Start a public bug tracking system.
If you're not using some kind of bug tracking system (and I don't include your e-mail inbox as a "system"), you're not really invested in the success of your extension. Although many extensions are quick one-offs to add a new feature to Firefox, keeping track of issues reported by users is key, as 99% of software grows larger than originally anticipated. A public tracking system adds accountability, it gives other users a chance to chime in on a bug that they've experienced but didn't actually report, and it frees up your inbox without casting valid bug reports by the wayside. (I recommend Google Code; it's easy to use, has a nice issue tracker, and the support so far has been great.)
Release early, release often
The old saying "release early, release often" certainly applies here, but I'd like to warn against releasing too early. Uploading an extension to Mozilla Add-ons that only adds a non-functioning item to the Tools menu just to get it out there will do more harm than good, since users will intall it, see that it's worthless, and uninstall it. Not only will they uninstall it, but they'll be more hesitant to download it in the future.
Make sure your first release is functional, even if its function is small. It's key to get users to download it, but it's just as key to get them to keep it installed. From that point on though, release as often as you can, since everybody loves a good upgrade.
- Talk to your users
Whether it's by blogging, Twittering, or creating a thread in a support forum, start a conversation with your users. To many Firefox users, software development is magic - the idea that a person can type up some computer code and make their browser do great new things is mysterious and wonderful, and being able to interact with that person allows them to participate in the magic. The most enthusiastic users (and sometimes the ones with the best ideas) are often those who would have no idea of how to actually write the software behind the features. (Perhaps the fact that they are unencumbered by the burden of implementation is the cause for their enthusiasm...)
- Be responsive
This fits in with the previous point, but it's more specific. Once a user has posited a question in a support forum or a blog comment, the clock starts ticking. If it takes you a week to respond about why X or Y doesn't work in your latest release, you can bet that by the time you do answer, that user (and a dozen others who wondered the same thing) have spent the 30 seconds it takes to uninstall your extension because you didn't take the 60 seconds to respond to them.
On the other hand, timely responses give your users more faith in your commitment to the project. For example, check out this comment left on my blog after I quickly replied to a user about a problem with TubeStop.
- Participate in the development community
Mozilla has a great community of developers, and you're doing yourself a disservice if you're not participating. The Mozilla IRC channels and the mozdev.org mailing lists, for example, are both great resources for connecting with fellow developers to brainstorm over weird bugs or just talk about software-related topics. I like to keep this rule in mind: there's always someone out there who knows more than you about extension development, and more likely than not, they're on irc.mozilla.org.
What do you think? What would you add? Anything you disagree with? Reply in the comments, and I will, of course, respond.
Tagged with Mozilla Firefox, Programming, Software | 2 Comments »
Thursday, June 21st, 2007
This morning, I needed to troubleshoot an error that was occurring in my Feed Statistics plugin when running on a Windows machine as well as under PHP 5. Since I normally do all of my development in *nix environments, I didn't have such an environment readily available. Having installed Apache, MySQL, and PHP on Windows XP before, I knew that I could do it, but it would probably take the better part of an hour.
I did a quick search for WAMP (Windows Apache MySQL PHP) and found the WAMP project - a single-file download that ostensibly installs Apache, MySQL, and PHP 5 in a Windows environment. I had tried this kind of package before with little luck, but this one literally took 3 minutes to set up, and after 5 minutes of debugging, I had found and fixed the bug in the plugin. Total time spent was less than 10 minutes when I had expected that it would take more than an hour - definitely one of the best software experiences I've had in recent memory.
(As for this post's title, I think all of the comic references at Brian's blog are rubbing off on me.)
Tagged with Brian Alvey, PHP, Recommendations, Software | No Comments »
Tuesday, June 5th, 2007
Tagged with Jason Calacanis, Life, Netscape, Netscape Navigator, Programming, Recommendations, Social Media, Software, the Web | 1 Comment »
Saturday, May 19th, 2007
My latest browser extension, TubeStop, is an extension for Mozilla-based Web browsers that disables the autoplay on YouTube.com videos. This means that you can open YouTube videos in multiple tabs without them all starting to play at once.
Currently, this extension only works on videos at YouTube.com, not on YouTube videos embedded on non-YouTube.com websites with autoplay enabled.
TubeStop is compatible with Firefox 1.5 - 2.0.0.*, the latest Flock builds, and Netscape Navigator 9.0. If you're having trouble using the extension, you can either e-mail me at cfinke@gmail.com or leave a comment below.
You can install TubeStop 1.0 from the TubeStop homepage.
Tagged with Social Media, Software, TubeStop, Video, YouTube | 2 Comments »
Thursday, May 10th, 2007
Everybody and their mother has written a Twitter-based app, but I haven't seen any so far that try and help you find other Twitterers that you'd find interesting, so I made one.
It's called "Twits Like Me" - just enter your Twitter screenname in the search box, and the Twits Like Me search engine will try and find other users that Twitter about the same things that you do. I've found that at least a few of the ten users it returns are interesting enough that I'll start following them, but it is still in its infancy, so your satisfaction may vary.

Twits Like Me is constantly updating its search index, so the results should become more relevant over time. (You can get information on updates to Twits Like Me by subscribing to the Twits Like Me RSS feed or the main RSS feed for my blog.)
Oh, and thanks to the guys at Twitterholic for unknowingly providing a design. ;-)
Tagged with Programming, Software, Twits Like Me, Twitter | 1 Comment »
Tuesday, May 8th, 2007
AutoAuth is an extension for Mozilla-based Web browsers that automatically submits HTTP authentication dialogs when you've chosen to have the browser save your login information. (If you've already told the browser what your username and password are, and you've told it to remember that username and password, why not just have it automatically submit it instead of asking you each time?)
The extension is pretty simple right now (very simple, actually), but I think it has the potential to become a very useful base for enhancing the HTTP authentication process in the browser. For example, a future feature might add the ability to specify login credentials for wildcard subdomains, so that once you've entered a password for foo.com, you don't have to manually re-enter that password for a.foo.com, b.foo.com, c.foo.com, if they all take the same username/password pair. Just tell AutoAuth the username and password to use for *.foo.com, and let it do the work.
You can install AutoAuth from the AutoAuth homepage. (AutoAuth is compatible with Firefox 1.5 and 2, Netscape Navigator 9, and Flock.)
Tagged with AutoAuth, Browser Add-ons, Flock, Ideas, Mozilla Firefox, Netscape Navigator, Software | No Comments »
Tuesday, April 24th, 2007
About a year ago, I wrote my first RSS-related Firefox extension, RSS Ticker. It was intended to be used for getting instant notifications from a small number of feeds. As the number of feeds I follow has grown, I've found the ticker interface inadequate and frustrating, so I've been working on a new RSS extension for Firefox over the past couple of weeks.
I'm calling it "Feedbar," and it's a sidebar for Firefox that aggregates all of the unread items from your Live Bookmarks in one place.
Click for full view.
It's not trying to be yet another standalone RSS reader that just uses Firefox as a platform (like Sage, infoRSS, or Wizz RSS). It doesn't have its own feed manager - it just uses the feeds you've already bookmarked and shows you the items from those feeds that you haven't visited. It's intended to be simple, easy to use, and something that could be included by default in Firefox without seeming out of place. As far as I know, there's not another extension already doing this.
You can download Feedbar 1.0 alpha 1 at the Feedbar homepage. Feedback is greatly appreciated.
Tagged with Browser Add-ons, Feed Sidebar, Mozilla Firefox, RSS, RSS Ticker, Software | No Comments »
Friday, April 20th, 2007
I just noticed a strange bug with Digg's RSS feeds: when you subscribe to a feed for a search term (to monitor submissions of your blog posts, for example), sometimes the feed will be invalid because it is missing closing </channel> and </rss> tags. This means that the feed won't be parsed by most readers, and you won't get updates of any new items in the feed.
The weird part is that this doesn't happen for all search terms. I found that the chris, efinke, and charles feeds are all malformed, but the feeds for apple, kevin, and rose are not. My best guess as to the cause is that some item in each of the malformed feeds is causing the code that generates the feed to die prematurely, leaving the feed incomplete. At any rate, I've reported the bug to Digg, and it will be interesting to see how long it takes to get fixed.
Tagged with Digg, RSS, Social Media, Software | 7 Comments »
Thursday, March 29th, 2007
ScribeFire 1.4.0.1 is now available for download from Mozilla Addons. Changes since version 1.4 include:
- Spanish translation
- Support for special characters in Blogger passwords (as mentioned here)
- Added detailed error messages for when adding a Blogger account fails
(ScribeFire, previously named "Performancing for Firefox," is a full-featured blog editor that integrates with your browser and lets you easily post to your blog.)
Tagged with Blogging, Browser Add-ons, Mozilla Firefox, Performancing, ScribeFire, Software | 7 Comments »