Priorities v0.5

March 6th, 2016  |  Published in this mortal coil

Oh, feature creep.

So, last I wrote about it, I’d put together this little prioritization tool based on some thinking I’d done about priorities. I reused a bunch of code from a previous project to get to a sort of “good enough” state.

Then I started thinking about the ways you could extend that model into a bigger environment, like a company, which has several organizational levels besides “teams.” So I did a huge cleanup of the legacy code in Priorities and started work on something that would be more appropriate to modeling goals in a really large environment.

In the end, though, I realized a few things:

  1. I don’t really own that other project anymore. I mean, it’s “mine,” but I’m sharing it with people who’d like to do more with it.
  2. The places I was taking that other tool were being shaped by the company I work for.
  3. The thing I set out to do with Priorities was meant to be really simple. There are ways to extend the idea, but they leave the tool in a place where it’s harder to approach for someone who isn’t working in the same company as me.

So this weekend I just started over with Priorities. Since I’d been working on an alternate app that needed a bunch of the old Priorities code cleaned up, I had a pretty decent set of models and templates, so it was really easy to reuse a lot of the thinking, but keeping the new version to something quite simple.

The older version of Priorities, the one I wrote from all the legacy code, lives in its own branch now, since I learned at least one person had downloaded it and was using it.

The new version is in a new master branch on the project. For this version, I did a few things:

I changed the “Team” model to “Lists.” Not everybody’s managing a team. You can still name a list after a team, or whatever you like, but by talking about “lists,” it’s more of a tool for anybody, from a sole proprietor to a company.

I also began working toward making lists private. The old version let everybody see everybody else’s lists. The new version will still allow that, but you have to go looking. Once I get the basic features polished up, I’ll take a pass back through to require ownership to view a list. Once that’s done, I’ll work on allowing owners to set their lists to be public. For now, the app guides you toward just looking at your own stuff.

There’s a little help if you’re a new user and don’t have any lists set up:

Priorities Home

There’s also a prompt once you make a list and don’t have any goals:

Priorities

If you’re interested in giving it a spin, you’ll need Ruby and Bundler on your system:

  1. sudo gem install bundler (no sudo if you’re using rbenv or rvm)
  2. Download Priorities from GitHub: git clone https://github.com/pdxmph/priorities.git
  3. In the download directory, install the needed gems: bundle install
  4. Set up the database: bundle exec rake db:migrate
  5. Run the app: bundle exec rails s
  6. Visit the app in your browser.

Since it’s running in dev mode, it’s going to be sort of slow on load.

The TODOs are pretty simple at this point:

  • Do more to ensure the privacy of individual lists.
  • Clean out the remnants of the old team model.
  • Put it somewhere private but not secret so people who don’t want to run their own instance can use it.

Then there are a few things to think about:

  • Adding info pages for each goal.
  • Adding notes for each goal.
  • Adding back the comparison data for goals.
  • Figuring out if there’s value in expanding the user model to have “groups” for shared lists.

Leave a Response

© Michael Hall, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license.