Theme Creation Will Be Easier, But We Are Not There Yet

“The way that themes have evolved within WordPress has made creating them easier,” wrote Tammie Lister in the opening line of her article titled Theme creation is now easier. “That feels like a bold statement, but it’s true.”

It is not a stretch to say that many would be asking for this secret-sauce recipe of easy theme creation. If anything, WordPress theming is at its most complex stage in history. It is a weird mix of APIs and years upon years of legacy baggage. Jumping into traditional theme development today carries with it a high barrier to entry, especially if you want to build anything grander in scope than any of the default Twenty* themes.

But Lister is talking about the WordPress of the future, a platform that will render its front-end output via blocks.

The thing about blocks is that they put this veil over a lot of the messy legacy stuff, creating a new standard where anyone who wants to build a theme does not have to worry about a lot of the history that got us from Point A to Point B. That is a Good Thing. Standardization of the system was long overdue, but we are still in the process of making that final leap forward. It is a tough time to be a developer. It can also be an exciting new adventure if we stop thinking about themes from a traditional mindset.

Lister made sure to point out the difference between theme “creation” and “development.” In almost two decades of WordPress, we have only ever had WordPress theme developers. Only those with the minimum knowledge of HTML, CSS, PHP, and [sometimes] JavaScript could build a theme. And, that is absolutely still true today.

However, it will not be true tomorrow.

The act of front-end design does not have to be an all-or-nothing affair. Creators can build custom patterns and soon be able to submit them to the official pattern directory. WordPress 5.8 launched the template editor, so anyone can dip their toes into the shallow end of the template-creation pool. Global styles, a feature yet to be released, carries with it the promise of customizing fonts, colors, backgrounds, borders, and much more.

From a developer’s perspective, some of these features can seem limiting. We dive into code and see the world around us changing. Nothing is like the WordPress of old. There are moments when things are more complicated — sometimes by magnitudes.

However, for people who have never written a line of code in their lives, there is something magical brewing. WordPress is lowering the barrier to entry to almost nothing for the “regular” folks.

I remember how empowering it was to create my first personal blog design on top of WordPress. It was a fork of a theme by Tung Do, the former owner of the now-defunct WP Designer blog. I knew enough HTML and CSS to hack my way through most of it and just enough PHP to break my site several dozen times. It was a life-changing experience for me that played no small part in launching my career.

However, I also think about all the people who never got to build their own site designs because they did not have the prerequisite knowledge, the available time, or ran into some other blocker that disallowed their entry into the experience. WordPress is positioned to change that with new tools, building a runway that allows more people to become a part of our collective design community.

It is not only about building personal blog designs. It is about allowing anyone who wants to contribute to this open-source experiment, founded on the idea that we can share with our neighbors.

The pattern directory, which is only a few days old, is an early example of that. As we continue removing barriers for non-developers, it opens an entire world of possibilities and, perhaps, allows some who did not previously have the privilege of contributing an opportunity to do so. Or, it could even be the launchpad of a new business for some.

There is also a two-year-old ticket on starter page templates that is picking up steam. It is a sort of companion to block patterns, tackling entire pages instead of sections. The initial goal would be for themers to bundle these in their themes, but I envision a future where users can create and share these freely with their peers via WordPress.org.

But, it is rough going for theme authors today — plugin developers too, but we’ll save that for another post.

Traditional themes carry all the legacy baggage mentioned earlier, and some of the new block-related tools have added to the load. The current phase often breaks classic projects or forces developers into mixing compounds and waiting to see if the amalgamation explodes.

And, the promised future of easy theming with blocks is still in its infancy. The moment developers get into anything slightly more “advanced” than a simple blog, there are hurdles and pitfalls aplenty. For example, if you want to use different image sizes and orientations in various sections of a front-page template, that is impossible with the Post Featured Image block.

Or, maybe you have a theme user who wants to put a dynamic profile/account link for registered users on their own site. It is not happening without building a plugin or finding one to handle the job. It can also be a tough sell when four lines of PHP code worked just fine in the past.

