A Healthier Option Helps WordPress Users Improve the Options Table

A Healthier Option Helps WordPress Users Improve the Options Table

You may have noticed we’ve been covering a lot of plugins lately. What can we say? We’re doin’ work! We have yet another amazing plugin that we’d like you to meet, called A Healthier Option. A Healthier Option analyzes your options table and offers suggestions on how to make it healthier.

Autoloading WordPress options

WordPress provides a way to autoload (or not) certain options. WordPress stores these autoloaded options in a big bucket, like an object cache that allows a user to say, “This is an option that needs to be available all the time.” To make it constantly available, the option is placed in the autoload bucket, making it easy for the user to access it without having to go to the database. The option is stored in memory and far less computationally expensive.

For a fantastic rundown on understanding alloptions in WordPress, take a peek at this article from our friend, John James Jacoby.

The problem

By default, most object cache buckets can be up to 1 MB. When it’s filled with a reasonable amount of data, that’s totally fine. However, when you’re talking about a lot of plugins with a ton of autoloaded options, the autoloaded options cache bucket can fill up real quick. Once it’s overfilled, it stops working properly.

WordPress attempts to make all autoloaded options available on every page load. This is great, in theory, as it should save a lot of trips to the database. When the cache bucket for autoloaded options is too big, this breaks, and can cause a significant performance drain on your website.

If you have 10,000 options with big values, and 5,000 of those are autoloaded, then it can quickly become a performance strain. Suddenly, your options table gets unwieldy.

Depending on the configuration of your server, your database, and your object cache, what WordPress intended to be a simple and relatively small table of options can turn into the culprit behind your site’s slow speed. We know that loading time can make a huge difference in terms of sales and success, so keeping your site quick should be a high priority. A Healthier Option plugin helps you do that, and makes it wicked easy to manage.

Continue Reading

Zao Mock API: A WordPress Plugin for Testing API Responses

Right now, REST API usage is at an all-time high, especially now that WordPress, which powers 27% of the web, has its own REST API. And it makes absolute sense. There are so many great services and data sources in the world wide web, and there has been a need for those sites/services to “talk” to each other for almost as long as the web has been a thing. REST APIs have long been a subject we are passionate about at Zao.

If you’re not familiar with REST APIs, I recommend doing some reading, and bookmark this article (and plugin) for later.

Continue Reading

Qpractice case study, Zao client spotlight, Zao WordPress web development, Zao WordPress eCommerce development, Zao WordPress plugin development, custom WordPress plugin,

Zao Client Spotlight: An Interview with Qpractice’s Lisa League

Earlier this week, we shared the technical breakdown of the work we did for Qpractice, including a run down of the extensive custom plugin development and functionality we added to the site.

I had a chance to chat with Lisa League, designer and founder of Qpractice, to get a more in-depth look at what Qpractice does, why she chose Zao, and her experience working with us.

Tell us a little bit about your work.

The NCIDQ exam is used in the US and Canada for [interior designer] licensing and certification. I teach several courses that prepare designers to take the exam. Designers who want to move ahead in their career, junior level and senior level designers looking to advance and take on higher paying projects. It’s typically commercially focused, because the exam has to do with health, safety, and welfare, [with a focus on] building codes, accessibility codes, etc. [The test is] not [focused on] interior design or decoration, but regulations and codes–on interior architecture, like the non-structural part of the building, plumbing, electrical, mechanical systems, stuff like that.

The exam reviews both what designers learn in school, as well as what you learn on the job. The exam is not available to everyone; you must meet certain requirements in education and years of work experience to be eligible to take it.

What was the major reason you needed a developer?

I had pretty much done everything myself since I started. I was creating content to work with customers or members, as well as providing customer support and doing the website design and development. I learned how to do quite a lot, but couldn’t go beyond the out of the box capabilities.

Qpractice case study, Zao client spotlight, Zao WordPress web development, Zao WordPress eCommerce development, Zao WordPress plugin development, custom WordPress plugin,

I wanted to enhance what I could offer to my customers, so I wanted to work with developers. I worked with other developers a year ago, but to be able to continue on, Qpractice needed a team, [rather] than individuals that might get booked on a project [and be unavailable]. I needed the availability, as well as more than one person working on the site, and wanted continuity, support, and ongoing development.

How were you handling this before?

