mage of business people hands working with papers at meeting

Concerned About the Health of Your Website? Download our Checklist.

Amber
Amber Young

There are so many factors that go into creating and maintaining a successful website that it can be hard to know where to start. It’s also difficult to prioritize your limited time and resources. That’s why we made a checklist to help you track best practices, from design, to user experience to accessibility, SEO and everything in between. 

Use it as a reference to evaluate your website and focus your energy on the areas where you can make the biggest impact for your business and your audience.         

We’re planning to create more checklists that dive deeper into some of our main practice areas. Let us know if there is a topic that would be helpful to you by writing to hello@kanopistudios.com.     

Get the checklist   

BADCamp attendees

What I learned at BADCamp 2017

Automation, the issue queue, backwards compatibility and more

Each year, BADCamp spotlights amazing talent in our industry, featuring dozens of high-quality sessions by talented individuals, including greg.1.anderson, webchick, robbayliss, jmolivas, and our own annabella, to name a few. The event helps all attendees connect with new ideas to up our development game. I had many favorites over the four-day event that included both sessions and trainings.

Automate Your Automation presented by greg.1.anderson was a huge favorite of mine. As a developer in a DevOps role, I loved learning about the time I could save by completing tasks in an automated fashion or allowing a robot to handle them for me. Greg shared some basic automation examples using familiar tools like github, circleci, and composer.

The session spoke to me personally and hit on a number of key points I have encountered in my own work, for example:

  • Manual work is prone to error
  • Repetitive work can become boring and tedious.
  • Automating tasks makes them more reliable and repeatable

Working at Kanopi, we are always trying to find ways to maximize efficiency and results for our clients. For example, it would be great to be able to automate common tasks like Drupal and WordPress updates to make them quick, efficient and accurate. Greg helped me think about ways that we could start to make this happen.

Another favorite at BADCamp 2017 was hearing volkswagenchick’s talk: Dred(itor) the Issue Queue? Don’t – It’s Simple(lytest) to Git in! Their session touched on getting involved in Drupal.org’s Issue Queue, including helpful tools to use and all the different roles that are needed. You don’t have to be a developer to help test bugs! In fact, even the least technical person can still help out.

Lastly, I enjoyed seeing webchick’s presentation about Drupal 9 and Backward Compatibility. She provided a much deeper dive into Dries’ DrupalCon Baltimore Keynote, sharing how much easier it will be to go from Drupal 8 to Drupal 9 then it has been in the past, which is great news for all of us! Previously, going from one major version of Drupal to another has been significantly harder, but that will no longer be the case. I was also excited to hear about some of the new initiatives that are planned, such as Migrate UI, Media, Layout, API First, and Automated Updates.

I was proud to be a part of the organizing team for BADCamp 2017. It was my first year, and the event blew all of my expectations out of the water. I hope to see even more Drupal Community members in Berkeley for BADCamp 2018.

Aerial shot of Kanopi leadership around a table working on a project with laptops open.

How to write a winning RFP

Starting a new website project can feel overwhelming. Finding the right agency — one that truly understands your needs and can deliver effectively — is crucial. The best way to set yourself up for success? Ask the right questions from the start. But equally as important is providing as much clarity as possible in your Request for Proposal (RFP), ensuring that the responding agencies can offer accurate estimates and informed responses.

For large organizations with multiple decision-makers (we’re looking at you higher education and healthcare!) this process can be even more complex. Procurement requirements, departmental priorities, and differing opinions can make alignment challenging.

We see a lot of RFPs … ones that are 100 pages long and full of legal and procurement boilerplate, to those that are just three to five pages (and in case you were wondering, we prefer the shorter, more concise ones that get to the heart of the problem). So we have thoughts on what makes a great RFP.

To simplify the process, we’ve created an RFP template to serve as a foundation for your next website project. Our friends at the Drupal Association have written an RFP template as well specifically around open source projects.