These are merely simple examples of an array of issues that theme authors deal with on a day-to-day basis. They are problem-solvers for the masses, but they do not yet have a robust enough set of tools. Foundationally, the block system can handle most problems and even provide better solutions in some cases, but not all of the necessary blocks or options are in place yet.

As we continue solving these problems and adding the missing pieces, theme creation will be easier for everyone from the weekend tinkerer to the million-dollar theme shop. It will be a bit before we get there, but I find it hard not to look at what is upcoming and not be excited about the prospect of theming in the next few years.

Forminator’s New Pagination for Quizzes (and more!)

Our 5-star free form creating plugin, Forminator, has a few advanced features that you can implement today for your WordPress site.

For example, he has pagination for Knowledge & Personality Quizzes! This allows you to show quiz questions one at a time, or all the questions at once. The pagination feature helps further determine how your quiz will be displayed and used.

Plus, Forminator also has Bulk Editing, image support in Checkbox and Radio fields, and reCAPTCHA badge positioning!

What's new in Forminator.
There’s plenty new in Forminator!

This article will show you pagination support and rundown other features so that you can implement them for your WordPress site today.

We’ll look at:

By the time you read through this, you’ll hopefully have some ideas to put these features immediately to work!

Creating a New Paginated Quiz

If you want to display several questions for your knowledge quizzes at a time, then you’ll want to use Quiz Pagination. As you’ll see, creating a quiz with pagination is as easy as ever with Forminator.

You’ll start just like usual by making a new quiz. Just hit Create

Where you start to create a quiz.
The Create button will get you started!

…then, give it a Quiz Name. For this example, we’ll create a Knowledge Quiz.

Where you create a new knowledge quiz.
Create a name that you can remember what it’ll be used for.

At this point, Forminator will ask you how you want to present your quiz. Since we’re focused on pagination, we’ll choose the Paginated Quiz option and hit Continue.

The paginated quiz option.
The choice is yours: No Pagination or Paginated Quiz.

Once you continue, you’ll also have the option to collect leads. That’s up to you and won’t have any effect on your pagination options.

After creating the quiz, you can set it up like a regular quiz (e.g. adding a title, featured images, etc.). Additionally, add your questions.

If you need help getting a quiz set up in detail, check out our Getting the Most Out of Forminator article to walk you through the process.

Editing Pagination

I’ve set up some questions and am now ready to edit the pagination (and again, if you need help setting up questions, please refer to this article).

Editing pagination is done from the Behaviour tab.

Once you’re here, you have the option No Pagination or Paginated Quiz. This is so you can remove pagination if you decide not to use it in the future.

For this article, we’re going with Paginated Quiz.

The paginated quiz option.
This will determine how your questions will be presented.

Paginated Quiz then lets you determine the number of questions per page, the Start Quiz Button text, and the text for previous & next buttons. You can also check the box if you want to show a page indicator.

It’s as simple as filling in the details in the spaces provided.

Pagination details.
Add as many questions per page as you’d like!

When the pagination details are entered, the rest can be created like any other knowledge quiz. That includes:

  • Results Display Method (real-time or on submission)
  • Option to Show Evaluation Loader
  • Correct Answer Message
  • Incorrect Answer Message
  • Social Sharing Options
  • Rendering Options (load quiz using AJAX and prevent page caching on quiz pages)

Set the quiz up as you feel appropriate, and then you’re on to…

Previewing the Quiz

When you have your quiz configured to your standards, click Preview to see what it looks like. Let’s check it out!

I uploaded a cover image and titled it Forms and Superheros, and added a description. This is how the quiz begins…

Beginning of quiz image.
You hit ‘Start Quiz’ to begin.

And here’s a quick walkthrough where I have a correct — and incorrect — answer. Plus, it’ll show me the results. Keep in mind that this is a two-question quiz that I wanted on the same page.

