It's been just short of a year since I retired, and I don't have a whole
lot to show for it in the way of programming, apart from a little work on
MakeStuff. OK, a
fair amount. And it has an actual user now. But still.
Somewhere around the New Year I started making a(nother) list of potential
projects that I wanted to work on in my retirement. As these things do,
it got out of hand -- at last count there were 86 unfinished items in it.
Time to start something.
There are a few constraints. I can't start any of the woodworking
projects yet, because the contents of the garage are in storage waiting
for the remodeling to get finished; that includes all of the woodworking
tools. So there's that. Same for the recording projects -- my good
microphones have either been boxed, or vanished altogether in the last
move.
More than half the "projects" on the list are ideas for articles or blog
posts -- there are forty or so of those. I should start picking them off,
one or two every week, but they're not really projects.
What remains is mostly software: programs (the young people call them
"apps" these days) and work on my websites. These are also areas where I
have a lot to learn, and where I can develop skills that will be useful if
I want -- or need -- to do some consulting. And there's another factor:
there's really no difference between a web app and a mobile app!
Not any more: with
React Native and
Electron, one can now build stand-alone cross-platform applications
using web front-end frameworks -- they basically bundle a stripped-down
browser and a trivial server with your web"site", which is often just a
Single-Page Application (SPA). And with languages like
Elm that compile into Javascript,...
I can haz apps
One app I want to write will be for managing checklists. (There's an
existing app called Checkmate -- my first choice for a name; grumble --
that looks worth mining for ideas.) Beyond being able to have multiple,
named lists, I want timing information so that one can ask questions like
"how long ago did I last take my pain medication, and is it safe to take
another dose?" That needs to work for both scheduled items, and
"as-needed", floating items that can start their timer going at any time.
More like a combination checklist and reminder system. I'd also like to
be able to track the time it takes to go through a checklist, both so that
I know when to start if I'm getting ready for something, and so that I
know how much I'm improving with practice. Eventually it would be nice to
link this to both a website and an Alexa skill -- the website will be
easy, since almost the entire app will be usable as the front end.
It would be nice to have a combined lyrics viewer and a setlist planner.
(I used to have a setlist planner, but it was in Perl and kept its state
in the HTTP query string - bad news for caching and sort of search-engine
pessimization.) There would be some overlap with the checklist app, since
they both involve going through a list of things in sequence, with
associated times. It would be especially useful on a tablet for
performances, but it would be most effective combined with a website that
hosts lyrics and music, which brings us to...
What a mangled web
Another thing I've been looking at is "
Responsive Web Design" -- making
websites that adjust smoothly between tiny mobile devices and large-screen
desktops. This has long been a design requirement of mine anyway --
almost all my sites do this, but they do it by simply not having much of a
layout, and they look bad both on very large screens and very small ones.
It's time to take this to the next level by adding responsive CSS and
mobile.
There are several websites that need work:
lookingglassfolk.com,
steve.savitzky.net,
Stephen.Savitzky.net, and
hyperspace-express.com at
least. The first one is by far the simplest; just songs, concerts,
(proposed) albums, and a gig schedule.
steve.savitzky.net adds writing and
software projects, but there's still a lot of overlap.
It would make sense to do the others using different
responsive design frameworks, just to get experience with a few of the
options.
Stephen.Savitzky.net, in
particular, is my "portfolio" site; it's also the only one that has a
sidebar at the moment. It might be a good idea to turn into a GitHub
Pages site.
hyperspace-express.com is my
"commercial" site, and it would make sense to use a CMS like Joomla or
Drupal for it.
(I have some other sites, e.g.
rainbows-end.net and
thestarport.org, but they're simple
enough to simply copy the CSS from one of the others. The
Interesting.Places sub-site
would be worth some attention.)
Now, here's my plan...
The underlying reason for picking this particular set of projects is to
market myself as a blogger, consultant, and developer, in hopes of making
a little money on the side. That suggests that I should start with the
checklist app, and probably start the site makeovers by moving
Stephen.Savitzky.net to a GitHub
site (which would give me an obvious home for projects like
MakeStuff and my
development-focussed blogging). On the other hand, making over
steve.savitzky.net would probably
teach me more about responsive design, especially if I make S.S.net into a
GitHub site. It might make more sense to keep S.S.net as a separate site,
and build the GitHub site from scratch.
In any case, my main blogging site will remain here on
Dreamwidth; most likely I'll
just cross-post development-related blog entries to S.S.net (and
GitHub, if it's separate). Or would it make more sense to keep all of the
blogging concentrated here?
Comments? Ideas? Suggestions? Over to you folks.
[Crossposted from
mdlbear.dreamwidth.org, where it has
comments. You can
comment there with openID, but wouldn't you really rather be on Dreamwidth?]