Page 1 of 1

Can a 3rd party create my runtime app?

PostPosted: Fri Aug 21, 2009 6:17 pm
by BrianY
I'm about to dive into developing a Blackberry application that I'd like to distribute with the HanDBase runtime tool. However, before investing several hundreds of dollars into the runtime tool, I'd like to see how it works. Can I hire a 3rd party developer to create my runtime version after I build the database app? Or is there some restriction that would preclude my hiring someone to do that?

Thanks,

Brian

Re: Can a 3rd party create my runtime app?

PostPosted: Mon Aug 24, 2009 9:06 am
by dhaupert
BrianY wrote:I'm about to dive into developing a Blackberry application that I'd like to distribute with the HanDBase runtime tool. However, before investing several hundreds of dollars into the runtime tool, I'd like to see how it works. Can I hire a 3rd party developer to create my runtime version after I build the database app? Or is there some restriction that would preclude my hiring someone to do that?

Thanks,

Brian


Hi Brian,

Good question. The biggest obstacle is that our runtime tool does not have a BlackBerry option at this time. We have options for:
Palm OS
Windows Mobile Classic/Professional (ie, Pocket PC)
Windows Desktop

The two most requested additions to this are iPhone and BlackBerry. Unfortunately neither are likely prospects. Here's why:

iPhone:
All apps must be submitted, sold/distributed through the iPhone App Store. This involves a process of signing your source code with special developer keys from Apple, meaning we can't make any sort of turn key web site version.

BlackBerry:
Because of it's lack of a file system for it's internal program memory, databases are actually translated via the conduit from the native PDB format to the SQL based system on the BlackBerry. Even the built in sample apps are created programmatically via database transaction statements. Because of this, we have no way to bundle specific databases except through manual coding of these databases.

In both cases however, we can build customized versions of HanDBase that contain your databases and changes you need to make it behave in the runtime-limited manner most customers desire. But these are something we must do in house and as a custom quoted project because of the unknown factors.

In regards to having someone else manage/build your runtime for you for the platforms we do support, there is no issue there. We have several customers doing just that!

Re: Can a 3rd party create my runtime app?

PostPosted: Mon Aug 24, 2009 11:59 am
by KenSmith
Rather than start a new thread, can I extend this further with a related question?

I'm looking at the mobile deployment of a database application - designed for a highly mobile workforce. Since the users are self-employed they have the freedom to choose their own mobile handsets. I don't wish to unnecessarily constrain their choice since it would reduce the potential user base. So I wish to be as "platform agnostic" as possible within the technical constraints while have (hopefully) a single development activity. How might that be best achieved?

The intention is to have a central database hosted in a data center and accessible primarily by mobile wireless (3G/UMTS or GPRS) when out on the road and possibly by WiFi when in a building. One attaction of HanDBase is that it enables updates even when there is no wireless signal. With other web solutions requiring permanent connectivity this would be impossible since loss of connectivity would prohibit updates until there was sufficient and consistent signal to permit the stable connection to complete the task. We don't want to deal with all sorts of problems with two phase commit and rollbacks and repeated attempts to complete transactions.

I see there is a need to for a login facility for each individual user that would then restrict the user to access only "his" rows in the MySQL tables – “his” rows being presented by a VIEW or generated by a CREATE TABLE.. WHERE... The user would then get to see the appropriate subset of "his" database records delivered to his handset and then be able to update appropriate rows (probably from multiple tables) on his handset and have them submitted wirelessly to the centralised database. I am trying to fully reconcile how this actually works.

From what I have read it appears to use a file created from the central database and is synced on the handset and later taken from the handset and synced with the central database. Does the solution permit the sync precedence according to the time of update of the rows?

We're at the point of being ready to create the database tables but we need to completely understand the mechanisms available before finalising the design.

Secondary to this is the need to create forms to enable the users to provision the users' clients on the system. In this case accessing and updating the underlying tables that are already in place - in existing products - and will have to be left exactly as they are.

I understand there are alternative Windows Mobile only solutions but I would prefer the greater flexibility of the widest choice of handsets (e.g. Windows Mobile, Symbian, Palm, iPhone, Blackberry, Android - and eventually Linux - as well as Windows or Mac desktops/laptops) which HanDBase offers.

I look forward to your thoughts and explanations. I’m happy to take this offline if required though we’ll have to use PMs on the forum since previous emails didn’t make it past your email server for some reason.

Re: Can a 3rd party create my runtime app?

PostPosted: Tue Aug 25, 2009 10:47 am
by dhaupert
Hi Ken,

Thanks for your post. First off, what did you mean about the emails you've sent being rejected? Are you getting bounce messages when you email us?

In regards to your questions, we've tried our best to support many of the popular platforms out there for HanDBase, as opposed to focusing solely on one platform. That has been a very wearisome process, and gets harder as more and more platforms are released. But it's a key feature of using HanDBase as a platform. Letting users choose the devices that they would most like to use and yet all still being able to use HanDBase on those devices is a key goal of our company.

When comparing HanDBase to some other platforms, particularly those which are online/thin clients to a server back end, it can be confusing as the paradigm is quite different. While you are correct that HanDBase is an offline database such that a connection is not needed, please note that when a connection is there, HanDBase does not sync to the server. It always works through the local desktop to connect to servers. Hope that is not a problem for the way you planned on setting this up. It's just part of the legacy of HanDBase being on these devices before there were prevalent wireless connections on them. We have done some versions that sync right from the device to a proprietary server for some enterprise clients, and if there is an interest we can certainly look into this with you.

I see there is a need to for a login facility for each individual user that would then restrict the user to access only "his" rows in the MySQL tables – “his” rows being presented by a VIEW or generated by a CREATE TABLE.. WHERE... The user would then get to see the appropriate subset of "his" database records delivered to his handset and then be able to update appropriate rows (probably from multiple tables) on his handset and have them submitted wirelessly to the centralised database. I am trying to fully reconcile how this actually works.

From what I have read it appears to use a file created from the central database and is synced on the handset and later taken from the handset and synced with the central database. Does the solution permit the sync precedence according to the time of update of the rows?


As I mentioned above syncing wirelessly to a server is not really part of the paradigm of the current shipping HanDBase products. It's something we've given lots of thought and done projects with enterprise customers for, but not something we ship a la carte.

Records in HanDBase have a record header which keeps track of the last modification date/time among other things. So yes, in those cases, the newest record wins during a sync. This is record level synchronization, not field level, so that's important to keep in mind!

Feel free to email or PM me with any futher questions. I hope this helps.