zuLIVE

zuLive is home to musings from the zuCrew, photos, and generally anything that interests us. Don’t expect anything too polished, this is where we let it all out.

Fight User Disillusionment! Designing for Performance

By on

Do you ever find yourself searching for information on your phone, loading the first interesting google result only to get impatient and hit the back button for the next result? And perhaps you find yourself repeating this process over and over until your ravenous information appetite is finally satiated?

Can I get a show of hands?

The truth is this is a common situation. It’s known that ‘people will visit a web site less often if it is slower than a close competitor by more than 250 milliseconds’. But really, how quick is that you ask?…well it’s quicker than the blink of an eye. A blink takes a whopping 400ms. Although my mind has a hard time comprehending that, I know I notice it. And so do you.

I feel a twinge of pain when I check out an old website I designed and worked on for

...
Read more

Web Animation and zu (and you)

By on

One of the perks of working at zu is the encouragement that employees receive to enroll in training courses to improve their skillset. In mid-July 2016, some members of the zuKeepers team took part in the pre-release of Rachel Nabors’ Web Animation Essentials: CSS Animations and Transitions course. Our team had past experience with web animation, utilizing javascript libraries like GSAP and jQuery (our team’s preference is GSAP), but had little experience when it came to CSS-based animations, which is what this course focused on.

Rachel Nabors is an American cartoonist and web animation expert who shares her skills at various conferences around the world. She is known for her comic Rachel the Great, which features the daily life of her alter-ego and her cat sidekick Tuna P. Katz, the

...
Read more

Caching in Drupal 8

By on

Drupal 8 has evolved in many ways over its predecessor. Some of the prominent features are the inclusion of the widely used views module into core, configuration management, and an easy to use translation service. However, today we are going to dive into one of the other major updates of Drupal 8 that provides a huge boost to performance and perceived performance: the cache layer.

Caching in Drupal 8 has received a much needed overhaul. It has become highly customizable and dynamic, and now has the ability to cache individual blocks or items on a page. This means that we can control exactly when a block on a page has its cache cleared instead of clearing the entire page cache.

Diving Deeper into Caching

There are three main components to the cache layer in Drupal 8:

  • Cache tags
...
Read more

DrupalCon, Still Staying for the Community

By on

With another DrupalCon behind us, and all caught up from our week away from home, we’ve been taking some time to look back on the experience. The biggest takeaway from the conference for me still remains the wonderful community which has formed around Drupal as an open source project. The common Drupal saying, “come for the code, stay for the community” holds as true as ever.

The Community Experience

https://www.flickr.com/photos/142503742@N05/26873784761/in/photostream/

Anyone who has ever attended a convention or conference on a topic they are interested in knows that feeling - when you walk through the convention hall doors and you are suddenly surrounded by 3000 or more people who share your interest and are excited to talk about it. It’s an amazing atmosphere, isn’t it? I still

...
Read more

Migrating to Drupal 8 Part 3: Lessons

By on

Read part 1

Read part 2

In part two of our series we dove into Drupal 8’s templating system. We looked at how Twig functions, and how we can process our output in different ways. We also looked at how to debug and refine the data that Drupal is giving us. In part three we’ll talk through some things we learned while theming our first few Drupal 8 sites, using regions, manipulating our data within Twig, and controlling the output.

Outputting Regional Content

In most templates, the content can be directly output using the `{{ content }}` variable. Depending on the template, sometimes that has to be accessed through the `item` variable, using `{% for item in items %} {{ item.content }} {% endfor %}`. However, if you’re within a region template, you have to access individual blocks using

...
Read more