Weekly News for Designers № 558

Envato Elements

The 12 Best Double Exposure Effect Photoshop Action Sets – Create incredible photo effects in no time with this collection of Photoshop actions.
Example from The 12 Best Double Exposure Effect Photoshop Action Sets

UX Design for Navigation Menus – A look at the principles of navigation design and providing the best possible experience.
Example from UX Design for Navigation Menus

Parsel – Download this tiny, permissive CSS selector parser.
Example from Parsel

Write fewer media queries with the clamp() CSS function – Use this handy technique to specify minimum and maximum values for things like font size and padding.
Example from Write fewer media queries with the clamp() CSS function

Jumping Through Hoops for Prospective Web Design Clients – How far should you go before saying, “Thanks, but no thanks…”?
Example from Jumping Through Hoops for Prospective Web Design Clients

Working with JavaScript Media Queries – Yes, you can use media queries for your JavaScript!
Example from Working with JavaScript Media Queries

Menu Reveal By Page Rotate Animation – Learn how to add a mobile menu that doesn’t completely remove page content from the UI.
Example from Menu Reveal By Page Rotate Animation

How to tell browsers that your site supports color-schemes – Use CSS media queries that react based on user preference.
Example from How to tell browsers that your site supports color-schemes

25 Best Free Corporate Business Flyer Templates – Create a document that stands out with these eye-catching templates.
Example from 25 Best Free Corporate Business Flyer Templates

Emblemicons – Grab this free, open-source library of the most commonly and frequently used icons.
Example from Emblemicons

10 Free Slideshow & Gallery Templates for Adobe After Effects – These templates will add stunning features to your video presentations.
Example from 10 Free Slideshow & Gallery Templates for Adobe After Effects

Beautiful CSS box-shadow examples – Choose from this collection of 80+ copy & paste shadow styles.
Example from Beautiful CSS box-shadow examples

How to Create an Ornate Vintage Logo Design in Illustrator – Learn how to add an old-fashioned look to your logos.
Example from How to Create an Ornate Vintage Logo Design in Illustrator

The 50 Best Fonts for Creating Stunning Logos – Let one of these stellar logo fonts become a go-to resource in your branding kit.
Example from The 50 Best Fonts for Creating Stunning Logos

The Evolution of the Google Sign Up Form: The Mirror of the Internet’s Development – How has Google’s registration form changed over the years?
Example from The Evolution of the Google Sign Up Form: The Mirror of the Internet’s Development

Buttons that Spark Joy – GSAP buttons that go above and beyond the call of duty.
Example from Buttons that Spark Joy

Random UI – Randomly generate an idea for a quick UI design project to keep your skills and portfolio fresh.
Example from Random UI

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

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

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

PHP Command Line Interface Arguments Parser

Package:
Summary:
Process command line arguments and display usage
Groups:
Author:
Description:
This class can process command line arguments and display usage...

Read more at https://www.phpclasses.org/package/11819-PHP-Process-command-line-arguments-and-display-usage.html#2020-09-17-05:30:06

PHP Internals News: Episode 68: Observer API

PHP Internals News: Episode 68: Observer API

In this episode of "PHP Internals News" I chat with Levi Morrison (Twitter, GitHub) and Sammy Kaye Powers (Twitter, GitHub, Website) about the new Observer API.

The RSS feed for this podcast is https://derickrethans.nl/feed-phpinternalsnews.xml, you can download this episode's MP3 file, and it's available on Spotify and iTunes. There is a dedicated website: https://phpinternals.news

Transcript

Derick Rethans 0:15

Hi, I'm Derick, and this is PHP internals news, a weekly podcast dedicated to demystifying the development of the PHP language. This is Episode 68. Today I'm talking with Levi Morrison, and Sammy Powers, about something called the observer API, which is something that is new in PHP eight zero. Now, we've already passed feature freeze, of course, but this snuck in at the last possible moment. What this is observer API going to solve?

Levi Morrison 0:44

the observer API is primarily aimed at recording function calls in some way so it can also handle include, and require, and eval, and potentially in the future other things, but this is important because it allows you to write tools that automatically observe, hence the name, when a function begins or ends, or both.

Derick Rethans 1:12

What would you use that for?

Levi Morrison 1:13

So as an example, Xdebug can use this to know when functions are entered or or left, and other tools such as application performance monitoring, or APM tools like data dog, New Relic, tideways, instana so on, they can use these hooks too.

Derick Rethans 1:38

From what I understand that is the point you're coming in from, because we haven't actually done a proper introduction, which I forgot about. I've been out of this for doing this for a while. So both you and Sammy you work for data dog and work on their APM tool, which made you start doing this, I suppose.