As you can see, Forminator lets you know when you have the answer right or wrong immediately.

When you click View Results, Forminator lets you know exactly how many you got right and wrong. Whew! This was a tough one.

Results of quiz.
½ isn’t a great score. I shouldn’t have picked Dev Man as my favorite character.

If the preview looks good, like any quiz, hit Publish, and Forminator will deliver a shortcode that can be used on any page, post, or acceptable widget.

Forminator shortcode.
The thumbs up from Forminator mean it’s ready to go.

And that’s it!

If you need to, you can always edit the quiz at any time through Forminator’s dashboard. Otherwise, your paginated knowledge quiz is ready to go.

Bulk Editing

Another great advanced editing feature in Forminator is Bulk Editing. Bulk editing lets you add a large number of options at once. This makes the process of editing more streamlined, efficient, and quick.

This feature works with the Radio, Checkbox, and Select fields.

Various fields in Forminator.
All of these fields can be bulk edited.

When it comes to bulk editing, you have three options. You can bulk edit:

  • Manually
  • Via CSV File
  • Predefined Options

The process to get this implemented is the same in all of the fields. Bulk Edit is located in the Labels tab in each respective field.

To get started, simply click the Bulk Edit option.

One-click is all it takes to get moving.

Once implementing Bulk Edit, any existing options you have manually created will automatically populate in the Bulk Edit section.

Various options.
A couple of the options included are Option 1; one; 0 and Option 2; two; 0.

Let’s take a look at each option when it comes to bulk editing.

Manually Entering Bulk Options

This option is great if you want to manually enter or paste your list of options into the Bulk Edit area. When doing this, enter them one per line with each term separated by a semicolon in this order:

  • Option Label;
  • Option Value;
  • Selected;
  • Image URL (this can be blank if you have no image)

Or, you can enter Label only. By doing this, Forminator will generate the value automatically and set selected to zero. Plus, it won’t add an image URL.

An example of this might look like this…

Manual example of entering field options.
As you can see, I added my URL to the image.

Manually entering options is best for adding just several options at a time in bulk.

Adding Options Via CSV File

When you have a ton of options on a CSV file, you can quickly bulk upload these to Forminator.

What if you don’t have a CSV file? Download Forminator’s CSV template. It has a list of examples that you can edit to include your own options.

Where you download a CSV template.
You can conveniently download a CSV template.

The example file is fundamental, with just a few pieces of information. Edit however you want, and then click Upload File once you have edited and saved the CSV file. Then, hit Import to add all of your options into the Bulk Edit section.

The import button.
The file name will appear, and just import it in.

Keep in mind that uploading will replace any existing options that you have in place.

Predefined Options

Forminator has quite a few predefined options you can use in an instant. They’re all available via the dropdown menu.

The dropdown menu has them all.

Choose from the dropdown menu:

  • Age
  • Gender
  • Educational Attainment
  • Employment Status
  • Occupation
  • Marital Status
  • Continents
  • Countries
  • American States
  • Canadian Provinces

Plus, you can add New Option, which will allow you to input your data.

The predefined options make it quick and easy to bulk edit whatever field you’re working in.

Additional Advanced Features

There are several more advanced features for Forminator that you may find helpful. These were all included in the release of 1.14.12, and include Image Support for Checkbox & Radio Field, HTML Quiz Description Field, and Setting reCAPTCHA Badge Position.

We’ll quickly check out each one of these and demonstrate how they work.

Image Support in Checkbox and Radio Field

Forminator now gives you the option to upload an image to the Checkbox and Radio fields. This can help forms become much more visually appealing and easier to set up than uploading an image separately for a form.

Just have a form with the fields in them (if you need help setting up a form, please check out our How to Get the Most Out of Forminator article).

Go into the form field, and you’ll see that under the Labels tab, there’s a checkbox you can click to Enable Images.

Where you enable images.
Enabling images is just one click away!

Once enabled, you simply go to the Options, click the dropdown by any option you want an image in, and upload a photo.