As you work through the template, here are a few essentials to keep in mind:

  • Know your goals. Align with your internal teams in advance of the RFP process to define (and align) your needs.
  • Think in terms of building a long-term relationship. A good partnership with your vendors is key and should be established from the beginning. Do you like them as people? Can you imagine being on hours of calls? Choose an agency you can imagine collaborating with for years.
  • Be transparent. Clarity will benefit everyone. The clearer you are, the stronger and more customized the proposals you’ll get.
  • State your budget. This is a big one. When you include a realistic budget range, agencies can tailor their recommendations and avoid over- or under-scoping. It saves everyone time, builds trust, and ensures proposals are grounded in what’s achievable. Also consider reserving some percentage for contingency.  
  • Don’t be overly prescriptive. Describe your challenges, not the exact solutions. Good agencies are gifted at coming up with expert solutions to challenges that are stated in terms of problem statements or business objectives. Keeping an open mind will allow you to see (and compare) your prospective vendor’s recommendations and benefit from their expertise. 
  • Give yourself and your vendor enough time. Start the RFP process before your need is immediate to avoid extra pressure on both sides to meet an unnecessarily tight timeline to respond. Allowing more time can also mean more considered and complete responses.
  • Talk to your potential vendors ahead of time. This allows you to establish the relationship and pre-select the ones you suspect will be a good fit. The right vendors can provide a lot of value early in the process, which may even help inform the scope or direction of the RFP. Even better? Complete your strategic planning first to get extra clarity.

If you use AI to write your RFP:

AI tools can help you get started faster, but be careful: they tend to add unnecessary detail (and bloat equals a higher budget). To keep your RFP sharp:

  • Begin with a clear problem statement and desired outcomes.
  • Ask AI to outline sections, not write a full document.
  • Review, refine, and delete anything that doesn’t add value.
  • Separate “must-haves” from “nice-to-haves.”
  • Always have a human proofread any AI parts of your RFP to sanity-check the output against your goals and budget.

What’s next?

Once you’ve written that RFP and gotten responses back, it’s time to choose your vendor! We’ve also got advice on how to evaluate the RFP responses you receive.

Kanopi’s Allison Manley gave a presentation at the NTC Conference on how to write a winning RFP. Check out her presentation below to get more in-depth information.

A Decade of Data: UC Berkeley I School Case Study

The Berkeley School of Information (UC Berkeley I School) contacted Kanopi Studios with a robust request: a redesign of their website, guidance on the modernization of development techniques, and a full migration of their site to the newest version of Drupal — which meant moving over 10 years of content.

This kind of request wasn’t unusual for us. Higher education clients are unique in that they are a lot of things to a lot of people. Audiences include academic peers, laypeople, current students, and prospective students. There are often competing goals and priorities, all of which need to be examined and addressed.

The answer to meeting the complex needs of higher education clients is always the same: start with research. With I School, our first stop was discovery. We had to figure out what we had to work with. That meant working closely with I School to determine content types, decide what information was still relevant, map the content to the new site, and gain clarity on the specific content that needed to be migrated during the development phase.

Then we set out our deliverables:

  • Drupal migration
  • Redesign
  • Training
  • Development pipeline
  • Responsive theming

We used a persona-driven design process that started and ended with the user. We asked the questions, “Who are we trying to attract?” and  “What do they want to see?” We blended the classic elements of UC Berkeley with a modern look and feel that would attract prospective students, while at the same time making sure the design would maintain the same high quality across a variety of platforms and devices.

In order to modernize the development practices used for I School’s site, we reorganized the way code and files were structured and refactored some of the custom modules so we could take advantage of newer tools in Drupal 7, such as the Database API, Panels, and various caching methods.

We also provided I School with a full platform for continuous software delivery, with automated deployments to the development site and scripted deployments across all environments. The bottom line? Less downtime and a more responsive site.

“It was a great pleasure to work with Kanopi on our website redesign project. We faced a daunting challenge migrating our highly customized site from one version of Drupal to another, while simultaneously moving to a completely new responsive visual design. The Kanopi team’s expertise and enthusiasm were critical to the success of our project. We couldn’t have done it without them!”

– Kevin Heard, Senior Director of Information Technology, UC Berkeley School of Information

As they say, the proof is in the pudding. In the weeks since the new site launched, measurable improvements are already being noticed by site administrators and, most importantly, by the users! Here’s a snapshot of the improvements:

  • Sessions increased by 4.29%
  • Users increased by 3.11%
  • Page views increased by 22.30%
  • Pages/session increased by 17.26%
  • Average session duration increased by 11.33%
  • Bounce rate decreased by 1.42%

From research to organization to design to modernization, our decisions were driven by data every step of the way. Contact us today to discover how we can transform your site and help you meet your goals.

SFCM blog

