• Welcome to BirdForum, the internet's largest birding community with thousands of members from all over the world. The forums are dedicated to wild birds, birding, binoculars and equipment and all that goes with it.

    Please register for an account to take part in the discussions in the forum, post your pictures in the gallery and more.
ZEISS DTI thermal imaging cameras. For more discoveries at night, and during the day.

Developing new recording software from scratch (1 Viewer)

_pauls

Well-known member
Hi all,

I'm pondering writing my own bird recording software as a) I know what I personally want from it, b) it saves me paying for software that doesn't match my requirements and c) most of the software I've seen doesn't seem very professional (ie written by hobbyists not professionals).

I wonder if anyone would be interested in helping me with ideas of what they would look for in desktop software for recording sightings etc?

I'm a professional software developer (20 years developing desk-top and web software) and spare-time bird watcher so the technical side isn't a problem but I would be interested in knowing what kind of data people would want to record, specific formats of record that would be useful for linking to other programs, mapping capabilities etc.

Anyone that would be keen to get involved please let me know - ultimately if I do end up with a releasable product at the end I'd be happy to give it away free to those who've helped out and at a nominal cost/shareware for anyone else.

Cheers,

Paul
 
I used to be a developer myself (16yrs experience) before my current job and would be happy to help in any way I can.
 
Thanks - I note your comments on another thread about mobile apps - do you have any experience of writing for iPhone/Android?

I'm primarily looking at a desktop app but in this day and age some interoperability with a mobile app would definitely be useful. I've written "Hello World" on Android but nothing for iPhone.
 
What i would look for in a software would be..
.Some basic level data storage..Image files(including full EXIF) + basic data = name/bio-name/habitat..and expandable list data structure to handle/store (text / urls).
A small degree of image processing/cropping/aignments would be handy.

Available on demand/need beyond the basic data should be a master data - linked - (editable+expandable) where references to the birds details ( as much as possible) in terms of pictorial/physical /biological structure/behaviour/bird calls.

The basic software should be able to reference the master data and match current bird info (e.g. something akin to "face recognition" would be great).

A high degree of sorting on any field should be available..to help search out from the ever growing collection (here "bird-recognition" could also be incorporated with images).