The dropdown to upload images.
Upload an appropriate image that goes with your option.

Once you have your images uploaded, click Apply, and you’re all set! Your images will be included with your Checkbox or Radio field.

Image options examples.
Forminator makes for some fitting images to use here.

You can always edit and adjust your images at any time.

HTML Quiz Description Field

Add descriptions for each individual quiz answer in Forminator’s HTML Quiz Description Field. This feature helps clarify any answer for your users and can help make for a more engaging quiz.

All you do is type it in the Description area in each individual question field.

Description of quiz response.
Add the perfect description to your personality or knowledge quiz!

Once you have the description entered, click Apply. Your description is now added!

Set reCAPTCHA Badge Position

This is a fast adjustment that can be made regarding the reCAPTCHA position. It puts you in control of where your reCAPTCHA is displayed.

You just go into your reCAPTCHA field, click Settings, and choose where you want your badge to appear on your site.

Choose from these specific areas:

  • Bottom Right
  • Bottom Left
  • Inline in Form
Image of badge position options.
It’s just a matter of choosing the perfect position for your WordPress site!

Once you select where you want your badge to appear, click Apply.

Keep in mind that this only works with V2 Invisible and reCAPTCHA V3 options.

And for even more about using reCAPTCHA, please read our article covering incorporating it with our security plugin, Defender.

Pagination is Quite the Sensation!

If you think features like pagination are sensational, Forminator is constantly adding new beneficial features and enhancements. Be sure to follow our Roadmap to see what’s next!

And now that you know how, implement these advanced features (for free!) and give them a try today.

Happy form building!

Tweak and Build WordPress Sites Faster Than Ever With One-Click Configs

Configs eliminate painstaking manual adjustments for individual sites. Instead, you can immediately apply your preferred plugin and uptime settings to unlimited sites with a click!

Best of all, they’re all implemented quickly from The Hub and WordPress admin.

Adjust any config-supported plugin to your preference, save as a new config, apply your custom config to all of your Hub-connected sites in one click — it’s that easy!

This article is your ultimate guide to learn, know, and use configs for your WordPress sites. We’ll be going over:

Once you have configs up and running, you’ll see for yourself how easy and beneficial it is to adjust your settings on unlimited sites.

Plus, with easy config access from The Hub, WordPress management just got better than ever.

Let’s get to it!

What Are Configs?

Configs are by far one of the most beneficial features you can use to help build and tweak your WordPress sites.

In a nutshell, they allow you to set up any supported plugin to your preference, and then save these (non-unique) plugin settings as a new config – which you can then apply to the rest of your sites in one hit.

Think saving your video game progress, but for WordPress plugins.

  1. Adjust any config-supported plugin or tool to your preference.
  2. Save your plugin settings as a new config.
  3. Apply your config to all your Hub-connected sites in a click.
  4. Repeat whenever a new important plugin feature is added.

You can create new configs in WordPress or The Hub, and they automatically sync across to the each other.

Note that you can also use configs WITHOUT The Hub, you’ll just have to save and upload them to your sites manually – which will still save time – but won’t be as fast as one-click applying them via The Hub.

Currently configs can be used with SmartCrawl, Defender, Smush, Hummingbird, and Uptime (Forminator, Branda, and Automate coming soon!).

Finally, you have the option of using our default configs (which are already set up and optimized by our expert team), or you can create your own custom configs.

Using Default Configs

We’ll first check out how to use default configs from the WordPress admin.

They’re a great way to get started with configs, especially if you’d prefer to skip the configuration process. Our default options will suit most users and are a great foundation to build from.

In this walkthrough, I’ll be using Defender.

In Defender’s dashboard, you can see that there’s a section labeled Preset Configs.

It shows what’s included (Basic Config and Default Security Config), Manage Options, and Save New.

A look at preset configs.
This is located more towards the bottom of the page in Defender’s dashboard.

You can view the details of each one by clicking on the dropdown arrow, showing you what’s activated and what’s not.

