Monday 25 May 2009

Regression Tests

As previously discussed, I've spent quite a bit of time going over all the code to determine if it's really needed and how it fits into the rest of the product. As you can imagine this was quite a bit of work. Therefor, to make this process easier for the next time (each time any development is done) I have created a regression test tool.

this tool does three things:
  1. Run several different user activities - repeatedly, and ensures the app behaves as expected.
  2. Check the memory usage (looks for memory leaks, invalid references, etc...) against each test.
  3. Performs a code coverage analysis across all the tests.
Therefor by running this we will be able to prove that all activities use all the code and do not leave any leaks, while maintaining required functionality.

I know this has put back the release of the re-factored code-base, but I think this is essential going forward in producing a stable and robust product.

Monday 9 March 2009

Fill in the gaps

So, what's been going on for the last 8 months - I hear you ask.

Well the answer is simple - taking a break from the project!
I've found that stepping back for a while can really help focus
on what's important. So for 6 months I did nothing, not even use
the product.

But don't think for one minute that the project is dead! There
has been a lot of work over the past two months. These could be
categorise into three areas:
  1. Finding and fixing bugs;
  2. Fixing the broken UI;
  3. Adding important missing functionality.

Numbers 2 and 3 are relatively straight forward and generally
limited in scope (as any new functionality is reserved for the
next round of development).

The time consuming part, has been "finding and fixing" and I've
approached it in two ways: UAT & code review.

By UAT, I mean just using the product as an everyday end user.
This can often raise issues that may be glaringly obvious, but a
programmer would not address. It is this which has lead to the
small changes in UI and those 'important missing functionality'.
But it also found some other bugs.

The 'code review', has been the majority of the work. Each line
has been analysed and tested in isolation and together with the
whole product. Revealing some interesting issues, from the
mundane memory leaks to the exotic crashes under some obscure
circumstances.

The aim then? Well simply to bullet proof this version, to give
ourselves a solid foundation to build upon for future
developments, but that's a different blog post. For now, I'm going
to get this release finalised and out. Then drum up some feedback
and see if we can't get some extra resources (reviewers/ testers/
developers/ translators) on board.

I'll post back soon, so check again. Cheers.

Sunday 1 March 2009

Catch up

So then, a quick update on the story so far and where we are with things.

openDias started in around Apr 2008 as a project that I've been wanting a solution for, for a long time. I finally got around to starting and ended up posting three or four releases in the space of a month.

The development team consists of me only, at the mo. It's a new project so have been concentrating on the bones rather than getting everything nailed down. Having said that, this (nailing down and fleshing out) is most definitely the phase I'm currently in. This accounts for the lack of a code posting/ release for several months.

There has been a whole load of development going on in the background, (to add the flesh and polish) which will be released soon - real soon. Expect updates over the next few weeks on the lead up to this release keeping you updated on what's coming and were things are going.

Anyone that wants to contribute can do so, send in your patches or if you would like a more involved part, let me know and I can assign some functionality to you.

Introduction

There has been a lot of improvements and changes going on in the background lately, but nothing has been posted for download for quite some time.
So, I thought it would be good to keep the interested up-2-date with this blog.

openDias is an opensource project to create a document scanning and archive system for the home.

Check out openDias homepage or sourceforge project for more details.