Archive for the ‘FreeGuide’ Category

ATV Palm export

Tuesday, June 28th, 2005

We’ve already had a bug report/feature request for the ATV Palm plugin Alex wrote, so it’s obviously going to be pretty popular. It’s really great that Alex is doing so much work on FreeGuide at the moment. We are having our disagreements here and there, but FreeGuide is getting a lot better all the time.

Nearing a new release

Tuesday, June 28th, 2005

FreeGuide is hopefully nearing a new release. Alex has been working on the plugins system, and hopefully I will be able to test it this week. If it works ok, we’ll release it as unstable, and then with a few bug fixes we should be able to make the next release stable. Alex has refactored the code so that the main program is just another plugin. This is pretty cool as it means we can upgrade everything without restarting the program (hopefully, although in practice we think we may hit problems with resources not being freed). We are currently discussing exactly who should be able to upgrade what plugin when. I am keen that users be able to get a new listings grabber as soon as they need one without needing their admin to do it for them. On the other hand, probably only the admin should be able to upgrade the main app. The way jEdit does these things seems to work pretty well.

Re-implementing

Thursday, June 23rd, 2005

Been discussing with Alex about the dangers of re-implementing – he wants to simplify the command-line arguments code in FreeGuide, but rather than modifying the existing code, he’s re-written it. The problem with re-writing is that old code usually has lots of non-obvious bug fixes in it which you will have to re-implement all over again as they are reported. Alex has re-written a few things, and generally he’s improved the code structure, but we have both then had extra work to do fixing the bugs that are inevitably introduced. That can seem like a waste of time if they’re bugs that I have already fixed in the past.

It always feels easier to write your own new version instead of understanding what’s already there, but in reality, unless you’re changing the output, it’s never a good idea completely to re-write the internals. There’s a good article by Joel Spolsky on this.

FreeGuide’s TODO list

Thursday, June 16th, 2005

Take a look at the latest TODO list. There are several categories of things on it:

  1. Already done e.g. “Add firefox to the possible browsers.”
  2. Completeness features e.g. “Use Java’s printing capabilities to print”
  3. Feature creep e.g. “Automatically make a channel set when you right-click a channel and choose
    “Move up” (or even drag!)”
  4. Difficult-to-trace bugs e.g. “Make it not say no listings after midnight”
  5. Difficult features e.g. “Minimize to system tray”
  6. Subtle UI improvements e.g. “Remember where you were in the Options screen”
  7. Major features we are in the middle of e.g. “Run an exe when a programme is about to start and/or end” (this is actually recording)

I should go through and make sure everything is relevant, but also I need to prioritise what to do before 1.0 if we are ever going to get there. 7s are being done by Alex and others, 2s really need doing if we are going to call it finished, 4s should get cleared up during the beta stage (hopefully), most 5s are likely to get dropped, and 3s and 6s are good potentials for a public vote – then the most wanted ones will get done and the others will have to be post-1.0.

I may go through the list and actually classify them this way, and then we can see what we’re doing.

FreeGuide packaging and plugins

Wednesday, June 15th, 2005

I couldn’t sleep last night, I think because my viva for my DPhil (PhD) is coming up on Monday. Work is going to be a struggle, but at least I got a chance to think about FreeGuide.

Alex is working on a plugins system (it’s sort-of-working in CVS) that will allow us to split the grabbers out from the main program, and allow people to innovate with new plugins without delving into all the code, which is quite large and a bit messy to say the least. Both of these things are really good, especially because my own time is very limited, so allowing people to work on plugins seperately means progress can continue without me being such a bottleneck.

However, handling plugins means we need to change the way FreeGuide is packaged. I’ve had some thoughts about how to do it, and I’ve put them together into an OpenOffice.org Impress presentation (or try the PDF). I’m looking for comments on this before we finalise the system. Once it’s established it will be hard to change, so I want to try and get it right.

If there are a couple more sleepless nights we might even see FreeGuide’s 0.10.x branch going stable … Alex has a few more bugs to fix, but we’re getting there.

What is going on with FreeGuide?

Saturday, June 4th, 2005

I thought I’d write a little bit about FreeGuide, since I’m planning to link this page off the FreeGuide page.

I’m the lead developer on FreeGuide, and having just started a new job (which so far is excellent) my free time is seriously limited, especially as my commute is 1.5 hours at the moment. I expect as I settle in I’ll find more time, and I also hope my commute may reduce in a few months. In the meantime I’ve had to fall back into maintenance mode, but fortunately there are several contributors stepping up to add long-requested features. The most prolific contributor has been Alex, who has been working on a number of excellent new features in our development branch. That branch started when Risto refactored the code into an MVC style and optimised the display to speed up massively operation with more than about 10 channels.

That branch has been around _far_ too long, as it’s a maintenance headache to look after 2 quite different branches, and it causes confusion when people send in patches against old code.

I really want to make the development branch reasonably bug-free and then declare it stable and retire the 0.8.x branch once and for all. I hope we can do that pretty soon.

Meanwhile, Alex is adding more features, the most notable of which is the plugins system. That will eventually allow you to download and install new listings grabbers without upgrading FreeGuide itself, and plug in loads of other things like exporters, recording schedulers, and loads more. Also excitingly soon to go in is the recording scheduler system developed by Reuel and integrated by Alex.

I want to make 0.10.x stable next release, then get those features in (probably under a 0.11.x name), stabilise them, go through the TODO and make a _short_ list of things to do before 1.0, do them and NOTHING else, and then finally release 1.0. It would be great if the plugin system turned out to be flexible enough to handle all the new thigns people suggest, but if not I plan to keep the 1.0.x branch stable long term, and allow further changes in a 1.1 branch.

The features I think are needed for 1.0 are:

  • Recording (through a TV card) while FG is running
  • Scheduling recording
  • Coloured favourites
  • A manual and help

Hopefully not a lot else…