The wonderful world of server-side programming

It has been almost 2 weeks since I blogged. Yikes! I have a lot to report on, but the second-most exciting thing is that I’ve started to learn some new coding tricks! (I’ll get to the first-most exciting thing in my next entry.) And by new tricks, I mean server-side programming.

Server-side programming… now why would a designer ever want to learn that? True, the likelihood of this ever becoming a selling point on my resumé is rather slim. For me, it just comes down to the fact that I want to know how things work under the hood. And I have 6 more months in school. As long as I’m here, I’m going to learn as much as I can without having to give a good reason for it. Ha!

So on that note, I installed Flask, a Python web micro-framework, on my web server. Python is a super awesome, easy-to-learn programming language. It runs on computers installed with an interpreter (a program that runs code you write), and you can build desktop apps this way. But on the web, you need an extra layer of code to handle HTTP requests (the dominant protocol that entities on the web communicate with) so you can do things like serve up pages to a browser—that’s where this framework comes in. In the case of Flask, it’s designed to be very lightweight and easy-to-use, hence the “micro.” (If none of this makes sense to you, you can ignore this paragraph. I am mostly explaining things back to myself to make sure I understand stuff. :P )

Anyway, I still mostly have no idea what’s going on (my plan for learning so far involves reading things on the internet, especially Flask documentation), but so far I have learned how to create a system for letting the other participants know what step you are currently on. Basically it works like this: every time you switch to a new step, the webpage sends that info to the server, and the other participants’ webpages grab that info from the server. Then Javascript (jQuery) is used to position your colored dot next to the correct step on their screens. Here’s what that looks like:

Lines 29-48 do the voodoo


Just kidding. Here’s what that actually looks like:

Woo hoo, it works! Here, both "I" and my cooking buddy are on step 1; my cooking buddy is represented by a green dot.

Exciting, eh? Yeah, I thought so too.

At this point in the game, I’m definitely feeling a bit overwhelmed. I’ll be both coding and designing and testing (and doing homework) at the same time! Aaaahh! Some part of me says this is pure insanity and I should just hire a developer. Some other part of me says to ignore that voice and go forth and do it and everything will be okay.

You can probably guess which part I will end up listening to. :)

  1. Tina, not totally sure I got that one geeky paragraph, but as long as you did, I’m happy for you :) BUT I like the outcome of it all – that you can see which step your cooking buddies are on. I remember when I was testing your idea, that there in some ways was a kind of race going on between the cooks. The feature seems like a nice one, especially if there are more cooks to keep track of.

    I also like the fact that your prototyping has taught Clint what an onion is, and how to get the garlic into smaller pieces. That’s absolutely amazing! Does the screenshot above tell me that you were able to use your own prototype to cook with Clint? Cause that’s even more amazing. You rule! Clearly, a little bit of thesis insanity is a good thing!

    - Kristin (Nov 14 at 5:22 am)
  2. Inspiring! Don’t hire a dev, struggling through is the best part :) .

    Keeping an eye on your project—it looks awesome. Also… love your writing.

    - Jon (Nov 21 at 7:42 am)