Symbiosis FTW: Better Living Through Partnerships

“Mutualism” is a fancy term for a mutually beneficial, symbiotic relationship between two entities in nature. Organisms, from simple to complex, team up and help each other to the benefit of both; resources that may be scarce for one organism are easily provided by the other. So, how can mutualism apply in the agency world? The modern approach to building technology-agnostic experiences, allows the evolution of the User Experience and Design to lead the executional decisions on “how” (the technologies) to build the “what” that has evolved. At times, firms look for a partnership to complement their team. Therefore, mutualism with other agencies can become an extension of the firm and seamlessly keep projects moving forward.

At Kanopi Studios, we feel that a symbiotic collaboration of great minds breeds great work together! That’s why we are proud to highlight our partnership with Mule Design Studio on the San Francisco Conservatory of Music (SFCM) website.


San Francisco Conservatory of Music gives students the framework and foundation to succeed throughout their studies and careers, creating a path of lifelong learning. In partnering with Mule Design Studio, SFCM was looking for a full web transformation; one that would showcase the Conservatory’s unique mission and offerings. The goal was to delight prospective students and their parents and provide pathways to relevant content inspiring them to want to study at SFCM. SFCM also wanted a robust and manageable content administration process.

Mule expertly constructed an experience to propel the brand experience and accomplish these goals, then chose Kanopi Studios as their Development Partner to bring the experience to life.


“We seek development partners who specialize in implementing state-of-the-art web experiences. Kanopi’s decade-plus experience in Drupal development, their ingenuity, and their people are why we chose to work with their studio. Mule takes a holistic approach to strategy, design, and technology, and selecting a partner like Kanopi to be a part of delivering a successful site is imperative.”

– Mike Monteiro, Mule Design


Kanopi constructed a dedicated multidisciplinary team to perform technical guidance, feasibility and executional services for the project. Together, Mule and Kanopi provided thought-leadership on real-world implementation and actualization of design, while building a blueprint for the end user’s experience, both visually and technically. The partnership between Mule and Kanopi was seamless, and the teams strived to provide a unified experience for the end client.

As with many projects, there were complexities. In this case, the end-result needed to be more of a customized web solution. Not only did the experience require carefully crafted content, the sheer volume of content required a mindful execution for the front-end to be flexible to accommodate it, as well as the CMS administration that powered it. There were also integration points, such as an EMS calendar system. In order to further integrate the calendaring system into the experience, we were able to create a customized model to group related taxonomy with events on the calendar and create a guide that SFCM could build out and load content into as needed.


“Kanopi conducted a thorough technical discovery phase to inform and define the technical specifications for the project. These were outlined in a scope document for the client and included all third party integrations. It also mapped our implementation plan, defined parameters, and called out specific criteria for the build. Throughout the project, Kanopi provided further detailed plans for the client around each milestone: CMS Training, Content Entry, QA Testing, and Launch. This documentation enabled a smooth, on-time launch.”

– Maggie Glaize, Mule Design


Alignment between Mule and Kanopi was critical to provide a unified execution, but the end client’s partnership with the teams was just, if not more, pertinent. SFCM assembled a multi-skilled team to tackle the project and methodically navigated stakeholders on their side to gain buy-in and lead the effort. The project success was an absolute collaboration between several organizations all working diligently toward common goals, and leaning on each other throughout to successfully launch the experience.

In nature, measuring the precise benefits to the individuals in a mutualistic relationship is not always a straightforward process, particularly when organisms can receive benefits from a variety of sources. By creating lasting, trusted, ongoing agency partnerships, Kanopi builds personal connections. The more we understand how our agency partners think, the more we can intuit what they need, and the more we can intuit project needs. Interactions between Kanopi and our partners are harmonious, as are the relationships we have with our end clients. 

Want to form a partnership with us on your next project? Contact us.

How to fine-tune your site content for RankBrain

RankBrain. It sounds like it could be the name of a diabolical character from an early ’90s cartoon who is trying to outsmart humans and take over the planet. In actuality, RankBrain refers to one of Google’s latest publicly announced algorithms. It is a type of machine computing (artificial intelligence) the search engine uses to help it rank websites in its search results. Or in simpler terms, RankBrain is Google’s way of handling overly wordy search queries.

In our most recent post for GoDaddyGarage, we break down what RankBrain actually is (It’s much more exciting than evil cartoon characters!) and how to harness the power of ‘Machine Learning’ to better optimize your website to reach your target audience.