Here’s a look at the Basic Config.

Recommended security configs.
Most of the recommendations are active.

From here, it’s a matter of applying or downloading the config. It’s done by clicking the gear icon and Download.

As mentioned earlier, the download option is mainly for non-Hub users who want to still upload their configs to other sites.

The gear icon in defender configs.
One-click is all it takes.

By tapping Apply, Defender will make sure you want to proceed and recommends a backup for your site.

What you tap to apply config.
All of the plugins ask if you want to proceed before doing so.

If you want to make this config active, hit Apply, and you’re all set!

You can now move to The Hub and apply this same config to all your other sites in bulk, but we’ll get to that soon.

Alright, now that you know how to use default configs, let’s set up a completely customized one.

Creating Custom Configs

Creating a custom config is a way to set up plugin configurations to your standards and preference.

It can be done from WordPress or The Hub, and they can be applied to unlimited WordPress sites.

Let’s set one up in WordPress using Defender again.

We’ll start by assuming you’ve already activated relevant Defender settings and tools.

Once you’ve done this it’s as simple as hitting Save New in the Configs section.

Save a new preset config.
Save new will get you a new config quickly and easily!

When hitting Save New, a new box will appear. This is where you can add a Title and Description of the config.

Then, click Save, and all of the configurations you have saved at this time will be available as a new config.

Where you name and save your current config.
A perfect config for Dev Man.

It will then appear with your other configs, where you can activate, edit name and description, or delete.

Where all the configs are located.
As you can see, the latest config is included.

The new config is also ready to be activated or downloaded and applied to as many sites as you want.

If you’re in The Hub, you’ll see that this new config is also accessible here. It’s under My Configs.

Where My Configs are located in The Hub.
The new config is waiting!

Speaking of The Hub, now it’s time to see how easy it is to apply configs to unlimited sites with a couple of clicks.

Adding Configs in The Hub

From the My Sites area you should see the Configs tab.

Where configs are located in The Hub.
It’s all easily accessible in The Hub!

Once you click on Configs, you’ll see you can access either our Default Configs or any custom configs you’ve created in My Configs.

For this example, we’ll show you how to apply a default config, but the process for applying custom configs is exactly the same.

The default configs.
All of the default plugin configurations that come with The Hub are included.

Next, you’ll see the option to Apply to site(s) and an ellipsis by each plugin and service.

To apply this config to your site(s), click Apply to site(s).

Apply to sites button.
Each config has this option.

Before applying, you can also check out what’s in the config by clicking the ellipsis.

When clicking this, you’ll hit Details, and it shows you all that’s included, so you can make a good decision about what sites you want to apply it to.

For example, here is detailed information about the Performance Config and Hummingbird Pro.

It shows the date it was created, what’s active/inactive, what’s automated, and is broken up into categories (e.g. Advanced Tools).

Default performance plugin information.
Everything from Settings to Advanced Tools can be seen in detail.

Like what you see, and you want this config applied to a specific site? Or unlimited sites? You can do that from here by clicking Apply.

The apply button for configs.
Clicking Apply will get this config in motion.

After hitting Apply, you’re given the option to add configs for one or numerous sites.

You can do this individually or all at once by tapping Select All.

Choose as many sites as you want to apply configs to.

When hitting Select All, you’ll notice any website with the plugin not active won’t be included.

Plus, it will give you the total amount of sites the config is applied to.

Where you click to apply configs to sites.
This is applied to four sites, and one of the sites doesn’t have the plugin active.

Once you have the sites, you want to apply configs to, hit Apply to site — and you’re all set!

Want more convenience?

Configs can also be enabled directly from The Hub Overview.

Here’s an example of saving or applying an Uptime config.

The Hub Overview.
Access Uptime configs and your other WordPress plugins in one place.

If you click on the ellipsis, it will open up a dropdown where you have an option to Save Config and Apply Config.

Where you save and apply configs.
Saving and applying a config is as easy as ever from The Hub Overview.

