Monthly Archiv: December, 2020

State of the Word 2020

State of the Word is an annual keynote address delivered by the project co-founder, Matt Mullenweg. This year’s keynote will be streamed on Facebook, YouTube, and Twitter on Thursday, Dec 17th, 2020  at 1600 UTC.

Have a question?

A Question and Answer period with pre-recorded videos will follow State of the Word. To take part, record a video of you asking your question to Matt on your computer or phone (landscape format, please). Don’t forget to include your name and how you use WordPress! Try to keep your video to under a minute so Matt can answer as many questions as possible.

To submit your question, upload it as an unlisted video (YouTube works great for this) and send a link to ask-matt@wordcamp.org.

New to State of the Word?

If this is your first time hearing of this talk, you’re in luck! Check out previous recordings below.

Development-Mode Modules for Mezzio

I fielded a question in the Laminas Slack yesterday that I realized should likely be a blog post. The question was:

Is there a way to register development-mode-only modules in Mezzio?

There's actually multiple ways to do it, though one that is probably more preferable to others.

Conditional ConfigProviders

We already provide one pattern for doing this in the Mezzio skeleton application, by conditionally including the mezzio-swoole ConfigProvider if the class is present:

class_exists(\Some\ConfigProvider::class)
    ? \Some\ConfigProvider::class
    : function (): array { return []; },

Alternately, you could express this as an anonymous function:

function (): array {
    if (class_exists(\Some\ConfigProvider::class)) {
        return (new \Some\ConfigProvider())();
    }
    return [];
},

(The values provided to the ConfigAggregator constructor can be either string class names of config providers, or functions returning arrays, which is why either of these will work.)

This approach is primarily useful if the config provider will only be installed as a require-dev dependency. But what if you are defining the config provider in your own code, and it's always present?

Development-Mode Configuration Aggregation

Another possibility is to do some "hacking" around how laminas-development-mode works with Mezzio. laminas-development-mode in Mezzio works with the config/autoload/development.local.php.dist file; enabling development mode symlinks config/autoload/development.local.php to that file. That file just needs to return an array. As such, you could totally write it to aggregate other config providers, as well as some default development configuration, using the same tools you do in your primary configuration file:

// in config/autoload/development.local.php.dist:

declare(strict_types=1);

use Laminas\ConfigAggregator\ArrayProvider;
use Laminas\ConfigAggregator\ConfigAggregator;

$developmentConfig = [
    // app-level development config you want to define
];

$aggregator = new ConfigAggregator([
    // any ConfigProviders you want to list, then:
    new ArrayProvider($developmentConfig),
]);

return $aggregator->getMergedConfig();

This approach is likely the best to use, as it makes it more clear in your main config what the default modules are, and any dev-only ones are now listed in this file.

mwop Development-Mode Modules for Mezzio was originally published on https://mwop.net by .

Weekly News for Designers № 569

Envato Elements

2 Color Combinations – A curated collection of copy and paste color combos for use in your projects.
Example from 2 Color Combinations

reveal.js – Use this open source HTML presentation framework to create fully-featured online presentations.
Example from reveal.js

Graphery SVG – A fast and tiny (3 KB uncompressed) SVG wrapper library.
Example from Graphery SVG

17 Pro JavaScript tricks you didn’t know – Level up your JavaScript knowledge with these helpful examples.
Example from 17 Pro JavaScript tricks you didn't know

Multiavatar – Generate your own custom avatar with this tool.
Example from Multiavatar

Image Stack Intro Animation – Use this tutorial to create two simple intro animations where an image stack moves to become a grid.
Example from Image Stack Intro Animation

40 Free High-Resolution Photoshop Brush Sets – Add some incredible visual effects to your images with these free Photoshop brushes.
Example from 40 Free High-Resolution Photoshop Brush Sets

Text Gradients – A quick tutorial that shows off some techniques for creating text gradient effects with CSS.
Example from Text Gradients

Modern HTML Starter Template – This template provides everything you need to start up a new HTML5 project.
Example from Modern HTML Starter Template

How To Avoid Design By Committee – Useful tips for creating a sense of order during the design process.
Example from How To Avoid Design By Committee

Thinking Like a Front-end Developer – One developer’s approach to thinking about a new layout, and how you can apply these steps to your work.
Example from Thinking Like a Front-end Developer

Dev Fonts – A collection of the best fonts for use with code editors.
Example from Dev Fonts

3D Christmas decorations – Download this package of shiny Christmas graphics in two styles: fun-and-wild or classy.
Example from 3D Christmas decorations

When Do You Need a Custom WordPress Gutenberg Block? – A guide to help you determine whether it’s worth building a custom Gutenberg block for you project.
Example from When Do You Need a Custom WordPress Gutenberg Block?

Atomic Design Checklist – Nail down your next atomic design system with this checklist.
Example from Atomic Design Checklist

