Skip to main content

App'ed programming

So I've built some cools stuff as a software engineer - applications with voice response, telephony and vision technology, web applications and GUI front-ends for medical devices. But I've had conversations outside of work where I've told people that I make software for a living and they excitedly say "Oh! Are you an App developer?" and then display the littlest bit of disappointment when I tell them I develop software for medical products- "oh well, that's nice too".

So in my efforts to make it into the big time, I'm delving into the world of apps. I recently became the proud owner of a Nexus 7 - since I'm way too cheap to pay for a Smartphone. This will, of course, affect my choice of platforms for my app. And as every designer, business analyst and marketer would point out, the platform doesn't matter. What you build is what matters. What problem gets solved, what human needs get fulfilled, what "niche gets scratched"? That's the key.

So, what to make? I've always got ideas, but I'd like something tractable, smallish, which will let me explore lot's of client-side tools and techniques and yes, which has some small kernel of need associated with it. And that I can run on my Nexus - and feel oh-so-cool!

Speaking of cool, my son has raced go-karts for the last 8 years. We've traveled around the northeast U.S. to races weekend after weekend and learned a lot in the process. And had some fun. And some success. And some disappointment.

It turns out, that even though a go kart looks simple, there are a lot of variables to play with to make them faster. Keeping track of all these variables is kind of a pain. Tire pressures, alignment, weight distribution and track width, just to name a few. Lot's of notes on paper and after awhile you develop setup sheets on paper to help organize your measurements and settings. But there's no easy way to search these notes, sort them, and all in all, they aren't as helpful as they could be.

I'm sure you know where I'm going with this. I want software to do this for me. I want it to be available on a smartphone, tablet or laptop because I might be home or at the track when I'm using it. It needs to work offline and online.

So, that's the direction I'm heading in. I think I've decided to do it with HTML5 - that can meet most of the criteria I've mentioned so far - multiplatform, online and offline - and it's all the technology I want to become expert in. Let's call it Winning Setups for now.

Comments

Popular posts from this blog

Unit Testing - What to Test

This I wrote to answer a question that came up when we were discussing our software process and I was training developers on how to unit test. It seems a simple enough question, but I kept pondering it and delving deeper until I realized I needed to write this monograph. What unit tests should we write? How do we know what to test? Ideally, unit tests should cover every path through the code. It should be your chance to see every path through your code works as expected and as needed. If you are practicing Test Driven Development then it's implied everything gets a test. In the real world, you might not be allowed to test everything - for instance, if the testing suite ends up taking a week to run, then the world will have changed by the time it finishes and the test results will be obsolete. Unit testing at it's basic is testing an object, a method - the smallest unit of your code that it can test independently. It should test the inputs "goes into" an...

JavaScript and JQuery Palettes...

I have been immersing myself in the world of d3js and more, specifically Plotly.js . This has required me to look at palettes, and to create some palettes - which I did with Paletton . I find it tedious, so I am creating some helpers, like the code below which displays a given list of palettes (each of which is simply an array of colors in your favorite format). <table id="Palette"> <tbody></tbody> </table> <script> var defaultColorsPalette = ["#ffd99a", "#225ea8", "#ffc09a", "#9dc4f4", "#ffbf58", "#ffdb58", "#257294", "#ff9658", "#61a1f3", "#ffa719", "#ffce19", "#ff6e19","#ffe99a", "#2a82f2", "#ff9e00", "#ffc900", "#ff5f00", "#036bf0" ]; //via colorweb2 var sequentialMultihueBlueYellowPalette = ["#ffffd9", "#edf8b1", "#c7e9b4",...

It's all broken...

So, Scott Hanselman struck a chord again:  Everything's broken and nobody's upset . The worst part is I can see that I'm part of the problem on both sides . I've excused many problems with software - shrugging as I restart the software or reboot. I save my anger for those occasions where I fell I've lost serious work and substantial time. Other than that I accept problems, glitches, crashes as "the cost of doing business". I believe it's actually because I've amused myself and earned a living creating software, that I am able to accept what's often pitiable quality. I've spent time working on systems that are not much more than breadboards with wires cascading from it, where getting something, anything to work was a huge accomplishment. But that was then and this is now. No way would I put up with a car that suffers from numerous small problems as today's software can. And putting these two thoughts together, it's now frightening ...