Create an app to collect meter readings

This forum is for application developers who are integrating HanDBase into their solutions via the HanDBase API (HAPI) or other means. It's also a great place to discuss runtime development.

Create an app to collect meter readings

Postby CCSEB32 » Mon Nov 18, 2013 1:43 pm

I have several customers using my EasyBill32 utility billing software that would like to have an app on their smartphone that will allow them to retrieve a .csv file from their Windows computer (created by EasyBill32) containing a small portion of their utility customer data into which they can key new meter readings and short comments. This app will need to calculate the new resultant usage in order to warn of a potential misread. They might also like to have gps data automatically updated as they enter the readings, but this is not a requirement.

Then, they want to export this update .csv file back to their Windows computer and process the new readings and comments with EasyBill32.

I already have EasyBill32 interfaces for many automated meter reading systems. I would like to add a smartphone interface for those that cannot afford the very expensive radio read and touch read systems. I do not want to have to try to create my own smartphone app to do this. Will your product make this possible.

Thanks for your upcoming response.

David Carraway
Owner/Software Developer
Carraway Computer Systems LLC
CCSEB32
 
Posts: 4
Joined: Mon Nov 18, 2013 1:28 pm

Re: Create an app to collect meter readings

Postby Brian_Houghton » Mon Nov 18, 2013 4:00 pm

Hello,

Thanks for writing. We appreciate your interest in HanDBase.

Differing versions of HanDBase support the features you are after, with the Android offering allowing for CSV import / export on the device and the iPhone/iPad version supporting import / export using a computer based web interface.

The iPhone / iPad versions support GPS logging while the Android version does not at this time.

Each of your users would need their own copy of HanDBase for their respective device. They could each use the same set of database files, however.

Please let us know any additional questions you may have.

Sent from my Nexus 7 using Tapatalk HD
Kind Regards,
Brian Houghton, DDH Software
Brian_Houghton
 
Posts: 2246
Joined: Wed May 20, 2009 8:30 am

Re: Create an app to collect meter readings

Postby CCSEB32 » Tue Nov 19, 2013 9:09 am

Thanks Brian. It would be no problem to offer two sets of features, depending on the type of smartphone OS my customer would want to use.

So, having not had time to research your product, I need to ask a couple of questions:

(1) It appears that all I need is HanDBase to develop my own type of data collection app. Can I install HanDBase on my Windows computer to develop my app structure and functionality? I understand that I would have to purchase a separate license for each smartphone, which, owning a software company myself, I fully understand.

(2) Your statement referring to the common database indicates to me that the smartphone app structure and functionality will be contained within the database itself rather than within the HanDBase software, and that the HanDBase synchronization process can be used to update the data contained within the database file without affecting the app structure and functionality. All that I would need to develop would be a database template file with the app structure and functionality along with an empty data table. Is this a correct assumption?
CCSEB32
 
Posts: 4
Joined: Mon Nov 18, 2013 1:28 pm

Re: Create an app to collect meter readings

Postby mjhanna » Tue Nov 19, 2013 12:37 pm

Hi, David,

As a long-time software developer, but as simply a new user of HanDBase I can provide an unofficial confirmation of most of your assumptions.
CCSEB32 wrote:(1) It appears that all I need is HanDBase to develop my own type of data collection app. Can I install HanDBase on my Windows computer to develop my app structure and functionality?
Yes, but the Windows version is a separate purchased product.
(2) Your statement referring to the common database indicates to me that the smartphone app structure and functionality will be contained within the database itself rather than within the HanDBase software...
Exactly. Everything is contained within the HanDBase database files. With the exception of features available on some mobile platforms and not others, these files are mobile platform independent.
The HanDBase synchronization process can be used to update the data contained within the database file without affecting the app structure and functionality.
All three (the data, the app structure, and functionality of the database) are contained in the database file. So if any of these three are changed, those changes will synchronize.
All that I would need to develop would be a database template file with the app structure and functionality along with an empty data table.
Yes, but... They will need to do the extract from and merge into your EasyBill32 separately. There are options for the sync between a database on Windows and a mobile to cause the two versions to be identical, or to specify one version to override the other. If I understand you correctly, you would distribute a data-less database to your users, but those users would need to first propagate it with some portion of their EasyBill32 data before going out in the field?

