Half-Elf on Tech

Thoughts From a Professional Lesbian

Tag: design

  • Your Slides Suck

    Your Slides Suck

    At WordCamp Las Vegas, I had a watershed moment of privilege realization. I’ve had these before at WordCamps, like Portland where I realized how much I rely on my phone for the Internet, and what that actually means to other people (thank you Eric Mann for that one, you should post those slides!). This time it was as simple as AccessibleJoe asking my new friend, Rebecca, if she could help him. I glanced over and saw that Joe was sitting with Laura Legendary.

    Laura’s blind.

    In that instant, the very second I saw her cane, my mind wiped out every single thought I had and focused on this. “Holy crap, my slides are worthless. Not just on the screen today, but when I give the URL out, because they’re all IMAGES.”

    See, while I use SEO slides, my slides are a PDF imported from PowerPoint, which makes them a bit honking waste for her. No text. No tooltips. The deaf similarly were left out until they read the text posts I tend to make as a follow up to my slides, but since my slides are a counterpoint, or emphasis, to my speaking, I really greatly on what I say and how I say it. That means my slides are absolutely worthless to anyone who is differently abled.

    When Rebecca needed to go away before Joe got back, I offered to take over, introduced myself, and said “I’m sorry, my presentation slides are worthless to you.” Laura was kind enough to explain to me the situation, demonstrate how she used her phone (before her own presentation where she showed everyone exactly how much running a website sucks. It blew my mind when she said there was only ONE theme she could find that was accessible on the front and back end so she, a 100% blind person, could manage her site all herself. And then she only had one plugin for an estore that worked.

    Zoidberg: Your slides have bad accessibility and you should feel bad One.

    Single.

    Theme.

    If that doesn’t slap you in the face and make you think you’re doing something wrong with your programing, allow me to do this for you.

    We suck. We are inconsiderate. We are selfish. We are ignorant. We have no idea how hard the web is for people. Even though I do spend a lot of time working on my site to make it easier to read for the visually impaired (that is people who hate small fonts), I have no idea how crap my site is for the actual blind.

    Want to know how bad it is? Close your eyes and try to use your site. Go on, make a post. If you’re on a Mac, there’s a tool built in for this. I played with it the other night and was galled at how hard it was to get around the customizations of a theme. To write code, I rather expected to be hard, but the theme settings (not the customizer built in, the settings from Genesis) were not very easy, even though I knew what I was looking for.

    Sad smilie face in a sea of happy ones.So my pledge to this starts here. I’ll be making all my slides on SEO slides from now on, with long descriptions and alt text for everything, to make my slides more accessible. I will continue to speak clearly concisely, and more over, I will print up my slides notes in advance so I have them right there without having to use PowerPoint.

    I love PowerPoint’s ability to have speaker notes, but it relying on them means I made my efforts fail for some people, then it’s time to do something new and different. I’m still going to keep my slides with few words on it, but with the SEO Slides features, I’ll be able to show the ‘notes’ (I hope, right guys?) so the deaf can read and follow along. It’s not perfect, but the only other idea would be to learn sign language, or get my wife’s up to the level where she can do that for me.

    Challenge accepted.

  • Genesis Design for Gummies

    Genesis Design for Gummies

    You’re not a dummy, right, you know how to write and you know what’s good and what’s not, but the last time you had to edit your CSS your site went white. It’s worse now that you’re using this awesome theme called Genesis where every design is a ‘child’ theme that you don’t even want to edit because if WordPress taught you anything it’s that you don’t touch the plugin and theme files!

    Gummie BearsWell great. Now what?

    I’m not a consultant. I suck at it, I hate it, and I don’t enjoy it. My friends the Norcrosses over at Reaktiv Studios are a dev agency that makes themes and plugins and even updates (they’re not paying me or compensating at all for this statement, I don’t even use ’em, I just like ’em). They’re good at it, and to make their life, and your life, easier, they came up with a new plugin called Genesis Design Palette Pro.

    Previously, if you want to edit your theme, I would have said to use Jetpack’s CSS editor. Heck, that’s really what I do here, since it keeps revisions of your css changes. But most of what people change are the standard things that make your site look like an individual. The CSS is just a wall of weird, codey, text thing that made no sense when I first looked at CSS back in 1999. And that’s really how everyone did stuff back when Prince was en vogue.

    But now there’s that nice Theme Customizer built in to WordPress that lets you edit the most basic (and most commonly used) aspects of your site right there and see the changes live! Wouldn’t it be nice if every theme let you play with its design like this?

    Example of the Theme Customizer

    Come here. Closer. The Genesis Design Pro plugin does that for you in a way that looks ‘right’ and familiar. Don’t believe me?

    Design Pro screenshot

    Looks familiar, don’t it? Okay, it’s not exactly the same, yet, but give it time. You can edit for mobile or desktop, adjust colors and padding with simple interfaces that are way easier for a lot of people to master than the weird CSS world. You can even add that freeform CSS if you want.

    I think my only wish for it would be to have an export to css function, so I could design everything, save it, and then plunk it on a site as is.

  • No Contact Information

    No Contact Information

    Semi related to the theme shakeup is my new business card. My old ones had my name and my email, but they were kind of cute and made in a rush before WordCamp San Francisco 2012, where I was pushing to get a new job and needed them.

    One of my personal rules about a business card is that the back should be writable. I always like to write on the back where I met someone. Like I have a card from Laura Legendary, and on the back it has a scribble of “WCLV’13 – accessibility – REDO SLIDES!” which tells me where I met her, what we talked about, and what a big take away was. My extant cards had a sketch (by me, not the awesome one by Ben Dunkle that I will treasure forever) and some basic information with my personal URL and my techy one. Oh and my email. Which resulted in a lot more email than I wanted at my personal account.

    Bad call on my part. Then I read Bob’s post OMG! I Can’t Find Your Email on Your Business Card. He talks about how the times are changing and how if someone wanted to find him, they would Google “BobWP” and find him! So really all they need is his URL. This is true, and when I revisited what I wanted on a card, I thought “My name, my silly titles, a URL, and a ‘not available for contract work’ note.”

    That last one was really important, since I’m just … not. I don’t like doing it, I don’t need to do it, and I won’t do it for most people. Now I know there are about five people going “But Mika, you do my website stuff!” Hey, there are exceptions. And the small group of people I do ‘consultant work’ for are part of why I don’t do more. I can’t and maintain my hobbies. Since I don’t need do, I don’t do it. But sometimes I do little tradsies. Like I did one for a friend recently who had a plugin break and she was lost. I knew what was wrong, walked her through fixing it, and she replied with an email a week later with the following design that just came to her:

    My new business card - name, URL, titles

    The photo (which is also the background on the new design) is one I took this summer outside my gym of a palm tree. She said it was cheerful and welcoming and established me as being in a warm place. She lives in upstate NY where she already has feet of snow this year, so it may be related. Now unlike Bob, I do put my name there, and on the back are two icons (Twitter and WordPress) above a simple word “ipstenu” but nothing more (leaving massive amounts of white space for notes).

    The one thing I left out was what I do. I mean, yes, I say “Half-Elf Support Rogue” and “DreamHost WordPress Guru” which should explain something, but the goal isn’t really to get more business, but to have a reply to those people who say “Have a card?” Maybe they’ll look at my site and buy an ebook, or whatever. But hey, now they know what’s up.

  • Get Sassy

    Get Sassy

    Elf is Unimpressed at SassI was lucky enough to corner Tracy Rotton at Contributor Day and bully her into a private “Sell me on Sass!” Class while we were both at WordCamp San Francisco. I’m a hard sell on something ‘new’ not because I hate change, but because I don’t see the point to learn something new in order to do something I’m already capable of doing. But that said, CSS and theme design aren’t my ‘thing.’ I can muddle through, but I don’t love them like I do writing.

    In order of my WP skills it goes like this: writing, support, debugging, plugins, themes, databases. See how that goes? So I knew Tracy was big on this stuff, and I realized I had a perfect opportunity to get someone to explain, in a place where I could go “But why do I care?”

    Why do you care?

    Sass is an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and a ton of other stuff. For me, the nested rules earned an unimpressed face. Testing things in a ‘new’ way means I have to re-learn how to do things. And being able to define ‘font color black’ and use variables so I only have to change one thing is useless, as I’ve mastered grep and regex. Tracy laughed and then pointed out I could have Sass do the math for me.

    Full stop.

    If you’ve spent any time designing responsive themes (which most of us do) then you’ve probably run into the extended math part of CSS where you have to calculate font sizes, relative to each other, and then you have to sort out the percentages to make the width and height right and.. Well, I went and read Tracy’s post about saving time with sass later and felt way smarter for it.

    But we’re still back to the fact that I don’t theme. It’s not me. So I had all this info and sat on it for a while. In fact, months. I started writing this post during WordCamp San Francisco. Next month is WordCamp Las Vegas. It’s pretty much been half a year.

    What changed? MP6, or rather, the removal of MP6 and introduction of it as a core part of WordPress 3.8. Suddenly the plugin was useless. Less than useless, it broke display. So I looked at my options. I knew they were working on a plugin to bring the MP6 styles back, but right now they didn’t have my favorites and I really don’t like all black. I ripped open MP6, pulled out the color-schemes folder, stripped down the colors.php to just the part that added in more options, and thought I was done.

    Mikayla and Obama are UnimpressedI was wrong. It looked ugly. It didn’t match, it was broken. And there was only one thing left I could do. It was time to get sassy!

    What you nee to do this is a Sass ‘App’ – Now Coda 2 lets me edit Sass files directly, but not compile, so basically I have a nice highlighter. Booooring. There are plugins for this, and installing stand alone Sass compilers on my mac is as easy as $ sudo gem install sass which lets me then convert my file ala sass-convert style.css style.scss and now I have a sassy file! The other option, and this was where I ended up, is CodeKit.

    Yes, I could use Grunt, Tracy, but I want to learn one things first, understand it, and move to the next. Grunt? Yes, I need to learn it. But right now, my need was to take five scss files and convert them into the right name css files.

    What it looks like is plain weird. A scss file is weird. It’s this:

    $base-color: #523f6d;
    $icon-color: #ece6f6;
    $highlight-color: #a3b745;
    $notification-color: #d46f15;
    
    $form-checked: $base-color;
    
    @import "../_admin.scss";
    @import "../_colors-fresh.css";
    

    And then it looks like this:

    @import 'variables';
    @import 'mixins';
    
     {
    	background: $body-background;
    }
    
    
    /* Links */
    
    a {
    	color: $link;
    
    	&:hover,
    	&:active,
    	&:focus {
    		color: $link-focus;
    	}
    }
    
    ....
    

    Oh wait, it also has this! … No, wait, that won’t work. It kind of goes on like that for a while, like Russian Nesting Dolls, or a TARDIS. But in essence it let me make files where I could define what the CSS became. One file is my ‘define’ file, that was the first one I showed you. The next was my _admin.scss file, which had two more includes and a mess of what looks like CSS, if CSS had variables (which you know it doesn’t).

    Look. I can’t, and won’t try to explain Sass. I’d do a crap job, worse than you think I’m gearing up for here. I’ve only been seriously playing with it for about three hours. But in those three hours I went from unimpressed (I’m a hard sell) to understanding. I was able to generate fancy CSS files without have to search/replace. All I did was make a new define file, tell it to output into a folder, and I had my Ectoplasm back.

    Will I be using this a lot? Maybe. I can’t say I feel it revolutionizes theming for me, and it won’t for a lot of us. When don’t need to be able to spin up more CSS like this, CSS is something that generally remains static. It should, in my opinion. But the point would not be on the fly fix CSS, but to build out ‘themes’ of CSS. So perhaps for Brian Gardner it might change his world (hi, Brian).

    You see, every Genesis Theme comes with color ‘choices.’ Usually these are green, blue, orange/red, and purple. Imagine being able to spin up your own by making one small file, generating the CSS from that, put it in a folder in your child theme, and you’re done. Heck, if someone wanted to get really sassy they could make a plugin that would pull in special Genesis files and folders from your wp-content, much like we have a languages folder today.

    wp-content/genesis/themename1/color-style.css
    wp-content/genesis/themename2/color-style1.css
    wp-content/genesis/themename2/color-style2.css
    

    And so on. That could dynamically be searched for by Genesis and add in more color themes as desired. This way, I can make new styles for my theme without needing a child theme at all, or another CSS editor plugin (which is what I use today – this site is customized by mostly CSS).

    But. As Otto rightly points out, this over complicates things. Can’t I just search and replace blue for teal? Sure. But having the scss in the first place means I can look and see the four places I’d need to adjust colors to make it work. Or ten. So I can very quickly spin up a custom design, and I can tuck it away where my client won’t break it.

    So no, while I like Sass, and I think it’s incredibly interesting, I’m not really sure that adding code to CSS and requiring compiling will be needed for everyone. Where it’s a major selling point for WordPress core is easy to find. It lets them easily break apart the massive admin CSS files into sections, edit one at a time, and then on ‘build’ pull them all into one file, so we don’t have messy @imports all over the place.

    So it’s a good idea for me to learn Sass I suppose. And Grunt. Grunt is next.

  • Change Your Code

    Change Your Code

    “Should I Recode?”

    Old Code (Lock)A piece of spam comment made me think about this, recently. The spam was along the lines of “My developer wants me to switch from .NET to PHP but….” I deleted it at that point, but it made me think about my father. My father wrote some software called Riskman, which is still being used today. And it’s written in Visual Basic.

    I don’t know how familiar you are with that, but Visual Basic was written in 1991, around the time my younger brother was born. Sometime around the mid 90s, Dad took Riskman (DOS) and made it VB’d. I remember this as I was in high school and my father explained some of the theory of programing to me (the basic math part at least), and is part of why I took some computer classes in college.

    But that was over twenty years ago, and VB 6 (the last version) was written in 1995.

    “You’ve Come A Long Way, Baby”

    When I was growing up, my grandmother Taffy ran her own business, and in the front office she had posters of the old Virginia Slims ads. I never asked her why. Among the many things Taffy did, however, she had a computer system at her company. This was crazy rare and crazy expensive at the time. In fact, it was so weird that when they went to get a loan for the computer server room, the bank asked “IBM who?”

    But they persevered, got the money and the servers, and kept going until the early 1990s, when Taffy sold the company to Capezio, computers and all. In between, they had direct dial-up on Novatel phones, which I quickly mastered at a young age, in order than I could handle data entry and Taffy could make me breakfast. Taffy changed with the times. She moved forward as it was needed, and was ahead of the curve in some things.

    The Only Constant is Change

    If you didn’t see Jen Mylo’s keynote speech at WordCamp Portland, check it out.

    Websites change. Design styles change. What’s ‘cool’ changes. The logical extension? Code changes.

    CHANGEIt’s nearly 2014 and my father is still coding in VB 6. I had to help scrounge him up a copy of it with a license when he had to reinstall it on his new laptop. It was monumental. At the time, I asked him why he didn’t upgrade to .NET and he replied that he’d have to recode everything. This means mastering a new programing style and possibly language. My father’s in his 60s and he’s gotten a little curmudgeony about this stuff.

    But at the same time I pointed out a horrible fact. One day Microsoft was going to release an operating system that didn’t work with old VB apps. Sure, an executable is an executable, but one day that old EXE won’t work right. Worse, you look like you’re not keeping up with the times, that you’re not adapting to the changing landscape, and for a risk analytics programmer, this may be critical.

    Code Changes

    Perhaps ironically, Dad asked me about what he’d have to do to make his app work on an iPad, and we discussed data storage, the cloud, and how to keep data in sync between devices. I showed him Byword, which stores my data and downloads it locally when I need it to. He started to look to the future of how people will use his program. They’re not just sitting in cubicles anymore, they’re in the field wanting to update stats on the fly and be able to communicate, then and there, the risks.

    He knows coding it all up for iOS is monumental. Unlike .NET, there’s no vaguely similar comfort level to the new language. This is a massive undertaking, and it brings up the question of if he should learn it, hire an expert, or get a new partner. For 20 years, this has been a one-man shop with the code, and bringing in someone new is a major undertaking.

    My first ‘big’ WordPress plugin sucks. I love Disabler, but I want to sit and recode it with classes and singletons and using the options table properly. It’s a massive undertaking, and I’ve been putting it off for a long time. No reason other than it’s hard. If more people used the plugin, I’d probably do it now because there would be a driving need. In that way, I’m like my Dad. I don’t want to learn all the things I need to do what I’d have to do to fix it, and it’s not broken so why bother? And like my Dad, I do consider the future, where it will take me, and what that all implies.

    Should you change your code?

    Keep Calm and Iterate OnChanging your code to improve it to meet the current standards is not a requirement for all of us. As an idealistic goal, yes, we should all strive for it, but realistically we are a limited resource. Should you totally change all your code from VB 6 to .NET? One day, maybe, if that’s where your clientele go, yes. At the same time, even if you choose not to change your code, you should keep an open mind. The future comes at you pretty damn fast, and sticking your head in the sand just because it works today will end badly.

    You should change. You should grow, change, learn, expand, and improve. As we like to say here in Open Source “Release and iterate.” Don’t settle, but also don’t change needlessly.

    The best changes are the ones you don’t notice because they feel like they’ve been there all along.

  • Retina Favicons

    Retina Favicons

    Way back in 2009 I said that every site should have a favicon. It was not the first time I’d expressed such an opinion, and I still remember back when IE 5 rolled out and I saw them on my bookmarks for the first time. Actually, I remember when a coworker asked me to help her make them show again, and I had no idea what she was talking about. As soon as I saw them, I knew this tiny feature would be useful.

    Back in those days, of course, we didn’t have ‘tabbed’ browsers. So you knew what site you were on because that was your window. Now, with somewhere between 10 and 20 active tabs on a browser (depending on if you’re me or someone like Andrea or Nacin – I like the fewer) the favicon is a fantastic way to go “Aha! That’s where the tab for Google went…”

    Speaking of Google, the other day I was browsing on my iPad and realized that not only does Google show you different favicons depending on which page you’re on, but they also show you them in retina format.

    Hold the phone.

    Retina. Ready. Favicons.

    Well. Clearly I needed to upgrade mine! Of course there are problems with this. The old favicon standard was a 16×16 pixel square that you had to make memorable and identifiable. This is not simple. I picked a hat for ipstenu.org and on a retina display, this still looks okay, even though it’s pixelated. It gives off an 8-bit vibe to things, and that’s pretty me, in that retro-cool way, so I don’t mind. It’s not fuzzy, after all. The same cannot be said of my Spock-eye here, however. I didn’t want to lose the geekiness of the eyebrow, so I sat and pondered my options.

    favicon-old Since my original favicon (see right) was 16×16 and an ICO, I had no choice but to deal with being fuzzy, upgrade or make a whole new favicon. I wanted to keep Spock, so I grabbed a screen-shot of Spock from what is everyone’s favorite Spock episode, “Amok Time.”

    Amok Time

    I spent a lot of time cropping and tweaking, and finally I remembered that one of the things I am terrible at is images. Sorry, Spock. I still love you. But I resigned myself to my lack of ability in this, and figured that since I had recently redesigned Half-Elf, I may as well get a new icon. Something that wasn’t just geeky, but also more modern. Normally when I do this, I end up over at IconFactory, who were my go-to standards for desktop icons on my Mac. They used to have a pretty amazing Freeware section, but it hasn’t been updated since 2012, and that tells me they’re done with it.

    The real problem with icons is, of course, simplicity. The more complex you make one, the harder is it for anyone to know what it is. And it’s just plain hard to do this when you want higher resolutions. Conundrums. After messing around for more time, I remembered I had some old Nintendo retro icons saved from the last time I was doing this, and boiled it down to three:

    I’m not a huge Mario fan, so I kicked him out, and tried the Mushroom. Cute. Iconic. Identifiable to some. And it had a reminder to me of a childhood book. It was also ‘bright’ and stood out on my toolbar. So I did that.

    Now you can’t always get away with this. Sometimes you have to bite the bullet and make a new favicon, or convert the perfect PNG to a favicon. Remember, IE doesn’t accept PNGs for favicons. For that I actually use X-Icon Editor, which lets me tweak each size on it’s own. That means you have make a super complicated 64×64, for retinas, and a simple 16×16 for everyone else. But remember: KISS.

    Keep all this simple.

    Oh. And the mushroom is an extra joke. See, if you hit it in Super Mario Bros., it took you from Small Mario to Normal Mario. Now it takes me from small favicon to large favicon. And yes, it was on purpose.