Category Archive for: user

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.

Facebook Introduces User Retention Optimization for App Install Ads by @MattGSouthern

Facebook has introduced new ways for mobile app advertisers to target users who are most likely to stay engaged.The post Facebook Introduces User Retention Optimization for App Install Ads by @MattGSouthern appeared first on Search Engine Journal. Source:

The fast and visual way to understand your users

(This is a sponsored post.)Hotjar is everything your team needs to: Get instant visual user feedback See how people are really using your site Uncover insights to make the right changes All in one central place If you are a web or UX designer or into web marketing, Hotjar will allow you to improve how your site performs. Try it for free. Direct Link to Article — PermalinkThe post The fast and visual way to understand your users appeared first on CSS-Tricks. Source: CssTricks

Better image performance on

For a few years now I’ve been planning to add support for responsive images to my site. The past two weeks, I’ve had to take multiple trips to the West Coast of the United States; last week I traveled from Boston to San Diego and back, and this week I’m flying from Boston to San Francisco and back. I used some of that airplane time to add responsive image support to my site, and just pushed it to production from 30,000 feet in the air! When a website supports responsive images, it allows a browser to choose between different versions of an image. The browser will select the most optimal image by taking into account not only the device’s dimensions (e.g. mobile vs desktop) but also the device’s screen resolution (e.g. regular vs retina) and the browser viewport (e.g. full-screen browser or not). In theory, a browser could also factor…

Read More →

Automate Habits

I love this story so much: The brilliance of the cash register was that it automated ethical behavior by making stealing practically impossible. Rather than trying to change the motivations of his employees, Patterson used technology to make the preferred behavior automatic. I don’t even care if it’s true or not (it probably is, but, I still don’t care…) as the point still hits me pretty dang hard: Using technology to automate preferred (positive) behavior. This is one of the very critical things that my team are thinking through as we birth a new software experience that aligns community and relationships with decentralized protocols and cryptocurrency. There are a ton of behaviors, especially around trading and transacting, that we can automate for the community that is almost universally preferred. But there are more difficult (and more important) behaviors and decisions that we want all of our community to make but that require…

Read More →

Web Scraping with BeautifulSoup

Python’s BeautifulSoup library makes scraping web data a breeze. With a basic understanding of HTML and Python, you can pull all the data you need from web pages. In this article, I go through an example of web scraping by pulling text data from Warning Before you begin scraping a site, make sure not to violate the site’s Terms of Service. Don’t violate the rules in the site’s robots.txt, and don’t use an overly aggressive crawl rate. Read Benoit Bernard’s blog post about the legality behind web scraping before you start, and consult your legal team before scraping or crawling a site. End of warning The easiest sites to scrape are those with a consistent HTML structure. Let’s look at as an example. If I wanted to pull the author name from each article, I could search each document for the class name ‘credit__author-name,’ and I would find…

Read More →

Facebook Targets Social Media Optimization Spam by @martinibuster

Facebook is banning hundreds of spam accounts that exploited user engagement algorithms to generate traffic.The post Facebook Targets Social Media Optimization Spam by @martinibuster appeared first on Search Engine Journal. Source:

Decoupled Drupal Authentication with OAuth 2.0

Perhaps the most critical component of any decoupled Drupal architecture is a robust authentication mechanism that protects data transmitted between a Drupal site and API consumers like JavaScript applications and native mobile applications. While Drupal core makes available HTTP Basic Authentication and cookie-based authentication, both easy to use, neither of these approaches is sufficiently secure when it comes to best practices. Fortunately, the Drupal contributed ecosystem contains several highly useful modules that leverage more recent authentication standards like OAuth 2.0 Bearer Token and JSON Web Tokens (JWT), both of which are seeing wide use in the Drupal community among decoupled Drupal practitioners. In the next two installments of Experience Express, we take a breather from voyaging to conferences and inspect authentication best practices in decoupled Drupal, starting with OAuth 2.0. OAuth 2.0 Bearer Token authentication At present, OAuth represents one of the most commonly found authentication methods as an open…

Read More →

Using Event Bus to Share Props Between Vue Components