To prepare for the next field trip, they would export a portion of EasyBill32 as a .CSV file. Now they import that into the defined HanDBase database on Windows.

I have not tried HanDBase import/export myself, but the manual identifies three import options: [Into New Database - Create a new database to import to. Replacing Records - Replace the existing records in the current database. Appending Records - Append the new records on to the records already existing in the current database.] I think? the second would be appropriate to retain all the functionality but simply introduce the data into the pre-defined database to be sync'd to the mobile. As there is also an Import option to recognize the Field Names as the first line of the .CSV file, using such files with identical Field Names in both EasyBill32 and HanDBase should make the import/export easier.

For this first sync the option would then be to have the Windows version override/replace the mobile version. Then after they enter data, the subsequent sync would choose the option to have the mobile database, with data, to override/replace the Windows version. That data now can be exported as .CSV by HanDBase on Windows using the option to create a first line with Field Names. They then would import/merge that data into EasyBill32 for your programmatic processing. Now they would start all over by exporting a new .CSV file from EasyBill32 for the next field trip.

I think? this will do what you desire. (I presume one of the official HanDBase people will correct any errors I may have made or issues I may have left out.) Hope this gives you ideas,
Michael
(Only a user and not affiliated with DDH Software, but working with computer databases for over fifty years.)
mjhanna
 
Posts: 156
Joined: Tue Oct 15, 2013 10:56 am
Location: New Mexico

Re: Create an app to collect meter readings

Postby mjhanna » Tue Nov 19, 2013 12:52 pm

One point I realize I left out, because I have and use both the mobile and Windows versions of HanDBase. The HanDBase Import/Export to .CSV files functions exist in the mobile versions. So if it makes sense, those actions could be done on the mobiles and not on Windows. While this would eliminate the requirement for your users to have/purchase the HanDBase Windows version, it would require identifying a separate process to move those .CSV files between the mobiles and the computer that has EasyBill32 instead of simply syncing the HanDBase database. Either method should work. Some users may want to have the Windows version of HanDBase with its ease of syncing and to look-at, verify, validate their data entry in the form seen by the mobiles. Others may not wish to have that added expense and be happy with simply moving the .CSV files.

Hope this makes things clearer,
Michael
(Only a user and not affiliated with DDH Software, but working with computer databases for over fifty years.)
mjhanna
 
Posts: 156
Joined: Tue Oct 15, 2013 10:56 am
Location: New Mexico

Re: Create an app to collect meter readings

Postby CCSEB32 » Tue Nov 19, 2013 6:14 pm

You have described exactly what I am wanting to do. EasyBill32 will create a .csv file on the computer hd for the smartphone to import from the computer, hopefully via wifi or usb. Then, HanDBase will convert the data from the .csv file, replacing all records that were in the smartphone HanDBase file prior to the import. The user will then enter data into the newly populated data base. When all of the data has been updated, the user will convert data from the HanDBase file back to a new .csv file and export it back to the computer, again via wifi or usb. Finally, EasyBill32 will process the .csv file. It doesn't matter to me which device handles the upload/download process.

I also like the concept of simply syncing the databases, but I am not sure if these customers will want to spend any more money for that if I provide that functionality within the smartphone app.

Now, I will need to determine the cost for the best configuration for me, and for my customers. Since I do not intend to sell smartphones, I would rather not sell them HanDBase either. I prefer to have them purchase both products directly from the respective vendors. All I want to provide is the HanDBase database template file with the necessary software programming and database structure.

Thanks again!
CCSEB32
 
Posts: 4
Joined: Mon Nov 18, 2013 1:28 pm

Re: Create an app to collect meter readings

Postby mjhanna » Tue Nov 19, 2013 8:04 pm

