First of all, I'm not a programmer. I'm here because I had an idea for a software program that my employer may hire someone to design, and I'm wondering what kind of investment it would take to hire someone to design it. (Thousands of dollars? Tens of thousands? Hundreds of thousands?)
We want to create a software program that Home Inspectors would use to create their inspection reports. The concept of the program is somewhat similar to Turbo Tax (a "wizard" type feature would prompt you to provide necessary information). It would have to be EXTREMELY user friendly, something someone who's never seen a computer before could use.
Anyways...
The user would set defaults/preferences before they even use the software that would determine which prompts they're shown. For example, if they say that they don't test for carbon monoxide, they'd never be prompted to provide CO readings.
Basically, it would ask you questions/prompt you for information and then base the following questions/prompts on your answers. For example, if the address of the building is in Florida, it wouldn't offer any selections that have to do with snow. If you say that a water heater is an electric water heater, it wouldn't ask you how the burner area looks. If you say that the building was constructed in 2002, it wouldn't offer you any notes about asbestos. If you say that the water, gas, and electricity are shut off to the building, it would automatically place notes in the correct places (in the printed report) about which things you weren't able to test (wouldn't ask you for carbon monoxide readings from the furnace exhaust, for example).
It should ask you questions at the beginning or during different sections, such as asking "types of penetrations/flashings present" at the roof section with a list that you select multiple items from, such as chimney, skylight, valley, plumbing stack (this one might be set to automatically be checked, and then you'd uncheck it if need be or the program would automatically uncheck it before hand if you say you aren't inspecting roof), etc. Then when you hit "next" (or whatever) you'd end up with a list of things you selected and lists of notes or further questions for each. As you answer the questions, more questions or note options appear. For example, if you selected chimney, then under the chimney section there would be questions like "how many chimneys" or "what are the types of chimneys" with options that are used to compile the list of notes you can choose from.
Inspectors would set some defaults which would include the order that they want to be asked the questions/prompted in (exterior before roof, roof before chimney, etc.), the terminology they prefer. Some would say that something "appears undamaged" and some would say "appears serviceable", both meaning that there are no apparent defects. Some use the word "mold" while others prefer to say "microbial growth".
It should ask you how many bathrooms, heating/cooling units, etc. at the beginning, but it should also be easy to add them if you find another one (such as a toilet or shower in the basement). Things like number of water heaters could correspond with the number of residences in the building (duplex, triplex, etc.), but it would still be important to be able to add more at any point.
There needs to be a way to add notes that you hadn't followed the proper relational path to find. There would need to be a search feature on both the individual databases and the one on our server. I was thinking something along the lines of a field that's always in the corner of the screen that they could start typing into and see lists of related notes show up below as they're typing. They should also be able to search by telling it what area to look in or just browse notes by category/area.
The program should remember the notes (including the relational path/location of them) people had keyed in. This could happen automatically, could be something the inspector would have to tell it to do, and/or could prompt the inspector asking if it should be saved.
The report should be easy to navigate around if someone wants to input something in a section that they're not on at that moment.
If they realize that they took the "wrong turn" on a relational path, they should be able to switch to another path without loosing what they've inputted. For example, if they realized that an AC unit is actually a heat pump, they could switch from the AC path to the heat pump path and copy the notes they had already input about the unit to it.
A "notepad" feature might be a good idea... a tab or button that they could click that would allow them to jot down notes to remind themselves to input something later when they're prompted?
There could be a "don't ask me this again" or "don't show me this note again" feature (it would add that setting to the inspector's profile, perhaps).
The final output should be available as a PDF file or a print file. I like the idea of putting it into a narrative format, such as, "The water heater is a 4 year old, 50 gallon electric unit. It appears undamaged." Perhaps there could also be another style of output (where it would list each of those things under individual headings/subheadings), but not necessarily. The inspector should be able to preview the output at any point in the inspection.
There should be a stage between checking boxes and actually creating the final output. This in between stage should be a preview-like area where the inspector is able to see the report as it is going to appear when it's printed and have the opportunity to change the wording if they want to.
It's very important to make it easy for the inspector to add photos. It would be good if this could be done in the "preview-like area" of the output.
We need to have an abbreviated Pocket PC version of the software that would sync up with a laptop/desktop so the inspector could complete parts of the inspection report that (s)he hadn't on the pocket pc, such as adding photos, previewing the output, adding more notes, etc.
There will be images/illustrations included in the database.
There are state and association standards that our inspection reports need to meet, so the reports should prompt you for information related to them.
There should be an "ask me later" or "remind me later" or "come back to this later" feature. An example of a time this would be useful is if they're prompted for the location/condition of the water main and they haven't found it yet. It would be nice if there was an "index" of things they've asked to be reminded of so that they can go back to it quickly when they do locate the water main.
There should be options that are always on the side/corner of the screen (or hidden under an easily accessible tab)... for example, they could find a miswired outlet or improperly installed wiring pretty much anywhere in the property.
And there should be a spell check feature, of course.
************
Wish list (features that would be nice but aren't immediately necessary):
1. When you start typing in a note, it should show you related notes in/around the "area" you're in. Perhaps this is something that could be turned off? This feature isn't particularly important.
2. Users could link up to a central database that would find any changes they made (notes they added) and add them. Then they could browse the database for notes to choose to install into their software. The site would keep track of the most popular notes, so if people just wanted to see those they could. It would also need to keep track of which regions the note came from, if that's set as a relevant field.
3. In addition to PDF document, also creates a web version of the report that contains videos and can be sorted in different ways (list recommendations, etc.), links to related information (which should also be active in the PDF's, actually), etc. They could click on photos in the report and have them enlarged.
************
I think that's all I have for now. Also, if certain features would be much more difficult to implement than others, please let me know which parts would make the project significantly more difficult/time consuming/costly. (:
Thank you!