By default, communication between Vue components happen with the use of props. Props are properties that are passed from a parent component to a child component. For example, here’s a component where title is a prop: <blog-post title=”My journey with Vue”></blog-post> Props are always passed from the parent component to the child component. As your application increases in complexity, you slowly hit what is called prop drilling here’s a relate article that is React-focused, but totally applies). Prop drilling is the idea of passing props down and down and down to child components — and, as you might imagine, it’s generally a tedious process. So, tedious prop drilling can be one potential problem in a complex. The other has to do with the communication between unrelated components. We can tackle all of this by making use of an Event Bus. What is an Event Bus? Well, it’s kind of summed…

Read More →

From a world wide web to a personal web

Last week, I had a chance to meet with Inrupt, a startup founded by Sir Tim Berners-Lee, who is best known as the inventor of the World Wide Web. Inrupt is based in Boston, so their team stopped by the Acquia office to talk about the new company. To learn more about Inrupt’s founding, I recommend reading Tim Berners-Lee’s blog or Inrupt’s CEO John Bruce’s announcement. Inrupt is on an important mission Inrupt’s mission is to give individuals control over their own data. Today, a handful of large platform companies (such as Facebook) control the media and flow of information for a majority of internet users. These companies have profited from centralizing the Open Web and lack transparent data privacy policies on top of that. Inrupt’s goal is not only to improve privacy and data ownership, but to take back power from these large platform companies. Inrupt will leverage Solid,…

Read More →

7 Reasons Why Content Needs Amazing Images, Videos & Visuals by @searchmastergen

Find out why you should add visuals to your content to improve messaging and user experience.The post 7 Reasons Why Content Needs Amazing Images, Videos & Visuals by @searchmastergen appeared first on Search Engine Journal. Source:

CSS Only Floated Labels with :placeholder-shown pseudo class

The floated label technique has been around for a good long while and the general idea is this: we have an text input with the placeholder attribute acting as a label. When a user types into that input, the label moves from inside the input to outside of it. Like so: Although I don’t see this pattern used on the web all that much, I do think it’s an interesting one! There are different approaches to it, but Nick Salloum describes a new one using a combination of :not and :placeholder-shown: This UI technique does indeed slightly bend the definitions of label and placeholder listed above, in the sense that we’re giving the placeholder more initial importance in having to explain the input to the user, but it’s a tradeoff for a neat UI component, and one that I’m personally comfortable making. I wonder if there are other peculiar ways…

Read More →

The next big jump in Basecamp accessibility!

How we made the Basecamp 3 Jump Menu accessibleThe Basecamp 3 Jump MenuEarlier this year I wrote about How we stopped making excuses and started improving Basecamp’s accessibility. Accessibility improvements in Basecamp 3 have come in two ways: All new features we’ve shipped over the past year and a half have been designed and tested to meet WCAG AA guidelines (The Web Content Accessibility Guidelines, or WCAG, provides a shared standard that web developers can follow to make sure their products are accessible).At the same time, we’ve gone back and retrofitted existing features and interactions for better accessibility. Today I’m excited to announce that we just completed some significant improvements to the Basecamp 3 Jump Menu!The jump menu has always been the quickest way for getting to a person, project, recently visited page, and My assignments/bookmarks/schedule /drafts/latest activity. Here’s a look at it in action:Note the small-ish “Press ⌘+J to show the menu” labelIn…

Read More →

The Codification of Design

Jonathan Snook on managing the complexity between what designers make and what developers end up building: Everything that a designer draws in a Sketch or Photoshop file needs to be turned into code. Code needs to be developed, delivered to the user, and maintained by the team. That means that complexity in design can lead to complexity in code. That’s not to say that complexity isn’t allowed. However, it is important to consider what the impact of that complexity is—especially as it relates to your codebase. Jonathan continues in that post to argue that designers and developers need to be in a constant feedback loop in order to properly assess whether the complexity of the design is worth the complexity of the engineering solution. I’ve been thinking about this sort of thing for a really long time as it applies to my work in design systems — I have a…

Read More →

Defending Against a Self-Propagating Drupal Botnet Attack

