Grammar

I’ve been dreaming about grammar.

I woke from a typical night of sleep (battled pirates, was a pirate, searched for granola bars in the surprise supermarket in the middle of the office, may have spent a few minutes as a gerbil, etc. etc.) with a very clear mental image of diagramming sentences on a green chalkboard just like we did in elementary school.
We weren’t using the standard sentence diagrams to explain how English works. We were using pseudocode. (Actually, we might have been using JavaScript. I’m not sure if that’s better.) We were setting and getting attributes for the sentence subject. We were running methods against the subject. We were translating the words into actions, just like sentences do.

The cat is angry.
Object.cat.mood = angry;

The cat howls.
Object.cat.takesAction(howl);

I read an article months ago about how a New York public school improved scores in all subjects by concentrating the curriculum around understanding conjunctions. If you don’t understand conjunctions, then you cannot connect two things. If you can’t connect two things, then you can’t explain their relationship. Think of the programming implications of that. “And” could be worked around relatively easily by repeating the structure of the initial sentence, but how do you express something as simple as the alternative structure of “or” in “Flowers are pink or blue”? How do you express the contrast of “but” if both “but” and “and not” are unavailable? Causality (“because”, “as”, “for”) is right out. If you don’t understand “because”, then you probably don’t understand “if….then” either. At that point, despite my efforts to keep the sentence structure in here as simple as possible, this whole paragraph has just been a jumble of words.

That bothers me. It’s been at least 32 years since I learned to read. I can’t remember a time that I couldn’t read, write, or think in complex structures. I want teaching grammar to be easier. I want everyone to be able to think about the beautiful complexity of the world with all their minds have to offer.

Another thing bothers me: computers can’t read. At least, mine can’t. Blame Apple or blame VoiceOver software in general, but there are vagaries in the English language that they have yet to nail. For example, heteronyms are words that are spelled the same, but not only are pronounced differently, they also have different meanings. When I read the sentence “The sewer collapsed,” I don’t know whether we’re talking about someone who darns socks, or a reeking pit of waste. (My brain tends to default to the reeking pit. Your milage may vary.) When we read a heteronym, we use the words around it to provide meaning. Most of the time, we find that context in the words after the heteronym. “Desert the the ship!” is clearly more about leaving than about arid wastelands. When we read aloud, we tend to scan ahead in a sentence like this one so we can guess which context, and which pronunciation, to use. Despite my computer’s full access to the file (page, etc.) and arguably faster processing time, VoiceOver reads the sentence with the wrong pronunciation, because it can’t understand the context of the words that surround it.

It feels like a solvable problem.

It feels like an object-oriented problem. Nouns are, after all, objects. They have attributes, which are other objects (mounds) or descriptors (adjectives). They have methods, actions that they take, which we call action verbs.

A pseudocode structure to sentence diagramming could solve both problems, because with the proper wrappers around the words in a sentence, we could teach better reading to both human and computer students. Not only that, but human students might be able to leverage the same class material to learn programming.

If you had caught me just before I fully woke up, and asked me to use pseudocode to diagram something written by Emerson, during that single split second, I could have done it. I could see the whole structure of the English language, and how it aligned with the pseudocode language my brain had created.

I had the whole problem solved, and now I couldn’t even tell you what pseudocode structure I used for a preposition.

Whimsy

It doesn’t disrupt the usability or usefulness of the design. It doesn’t disrupt the readability or distract from the message of the content. It just adds a smile.

20131004-000322.jpg

Things I have done in the last three weeks

Hectic, harrowing, and headachey are the ways to describe the last three weeks, but so much of it is design-oriented I felt like it was time for a blog post.

  • I attended Future Insights Live in Las Vegas and live-tweeted the conference sessions I attended. (In short: this is a great conference you should attend, despite it being in Las Vegas. Yes, I said “despite”. I’m a shy introvert who’s allergic to cigarette smoke and that place was a new circle of hell for me.) 
  • I built a new website called BorrowABlog.com. What’s that about? Well occasionally folks say they wish they had a blog to post to, but they only really have one or two things they occasionally want to write about. If that describes you, register, blog when you want, and link to your blog post from wherever.
  • I built a website for close friends who lost their son to brain cancer, and are now raising money for cancer research. (I’d love to link to it, but the parents in question haven’t given it the thumbs-up yet.)
  • I accepted a new position at work, moving from Interaction Designer back to Information Architect — with a lot of interaction design still in my future. I’m really excited to join my new team and stretch a bit more into the “UX generalist” role. It’s a little scary, too (what new job isn’t?) because I’ll be moving to a different division of the company and serving a different business group for the first time in thirteen years.
  • I wrote two articles — like actual articles, not just tech writing — for aforementioned primary employer, which at some point will be published up on the main site. As an Engish major with heavy IT leanings (or a Software Engineer Poet, depending on the day) I’m really grateful to have the opportunity to communicate in words as well as designs.

