In Case You Missed It – Issue 25

In Case You Missed It Featured Image
photo credit: Night Moves(license)

There’s a lot of great WordPress content published in the community but not all of it is featured on the Tavern. This post is an assortment of items related to WordPress that caught my eye but didn’t make it into a full post.

Open Call for People Interested in Being Team Leads

Josepha Haden has published an open call on the Team Updates blog looking for people interested in learning about the Team Lead role. The post includes links to training materials that will be open for two weeks where people can make suggestions.

Once the training materials are complete, interested parties will be sent the team leads training materials and quizzes. Those who pass the quizzes will then be part of a group orientation in which team leads and future leads will be chosen. Even if you’re not interested in becoming a team lead, the training materials in the post contain a lot of useful information about the inner workings of the project.

Marcel Bootsman Continues on After Hospital Visit

Marcel Bootsman who is walking more than 700km to Berlin, Germany for WCEU recently made a hospital visit. “The doctor asked about what I’m doing, and what the problem is, so I explained everything,” Bootsman said. “She examined both legs and found that there was a swelling on my right ankle. She sadly could not diagnose further, since it’s impossible. An expert has to look at it, and an x-ray picture has to be taken.”

The doctor diagnosed him with having an overloaded right ankle. After wrapping his ankle for extra support, Bootsman continued on. Check out his description and photos from day 19 of his travels.

WooSesh is Coming Back

WooSesh, a global, virtual conference devoted to WooCommerce, is scheduled to take place on October 18-19th. You can follow WooSesh_ on Twitter or sign up to their email list to be notified of when tickets are available.

GitHub Repo Templates

Earlier this week, GitHub launched Repository Templates to help developers manage and distribute boilerplate code. Web development agency 10UP has a Theme and Plugin repo template that is available for anyone to use.

WordPress 5.2.2 Release Date Changed

WordPress 5.2.2 was originally scheduled to be released on June 13th, but the release team has decided to push the date back. Tickets that are slated for WordPress 5.3 that meet the requirements to be in a minor release will be merged into 5.2.2. The new release date is Tuesday, June 18th, a few days before WordCamp EU.

WordCamp US After Party Is Now Wordfest

There won’t be a big after party at the conclusion of WordCamp US this year. Instead, organizers are hosting WordFest on Friday, November 1, 2019, at City Museum in St. Louis. According to organizers, the party doesn’t always have to be at the conclusion of the event thus the name change.

How to Use and Create Reusable Block Templates

Justin Tadlock has published a tutorial that explains how to create, use, import, and export reusable block templates in WordPress.

“A lot of this is not intuitive at this point and might take some digging for someone not intimately familiar with all the block editor features. But, this is an extremely powerful feature that I’m sure will become more useful in the future. I can even see things like theme authors sharing reusable blocks to help users build out certain page designs.”

I’m looking forward to seeing other people share their reusable blocks or templates. One of the beautiful things about the new editor is that it doesn’t require a developer to sort blocks into a particular layout and then save it as a reusable block that can be shared.

C02 May Be the Cause of Feeling Drowsy During Conference Sessions

I always thought it had something to do with lunch but I’ve felt drowsy before then. Interesting data shared in a Twitter thread. Hat tip to David Bisset.

That’s it for issue twenty-five. If you recently discovered a cool resource or post related to WordPress, please share it with us in the comments.

Optimizing Database Performance and Efficiency

It's easy for modern, distributed, high-scale applications to hide database performance and efficiency problems. Optimizing performance of such complex systems at scale requires some skill, but more importantly it requires a sound strategy and good observability, because you can't optimize what you can't measure. This session explains a performance measurement and optimization process anyone can use to deliver results predictably, optimizing customer experience while freeing up compute resources and saving money.

The session begins with what to measure and how; how to analyze it; how to categorize problems into one of three types; and three matching strategies to use in optimization as a result. It is a recursive method that can be used at any scale, from a data center with many types of databases cooperating as one, to a single server and drilling down to a single query. Along the way, we'll discuss related concepts such as internally- and externally-focused golden signals of performance and resource sufficiency, workload quality of service, and more.