Quick Configs Site Setup

Once you’ve created different configs across different plugins, you can easily add them all to single sites at once using our quick config site setup.

From The Hub, go to a site and click on the ellipsis in the upper-righthand corner.

From there, you’ll see Quick Setup. Click on that to get started.

Your configs are now well on the way.

This brings up a brief guide of configs and gives you the option to Start Setup.

From here, it’s a matter of selecting what you want to set up by checking the box next to the feature.

Any configs that are available (including custom configs), you’ll be able to select from the dropdown where it says Select Config. Select from the dropdown the configs you want to use.

Click Start Setup to start the configs.
Click Start Setup to start the configs.

Once you have the DEV configs sorted the way you want, click Start Setup.

It’s just a matter of choosing what configs to apply and where.

And just like that, your configs are attributed to your WordPress site!

Note: We recommend not using configs for brand-spanking new sites. It’s best to get established with your plugins and features first so that any functionality isn’t disrupted (e.g. if you were to enable a Defender config on a brand new site with masked login activated, you will not be able to log into the site).

Take Advantage of Uptime Configs

Our uptime tool allows you to monitor downtime and uptime, configure the notification threshold, and the email recipient who you want to keep tabs on your chosen site.

Uptime configs also work slightly different to our regular plugin configs, and custom uptime configs can be a great tool for agencies or freelancers who manage many websites and want to prioritize them differently.

Customized configs area.
Set downtime & uptime alerts, the threshold, and email recipients.

For example, you can create specific uptime configs especially for clients who have purchased your top tiered plans. In this case, your alerts could be set up to instantly notify your top developers.

On the other hand, for lower paying, less priority sites – you might only have a 10 min downtime alert, which is sent to your intermediate developers.

Then simply save these two unique setups as configs, and apply to relevant sites based on their priority.

That’s the one example anyway. The point is, you can get creative with how you customize this particular config tool, and use it to your advantage.

Like the others, Uptime configs can be found in your default and custom config dashboards.

Uptime config.
Uptime is right in the mix with the rest of the configs.

For more on Uptime, be sure to check out our documentation.

Go Big and Config

As you can see, configs are a BIG advantage to your WordPress management. They put you in the driver’s seat when it comes to your WordPress sites settings!

Configs streamline everything, so you don’t have to adjust settings for each site that you have. They’re an excellent one-and-done solution.

Be sure to give them a spin today on unlimited sites with our supported plugins and Uptime. If you don’t have The Hub and want to check out all that was covered, sign up for a free 7-day trial. You’ll also get access to all of our award-winning premium plugins, 24-7 support, and more!

Now that you know how to use them, there’s nothing else to configure out.

#326: Design Pattern Deepdives: Tabs and InfoBox

Chris and Stephen pick out a couple of components from our design pattern library (which we talked about last here) and go into why they exist, what they do, what makes them complex, and the API choices. Relatively new to us is the idea of compound components which have, so far, been good to us as far as composing components in a way that makes them easier to use and more flexible.

Time Jumps

Sponsor: Jetpack

We’re fans of Jetpack! You might recognize Instant Search right here in the CodePen docs. But we’re well aware that not everybody feels as strongly positively as we do. Last call here… have your say, tell us why you don’t use it if you don’t:

The post #326: Design Pattern Deepdives: Tabs and InfoBox appeared first on CodePen Blog.

A Guide to the Best Barcode Reader SDKs

With so many barcoding solutions out there, the selection process can become challenging. From the top barcode reader feature to crucial considerations, we will discuss everything vital for choosing the best barcode reader SDK for your application. 

We will compare three leading vendors in this article: 

Generative Adversarial Networks (GANs) Business Use Cases

The generative-adversarial network consists of two parts: generative and discriminative. The generative neural network creates samples, and the discriminative tries to distinguish correct samples from incorrect ones.

