Category Archive for: tweet

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.

Nested Links

The other day I posted an image, quite literally as a thought exercise, about how you might accomplish “nested” links. That is, a big container that is linked to one URL that contains a smaller container or text link inside of it that goes to another URL. That’s harder than it might seem at first glance. The main reason being that… <!– this is invalid and won’t render as expected –> <a href=”#one”> Outside <a href=”#two”> Inside </a> </a> Eric Meyer once called for more flexible linking, but even that doesn’t quite handle a situation where one link is nested inside another. Here’s what happens with that HTML, by the way: The nested link gets kicked out. My first inclination would be to simply not nest the links in the markup, but make them appear nested visually. Some folks replied to the tweet, including Nathan Smith, who shared that same…

Read More →

Jetpack’s Social Integration Features

One of the many things we use Jetpack for here on CSS-Tricks is all of its features related to social media integration. For example, Jetpack can automatically share published content to different social media accounts simultaneously, add sharing buttons to your site’s theme, and allow for social login on the comment form. There is even more than that, but let’s dig into these three as we use them. Auto-Sharing Posts I like the idea that everything we published goes out to social media. Many people only follow the site that way, so they should see what we’re writing. We’re specifically into Twitter and Facebook. With Jetpack installed connected to, I can now flip on the setting: Then authenticate the services you want to connect: Now as we publish new articles, there are Publicize controls right there allowing us to send it to the services we want along with a…

Read More →

“Killing the URL”

It was Safari who first started hiding the complete URL. Here’s what CSS-Tricks looks like even when you’re on an article page by default in Safari: The full URL path is hidden. You can only fix it (YES, FIX IT) by checking “Show full website address” in settings. Preferences > Advanced We’ve already damaged the sanctity of URLs in a way with URL shorteners. Thankfully, those are used less and less with social networks, like Twitter, not counting the URL toward the total tweet character count anymore. Now, Lily Hay Newman reports Chrome sees problems as well: “People have a really hard time understanding URLs,” says Adrienne Porter Felt, Chrome’s engineering manager. “They’re hard to read, it’s hard to know which part of them is supposed to be trusted, and in general I don’t think URLs are working as a good way to convey site identity. So we want to…

Read More →

Ruby, Rails, and CircleCI 2.0

There’s a movement lately in the development world that I’ve really enjoyed: “Know your tools” – probably tool authors It’s encouraged me to dive deeper into the tools that I use every day and understand more how they work. Ruby? I should know how OpenStruct works. Rails? I should understand the request cycle. SQL? I should understand database views and triggers. Git? I should understand how to rebase. CI? I should understand my tool of choice. Why? Because it makes me a better developer. I expose myself to new patterns, learn new concepts, and have those solution-patterns in my toolbox for when I need to solve problems. Today, I want to talk about my tool of choice for Continuous Integration. CircleCI 2.0 My tool of choice for Continuous Integration lately is CircleCI 2.0. I’ve really enjoyed it. I don’t think I went out of my way to pick them, honestly,…

Read More →

View Source

I remember seeing this Tom Dale tweet a while back. It’s literally about the browser’s ability to look at the HTML of the document you’re looking at as it first arrived. Now the tweet is stirring up a new round of conversation. Jonathan Snook has kind of a baby bear take: We have the ability to inspect the original HTML source along with its interpreted representation. We have the ability to inspect the source of JavaScript and CSS files mapped from its minified and optimized versions. We have the ability to inspect rendering pipelines. We have the ability to stop and step through JavaScript execution line by line. The increasing complexity of tools doesn’t negate the need for those earlier, simpler tools, though. The sites some build may be simple static sites, befitting of a simple View Source. The sites some build may be compiled and bundled and requiring tools…

Read More →

Martech: Choosing the Right Software for Your Organization

Imagine you work for an organization that regularly uses Twitter to engage with potential prospects and customers. It’s hard to manage all the different streams you have going on, so you decide that a dashboard showing all of your organization’s recent tweet streams would be useful. Source:

Creating your own meme generator

Almost every time a new meme pops up in my Twitter feed, I think of a witty version to create. I’m not alone in this. Memes are often a way to acknowledge a shared experience or idea. In a variation of the “Is this a pigeon” meme that has been making the rounds online, a designer Daryl Ginn joked about the elementary nature of most applications that say they use artificial intelligence. — Daryl Ginn (@darylginn) May 16, 2018 Several people replied to his tweet saying something along the lines of “replace this with this.” Daryl’s version got them thinking about other possible variations. Platforms like imgFlip exist to make meme generations fast and easy. However, there is only so much customization they can allow. For many memes, creating new versions can only be done by people with Photoshop knowledge. But it doesn’t have to be so! For some…

Read More →

