Hey everyone, thanks for all of the support and for bearing with me on the rough edges. This is a passion project and I'm basically solo still, so all of your input makes a difference and will be honored. I'm an open book and you're all invited to participate in this process. What I'm doing is opening up a previously underserved area of Biofeedback and widely-applicable medical and fitness devices (the "poor man's fMRI" as Hershel Toomim called it), and I'm hoping to establish some kind of manufacturing for affordable devices. I want to see something that's $20-$50 on the market that's fully featured with tech no less than 3 years old (as that is currently very possible), since you can get an equivalent pulse oximeter for the same price or less. I don't really have a team for my specific goals in this space of providing dirt-cheap hardware and free software, so instead I'm working mutually with other businesses (right now my only competitors technically, but instead we're friends) while strictly pushing the open source model of my work for the most obvious and streamlined forms of this technology (i.e. the most massively applicable ones). This means others are free to iterate or make business on what I'm doing here while we help each other rise up and stay motivated. I have to work systematically and carefully to build this ship and make it sail, but it's gonna happen. This strategy has allowed me to work with next to nothing in terms of budget or even possessions and dedicate my life to learning and finding my way into the different related fields here for the better part of 2 years now. I wouldn't do anything else at this point.
I hope to end up with an organization that can expand this ethic into more areas, and do it co-operatively so we can get away from the vertically-integrated for-profit medical market (and all kinds of other snidely practices in the software and tech world used to turn a buck) while still properly incentivizing everyone involved. It's really pretty easy to do, the hard part is finding people with the integrity and the skills required to make it soar, and then the resources to support them due to how much energy this takes. I'm going at it from all angles with grant applications, looking for angel investors, the open hardware I am selling now, etc. I have a lot of people I can't thank enough for the support they've given me already, but I'm going to need a lot to take this into the next phases. I'll keep you all posted, it's all moving. :-)
So that's out of the way, let's talk timeline. You've all hopefully noticed by the big Alpha word pasted everywhere that we are in early development. We've published usable tools that get the job done though still need quite a bit of attention to detail so there's no place users can get frustrated or confused - or worst case, not get the brain training that this thing is meant to facilitate. A short timeline for what I'm hoping to accomplish over the coming weeks:
This month:
- Documenting everything, better formatted instructions + how-to videos.
- Tooltips and better navigation in the web software.
- Integrating a text scroll feedback mode as per request from Stephanie DuPont of BILA (already done, I just need to add some visual flare).
- Chrome app demonstration to add USB support for the webapp. Figure out easiest iOS support method (maybe a Nativescript package for the webview app)
By Mid-April:
- Demo a story-guided training method by Ben Hale that uses a derivative of the ratio.
- Show off website integration of the webapp, where you will be able to access the device directly from the site and upload data automatically.
- More aesthetic updates for the web interface
By end of April:
- More streamlining for the user experience. I need to find the best way to get users to connect their devices to their main networks without getting lost/confused. Might require a separate app, unless the community is fine learning some new tricks.
- General polish, I will hopefully be demonstrating the new hardware before May, which will allow much more interesting feedback.
May onward:
- Build a team
- Build a final product
- Do some good for others.
And again I'm all open to suggestions or if you want to lend a hand or get involved in a bigger way. I'd like to be able to drop some clinical grade work on you all in short time, stuff I can provide free that looks professional and more to modern taste. I'm working with formal research notes and protocols to make sure it's something that a professional would get good use out of without over-complicating anything on the surface. I am working from the perspective of a game developer in terms of how to deliver a great user experience, so expect to see this all evolve significantly. I hope by the end I can give you something truly unique that dignifies what I believe is a powerful tool with a powerful message. We'll see how far I can get!
Quick update on what's happening:
I'm polishing up the firmware code so it's more easy to follow and I'm cleaning some stuff up like the BLE output format and some of the debug info, then I'll produce better documentation on that. We're retouching all of the CSS and menus for a frozen Alpha release build, so I can make it more accessible outside of Github. Our new friend and partner Jason Vargas, (Master's in EE with specialization in Digital Signal Processing) is giving us some much needed expertise for the hardware debugging and design, so we look forward to sharing more news there too. I'm dragging my feet on the videos, I'm about to assemble a buttload of HEGs though so that will give me enough content to make a good how-to video. We've got a lot on our plate and we're balancing it with all of the networking and outreach we're doing, so I'm not quite at the pace I want to be with development, while things are still going pretty fast so I can't complain too much as long as you're all happy with the progress so far.
3/24/20
Bluetooth Serial support reintroduced. I had it commented out as I was worried about memory issues but turns out the BLE and BTSerial modes share the same libraries so it's a minor increase in footprint, still leaves me about 150KB (or a few thousand more lines of code) for more software, not bad! Some other minor fixes, plus I'm working on a new Video feedback mode based off some explorations by my partner Ben in how to encourage affective changes in the user by slowing the video at certain thresholds in your score. The more I think about it, the more I realize I could probably find direct links between certain cinematography and audio techniques and certain physiological responses - or at least find some hyper-relaxing stuff. There are standard techniques for this for focus-group testing and other (imo creepy) market research techniques but it seems obvious it would also be interesting in a therapeutic context given the right conditions and content - y'know, not doing the weird Big Brother mind-control stuff. Watch Century of the Self and The Trap by Adam Curtis (BBC) for context.
Toggle Bluetooth Serial with 'B'. Lower-case 'b' toggles BLE mode which requires some programming to take advantage of.
It can be accessed by the Chrome Extension as a serial port once you pair with it on your computer. So support is all ready to go!
Also turns out the graph lag was just me fooling myself by using a chip without a sensor, so it was filtering out "bad" data. Science!
Also the earth spinning sim is improving, now with textures and some color on the sunrise/sunset. I have a bunch of other 3D visuals planned, stuff I've always wanted to do but never had a good enough reason to sink the time into till now :-)
That was pretty easy! Got Serial USB support into the chrome extension version of my software. That means I should be able to add support for all kinds of other things if I really wanted to, but otherwise it's just a simpler way to connect your device and have the software accessible from your desktop.
However, there are some performance improvements I need to make as the graph is laggy via USB for whatever reason, I suspect due to too many event listeners so I just have to make some minor optimizations. The visuals are fine, oddly enough, even on the threeJS module that you'd think would eat performance alive.
I'll announce updates here too for now till this gets bloated. I recommend simply subscribing to the Github repo though I'm not sure how many notifications you'll get sometimes when I'm at it tweaking everything.
3/20/20
Today I pushed an update which fixes the remote streaming capabilities with the EventSource stream, meaning if you open up webDemo.html locally, connect to your HEG (or connect it online), enter the IP address via the "Data" menu (or just press Connect for the default address), you will be connected to your device - remotely! This means you can connect anywhere in the world technically with SSH. I think this has some great potential. Apparently Alaska pioneered telemedicine (for obvious reasons), so maybe this can add to the legacy as it improves.
Also, I created initial chrome extension support. This will very shortly enable USB connectivity to my Web UI via your browser. It turns out Microsoft Edge Beta also supports these extensions now, and the web demo in general, unlike the older versions.
Also added a Text Reader feedback mode as per request of Stephanie DuPont at BILA. It needs a lot of work but the proof of concept is there based off of what I talked about with her. You just paste a blurb and it scrolls across the page, and you control the velocity with the score.
What else, well I'm just cleaning everything up as I go along, it takes small leaps to add a lot of power to the UI, it just takes me a while to figure stuff out as I've learned most of the coding from scratch to accomplish this, but with some good training in hierarchical programming and reasoning (i.e. game engines) to be able to muddle through. I also separated the web demo html and put it into the More folder on my repository so it's more easily accessible since it's much more useful now on its own. That folder is starting to get pretty big with fun stuff :-)