...so far i could think of these things...
of course the software should be a multi-OS possibility (i'm a mac user..but most friends and folks around me are Windows based).

Regards.
 
I am glad that someone with experience as a birder and designer is turning to such a project. I really hope it goes well. You will probably have me as a grateful user at the end of it.

I would not want anything more than the standard birders request list for the type of data (age/sex/plumage, linking to photos, voice recordings, url for relevant web data, and maps from GPS or manually from Google). I would also want this data easy to interrogate: but you will e doing that anyway. The more critical thing for me is the UI: apps (iPhone or desktop) which are clumsy for data entry are not worth the bother (especially in the field). I hate scrolling through a complete list to find a bird (as some apps require) or being forced to navigate through request fields for age/sex data if I am simply recording a 'big day' seen/not seen kind of list. Customisation of the UI is key both for input and output.
 
I agree with S Smith on the input side of things, scrolling down lists is way too cumbersome. Having an autofill facility would be good, let the software scroll down the list in the background as you are inputting the name, or have a facility to assign combination's of keys to specific birds, ie ''gsw' to 'great spotted woodpecker' is a lot less key strokes than having to type 'great spotted w' for autofill to give you the correct bird, and certainly quicker than scrolling down a list to find it.
Having an app dedicated to the desktop software would be good, input the data in the field on your phone than simply sync to the desktop at home later. At the moment I'm taking out a notebook for writing the data, then sitting at the PC typing up that data.
Having links into Google Earth would be good, especially if it could use the geotag information from photos, more cameras are equipped for this now. Although again with a phone app this data could be captured by the GPS on the phone.
THinking about output of information, having the facility to generate graphical output would be needed, no more having to transfer data between two programs to get a simple graph would be excellent.
Links into Birdforum's OPUS or Wikipedia for the information on each species would be better than having loads of data files to install on the machine. This would definitely be best for any phone app.
 
For me as not proffessionalist in the field of programming most simple attempt appears to be creating an Access template, which could support many of features you guys need, including importing text and xml data (probably GPS and other outputs), exporting to txt, html (i.e. Google Maps), kml (Google Earth), csv (i.e. for uploading to eBird), analyzing data in all possible ways, including creating of graphs, even reading EXIF data if you are not afraid to open many files one after one. This is commercial, but very popular software. And it is possible to open databases using non-commercial Access Runtime.
The only problem would be with images - no possibility to edit them, at least without API. But you can store paths to thumbnails (relative for example) and display them as linked pictures in the Image Control (see attachment), if you really want. It is also possible to store images in OLE fields of tables, but this is slow and you would exceed upper limit of file size very soon (probably 2GB).
Here is sample simple database:
http://darekk.com/temp/birds.mdb.zip
This is very popular universal format, save to store data for many years.
Maybe you could create kind of open source project - one very basic database and optional features in additional files to download and import ? For example forms, queries, modules allowing import or export ?
But probably the best choice is to create own database, accomodated to own needs and customized (custom tables, custom fields). This seems to be quite easy. Except writting code importing and exporting data.
Sorry for annoying message, but I am forced to sit in one dark room almost 24 hours / day in front of computer from about 5 years, otherwise such messages would never appear.
 
Last edited:
One main reason why I personally would shy away from that method is that it's tied to windows. I know you can use Open office to open and use Access databases, but with the level of complexity you are suggesting there WILL be problems.

My personal thought is a basic bespoke database app that supports plugins (or possibly better as scripts), therefore making it simple to "outsource" each different task, like image handling and data exporting.
 
Sorry for the lack of updates - I've been a bit tied up with work to make much progress however I've made a concerted effort recently and I'm getting towards the point I could use some feedback.

I've been focussing my efforts on a simple mechanism for picking species to add to a particular report... and so far I have come up with a three-pronged attack which seems to work quite smoothly when I've been entering some of my own records.

The screen is basically split in three - top section for the "header" of the report (including location, date, which list(s) to add the records to), the main body is the list of species selected for the report so far, and the bottom section is the "selector"

The selector has a free entry text box so you can just type in either common name and scientific name and this has an auto-complete feature so for example you type in "common" and it will list all birds starting with "common", and as you type more letters it narrows down the list.

Beneath the free text box are two tabs - one featuring a taxonomic tree structure so species are grouped by order\family\genus to make it simple to say enter reports with lots of related birds, and the second tab is a flat list of species with common name and scientific name (sortable by either type).

If you find that free text is the simplest entry mechanism there is a collapse/expand button that hides the tabs to devote more space to the main list.

I've attached a few screenshots below and would be interested in comments (NB it may be best to PM me, as history shows that I haven't kept too close an eye on this thread lately ;)
 

Attachments

  • Taxonomy.jpg
    Taxonomy.jpg
    192.2 KB · Views: 136
  • Flat_list.jpg
    Flat_list.jpg
    216.4 KB · Views: 121
  • Autocomplete.jpg
    Autocomplete.jpg
    212.8 KB · Views: 110
  • Minimised.jpg
    Minimised.jpg
    175.9 KB · Views: 115
A few further updates...

All still very much a work in progress but the attached screenshots give an idea of a few of the features I'm working on including :

Location summary view that shows what species have been recorded at each location, and the percentage of visits where the species has been present.

"Gap Analysis" which allows you to see what percentage of species within a particular order/family/genus you've seen, ie "recorded 62% of all duck species on the UK list" or "66% of all scoters"

A "split" wizard which allows you to edit/update the taxonomy tree to split subspecies into species in their own right and automatically map your sightings to the "new" species

Homepage which lists the "highlights" of the last time period, such as trips logged and new or unique species records.

More details on my blog : http://naturerecorder.wordpress.com/
 

