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.
Damn. That hit close to home.
Perfect. I spent most of my summer using my iPad Pro as my primary computer. I love the bewildered look on “professionals” when they see what I can do on it.
One learns a few things.
Of the last few years, I have pushed hard against using jQuery. Simply put, most browsers have solid support for new technologies that emulate many of the great features of jQuery. Those native features do it faster, better, and require less code. Remove jQuery and you remove 30+kb of resource load.
I have pushed against Bootstrap. It is a large beast of a library when most sites that include it use it for a grid system and not much else. A grid system can be written in less than 100 lines of CSS that’ll achieve the needs of your site specifically, so why include 200+kb of resources?
I have pushed against WordPress. It’s not good for the developer and offers a not-great experience for the client. There are better CMSs.
So this Summer and Fall, I decided to dabble.
I hadn’t built a website on WordPress in many years. The last one I built was before ACF took off. So I built a client a site in WP and I didn’t hate it. Much of what I have said against WP remains true. Especially after launching a large site on Craft earlier this year. But, for what it does well, it does well. Build a couple of custom plugins was a breeze. ACF made storing complex data from two third-party sources easy and displaying it easier.
I have never used Bootstrap but always maintained that it is best suited for prototyping and administration panels. So as I started building an admin panel for a current project, I decided to try Bootstrap. And I didn’t hate it. There are parts that I won’t touch. The grid system is actually one of them. The spacing utility classes, while useful if you are not writing a lick of CSS, are another. But, the component structure isn’t far from something like Atomic CSS and is actually a welcome thing for the needs of the project. Unfortunately, it requires that the page resources weigh over 300kb, which means I will likely scrap Bootstrap in a few weeks and rewrite with my own CSS.
We must, as developers, not become set in our ways and get dogmatic about certain things. There are things that we should be more opinionated about than others. I wasn’t necessarily wrong with either WordPress or Bootstrap. But, now that I have worked more with each, I can see the lure of them when it comes to getting something done quick and dirty. Atop that, I now have a more solid argument against some points of them.
So if you haven’t dabbled with something in a while or at all, maybe try. You may learn a few things.
But the core principles and mechanisms [of CSS] are no more complicated than they were a decade or even two decades ago. If anything, they’re easier to grasp now, because we don’t have to clutter our minds with float behaviors or inline layout just to try to lay out a page. Flexbox and Grid (chapters 12 and 13, by the way) make layout so much simpler than ever before, while simultaneously providing far more capability than ever before.
I built my first couple of layouts with Grid over the last weeks. Hot dog. Things that would have taken me forever with floats took me just a couple lines of code with Grid. I’ve been using Flexbox for a while, to the point of mostly knowing the syntax, but Grid is a brand new beast.
It is astonishing that we have, for almost 20 years of CSS, never had a native layout system. Now we do. Instead of complex (and large) libraries like Bootstrap, we can now do complex layout with simple syntax. Hell, we can do far more complex, asymmetric and two-dimensional layout with Grid that we would never consider doing before. A renaissance in web design is coming. But are front-end developers up to snuff?
The subtle difference between progressive enhancement and graceful degradation is lost on too many. Many of those that support “mobile first” don’t support progressive enhancement, which is an oxymoron.
Mobile first is progressive enhancement. Start with the most important part of any site: content. Mark it up. Semantically. Why? Because some readers experience your site without CSS. It’s true. Some just want the content. Screenreaders and search engines are the largest of these.
Then style the content. That’s the CSS. Mobile first says start with the LCD, the Lowest Common Denominator: mobile. But make sure that your CSS works in the LCD. That might be IE 9. It might be IE 11. Look at your analytics if possible. Progressive enhancement means add features when available. Progressively enhancing. You see? So if you are using a feature that is only available to IE 11 and better (Chrome, Firefox, etc.) and you need to support IE 9, make sure that the feature is not necessary for the user experience.
We need to get back to progressive enhancement as the standard. We need to get back to the promise that the web is accessible to all, no matter the device they use.
When every new website on the internet has perfect, semantic, accessible HTML and exceptionally executed, accessible CSS that works on every device and browser, then you can tell me that these languages are not valuable on their own. Until then we need to stop devaluing CSS and HTML.
Remember faux columns? I just did equal-height columns with flexbox yesterday. The old days sucked.
I have remained silent for the last week on the matters in Charlottesville. This was a choice, not a lack of concern, a lack of thoughts, or a mistake. I broke that silence last night. I have words. This is for the Christians. Not that this is not relevant for everyone, but this is for the Christians.
We need to condemn racist language, thoughts, and actions with the strongest words within our walls. Within the Blood, we cannot allow these ideologies. Not white power. Not black power. Not any race above any other. Let me make this clear. This is not welcome in the Church. It is heresy. Elders, this is your job. Come alongside those that speak or think these ideologies and correct them. Church discipline is needed here.
We are all of the bloodline of Adam. Every one of us. We are all of the bloodline of Noah. Every single one. Jesus died to cover the sins of the bloodline of Noah and Adam. That includes everyone. Racism has no place in the Gospel of Jesus Christ. None.
Brothers and Sisters.
The world is not covered in the Blood. Your enemy may not know Jesus. But you do. When you were yet a sinner, Jesus came and died for you. You were worse than a filthy rag. You were the worst of the worst. Jesus had no reasonable reason to love you, yet he did. That is what we are called to, brothers and sisters. Love. Love without rhyme or reason.
In the last week I have seen many of you advocating for violence against both sides. I get it. Antifa has done horrible, violent things. The alt-right has done the same. Vengeance is not yours, though. Let the law punish those that break it. No matter if you advocate for violence against those that commit violence or those that offend with words, you are wrong. You are. You are no better than the fascists and the communists last weekend.
Except you should know better.
Here is my advice. The only thing that can eradicate this present darkness is the Light. So let it come out into the light. This is an extreme minority. It serves no threat. So let them speak. Evil has a way of looking uglier when light is shined on it. But love the people. We are called to love the oppressed. Both of these groups feel oppressed. Whether they are right or wrong, show them love. Walk them to Jesus. You punch them, and you will not be serving Christ, but yourself.
Christian. The world is watching for your response. Don't respond like the world.
There’s no such thing as a laptop replacement, and if there were, the iPad isn’t meant to be one.
Golly, I’ve been thinking the same thing since WWDC. As all the reviews of the new iPads and of iOS 11 have been hitting, the age-old— well, seven year old question has been iterated again and again. Is this the iPad that finally kills the laptop?
Seldom does the writer acknowledge that they mean “is this the iPad that finally kills my laptop?” It’s a very personal question. Apple sells many different computers.
For many, the iPhone is the only computer they need. They scroll through Facebook, reading articles and liking photos. They message their friends. They respond to the occasional email. They watch Hulu and Netflix. My wife is usually in this camp. Perfectly comfortable to never grab a bigger screen.
For others, very powerful, customizable computers are required. Video editing, graphic design, photo editing, and more. They can do everything and more on their MacBook or iMac.
And then there are those that are happy with their iPhone, but sometimes or even often need a larger display. They may use a word processor. They may communicate much more and desire a bigger software keyboard. They may even prefer a Bluetooth keyboard. They may build websites. Or design websites. Or edit photos and video.
Consumers pick the computers that suit their needs. You may find that you can do everything you need on an iPhone. You may want a bigger screen, but more portability than a laptop. Or you may need much more power for your day-to-day tasks.
For me, I haven’t touched my Mac in over a week. I haven’t needed to. I’ve found Web Tools, Coda, and a Droplet to be all I need to get my job done. Most of that time, it has been a 12.9" iPad Pro that has done the job, with an iPhone stepping in occasionally to handle an email or text message.
Is the iPad the computer for you? You won’t know unless you try.