The world according to...
Nathan Oates
 
 
 

Fri, 08 Dec 2006

MacTF v2.0b2
Recently I tackled some of the problems in MacTF. Most of them stemmed from the complicated threading that was going on, while trying to prevent those threads from trying to interact with the Toppy at the same time (causing interrupted transfers). So I had a great idea and turned all those nasty threads into a single one (well two actually, one for the UI and one for all the Toppy communications), which worked on a queue of transfers. This worked out very well, and when combined with working out how to properly resume transfers from any point, enabled me to set up a fully "interactive" Toppy experience, even during transfers.

I had planned to make it v1.5, but with all the changes I decided to overhaul the interface too and make it a proper v2.0. So I've added live searching and made the interface look like an iLife app (using the great iLifeControls framework). The not-publically-released v1.4 also added the navigation bar, which I find much more intuitive than selecting ".." to move up a folder, which was a bit too unixy for some people. Also the Sparkle framework has just been added, to provide update functionality (I used this in MacTF-EPG too).

So all in all a pretty big update, especially functionality wise, as you can now do just about everything while a transfer is occuring (the only thing currently disabled is "previewing", although it too is theoretically quite possible). The main thing remaining for me now is to implement some form of "queue management" - I'm imagining something like iTunes "Downloads" interface.

Tue, 31 Jan 2006

A few slight bugs
Although MacTF 1.3 seems to work pretty well, a couple of people have reported crashes when they try to upload or download anything. It was hard to pin down why (as the bug was in a piece of code that has been fine since it was introduced back in 0.3 or 0.4). It's most likely due to the subthread handling memory a little differently, and maybe a 10.3 vs 10.4 difference too, as all reports so far are from 10.3.9. Either way, the bug is now fixed.

I'm halfway to getting a few other things finished though (rec file header preview, and a navigation bar to get rid of the ".." entries in the file list), so I'll hold off on releasing an interim fix for the moment, in the hope of finishing them soon. However, if you are getting the crashes and want them to stop, just drop me an email and I'll send you a fixed build.

Thu, 26 Jan 2006

MacTF 1.3 released
As indicated earlier, MacTF has been updated to v1.3. The main changes are a redesigned interface and multithreaded transfers. A Finnish translation has also been added, as well as a number of bug fixes.

Fri, 20 Jan 2006

MacTF 1.3 delays
I've been planning to get MacTF 1.3 out for a while now, but due to the interface changes I needed to redo a lot of the localization things, and unfortunately I have been very busy lately. Also, I still need to test some things as I finally made the file transfers threaded! This makes things in the UI work much better (eg. no need to use Exposé to get back to the screen) but did make the code a bit complicated as I have to try to avoid various combinations of actions that don't go well together (like disconnecting while transferring could cause a crash).

Hopefully though these changes will allow me to pause and resume transfers in a future version though, and it should be possible to also resume partial downloads.

Thu, 12 Jan 2006

Universal apps
With the release of the first Intel-based Macs yesterday, I've had to begin thinking about whether MacTF and my other apps will work nicely on an x86 system. The answer is that I just don't know, and as I'm not looking for an iMac or a 15" laptop, I'll have to wait until an iBook equivalent or a Mac mini is released so I can test it out myself. Before then, if anyone tries them under Rosetta, I would appreciate a note saying if they worked or not.

Some possible problems I could envisage:

  • Byte-swapping could cause data problems. The data coming from the Toppy USB port is all backwards (little-Endian) and I swap it back to normal before using it. I think this should be OK, as when I write out data to files (or read it in to upload), the file-system should deal with any conversion. But it may not, so files might turn out to be all garbled.
  • Divide-by-zeros - I was surprised to learn that on PPC "x/0 = 0", but on x86 "x/0 = CRASH!". I'm not sure if I ever do a divide-by-zero anywhere, but it's possible I haven't checked for it somewhere, so this could cause problems (but is pretty simple to fix and should be easy to see in a crash log).
  • Anything else I haven't thought about.
I'll probably flick the switch over at some point and make MacTF-EPG universal, but if I do so for MacTF I will lose 10.2 support as far as I know. I'm not sure if anyone is still using 10.2, but I'd like to keep it as long as possible. I'll get someone who owns an Intel-based Mac to beta-test if they want.

Wed, 04 Jan 2006

Sneak Preview of MacTF 1.3
The last few days, thanks mainly to more email conversations with Janne, I've been changing the look and feel of MacTF a great deal. I still need to add a bit more code under the hood and also fix a few more bugs etc, but I thought I'd share a screenshot or two. The main change is that all the buttons for the various functions have been replaced with a toolbar, which is user-configurable. Note that the icons in this picture may not be the final ones, some are just placeholders.

This has allowed me to alter the layout of the rest of the app, so overall it should look cleaner and be a bit more intuitive.

Mon, 02 Jan 2006

Belated MacTF v1.2 announcement
I forgot to put a post when MacTF moved to v1.2 (and also forgot to update VersionTracker as well), so I might as well put a note here for anyone who reads this blog but doesn't visit the main page (new versions now have a "NEW" button next to them for ~2 weeks).

Wed, 07 Dec 2005

Small UI changes
Occasionally I get really good feedback on features and UI improvements people would like to see. I'd class MacTF as "usable but not pretty" software, so feedback like this is great to see where to improve things. Janne from Finland sent a great one with lots of ideas that I've had a crack at adding. Also, while I'm thanking people, my artistic talent is pretty lacking (I'm a scientist by trade, not an artist!) but thanks to Angus Hume, Tofi has a great 3D icon now, and MacTF-EPG has one for the next version too.

So here's some interface changes to look forward to in the next version of MacTF:

  • Drag and drop files to upload them to the current folder (hopefully I can work out downloading too, but that's not done yet)
  • Double-clicking on a file now downloads it.
  • Icons have been added to a column on the left, so it's now easier to tell what's a folder and what's a file (and even which type of file in some cases).

These are all in and seem to work fine (still need to test a bit more), and I'm considering adding a preview drawer so you can see text and ini files without manually downloading them. It may even be possible to edit them, but that will be in a later version.

Fri, 23 Sep 2005

MacTF 1.1.1 released
And another release today. MacTF has a few little bugfixes.
It seems I broke 10.2 compatability when I switched to XCode 2.1. This release should restore it (I'm not sure how many people still use 10.2, but it's more than zero!).

Also some German users were having problems displaying some recorded files. I'm not sure why but the filenames contained control characters (such as 0x05) that were therefore causing problems. This is now fixed too.

Tue, 13 Sep 2005

AppleScripting MacTF
A few versions ago I added some AppleScript capabilities to MacTF. As far as I know, nobody has actually used them (including myself!). So with the increased reliability of v1.1, I've written a quick droplet for myself to upload things to the Auto Start folder (ie new TAP versions). In case anyone wants it, it can be downloaded here.

It should be easily modifiable if you want to direct things to other folders. In the future, someone could integrate this into a Dashboard widget (similar to the Transmit widget I guess).