Sammy Kaye Powers 1:54

Yeah, absolutely. One of the pain points of tying into the engine to to monitor things is that the hooks are insufficient in a number of different ways. The primary way that you would do function call interception is with a little hook called zend_execute_ex and this will hook all userland function calls. The problem is, it has an inherent stack bomb in it where if, depending on your stack size settings you, you're going to blow up your stack. At some point if you have a very very deeply deep call stack in PHP, PHP, technically has a virtually unlimited call stack. But when you use zend_execute_ex, it actually does limit your stack size to whatever your settings are your ulimit set stack size. One of the issues that this solves is that stack overflow issue that you can run into when intercepting userland calls but the other thing that it solves is the potential JIT issues that are coming with PHP eight, where the optimizations that it does could potentially optimize out a call to zend_execute_ex where a profiling or APM tracing kind of extension would not be able to enter set that call, because of the JIT. The Observer API enables to solve multiple issues with this. Not only that, there's more. there's more features to this thing, because zend_execute_ex by default will intercept all userland function calls, and you have no choice but to intercept every single call, whereas, this API is designed to also allow you to choose which function calls specifically you want to intercept, so there is on the very first call of a function call. And it'll basically send in the zend function. This is a little bit of a point we've been kind of going back and forth on what we actually send in on the initialis

Truncated by Planet PHP, read more at the original (another 23160 bytes)

PHP 8.0 feature focus: <span>type improvements</span>

PHP 8 is almost here, and with it a host of improvements, new functionality, and overall polish to make the web’s favorite server-side language even better. In this weekly series, leading up to the final release by the end of the year, we’ll cover what you need to know about PHP 8. It’s an exciting release, and we’re not even going to be covering all of it! There’s just that much going on.

PHP 8.0.0 Beta 4 available for testing

The PHP team is pleased to announce the seventh testing release of PHP 8.0.0, Beta 4. This point in the release cycle would normally be RC1, however we're still finalizing development of the JIT and squaring away named arguments, so we've opted for an extra beta release with plans to start the RC cycle in two weeks. At this time, we're not planning to adjust the GA date, however this may change during the course of the RC cycle. The updated release schedule can, as always, be found on the PHP Wiki. For source downloads of PHP 8.0.0 Beta 4 please visit the download page.Please carefully test this version and report any issues found in the bug reporting system.Please DO NOT use this version in production, it is an early test version. For more information on the new features and other changes, you can read the NEWS file, or the UPGRADING file for a complete list of upgrading notes. These files can also be found in the release archive. The next release will be the Release Candidate 1, planned for Oct 1 2020.The signatures for the release can be found in the manifest or on the QA site.Thank you for helping us make PHP better.

What Your Clients Need to Know About a Website Redesign

When it comes to web design, there are a lot of misconceptions. Clients may not fully realize how much work goes into building a great website. Sometimes that leads them to ask designers to do things without understanding the required effort – not to mention the associated costs.

Redesigns are among the toughest concepts for clients to grasp. In some cases, they may believe a website redesign is an easy process (“All of the content is already there, isn’t it?”). That leads to an expectation of a speedy and cheap turnaround.

Of course, we know that’s not how things really work. A quality redesign requires both resources and a commitment to making a real improvement. Both clients and designers have to buy in.

As is often the case, a designer’s ability to educate clients is key. By helping them understand what’s involved, you’ll ensure a better project outcome and a fair payday.

So, what should your clients know about redesigning their website? Let’s take a look at some of the most important concepts.

A Website Redesign Needs a Defined Purpose

To be successful, a redesign project needs a defined purpose. Every so often, you’ll get lucky and your client will be able to tell you what it is. But it’s more likely that you’ll have to help them come to answer by asking the right questions. The more specific the answer, the better you can bring their vision to life.

The purpose for redesigning an eCommerce site, for example, may be to increase sales. A site for a local plumbing company might be looking to boost both leads and brand awareness. A non-profit might hope to recruit volunteers and/or donations.

These are tangible things a web designer can work with. That makes sense, as a client’s guidance is a necessary ingredient in this process.

On the other hand, a client’s reasoning for a redesign can often be vague. It could be that they found a WordPress theme that they like more than their current one. Or perhaps they’re simply tired of looking at the same home page day after day.

Yes, the look is important. But that in itself should be a byproduct of achieving a particular goal. To really get the most out of a redesign, there has be some measurables involved. Otherwise we’re just implementing change for its own sake.

A person pointing to a computer screen.

Content and Code Often Need Refactored

