Helco / PLocalSim

The local simulator for your pebble applications
101 stars 18 forks source link

Suggestion: Read accelerometer data from File #36

Closed ron064 closed 10 years ago

ron064 commented 10 years ago

I suggest the flowing: Define folder withing the project for accelerometer data. (optionally sub-folder for each sampling rate.) The folder will contain CSV file in predefined format.

I have program that records as "x,y,z,time-stamp" , it's possible to include 0/1 for vibration flag if needed. If requested it's possible to improve the server PHP script it to send the file by email or any other method that someone is willing to write.

So the questions are:

  1. Is it a good idea?
  2. Is anyone is interested in implementing the supporting in it?
Helco commented 10 years ago

I think for most people (including me), it would be hard to create/edit such a file and there are a few questions left to be answered like:

ron064 commented 10 years ago

You don't need to edit such a file. I have an App that saves accelerometer data from Pebble watch to the web server(Acc-Log). I can make a version of it that the user will put his email in the settings. The script on the server can use the email address to send the file to the user. then the user can choose what files to put in the relevant directory in order to test his program with this input.

I included here is a bit of a test file I got today(first 2 sec) (numbers are divided by 8 but I can sent original data as well) Data structure is: x,y,z, first sample time-stamp(of 25), server receive time, internal info

51,-25,-117,1394084849,2014-03-06 07:06:32,Mix 49,-30,-117,1394084849 49,-30,-123,1394084849 50,-31,-119,1394084849 48,-30,-117,1394084849 48,-27,-121,1394084849 49,-28,-117,1394084849 47,-26,-115,1394084849 47,-27,-118,1394084849 47,-24,-119,1394084849 48,-25,-123,1394084849 49,-24,-115,1394084849 48,-25,-120,1394084849 48,-26,-118,1394084849 50,-25,-123,1394084849 49,-25,-119,1394084849 49,-26,-118,1394084849 50,-26,-119,1394084849 49,-24,-117,1394084849 50,-24,-118,1394084849 49,-24,-121,1394084849 49,-23,-117,1394084849 49,-24,-120,1394084849 48,-24,-116,1394084849 49,-23,-115,1394084849 51,-25,-117,1394084850,2014-03-06 07:06:35,Mix 49,-30,-117,1394084850 49,-30,-123,1394084850 50,-31,-119,1394084850 48,-30,-117,1394084850 48,-27,-121,1394084850 49,-28,-117,1394084850 47,-26,-115,1394084850 47,-27,-118,1394084850 47,-24,-119,1394084850 48,-25,-123,1394084850 49,-24,-115,1394084850 48,-25,-120,1394084850 48,-26,-118,1394084850 50,-25,-123,1394084850 49,-25,-119,1394084850 49,-26,-118,1394084850 50,-26,-119,1394084850 49,-24,-117,1394084850 50,-24,-118,1394084850 49,-24,-121,1394084850 49,-23,-117,1394084850 49,-24,-120,1394084850 48,-24,-116,1394084850 49,-23,-115,1394084850 49,-23,-121,1394084851,2014-03-06 07:06:37,Mix 49,-24,-117,1394084851

Data are not especially interesting, wrist was not moving much. hand is position horizontally (z show 1G toward down Z=~-1000/8), elbow is higher than the palm (positive x value) watch is tilted a bit toward the person(small negative Y)

Helco commented 10 years ago

But as I understand this, the user would need:

ron064 commented 10 years ago

Yes, except for webserver per user, we can use one web server that app will use. In addition, users can share their files with others. I don't think that anyone without Pebble will develop application for accelerometer. (unless he already have application for another device with accelerometer.)

No custom Android/iOS is needed for my App. otherwise I could store on user phone instead on server.

Helco commented 10 years ago

I'm sorry, integrating external sources for accelerometer samples (e.g. from the watch) is a good idea, but the way you suggesting is way too complicated for normal users, which then depend on too many: Custom applications on their devices, an internet connection, an account on (your) webserver, the additional devices, etc. If there fails one piece in this chain (e.g. a battery has to be charged) the development stops. In addition to that, the samples would have to be recorded a (long) time before the simulated run of an app

ron064 commented 10 years ago

I think you are looking for complications that are not there. take for example someone who wants to develop some gesture recognition feature in his app. having the ability to run on recorded data is a big advantage. He already have a pebble connected to his phone(and most phones have internet). All he have to do is:

  1. go to pebble app-store to download some app, and in the setting that pop up he put his email address
  2. record some gestures
  3. select file from his email to put in the relevant simulator directory.

Only once his application is more matured he will need to do live tests on the watch.

Yes there are complication for initial stage of putting it together, but once it's set up. it's simple enough for the user

Helco commented 10 years ago

But the watch, the smartphone, the internet connection (on the phone and on the computer), the email address etc. are more and more sources of complication whenever it comes to recording something, as well as the problems in setting it up, the need of another account and the created requirements on a software that shouldn't have these requirements (at the moment the only requirement besides the computer is a internet connection to download the software)

ron064 commented 10 years ago

My directory time-stamp exposes that it took couple of hours from the moment I extracted PebbleSim until I had sample project compiled. (mostly because of MinGW that original old ver and new version didn't work), so don't say it have no requirements and imply that you have no potential complications ;-)

This discussion is becoming ridicules but since it's fun I'll continue. hope you take it in a good spirit.

watch- exist, or why is the person interested in PebbleSim to begin with. Smartphone- Ditto (and already configured to work with the watch) email- Except for some kids that uses only facebook, all users have email account and most can access it from the computer they use. (you can't get the dev-env without email) Internet- there are no smartphones without internet connection(practically). and we agreed the user have one at least for his computer. I didn't understand what other account is needed.

beside, there are no requirements if you don't use this feature. some file can be added as default so you have some data. if someone will need to work with accelerometer on the simulator, the total bother is not much.

I guess the work to support this feature on PebbleSim sounds too much to bother with, and it's easier to keep it marked as unsolvable like you can't support configuration screen, app-msg etc. I think you need to play a bit with accelerometer related applications like Prespective by JNM to realize how cool it can be ;-)

Helco commented 10 years ago

You are right, of course somebody who wants to develop for the pebble with this simulator, has to install some software to develop local applications, but once installed, the simulator can operate without internet and without any external devices beside the PC. The user should have the ability to use all features without any further devices or accounts (E-Mail or an account on a webserver that saves motion) or the requirements that all these devices and the internet connection are available at the right moment. Besides that, the user has to have to choice to not install apps on his devices he actually wants to simulate, and the choice to not send his email address and motion data to some sort of foreign webserver. Without this chain of devices, internet, email, etc. the ability to load (prerecorded) data samples is too complicated to use for the most people, so before there isn't an option to get data from an alternative source, other features (like a better javascript sandbox, fewer bugs, fewer problems in setting the simulator up) are more important.