To learn more about how we help our clients improve their online presence as part of our search engine optimization strategy work, contact us today!

Image by Hey Paul Studios via Compfight cc

403 Destination

403s or Access Denied pages. We have all been there and experienced them. They can interrupt a perfectly well-designed user experience as well as interrupt a developer’s work.

Recently, we came across a challenge with a login form on a 403 (access denied) page not properly redirecting to the original page after login.

If you’re not familiar with the flow here, if you hit page on a Drupal site that you do not have access to, usually because you’re not logged in, you get a page saying “Access Denied”. Good usability means having a login form right on that page so that if you do have access to the page you can log in and be redirected back to the page you were trying to access instead of having to navigate away to the user login.

Drupal allows you to set any URL as the 403 page, and in this case, there was one defined, but when the 403 page was loaded, there was no destination parameter set.

The destination parameter is used as storage for the ultimate page you want to be redirected to when completing an action such as logging in. This looks like “http://mysite.com/access-denied?destination=my-page“. Once logged in, you would get automatically redirected to “http://mysite.com/my-page“.

In order to fix this, we needed to ensure the destination parameter was being added to the 403 page URL, so we used a hook_drupal_goto_alter implementation to first check if we were getting redirected to the 403 page, then to add the destination parameter to the redirect URL, set to the current page path.

Here’s the code:

/**

* Implements hook_drupal_goto_alter()

* Ensure 403 redirect loads the current path as

* destination parameter

*/

function mymodule_drupal_goto_alter(&$path, &$options, &$http_response_code) {

if($path == variable_get(‘site_403’)) {

$options[‘query’] = array(

‘destination’ => current_path(),

);

}

}

Once you have added this code to your custom module, be sure to clear the site cache so the new function is registered, and don’t forget to test!

__________________________________

Above Code Courtesy of Paul Sheldrake

Nurturing Leads with Email Marketing

With all of the different marketing techniques, tech stacks and CRM platforms to source and convert leads, it can be hard to focus on which tool(s) you should invest both your time and financial resources in for maximum ROI. While referrals, advertising, PPC, direct web traffic, and networking are the most common ways of generating leads, one tactic that is more or less overlooked or just not executed to its full capacity is email marketing.

Email marketing may not be the sexiest of tactics but it is still the most effective way to reach and nurture leads. In our next post for the GoDaddy Garage Blog, we look at tactics to nurture leads through email marketing, as well as some tips and tricks on how to craft and send effective marketing emails.

Read the ENTIRE article and make sure to check back for more posts!

McKesson Giving Comfort Ruby on Rails Project

We converted a static Excel database into an interactive application that connects the McKesson Foundation with community partners – ultimately helping cancer patients receive much-needed comfort during their treatment.

It is so exciting to see our work generate results for our clients. When that client is a nonprofit that provides services to cancer patients, that work becomes even more meaningful. The McKesson Foundation provides cancer patients with non-medical direct services through a network of Cancer Care Community Partners – hospitals, treatment centers, and support organizations across North America. Their Giving Comfort program provides Comfort Kits to cancer patients through this network.

The network was managed through an Excel spreadsheet, administered by one person, which made sharing program information and expanding functionality nearly impossible. McKesson asked Kanopi to develop an online application that would support the expansion of the Giving Comfort to meet the McKesson Foundation’s growing needs.

Using an interactive Ruby on Rails Application, Kanopi worked collaboratively with McKesson to bring a new database to life –visually as well as interactively – to improve user functionality, display data and provide robust reporting to meet the organization’s program goals. Ruby on Rails combines modern graphic visualizations, a simple user interface, and a strong backend to interactively present data, allow users to search based on location, use geo-targeting to identify potential partners and run custom reports.

Using the client’s brand look and feel, we developed modern looking but visually engaging graphs to showcase their data. The new database now instantly displays the proximity of Community Partners to McKesson offices, facilitating the delivery of Comfort Kits to those in need and expand McKesson’s partnerships around the country and streamlining the work of our client Valerie Aubel, Product and Distribution Coordinator for the Giving Comfort program: “The database has made my job of managing the Community Partners EXPONENTIALLY easier and I am very grateful!!”

To learn more about ways that Kanopi helps nonprofit organizations reach their goals, visit our #kanopiforgood page.