I was handling it all myself, with some backup from a support team that offers task based support. If it was something I couldn’t do, I would hand it off to them. They were taking one off small tasks, rather than major feature set development. When I needed somebody to take care of one thing or update plugins at night, it worked great, but more extensive features and ongoing development wasn’t within their scope.

How did you first hear about Zao?

I contacted several well-known, well-respected Genesis custom theme developers and they recommended Zao.

What led you to choose Zao over any other agency?

I talked to a lot of people, but what it boiled down to was Zao’s follow up and [willingness to] take the time. I hired Zao to scope the project, which provided the kind of feedback I didn’t get from other developers. When Zao [gave a] preliminary look into [the site], they did an excellent job digging in, seeing what I had, what I needed, why I needed it, and what we can do better. Not everybody does that.

What were the big successes of this project?

I’ve been able to offer different courses and products than I’ve offered before. Now, I can package them together and offer them at a higher price point. I also now offer an e-book for sale and delivery is totally automated, so I don’t have to spend any additional time while it adds to my revenue.

[Zao also] improved the product that I have, and make sure everything is kept up to date. We added some things that simplified [my work and the user experience], and offered tools that allow my customers to better track their progress, as well as tools for me to better manage my members and control member access.

How has Zao helped you achieve your goals for this year?

A website is like a living breathing organism, so it’s always going to need something. They’ve enabled me to take the whole big picture and break it up into parts, do what I need to do now (while making money from that), and then go forward [to the next piece]. It provides an opportunity to regroup [before diving into the next phase] and to profit on what we’ve already developed.

Qpractice case study, Zao client spotlight, Zao WordPress web development, Zao WordPress eCommerce development, Zao WordPress plugin development, custom WordPress plugin,

Do you have numbers regarding Zao’s impact on your success?

I doubled my revenue for the first two months of this year compared to last year.

If someone was on the fence about working with Zao, what would you tell them?

I would tell them to put the time and money into the discovery/scoping process, because that’s critical. You’d have a really good doctor [take a look] before you go under for a major surgery. You want [a developer] to look at what’s happening, break it all down, figure out what you need and why you need it, as well as any alternate ways to achieve what you want, and then make recommendations based on that.

I have put money into software and custom development in the past, only to find it was something I had to scrap. It’s better to spend the time and money upfront and really break it apart, and what you think that you want to do may not be what you end up doing–or it might be, but there might be things you didn’t think of. Zao offers that.

Do you have anything you’d like to add about your experience?

I just enjoy working with the team at Zao. You don’t want people to just do a job, but you want to hire people you enjoy working with.

Qpractice case study, Zao client spotlight, Zao WordPress web development, Zao WordPress eCommerce development, Zao WordPress plugin development, custom WordPress plugin,

Zao Client Spotlight: Our Collaboration with Qpractice

One of Zao’s goals includes taking on complex projects that require in-depth strategy. We don’t want to merely solve problems, but add value to the technology our clients are using. We take a boy scout approach to the work we do: Always leave the campground cleaner than we found it.

This means not only cleaning up what messes we may find when we arrive, but ensuring our clients have sustainable technology that benefits them in the future.

We recently had the pleasure of completing an initial phase with Qpractice, a website built to help interior designers prepare for the NCIDQ exam. So far it has been a complex, but extremely exciting collaboration with Lisa League, designer and founder of Qpractice. We’re here to share what we’ve done so far, and be sure to check out our interview with Lisa to hear her thoughts on working with Zao!

What Qpractice Does

The NCIDQ exam is an interior design licensing and certification test offered in the US and Canada. According to Lisa, it tends to be commercially oriented, with a focus on health, safety, and welfare. It tests designers on their understanding of necessary codes and regulations, making sure they can demonstrate their understanding of the non-structural part of the building (like plumbing, electrical, mechanical systems, etc.).

The exam tests knowledge interior designers should have accumulated both during their education and from their work experience. The NCIDQ exam can be a crucial element in an interior designer’s career trajectory; designers often seek out the exam to move up to a senior design position or land higher profile, higher paying projects.

Qpractice aims to help interior designers prepare for the NCIDQ exam by providing extensive opportunities for trial, error, and education. The Qpractice site provides practice tests that in many ways mirror the real NCIDQ exam, allowing designers to become familiar with the format and feel confident when facing the exam live.

Zao’s work on Qpractice

