Category Archive for: cognitive

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.


Building a Good Download… Button?

The semantics inherent in HTML elements tell us what we’re supposed to use them for. Need a heading? You’ll want a heading element. Want a paragraph? Our trusty friend <p> is here, loyal as ever. Want a download? Well, you’re going to want… hmm. What best describes a download? Is it a triggered action, and therefore should be in the domain of the <button> element? Or is it a destination, and therefore best described using an <a> element? Buttons Do Things, Links Go Places There seems to be a lot of confusion over when to use buttons and when to use links. Much like tabs versus spaces or pullover hoodies versus zip-ups, this debate might rage without end. However, the W3C provides us with an important clue as to who is right: the download attribute. The What Now? The internet as we know it couldn’t exist without links. They form…

Read More →

Exiting the dark ages of capitalism

Stop squeezing so hardSqueezing out every last dollar from a relationship will leave it sour and dry. That goes whether the relationship is between a company and its workers, a company and its customers, or a company and its suppliers. It’s a two-dimensional, flat, and antagonistic relationship. It’s also frequently completely unnecessary, and nearly always unsustainable.Yet it remains the predominant gospel of business. One packaged in a variety of euphemisms to make it palatable, like “what the market will bear”. If you’re constantly pushing to get within an inch of what the market will bear, you will inevitably overstep and it’ll break.Capitalism doesn’t have to be this way. We can all prosper and society can progress without such a single-minded strategy. All it takes is a shift in thinking and perspective.If, say, the CEO of BlackRock woke up tomorrow and thought “damnit, eeking out the last decimal of a return isn’t how…

Read More →

Let’s bury the hustle

I love Gary Vaynerchuk dearly. So much of his message about patience and perseverance is completely in line with how I view the world. But I can’t take any more odes to “the hustle”. Like most banners, it either dies in obscurity or lives long enough to become perverted.In the early days, I chose to interpret “the hustle” as a way for those with very little to outsmart those with a lot through clever steps. Finding leverage where you had none. Doing things that weren’t supposed to scale or even work, and making it happen.But even if my original interpretation was once connected to the term, I can no longer pretend that it is. The hustle has become synonymous with the grind. Pushing through pain and exhaustion in the chase of a bigger carrot. Sacrificing the choice bits of the human experience to climb some arbitrary ladder of success. I can’t…

Read More →

How to Implement Accessibility in Agency Projects: Part 2

In part 1 of my series, How to Implement Accessibility in Agency Projects, I discussed some of the high-level challenges faced when implementing accessibility in client service companies and how we’re approaching them at Viget. Talking about accessibility is relatively easy, but when project constraints like timelines and budgets are involved, putting it into practice can be challenging. We’ve been working on this at Viget and in part 2 of this series, I’ll share some concepts and tips that we’re using to make accessibility part of every project. Thinking About Accessibility Making accessibility part of your team’s work can be challenging and requires a deliberate effort. At Viget, we’ve found that building empathy, company-wide education, and re-framing how we think to be valuable strategies. Cultivate Empathy If you’re reading this, you likely work at a computer… a lot. You also may have customized your setup to enhance the way you…

Read More →

ABEM. A more useful adaptation of BEM.

BEM (Block Element Modifier) is a popular CSS class naming convention that makes CSS easier to maintain. This article assumes that you are already familiar with the naming convention. If not you can learn more about it at getbem.com to catch up on the basics. The standard syntax for BEM is: block-name__element-name–modifier-name I’m personally a massive fan of the methodology behind the naming convention. Separating your styles into small components is far easier to maintain than having a sea of high specificity spread all throughout your stylesheet. However, there are a few problems I have with the syntax that can cause issues in production as well as cause confusion for developers. I prefer to use a slightly tweaked version of the syntax instead. I call it ABEM (Atomic Block Element Modifier): [a/m/o]-blockName__elementName -modifierName An Atomic Design Prefix The a/m/o is an Atomic Design prefix. Not to be confused with Atomic…

Read More →

On the Growing Popularity of Atomic CSS

