PHP YouTube API
Read more at https://www.phpclasses.org/package/11979-PHP-Get-video-information-using-the-YouTube-API.html#2021-02-16-15:25:21
WordPress 5.7 Beta 3
WordPress 5.7 Beta 3 is now available for testing!
This software is still in development, so it’s not recommended to run this version on a production site. Consider setting up a test site to play with it.
You can test the WordPress 5.7 Beta 3 in two ways:
- Install/activate the WordPress Beta Tester plugin (select the
Bleeding edge
channel and theBeta/RC Only
stream) - Direct download the beta version here (zip).
The current target for final release is March 9, 2021. That’s just three weeks away, so your help is vital to making sure that the final release is as good as it can be.
Some Highlights
Since Beta 2, 27 bugs have been fixed. Here is a summary of some of the included changes:
- Adjusted color contrast on various admin buttons to improve accessibility and readability (#52402)
- Several fixes for the Twenty Twenty-One theme (#52287, #52377, #52431, #52500, #52502, #52412)
- Replaced editor typeface with system fonts to improve privacy and performance (#46169)
- Added i18n support to
register_block_type_from_metadata
function (#52301) - Media upload errors are now more accessible (#47120)
- New filter to modify how pagination links are rendered when using
paginate_links
function (#44018)
How You Can Help
Watch the Make WordPress Core blog for 5.7-related developer notes in the coming weeks, which will break down these and other changes in greater detail.
So far, contributors have fixed 171 tickets in WordPress 5.7, including 64 new features and enhancements, and more bug fixes are on the way.
Do some testing!
Testing for bugs is a vital part of polishing the release during the beta stage and a great way to contribute.
If you think you’ve found a bug, please post to the Alpha/Beta area in the support forums. We would love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac. That’s also where you can find a list of known bugs.
Props to @audrasjb and @lukecarbis for your peer revisions.
Finish line ahead
Defects in focus
We are almost there…
OnTime Group
Read more at https://www.phpclasses.org/package/11974-PHP-Manage-user-groups-and-their-access-permissions.html#2021-02-16-12:30:33
Community News: Latest PECL Releases (02.16.2021)
Latest PECL Releases:
- ice 1.8.0alpha3
- Pecl, add build directories fix #271- Di, resolve default services in cli fix #295
- Loader, register namespaces in the constructor fix #294
- ev 1.1.2
Fixed Windows build configuration for PHP 8 - ev 1.1.1r1
Stable version release - event 3.0.2r1
Stable version release. - gnupg 1.5.0RC1
* Added support for PHP 8 * Added support for GnuPG 2.1+ * Added argument info for all functions and methods (reflection support) * Added new function `gnupg_getengineinfo` * Added new function `gnupg_geterrorinfo` * Added init array argument for setting home dir and gpg binary file name * Added additional fields to `gnupg_keyinfo` returned array * Added parameter to `gnupg_keyinfo` to use `secret_only` * Fixed `gnupg_deletekey` to use boolean for `allow_secret` parameter - Tensor 2.1.03
No notes - Tensor 2.1.3
No notes - ice 1.8.0alpha2
- PHP 7.1, drop support, update phpunit to v8 - Update zephir parser to 1.3.5 - Zephir, use zephir-php8 branch - Pdo, fix associative array in order by - PHP 7.2 and 7.3, drop support - Tests, fix get related count and filter - Version, remove hyphen fix #292 - gmagick 2.0.6RC1
Works with PHP 8 but some fixes still required. - smbclient 1.0.5
Fixes possible segfault in php_smb_ops_close. - protobuf 3.15.0RC1
PHP protobuf - maxminddb 1.10.0
* When using the pure PHP reader, unsigned integers up to PHP_MAX_INT will now be integers in PHP rather than strings. Previously integers greater than 2^24 on 32-bit platforms and 2^56 on 64-bit platforms would be strings due to the use of `gmp` or `bcmath` to decode them. Reported by Alejandro Celaya. GitHub #119.
Should we use a framework?
Since I've been writing a lot about decoupled application development it made sense that one of my readers asked the following question: "Why should we use a framework?" The quick answer is: because you need it. A summary of the reasons:
- It would be too much work to replace all the work that the framework does for you with code written by yourself. Software development is too costly for this.
- Framework maintainers have fixed many issues before you even encountered them. They have done everything to make the code secure, and when a new security issue pops up, they fix it so you can just pull the latest version of the framework.
- By not using a framework you will be decoupled from Symfony, Laravel, etc. but you will be coupled to Your Own Framework, which is a bigger problem since you're the maintainer and it's likely that you won't actually maintain it (in my experience, this is what often happens to projects that use their own home-grown framework).
So, yes, you/we need a framework. At the same time you may want to write framework-decoupled code whenever possible.
Here's a summary of the reasons. If all of your code is coupled to the framework:
- It will be hard to keep up with the framework's changes. When their API changes, or when their conventions or best practices change, it takes just too much time to update the code base.
- It's hard to test any business logic without going through the front controller, that is, by making fake or real web requests to your application, analyzing the response html, or peeking into the database.
- It's hard to test anything at all, because nothing allows itself to be tested in isolation. You always have to set up a database schema, populate it with data, or boot a service container of some kind.
Pushing for a big and strong core of decoupled code, that isn't tied to the database technology, or a particular web framework, will give you a lot of freedom, and prevents all of the above problems. How to write decoupled code? There's no need to reinvent the wheel there either. You can rely on a catalog of design patterns, like:
- Application services and command objects
- Entities and repository interfaces
- Domain events and domain event subscribers
None of these classes will use framework-specific things like:
- Request, Response, Session, Token storage, or security User classes,
- Service locators, configuration helpers, dependency resolvers,
- Database connections, query builders, relation mappers, or whatever your framework calls them.
For me good rules of thumb to test the "decoupledness" of my business logic are:
- Can I migrate this application from a web to a CLI application without touching any of the core classes?
- Can I instantiate all the classes in the core of my application without preparing some special context or setting up external services?
- Can I migrate this application from an SQL database to a document database without touching any of the core classes?
1 and 2 should be unconditionally true, 3 allows some room for coupling due to the age-old problem of mapping entities to their stored format. For instance, you can have some mapping logic in your entity (i.e. instructions for your ORM on how to save the entities). But at least there shouldn't be any service dependencies that are specific to your choice of persistence, e.g. you can't inject an EntityManagerInterface
or use a QueryBuilder
anywhere in your code classes. Also, calling methods should never trigger actual calls to a database, even if it's an Sqlite one.
If you do all of this, your framework will be like a layer wrapped around your decoupled core:
This layer contains all the technical stuff. This is where you find the acronyms: SQL, ORM, AMQP, HTTP, and so on. This is where we shouldn't do everything on our own. We leverage the power of many frameworks and libraries that save us from dealing with all the low-level concerns, so we can focus on business logic and user experience.
A framework should help you:
- Make a smooth jump from an incoming HTTP request to a call to one of your controllers.
- Load, parse, and validate application configuration.
- Instantiate any service needed to let you do your work.
- Translate your data to queued messages that can be consumed by external workers.
- Parse command-line arguments and pass them as ready-to-consume primitive-type values.
- Turn your application's data in
Truncated by Planet PHP, read more at the original (another 1854 bytes)
PHP Creative Commons Logo (New)
Read more at https://www.phpclasses.org/package/11975-PHP-Display-a-logo-link-for-a-Creative-Commons-License.html
OnTimeCore
Read more at https://www.phpclasses.org/package/11972-PHP-Manage-application-users-stored-in-JSON-files.html#2021-02-15-11:26:12
What COVID-19 Vaccine Scheduling Can Teach Designers
The multiple COVID-19 vaccines that have come out are nothing short of scientific miracles. The speed and efficacy of these life-saving, pandemic-squashing shots are a testament to human achievement.
That being said, getting these vaccines into the arms of everyday people has been a challenge. That’s especially true here in the United States, where each state has its own rollout strategy. Some have been more effective than others.
Nevertheless, much of the burden for distributing the vaccine has been placed upon online scheduling apps. Health clinics and pharmacies have put these systems in place, allowing people to snap up any available appointments.
As someone who has been on the hunt for an appointment, I’ve used several different types of these schedulers. What I’ve found has been a messy and evolving array of experiences. Here’s a closer look at the ups, downs and frustrations involved. And, just as importantly, the lessons they can teach designers.
Last-Minute Solutions for a Difficult Situation
First, I’d like to note that the purpose of this post is to point out what’s happened and what needs to improve. It’s not meant as a slight to individual companies, designers or developers.
Collectively, they were put into a difficult situation. The process for putting together online scheduling apps fell into the lap of many a vaccine distributor. For some, they had to build an app that was usable within a very short period of time.
It seems fairly easy to pick out the distributors who already had some form of online scheduling in place before the pandemic. They tend to have a more polished UI and a higher level of intuitiveness.
The rest of the pack? Well, they’ve struggled to put forth systems that are both stable and easy to use. For those of us trying to get vaccinated, this has made the process even more difficult.
Reinventing the Wheel: Times a Million
Appointment booking and other online scheduling software has been around for quite some time. But one can imagine the challenge of getting these packages to co-exist with more traditional offline schedulers – something I’m certain a lot of vaccine distributors have faced. And to do so within days or weeks? That can’t be easy.
The results have been literally all over the map. My home state of Pennsylvania has put together a slick interactive feature that allows you to zoom in on your town and find all available vaccine locations. This is the easy part.
But once you click on a respective provider’s URL, the chaos begins. Here are a few examples of what I found:
Click on a Day and Wait
Among the more infuriating schedulers out there, this one requires you to click on each day within a calendar. It takes anywhere from about 2-10 seconds to let you know if there are any available appointments on that particular day. Thus, you’ll spend a lot of time clicking around and hoping for a good result.
A small tweak that could have a positive impact would be blocking out days that have no availability. This would save users a lot of time, while saving server resources as well.
A Form of False Hope
One of the big pharmacy chains in this area really broke my heart. Initially, their scheduler asked for some basic contact and medical information – fair enough. From there, you select a store location and move on to a calendar.
This one looked just beautiful, with highlighted days and a listing of available appointment times. But this vaccine oasis turned out to be a mirage.
After selecting an available day and time, I was asked to provide even more medical detail. OK, I’m hurrying! Next, all you have to do is verify that your info is correct and book your appointment. Yay, I’m almost there!
The bad news? After submitting the appointment, you get a message explaining that the time slot has already been booked. I repeated this countless times over a period of several days. Returning later often showed the exact same open times – and again a failure to book.
Thankfully, they’ve since streamlined the process. The calendar is skipped completely if appointments are not available. It’s a much more user-friendly experience.
Are We There Yet?
Another somewhat humorous example shows why loading animations can be so important. Here, a scheduler asks for your postal code so that it can determine if a location near you has the vaccine.
You type it in, submit the form and…crickets. The screen isn’t refreshing – did I not hit the button? I don’t see any sort of loading graphic – maybe the system isn’t working today?
Eventually, you do get a result. But there is absolutely no way a user can tell that the query is being run. I can imagine that some people may have up and left before even seeing what the search had to say.
How Design Impacts Lives
One of the key takeaways from this is experience is how important design is for achieving a desired result. It is also a prime example of why a coherent strategy is vital to the success of a project.
When this is lacking, we make it harder for users to get what they need. This is bad enough on an ordinary eCommerce website – but the impact it has on getting millions of people signed up for a crucial vaccine is potentially massive.
Just imagine someone who is so frustrated by an online scheduling app that they give up on getting vaccinated altogether. Or even a provider who has supplies that are quickly becoming outdated because people aren’t signing up. It would be a waste of very precious time and resources.
Thankfully, there are some positive signs on the horizon. I’ve seen some changes in various schedulers that improve the user experience. And as more feedback comes in, further improvements can be made.
In many ways, the world was caught flat-footed when the pandemic first struck. Time and again, designers have had to react with quick solutions.
We can’t change the mistakes that have already happened. But this experience can provide valuable lessons for the future. Hopefully, that means a smoother, more intuitive process for all.
The post What COVID-19 Vaccine Scheduling Can Teach Designers appeared first on Speckyboy Design Magazine.
Top 5 Web Design Tools & Software Applications
Just like in most other professions, a web designer’s set of tools is what brings a concept into fruition. There are many applications available to our disposal, but there are some that just stand out from the crowd. The tools in this article are what’s regarded as the most popular and best web design tools.
Keep reading to learn more about the webpage designing tools that made this list, which include:
1. Dreamweaver
Adobe Dreamweaver is a commercial application for web development that’s available for the Mac and Windows operating systems.
This webpage designing tool is featured-packed with a suite of tools and options that include: syntax highlighting and very smart Code Hinting, a built-in FTP client, project management and workflow options that make teamwork effortless, and Live View – which shows you a preview of your source code. Dreamweaver tightly integrates with other popular Adobe products such as Photoshop, allowing you to share Smart Objects for quick and easy updating and editing of graphics components.
2. Nova
Nova is a new and improved version of Panic, a web development application for the Mac OS X operating system. This web designing tool seeks to reduce the amount of applications (such as an FTP client, CSS editor, a version control system, etc.) you need to develop websites and to improve your team’s workflow. Nova’s one-window web development philosophy uses a tabbed interface for text editing, file transfers, SVN, CSS, and even “Books” which embeds web books that are searchable (it comes with The Web Programmer’s Desk Reference but you can add your own).
3. Photoshop
Adobe Photoshop is a very popular commercial graphics editor available for the Mac and Windows operating system. Created for professional photographers and designers, it is the ideal application for manipulating images and creating web graphics. Photoshop has all the necessary tools and options you need such as: Filters – which automatically adds effects to your image or a selected section of your image, extensibility and automation with Brushes, Actions and Scripting, and workflow enhancement features like Layer Comps and the Revert option.
4. Google Web Designer
Google Web Designer is a free webpage designing tool that makes creating interactive and engaging HTML5-based designs easy. Even better, the tool ensures your designs (and motion graphics) will run and display on any device, from desktops to smartphones. You can also edit HTML, CSS, and JavaScript directly with Google Web Designer.
5. Firefox Developer
Firefox Developer Edition is a version of Firefox specifically for web developers. As a developer, you have access to all their DevTools. This web design tool’s many features include: Analyzing and debugging, building and designing with CSS Grid, HTML inspector, style editor among many other tools to provide the greatest assistance with your web development needs.
Notable mentions
Here are other tools that were voted as some of the best webpage design tools that are worth a quick mention.
- Adobe Flash
- Web Developer (Firefox extension)
- Aptana
- Paper and pen/pencil (for paper prototyping/sketching).
- Notepad++
- GIMP
Related content
- 7 Incredibly Useful Tools for Evaluating a Web Design
- Web-Based Tools for Optimizing, Formatting and Checking CSS
- 15 Tools to Help You Develop Faster Web Pages
The post Top 5 Web Design Tools & Software Applications appeared first on WebFX Blog.