and talk about it….

Category Archives: Musings

As we struggled with trying to make advanced designs work in Internet Explorer (6 & 7), I think those of us developing for the web (at least at my job) finally convinced the designers to embrace progressive enhancement. It was a beautiful thing.

Now that we have lots of cool things getting adopted by more and more browsers, you would think, “this is awesome, progressive enhancement for the win!” But instead of designing that way, with fallbacks, we have reverted to the “make it work the same everywhere” mindset and are designing advanced UI with no fallbacks. So, once again, we are requiring javascript to create UI. (I’m not talking about our Javascript technologies like React, I’m talking about needing to code things that can be done in CSS in some browsers but not all.)

Wrong, wrong, wrong.

No, no, no.

I think web designers have a responsibility here that many are failing. They see a design on a site in their modern browser (or that someone used javascript to create) so figure it can be done and they will design something similar. Number one, they should know how the web works and what it takes to code that UI, or number two, if they don’t, they should listen to the people coding up their designs and work with them on graceful degradation or come up with another design that will work the same way everywhere. No javascript required.

Period. End of story. Let’s keep the web fast and make our sites only get better as more browsers implement the good stuff.

PS I haven’t used them much, but I have also decided today that I am going to start recommending using polyfills that can eventually be dumped. (If we are going to be using javascript, anyway.) When I can’t win the progressive enhancement argument. Like, um, most of the time.

I was chatting with another old lady the other day and I was surprised to find out that work is “just a job” to her and that she works hard everyday not because she loves her work, but because she’s doing what she can to stay employed.

I think a lot of people end up in that state after racking up more than several years of working, probably even more so if they’ve stayed at the same company for all those years. (I may or may not be speaking from experience.)

When you’re young and just starting out, you’re excited about the prospect of things you could accomplish…you’re promised a lot, and people have faith in you because you’re young and fresh and excitable.

After a few years under your belt, you start learning that not everyone is young and fresh and excitable, and that many people actually just want to do whatever the business needs from them so they can get home and do what they really love. So instead of spending your time trying to convince people that something would be really cool to do and it will make a difference, you end up just doing whatever people ask, because it’s just less trouble.

You start to get really good at doing whatever people expect because it keeps things moving along, and at some point you wonder why you even bothered to try harder in the first place, because there are plenty of other cogs that slowly move together to keep the machine running. It’s not worth one cog to be bigger and more efficient, because the machine only works as hard as the least hardest working cog.

So by the time you’ve become a “seasoned” worker, you don’t have any reason to do things like push back against status quo or sit in long architectural debates with even more seasoned people, because you know you’ll lose anyway, and all of that stuff in the end doesn’t matter, since all you’re doing is collecting a paycheck from a place that doesn’t value your opinions or ideas, and is slowly starting to realize that you cost more money to them at your advanced age and salary level than two or three kids fresh out of college. Depressing.

So what can we as old ladies do about this, before our desks and laptops get soaked with drool?

Don’t forget where you came from. You were young and fresh once. You can get back there, just keep learning and keep your skills up-to-date. You have something that kids fresh out of college don’t have, and that’s experience. You know what’s worked, and you know some tips and tricks that can help others. Share your insights, even if you think people aren’t listening, because eventually people will. Don’t give up.

Find or start a network. There are people out there just like you. Some managed to get themselves past their midcareer slump, some are still struggling, some gave up. Listen to their stories and advice and you can learn what’s worked for people and what hasn’t. Maybe you can help others along their way also.

Love what you do, and if you don’t love it, don’t do it. I watched Jiro Dreams of Sushi and it was such a beautiful documentary about sushi and one man’s passion for it. It’s rare that you end up in a job that you love, but if you do, don’t let it go. Life is too short to work at job that makes you unhappy. I know people might not have a choice to change jobs or careers, but it will probably be worth the struggle if it means longer and more potential happiness in the future. Somethings aren’t worth the pain, so if your cons outweigh your pros in the career you’re currently in, it’s never too late to change. There’s some good reading about this in this HBR article.

No, there’s nothing wrong with just feeling like your job is “just a job”, because that’s what it really is. But if you’re like me and have the bizarre expectation that you could be happier with your job, then don’t sit around and get unhappier, do something about it.

Sometimes when I’m using a sewing machine, I find that pushing the fabric through gets so repetitive that I don’t realize that something weird happened with the thread coming out of the lower bobbin, so when I stop to look after I’m done, I see that the underside is a weird clumpy, stringy mess. And then I have to start over.