A Quick Roundup of Recent React Chatter

Like many, many others, I’m in the pool of leveling up my JavaScript skills and learning how to put React to use. That’s why Brad Frost resonated with me when he posted My Struggle to Learn React.” As Brad does, he clearly outlines his struggles point-by-point: I have invested enough time learning it React and ES6 travel together Syntax and conventions Getting lost in this-land I haven’t found sample projects or tutorials that match how i tend to work I’m less competent at JS than HTML and CSS It seems that Brad’s struggles resonated with others as well, inspiring empathy and help from the community. For example, Kevin Ball touches on the second and third frustrations by supplying a distinction between React and ES6 and examples of the syntax and conventions of each: For each feature, I show a couple examples of what it might look like, identify where it…

Read More →

List Rendering and Vue’s v-for Directive

List rendering is one of the most commonly used practices in front-end web development. Dynamic list rendering is often used to present a series of similarly grouped information in a concise and friendly format to the user. In almost every web application we use, we can see lists of content in numerous areas of the app. In this article we’ll gather an understanding of Vue’s v-for directive in generating dynamic lists, as well as go through some examples of why the key attribute should be used when doing so. Since we’ll be explaining things thoroughly as we start to write code, this article assumes you’ll have no or very little knowledge with Vue (and/or other JavaScript frameworks). Case Study: Twitter We’re going to use Twitter as the case study for this article. When logged in and in the main index route of Twitter we’re presented with a view similar to…

Read More →

Theming With Variables: Globals and Locals

Cliff Pyles contributed to this post. Setting CSS variables to theme a design system can be tricky: if they are too scoped, the system will lose consistency. If they are too global, you lose granularity. Maybe we can fix both issues. I’d like to try to boil design system variables down to two types: Global and Component variables. Global variables will give us consistency across components. Component variables will give us granularity and isolation. Let me show you how to do it by taking a fairly simple component as an example. Heads up, I’ll be using CSS variables for this article but the concept applies to preprocessor variables as well. Global-scoped variables System-wide variables are general concepts defined to keep consistency across your components. Starting with an .alert component as an example, let’s say we want to keep consistency for all of our spaces on margins and paddings. We can…

Read More →

“Stop Using CSS Selectors for Non-CSS”

I saw Nicole Dominguez tweet this the other day: say it louder for the people in the back — nicole (@sodevious) January 11, 2018 I wasn’t at this conference, so I have very little context. Normally, I’d consider it a sin to weigh in on a subject brought up by looking at two out-of-context slides, but I’m only weighing in out of interest and to continue the conversation. The idea seems to be that if you need to select an element in the DOM with JavaScript, don’t use the same selector as you would in CSS. So if you have… <article class=”article”> </article> …and you need to apply an event listener to that article for some reason, then don’t use… $(“.article”) (or querySelector or whatever, I assume.) Instead, apply an attribute intended just for the JavaScript to target, like… <article class=”article” data-hoverable> </article> …and target that like… $(“[data-hoverable]”) The idea…

Read More →

How Domino’s Pizza Stands Out In A World Awash In Pizza

Domino’s Pizza was in the spotlight of the Wall Street Journal the other day. It was a front page story on the success of the Domino’s mobile app allowing you to track your order from start to delivery.Over 480,000 people have left reviews on the Apple app store giving it 4.8 stars out of 5.In the modern world, we continue to have more and more options for things like coffee, rides to the airport, clothes, and pizza. And as we get more and more options, they just become noise.Domino’s though has been successful at breaking through with a signal. Why?There are two very big lessons to take from the pizza chain and one potential pitfall.Open UpGiselle Auger, an assistant professor at Rhode Island College, involved 290 participants in a study on the effect of transparent organizations. It probably doesn’t shock you that the more transparent these organizations were to the outside world, the…

Read More →

Save 15% or More on Car Insurance by Switching to Plain JavaScript

Satire disclaimer: This article is as much satire as it is serious insight if there is even any of that at all. Don’t take it too seriously, but do tell all your friends. Also, the bit about Taco Bell is 100% true. I wouldn’t joke about something like that. My day usually begins like this: I wake up at 6:15 a.m. (kill me) to get the kids ready for school. They’re mad. I’m mad. Everyone is on the brink of an emotional breakdown because it’s 6:15 in the morning. Usually the first thing that I do when I wake up is roll out of bed and start hammering out pushups like Christian Bale. BWAHAHAHA. No. Before I’m even fully awake and out of bed, I grab my phone and look at Twitter. It’s a sickness, I know. I’m not proud of it but at least I’m out here admitting that I…

Read More →

Can You Sell Water? Part 2

