473,574 Members | 3,174 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How complicated would this project be?

2 New Member
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.


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!
Sep 29 '08 #1
7 2543
2 New Member
By the way, I'd be the one inputting the information and establishing relationships within the database. I'm hoping that the type of database we'd need is something that already exists.

Assuming that it is, what we'd be hiring a programmer to do is write a "wizard" type program that would interface with the database and then turn the selected/keyed in fields/entries into a narrative report (based on sentences with "place holders" that I had written).
Sep 29 '08 #2
5,390 Recognized Expert Moderator Expert
from a first quick-look i would consider this project a quite complex one, seen from the aspect of the requirements. the entire complexity in such a project where you could have jumps from one point to another and always need consistency in every step relies on the correct requirements-analysis. when everything is modelled quite well and freezed to be implemented the implementation itself is not that complex anymore ... such projects typically are ones that rise and fall with its pre-steps that often are too bad prepared. for such a project you would need analysis of the use-cases and usability, you would need this twice ... for the pocket pc version again ... because just to say it should be abbreviated isn't enough ... may be there are other usecases that require another behaviour ... could the pocket pcs use an online-connection? so that just one application (webapplication ) could be enough? has the software requirements regarding the integration with current systems you already have up and running? may be not yet, but in the future? etc. ... so analysis is certainly the most important thing here. this goes for all projects but certainly some projects are more clear for everyone then others ... and what you describe is quite business-(domain)-specific and so it may be that you need different developers. an analyst that may create a model that a programmer might understand and could implement ... or a programmer that might be able to understand your requirements - creates a model from it so that later on another programmer might understand what he has done etc. ... who should maintain the program, underlying data ... do you need maintainance interfaces to easyly put in or drop new/old rules? ... how long do you need support and what should be the costs of that? ... do you need emergency support? ...

as you see there are much more questions to ask and answer yourself first :) because every question you ask too late will cost you money ;) ... the more you have prepared or are able to prepare for yourself in a suitable time ... the more you could save and vice versa ...

kind regards

PS: ahhh ... and don't forget to search for a 'just buy' solution ... may be there is software out there that would do what you need ... or even do most what you need and you should compare it with what you would get out of a custom solution that would probably would cost you more than buying an existing one. so the missing features and the related costs to not having them should be more than having them implemented by someone. may be you just need some software to work with that ... some smaller and cheaper adaptions around the software you might buy?
Oct 4 '08 #3
5,000 Recognized Expert Expert
Damaged by wall of text!! Lose 4 hit points!
Oct 6 '08 #4
3 New Member
If you'd like to contact me offline, I may be able to help you with some aspects of it. But as was mentioned before, this seems to be a very complex project.

Just a suggestion, if you haven't done this already, you should put together a functional requirements document from the business' perspective which describes the application, the requirements, business rules, the various functions of the application, etc. It would be at a higher level than the detailed design you're post describes. This will help identify what resources you may need, develop timelines, define specific deliverables, etc.

I know from personal experience, without clearly defined requirements and design, especially with a project like the one you describe, it's very difficult to deliver a finished product because there would be something else to add, tweak, etc.

Hope that helps...

Thanks, Ed.
Oct 6 '08 #5
3 New Member
Another suggestion would be to see what's already out there. There may be an off the shelf product that the company could purchase, a freeware product, etc.

They may not have all of the specific functionality you want, but it may get you pretty close....

Thanks, Ed.
Oct 6 '08 #6
5,390 Recognized Expert Moderator Expert
Damaged by wall of text!! Lose 4 hit points!
me too ... but i just took my last health-potion ;)
Oct 6 '08 #7
Luis Pereira
1 New Member
Yes, it is HARD...

That is my project for almost 3 years. The problem is not how to do that. The problem are the minimals of all it takes.

The next images give you a perspective of how it works, even in portuguese, but you can understand that for now multilanguage is not something I'm thinking about.

Here can see the database management, it is easy to work with, and the result works great...


Next, the generator of forms. More hard to work with, but in minutes I can create one module like the next...


This is the result... managing data in 2 tables of the database related. Invoice Client/Items purchased


This is another example, but now with the generation of a union and a view to generate the report for this item (cement).




This was done in php and mysql, and is based in php-nuke.
The final result must be management of all the information in an enterprise, ending in accounting :)

The problem, for me, is not the how to do that, the problem are all the minimals, like masks, field limits, print reports, pdfs and... tons.

As you can see, this is an aproach (server based) that has lots of advantages, the most, for me, is that users and developers can connect to the system via browser, and so with a PC, PDA, cellphone...

Will this finished someday? I supose I die first. This is not a projecto for one only.

PS. Sorry for my bad english.
Dec 25 '10 #8

Sign in to post your reply or Sign up for a free account.

Similar topics

by: Bo Peng | last post by:
Dear Python group: I am planning on an application that involves several complicated C++ classes. Basically, there will be one or two big data objects and some "action" objects that can act on the data. I would like to use a script language to control the interaction between these c++ objects. I become interested in Python since it can...
by: Agoston Bejo | last post by:
Hi, I'm having trouble with implementing some constraints on the database level. An example: --Table A(AID, BID ref. B.BID, ATXT) --Table B(BID, CID ref. C.CID) --Table C(CID) upon insertion into or updating in A I would like to force that ATXT is unique with respect to CID, i.e.
by: John Pedersen | last post by:
Hi, I have this table: CREATE TABLE `messages` ( `messageID` int(11) unsigned NOT NULL auto_increment, `threadID` int(11) unsigned, `fromUserName` varchar(50) default NULL, `toUserName` varchar(50) default NULL, `subject` varchar(255) default NULL,
by: jshanman | last post by:
I am writing a timeline that uses Google Maps. I have a function that converts a date time to latitude coords. This function is used to draw the markers on the timeline. I need a reverse function to convert a latitude coord back to an accurate date time. Then I could detect the day/hour in the viewport when the timeline is zoomed in or out,...
by: Matthew Crouch | last post by:
i suck so much that i don't even know if this is a JOIN or a subquery or who-knows what. Here's the idea: I want to select two things at the same time (form one table) average for columnX and average for columnX where columnY=Z so i started of course with select avg(columnX) as avg1, avg(columnX) as avg2 from table where columnY=Z
by: Jaaz | last post by:
Essentially I'm constructing a database to track a lot of data. Part of this included a running history table that is linked to data outside the table. On the main form I used, I've hit a snag. I want to be able to show on the form if the company entered (each w/different ID tag) and the table holding info regarding licenses (linked through...
by: fAnSKyer/C# newbie | last post by:
I want use C# or even C++, C to do some complicated math works, like calculaus~~ I wander if C# provide any complicated math package, like MATLAB Thanks a lot Cheers fAnS
by: CoreyWhite | last post by:
So I'm reading books about perl, which may not be quite as powerful as C++ but at least has more power than C & is very easy to learn from the manuals. I'm also buying books on C++, and books about algorithms for C. It isn't easy to learn it though, and I have been trying to learn unix, linux, and C++ since day 1. Even when I first turned...
by: MarkNeumann | last post by:
I'm coming from a Corel paradox background and moving into an Access environment. So I'm struggling with something that I think is probably way simpler than I'm making it out to be. Access 2007 WindowsXP SP2 What I have is a table in a subform that tracks dollars spent per project There is sub sub form that breaks down each dollar amount...
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.