Caspar Hübinger – WProfessional of the Month

Published in Community.

Welcome another month to the interview section of our blog. I know it’s a hot summer and you’d rather be in the beach (assuming you aren’t there already), but we’re back here with an awesome interview. Our interviewee today was nominated by Konstantin Obenland a few months ago. He’s part of the German community (WordCamp organizer, i18n leader, and WP developer) and I’ve been told he’s a pretty good musician too (judge for yourself, but I’m sure you’ll agree 😇). Without further ado, please meet Caspar Hübinger!

Danke für das Interview, Caspar. It’s a pleasure to have you here! First of all, I’d like to congratulate you on your talk at WordCamp Europe 2017 – I couldn’t attend to it (I was at the other track), but I’m really looking forward to watch it on WordPress.tv. You’re quite involved with the WordPress community (organizer of the WordCamp Europe, German Locale Manager, plugin author, theme creator, …). But, for all those readers who don’t know you, why don’t you introduce yourself? What else can you tell us about you?

Thanks, David! I started to use WordPress around version 1.5 and have been an active member of its community since around 2011 when I visited my first WordCamp and co-founded a local meetup later on. Since then, I have been in and out the Community and Polyglots teams on make.wordpress.org, currently being more active with the latter (I’m a locale manager for de_DE).

On the career side of things, I have worn quite a few hats in my life so far, and many completely unrelated to web development. I started to built websites for clients relatively late, been involved in theme and plugin development, and—for the last 4 years—have helped WordPress users as a customer support agent for various plugins.

If there is a common denominator in what I do, I guess it is a general interest in humans and how they interact. Which also led me to speak at a couple of WordCamps, for example at WordCamp Europe 2016 and 2017.

German (as well as Spanish) is a gendered language. The topic of your talk at WordCamp Europe presented this as an issue; translators should be aware that language can either exclude or empower users, just by using one term or the other. For instance, an English word as simple as “author” can be translated into German as “Autor” (male author) or “Autorin” (female author). In your opinion, how could we overcome this issue? Should translators take care of it? Should we add a “gender” attribute to WordPress users and offer a different localization string for each possible gender?

Gender, when it comes to languages, is a highly complex, sometimes controversial topic, and there definitely are no quick answers. That said, exclusion based on gender is a reality in many languages.

Being a person who tends to look for quick possible solutions, I tried to use what is already there in a creative way and hoped it would solve the problem without having to—in our case—rewrite anything in WordPress core. Based on that approach, I had first thought the “gender” issue could be solved by translators alone. It seemed to make sense: let the people who actually use those languages come up with solutions for problems that are specific to their own languages, right?

Turns out that approach is flawed in this case. WordPress, being a 10+ years-old piece of software, simply does not provide the means translators need to make their translations gender-neutral or gender-fair. Yoav Farhi and I had a great conversation on that problem during WCEU, and I recommend for everyone who is interested in the topic to keep an eye on Yoav and what he does.

There is a huge amount of work ahead, but it seems the time has come to not only point at the “elephant in the room” of localized WordPress, but to actually get the underlying technical problem solved at its core.

I have hope that translators will be able to address gender-related issues in their languages with proper technical means at their fingertips in a foreseeable future.

WordPress internationalization is a hot topic. Communities all around the world are putting a lot of effort to translate WordPress into their own languages. WordPress core and the most important plugins are usually available in all these languages, which demonstrates the amazing job contributors do. Unfortunately, there’s thousands of plugins (and themes) in the directory, and most of them aren’t translated. How would you improve this situation? Is there anything (caring) developers can do to speed up the translation process of their plugins? I, for instance, translated one of our plugins to German myself and asked for help to the German community with their validation…

With over 40k plugins in the repository, the load on Translation Editors (validators) in particular is huge.

One thing you have to understand is that these people usually have signed up to translate. They usually have not signed up to lead teams of other volunteers, hold weekly meetings, analyse locale stats, or project management their way through the 100 most used plugins in the repo.