Writing Testable Code

No, not this kind of test.

This has become my favorite subject because it turns out that testability, above nearly every other metric, is important to strive for in developing software. And all other code qualities seem to be a reflection of testability.

5 Easy Ways to Write Hard-to-Test Code

When I say testable code, what I mean is code that can be verified programmatically and in a very granular way. When a test fails, we want it to tell us exactly why so that we know what went wrong and can correct the problem immediately. This means that we're verifying very small units of behavior. This not only helps us debug code when there are problems, but it also helps keep us focused on building software that fulfills some desired behavior.

E3: The Details of Google Stadia

The official start of the Electronic Entertainment Expo (E3) is still days away, but the news and announcements are already coming in fast. Between Wednesday and Thursday, THQ Nordic surprised fans by announcing two new games—with a third to follow on Friday — Nintendo's announcement of its playable games on the E3 show floor, and Google provided much-anticipated details about Stadia.

Google Stadia

While Google will not be present on the show floor at E3, the company's presentation on Thursday was arguably the biggest E3 news thus far. In their first Google Stadia Connect, Google elaborated on the details missing from their original Stadia announcement at Game Developers Conference (GDC) 2019, including pricing, games, requirements, and a launch month. Even with these specifics, there was a general feeling of unease about Google's latest gaming endeavor and the jury is still out on whether Stadia will be the success story that Google hopes it to be—especially with Microsoft likely presenting its xCloud streaming service on Sunday.

5 Problems Hyperconverged Infrastructure Solves

By now, you’ve likely heard of “hyperconverged infrastructure,” and you and your team may even be considering adopting it. As you work through that decision, chances are you’ve wondered what sorts of problems hyperconvergence could solve for you.

Or, you might be in the camp of folks who’ve used legacy 3-tier architecture for so long that it’s a part of your DNA — and you might not be too keen on uprooting something that’s worked “just fine” for so many years.

Build vs. Buy: The Conundrum Facing the Insurance Industry as It Embraces AI

Artificial intelligence (AI) has been discussed everywhere over the last few years, and now it’s made its way into the commercial insurance industry. Organizations are using AI and machine learning for everything from streamlining operations to offering more personalized care and better customer service. There is an increasing sense of urgency about getting started on the AI journey. The question is how? Do they develop a custom solution in-house or purchase a third-party solution already on the market?

At first blush, the temptation to build can be strong — after all, you can design exactly what you want for your specific environment. But, in reality, it’s hard to accurately weigh the perceived benefits of a highly customized internal platform against the time and cost requirements compared to purchasing a tested, third-party solution. To help figure out the best course of action for your organization, I’d like to share some criteria that may guide you.

DRYing Up CSS

DRYing up CSS

Albert Einstein once said, "Out of clutter, find simplicity."

For the longest time, I did not understand what he was trying to convey, but then I started interpreting it by testing its applicability in aspects of my life. My interpretation has since been ‘de-duplicate and reuse.’ I have since been able to go lean to a good extent on many things I do. Be it all the stuff I have in my basement, in my closet, or my code.

Using DevTools to Improve the UX Design to Development Process

I’d like to tell you how I see code and design intersect and support one another. Specifically, I want to cover how designers can use code in their everyday work. I suggest this not because it’s a required skill, but because even a baseline understanding of coding can make designs better and the hand-off from design to development smoother.

As a UX Designer, I am always looking for good ways to both explore my UX design problems and communicate the final designs to others. Over the past 30 years, my work has always involved working alongside developers, but generally there has been a great divide between what I do and what developers do.

I can code at a basic level. For example, I’ve helped teach C to undergraduates back when I was a post-graduate student. I’ve worked on the usability of JDeveloper Oracle’s Integrated Development Environment (IDE) for Java. I also worked for a very short while on simplifying the UX of a WordPress content management environment to make it accessible to less technical users. This required a good understanding of HTML and CSS. I also volunteered on the design of the PHP website and had to develop some understanding of the server side of web development.

