Daily Tips & Tricks for Web Enthusiasts

Get new tips and tricks in your inbox every week!

You can also follow @CoreAssistance on Twitter (where I tweet about each day's tip), subscribe to the RSS feed, browse the archive, or start with the first tip.

Search for Text on Websites (Plus a Bonus Meta Tip!)

An oldie but a goodie: You can search for text on the current web page in any browser by hitting Command + F on Mac or iOS with an external keyboard, or Control + F on Windows or Linux. Just type what you’re looking for and the results will be displayed or highlighted.

Using an iOS device without an external keyboard? You can still search the current web page in Safari by simply typing what you’re looking for in the search/URL bar at the top. Matches on the current page will be shown at the bottom of the results list that appears when you start typing.

Bonus Meta Tip!

There are about 370,000 people born every day, and that number is constantly increasing. How many of them know how to search a web page? How many of them know how to copy and paste? How many of them know what the web is? Zero. They need to learn how to do these things, and in order to learn they need to be taught.

Some of them will teach themselves, some of them will be taught by others. Many will pick up the basics as they go, but many will not. I’ve shown many people, at all ages, things that were second nature to me that came as revelation to them. It’s easy to dismiss stuff like searching for text on a web page as something everyone knows, but not everyone does.

Everyone has their own unique life, and many lives do not include the same exposure or experiences you’ve had. The knowledge you take for granted, the skills you view as basic, innate facts are anything but to someone who doesn’t know them.

Assuming other people know something you take for granted is dangerous and irresponsible. It can lead to unintended negative feelings (no one likes to hear, “I thought everyone knew this!”), bad experiences, and other detrimental outcomes.

When I was trying to decide what to write about today I noticed that Past Justin jotted this down as a possible future tip:

Hit Command/Control + F to search the text of the current web page.

I almost deleted it, thinking it was too simple. Too obvious. Something everyone, everywhere, somehow had instinctual knowledge of. I’m glad I didn’t, and I’m sure everyone reading this who had no idea you could search for text on a web page is glad, too.

The Wayback Machine

The Wayback Machine is one of the most useful and powerful resources on the web. What other tool can take you back in time?

Give The Wayback Machine a URL and it will show dated snapshots of that page over time. And we’re not just talking about screenshots here; these are live copies of the HTML, CSS, and other resources captured at that moment in time and reproduced for you in all their glory.

Using The Wayback Machine you can see what The New York Times website looked like in 1996, or what Apple’s website looked like in 1997. You won’t find every website on every date, but you’ll find a lot.

If you ever want to see an older version of a website (even your own!), The Wayback Machine should be your first stop.

Don’t Get Overwhelmed

Sometimes it can feel like your website is always sub-par. Maybe it could be written better have better copy, be more beautiful, or have more accessibility features.

There are two things you have to keep in mind when you feel like this:

  1. Everyone feels this way at one point or another.
  2. It’s completely okay if your website isn’t perfect.

There will always be another thing you can do to improve your website (that’s why I’m able to write a new tip every day!). You could spend years doing nothing but making your website the best website it could possibly be and it still wouldn’t be perfect. Perfection should be viewed as a guiding light, not a destination.

Here’s the thing: Your website doesn’t need to be perfect, it just needs to be good enough for the majority of your target audience. If most people are having a good time when they visit your site, you’re winning.

Improvements are always welcome, but don’t get overwhelmed by what you’re not doing. It’s okay to put up a website that lacks features or isn’t as accessible as it could be. One of the great things about the web is that it’s a dynamic, ever-evolving medium. If most of your audience is having a good experience today you can work on making it a great experience tomorrow.

Don’t think of the tips on this site or the information you read elsewhere about improving your site as requirements. Instead, view them as guidelines that should be prioritized and implememented according to your unique situation and your audience’s specific needs.

Default Values for Arguments

If you don’t need to support Internet Explorer, all of the other major browsers allow you to specify default arguments in your JavaScript functions like this:

function foo(argument = 'default') {
    // ...
}

With this code, if foo() is called and argument is undefined (either because the argument is missing or because it is explicitly set to undefined), the default value of 'default' will be assigned to argument.

Now, if you do need to support older browsers like IE, you may find yourself writing something like this:

function foo(argument) {
    if (!argument) {
        argument = 'default';
    }

    // ...
}

That works, but this approach will get out of hand pretty quickly as the number of arguments increases. I’ve got good news, though! There’s a better way:

function foo(argument) {
    argument = argument || 'default';

    // ...
}

These last two code snippets function in exactly the same way, but the second version is shorter and easier to maintain.

This version works because the || operator (which is usually used in if statements) will first check to see if what’s to the left can be converted to true and, if it can, will return whatever’s on the left. Otherwise the value on the right is returned. This behavior is called short circuiting, and you can read more about it on MDN if you’re curious about the specifics.

This version also has the advantage of being concise without being hard to understand. You can read this as, “Make the argument variable equal to the original argument value if it exists, or use the default value otherwise.”

One word of warning: This second method doesn’t behave exactly like the native version described at the beginning of this tip. The native version of default argument value assignment checks to see if argument values are undefined or not, but the second method checks if they convert to true or not. That means values that convert to false, like an empty string ('') or a zero (0), will trigger the default value.

In other words, calling foo(0) using the first code snippet above would assign 0 to argument inside the function, whereas calling foo(0) using the second or third code snippets would assign 'default' to argument instead (because 0 converts to false and, thus, triggers the default value assignment).

CSS Terminology

A few weeks ago, I showed you what all the various bits and pieces of HTML are called in the HTML Terminology tip. Today we’re going to find out what all the basic CSS terms refer to.

Let’s use this CSS as a starting point:

.example {
    color: green;
    font-weight: bold;
}

That entire thing is called a rule. In older versions of the CSS specification it was also referred to as a rule set.

The first part of this rule is the selector:

.example

The selector specifies which elements this CSS rule applies to. It selects the elements (hence the name). In this case this CSS rule applies to all elements with the example class.

CSS rules can have multiple selectors, separated by commas, like this:

.example, h2, #primary

That would select all elements with the example class, all h2 elements, and the elements with an id of primary.

The second part of our example rule above are the declarations, which is everything between the curly braces:

color: green;
font-weight: bold;

The declarations define how the elements specified by the selector will be altered. In this case there are two declarations, one to make the foreground color green, and the other to make the font weight bold.

Each declaration is made up of a property and a value. Take this declaration, for example:

color: green;

In this declaration the property is color and the value is green.

A CSS rule can have as few or as many declarations as you wish.

Now you know the basics of CSS terminology!

Delete That

One of the best writing tips I ever learned was that, in many cases, you can remove the word “that” from a sentence and the sentence will work just fine. In fact, your sentence will usually work better because it’s shorter!

Isn’t this one of the most amazing little writing tips that you’ve ever read?

Now, it’s important to remember that there are situations where you can’t remove the word “that”. That is something I want you to keep an eye out for when you’re writing. The word “that” is not a bad word, just an overused one that’s become a kind of filler word in many situations.

How’s that for a writing tip?

You Can’t Please Everyone

When I’m creating something I’ll catch my brain thinking thoughts like, “If try hard enough, I can make everyone love this!” or, “If I did X, Y, and Z no one could possibly dislike this!”

Wrong. Bad brain!

Have you had these thoughts, too? If you catch these sentiments emerging you have to stop and remind yourself why you’re making what you’re making, and more importantly who you’re creating it for. You’re making things for your target audience, not the entire world.

Some people aren’t going to like what you make, and that’s okay. There will always be haters, trolls, and a whole host of other people that have negative thoughts and opinions. If those people are part of your target audience then you need to listen to them. If they’re not part of your target audience you need to actively ignore them. They’re not who you’re making things for, and their input will rarely (if ever) have any kind of positive effect on you or the work you’re doing. You have a responsibility to yourself and to the work you’re doing to actively shut them out.

The more you try to please people outside your target audience the more diluted your work becomes. Would you rather create something that your target audience feels great about, or something that most people feel neutral or okay about? As you try to increase the appeal of your work to encompass more people the more generic and watered-down it gets. On the other hand, the more you focus on specific people, the more you can speak directly to them, forge a deeper connection, and give them the best experience possible.