Saturday, May 25, 2013

AYOP Updates

All my blog posts have been about my At Your Own Pace project, but that's what sucks up most of my free time these days. Today I decided the acronym, AYOP, is pronounced a-ya-op (almost like awop but with a y instead of a w).

Big news today, the database version of the site is now the default. It was set up separately for testing and a number of people sent good feed back on it. It sucked much less than I expected. Now anyone can vote for frames to be special. I've also set up a section below the comic image that shows how many votes a frame has received and whether or not it is a debated frame. Currently there are only a few debated frames; 1503 and a couple in the low 1400's are the only I know of. They're subject to change as people vote.

Photo courtesy of my girlfriend who loves pink.
In addition to that, now there is a mobile site (that link works for desktop users too, but be warned you're going to see some huge stick figures). It's not much but it shows the comic at 100% width and has larger navigation buttons. I've only got two mobile devices to test it on, so it might not be great. Added bonus: it comes with massively reduced features; no preloading, no image difference, no auto play, no nifty panels that open and close.

The mobile redirect uses a script from detectmobilebrowsers.com, which is a nice service. I had no idea how to redirect for a mobile device and that was the first search result I found.

Finally, two new panels at the bottom that show all frames for the last 24 hours or the last week, for quick ketchup.

Wednesday, May 08, 2013

Lessons Learned on XKCD Time - At Your Own Pace

The frame showing when I started this post.
I started compiling a list of things I've learned from this XKCD At Your Own Pace project. Arguably I've learned more on this than what I learned last semester at school.

The number one lesson learned was an unexpected feeling. I know putting a project on Github is opening it up to the world to do with as it pleases. In my case it was this guy named MaPePeR. I'm somewhat ashamed to admit it now, but my very first thought was "Who's this guy fiddling with my code?" Then I started reading what he changed. My next thought was, "Holy crap all of Github must think I'm a newb," because the changes he made were great. They made sense and I learned something from them. I found I liked it. Social coding  who knew right? I was so excited about it I made my own awful software license. It's bad, don't use it.

That was my big eye opener. I'm more attached to my code than I expected to be, but letting it go has been wonderful. The project is much better for it. I might have to dance with the shift key to type his Github handle, but MaPePeR is a good programmer. I'm glad to have his input.

Some random lessons
  • I should have called it "At Your Pace".
    • Because that's shorter and I keep typing it anyway.
    • Also AYP is a cooler acronym than AYOP.
  • I enjoy working with others. Bouncing ideas around, getting feedback. It's a fun way to "refactor" ideas quick.
  • Firefox is the pain-in-the-butt browser now (when you choose to ignore IE<=9).
  • Web Design, granted plenty more to learn here but I was surprised to get positive feedback from how the site looks.
  • Speaking of feedback, user feedback is awesome. Not only does it keep me interested in a project it's a wonderful source of unsolicited ideas.
    • The many "step" buttons was from user feedback, so was the linkable frame differences.
    • The play back at ludicrous speed was our idea, but everyone was thinking it.
    • We were able to troubleshoot a bug that only came up on Mac's because of user feedback. Neither of us own a Mac (okay MaPePeR troubleshooted the bug and I heard about it).

Frame showing when I finished this post
Things I've never had to use before now
  • Git merge, because no one forked my junk.
  • How to handle a merge conflict. I could really use more practice at this, but at least I've done it once.
  • Getting url variables with Javascript.
    • Funny story, I was doing this with PHP and having the PHP write Javascript. Yeah that was like the first thing pointed out to me.
  • Preloading bunches of images (when necessary), okay I didn't write the script that made it happen, but I get why it's great now.
  • Bitly api was watching out for guys like me (see figure 1).
  • Google Analytics is cool (I like data see figure 2).
    •  particularly data hub activity (I can troll on a new level).

A list of things I never knew existed until I did this project and started working with other people.

figure 1 - I had a bug in the bitly link creation code.


figure 2 - Google Analytics
This is not a complete list, but it's a start.