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:
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: