Tech

How Do You Manage Your Responsive Design Code Base?

I recently sold Responsive Design to management at work and, excitedly, we will begin working on transitioning one of our sites within the coming weeks. As I read more and more into the responsive design process and bring developers up to speed with the new user interface, I began to pose some questions to myself. I feel it just resulted in even more questions but perhaps some other people in the great Internet universe may have some answers for me.

How do you maintain a DRY code base?

After I tried a couple different approaches to a responsive design, I finally landed on Twitter’s Bootstrap to putter around with. While it’s great to *cough* bootstrap with, it’s in no fashion to be the be-all end-all user interface CSS — you will end up hijacking the code and inserting crazy stuff in it and you would be much better off just starting from scratch for your own web-app.

But how do you maintain DRY code? There are more way to skin a cat, and even more to accomplish the same thing in CSS and JavaScript. How can you prevent other designers and front-end developers from re-inventing the wheel over and over again whenever they make one small edit to the UI?

We did a huge overhaul to just one section of our website, and when the project started I wrote a clean piece of Sass for the developers to use, and by the time the project was done, it was cluttered with repeated and unnecessary styles. I can only imagine it will be 10x worse with a responsive designed website.

How do you organize your code for the multiple experiences?

That being said, how ARE you supposed to organize your code then for these multiple experiences? As far as IDEs go, there are not many (if any) options for CSS out there that can deconstruct your CSS and find duplicated styles and tell you where you can optimizer your code. (If there are, I haven’t used any.)

How to debug with multiple experiences?

We only have 2 people in our QA department and it already sucks time away from them when they need to test features in all the major web browsers and their major versions. Which devices should they be testing on? How much complexity is added with each new screen resolution that you add to the code base?

When I developed my proof of concept, I developed on a Mac with Chrome, Firefox and Safari. I never even took a look at it in Internet Explorer. When do you say “I am only going to support until version X?” You could easily dismiss browser eccentricities and say you should only design for resolutions, but that’s hard to explain to a client when they go to use the website on their respective computer/mobile device and finds out it doesn’t work.

How do you instruct developers not as familiar with front-end development?

As stated above, we had a fairly small development team and after a couple of months of development, even though I had instructed my teammates that they didn’t need to condense the styles into one-liners because we had the Sass compiler do it for us, I was still finding unreadable code in the code base. How do you bring everyone up to speed? It seems with responsive design and more complicated design methodologies, it’s harder for the everyday “coder” to be up-to-speed on all the new jazz with front-end development too.

 

So those are my current gripes. It’s not going to prevent me from using responsive mobile design at all, but I imagine it will cause some headaches down the road while everyone is still trying to figure out exactly the definition of what responsive design really means.

You Can Tell a Lot About a Person by the Stickers They Have on Their Laptop

I was in a meeting today and noticed that everyone who had a laptop had at least one (if not many) stickers on their chassis. Now, I’m not a particular fan of doing this myself, I prefer a clean exterior, but it got me to thinking how laptops are our present-day footlockers.

Many of the stickers I see are from conferences they recently attended, like postage stamps of where your luggage has been. I’ll see stickers of Octo-cat or for programming languages that they are currently evangelizing. You can tell a lot about a person by the stickers they have on their laptop!

Customer Care in the Digital Age

A couple of days ago I posted this on Twitter:

Aetna has sent us 6 benefits cards in the past 3 days. Whyyy?
@rachelober
Rachel Ober

It was really weird and awkward whenever my husband then texted me later and said, “Aetna called, they saw your Twitter post and want you to call them back.”

Initially I thought to myself, “Uh oh, they must be pissed I said something? What did I say?? Am I going to get sued?”

When I got back in contact with them, a friendly lady answered and said that Aetna had noticed my Tweet, researched why I had received so many ID cards and wanted to let me know why.

Isn’t that freaking cool that companies out there are actively looking at their customers feedback and want to help you versus just trying to shut you up? Kudos, Aetna!

Terminal Commands to Show/Hide Hidden Files in Mac OSX Lion

I recently purchased a MacBook Air in September for my birthday. One of the first things I noticed was that the operating system doesn’t show the ~/Library directory. It keeps annoying me, so after some researching I found the Terminal command to show hidden files. I put them into my aliases in my .zshrc which can be found in my fork of the Oh My Zsh! GitHub repository, but also posted them here for convenience.

These commands will either show/hide the hidden files and then relaunch Finder.app to show the changes.

alias show_hidden='defaults write com.apple.Finder AppleShowAllFiles YES && killall Finder && open /System/Library/CoreServices/Finder.app'
alias hide_hidden='defaults write com.apple.Finder AppleShowAllFiles NO && killall Finder && open /System/Library/CoreServices/Finder.app'

Add Books to Your iPad without Tethering

Open an eBook in Dropbox

Open an eBook in Dropbox

So sue me, I like reading books on my iPad and I like using iBooks. Not the Kindle App, not the Nook App and heaven forbid you make me read a book in any of the dozen or so other third-party Apps available in the App Store or make me use Adobe Digital Editions on a desktop.

Another thing I hate to do is tethering my iPad/iPhone to my decrepit MacBook (circa 2007) when I buy an eBook online just so I can load it into iTunes and then sync it to my iPad/iPhone. I try to buy ePubs when I can and I usually do it on a desktop computer (maybe another Mac — like my work machine — quite a few miles away from my home computer.)

In the past I tried uploading the files to a server and downloading it to the iPad (doesn’t work) and even e-mailing it to myself (also doesn’t work, damnit!)

After using Dropbox to transfer the bought books to my home computer where I would then transfer it to iTunes, I then realized “You know what, Self? Maybe can I try to open these books on the Dropbox App on my iPad and read them there!” I attempted a quick drag-and-drop of the file into my Dropbox on my computer which quickly synced over to my iPad and ta-da — eBook goodness!

When you get to Dropbox on your iPad, just click on it and wait for it to download. You can’t view the book in Dropbox itself, but if you click the arrow in the top-right corner of the App screen, you can “Open In…” iBooks (or your choice of third-party App that can read the book’s format.)

However, the book will not automatically transfer itself to other iDevices or iTunes, but you can just do the same trick again to get the book on the device you want. The nice thing is that when you do get around to tethering and syncing your iPad to your computer, you will have no problem transferring the book back to iTunes.

You will run into problems if the eBook has DRM but there are ways around these things.

Go to Top