Like any ongoing project on a live, thriving site, as we worked through the initial phase, the scope was extended to cover new and emerging (and sometimes urgent) issues and inconveniences. Zao updated much of Qpractice’s existing system, as well as revamped the entire theme, added functionality, and created several plugins to better serve Qpractice’s needs. The NCIDQ exam also recently added a new quiz format, and Qpractice needed to have that created for test takers continued comfort and familiarity with the exam.

The discovery process

As we do with most of our clients, we did a significant code and performance audit before diving in. JT talked about how vital the discovery process is before, and it’s a staple in the way we approach projects. For Qpractice, we made recommendations for custom features that can be added, as well as data migrations from one plugin to another, and more.

During discovery, we don’t always recommend changes. Sometimes we recommend staying with the current solution if it’s best serving our client’s needs. We believe this is just as important as adding the new and shiny features.

Qpractice was set up using Sensei and WooCommerce Memberships, and we suggested that they continue to do so. From our initial discovery document:

  • Sensei – Given the high level of integration with custom functionality plugins and the purpose Sensei provides on your site, we’d recommend keeping it as your quiz management solution. Developing a custom quiz management solution would offer minimal long-term benefit and incur a high short-term cost.
  • WooCommerce Memberships – Based on our discussions with you, the most recent changes to WooCommerce that have resolved outstanding issues, and the cost of switching membership platforms, we recommend sticking with WooCommerce Memberships.

We aren’t kidding when we say Zao is working on behalf of our clients at every turn.

Once the discovery document was sent and we got the approval from Lisa, we went straight to work.

Order up: adjusting Genesis and making the menu

Lisa wanted to make some adjustments and add new elements to the Qpractice theme, but wanted to stay on Genesis.

One of the big pieces that took a lot of time and effort was the way the menu functions. We overhauled the entire menu system in terms of functionality and mobile responsiveness. It’s a specific implementation that works responsibly, as well as opens and closes according to different user actions. When logged in, Qpractice users have access to an additional menu with custom functionality as well.

The entire site is now device agnostic, which is particularly important for appealing to new users and making it possible for existing users to access information like the study guide, grades, and more, with ease.

Creating seamless integrations

On Qpractice, these three tools are integrated to offer the most to users, as well as make the business easy to run. Sensei powers the Qpractice learning and quiz systems, WooCommerce Memberships controls access to those systems, and WooCommerce powers the eCommerce component of the site.

Between these three tools, there were lots of bits and pieces that needed cleaning up. When one would update, it would often introduce a bug to one of the others, and it would impact the entire setup negatively. Zao’s first step in improving the Qpractice site was obvious: we triaged a bunch of bugs popping up in the integrations between Sensei, WooCommerce, and WooCommerce Memberships, as well as submitting several pull requests against their respective repos.

Side note: This is where retainers become necessary. Plugin teams have their technical goals in mind when they’re building their product, but they do not have your specific ecosystem in mind when they release. That’s why paying to have a technical partner to bridge the gap between the technology and your specific needs is so valuable.

Simple, but lovely features

WooCommerce Product Bundles price shortcodes

Qpractice uses WooCommerce’s Product Bundles, but there wasn’t a good way to output the price for the each product in the bundles and show the user what each item cost and just how much they were saving. The shortcode is super easy to use (of course), and makes solving this problem extremely simple.

WooCommerce Product Bundles, WooCommerce WordPress websites, WooCommerce development, WordPress web development

Custom message bar

Zao added a way for Qpractice to flash a message bar at the top of the site. We wanted it to integrate nicely with the Qpractice menu and show up in certain scenarios set by the admin. Although there are plugins that offer this kind of functionality, most of them only create a message bar that shows universally across the site, and we wanted to give Qpractice more control over this component of the site. The message can be shown across the site entirely, or the site admin can toggle it to show exclusively to logged out users, which is particularly useful as a promotional tool.

All the WordPress plugins

As mentioned, the Qpractice site is using Sensei, WooCommerce Memberships, and WooCommerce.

Additionally, we migrated Qpractice from another affiliate plugin to AffiliateWP, built by Pippin’s Plugins. They create great products and support AffiliateWP incredibly well; we felt confident that AffiliateWP would put Qpractice’s site (and affiliate program) in good hands.