But even given these experiences, I am not a developer in any true sense of the word. If I happen to be looking at code, it’s in a “just in time” learning model — I look up what I need and then hack it until it works. Learning this way has often been frowned upon, a bit like learning to drive without lessons. You pick up bad development habits but maybe that's OK for the work I do.

So, no I don’t develop or write code. My day-to-day work is mostly been spent drawing, talking and gathering requirements. As far as design goes, I’ll start by sketching concepts in a notebook or using Balsamiq. Then I draw up UX wireframes and prototypes using tools like Axure, Adobe XD, InVision Studio, Figma and Sketch. By the time I'm ready to hand off my deliverables to development, all the visual assets and documentation have been defined and communicated. But I don’t step over the line into code development. That is just not my area of expertise.

So, why should designers know code?

We’ve already established that I’m no developer, but I have recently become an advocate for designers getting a good feel for how design and code interact.

In fact, I’d call it “playing with code.” I am definitely not suggesting that UX designers become developers, but at the very least, I think designers would benefit by becoming comfortable with a basic understanding of what is currently possible with CSS and best practices in HTML.

Being experimental is a huge part of doing design. Code is just another medium with which we can experiment and build beautiful solutions. So, we're going to look at a couple of ways designers can experiment with code, even with a light understanding of it. What we're covering here may be obvious to developers, but there are plenty of designers out there who have never experimented with code and will be seeing these for the first time.

So, it's for them (and maybe a refresher for you) that we look at the following browser tools.

DevTools: The ultimate code playground

One of the concerns a UX designer might have is knowing how a design holds up once it’s in the browser. Are the colors accurate? Are fonts legible throughout? How do the elements respond on various devices? Will my grey hover state work with the white/grey zebra striping on my application grids in practice? These are some of the styling and interaction issues designers are thinking about when we hand our work off for development.

This is where DevTools can be a designer’s best friend. Every browser has its own version of it. You may have already played with such tools before. It’s that little “Inspect” option when right clicking on the screen.

Entering the wonderful world of DevTools can be done from any webpage.

What makes DevTools such a wonderful resource is that it provides a way to manipulate the code of a live website or web application without having to set up a development environment. And it’s disposable. Any edits you make are for your eyes only and are washed away the very moment the browser refreshes.

Editing code in DevTools makes changes to the page on the fly.

Further, DevTools can mimic other devices.

Need to see how a page or changes to it look on other devices? DevTools can give you an idea.

And, if you haven’t seen it yet, Firefox released a wonderful new shape path editor that's very valuable for exploring interesting designs.

Over the past few months, I have been working on a complex web client for an enterprise-level application. Last sprint, my UX design story was to explore the look of the entry page of the web application and how to introduce a new color scheme. It was hard to envision how the changes I was making were going to impact the tool as a whole as some of the components I was changing are used throughout the product.

One day, when discussing a design decision, one of the developers tested out my suggested change to a component using the latest DevTools in his browser. I was amazed by how much DevTools has grown and expanded since I last remember it. I could immediately see the impact of that change across our whole web application and how different design decisions interacted with the existing design. I started to experiment with DevTools myself and was able to preview and experiment with how my own simple CSS changes to components would impact the whole web application. Super helpful!

However, it was also a little frustrating to not be able store my experiments and changes for future reference. So, I went exploring to see what else was out there to support my design process.

Chrome browser extensions

DevTools is are amazing right out of the box, but experimenting with code gets even more awesome when browser extensions are added to the mix. Chrome, in particular, has a couple that I really like.

Chrome Extension 1: User CSS

User CSS is a Chrome browser extension that allows you to save the changes you make in DevTools in an editable CSS code tab. These CSS changes are automatically executed on that page if User CSS is enabled. This means that you can set up CSS overrides for any page on the web, view them later, and share them with others. This can be an incredible tool when, say, doing a design review of a staging site prior to release, or really any design exploration for a web application or website that is viewable in a browser.