CSS clip-path Editor – This online tool will help you generate an awesome clip path.
Example from CSS clip-path Editor

Ruffle – Keep your old Flash content alive with this emulator, built with Rust.
Example from Ruffle

The post Weekly News for Designers № 569 appeared first on Speckyboy Design Magazine.

Dynamic PHP SDOF Class

Package:
Dynamic PHP SDOF Class
Summary:
Analyse the response of a structure to earthquakes
Groups:
Algorithms, Physics, Utilities and Tools
Author:
Win Aung Cho
Description:
This class can be used to analyse the response of a structure to earthquakes...

Read more at https://www.phpclasses.org/package/11897-PHP-Analyse-the-response-of-a-structure-to-earthquakes.html#2020-12-03-07:27:17

Dynamic-SDOF-PHP-Class

Package:
Dynamic-SDOF-PHP-Class
Summary:
Analyse the response of a structure to earthquakes
Groups:
Algorithms, Physics, Utilities and Tools
Author:
Win Aung Cho
Description:
This class can be used to analyse the response of a structure to earthquakes...

Read more at https://www.phpclasses.org/package/11897-PHP-Analyse-the-response-of-a-structure-to-earthquakes.html#2020-12-03-07:27:17

Site News: Blast from the Past – One Year Ago in PHP (12.03.2020)

Here's what was popular in the PHP community one year ago today:

Examining the Evolution of the Typical Web Design Client

The web design industry has matured in a number of ways over the past two decades. Technology has taken the average website to heights once thought unreachable – even for projects with small budgets. And it’s now easier than ever for new designers to learn the craft. Everywhere we look, there are powerful options available to us.

But, what about our clients? It’s fair to wonder how the typical web design client has evolved over the same time period.

As someone who has been a freelancer since the late 1990s, I’ve witnessed a lot of change in client attitudes, knowledge and expectations. While each person and organization are unique, there are some common themes that have emerged. Let’s take a closer look.

Technical Knowledge Has Increased

Being online 24/7 is often taken for granted. But back when I started out as a designer, the internet wasn’t nearly as ever-present as it is now. Smartphones had yet to come along. Access was pretty much limited to desktop devices (or a laptop tethered to a wired connection).

The technology was just starting to become utilized by mainstream businesses. As such, most of the clients I dealt with at the time were novice internet users. It was not uncommon to meet people who had little or no experience with either the web or computers in general.

This led to a ground-zero starting point for things like client education. The odd part of this was that the required knowledge had little to do with the inner workings of a website. Content management systems (CMS) weren’t readily available, so clients wouldn’t be making updates.

Rather, the education centered around actually using a website and related technologies. I spent a lot of time showing folks how to navigate and prepare content for their own website. Tasks such as scanning images and converting printed text come to mind. Then there were countless hours helping them learn to set up and use email as well.

Thankfully, the baseline for most every client is now significantly higher. Devices are in virtually everyone’s pocket these days and computers are pretty much a given.

Generally speaking, clients have now mastered the basics. This means we can all focus on the website itself, rather than the skills needed to utilize it. This is vital, as websites have become increasingly complex to build and maintain. There simply isn’t a moment to waste on other topics.

A person holding a smartphone.

There’s More Trust and Acceptance of Designers

Establishing trust is a critical factor in client relationships. Without it, the entire design process and project outcome will suffer.

Reminiscing, I found this to be a much more difficult mountain to climb back in the day. Part of that may have been due to my age (I started freelancing at 21). But the industry was also quite young as well.

From a client’s perspective, dealing with a new medium presents a lot of challenges and uncertainty. It’s understandable that one would have a lot of questions regarding the how and why of web design. And you’d certainly want to keep a close watch over those you’re working with in this new, unfamiliar environment.

In practice, this meant a lot of phone calls and in-person meetings. While it brought a certain level of comfort to clients, it also threw a steady stream of interruptions at designers. Working as a solo entrepreneur was all the more difficult because of it.

Now, it’s quite rare that clients (new or established) request a formal get-together. And phone calls have lessened, though there are still a few holdouts.

Yes, it’s likely a result of more comfort with digital communication. But I think it’s also a sign of greater trust being placed in web designers and the industry at large.

Unlike the 90s, a website is more necessity than novelty. People seem to grasp that they need a professional to guide them towards a successful outcome. Therefore, it’s more about relying on us to provide solutions and get things done.

Where and how we communicate is now secondary. And our opinions and expertise are more often accepted rather than looked at with skepticism.

A person giving a thumbs up sign.

Expectations Are Higher

When it comes to an organization’s website, the realm of possibilities is greater than ever. Building a fully-functional eCommerce or membership site, for example, is within everyone’s reach. Plus, there are plenty of great examples for every type of site imaginable. Clients can experience all of this for themselves, making them more informed consumers.