Once again, we make sure our clients are gaining the most value from their technology, which means setting them up with what we believe to be the best products, and there’s no doubt that AffiliateWP falls into that category.

Custom WordPress plugin development

Qpractice had some specific needs and problems to resolve that existing plugins couldn’t address, so we did one of the things we do best: we built them.

We encourage all of our clients to open source the plugins we create for them, and Lisa was especially enthusiastic about creating products that are open sourced and available to the public. Not all of them are open sourced just yet, but many of them are.

Bulk Boot for Sensei

The way that Sensei is built means that users are signed up indefinitely unless they remove themselves, but this presented a problem for Qpractice, which operates on a seasonal schedule. At the end of every season, they needed to be able to remove access to the courses and encourage users to sign up for the next season, should they want to do so.

We discussed the fact that booting learners from a course is actually a pretty intense operation performance-wise and that it needed to be an asynchronous operation. As a result, we decided the best course of action was to add an optional turtle to help the user’s anxiety levels.

Bulk Boot for Sensei, Qpractice, Bulk Boot WordPress plugin, WordPress plugin development, custom WordPress plugin development

We wrote Bulk Boot for Sensei to give Qpractice the ability to bulk remove all learners from a specific course at the end of the season. Now, tidying up user access in Sensei is super easy.

Sensei Advanced Quizzes

The Qpractice site already had a plugin that extends Sensei, adding additional functionality, and we built upon that to add more useful tools in the admin area.

One of the most frustrating things about Sensei is that it dumps all questions/question-types in one big listing in the admin without faceted filters for drilling down to certain types of questions. Qpractice has a variety of question types that act a certain way, and Lisa had no way to search by the group. We created a tool that adds columns and filters to allow advanced sorting so she has a much easier time of filtering.

WordPress plugins, WordPress WooCommerce Sensei, using WooCommerce Sensei, WordPress eCommerce development, WordPress educational development,

WooCommerce Custom Product Redirects

Zao created a custom plugin called WooCommerce Custom Product Redirects. This plugin is not only a great sales and customer support tool, but it allows the Qpractice site to direct their users to information they may find crucial for using the products they’re purchasing.

With WooCommerce Custom Product Redirects, if a user has a product in their cart and makes a purchase, they will be redirected to relevant content set by the site admin. If the site admin has a relevant tutorial to the product being purchased, they may decide to custom redirect to that tutorial for the customer’s benefit. If there are two products that have URLs, the site admin can define priority, ensuring that their customers get any and all pertinent information automatically delivered to them post-purchase.

WooCommerce VitalSource Redemption Codes

Qpractice offers an e-book that is delivered by a third party, but purchased through the Qpractice site. Qpractice needed a way to keep an inventory of codes and her stock in WooCommerce without spending a lot of time keeping track of it manually.

With WooCommerce VitalSource Redemption Codes, every time a user purchases a product stored on a third party site, it associates one of the codes (in Qpractice’s case, a free code for the e-book) with that user so they can find the code on their receipt, and so inventory is neatly kept in WooCommerce.

This plugin was written specific to VitalSource, a Qpractice partner. We will likely adjust it and make it open source soon–stay tuned!

Zao Sensei Media Attachments

We created an alternative to a WooCommerce plugin that allows the site admin to associate media items with a lesson and ensures the media shows up in the resources list for associated courses. Zao Sensei Media Attachments now serves the same function, but uses CMB2 to create a better user interface. CMB2 simplifies the admin fields and provides more filters for modification.

WordPress plugins, Zao WordPress plugins, WordPress plugin development, Qpractice, working with Qpractice, e-commerce website development, eCommerce website development, hire a developer, looking for an eCommerce developer, WordPress eCommerce,

CMB2 Snippet Library: Associate WordPress Menu Field

We also contributed one of the features back to the CMB2 code snippet library. With this feature, Qpractice can select or create a curated WordPress custom menu to associate with a quiz or lesson and that menu will be displayed by placing the “Associated Post Menu” in the corresponding sidebar widget area.


Working with Qpractice has been an absolute delight. Lisa is a creative powerhouse, suggesting all kinds of ideas that we had the opportunity to create into a tangible, functional reality. We’re on the next phase of the project, and we’re all too excited to see what comes next. We’ll keep you posted!

Check back later this week for an interview with Lisa sharing her perspective of the project. 

