Posts Tagged: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.


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 backhttps://t.co/prDKo5QaZi — 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;}twttr.events.bind(‘rendered’, function (event) {notifyResize();}); twttr.events.bind(‘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;}twttr.events.bind(‘rendered’, function (event) {notifyResize();}); twttr.events.bind(‘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: https://www.searchenginejournal.com/feed/

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 →

A question of skills

One of the first books I can remember reading was A Wizard of Earthsea. I was seven or eight, and it scared me to my core. That dark ocean was real and menacing in ways I couldn’t fully appreciate until later.Beyond fear, one of the things that stuck with me from that book was the idea of true names. David Mitchell’s love letter to Earthsea paints the picture:Knowledge of a thing’s true name brings mastery over the object, and as this applies to people as well, to tell someone your true name in Earthsea is an act of intimate trust.body[data-twttr-rendered=”true”] {background-color: transparent;}.twitter-tweet {margin: auto !important;}We need to burn the hard/soft skills dichotomy to the ground. It’s a garbage metaphor and reinforces gendered stereotypes. — @mulegirlfunction 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};…

Read More →

Pick A Fight (on Twitter)

body[data-twttr-rendered=”true”] {background-color: transparent;}.twitter-tweet {margin: auto !important;}Hey @paulg, has Thiel now invested more in a Trump presidency than YC companies? https://t.co/1vdY8BdGDB — @dhhfunction 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;}twttr.events.bind(‘rendered’, function (event) {notifyResize();}); twttr.events.bind(‘resize’, function (event) {notifyResize();});if (parent && parent._resizeIframe) {var maxWidth = parseInt(window.frameElement.getAttribute(“width”)); if ( 500 < maxWidth) {window.frameElement.setAttribute(“width”, “500”);}}Basecamp CTO David Heinemeier Hansson is known for many things, including creating Ruby on Rails and writing business books. He also has strong opinions and likes to share them on the Internet! And sometimes DHH’s Twitter posts spark some lively debate, and by lively debate, we mean grown-ups yelling at…

Read More →

To-Do List Apps Should Make Us Better Humans

One of the things that I’ve been incessantly obsessed with over the years as a professional is ensuring that I not only am using the best tools to get the job done but that I’m also reviewing the underlying behavioral mechanics that have driven me to choose one particular tool over another. You see, there is a intimate relationship between my own natural behavior and the tools that I choose to use. The hope is, of course, that the right tool will exponentially increase my ability to execute and perhaps even automate that behavior without my explicit input. Because this is what great software does: It distinctly makes life better by automating the very things that are already happening. Better yet, some software (not as many as we may believe, unfortunately) can even create opportunities for optimization and streamlining that is intrinsically impossible given the principle resources (i.e. you, the user, the…

Read More →

Highrise 3.0 for iOS

For an app that’s been around since 2007, two iterations of its iOS app seems a bit on the light side. We agree. So today we have not just one announcement, but two:Highrise 3.0 for the iPhone is now available to everyone.It has the basics from before. Stay up to date on your team’s activity. Easily search your leads and quickly call, text, or get directions. Plan your day with tasks and follow-ups.And it has some important new features.Search leads by tag. View tags on contacts. See upcoming tasks when viewing a lead.Scroll through all of your tasks. Whether you have 2 or thousands of overdue or upcoming tasks… though we still can’t help you get them done. :)And more… like the ability to enter custom fields and choose from predefined values, dial incorrectly formatted international phone numbers, emoji, saved recent searches.Alas, it doesn’t have everything for everyone yet. Some will notice it…

Read More →

Crash Course: VR Design for N00bs

We have a tradition at Viget of experimenting with our own ideas, independent of client work. But, honestly, it’s been too long since we built something pointless. Today, we’re debuting our latest experiment in virtual reality—a WebVR adaptation of the classic circuit-board puzzle Lights Out. It’s a one-player game, with the objective of turning all the “lights” in the grid off. Sure, the final product is neat, but how did we get there? Jumping into the VR metaverse is overwhelming. I was disappointed to find there are tons of libraries for developers—but very few centralized resources for designers. As creatives, we pride ourselves on our ability to apply design thinking to everything. So, where are all the thought leaders in VR design? There’s little to no consensus around even the most basic design standards—like typography or accessibility. Basically, VR design is a wild west free-for-all. However, instead of seeing this as…

Read More →

7 Tips for the Aspiring UX Designer

This time last year, I had never heard of UX. Coming from a family of doctors, the only job-related acronym I knew was MD. But this changed during my summer in Silicon Valley, where I worked as a media intern with a startup accelerator and venture capital firm. Over the course of just three weeks, four colleagues told me that I should look into UX. I really think you would like this. You’d be so good at it! Thinking it was some sort of sign, I decided to give UX a try. It was love at first sight. From that point on, I spent my free time immersed in UX books, articles, and blogs. I had never felt so passionate about a field before.  I used my Christmas break to take an online UX course. I filled my schedule with phone calls with every UXer in my LinkedIn network. I…

Read More →

Playing with Shadow DOM

About a year ago, Twitter announced it would start displaying embedded tweets with the shadow DOM rather than an <iframe>, if the browser supports shadom DOM? Why? Well, speed is one reason. They say: Much lower memory utilization in the browser, and much faster render times. Tweets will appear faster and pages will scroll more smoothly, even when displaying multiple Tweets on the same page. Why the choice? Why is it necessary to use either iframes or shadow DOM? Why not just inject the content onto the page? It’s a totally understandable need for control. An embedded Tweet should look and behave just exactly like an embedded Tweet. They don’t want to worry about the styles of the page bleeding in and messing that up. An <iframe> makes style scoping very easy. Point the src of the iframe at a URL that displays what you want an embedded tweet to…

Read More →

Back to Top