Even if you consider yourself a CSS expert, chances are that at some point on a large project you’ve had to deal with a convoluted, labyrinthine stylesheet that never stops growing. Some stylesheets can feel like a messy entangled web of inheritance. Spaghetti Monster The cascade is incredibly powerful. Small changes can have large effects, making it harder to know what the immediate consequences will be. Refactoring, changing, and removing CSS is seen as risky and approached with trepidation as it’s difficult to know all the places it’s being used. One thing that is often hard to articulate with new tooling is when, exactly do you start to reach for this? The answer is rarely (if ever) immediately and in all situations. One of those situations, in my limited experience, is on large teams with large codebases. The feeling is that the CSS can get far too large and team…

Read More →

HTML Email and Accessibility

You love HTML emails, don’t you? As a developer, probably not… but subscribers absolutely do. They devour them, consume them on every device known to man, and drive a hell of a lot of revenue for companies that take their email marketing seriously. But most web developers tasked with building HTML emails merely want to get them out the door as quickly as possible and move on to more interesting assignments. Despite email’s perennial value for subscribers, tight timelines, and a general loathing of the work result in things falling by the wayside; and, just like in the web world, one of the first things to be set aside in email is accessibility. I think we all agree that accessibility is a vital topic. Unfortunately, it’s one that’s ignored in the email marketing world even more than on the web. Accessibility in email doesn’t have to consume a lot of…

Read More →

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 →

Building the Best Relationships We Can

Maslow had it wrong. To get it right, we have to move social needs to the bottom of his pyramid.-Matthew Lieberman (Professor of Social Cognitive Neuroscience at UCLA and author of the book Social)Babies would die without their caregivers at birth. Study after study show the pain and ill we go through when we are isolated from others like us. As humans, we are wired to connect to one another.However, instead of connecting, we seem to be heading the opposite direction. On the streets and in restaurants people are looking at their phones instead of the person right next to them.Businesses strive to make everything quicker, faster, and automated. Sending automated welcome emails with generic information to everyone who signs up. Introducing artificial intelligence to weed through support inquiries instead of having someone read and respond to your query.It’s important to us here at Highrise to help people build great relationships. For many of our…

Read More →

3 Perennial Principles for Every New Project or Startup (and How to Overcome Them)

I was chatting with my brother who’s gone through the full gamut recently of putting together a new project(s) and I shared with him earlier this morning these three powerful and omnipresent principles that always seem to happen, regardless of how experienced one might be in building new projects and/or companies. Even for myself and my new-ish project, Pinpoint, our team has experienced these things in spades! And, of course, I’ve experienced it countless times when putting together smaller indie projects and apps as well: It takes much, much longer than you originally anticipate to get things really moving. The number of iterations (and even more substantive pivots) required is more than you originally planned. What you end up ultimately executing against or shipping to market is oftentimes dramatically different than the original concept. Longer time, many more iterations, and a different product. This is like the canonical journey for any…

Read More →

11 Tips On How To Design The Best Infographic

Infographics are loved for being able to present complex facts in an easy to digest manner. With them, a seemly boring subject is turned into a captivating experience. As a result, they’re mainly used for content marketing. A good infographic should be visually engaging and appealing in order to appeal the target audience. We’ll be taking a look at how to design the best infographic and wow your audience. 1. Keep The Audience In Mind Who is the target audience of that particular infographic? This is the first question you should ask yourself before you even start the design process. Keeping your audience in mind will help you determine the visual and textual format of your infographic. If you’re targeting kids, the vocabulary, graphics and font used will be playful, colourful and childish. This kind of format may not be appealing to a more mature audience. By customising the design…

Read More →

Kotlin: It’s the little things

