New Projects

A project is finished

I’m planning to wind down the “actively developing” part of the worksheet generator app this week. It’s weird to think that I will then (well, really, already do now) have a project that is finished.

It is my first finished project.

But, that leaves me wondering what I’m going to be devoting my energies towards. I really enjoyed working towards something, and I’ve been wondering what to get at. There are, of course, a few candidates:

User administration

Originally, the next thing I thought I would be tackling would be creating some Model objects and views for user administration in Django. The logic is simple: I’ve been creating a disorganized hack of these things as I realize I need them. Wouldn’t it be better to have something unified?

Further, I’ve never created an app to be reused in Django. I know it can be done, and I’m certainly smart enough, so why not focus on that? I was thinking that it could incorporate the following, at least:

  • Integrating that wonderful “signup with Google” and “login with Google” functionality that I like in other sites
  • Support for beta testers and normal users
  • Payment integration, as well as support for “you haven’t paid” account locking and “your account expires on” account management.
  • Tools to see how many users are regularly using a website
  • Tools to automatically notify inactive account owners of impending deletion, and then, of course, to automatically delete said accounts.
  • Arbitrary numbers of user properties, as well as the ability for the administrator to sort users by those properties and to send mass emails. (Meaning: the ability to send an email to all the beta testers in Germany, for example)

However, I’m finding that, as I wind down work the worksheet generator (and look forward to spending no small amount of energy creating resources for it to use), I’m not very excited about tackling that. Though, logically, user management would be something I’d use before tackling the fantasy pilgrimage.

Fantasy Pilgrimage

Something I’ve thought about for a while, it remains in that golden sweet spot where “project I think people would use” and “project I think I can accomplish” overlap. The idea is simple: integrate with the Google Fit API to allow a user to set a start and finish point for a “fantasy pilgrimage” and then show on a map how far they would have progressed towards that destination, if all of the movement captured by Google Fit (or whatever app is integrating with it) were dedicated towards that.

In short: if all of my runs were strung together in a long line (rather than being circles that always end back where they started), how close would I be to the city of Rome?

It would have the advantage of being a usable web application that would give me some hands-on API experience, but it does seem to require the user management, and I just don’t seem too excited about that, for whatever reason.

But, I could move away from coding and try focusing on writing for a time. That’s the next candidate project.

The heartbreaking truth behind Destiny 2

This is a simple writing project that I keep thinking about whenever I play Destiny 2. I don’t play often (Sundays, with my brother), but it’s the only video game I do play. Back when we played Halo, I tried my hand at fan fiction where the Halo world intersected with the world you and I know. (My brother couldn’t play because he had to go to a wedding, so, of course, I wrote a story of him being at a wedding when a drop ship began disgorgin aliens and he alone was able to kill them all.)

The thing is, Destiny 2 doesn’t have really strong characters that I want to incorporate into fan fiction. Instead, we keep noticing details about the game that we love, and wondering how the developers came to settle on them. I’d like to write up those fake stories. (Including a cast of completely fictional programmers and their internal feud with the people in human resources).

It would be a change, but I don’t know that I’d be as proud of what I built as I am of the worksheet generator.

That brings me to the idea of creating an app.

ESL Detective game

Pirating parts of the idea of a boardgame that my kids play, I had a great idea for a mobile-device-based listening game for ESL students. The idea is this: with a very simple menu, students have to play the role of detectives solving a robbery. As they pass the device around, each person takes turns making decisions, but has to consult the group (sparking, I hope, conversation).

There’s nothing to watch, but everything you learn is played via audio. Like most teachers I know, I have good bluetooth speakers that everyone in the classroom could hear at once. That means everyone learns everything simultaneously, and that there would be paper on the table on which to record the things we learned.

Basically, as you moved through the story, you would learn things like:

  • Susan is very short
  • Edgar speaks German
  • The thief was very tall
  • Paula has short, grey hair

And, students would have to record these things on “suspect cards.” Eventually, as more is learned about each suspect, as well as about the thief in general, the class should be able to successfully accuse one in-game player.

It seems like it would generate conversation, practice listening, and be a change from normal classroom activities. So, of course I’m in favor of it.

I like the idea so much that I’ve started watching YouTube live-coding videos of people making apps with Flutter (which promises to make it possible to create apps for both android and iOS), but I’ve had trouble installing Flutter myself. (It doesn’t seem to find components that I think I’ve installed.)

Still, this is the one I’m most excited about, and it seems like it would be pretty straight-forward if I could get flutter working:

  • Plot out the story
  • Assign a few friends to read for me
  • Put the app together in a series of button interfaces
  • Test it in a classroom

It’d let me try creating an app, uploading things to the various play stores, and it would be useful to people outside Germany (unlike the worksheet generator, at the moment).

But… for all that to work, I need to get Flutter working.

It doesn’t have to be on your phone

After completing the django girls workshop — I still want to do the part with authentication — I’ve been looking for a ‘minor’ project to code as a web app. (That’s in quotes, because I think they all grow.)

I’d thought about a beer calculator — for brewing, how much grain to how much water, that sort of thing — but there are plenty of good ones out there.

And then I realized, in my lifetime (not that long!) we’ve gone from assuming things will be websites (“Ha, you could call it ‘myidea.com’!“) to assuming they’ll be apps (“That’d be a great app!“) But that’s probably because we read more about apps.

I’d had the idea for the Fantasy Pilgrimage for a while. Of course I imagined it as an app — after all, I think like many other people — but there was nothing to say that it would have to be.

Here’s the idea (of course, read the page on Fantasy Pilgrimage). But, it seems like a rough draft of the site would be a success if it could do a few basic things:

  1. Use the Google authentication service
  2. Connect to Google Fit to get fitness data.
  3. Calculate total distance traveled since a given date, towards a total.
  4. Display that as a percentage.

Of course, with time, I’d like to use Google Maps and display the progress. But, hey, first thiings first.

The Vision

The vision, I think, is simple: an app that tells children an entertaining story, but in an entertaining way. There are a lot of story-telling apps in the Play Store, but few of them are what I would give my kid. They’re basically videos that ask the kid to press the button for the next page.

I don’t know how you read to your children, but that’s not how I read to my children. If they won’t sit still for me, why should they sit still for a device?

What I’d like to build is an app that tells kids a story the way I would, or very nearly. I would love to be able to have the app read the story wrong and respond to kids correcting it (“No! He’s not a horse! He’s a boy!”) But I don’t think that is within my reach as an amateur programmer.

Telling children a story and then becoming increasingly — and comically — frustrated as they keep touching the things in the pictures, now that is something I could do. (I think.)

Imagine for a moment that you’re basically passively consuming a story and you touch the funny picture of a cat. The narration stops for a moment and says “Yeah, that’s a pretty strange picture of a cat. I bet that cat is having a bad day.” And then the narration picks back up again. I don’t know what you would do, but I would touch other things, what does the narrator say?

If I touch the cat again, will the narrator do it again? This time he says, “We talked about the cat already, come on, let’s do this story.” I try it again, of course. In a voice that is so comically frustrated it sounds more like the Cookie Monster than anything else, the narrator complains: “Enough with the cat! I am trying to tell a story here!”

I think my kids would eat that up. And, of course, I’m banking this project on the idea that other kids would eat it up, too.