The first thing I do with User CSS is make the changes in the Chrome elements panel. Then, I simply cut and paste the CSS changes from Chrome’s DevTools to the User CSS code tab as I am going along. This video shows in detail the different ways to edit CSS, HTML and Javascript in Chrome DevTools and how I use UserCSS.

User CSS has a nice built-in code editor, so my code is always well formatted and includes syntax highlighting so I don't have to worry about that sort of thing. I particularly like the fact that overrides are executed immediately so you can see changes on the fly. It also has a useful switch that allows you to turn your overrides on and off. This makes it very simple to demonstrate a set of changes to a team. This extension has allowed me to easily present a comparison between an existing page design and proposed changes. I’ve even used it to make a simple video demonstrating the proposed design changes.

In this video I make some simple edits to my web page and then show how I can turn on and off the edits by simply clicking the on/off button on User CSS:

This extension is a perfect if you all you need to do is edit CSS, particularly if you have some very simple design changes to make want to those changes to persist. However, the complexity of a design increases, I have found myself wanting to save more than one snippet of code at a time. Copying and pasting code in and out of the User CSS editor was becoming a pain. I wanted something with more flexibility and freedom to experiment. I also wanted to be able to look at simple changes to the HTML of my web application and even play with a bit of JavaScript.

That's where the next extension comes into play.

Chrome Extension 2: Web Overrides

The second Chrome extension I found is called Web Override and it provides a way to override HTML, CSS and JavaScript. All of them! This is presented as three tabs, much the same way CodePen does, which makes it a very powerful tool for creating rough working design prototypes.

Web Overrides also allows you to save multiple files so that you can switch different parts of a design on or off in different combinations. It also quickly switches between the different options to show off different design concepts.

This video shows how I added an HTML element into a page and edited the new element with some basic CSS:

Using the HTML tab makes it possible to edit any element on the page, like swap out a logo, remove unnecessary elements, or add new ones. The JavaScript tab is similar in that I can do simple changes, like inject additional text into the website title so that I can test how dynamic changes might affect the layout — this can be useful for testing different scenarios, such as differences with internationalization.

These edits may be trivial from a coding perspective, but they allow me to explore hundreds of alternative designs in a much shorter time and with a lot less risk than scooting pixels around in a design application. I literally could not explore as many ideas as quickly using my traditional UX prototyping tools as I can with this one extension.

And, what is more, both me and my team have confidence in the design deliverables because we tested them early on in the browser. Even the most pixel-perfect Photoshop file can get lost in translation when the design is in the browser because it's really just a snapshot of a design in a static state. Testing designs first in the browser using these extensions prove that what we have designed is possible.

On the flip side of this, you might want to check out how Jon Kantner used similar browser extensions to disable CSS as a means to audit the semantic markup various sites. It's not exactly design-related, but interesting to see how these tools can have different use cases.

What I’ve learned so far

I am excited about what I have learned since leaning into DevTools and browser extensions. I believe my designs are so much better as a result. I also find myself able to have more productive conversations with developers because we now have a way to communicate well. The common ground between design and code in rapid prototypes really helps facilitate discussion. And, because I am playing around with actual code, I have a much better sense about how the underlying code will eventually be written and can empathize a lot more with the work developers do — and perhaps how I can make their jobs easier in the process.

It has also created a culture of collaborative rapid prototyping on my team which is a whole other story.

Playing with code has opened up new ideas and encouraged me to adapt my work to the context of the web. It’s been said that getting into the browser earlier in the design process is ideal and these are the types of tools that allow me (and you) to do just that!

Do you have other tools or processes that you use to facilitate the collaboration between design and code? Please share them in the comments!

The post Using DevTools to Improve the UX Design to Development Process appeared first on CSS-Tricks.

Telecommuters Are More Productive, No Matter the Task

Of course telecommuters are more productive. They get to work like this.

The virtues of working remotely have long been trumpeted, whether in terms of lower stress levels, higher productivity, or better work/life balance.

6 Pro Tips for Getting Your Boss to Let You Work From Home