A redesign means more than just changing the header, footer and navigation. Virtually every component of the existing website may need to be rethought as well.

Content is front and center in this process. Typography is likely to be tweaked, if not completely rebuilt from the ground up. The overall formatting and layout can also play a huge part in helping to achieve the project’s defined purpose. In addition, there may be a need to edit and rewrite at least some existing content.

So, while a client may correctly point out that the content is “already there”, that doesn’t take away from the significant work still to be done. That incurs a cost of both time and money.

A similar process goes on behind the scenes with a site’s underlying code. Even if the site is powered by a CMS such as WordPress, there are bound to be areas that need to be refactored.

The existing website could rely on outdated plugins that haven’t seen an update in years. Plus, previous customizations might prove to be incompatible with the latest versions of PHP or the CMS itself. Beyond that, there are often new features that need to be implemented – some potentially being built from scratch.

In some cases, a redesign can actually be more of a headache than building a brand-new website. Taking the existing pieces and refreshing their looks and functionality is a major challenge. To do it right takes a careful and detailed approach. Once again, there is a cost associated with this.

Screens displaying website code.

Accessibility and Mobile Should Be Priorities

The web moves quickly and best practices change over time. A website built even a couple of years ago is likely behind the curve when it comes to both accessibility and mobile device compatibility.

Yet both of these items are crucial. Mobile usage of the web is only continuing to grow. Not only that, but the number of new devices and oddball viewports they bring require extensive testing. Odds are that an older site isn’t going to be optimized for them all. A redesign must take them into account.

Accessibility is also a huge concern. It’s a moral and, depending on where your client is in the world, increasingly legal obligation. No matter how you go about crafting a redesign, accessibility must be baked in from the very beginning.

Technologically speaking, neither of these areas are overly difficult. But they are time-consuming and require some tough decisions to be made. Thus, it’s important for clients to understand their importance and the challenges they bring.

People using mobile phones.

The Results Are Based on What You Put Into the Project

All told, a successful redesign requires a commitment from the stakeholders. There needs to be clear purpose and an understanding of what it takes to build a website better than before.

There are a lot of little details involved. Depending on your client’s level of engagement, some things might be on a need-to-know basis. But the bigger concepts mentioned above are vital.

Still, this isn’t common knowledge. It’s up to us as designers to act as guides. When clients are filled in on what’s involved, they will be better able to justify the cost. They may also realize that the redesign process comes with its own unique challenges. That results in a better outcome for everyone.

The post What Your Clients Need to Know About a Website Redesign appeared first on Speckyboy Design Magazine.

Community News: Latest PECL Releases (09.15.2020)

Latest PECL Releases:

  • krb5 1.1.4
    - [FEATURE] PHP 8 compatability (thanks to Remi Collet)

    • [BUG] Properly install header files (thanks to Remi Collet)
    • [BUG] Fix behavior when NegotiateAuth is passed null as SPN
  • yaml 2.2.0b2
    New Features: - PHP 8.0.0b3+ compatibility
  • ast 1.0.10
    - Support attributes syntax change (`#[...]`) in php 8.0.0RC1. - Change the current AST version from 70 to 80. AST version 80 is no longer experimental. - Add `ReflectionParameter` defaults for `astparse_code` and `astget_supported_versions` in php 8. - Add parameter types and return types to reflection for various global functions. php-ast was already throwing a `TypeError` when invalid parameter types were received. - Always throw instead of warning when invalid parameters are passed to the astNode constructor.
  • ice 1.6.2
    - Model, get related record if field is null fix #275 - Pagination, calculate if data is array or total is specified #273 - Url, fixed getStatic() #193
  • gRPC 1.32.0
    - gRPC Core 1.32.0 update
  • datadog_trace 0.48.2
    ### Changed - Update excluded modules #1011 - Deprecate dd-doctor.php #1014

    Fixed

    • PHP 5.4 build in ZTS mode #1011
    • Call ddtrace_engine_hooks_{rinit,rshutdown} #1013
  • solr 2.5.1
    - PHP 7.4 compatible - PHP 7 windows support - PHP 8.0.0beta3 compatible - Bug #72740 Fixes NULL byte when using addQueryField() w/o boost
  • oauth 2.0.6
    * Fix github issue #14 (Fixes for 7.3/7.4 and opcache) * Fix PHP-7.4 compatibility of object handler * Fix memory leaks in OAuthProvider * Fix crash in OAuthProvider's handler registration methods due to unconditional addref * Fix crash in OAuth::fetch() due to modifying hash tables with a refcount>1
  • php_trie 0.1.0
    - First stable release
Powered by Gewgley