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.

7 comments:

Anonymous said...

Kudos to you for doing this. Coming from a long time xkcd reader and fellow dev with kids (have no time for putting something like this together in my own time).

James Pryor said...

I don't have kids, but I've still blown off more things than I should have to do this. It's been a lot of fun and I met some cool people. Even learned stuff. Totally worth it.
We're working on some new features too, but don't know when they'll be up. Depends on how much more stuff I blow off.

Anonymous said...

Could you explain why you think Firefox is the pain-in-the-ass browser now?

I've never had problems with coding for Firefox. Maybe it's because you're less known with the Javascript standards?

James Pryor said...

Maybe, I never claimed to be a great coder. I just know when I view it in Chrome it works as I expect, and surprisingly IE10 looks almost the same as Chrome. Firefox is the browser we end up writing special code for. The only notable example I can think of was the slide bar below the comic.

To be fair it's not as much of a pain in the butt I remember IE being. Just surprised to find some unsupported html5 stuff in FF.

Unknown said...

The thing that I love is that it remembers what frame I left off at the last time I was here! That saves me soooo much time. Was that idea from you, or one of your contributors? Thank you either way!

Chris Wesling

James Pryor said...

That feature was created by a contributor; which I agree is very cool. That is an example of why I went open source with this project.

I hope to expand on it in the future so that you can set it to pick up where you left off, always start at frame 1, or at the latest frame. It will happen someday. Funny how I never have Time to work on a project called At Your Own Pace.

James Pryor said...

Chris,

That was a contributor, and that's what I love about open source. In the future I hope to add options that allow you to pick up where you left off, show frame 1, or the newest frame.