This has led to a higher level of expectation. Clients have become much savvier when it comes to design and functionality. They recognize the little details that make one website stand out compared to others.

Web designers often chuckle at the thought of a client who asks us to “make it just like Amazon” or some other corporate behemoth. That is both the blessing and the curse of the modern web.

On the one hand, these expectations place burdens on designers that didn’t exist before. Yet it is also a great opportunity to boost revenue by taking on more complex projects. There’s also a chance to educate clients on the increasingly blurred lines between what large and small organizations can realistically achieve online.

Overall, this is a positive development. An informed client can play a huge role in the success of a project. However, it also means that the idea of a “simple” website is probably a misnomer these days.

A graph displayed on a computer screen.

An Age of Enlightenment for Web Designers and Clients

When I think about how client relations have changed over the years, I’m amazed at their evolution. It started as a feeling-out process as we learned what we needed from each other. Today, it more closely resembles a well-oiled machine.

That’s not to say any of this is easy, per se. There are still plenty of challenges abound. But it does point to a mature, established industry. This has resulted in clients who have a better idea of their own project goals.

Of course, some things remain the same. The need for great communication is still there – regardless of how we do it. And we designers ultimately have to deliver the desired results. Those will never change.

But, in spite of the world’s problems, we’re in a much better place today. That’s reason enough to celebrate.

The post Examining the Evolution of the Typical Web Design Client appeared first on Speckyboy Design Magazine.

Mezon PHP SQL Filter Query Builder (New)

Package:
Mezon PHP SQL Filter Query Builder
Summary:
Generate SQL query condition clauses from arrays
Groups:
Databases, PHP 5
Author:
Alexey Dodonov
Description:
This class can generate SQL query condition clauses from arrays...

Read more at https://www.phpclasses.org/package/11877-PHP-Generate-SQL-query-condition-clauses-from-arrays.html

The Month in WordPress: November 2020

November 2020 saw several updates to the WordPress 5.6 release. Read on to follow all the latest news from the WordPress world!


WordPress 5.6 updates

The Core team released WordPress 5.6 Beta 3 on Nov. 2, Beta 4 on Nov. 12, release candidate 1 on Nov. 17, and release candidate 2 on Dec. 1. You can test the Beta versions and the release candidates by downloading them from WordPress.org or by using the WordPress Beta Tester plugin. Check out the WordPress 5.6 field guide to understand the features of WordPress 5.6 and learn how you can incorporate them into your websites. WordPress 5.6 will be out by Dec. 9, 2020.

But our work is never done: You can submit feature suggestions for WordPress 5.7 by Dec. 15. 

Want to contribute to upcoming WordPress releases? Join the WordPress Core dev chats on Wednesdays at 5 a.m. and 8 p.m. UTC in the #core channel on the Make WordPress Slack, and catch up with recaps on the Core team blog. If you would like to help with WordPress 5.6 outreach, contact the WordPress Marketing team on the #marketing channel.

Gutenberg 9.3 and 9.4 are out

Contributor teams released Gutenberg Version 9.3 on Nov. 4 and Version 9.4 on Nov. 18. Both versions include  several improvements to Full Site Editing (FSE) flows, in addition to bug fixes and feature upgrades. Version 9.3 is the first release that isn’t included entirely in WordPress 5.6; the version automatically enables FSE experiments when a block-based theme is active. Version 9.4 introduces some new features like percentage width for button blocks, block variation transformations, social icon support, and font size support for the list block. You can find out more about the Gutenberg roadmap in the What’s next in Gutenberg blog post.

Want to get involved in building Gutenberg? Follow the Core team blog, contribute to Gutenberg on GitHub, and join the #core-editor channel in the Making WordPress Slack group.

Learn WordPress updates

WordPress contributor teams are all set to launch Learn WordPress in December. Community members can now watch video workshops to learn about various WordPress topics, participate in discussion groups, and use lesson plans for organizing their own workshops. Contributor teams have launched quizzes and are also working on setting standards for workshops.

Want to contribute to Learn WordPress? You can now submit a workshop application (submissions in languages other than English are welcome!), apply to become a discussion group leader, organize discussions for your local WordPress meetup group, or help fix issues with existing lesson plans.

WordPress 5.6 Translations and Polyglots survey

WordPress 5.6 is ready to be translated and is now at hard string freeze. If you would like to contribute, check out these instructions and ensure that your locale is ready for an automated release. The Polyglots team has also kicked off its translator research survey. Please participate in the survey, share the survey link with members of your locale, and help amplify the Facebook, Twitter, and LinkedIn posts about it.

Want to help WordPress speak your language? Follow the Polyglots team blog and join the #polyglots channel in the Making WordPress Slack group


Further Reading:

Have a story that we should include in the next “Month in WordPress” post? Please submit it here.

Powered by Gewgley