Category Archive for: performance

rfp-robotRFP ROBOT: Website Request for Proposal Generator

The time has come for a new website (or website redesign), which means you need to write a website request for proposal or web RFP. A Google search produces a few examples, but they vary wildly and don’t seem to speak really to your goals for developing or redesigning a new website. You need to write a website RFP that will clearly articulate your needs and generate responses from the best website designers and developers out there. But how?

Have no fear, RFP Robot is here. He will walk you through a step-by-step process to help you work through the details of your project and create a PDF formatted website design RFP that will provide the information vendors need to write an accurate bid. RFP Robot will tell you what info you should include, point out pitfalls, and give examples.


Musings on HTTP/2 and Bundling

HTTP/2 has been one of my areas of interest. In fact, I’ve written a few articles about it just in the last year. In one of those articles I made this unchecked assertion: If the user is on HTTP/2: You’ll serve more and smaller assets. You’ll avoid stuff like image sprites, inlined CSS, and scripts, and concatenated style sheets and scripts. I wasn’t the only one to say this, though, in all fairness to Rachel, she qualifies her assertion with caveats in her article. To be fair, it’s not bad advice in theory. HTTP/2’s multiplexing ability gives us leeway to avoid bundling without suffering the ill effects of head-of-line blocking (something we’re painfully familiar with in HTTP/1 environments). Unraveling some of these HTTP/1-specific optimizations can make development easier, too. In a time when web development seems more complicated than ever, who wouldn’t appreciate a little more simplicity? As with anything…

Read More →

PWA Stats

A community-driven list of stats and news related to Progressive Web Apps Things like: Twitter Lite saw a 65% increase in pages per session, 75% in Tweets, and a 20% decrease in bounce rate. Twitter Lite loads in under 3 seconds for repeat visits even on slow networks. It’s in the same veins as WPO Stats, which is focused solely on web performance and positive effects of doing a good job. Direct Link to Article — Permalink PWA Stats is a post from CSS-Tricks Source: CssTricks

Media Temple

Media Temple has always been huge supporters of the web design and development communities. They got some deals cookin’ right now to celebrate the 20th anniversary of CSS itself. Funny to think this site is just about exactly half as old as its namesake. Over on their blog, Alex Rojas rounded up some highlights of those first 20 years, and I did similarly. I’ve used Media Temple for hosting for this site, and dozens and dozens of others, throughout my years in web development. One of the things I always think about with hosting is speed. To be perfectly honest, a host can only do so much for you. As long as you’re on good hardware that is appropriate for your site, the rest of that, say 90%, is on you. You need to make good choices, write good code, do persistent monitoring, and all that. When you’re working on…

Read More →

(Now More Than Ever) You Might Not Need jQuery

The DOM and native browser API’s have improved by leaps and bounds since jQuery’s release all the way back in 2006. People have been writing “You Might Not Need jQuery” articles since 2013 (see this classic site and this classic repo). I don’t want to rehash old territory, but a good bit has changed in browser land since the last You Might Not Need jQuery article you might have stumbled upon. Browsers continue to implement new APIs that take the pain away from library-free development, many of them directly copied from jQuery. Let’s go through some new vanilla alternatives to jQuery methods. Remove an element from the page Remember the maddeningly roundabout way you had to remove an element from the page with vanilla DOM? el.parentNode.removeChild(el);? Here’s a comparison of the jQuery way and the new improved vanilla way. jQuery: var $elem = $(“.someClass”) //select the element $elem.remove(); //remove the…

Read More →

The reason why Acquia supports Net Neutrality

If you visit Acquia’s homepage today, you will be greeted by this banner: We’ve published this banner in solidarity with the hundreds of companies who are voicing their support of net neutrality. Net neutrality regulations ensure that web users are free to enjoy whatever sites they choose without interference from Internet Service Providers (ISPs). These protections establish an open web where people can explore and express their ideas. Under the current administration, the U.S. Federal Communications Commision favors less-strict regulation of net neutrality, which could drastically alter the way that people experience and access the web. Today, Acquia is joining the ranks of companies like Amazon, Atlassian, Netflix and Vimeo to advocate for strong net neutrality regulations. Why the FCC wants to soften net neutrality regulations In 2015, the United States implemented strong protections favoring net neutrality after ISPs were classified as common carriers under Title II of the Communications…

Read More →

The Tenth Fourth

