A moral dilemma

IanMc

Well-Known Member
Licensed User
Longtime User
I am creating an app that will be able to control and be controlled by a microcontroller device with a bluetooth serial interface, isn't everyone :)

Arduino, Raspberry Pi, PIC or any other uController that a BT serial module or shield can be attached to.

My whole entire thoughts all the time about this app has been to give the developer of the device as many functions as I can think of to give them the freedom to develop amazing devices that can do amazing things.

(and to make me lots of money but that is secondary ;) )

B4A makes it easy for us to add features such as SMS so for example the uController device might send the string:
sms 1234567890 The current temperature of your den is 16 degrees celcius

whereby having received this string my software would send an sms to that telephone number with the body of the message being everything after the number. So that's an outgoing SMS function

And then I thought I could also have the function for incoming SMS text messages whereby the user sets a 'header' in the settings part of my software, the header could also be thought of as a password so for example they might set the string 'BTI' and I can program an SMS listener function to run in the background, then the user could have his spare android phone permanently connected to his uController device over the bluetooth serial link and connected to a charger, then whenever this phone receives a text message that begins with BTI (or whatever else he's set to be the header) it sends the rest of the message to the uController.

This could be a really handy function for home automation for example, the user sends the text message:
BTI coffeemaker on
and my software sends the string:
coffeemaker on
to the uController device which then turns the coffeemaker on via a relay.
The uController device might then be programmed to send a text message back:

'The coffee maker has been turned on'

for confirmation.

This is just a simple example but it doesn't take much imagination to see how this could take off to be quite a sophisticated home automation system.

Here's my dilemma

I have no control over what this could be used for and it might be used to turn something nasty on, if you know what I mean.

I thought I was being so clever, 'remotely control your remote controlled device' etc. but with just bluetooth then the turning on of things nasty or otherwise would have to happen within the range of the bluetooth device so turning anything nasty on would pose a greater risk for the 'turner-onner' but with the ability to turn something on using SMS the user could be anywhere.

So my dilemma is, should I include this function knowing that it is beyond my control as to whether it is or isn't used for nefarious purposes?

The arguments so far that I have thought of include:

1) There are already apps that can remotely control things via SMS.

2) If I ever found out that my software was used to do something nasty how would that make me feel?

3) What if I made that particular function only available in the paid app, then there might at least be some kind of electronic paper trail that might be used to trace any eventual perpetrators?

4) it is a tremendous function to include that might cause more people to purchase my software.

5) am I leaving myself open to litigation should this function be used for any kind of wrongdoing?

What do you think?

At the moment, I am leaning towards not including this function but I would love to hear others opinions please.

It seems that with B4A's great power comes great responsibilty.

:sign0148:
 
Last edited:

barx

Well-Known Member
Licensed User
Longtime User
So, your thinking terrorists could use your app and fire rockets from a remote location and start world war 3?

Or that a arsonist could use it to trigger a previously planted device of dangerous intent and, for example, start a fire??

lol, only kidding. Add the feature I say. There are already many devices out there that can switch relays from gms/sms signals. I wouldn't worry about it too much.

If your still unsure, then add a disclaimer stating that you are not responsible for the users actions of violence and destruction, etc.
 

IanMc

Well-Known Member
Licensed User
Longtime User
Good comments

Ah, good advice Barx, thanks.

Actually you thought of a couple more bad things that might be done with it than I'd thought of :)

The disclaimer idea is a good one, this is what I have so far: (any ideas on improvements to the disclaimer is much appreciated as I suspect it might not be professional enough)

While every effort has been made by the developer to insure that BTInterface works reliably and without problems yet such a complex application as BTInterface precludes total control of its usage or methods of employment.

For example it is conceivable that either through a mistake in programming by the developer of a microcontroller device and/or through a system crash or even programmed on purpose by the developer of a microcontroller device that it might be possible to cause BTInterface to become stuck in a loop and if this loop involved the sending of SMS messages then it is further conceivable that many SMS messages might be sent before the user was able to stop BTInterface from sending and/or a malicious developer of microcontroller devices might cause SMS messages to be sent to chargeable numbers the net result being that the user is left with a large phone bill.

Other conceivable nasties include the use of BTInterface to control something malicious.

All of these possibilities are totally beyond the control of the developer of BTInterface.

It is vitally important for any users of the BTInterface software in any of its guises to acknowledge that the developers can take no responsibility whatsoever for any misuse of the software or any mistakes or malicious programming that causes the user to be billed excessively.

BTInterface is developed in good faith to allow developers using microcontroller devices the possibility of making amazing machines that can be controlled wirelessly.

There are many other bluetooth controller applications out there however BTInterface strives to do it better.

The developers will not be held responsible for any misuse or mistakes of the BTInterface software WHATSOEVER and will not be paying anyone’s phone bills.

The use of the BTInterface software is an intrinsic and implicit acknowledgement of this disclaimer.
 
Top