Most of them got where they are now (being a PTE or GTE) simply by “scratching their own itch” when they tried to make WordPress more available in their own language. And all of a sudden, just because they have done a great job, the world expects them to deliver? Something is missing in that equation.

However, one thing plugin authors can do is to avoid inventing new strings where possible. Look at what is already there, how others have phrased a string for a particular scenario. We don’t have translation memory on translate.wordpress.org yet, but it is on the roadmap. Once we have, translators will be able to choose from previous translations for the same string, or even from similar strings.

Another thing plugin providers (particularly those with a business model) could do is to actively support translators and Translation Editors. Just for example:

  • Educate yourself on the proper use of i18n functions, context, and translator comments. Have you passed the i18n quiz yet?
  • Hire a Polyglot for a string review. Translation becomes easier the more clear original English strings are.
  • Fund a Translation Editor’s appearance at a Contributor Day and WordCamp, or send translators from your own local community to get onboarded with the global Polyglots team.
  • Organise a meetup with a focus on translation, invite an active Polyglot from your local community for a talk or workshop, and make sure you pay for their train ticket.
  • Get involved with Global Translation Day coming up in September.

Let’s talk about some of the upcoming UX features in WordPress. At WCEU2017, Matt Mullenweg officially introduced the Gutenberg editor and the “component” idea it relies on (which will eventually replace everything in WordPress, including, for example, widgets). What do you think about this new approach? Do you think WordPress is moving towards the right direction?

Yes, I do believe it is high time for a modern editor in WordPress. Gutenberg is still at a pretty early stage, but everyone who builds with WordPress should definitely be testing it.

I have just installed the plugin, and I like what I see already. There seems to be an early focus on accessibility which I am convinced all users will benefit from in the end.

All these new features heavily rely on JavaScript. It looks like WordPress core is evolving in a way such that it’ll simply be the bare bones of future webapps and all the fancy stuff will happen in the browser through JavaScript. These days, for example, there’s an ongoing discussion in Core on whether they should use React or Vue as their JavaScript framework. As a web developer yourself, focused on UX, which one would you choose and why? Do we need to learn more JavaScript?

Ok, clarification: I would not call myself a web developer in the narrow sense of the term, I write code less often these days, and I am certainly not a person who should comment on JavaScript frameworks.

That said, if I could make a wish, it would be that particularly younger aspiring developers would invest in a deep understanding of HTML, semantics, accessibility, and web performance before diving into native JavaScript and frameworks. At its core, the web is still text, semantics, a browser, and bandwidth. WordPress used to be a “semantic publishing platform”. Learn JavaScript deeply, but learn the fundamentals of the web before.

Also, this:

Speaking of user interfaces, your talk at WordCamp Europe 2016 focused on Plugin UIs in WPAdmin. We’re especially concerned about this topic, because every now and then we have trouble with our plugins being broken by third-party plugins. “WordPress Admin is not your home; it’s a shared apartment”, you said. How can we be more respectful with others? Is there any way to prevent compatibility issues?

Reach out to the other developer. Nothing solves a compatibility issue faster than reaching out to that other team whose plugin you’re having an issue with, and offer collaboration on a solution. Form alliances, make friends. If you can’t meet them IRL, have a video call bugfix session, and bring beers!

Finally, who should we interview next? Tell us 3 WProfessionals you want to see here.

Yoav Farhi whom I mentioned before. Alice Orrù, my fellow support teammate at WP Media, who told her inspiring story at WCEU recently. And Pantip Treerattanapitak who will certainly be able to tell you more about the WordPress community in Thailand.

Thanks, Caspar, for answering all our questions. And thank you all for following us and reading this wonderful interviews. Stay tuned for the next one!

Featured image by Florian Ziegler.

PoorNot badGoodGreatExcellent (3 votes, average: 5.00 out of 5)
Loading...

Leave a Reply

Your email address will not be published. Required fields are marked: •

I have read and agree to the Nelio Software Privacy Policy

Your personal data will be located on SiteGround and will be treated by Nelio Software with the sole purpose of publishing this comment here. The legitimation is carried out through your express consent. Contact us to access, rectify, limit, or delete your data.