In other words, life is full of change, but those changes are good.

Arrgh

Me (working on a month 3 of the same huge prototype): OK, so I need this cell to be 110px wide…

Internet Explorer 8: OH HAI I see you want this last cell to be 110px wide. I can do that no problem but first Imma gonna shift the contents of the cell to align left, mmkay?

Me: What?!? No!

Internet Explorer 8: Yup.

Me: Okaaaaay, what if I add a class=”right”, will you put it back?

IE8: Nuh uh.

Me: Align right? tbody class=”right”?

IE8: LALALALA I CAN’T HEEEAR YOU….

Me: (searches web frantically….) OK, this makes NO sense, but this cell’s in a table with a width of 100%…. so if I set the width of the cell to 13% instead of 110 px…?

IE8: Hey, I see you want to make the width of this cell 13% so Imma gonna put this cell back to right alignment, mmkay?

Me: I hate you.

The Zoo Story philosophy, and when it doesn’t work.

In his play The Zoo Story, Edward Albee once wrote, “Sometimes a person has to go a very long distance out of his way to come back a short distance correctly.”

I’ve always seen that as a bit of a motto for my design work. As designers, it’s rare that we get handed a problem to solve that has a straightforward easy-to-implement solution. It’s all about the context of the problem, especially when we’re creating the context as we go. A thoroughly researched and implemented design requires capability strategy, iteration, research, iteration, design, iteration, testing, iteration, iteration, and iteration. You can try to cut off somewhere in the middle or skip a few steps, but you’ll usually come out of it with something that feels just a bit like you installed shelves with only some of the pieces that were supposed to be in the box. There’s nothing wrong with approaching complex problems with the mindset that the journey will be long, but the destination might be two blocks over from where you started.

Today, though, I’m thinking of rethinking the Zoo Story approach to this blog.

I’ve been going a long distance out of my way to design and develop a visually-attractive responsive theme for this blog, so I could come back the short distance of “provide evidence that you can produce a quality blog” correctly. I want to prove to myself that I could work on mobile-first content-first responsive design projects by making this a responsive-design (responsively-designed?) blog about design, development, and user experience.

I’ve hand-coded the theme(s) to my other blog since I moved to WordPress in 2004, and before that I hand-coded all the pages. I learned most of my CSS and all of my PHP developing for my now-sleeping comic. When I started, there was no good canned theme solution for comic presentation in WordPress. (There still isn’t. That’s a rant for another day and one that requires responsive images to be solved.)

The problems I ran into were threefold:

First, WordPress’s crack development team beat me to it. Their 2011 theme is already responsive. So to make my! very! own! responsive design theme, I had to cover my eyes and LALALALA a lot to pretend I hadn’t seen anything in their code. Even though it’s excellent, and it works for my site structure.

Second, the development of a responsive design layout takes a lot of work. It is an absolutely great experience from an educational standpoint, and one I plan to continue. It’s just not something I can produce fast enough to also blog on a regular basis, which was the point of having a blog.

Third, I’ve had a stubborn blind spot about using other peoples’ code for my website(s) since the beginning. I was “raised” in the world of apps producing truly crap code “for me” (see Microsoft Word, FrontPage, and even Dreamweaver to a certain extent). I struggle against using any code-generation system because my gut says it must be full of bloat. Why use WordPress’s image uploader when a simple <img src> declaration would be enough to meet my needs?

But the fact is that, for a responsive site with responsive images, they’ve got a damn good system going here.

It might be worth noting that in The Zoo Story the “right” solution involves forcing an unsuspecting stranger to knife you. So, y’know, there’s an argument to be made for staying local and not provoking others into violence.

Sometimes, you have to go a long way out of your way to come back a short distance correctly. But sometimes, sometimes you can walk two blocks and reach the same destination, without any fuss or heartache at all.