Getting Traction
In July, I showed the nearly feature-complete version of a project I’ve been tentatively called "iSelf". In August I managed to get all of the components you saw on the breadboard stuffed into a wearable case:
In the last full week of August, I took iSelf out for the first official test drive – wearing it on my belt while I was at work, and then downloaded the data in the evenings. About halfway through that week, though, I found that the download application I wrote wasn’t always able to finish correctly. In fact, there were times it wouldn’t even start downloading correctly. On those nights, I opened the case, popped the micro SD card out, and manually pulled the data off.
What I thought was a minor glitch turned into three solid weeks of troubleshooting, debugging, and refinement of both iSelf’s onboard program as well as the app I wrote to download the data. I finally got everything working this past Wednesday, so on Thursday the 17th I again wore it to work.
Everything was proceeding normally until it stopped recording about mid-day. I tried rebooting it several times, again thinking it was just a glitch. Nothing worked.
Between Thursday night and last night, I wrote a suite of diagnostic programs, testing each component until I found the problem. As it turns out, I had two. The micro SD card logger, OpenLog, stopped responding correctly to the initialization routine I wrote. I found through trial and error that it would still accept data in "write" mode, and would accept commands in "command" mode, so I modified the initialization routine to work around this issue.
Then I tested the BMP085 temperature/pressure sensor. I found it wasn’t sending any data any more, even after a reset.
With all of the components soldered onto the motherboard now, it was going to be extremely difficult to replace those components. Starting over from scratch would mean buying replacements for the Arduino Micro, the PowerBoost, the OpenLog, and a temperature/pressure sensor. It would mean at least another 10 hours of work to cut out new pieces of protoboard, and solder everything together again.
I left things last night depressed and a little angry. I had just gotten it working, after weeks of solving problem after problem, and had collected four hours of real data – only to have it fail. This project was 9 months of work – after my day job is done, after the house chores are done, after my kids are in bed.
9 months – lost.
***
Well – perhaps not completely lost.
I’m reminded of the story of a Foursquare-like check-in startup called "Burbn". In 2010, the founders got together to talk about its future. Burbn was having problems getting traction – problems of the sort that would shutter them permanently if they didn’t do something. They took a hard look at what they had built so far, and found that one particular piece of their service was actually being well-received. They decided to focus on that one piece and let the rest die. Years later, their photo-sharing application – called Instagram – was sold to Mark Zuckerberg for $1 billion.
One of the components I built for iSelf was a twice-an-hour survey that I give myself. This survey collects a number of data points about my mental or physiological state, or other topics that would be difficult to collect any other way:
This application has consistently worked well, and as a result I now have nearly 2 full months of data from it. I’m still collecting 11 different data points from it every day. Hmm…
After 8 hours of relatively good sleep last night, I remembered what my focus in this project really was: finding things that contribute to my headaches. The focus was not "to build a wearable". The analogy between Burbn and iSelf is clear – focus on what I’m getting traction with. (And if the analogy extends to me selling this down the road for a billion dollars – hey, all the better.)
My next task, then, is to get the raw data I’ve been collecting from the survey into a system where I can start formulating questions. Stay tuned.
September 20, 2015 - Posted by markegilbert | Embedded/Wearable, Science
Sorry, the comment form is closed at this time.
About
I am the Director of Application Development at Arbor Financial Credit Union. When I’m not in front of a computer screen, I can be found either learning the guitar, or at the whim of my two spunky daughters and my beautiful wife. Follow me on Twitter @NessoAsks. The opinions expressed here are my own.
RSS Feed
Follow me on Twitter
My Tweets
Creative Commons License
Try Catch Finally by Mark E. Gilbert is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
All other content in Mark Gilbert's Blog by Mark E. Gilbert is licensed under a Creative Commons Attribution 3.0 Unported License.Archives
Categories
- Agile
- ASP.NET MVC
- Castle ActiveRecord
- Contributing Post
- Embedded/Wearable
- Engineering
- F#
- Game – Algebra
- General
- Guest Post
- Kalamazoo X Conference
- Maker Life
- MDSM
- Microsoft Kinect
- MOSS
- Nesso
- Oracle
- Parodied Lines
- Podcast
- Powershell
- Raspberry Pi
- Science
- Software Process
- Speaking
- SQL Server
- Stratoballoon
- Tools and Toys
- Try Catch Finally
- Unity
- Visual Studio/.NET
- Web API
- Windows 7
- WPF/Silverlight
- You should totally write that!