Just imagine GAN as a counterfeiter and a policeman competing with each other. The counterfeiter learns to make simulated bills, and the policeman learns to detect them. Both are dynamic. The policeman also trains, and each side comes to learn the methods of the other in a constant escalation.

Safari 15 Opinions

It was interesting that when Safari 15 was dropping at this last WWDC, in my circles at least, I mostly heard enthusiasm. Like the colors-in-the-browser-controls stuff was a neat trick and fun to play with. And there were other more serious features, like iCloud Private Relay, which were near-universally applauded for the security innovation.

But the UX changes in Safari 15 are much more controversial in wider and more generally Apple-related circles.

Michael Tsai has a big roundup of opinions, including many serious criticisms. Like Steven Shen showing off how hard the tabs are to use on iPadOS and Saagar Jha pointing out that it’s hard to tell the difference between private browsing and not.

But I’d say most of the criticism is leveled at the browser controls themselves, regardless of the color trickery. Nick Herr went as far as calling it Chickenshit Minimalism:

Condensing the address bar into each tab is also irksome. It is a clever idea, but it means that everything moves around because tabs move. They scroll left to right; they change size as you open and close other tabs.

The small size of a browser tab also means that many controls are hidden by default, including the reload and share buttons. They are all buried into one of those vague “⋯” controls that Apple is obsessed with these days. If you share web links a lot, there is not even a way to add the button back to the toolbar in a more permanent state. This, I think, continues a worrying pattern of bad UI habits.

In other words, chucking useful buttons under a random kebab menu isn’t something that people who used those buttons are going to be fond of. There’s “Hiding buttons from popular built-in apps is a bad idea.” by Federico Viticci, which goes into similar changes in iOS Safari. Gruber also:

I think the new Safari interface is a noble experiment — intriguing ideas that were worth trying out. But I don’t know anyone who thinks, in practice, that they’re not a huge regression in usability. I’d love it if Apple just went back to the previous Safari interface for tabs and browser chrome. It’s crazy to me that even the Share button is now an extra click or tap away. If Apple ships this design for the Mac it’s going to push a lot of current Safari users to Chrome or other Chromium-based browsers.

Not popular changes. I wonder if people would really jump-ship just for this? My hunch is that Safari users are either Safari users because that’s just what ships on their Mac and they don’t care to think about it much, or are Safari users very much on purpose because of the Apple-ness of it and these changes wouldn’t be enough to force them away.

Others applaud the effort. Jason Snell calls it a self-inflicted wound, but sees the good:

Apple has tried to minimize Safari’s interface as much as possible. Its designers have looked at every single interface element, from the tabs to the URL bar to every single toolbar item, and pondered if they could afford to hide, remove, or minimize those elements to give more space on the screen for the web page itself.

I think that Apple should be applauded for making the effort, not only because the vast majority of its customers are using screens that are at most 13 inches measured diagonally, but because Apple should always be striving to find better ways of doing things. I don’t believe there’s any class of app—from web browsers to email clients to text editors—that’s a solved problem.

Jeff Kirvin thinks it’s just misunderstood:

What I see in Safari 15 is the first steps into a new design language for iOS, one prioritizing adaptive, contextual interfaces. Ever since the move to the new “all screen” iPhone X design, content has been king on iOS, and Apple has been removing more and more user chrome. This is the next step on that journey.


While I’m at the Safari 15 thing here…


The post Safari 15 Opinions appeared first on CSS-Tricks. You can support CSS-Tricks by being an MVP Supporter.

Working With Transactions in Entity Framework Core and Entity Developer

Entity Framework Core, a lightweight cross-platform version of the Entity Framework, gives you a standard method to retrieve data from various data sources using the Entity Framework. It supports working with transactions as well, so you can create and manage transactions elegantly.

This article presents a discussion on how we can work with transactions using Entity Framework Core and Entity Developer for data access.

How to Set Up Magento 2 Cron Job

