iBus icon
iBus - Never miss another bus again!

A project with Nils Beck.

Back to Main page

Introduction

Sick of missing the bus?

Frustrated with ASEAG's web interface?

Never fear, iBus is here!

After over a year since its last official release, iBus is back, bigger and better than ever! iBus is a Mac OS X utility for monitoring bus schedules from the comfort of your desktop. It automatically downloads and caches bus departures for the stations you specify, and presents them when you click on the iBus icon in your menu bar. Set a timer for a specific bus to ensure that you don't miss it!

Installation and Quick Start

Download the binary and drag the iBus icon to your Applications folder. The first time you start it, it will automatically open up the Preferences pane where you can add new schedules. The selected schedules are also the ones that appear in the menubar menu when it is opened.

Sample Schein

iBus Menubar item

Some Technical Details

iBus uses a simple shell script and curl to fetch the schedules. Thus, it is in theory possible to support any sort of website which publishes schedules by modifying the shell script. Also, you can also use the script to fetch the schedules on other platforms (Linux, Windows with Cygwin, etc...) -- you just won't get the pretty GUI.

iBus is a dockless Cocoa application that uses NSStatusItem and Cocoa Bindings. Thus, it requires Mac OS 10.3 (Panther) or higher. Schedules are fetched in a separate worker thread. Schedules are saved with the default user settings (~/Library/Preferences/de.rwth-aachen.informatik.media.iBus.plist).

The ASEAG website has a few limitations (no surprise) which are accounted for in the iBus implementation. Queries will return only a maximum of 100 results, which sounds like a lot, unless you are looking at the Aachen Bushof, where over 100 buses depart every hour. To minimize the amount of web traffic, and reduce update times, iBus uses a recursive subdivision algorithm when fetching bus schedules. The other issue is that many small requests (which may still happen if you ask for the schedule for the Bushof) will cause the server to return an error. To account for this error condition, and to prevent further flooding of the server, iBus uses an exponential fallback scheme and patiently waits for the webserver to begin accepting requests again.

Release Log

Version 2.1 - March 18, 2005

Version 0.1 - February 27, 2004

Download Software

The binary and source are distributed under the terms of the GNU General Public license. Mac OS 10.3 (Panther) or higher is required to run this program.



The above software is being provided free of charge, and I fully intend to keep it this way. However, if you find it useful, please consider making a small donation to help support this work.

Back to Main page