A recent study from the Florida International University College of Business explores whether telecommuting retains the productivity benefits even when working on highly complex projects. And (not at all suprisingly) their findings suggest this is indeed the case, largely because working remotely ensures that the worker suffers from fewer interruptions.

Hacking Finance

hacking finance website

We came across this unusual beauty today after perusing the Really Good Emails Newsletter (Which, is in fact, REALLY GOOD.  If you don’t subscribe to it yet, here is the link). As they discuss in their YouTube review, the site doesn’t follow any formal style you normally see from a finance site, which actually makes it AWESOME.  By going against the grain with their design, using an extremely colorful palette, images, and psychedelic tones, it really makes things interesting.  The horizontal navigation is bright with large type with a different color for each item. The homepage has one large recent post along with a grid of post’s.  My favorite part is probably the hovers on the post’s where you see a trippy overlay for each.  The mobile navigation doesn’t fail on the boring side either, featuring a full screen bright pink background and yellow text.

I don’t know about you, but I’ll be signing up for their newsletter!

Here are a few more screenshots:

animated screenshot of hacking finance homepage

 

Mobile view

The post Hacking Finance appeared first on WeLoveWP.

Understanding Microservices Choreography Using RabbitMQ and Node.js

A colleague and I had discussed the choreography of microservices a while ago and the topic came up for discussion again recently. In order to ensure that I understood the nuances correctly, I decided to write some code to implement the approach. Here are the tools/technologies that I chose:

  • Node.js for building the microservices.
  • Restify for exposing Restful APIs.
  • CloudAMQP — a RabbitMQ as a service offering as the integration bus.
  • amqp.node — a Node.js client library for RabbitMQ.

CloudAMQP offers a free tier good enough for learning and trying things out. It also comes with an easy to use management console that gives good statistics. The tutorials and articles are useful too. There is a host of options for the Node.js RabbitMQ client libraries. I tried a few and then settled with amqp.node as the RabbitMQ site had their tutorials based on it. The library comes in two flavors, one with callbacks and the other with promises. Being comfortable with callbacks, I opted for it.

Best PHP Books for Beginners [2019]

In this article, we take a look at a very comprehensive list of best PHP books for beginners, including detailed descriptions and purchase links.

Best PHP Books for Beginners [Updated] [2019]
Best PHP Books for Beginners [Updated] [2019] | Full Stack Geek

List of Best PHP Books For Beginners

Here we go, following is the list of hand-picked books which are must-haves for beginners.

Is Technical Debt Analogous to Financial Debt? Yes, Until It Isn’t

Not all debt is the same, but there's one analogy that always sticks: They all have to be repaid.

I started thinking about technical debt and how it impacts a company's ability to deliver. I have a tendency to think in analogies, and "tech debt" is a wonderful analogy.

What is tech debt?

" Tech debt is taking a loan against next month's income in order to buy a feature today."

The term was first coined by Ward Cunningham to explain the concept of borrowing against the future. But like all analogies, it's not perfect, as we can see if we compare and contrast tech debt with financial debt. I think that there are some interesting things to learn from this comparison.

One Year After GDPR: The Lessons Digital Businesses Have Learned

GDPR in a year: changes that have already affected the tech world, ambiguities of GDPR interpretation, and how businesses are supposed to address them.

On May 25, 2018, the new European Data Protection Regulation became mandatory for execution in the European Union and the rest of the world where the data of EU citizens are being processed. Back in 2018, the majority of tech companies, hailing from the ad tech industry, in particular, were nervous about the inability to adapt their tech stack to the new standards in time. This was quite understandable, given that the consequences of a violation of the GDPR were promised to be severe, ranging from the following: a fine of 10 million euros, a 2 percent of the annual turnover, a fine of 20 million euros or 4 percent of annual turnover.

How to Collect Big Data Sets From Twitter

In this post, you’ll learn how to collect data from Twitter, one of biggest sources for big data sets.

You’ll also need to set up a Hadoop cluster and HDFS to store the multi-format data you’ll gather from Twitter. Though we’ll be focusing on one platform only, you can obtain more accuracy if you collect data from other channels as well.