Roy Moore lost, not because Alabamans are stupid. Roy Moore lost because Roy Moore was a terrible candidate with child molestation allegations hanging round his neck. Moore should’ve been better vetted, one. But also abandoned when credible allegations came forth. Because it turns out some Republicans couldn’t stomach voting for a man accused of getting handsy with an underage girl. Yet this is somehow surprising to red-eyed morons convinced just being against the Democrats is a winning strategy. Roy Moore lost because too many egotistical Republicans in high places overestimated the power of tribalism: “Moore has an (R) after his name, ergo #MAGA and screw the libtards!”
Just “being against the other tribe” didn’t work in Alabama. It won’t work nationwide in 2018 either. Or 2020.
Conservatives, you had better hear this. I know many that voted for Roy Moore did so because of the two-party system, because of the “lesser of two evils”. But many more did so because he was a Republican. But running as a Republican shouldn’t be enough.
We are a party of ideas. We are a party of ideals. This man had heavy allegations hanging from his neck. Same with Trump. It’s why Trump was close to not winning. Literally anyone could have beat Hillary. But we picked the most polarizing, most offensive, worst candidate in recent history.
We need to learn to vet our candidates better and when shit comes out, we need to push them aside. Trump’s famous recording should have been that moment for him. These allegations, once credible, should have been the moment we pushed Roy aside.
We will lose in 2018 and 2020 if we do not get away from tribalism.
If you’re a conservative in tech, it is next to impossible to live in an echo chamber.
Over the last week, my Twitter timeline exploded with rage over the two big GOP topics of the week: net neutrality and the big tax bill. If I was to believe my timeline, these two items were doomsday-grade events. There was no way that a human could stand by this massive tax bill or against net neutrality. Not a single dissenting voice.
Sometimes this is a real sign that something is truly important and should be stood for or against. Sometimes this is a sign of a lack of diversity in thought or ideology in your news feed.
Seeing all these voices — voices that I greatly respect — freaking out over the tax bill, I started to wonder if the GOP had truly jumped the shark. So I went to a few major news sources and a few minor ones. I sought answers and tried to understand the facts from my worldview. And found myself agreeing with the majority of the included items, while also understanding how others would see these as bad.
Echo chambers exist when we surround ourselves with a homogeneous group of voices. As a conservative, it is next to impossible to live in an echo chamber. If you want to follow anyone in tech that matters, you’re going to hear opposing views on political matters.
What are you doing to stay away from echo chambers?
The web, at its best, should be resilient. Nothing warms my heart more than a 20 year old page that’s still kicking, a 10 year old link that redirects properly onto a completely new domain or platform or a modern site that can serve something useful to a 15 year old browser. To me, that’s the web at its best.
Someone replied to my big #bbd17 post yesterday about my advocating for sites that work in IE 6. To note, it’s the quote above that this is in reference to.
As a front-end web developer, I do not test regularly in IE 6. I haven’t tested in IE 6 in a very long time. However, I write structured HTML that can be displayed without CSS. I write JS that isn’t necessary for the display and functionality of the page. So these things gracefully degrade.
No, my pages are not pixel-perfect in 15 year old browsers. But the content is accessible.
This year we saw Groupon, Spotify, and DirecTV decide to only support Google Chrome. For the web standards crowd, that should enough of a rallying cry for the cause. But how did we get here? Does anyone give a shit anymore?
Many web developers have “moved on” from a progressive-enhancement-focused practice that designs web content and web experiences in such a way as to ensure that they are available to all people, regardless of personal ability or the browser or device they use.
And this is the foundation for what has happened. Many web developers have moved on from Progressive Enhancement. Supporting multiple browsers is much easier with Progressive Enhancement. You rely on the error recovery that HTML and CSS provides. You build on that. Layout your page for your Lowest Common Denominator. Mobile. Then, if CSS Grid is available, enhance the layout. Provide a zip-code-based location lookup tool. Then, if the Geolocation API is available, add a button to use your location.
This was one of many big pushes of the Web Standards movement. Before the Web Standards movement, "Best viewed in Internet Explorer" was a common badge. Developers would choose to only support and test for one browser and, often, block anyone coming from different browsers. As I wrote in June, I remember when I first got my Mac in 2004, many sites blocked me altogether. IE 6 didn't exist for Mac and many sites required it.
So what? “What’s so bad about only supporting Chrome?”, you may ask. It represents over 75% of web traffic, right? So did Internet Explorer back in the day. That would be the same argument many used at that time. Back in that day, there were major feature differences between IE and Firefox/Netscape. Because standards didn’t exist, Internet Explorer and its competitors invented new features. Lots of new features. The features that were the same were often implemented differently. So supporting multiple browsers required lots of effort depending on what you needed. IT departments would prevent employees from installing other browsers and then build internal applications to run on IE only. But IE wasn’t available everywhere. My Mac couldn’t access my bank’s website in 2004 unless I set it to spoof the IE user agent. So the features that the bank needed were supported in Safari, but they had a block for browsers other than IE. If I didn’t know how to change my user agent, I’d have been blocked by something as important as accessing my bank.
Today, Edge, Firefox, Chrome, and Safari are relatively the same. Build something for Safari and it will mostly just work in Firefox. I built a project this Fall that took two months worth of work to build and only a couple hours to fix a few minor things in Firefox and IE/Edge. No big deal. But if I want to access the desktop site for Spotify on my 13" iPad Pro, they block it. I cannot install Chrome. Or Firefox. On iOS, my only option is Safari.
We— those that believe in Web Standards, those that fought in the first battles and pushed our fellow developers to learn more and produce more inclusive, accessible, cross-platform websites— we need to stand once again for Web Standards. We need to make it clear what the best practices are and fight against the bad practices where we work. There are no excuses in 2017. Web development has gotten easier. Forking code for multiple browsers is significantly less necessary today. Changes are, usually at best, a few hours of work for big projects. No excuses.
Two years ago when Web Tools was released, CSS Grid was not supported in its current form by any browser. Now it is supported by all of them. But, in my opinion, unlike most features of CSS that have come before, Grid needs some good tooling around it to help ease work with it in development. So I have started to work on some tools to help with Grid and along the way, I have been dabbling a lot with Grid.
Below is a basic experiment: reproduce the layout of the new App Store on iOS. Along the way, I also found good use for CSS Custom Properties — Variables. I hate that they aren’t called variables. — in setting the background of articles, the background and text color of the text block on each, and more.
CSS is getting more and more powerful. But, along the way, it is getting more and more simple. Where old layout techniques (tables, floats, flex box) were truly ill-suited for layout, CSS Grid is 100% made for layout. So go, dabble with Grid. Grab a comic book and reproduce the layout. Or a poster from the 70’s. Learn the ins-and-outs of it because this is the future of where front-end web development and web design is.
I've been feeling this hard lately. When we are talking something like WordPress, we care about a few metrics. Page load speed and size being the primary. Memory usage and performance on server matter, but often — sadly – much less.
However, when we are talking the client, the browser, much more should matter.
I am responsible for the code that goes into the machine, I do not want to shirk the responsibility of what comes out. Blind faith in tools to fix our problems is a risky choice. Maybe “risky” is the wrong word, but it certainly seems that we move the cost of our compromises to the client and we, speaking from personal experience, rarely inspect the results.
Yeah, we also rarely analyze the browser memory usage or repaint counts of our pages. I had my laptop fan turn in this morning as I quickly opened a half a dozen tabs from ComicBook.com and they all auto-loaded dozens of trackers and started playing video. Each tab. Safari instantly ran up gigs of memory and my CPU hated me.
But this is modern web development. Who gives a shit anymore?
I needed the break. Our second child is scheduled to be delivered on December 18th. Of course, that means a ton of prep over the last couple months, including much-needed cleaning, a lot of furniture building, and rearranging everything. And then there is Christmas. Which I kind of love more than any other holiday.
So with an extended weekend because of Thanksgiving, we got a lot done in the Finley Home. Mostly during (well-fought) naps of our daughter Lottie. But I also got some good development time in to work on a couple of projects. I pushed two of the first updates Web Tools has seen in almost a year. For an app that I barely touch, it is still pulling about $200 a month in sales.
I also built a dresser, cycled 30 miles, got our live Christmas tree (see above), and ate a fair amount while attempting not to gain any — regret-inducing — weight. I'm down 25 pounds since the start of Summer and would prefer to keep it that way.
So: great weekend. Relaxation, code, family, and food. I give thanks to God for all of that. My wife is amazing, my daughter is a dream that I enjoy daily, and we have so many blessings in our life that I cannot begin to list.