We made it a decade! It’s our tenth birthday! 🎉 This is an extra-special one, as we hit those double digits. Each year on July 4th we mark the occasion with a post. In that tradition, allow me to ramble on a bit about the past and present. The very first post ever on this site was literally a CSS trick. It’s a classic, too. “Header Text Image Replacement”: .headerReplacement { text-indent: -9999px; width: 600px; height: 100px; background: url(/path/to/your/image.jpg) #cccccc no-repeat; } Funny, I just used that trick a couple of days ago. The post is interesting to me for a number of reasons. For one, I certainly didn’t come up with that technique. At the time, I was just learning CSS myself and writing down interesting stuff I’d come across and used in my own work. I think I felt like I learned it a little more deeply by…

Read More →

Bing Ads Introduces In-line Competitive Metrics by @MattGSouthern

Advertisers can now add competitive metrics, also known as “share of voice” metrics, to in-line performance views.The post Bing Ads Introduces In-line Competitive Metrics by @MattGSouthern appeared first on Search Engine Journal. Source: https://www.searchenginejournal.com/feed/

Gmail Sponsored Promotions: 5 Tactics to Boost Performance by @Aimclear

Gmail Sponsored Promotions provide insight into email behavior while generating conversions. Here are targeting tactics to improve your next campaign.The post Gmail Sponsored Promotions: 5 Tactics to Boost Performance by @Aimclear appeared first on Search Engine Journal. Source: https://www.searchenginejournal.com/feed/

How to Use Historical Quality Score Data for Better Ads by @LisaRocksSEM

Here’s how you can use AdWords’ historical quality score data to optimize and improve your PPC performance.The post How to Use Historical Quality Score Data for Better Ads by @LisaRocksSEM appeared first on Search Engine Journal. Source: https://www.searchenginejournal.com/feed/

Reactive UI’s with VanillaJS – Part 2: Class Based Components

In Part 1, I went over various functional-style techniques for cleanly rendering HTML given some JavaScript data. We broke our UI up into component functions, each of which returned a chunk of markup as a function of some data. We then composed these into views that could be reconstructed from new data by making a single function call. This is the bonus round. In this post, the aim will be to get as close as possible to full-blown, class-based React Component syntax, with VanillaJS (i.e. using native JavaScript with no libraries/frameworks). I want to make a disclaimer that some of the techniques here are not super practical, but I think they’ll still make a fun and interesting exploration of how far JavaScript has come in recent years, and what exactly React does for us. Article Series: Pure Functional Style Class Based Components (You are here!) From functions to classes Let’s…

Read More →

Naming Things is Only Getting Harder

I was working with CSS Grid and came to the grid-column and grid-row properties. I paused for a moment. They’re not overly complicated. They are shorthand properties for expressing where an element should start and end on a grids defined columns and rows. What caught me was the fact that I can name these lines. It’s not a requirement (you can use numbers), but the ability to name the grid lines is something we can do here. In fact, naming lines can open up neat CSS tricks. Grid lines are another item in a long list of examples where front end developers have the power to name things. Class names and IDs have always been things we need to name in CSS, but consider a few of the more historically recent things where naming is important when it comes to styling: Variables: Naming values for context, such as re-usable colors…

Read More →

Zero Talent

I saw this shared randomly on the interwebs sometime ago and I thought I’d capture it here and add a few wandering thoughts related to hiring. So, here you go: 10 Things That Require Zero Talent: Being on time Work ethic Effort Body language Energy Attitude Passion Being coachable Going the extra mile Being prepared I’ve reprinted it without change from the original image that I saw. I agree on most of these things, by the way. Strangely, many of us forget how important these things are, especially when we’re hiring folks. Instead, we look for very specific technical skills or expertise, things that we can easily count or measure or qualify as true. But how do you “test” for attitude? How do you qualify someone being truly coachable? Those things are hard to measure and certainly hard to qualify. But they are more important than any particular skill or experience…

Read More →

What Does a Well-Documented CSS Codebase Look Like?

In the front-end community, there is a lot of attention related to documenting JavaScript. That’s not so much the case with CSS. Often times I feel like lost when I join a project with minimal or no CSS documentation. Even though CSS is relatively easy to write, it can be quite hard to maintain. The specificity, the global scope of everything, and the lack of guidance can easily lead to inconsistency, code duplication, and over-complication. I’ve long been curious what a really well-documented CSS codebase looks like. Here, I’ll share my experience, along with the expectations I have towards my vision of well-documented stylesheets. It surprises me where I hear people say that commenting CSS is not that important. I imagine none of them have had to deal with 10,000+ line stylesheets! Often I’ve struggled with what HTML results in what specific style. Without having a solid context about the…

Read More →

Percona Live 2017 Blog Post: ProxySQL as a Failover Option for Drupal

One of the more interesting products to hit the spotlight at this year’s Percona Live Open Source Database conference was ProxySQL. This open source MySQL proxy server has been around for a couple of years now and keeps adding more features. The current release (1.3.6) has the usual features that you would expect from a proxy server, like load balancing and failover support, but ProxySQL also has database specific features like a query cache and query routing. The query cache is a scaling feature that serves data at the proxy layer to avoid contacting the database at all. This feature has become very relevant now that Oracle has announced that they’re most likely going to remove the query cache from MySQL in MySQL 8.0. Query routing can map query types to specific servers for very specific forms of load-balancing and read/write splitting. Other interesting of features of ProxySQL that are…

Read More →

ProxySQL as a Failover Option for Drupal – A Report from Percona Live 2017

One of the more interesting products to hit the spotlight at this year’s Percona Live Open Source Database conference was ProxySQL. This open source MySQL proxy server has been around for a couple of years now and keeps adding more features. The current release (1.3.6) has the usual features that you would expect from a proxy server, like load balancing and failover support, but ProxySQL also has database specific features like a query cache and query routing. The query cache is a scaling feature that serves data at the proxy layer to avoid contacting the database at all. This feature has become very relevant now that Oracle has announced that they’re most likely going to remove the query cache from MySQL in MySQL 8.0. Query routing can map query types to specific servers for very specific forms of load-balancing and read/write splitting. Other interesting of features of ProxySQL that are…

Read More →

Oh No! Our Stylesheet Only Grows and Grows and Grows! (The Append-Only Stylesheet Problem)

This is a real worry these days. I’ve heard it from lots of lots of developers. The years tick by on their projects, and all they ever seem to do is add to their CSS, never remove. It’s not just a feeling, I’ve talked with companies before that track hard data on this. Over five years of tracking the size of their stylesheet, and all it’s ever done is tick upwards in size. This could be considered problematic for several reasons: Files getting bigger is worse for performance The developers are afraid of the CSS #2 being, in my opinion, a much bigger deal than #1. The overall file size of CSS is likely to be fairly small compared to things like image assets and even the JavaScript payload these days. Fancy tooling and the world’s internet speed ever-lurching faster will probably make #1 not that big of a deal.…

Read More →

10 Steps to Building Faster Websites

Google says websites should load in less than 2-3 seconds and when Google speaks you better damn well listen. Actually, it’s not only Google that comes up with numbers like this; countless studies say you want to be hitting the 2-second benchmark to stop traffic and valuable leads running out the door. There’s a problem, though. As the web becomes a more complex medium, performance tends to take a backseat to glitzy features. Which is fine, if you want a fancy website hidden behind that blank loading screen, but not so good when most people quit the session before your first line of content loads. So how do you find that sweet-spot between a fully-featured website and one that hits the 2-second benchmark? #1: Be careful with website builders Website builders are great for building websites quickly but quite so good when it comes to loading times. Bulky code working under the…

Read More →

SUPERHUMAN Email…?

I spent the day with the fine folks at Superhuman and had the distinct pleasure of being onboarded into their new email app. I mention this in the vlog, but, I wanted to capture this moment for posterity because if they are able to move me off of the GMAIL web app after 13 years, then, it would be a literal first! I can’t overstate my commitment to the GMAIL web app after such a long time of using it. I’ve tried every available mail client and app out there but have yet to find a solution that matches the speed and performance of the google’s web service. It’s not that it’s perfect, mind you… it’s just that it’s good enough to get the job done and after 13 years I’ve pretty much resigned myself to it as being the defacto email service. But Superhuman is up for the challenge and I’m quite…

Read More →

Why Watch Games on YouTube?

This is a question that I’ve gotten more and more the longer that I do a bit of YouTube myself and I’ve internalized a number of rote answers that do just fine. But recently I saw this article straight from the horses’ mouth and I thought it would be useful for other folks. Essentially, the 4 main reasons are: The Community – They want to be part of something bigger than themselves. Inclusion – They want to feel included and accepted. For Fun – To escape from their day-to-day, just like when you watch a movie or read a book. Self-Improvement – They want to learn new skills and improve their own performance. Get more details from the post and then read this one on the 3 trends on YouTube that prove gaming culture isn’t niche. Now’s the time to get into video before things really go full-tilt. The post Why…

Read More →

Back to Top