I get that same feeling sometimes when I’m coding with CoffeeScript and Jade. For those of you unfamiliar with CoffeeScript, it’s just like JavaScript, but you don’t have to use parentheses or brackets. Or semi-colons. In fact, you’re punished if you do. Although for functions without arguments, you need to use parens otherwise it will get mad. So it’s fickle. Plus, you can’t just make your changes and it will just work, you need to compile CoffeeScript into JavaScript. I think psychologically as you’re writing it, you believe it is saving you time not having to write “var” to declare variables and writing your if/else clauses more like a sentence (which is actually nice, but I’m disappointed when I can’t use if … ? … : … syntax), but I tend to think in the long run, you don’t save time because you won’t run into the errors that you would with normal JavaScript. Ok, so debugging JS is a pain in itself, but adding syntax errors on top of that drive an old woman battier!

error: reserved word “var”

Jade has a similar idea except it is a templating language for Node, so it’s basically HTML without brackets. I recently spent a lot of time rewriting my HTML so there are no brackets and making sure I’m indenting properly. Of course, after I figured out that I can change the indenting to use spaces from the bottom of Brackets, I got much less of those errors, but there’s nothing like vague errors like “Error at new JS_Parse_Error” that only get resolved after trying if/else clauses with and without the leading -. Looking now at the docs, I guess you never need the leading – anymore, which is a good move because I could never figure out when I needed it and when not.

Invalid indentation, you can use tabs or spaces but not both.

Aaaack!

Don’t get me wrong, I love the evolution of programming languages, and it’s good to see that people are still coming out with new stuff, but sometimes I just feel like I’m too old to understand why not using brackets is so awesome. Especially when I sit there writing some code and I go to the browser to test it, and there’s an error because I indented poorly.

I just started a new prototyping project using Node, and I actually pined for two seconds about how it would be nice to use Jade, but then I found EJS which accomplishes the same thing, but it’s more of the PHP/JSP/Angular approach where you just add code directly into your HTML. Whew! There really is a language that exists for everyone. You don’t have to force yourself to use something just because everyone else does. I’ll be ok until the next wave of new-fangled languages come out. Maybe like this?!

This has been brought to you by Gladys, whose first programming language was Logo.

I just recently stumbled across this article about the demise of Internet Explorer. Or is it evolution? Whatever. Moving forward, Microsoft is working on a browser dubbed Spartan and has plans of retiring Internet Explorer.

I’ve been waiting for this day for forever. Even currently working on a project at work with the luxury of using 11 as the minimum browser version of Internet Explorer, I’ve come across things that it still doesn’t support.

Grrrr. IE. Grrrr.

And that is the feeling amongst most web developers. I haven’t met one that writes code for the Internet Explorer browser. Most of us work in Webkit or Mozilla and test after-the-fact in IE.

But, it wasn’t always like that. There was a time when I thought Internet Explorer was the better browser.

Say WHAT?

That was back in the 90s when I was working with IE 3 and Netscape 4. It was much easier to get things to look right in IE 3. And, so, with that thought, I wanted to take a walk down memory lane with Internet Explorer.

I don’t really remember the blur of IE 3 to IE 5.5. It was a long time ago and I wasn’t just doing web coding then, I was also creating multimedia CD-Roms using Macromedia Director and similar programs. But I remember IE 5.5. Because I kept lobbying for us to drop programming support of it in my company. And when we did I was ecstatic. Little did I know how long IE 6 was to stick around. And yet, once IE 7 came into town I realized that IE 6 was actually the better browser. But I move too fast. We need to visit with IE 6 for a bit.

During all those years with IE 6 I learned of doctypes (there was an invalid one going around early on – Dreamweaver was generating it – that caused a lot of problems, basically putting your site into quirks mode), haslayout and the holly hack (and then the zoom fix), the acid test, css hacks for targeting IE (like *html), conditional comments, and more that I’m sure I’m forgetting. And then there were satirical sites like http://www.ie6death.com/, helpful sites like Position is Everything (thank you, Big John, you saved my sanity), and shims like IE7.js (it would have been nice if the real IE 7 actually supported the stuff this shim did!) by Dean Edwards.

As I mentioned, when IE 7 finally got here, I quickly learned it was a buggy browser. It was really broken in right-to-left languages, forcing me to resort to layout tables once in awhile. I think it was during that point I looked into Google Chromeframe, and decided it was probably too buggy to recommend to my employer after monitoring some forums for a bit. Disappointing, but it has been discontinued, so glad I made the decision I did.

The one upside to the IE 6 and 7 years is that I became the go-to person for IE issues. Not that I was an expert on them, by any means, but I was so used to figuring out workarounds that I could isolate the issue in no time. Nostalgic days, but I am happy I am not needed in that capacity anymore. I also created this site during that time, to document things I was running into so I could find the solution again.

So there you have it. I’ve dreamt of the days where we could code for modern browsers without looking back. And we are pretty much there. Onward, fellow HTML & CSS coders. It is a brand new day.

Hurrah!

This post has been a musing by Gertrude, a long-time HTML/CSS developer.