Building Comedy Connection w/ Sinatra

Woohoo! Just finished my Sinatra app. This was a fun one. I decided to relate my app to something I was interested in – namely, standup comedy – and it really made the project go much more smoothly. The result is Comedy Connection, a little app that lets you sign in as either a comedian to post your CDs and Specials, or as a fan to view different comedians’ pages, and add them to your list of favorites. Of course, you can also take a look at other fans’ pages and compare notes as to who likes who.

I think the biggest hurdle for me to overcome while working on this project was that of validation. I really didn’t know anything about it, and had to do a lot of reading before I understood it at all. Maybe this is just hope, but I’m starting to think that I’m getting better at reading the sort of technical material that was really hard for me to even start on before. Those `guides.rubyonrails.org` pages are starting to feel a little more familiar and comfortable, and the barely-visible scroll bar is a little less scary than it was. I actually ended up getting kind of interested in validation and how the team that made Rails made the decision that model-level validation was the way to go, as opposed to database-level, controller-level or client-side.

Learning to write validations and use them is particularly interesting because of the responsibility that comes along with it. It’s pretty trippy to see the actual kind of code that’s supposed to protect people’s privacy, finances and so on. I understand that I have much further to go as far as validation and password protection go, but it’s still a pretty powerful feeling to realize that it’s all just code, really, and that there’s no magic keeping it all safe past what you’re able to design as a developer, and what tools you know how to use.

Another thing I really got better at through this project is associations. It really is the case that not matter what you study, at some point you just need to put in the reps if you want to actually have it on-hand in your mind. I realized that despite learning my AR associations, I couldn’t recall off the top of my head how to actually get a join table working. Ruby guides saved me again, and I’m making sure now to write down which areas I get stuck in, and quiz myself regularly on the details of how to get through them.

As hard as it was to really dive in and get started on this project, I’m glad I did it before waiting TOO long. I got an email from Peter Bell, the head instructor at Learn, reminding me that I’m not helping myself by working around the project, or delaying it. He was completely right, and I’m glad he gave me that little nudge to really hone in on the project. There are things about coding, it turns out, that you only learn when working on a project. I’m planning to meet the next one in a much more head-on fashion, and I’m looking forward to it!

He’s a bit more ‘CSS’ than ‘HTML’…

HTML. Structure. CSS. Style. Okay, I’m writing for other coders, you know this already. I’m a big fan of finding the crossover between ideas from coding and the rest of life. I think there’s real wisdom to be gleaned from each facet of programming.

So what’s the real message of the HTML/CSS paradigm? What’s the philosophy behind it? The idea, simply put, is that content is separate from style, and should be recognized as such. It doesn’t try to devalue style, or to render it somehow ‘less than’ content, but it draws a line in the sand with a statement that there is a difference, and that it matters. Knowing 100% what about your website, or yourself, is actual substance and what is style can be extremely useful.

When I use the words “style” and “substance” in reference to people, what I’m referring to are simply the things that are visible to the outside world, and those that are not. So “substance” in this case might refer to a persons inner beliefs, motivations, knowledge, emotions, life philosophy, etc. Their style might refer to their manner of speech, professed beliefs, clothing choices, physical appearance, charisma, posture, way of interacting with others, and so on.

Implying that a person is more style than substance is generally considered impolite in our society. However, I think it’s counterproductive to take that kind of view of the style/substance divide, whether it has to do with web design or everyday life. Humans hsve evolved to be naturally attracted to certain things – bright colors, interesting noises… that’s not going to change, and we shouldn’t feel bad about that. However, being drawn in by something that looks interesting on the surface and turns out not to be is infuriating in any context. It’s okay to favor style over substance or vice versa, but you need to have a bit of both.

This website for Johos Coffee is counterintuitive, hard to navigate and information light. However, it’s so cool to look at that its frustrations are easy to forgive.

On the other hand, here we have the well-known “hacker news” site from ycombinator. The site is unbelievably information dense and incredibly interesting, yet an outsider could be forgiven for thinking, on first glance, that it was designed by a third-grader. Personally, I thought I was at the wrong site the first three times I found it.

I’m a big fan of standup comedy, and I’ve always thought that Dane Cook was a fascinating case study in what can be accomplished with ‘style’, and what can’t. Cook was known for being extremely physical on stage, doing noises, imitations and totally unneccessary near-acrobatic movements that made you laugh despite yourself. There were jokes, there were ideas, but the sheer ridiculousness of his act was what really pushed things over the edge.

Where things started to go wrong was when his joke-writing started to suffer a little bit. Within a very short time, he became intensly hated by a huge contingent of comedy fans, becoming the butt of jokes and impressions that depicted him as a mindless, goofy acrobatic hack with nothing of substance to say.

This is the risk with going “full CSS.” People really hate style without substance. What’s the alternative? Well, I’m sure there’s a comedian out there who’s chock-full of substance but who puts you to sleep when you look at him. I don’t know that comedian’s name, and I probably never will. That’s the risk of going “full HTML.”

If you go for style without substance, prepare to be disliked. If you go for substance without style, prepare to be ignored. Both are necessary – as a designer and as a human being.