Kotlin has a bunch of amazing features, and certain ones tend to grab the headlines — things like extension functions, higher order functions, and null safety among them. And rightfully so — those are all incredibly powerful, fundamental features of the language upon which everything else builds on.And while I love those features, there are a handful of small things you don’t hear much about that I really appreciate on a day-to-day basis.These are simple, small niceties — the little things you do hundreds of times a day but nothing you’d consider “advanced”. They’re common sense language features that, when compared to Java, end up saving you a bunch of cognitive overhead, keystrokes, and time.Take this simple, albeit highly contrived, example:// Java1 | View view = getLayoutInflater().inflate(layoutResource, group);2 | view.setVisibility(View.GONE)3 | System.out.println(“View ” + view + ” has visibility ” + view.getVisibility() + “.”);// Kotlin1 | val view = layoutInflater.inflate(layoutResource, group)2 | view.visibility = View.GONE3 | println(“View $view…

Read More →

I don’t have enough

It’s been a rough week. We’ve been migrating our file storage for Highrise and you can imagine how difficult that is for a product running since 2007 with millions of users.And it wasn’t going that well.Fortunately, we had enough backup procedures in place to handle most problems. But still, on Thursday morning at 3AM I was nervously watching the error queue for more fires.How’d I get here?I don’t mean that in a negative sense. This barely raised my blood pressure. I’ve been in this same situation many times before. I and our CTO, Michael Dwan, cooly fixed our problems in the middle of the night.But, I mean, how on earth did I get to this point where I’m helping successfully troubleshoot this crazy large system of technology and code when…All I was trained to do was Chemistry?I remember the panic I had nearing the end of college. I had just spent 4 years and tons of…

Read More →

Bringing Analytical Thinking to Product Decisions with Client Teams

What is decision-making? In its simplest form, decision-making is the act of choosing between two or more courses of action. When confronted with a decision, you can take one of two cognitive approaches – analytical or intuitive. In Thinking Fast, and Slow, Nobel prize winner cognitive psychologist Daniel Kahneman describes analytical thinking as “slow, deliberate, and consciously effortful mode of reasoning.” By contrast, intuitive thinking is our “fast, automatic, and largely unconscious mode.” In other words: think, or blink.   There are hundreds of non-trivial decisions that come up in our day-to-day work building brands and creating great web products here at Viget. Which typeface combination best conveys a campaign’s tone? What mobile nav style will work best for users in an older demographic? How should I structure the code for this feature? Our professional lives can be simplified down to making and acting on decisions like these. When we…

Read More →

How we made Basecamp 3’s Android app 100% Kotlin

Our best advice based on a year of real-world shipping.Made with ❤️ in Chicago.We started our Kotlin journey a year ago based on two hunches: that it would 1) make a huge difference in programmer happiness and 2) wildly improve our work quality and speed.I’m happy to report that our hunches were right! As of this week, Basecamp 3’s Android app is written in 100% Kotlin. 🎉That puts us in a unique position to share tips from the experience of going from all Java to all Kotlin. How do you get started? What should you look out for? What are the best ways to keep learning Kotlin?Read on!🤓 Wrap your head around the basicsFirst thing’s first — take some time to get acclimated with the the language. There are free resources galore, but here are a few I’d recommend:Jake Wharton’s talk about Kotlin for Android. This was the lightbulb moment for me. After two watches, I really…

Read More →

Achieve &amp; Acquia Spark Conversation around Machine Learning and Healthcare

For more than ten years, Achieve, an Acquia partner, has been bringing innovative portal solutions to healthcare providers with a user-centered focus. They make the most complex web development projects possible for companies like Children’s Hospital Los Angeles, Universal Music Group, Dexcom, The Recording Academy, and Scripps Translational Science Institute. Achieve sought out Acquia to participate in their latest Digital Health Innovations (DHI) event because of Acquia’s involvement with technical trends like machine learning that are currently impacting the healthcare industry. Katherine Bailey, Principal Data Scientist at Acquia, was the featured speaker at the event. Like past DHI events, this one continued Achieve’s aim of bringing the San Diego tech, healthcare, and life science communities together through thought leadership. Katherine Bailey taking questions from the audience at DHI Machine Learning Today The emergence of touch points in our digital world including the Internet of Things (IoT), the multitude of devices…

Read More →

Back to Top