Zao, WordPress web development, WordPress eCommerce development, WordPress eCommerce developers, WordPress plugin developers, WordPress technical partners, WordPress developers to hire, hire a WordPress developer, find a WordPress developer

Zao: A Look Back at 2016

After a decade of work, 2016 was the best year Zao has had thus far.

Our small team more than doubled, we worked on several amazing projects, and we contributed back to open source, of course. Here’s a rundown of what we did and what we’re excited about moving forward.

A 2016 Retrospective

The Zao Team

Team Zao grew considerably in 2016 – we more than doubled our staff size and even found some incredible contractors who have been an integral part of our success.

Full-time Staff

Mihai

In February, we hired Mihai Joldis as a full-time developer. Hailing from Romania, he leads the charge with many of our enhancements to WP eCommerce and is an invaluable engineer on many of our client projects as well. To top it all off, he provides excellent support to our growing customer base at wpecommerce.org.  He is also one of the funniest people you’ll ever meet–humble, kind, and generous, too! All fantastic qualities that he’ll be putting to good use as he becomes a first-time dad in a few short months.

The Other Justin

In May, we hired Justin Sternberg as a lead developer, staff sergeant, managing partner, and all around excellent human being. He leads many of our agency projects; clients pretty much love him the moment they start working with him. After less than a year on our team, we can’t imagine life without him.

Contractors

Lizz

Late last year, we had the good fortune of finding Lizz Ehrenpreis. Lizz is the only reason you’re aware of who we are and can read these words without wanting to stab your eyes out. She’s an absolute wizard with content, incredibly disciplined, and pretty much the bee’s knees. Did I mention she plays the ukulele?

Jon

If you don’t know Jon, you should DEFINITELY know Jon. He’s a rock-solid developer who has been a massive help to Zao since Q4 last year. He’s been an integral part of helping us launch our own projects on budget, on time. If you’ve ever been tasked with finding GOOD developer contractors, you know how difficult it can be. If they’re solid engineers, they never communicate. If they communicate well, you’re constantly fixing code. Jon is the exception to that rule; he’s the real deal and we’re lucky to have him around.


Our work with Cancer Tutor

Cancer Tutor Logo

If you’ve been poking around our site for the last few weeks, you’ve already learned a little bit about Cancer Tutor and the work we’ve done for them already.

A brief synopsis of the work we did for them, from our portfolio:

Cancer Tutor worked with Zao on several different aspects of improving their site, ranging from eCommerce to solving complex technical hurdles. They wanted the ability to have member profiles that allowed their users to track and follow content from different authors, as well as create a notification center inside of WordPress without the overhead of something like BuddyPress.

Zao created a custom notification system built on a notifications component found in BuddyPress; we cribbed the component and integrated it with the REST API in WordPress. Now, users can follow categories and authors, and will get notified every time there is new content. This JavaScript intensive update also allows greater communication from Cancer Tutor admins, allowing them to send a notification to everyone in the system as desired.


The Cancer Tutor project was challenging and exciting to our team particularly because of how we utilized WordPress REST API.

The REST API and what it can do in WordPress are going to be a huge area of growth for us. It’s in WordPress core, and will become the primary way to solve a lot of technical problems. The custom notification system we built for Cancer Tutor required digging into how the REST API works.

The REST API touched almost everything we did on the Cancer Tutor site, from templating, to the way the notification system works, to the way that users are able to follow certain authors and forum posts or different categories. The site we built for Cancer Tutor is a user-centric, member-centric website, and all of that functionality is built on the REST API.

We dug into the internals to find best way for authentication, as well as how to manage users and notifications in a way that scales. We had to figure out how to build the site so that 50,000 users liking the same thing at the same time or sending out 100,000 notifications wouldn’t crash the server.


Working with the WordPress REST API

Working with the REST API fits nicely in our wheelhouse. Zao focuses on advanced problem solving with our clients; it’s something we enjoy and it’s where we really shine. Plus, it’s at an intersection with our specialty. Since we focus on eCommerce, there are loads of cool possibilities that come into play when sites can utilize the REST API.

Since the REST API is a major part of WordPress moving forward, we’ll see it utilized in a few different ways by many:

Single page applications

Instead of going to an eCommerce site that feels sluggish, we predict we’ll see more sites using an eCommerce theme with the REST API, which makes the site feel way faster. Obviously, anything that can make a site load faster is better for business; it’s a common vanity metric. Faster sites convert better.