Abraham Celio and Maria Mendez own Yolis Tamales on Chicago’s Southwest Side.Some of the tech industry’s most vaunted companies revel in their origins as mavericks or rule-breakers, having flouted regulations in the name of disruption. That kind of risk-taking is celebrated in Silicon Valley but punished in other places, most notably minority communities.body[data-twttr-rendered=”true”] {background-color: transparent;}.twitter-tweet {margin: auto !important;}Undercover @usparkpolicepio handcuffing kids on @NationalMallNPS for selling water. — @timkreppfunction notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height); resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === “#amp=1” && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: “amp”, type: “embed-size”, height: height}, “*”);}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}‘rendered’, function (event) {notifyResize();});‘resize’, function (event) {notifyResize();});if (parent && parent._resizeIframe) {var maxWidth = parseInt(window.frameElement.getAttribute(“width”)); if ( 500 < maxWidth) {window.frameElement.setAttribute(“width”, “500”);}}In this episode of…

Read More →

Advocating for Accessible UI Design

Accessibility is a hot topic these days, and the older we web-makers get, the hotter it’s going to become! That might be a snarky outlook, but what I’m trying to say is that it’s about time we start designing the web for everyone because the web was meant to be for everyone, and less and less are we able to predict where, when, and how our work will be consumed. Accessibility is not just up to developers As developers, we often encounter accessibility post-design, when we do things like implementating the correct role and aria attributes, ensuring navigation is keyboard friendly, and responsibly hiding elements. In general, our accessibility efforts go towards thinking about how to make specific components and features accessible, such as an SVG icon system or helpful tool-tips. Given our roles as developers, this makes sense. Accessibility flaws, however, often originate in the UI design itself, and…

Read More →

Writing style

Was there a source for my writing style or was it self discovered?body[data-twttr-rendered=”true”] {background-color: transparent;}.twitter-tweet {margin: auto !important;}@natekontny as a follower of vlog, wanted to know, where did you pick up the style of writing from, was there any source, or self discovered — @seebiscutfunction notifyResize(height) {height = height ? height : document.documentElement.offsetHeight; var resized = false; if (window.donkey && donkey.resize) {donkey.resize(height); resized = true;}if (parent && parent._resizeIframe) {var obj = {iframe: window.frameElement, height: height}; parent._resizeIframe(obj); resized = true;}if (window.location && window.location.hash === “#amp=1” && window.parent && window.parent.postMessage) {window.parent.postMessage({sentinel: “amp”, type: “embed-size”, height: height}, “*”);}if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.resize) {window.webkit.messageHandlers.resize.postMessage(height); resized = true;}return resized;}‘rendered’, function (event) {notifyResize();});‘resize’, function (event) {notifyResize();});if (parent && parent._resizeIframe) {var maxWidth = parseInt(window.frameElement.getAttribute(“width”)); if ( 500 < maxWidth) {window.frameElement.setAttribute(“width”, “500”);}}Surprise!Adapted from Gage SkidmoreMy dad loves talk radio. I remember as a kid driving around with him and the car tuned to WGN an AM station based here…

Read More →

Turning Text into a Tweetstorm

With tongue firmly in cheek, I created this script to take a chunk of text and break it up into a tweetstorm, for “readability”. Sort of like the opposite of something like Mercury Reader. If the irony is lost on you, it’s a gentle ribbing of people who chose Twitter to publish long-form content, instead of, you know, readable paragraphs. See the Pen Turning Text into a Tweetstorm by Chris Coyier (@chriscoyier) on CodePen. It might be fun to look at how it works. First, we need to bust up the text into an array of sentences. We aren’t going to do any fancy analysis of where the text is on the page, although is presumably some algorithmic way to do that. Let’s just say we have: <main id=”text”> Many sentences in here. So many sentences. Probably dozens of them. </main> Let’s get our hands on that text, minus any…

Read More →

Twitter Tests a 280 Character Limit: What You Need to Know by @MattGSouthern

Twitter is testing a 280 character limit while suggesting that letting people say more will get them to tweet more.The post Twitter Tests a 280 Character Limit: What You Need to Know by @MattGSouthern appeared first on Search Engine Journal. Source:

The Next Yahoo!

I haven’t read any commentaries on the new and recent Twitter change regarding the increase of characters per tweet (140 chars to now 280 chars) but I already have an opinion. And… that doesn’t mean that my opinion is very good, but, I share a few candid thoughts this morning via my vlog here. I thought that I’d have more to write and say about this particular topic but I’ve been staring at this draft for quite some time and have written and re-written a bunch of different things in the past 10 minutes, which, is already far too much time to give to such a small topic. Perhaps that is the point. Obviously, I’m negatively biased against Twitter already having formally quit from the service and have enjoyed a life without Twitter for quite some time now. Trust me when I say that life is indubitably better without it, especially after having…

Read More →

Back to Top