On the 28th of March 2018 the Drupal Security Team announced SA-CORE-2018-002, a serious Remote Code Execution vulnerability, which came to be known by many as “Drupalgeddon 2”. The patches to Drupal core were quite simple and Acquia implemented a platform-level mitigation within a few hours of the announcement. However, it was not trivial to reverse engineer the actual exploit(s), and it took a couple of weeks for credible Proof of Concept exploits to be published. Of course, once they were, exploit attempts were seen in the wild shortly after. Approximately one month after the initial announcement, Acquia’s Incident Response (IR) team began to see evidence of an attempt to exploit the vulnerability apparently coordinated from a single IP address belonging to a fairly well know French “cloud computing company”. The real server IP has been changed in this write-up. From the Drupal site logs, the attack followed a familiar…

Read More →

Facebook Ads vs Google Ads: When To Use Each Ad Network

Google Ads and Facebook ads dominate the online advertising space. If you want to reach customers, then Google’s search network or Facebook’s news feeds are the places to be. Facebook currently has two billion monthly active users, making it a hotbed for user activity.  Google Ads reaches billions of people each and every day. Both Read more Source:

Developing With Automad

Selecting the right CMS for a blog or website can be difficult. Every web project has its own needs and requirements, meaning one CMS may be a better fit for one site but not so much for a different site. Simple solutions might be lacking some essential features, while more complex systems can create easily overhead for a given task. I want to cover Automad, a CMS that is less-known than, say, a behemoth like WordPress, but still offers some powerful features like it while maintaining the nimbleness of smaller, simpler solutions, like static site generators. Specifically, Automad fills a gap between larger and smaller offerings in a few key ways: It is file-based, but does not require a database. This ensures quick setup, portability, security, speed, and easy deployment. Even without a database, it offers database features like searching, tagging, filtering, and sorting. A multi-layer caching engine caches content…

Read More →

The “Developer Experience” Bait-and-Switch

Alex Russell describes his thoughts on the current state of JavaScript and how we might sometimes put a ton of focus on the ease-of-use of development at the expense of user experience. So, for example, we might pick a massive framework to make development easier and faster but then that might have an enormous impact on the user. Alex describes it as substituting “developer value for user value.” The “developer experience” bait-and-switch works by appealing to the listener’s parochial interests as developers or managers, claiming supremacy in one category in order to remove others from the conversation. The swap is executed by implying that by making things better for developers, users will eventually benefit equivalently. The unstated agreement is that developers share all of the same goals with the same intensity as end users and even managers. This is not true. Here’s the kicker, though: JavaScript is the web’s CO2.…

Read More →

Having fun with link hover effects

A designer I work with was presenting comps at a recent team meeting. She had done a wonderful job piecing together the concept for a design system, from components to patterns and everything in between that would make any front-end developer happy. But there was a teeny tiny detail in her work that caught my eye: the hover state for links was a squiggle. Default link (top) and hover effect (bottom) Huh! Not only had I not seen that before, the idea had never even crossed my mind. Turns out there are plenty of instances of it on live sites, one being The Outline. That was the one that was implementation that inspired the design. Cool, I figured. We can do something like a linear background gradient or even a background image. But! That wasn’t the end of the design. Turns out it’s animated as well. Again, from The Outline:…

Read More →

Introducing the YOOtheme Pro Page Builder

(This is a sponsored post.)YOOtheme Pro is a powerful theme and page builder developed by YOOtheme that provides a new experience of building websites in WordPress. Designers will get an easy and exciting way to design and create websites due to premium layouts and an intuitive page builder, and developers will especially appreciate its extendability and clean and semantic code. YOOtheme has been known as a leading theme provider for over 10 years, and now with YOOtheme Pro they created the next page builder to be watched for on the WordPress market. The Page Builder If you are familiar with WordPress, YOOtheme Pro is a perfect choice for you since it is seamlessly integrated into the native WordPress customizer. You can easily create your layouts by dividing your content into sections, rows and grids. And thanks to the drag and drop interface, you can design beautiful responsive page layouts without…

Read More →

Back to Top