Pomello

I mentioned this before in a post titled Hooked. It's a pomodoro timer that integrates with Trello.

http://pomello.herokuapp.com/

Pushed it out to Heroku at some point. Forgot to write about it. It needs a lot of polish, but I've started using it to help manage my work.

Some notes:

  • As the timer's going, the donut chart does this CSS3 pulsing thing, where it gets bigger for 1 second and then smaller for 1 second. I added that because the progress over 25 minutes moves slowly, so it's not totally clear when it's going sometimes.
    • The size change is probably too subtle, though.
  • As you complete pomodoros, it posts comments to the Trello card, with a stupid tomato emoji.
  • There's markdown and emoji support, somewhat mirroring what's available in Trello, but it's not 1:1.
    • When you POST stuff to the Trello API, it comes back with the markup they use internally, but that doesn't come with the fetched GET data, so I didn't want to use it just sometimes, so I used a fork of markdown-js (It just adds a bower file so you can pull it in with Bower) and emojify.
  • When the timer starts and stops, there's a speech synthesized voice that tells you to get to work and take a break, respectively.
    • I might want to add some clock sounds, or interval warnings, or animate the favicon when it's timing, or some combination.
  • There's internal suppport to change the pomodoro length, but no outward control to change it.
    • I didn't want to paralyze myself burying it in features before kicking it out the door.

The API interaction is really dirty. Trello provides a client.js that provides some callback-based convenience methods that simplify interaction, but it doesn't play that nicely with Ember's promise-based router, so I'm using manual AJAX calls for routing, and the Trello object from client.js for persisting stuff, and it's messy.

I also don't have an internal store where fetched objects and their relationships are persisted and kept in sync. So, I have badges that list the number of comments on a card, and when you finish a pomodoro, a comment is persisted to the server, but the badge doesn't update.

There are also some bookkeeping things that are bugging me, like a lack of board name on the cards, so if you're working on a few boards at once, the cards can get confusing.

The sum of all this is, I'm working on porting to ED, which is thusfar proving to be kind of a pain, but I haven't had to do this before, since I've just backed my other Ember stuff with Rails, which plays really nicely with the DS.ActiveModelAdapter. Maybe it's simpler than I think it is right now, but the Trello API expects an application key and user authorization token with the requests, but seemingly not with the headers, so I can't just use the headers property on the DS.RESTAdapter. I might be wrong, though. There are a lot of moving parts, and I'm not done, so the picture isn't clear. This paragraph is verbal diarrhea.

>