Attachments

  • Homepage.jpg
    Homepage.jpg
    258.3 KB · Views: 92
  • locations.jpg
    locations.jpg
    159.3 KB · Views: 111
  • gap analysis.jpg
    gap analysis.jpg
    160.1 KB · Views: 98
  • gap analysis1.jpg
    gap analysis1.jpg
    142.1 KB · Views: 86
  • split.jpg
    split.jpg
    389.2 KB · Views: 96
RSS Feeds are now implemented - question... would integration with a forum like Birdforum be of any use? In tandem with the RSS feeds I could also incorporate latest posts on various Birdforum forums (fora?) or is that just re-inventing the wheel?
 

Attachments

  • RSS.jpg
    RSS.jpg
    146.8 KB · Views: 70
I now have a graphing system in place - the initial effort is to produce a graph of sightings for a nominated species on a month-by month basis (filter-able by region and by time period - ie last year, "since March" etc).

This is very much a starting point and much of my focus for the next few weeks will be to put graphing in for a variety of things such as


  • species count per site
    species count per region
    max counts for a species by month

and anything anyone else thinks would be good.

Also.. plans are underway for an Android app to integrate with the desktop version - aiming to start work on that in the new year.
 

Attachments

  • graphing.jpg
    graphing.jpg
    124.1 KB · Views: 78
Last edited:
Just another quick update.. I've now added the facility to link in your photos or sketches to your records.. so when you are creating a new report you can easily reference any photos you took and view them from within the program. It also lets you easily view all photos of a given species...

At the moment this only works with "locally" stored files, ie you need to enter a filepath to the image file on your computer or local network. I will shortly be putting in the ability to link to web-hosted images.

Also on the cards - similar functionality for sound and video recordings.
 

Attachments

  • photo library.jpg
    photo library.jpg
    267.3 KB · Views: 91
  • add photo.jpg
    add photo.jpg
    252.8 KB · Views: 72
Last edited:
An alpha test version will be coming up soon for those interested as I'm getting to the point where its a usable and useful system (for me at least) and I'm getting increasing numbers of interested parties keen to give it a play.

In the meantime I've put together a very brief screencam type demo to show how to add a simple record to a site already visited...

Its only a couple of mins long... you can access via YouTube or via my blog
 
Hi I have created my own bespoke recording system. It’s an access dbase which is linked to Dmap. My starting point was the British List this was a big mistake and adding sightings from Europe and the rest of the world has been problematic. I had to re-write lots of things. I wanted to be able to add remove and convert sub-species and races race as the taxonomic decisions were announced. I wanted to list if Taxonomic order and combine Taiga and Tundra Bean Goose for the BOU and split them for the UK400. I have quick key enter and can use BTO two digit codes or LSW for Lesser Spotted Woodpecker. I want a multi-line input form for a single site with breeding code lookups. I created a species summary screen with seasonal distribute month by. There is also a target list create and a dip list. I can update my dbase at the end of the day whilst I drink a cup of coffee its quick and simple.

Having gone through a lot of the pain and would be happy to help.

Richard
 
Hi Richard,

Thanks for the comments - my system is based on the IOC list and cut down to the British List by default, however the option to update from a new version of this list or create your own taxonomies from scratch or to fine tune by creating lumps and splits is there. I don't have any option to operate two taxonomies at the same time though, although you can record a subspecies in a text field and when I get round to it you will be able to create custom reports that would display this (all my standard reports only go to the species level)

I would be interested in the link to DMap though - I havent got any real mapping functionality at the moment and what i was thinking of may be a little clunky.
 
DMap is driven off a simple text files. By running a query and exporting the results as a .txt file and then running script to open DMap the results can be viewed. It is not perfect but it’s very flexible and produces excellent Maps.

Richard
 
Warning! This thread is more than 12 years ago old.
It's likely that no further discussion is required, in which case we recommend starting a new thread. If however you feel your response is required you can still do so.

Users who are viewing this thread

Back
Top