NodeQuota

NodeQuota is a menu status bar widget that periodically checks your Internode quota and reports how much you’ve used. It’s version 1.0, doesn’t have a great number of features, but I’ll work on adding a bunch more if people like it.

Version 1.1 is in the works, with many cool features planned.

Download version 1.0.7

Features:

  • Shows your quota Limit and Usage for the month. The amount of quota that you’ve used so far for the month is displayed in the menubar as a percentage.

  • Shows the amount of quota that you have available per day on average, and how much you’ve used on average from the start of the month.

  • As you reach your daily quota, a traffic light icon on the menubar changes colour from green to orange to red depending on how close you are to exceeding your daily quota. Use this as a guide to how fast you’ve been burning through your quota for the month. Orange means “slow down, and red means “if you keep using your quota at this rate, you’ll run out before the end of the month”.

  • The quota thresholds for the traffic light are configurable. You can set the point at which it it flags a warning or a dangerous level of quota usage.

  • Displays the time left until your quota rolls over. This is approximate, as the exact time that Internode will roll over your quota is not knowable.

  • Automatically updates using the Sparkle Framework. If I release updates, the application should notify you and offer to download a new version. Sparkle also provides me with some data on how many people are using NodeQuota and what their system is like, so I can provide better support.

NOTE: NodeQuota is Mac OS X 10.5 Leopard compatible only

Sorry if you were using this on 10.4. Apple don’t supply the cool toolbar classes that I used in the Preferences panel in 10.4 for use with Interface Builder. The classes exist, but I would have to create them programatically. If there are a lot of people wanting a 10.4 version, post here, and if there is enough of you I’ll rewrite it to use the 10.4 compatible method (a bit of work for me).

Installation instructions:

  1. Download the package and unzip the application.

  2. Drag the icon wherever you like.

  3. Double click it.

  4. Enter in your ‘node username/password.

  5. Close the preferences and select Refresh Statistics form the NodeQuota menubar item.

  6. Optionally, add it to the login items if you want it to start on login.

Known Issues

  • Closing the About box does not send the application into the background. It’s menu bar is still active even though you can’t see it, so if you try to issue a shortcut to the apparently active application, NodeQuota eats it and beeps. The workaround is to either not open the about window, or just click on something else to activate it after looking at the about window.

Planned features for 1.1

  • Internode quota usage history graphs.

    I am going to try to load these into the menu directly much like iStat menus. I am going to try and beg for iSlayers classes for doing this :) if not, I’ll try and engineer it myself, it will just take longer.

  • SNMP Graphing of your router’s interfaces along with totals to show up-to-the-minute accurate information about your quota.

    Same deal; I want live graphs of the SNMP data in the menubar (as part of the dropdown). I would overlay the live data with the data supplied by Internode’s accounts server, so people could see the differences and spot any discrepancies.

  • Multiple accounts.

    I have not decided what to do here. Many people have asked if I can provide a NodeQuota for other providers. I’m thinking that adding to the multiple account support, I could also have multiple providers. I am planning to split out the actual data gathering code separately anyway, so this might not be so hard. If people would like to see NodeQuota support other providers then it might be worth doing.

This feature list is in flux. If you would like to see things different to the above in 1.1 of NodeQuota, please either send me a mail or post to this page. Your feedback is greatly appreciated.

Changelog

Version 1.0.7

  • Internode have changed the URL for grabbing the usage data from, and require an update to all meters to use the new URL. 1.0.7 implements this change, and if you don’t upgrade to 1.0.7, NodeQuota will stop working when Internode shut down the old URL this month.

Version 1.0.6

  • Fixed the Updates preference panel.

  • Switched to using the Keychain to store your password. Secure! NodeQuota will automatically migrate your password from the insecure preferences file to Keychain. You will need to allow Keychain access to NodeQuota’s key for this to work.

  • Automatically initiates an update when closing preferences.

  • Provides feedback when changing the display preferences. The traffic light will change colour dynamically as you set the thresholds.

Version 1.0.5:

  • Integrated the Sparkle Framework. This framework provides an easy method for Cocoa applications to automatically update.

  • Fixed Cut & Paste shortcuts in the Username and Password fields in the preferences panel.

  • When opening the preferences or about windows, NodeQuota will now make sure that the windows are in front. These windows may also be closed via the keyboard shortcut, Command-W.

  • The output items in the menu now have tooltips explaining each of the values, to reduce confusion. As a side effect, the menus down highlight while you hover over them, but they do nothing if selected. I will probably replace these items with a custom view at some point, when I work out how to do it.

  • The preferences panel has been completely redesigned, to allow for future growth. There is now a preference to change the warning thresholds for the traffic light icon, along with options to change the automatic update settings.

  • NodeQuota now uses HTTPS to communicate with the Internode usage server.

Version 1.0.3:

  • Implemented an Average Used/Limit which tells you how much quota per day you have, on average, and you average burn per day since the start of your rollover period. Not thoroughly tested but seems tow ork for me.

  • It also now has a traffic light which goes from green to orange to red depending on your usage. Under 80% is greem, 80% – 100% is orange and over 100% is red. Basically it gives you a nice indicator that you’re probably burning bandwidth faster than you can and if you continue at your current rate you’ll run out before the end of the month, if its at red.

Version 1.0.2:

  • Fixed a bug with the rollover date, now should be relatively accurate.

Version 1.0.1:

  • Added a countdown to the rollover date. If its being processed “nowish” it will say “Today” until the rollover is processed and internode update your data.

6 Comments

  1. lazydesi

    I would love to see this type of usage for my ISP (Adam Internet) also. Looking for 1.1 release, any estimated date?

  2. Not as yet. I’ve started work on it and the design is coming together as well as a few of the individual components, but as for supporting other ISPs that might be a while down the track. I’d need help from people to get those features implemented.

    That said, the way I’m thinking about doing this is providing separate modules for each ISP that I support, and another module that allows you to write a script in perl or applescript that does the HTML scraping of account information, effectively providing a method for anyone with basic scripting ability to add support for their ISP.

    This module would be heavier (it would need to fork a perl interpreter every time it gathers data) but would be a good solution for all the other ISPs I don’t have a way to test. Once someone has a perl script that outputs the right data for their ISP, they can send it to me and I can implement it in Objective-C and have it supported natively.

  3. lazydesi

    Once someone has a perl script that outputs the right data for their ISP, they can send it to me

    if you tell me how to extract the data from ISP, I will provide the data for you

  4. It’ll be a week or so before I work out the specifications. 1.1 is in early design/prototype phase.

  5. Nodequota is great!
    I have recently crossed over from Windoze and was getting withdrawals from not having my MUM usage meter. I found this at the whirlpool forums. How about you contact Internode and have them add it to their list of usage meters. I’m sure a lot of other people would appreciate your fine efforts.
    Thanks again.

  6. Is there any way to change the traffic light from a Daily Quota to a Monthly Quota representation???

    Thatd be super!!

    Thanks

Leave a Reply

Using Gravatars in the comments - get your own and be recognized!

XHTML: These are some of the tags you can use: <a href=""> <b> <blockquote> <code> <em> <i> <strike> <strong>