Advanced technology for mom & pop shops

This is also going to provide opportunities for advanced technology to be utilized by smaller businesses. Maybe we’ll see programmable drones delivering from mom and pop shops, where the delivery address for an order that just came in can go through their site and directly to their delivery drone. Piece of cake.


Our work with Brooklyn Tweed

Brooklyn Tweed, Brooklyn Tweed website, Zao clients, sites on WordPress, WordPress developers, hire a WordPress developer, building a clothing store, eCommerce developers, e-commerce WordPress developers, using WordPress for e-Commerce

Cancer Tutor was our hare. Brooklyn Tweed is our tortoise.

Brooklyn Tweed is another excellent client of ours (we’re biased–all of our clients are excellent!). Zao is doing month to month work with them, which we love. Having long-lasting, ongoing relationships with our clients is satisfying. It may not be a gigantic project from the start (who doesn’t love landing a big check?), but it means that we get to work with them and steadily grow their business.

Longevity in our relationships gives us the opportunity to be a technical partner, rather than a one-off vendor. It requires us putting in some hard work upfront to build a foundation to what we always hope will become a fruitful relationship. It allows us to add real, measurable value to their business.

When we build a long term relationship with our clients, we have an impact on that business we’re not able to have otherwise. We can take their business to the next level, technically speaking, and work with their team to make sure their technology is scaling as it should, right alongside their sales.

Long-term clients allow us autonomy and creative license to do what we need to do. If we’re just a vendor pushing code, it turns into a different dynamic. Long-term partnership allows us to approach the relationship as a collaborative effort. We get to work alongside the client as their goals shift over time. We love that, and we’ll be looking for more of these kinds of opportunities in the future.


Open source efforts

Our open source efforts have been incremental, but solid, and you’ll see bigger changes to those things in 2017.

CMB2

Since Justin Sternberg joined us in June 2016, a few notable changes have been made to CMB2, including:

A significant change came with 2.2.2, allowing you to now show your meta fields in the admin columns (on the post-listing screens).

And 2.2.3 was a major release, marking the addition of the CMB2 REST API, to neatly complement the new WordPress REST API. That means when you use a site with the REST API, you now have a way to interact with CMB2 data as well. This update also included something that has been asked for over and over again, which is making the WYSIWYG editor work properly within repeatable groups.

You can see all of the updates for the year on the CMB2 Github page.

Although CMB2 is still a WebDevStudios property, Justin’s passion for working on CMB2, as well as the shared commitment that both Zao and WebDevStudios have made to open source, means it’s still Justin’s baby. You’ll be seeing more work from him on that moving forward.

CMB2 Group Map

We created this CMB2 add-on for Brian Krogsgard and PostStatus. It allows users to use CMB2 group fields to manage custom post type entries, and is used on PostStatus to associate footnotes with notes.

WP eCommerce

WP eCommerce got some love this year, with three minor releases and eight core contributors working on the plugin. We continued significant development efforts for an upcoming 4.0 release. The 4.0 release has been in the works for the last five years! WPEC also strengthened partnerships with strategic partners like Paypal, Amazon, and TSYS ProPay.

GatherContent

Zao worked with GatherContent to release a major rewrite and many improvements to their GC integration plugin. While GatherContent is not an open-source platform, their WordPress plugin is open-sourced, available for collaboration, and offers benefits to open source in its availability and transparency.

Since Zao started working on the GatherContent WordPress plugin, there have been sixteen releases. The plugin is benefiting from active development, bug fixes, and feature updates. You can see the work we’ve done from versions 3.0.0 and up right here.


Sweet, sweet numbers

Zao plugin downloads in 2016: A whopping 504,855

When compared with 2015:

  • Analytics for WordPress downloads went up 5%
  • GatherContent’s plugin downloads went up 88%
  • CMB2 downloads went up 511%
  • Dsgnwrks Instagram Importer downloads went up 39%

Our revenue increase: 121.7%

Wow! These are the kind of numbers that make us feel good; it means what we’re doing is working.


All in all, it was a productive year that showed a lot of growth and prosperity. And it laid fantastic groundwork for 2017. Things in the world may be challenging, but we believe staying true to our work and being productive is one way of being radical.

We’re looking forward to seeing what 2017 brings, and we hope to see you on the way.