Ready, Fire, Aim

When last I posted, and it was a while ago, I was searching for an application to develop that would teach me some of the subtleties of AIR. I has laid out some possible options and I received a couple of suggestions from others.  Having thought about all of the possibilities, and made up a couple of new ones, I decided that I would go with a Fly Tying Inventory tool. 

I know, I know, there are many of you out there that are saying “well who the hell cares about something like that?”  Well, in this case the application is not the important thing, but rather its a vehicle for the learning of the software.  As such the application must have elements that lend themselves to multimedia (video, text, graphics, audio), offline capabilities (such as a local database), an engaging user interface, etc.  Lets look at how this tool would meet the criteria I set out before:

  • Must be user facing – back end software is incredibly important stuff, but AIR’s whole reason for being is to build an engaging interface
    Users will need to view patterns, search the database, enter new patterns and generally work with the pattern data that is available.  Users most likely are not developers and their patience with software may be limited.  Good interface design is very important.
  • Should make use of some of AIR’s special talents – otherwise why build it in AIR?

    • online/offline access – this implies that there is at least some kind of a back end system
      A central database of patterns that can be used to update the local software will be very useful
    • local database
      Patterns should be stored in a local database for easy searching and retrieval
    • have update capabilities for new versions of the software
      Updating the application as new features are added is a must
    • platform independence
      Being a public facing application we should not restrict users to a specific platform
    • encryption of data
      Admittedly this is not much of a requirement, fly patterns are not usually that much of a guarded secret (fishing locations on the other hand…..)
    • multimedia presentation
      Absolutely – patterns are listed as text with an accompanying picture. Often there are short videos demonstrating the tying as well audio explanations may be added

  • Should be fun, but it still should be somewhat useful.  Lets face it, I am in the high-tech industry and with that comes a bit of ADD.  The project has to be interesting enough to keep my attention.
    This is really a matter of opinion, but I find it very useful. There are thousands of patterns with many variations. Having a search tool would help a lot.
  • Must be well understood.  By this I mean that the project must be something concrete as opposed to an abstract thought experiment.  This is mainly so I can objectively assess the success of the project.
    No problem here, this will be a very concrete application.

Basically the application will be a storage and search tool for a specific type of multimedia. You really could substitute anything that has many parts and a recipe for putting them together and you would have the same thing (car parts inventory with installation instructions, stellar cartography with location data, etc.)

Okay, I’ve now got an application what are the next steps?  In this case I’m going to do two things:

1 – Put together a semi-formal set of requirements.  This will allow me to measure the success of the project against a fixed set of criteria.  It also will keep me from missing any key points in the software development.  Its a pretty common step in any software development.

2 – Create a visual design document.  This will let me keep the visual design consistant.  I believe that this is one of the most important documents when creating a user oriented application.  Its purpose is to make sure the visual integrety of the application is maintained.

I’m not going to create a 400 page manuscript, but a few of pages to keep things on track through-out the development process.  I’ll post the docs for discussion next time.