David,

I think you have it, but in case I was unclear...

As I understand it and use it, the HanDBase sync only goes between a database on both the computer and mobile. Thus to then export the .CSV file from a HanDBase database on the computer, the customer would need HanDBase on that computer. You appear not to prefer that. As far as I know HanDBase provides no sync or transfer mechanism that I can find for any other files than its databases, such as these .CSV files. (Although I could be overlooking some feature?) That is what I meant by a separate process.

So the mobile user, or some knowledgable clerk at the office, would have to use HanDBase on each mobile to first export the .CSV, and then move that file to the computer by some mechanism other than HanDBase. Whether that transfer is wifi or usb would depend upon what transfer mechanism they decided to use.

Then in reverse, the new .CSV file is created on the computer, and "somehow" transferred to the mobile, but not using HanDBase. Now someone can use HanDBase on the mobile to import that file into the database.

I hope this is clearer.
Michael
(Only a user and not affiliated with DDH Software, but working with computer databases for over fifty years.)
mjhanna
 
Posts: 156
Joined: Tue Oct 15, 2013 10:56 am
Location: New Mexico

Re: Create an app to collect meter readings

Postby CCSEB32 » Tue Nov 19, 2013 11:27 pm

I purchased the Windows computer version (Professional) and one Android version for my Note II and have started working on trying to create a form for the Note II. My first impression is that this is not as easy to handle as VB6 or VB2013.net, but it is more like the SDK I used for Windows Mobile 4, 5, etc by Symbian. I may just be too old and set in my ways to learn new tricks. ;) I have found that the mobile phones it references are old technology except for the iphone, but that may be due to not updating its user interface lately. Anyway, it may provide what I need for my present situation. I will have to figure out how to make one field (used) update to the mathematical difference between two other fields (Pres) - (Prev) and also will need some way to make the resultant (used) value be compared to a field containing the expected upper limit (High [floating]) and another field containing the expected lower limit (Low [floating]) so that it can warn the user if the new usage goes outside of that range. There are only three fields (Pres [floating]), (Tenants [integer]), and (MsgCodes [text]) to be updated by the user. All of the remaining codes are either just information to be displayed or hidden values to be updated when the new reading (Pres) is entered. One hidden field will automatically update to the date and time the new reading was entered. The lat and long fields (gps) should automatically update at the same time if the OS provides this kind of data.

Since EasyBill32 uses the Office 97 version of Access, a direct conversion will probably be the best way to get the data transferred. I did not know the prices when I mentioned that my customers would not be as likely to purchase the Windows computer version, but now that I know the prices, I don't think that price will stop any of them from purchasing it.

Thanks for your help. I will try to keep you posted on my progress.
CCSEB32
 
Posts: 4
Joined: Mon Nov 18, 2013 1:28 pm

Re: Create an app to collect meter readings

Postby mjhanna » Wed Nov 20, 2013 12:15 pm

First, for others who may read this thread, I did overlook a feature. (I said I was a new HanDBase user :oops: )

When you touch the Sync button on the mobile, the built-in HanDBase conduit displays a URL which may be visited by a browser on a computer on the same wifi network. One of the options shown on that resultant web page is the ability to transfer .CSV files. So neither a Windows copy of HanDBase nor some other software is required to transfer these files. (A really nice feature, and just one of many features I probably have not yet discovered.)
CCSEB32 wrote:I purchased the Windows computer version ... started working on trying to create a form for the Note II.
A good start using the standard input form, and hopefully Dave soon will release the add-on for Android for custom forms.
this is not as easy to handle as ... I may just be too old and set in my ways to learn new tricks.
Since I am undoubtedly older than you, you are not old enough :D as I have worked on so many different DB systems that nothing looks unfamiliar any more.
I have found that the mobile phones it references are old technology ...
The developer, Dave, has posted elsewhere that he recognizes the manuals have not kept pace with his upgrades. He has focused on improvements to the software and indicated that upgrading the manuals is on his near-term "to do" list.
I will have to figure out how to make one field (used) update to the mathematical difference between two other fields (Pres) - (Prev)
That is pretty easy. I suggest defining the field (Used) as a "Calculated" field type with result to the desired decimal places. Be sure to have the order of this field after both of the fields the computation depends upon (Prev and Pres). My example "Configure" formula below assumes that the default value of Pres might be empty (zero), Prev is Field 4 (F4), and Pres is Field 5 (F5).

