Sunday, June 15, 2008

MarcoPolo starts again

MarcoPolo is now back in active development, and I've started rewriting from scratch. I'm aiming to have a v3.0 released by early October -- newer, more reliable, more flexible and more useful than ever before.

So why am I rewriting it from scratch? Because the existing (or "old", as I'm now thinking of it) codebase is not good. It was my first significant project using Cocoa and Objective-C, my first significant Mac project, and it's got classic beginner mistakes all over it, everywhere from the class design to the object coupling methods. It's reached the point where it's unfeasible to keep extending it to do new and wonderful things, such as negative rules, logic-operator-grouped rules, multiple simultaneous contexts, etc. And that's just the tip of the iceberg of what I hope MarcoPolo could get to.

At the same time, I'm now looking for a better bug tracker. Trac works okay, but it doesn't (yet) have decent git integration, and is lacking in several other features I'd like. I'm looking at Lighthouse (probably in combination with GitHub, but my search has only just begun. I welcome any suggestions.

The new git repository is at http://git.symonds.id.au/marcopolo3.git (it is also web browseable).

4 comments:

Mortimer said...

Some time ago, I switched from git to bzr and started using https://launchpad.net/ as it has more features for bug/localisations/etc than what was availlable at the time for git.

bzr and git are not that different in their working, so it's not too hard to switch, and launchpad has some very interesting features.

Anonymous said...

Mantis is a great, easy-on-the-server (php) bug reporting / notification /mgmt tool. Super-easy to install, especially in a shared hosting environment.

Torsten Curdt said...

I'd say github and let me know when you find a good bugtracker :)

Did you ever think about making the actual location detection a framework? I always thought it would great to define locations and how one identifies them through a preferences pane ...but then expose them to other applications. One could be Marco Polo changing network settings and so on.

Would be very useful IMO.

Anonymous said...

would it be possible to have rules->action direct "mapping" instead of rules->context->action ? For example, I have an applescript to set my mouse speed differently depending on which mouse I have plugged in (I have 2 different ones). But a different mouse doesn't mean a different context. However, at the moment the USB rule would set a specific context and then, entering that context would trigger my custom script.

Thanks