Magento 2 Cron Job is an automatic scheduler that repeats the given tasks at a regular interval. It is like setting your plane on autopilot mode! Set the instructions and watch your worries take off. When combined with multichannel selling, Cron Job in Magento becomes even more effective. It can automatically update new orders, products, shipments, listings, and more at a single click. Thus, reducing the efforts and many hours otherwise wasted in doing these tasks manually.

How to Create Magento 2 Cron Job

Here’s the guide for the setup of Magento 2 Cron according to your preference and set the time.

Adding Dimension With a Swimlane Matrix

Swimlanes organize graph visualizations in a simple, user-friendly manner. Typically, process flows use swimlane diagrams to group components into individual categories, or lanes. Each node represents a task or activity and the lanes organize them by role, function, or department. However, because swimlanes are usually defined along a single axis, they tend to be used as alternatives to other graphical cues like text, coloring, or icons. In this scenario, swimlanes only add one additional dimension of data. Tom Sawyer Perspectives can help you show more.

In this Purchase Order workflow, the vertical lanes show the days on which tasks need to be performed, while the horizontal lanes define the task type. This helps keep the overall process on schedule.


7 Best Soft Skills That Make a Great Software Developer

Whether you’re an experienced software developer or new to the industry, there’s always something you can do to up your game. You’ll know how to create perfect code and how to understand your client’s brief. You’ll have a rigorous QA strategy in place to ensure your software functions right the first time, every time. 

These are the hard skills that every software dev needs, but do you have the soft skills that can take you from being a good software developer to a great one?

Enterprise Digital Transformation Guide in the Post Covid World

Business Transformation

Uncertainty is the new normal today, with no clear end as well. Businesses, small and large, have been besieged with unprecedented challenges. Any business is constantly in a state of improvement, upgrade, and transition. This is necessitated primarily by the current pandemic, then changing market economics, customer preferences, government policies, etc. Business transformation is inevitable. It can be defined as changes or modifications to business operations necessitated by the need to improve or due to external factors such as Covid. Digital transformation is one of the key steps in business transformation.

What Is Digital Transformation?


2 Examples of Projects that Leverage Java and JSON for Web Services

Java has some amazingly simple tools to make a developer’s life easier. One such tool is the JavaScript Object Notation (JSON) open standard file format and data interchange format. It leverages standard text to store and transfer data objects and makes it significantly easier to build Web Services solutions. It can be leveraged in any language including Java, PHP, .NET, etc. It is easy to read and write and easy to parse and generate data and it is a popular data-interchange language for developers around the world. In this article, we look at two specific web services projects utilizing JSON to build the foundation for business solutions. 

"As the web services market grows, the popularity of JSON is likely to grow as well."

Apple Kills Off Key SiriKit APIs

Apple has announced that along with the public release of iOS 15, the company intends to deprecate a collection of SiriKit APIs that handle everything from CarPlay controls to Notes creation. This is a breaking change that Apple is warning developers to account for. 

How To Turn Loyal Customers Into Advocates in SaaS

Introduction

While "you catch more flies with honey than you do with vinegar" might be an old and well-worn phrase, it’s also true today of the SaaS industry. After all, attracting, catching, and keeping new customers has always been the name of the game-step in brand advocacy.

Brand advocates in SaaS offer so much more than fandom—they are your secret and often most helpful marketing team. By spreading brand awareness, they influence their network to become customers too. 

A Guide to Component Driven Development (CDD)

Introduction

The creation of evolutionary applications with future-proof architectures is a challenging task. Given the number of organizations relying on modern frontend trends to develop and ship software products globally to millions of users, the need to choose an architecture that can scale and speed up development processes has become essential. More than creating a complex app with innovative features, building an app with a simple and decoupled codebase is the priority today. Why do you ask?

The primary reason is that a quality application is imminent to obtain user growth. After a certain period, scaling up the app in terms of features, server capacity, and so on would be inevitable. However, due to budgetary limitations or ignorance through the attitude of “we will scale later”, most organizations build apps with tightly coupled architectures where scaling becomes impossible in the future.