(0 Max (F5 - F4))
will need some way to make the resultant (used) value be compared to a field containing the expected upper limit (High [floating]) and another field containing the expected lower limit (Low [floating]) so that it can warn the user if the new usage goes outside of that range.
The comparison is easy, but the warning may be a bit more tricky depending upon what you want to display. I presume you will define these as two "hidden" fields (High and Low) which have been propagated by your .CSV with the appropriate float values. I would then suggest a field to warn about each condition, of field type "Conditional", which could be defined as (e.g. TooHigh):
If Field: Used
Is: Greater Than
Field: High
Output is: No Field / WARNING
Else Output is: No Field / (blank)

While there may be a way (as above I may be overlooking a feature) I cannot seem to set the No Field static text output to greater than seven characters. One could get more clever by additional hidden static text fields in order to provide a longer message, and/or additional hidden fields based on these two Conditional fields to collapse the two possible warning messages into one field. But I will leave those as an exercise for the student. :lol:

As a final note, be sure to have one or both of your two other entry fields (Tenants [integer] and (MsgCodes [text]) in order after the Pres field, as the Used value will not be computed until you leave the Pres to enter some other field.

Hope this gives you ideas.
Michael
(Only a user and not affiliated with DDH Software, but working with computer databases for over fifty years.)
mjhanna
 
Posts: 156
Joined: Tue Oct 15, 2013 10:56 am
Location: New Mexico

Re: Create an app to collect meter readings

Postby Brian_Houghton » Thu Nov 21, 2013 10:13 am

mjhanna has been doing an excellent job of continuing to describe the features that will work.

Regarding custom forms for Android, these should be available in early December.

Regarding converting from Access to HanDBase, this can be done using Data Exchange for Access, which is a part of the Professional package. Documentation on it can be found at http://www.ddhsoftware.com/support.html This method is great for getting data into HanDBase format.

Desktop Connect is the method of using a web interface for uploading CSV files to HanDBase on the handheld.


Desktop Connect is a mini web-server mode that your device is placed in, allowing available HanDBase databases to be downloaded via a desktop web browser. The following is a quick overview of how to set it up:

Step One: On the handheld, enable a wifi network connection. Make sure that this is the same network that you are connected to the same network as your desktop computer. You can verify you have a working connection by browsing to a web page in the browser of your choice.

Step Two: Launch HanDBase on the iPhone / iPod Touch.

Step Three: On the database list screen, tap the icon resembling circular arrows. You should now see that the screen turns black and displays the text "Desktop Connect". It will also be displaying a URL in the format of:

http://xxx.xxx.xxx.xxx:8080

Make note of this URL.

Step Four: On the desktop computer, launch your web browser of choice (ie, Firefox, Internet Explorer, Safari, Chrome).

Step Five: In the address bar, enter the URL exactly as it is displayed on the handheld's Desktop Connect screen. It needs to be in the format of:

http://xxx.xxx.xxx.xxx:8080

You should now see a list of the databases that are available on the handheld. Below the database name, you will see icons representing the ability to download the database as a PDB file (HanDBase's native format) or a CSV (structured text) file.

Along the right side of the screen, you will also see options for uploading CSV files and existing HanDBase format databases to your handheld

Hope this helps!





Sent from my Nexus 7 using Tapatalk HD
Kind Regards,
Brian Houghton, DDH Software
Brian_Houghton
 
Posts: 2246
Joined: Wed May 20, 2009 8:30 am


Return to HanDBase - Developers

Who is online

Users browsing this forum: No registered users and 1 guest

cron