Articles

Test de fuzzing en ingénierie logicielle

Le fuzzing est une technique d’ingénierie logicielle qui consiste à tester le logiciel en envoyant des données aléatoires pour trouver des erreurs. Essayons de comprendre les avantages et les inconvénients du test de fuzzing!

Fuzzing, également connu sous le nom de test de fuzz, est une technique de test logiciel automatisée qui consiste à fournir des données invalides, inattendues ou aléatoires (fuzz) en tant qu’entrées d’un programme informatique. L’objectif est de trouver des erreurs de codage, des bugs, des vulnérabilités de sécurité et des failles qui peuvent être exploitées. Cet article commence par expliquer quelques types de fuzzing de base. La métaphore «tester la serrure» est ensuite utilisée pour expliquer les rouages de cette technique. Une liste d’outils disponibles est donnée et un ensemble de meilleures pratiques est exploré pour que le fuzzing soit mené de manière éthique, efficace et sûre.

Black-box fuzzing is the most common type of fuzzing. It does not require any knowledge about the internal architecture of the software being tested. The tester only needs to provide the input data and observe the output. This type of fuzzing is suitable for testing applications with a user interface, such as web browsers, media players, and office applications.

White-box fuzzing requires knowledge about the internal architecture of the software being tested. The tester needs to understand the code and identify the areas that need to be tested. This type of fuzzing is suitable for testing complex applications, such as operating systems, databases, and network protocols.

Métaphore du Test de la Serrure

La métaphore du test de la serrure est utilisée pour expliquer le fonctionnement de la technique de fuzzing. Cette métaphore compare le processus de fuzzing à un test pour vérifier si une serrure est ouverte ou fermée. Dans ce scénario, le tester est le cambrioleur et la serrure est le logiciel à tester. Le but du cambrioleur est d’ouvrir la serrure en essayant différentes clés. Dans le cas du fuzzing, le tester envoie des données aléatoires au logiciel pour voir si elles peuvent le faire planter ou révéler des vulnérabilités.

Le processus de fuzzing commence par la génération de données aléatoires. Ces données sont ensuite envoyées au logiciel pour tester sa robustesse. Si le logiciel fonctionne correctement, les données sont rejetées et le processus recommence avec des données différentes. Si le logiciel plante ou révèle une vulnérabilité, le tester peut identifier le problème et le corriger.

Le fuzzing est une technique très efficace pour trouver des bugs et des vulnérabilités dans un logiciel. Cependant, il est important de comprendre l’architecture du logiciel pour pouvoir l’utiliser correctement et efficacement. Une bonne compréhension de l’architecture du logiciel permet de cibler les zones à tester et d’améliorer les résultats.

Outils et Pratiques Recommandées

Il existe plusieurs outils disponibles pour effectuer des tests de fuzzing. Certains outils sont spécialisés pour tester des applications spécifiques, tandis que d’autres sont plus génériques et peuvent être utilisés pour tester tout type d’application. Les outils les plus populaires sont Sulley, Peach Fuzzer, SPIKE, American Fuzzy Lop (AFL) et Boofuzz.

En plus des outils disponibles, il existe certaines pratiques recommandées pour effectuer des tests de fuzzing de manière éthique, efficace et sûre. Il est important de bien documenter le processus de test et d’informer les développeurs des résultats obtenus. Il est également important de ne pas divulguer les résultats du test à des tiers sans l’autorisation des développeurs. Enfin, il est important de respecter la loi et les règles en vigueur lors de l’exécution des tests.

Le fuzzing est une technique très puissante qui peut être utilisée pour trouver des bugs et des vulnérabilités dans un logiciel. Cependant, il est important de comprendre l’architecture du logiciel et d’utiliser les bons outils et pratiques pour obtenir les meilleurs résultats. Une bonne compréhension de l’architecture et une utilisation appropriée des outils et pratiques peuvent aider
Source de l’article sur DZONE

Déboguer des sites web avec les outils de développeur Safari

Déboguer des sites web peut être une tâche difficile, mais en utilisant les outils de développeur Safari, cela devient plus facile et plus rapide !

Safari : le navigateur par défaut sur les iPads, Macbooks et iPhones

Je suis un scientifique excité qui vient de faire une découverte sensationnelle : Safari est le navigateur par défaut sur les iPads, Macbooks et iPhones. Il se classe deuxième dans les préférences des navigateurs, juste après Chrome. Ses plus de 250 fonctionnalités offrent aux utilisateurs des avantages remarquables qui le distinguent des autres navigateurs les plus populaires tels que Chrome et Firefox. De plus, la popularité de l’iPhone a entraîné une part de marché mondiale des smartphones de 53,6 % pour Safari.

L’année dernière, le nombre d’appareils actifs d’Apple a connu une augmentation significative à 1,5 milliard. Puisque la base d’utilisateurs continue de croître, Apple s’assure constamment d’une expérience utilisateur presque parfaite et d’une performance optimisée sur tous ses appareils.

Pour répondre à ces exigences, Apple a mis en place une base de données qui stocke des informations sur les performances et les préférences des utilisateurs. La base de données est mise à jour en permanence pour s’adapter aux changements des appareils et des systèmes d’exploitation. Elle permet également aux développeurs de créer des applications plus rapides et plus fiables qui s’adaptent aux besoins des utilisateurs. La base de données est également utilisée pour surveiller les performances des applications et des services afin de garantir une expérience optimale pour les utilisateurs.

Grâce à cette base de données, Apple est en mesure d’offrir une expérience utilisateur exceptionnelle et une performance optimale sur tous ses appareils. Les développeurs peuvent également créer des applications plus rapides et plus fiables qui s’adaptent aux besoins des utilisateurs. La base de données est donc un outil essentiel pour Apple pour offrir une expérience utilisateur optimale à ses utilisateurs.

Source de l’article sur DZONE

Physical device testing has been on the market for a long time. Even today, you can’t deny the importance it holds in the world of testers. In this age of automation testing and real device cloud testing, physical device testing still has the same reverence owing to its unwavering vitality in usability testing and hardware functionality testing, such as camera and GPS. Yet, if you want to reduce your overall project cost, you need to opt for a smarter solution that would enable features such as performing cross-browser testing at scale.

That’s when real device cloud testing comes to your aid. It comes with its own sets of advantages, such as cloud storage, access to communication tool integration, testing with the latest virtual browsers and OS versions, and much more.

Source de l’article sur DZONE

Designing a website or app can be a daunting task. But with the right design tools, it can be a lot easier. In this article, we’ll introduce you to some of the best tools, apps, and resources available right now. From client management to AI-powered design tools, there’s tons here to round out the year in style. Enjoy!

WelcomeSpaces

WelcomeSpaces is a collaborative tool for professional designers. Communicate with clients, share files, discuss revisions, and stay on track with an activity feed. Client collaboration has never been so simple.

html.to.design

html.to.design is an excellent plugin for Figma to help you quickly and easily create beautiful designs from existing websites. With just a few clicks, you can import the HTML code for any website and start designing your own version of it.

Squeaky

Squeaky is a privacy-friendly analytics suite that lets you capture up to 60% more data than legacy tools. With Squeaky, you can get insights into your customers’ behavior without compromising their privacy. Use Squeaky to make better decisions for your business.

AI Canvas

AI Canvas is an online collaborative platform that allows users to create and share AI artwork with other community members. Start your artwork with text prompts and watch it grow.

Magician

Magician is an AI-powered plugin for Figma that can create icons, images, and web copy from text prompts. It’s the perfect tool for designers who want to quickly and easily create beautiful designs.

Doughnut

Doughnut is a supportive design and freelancing community designed to help you succeed as a freelance designer. From finding new clients to managing your time, Doughnut has everything you need to make the most of your freelance career.

Deckset

Deckset is a simple way to produce great-looking presentations. Just write your thoughts in your favorite text editor and watch Deckset transform them into beautiful, persuasive presentations.

Vectormaker

With Vectormaker, you can easily convert pixel-based images into colorful vector graphics. Vectormaker uses the Potrace algorithm to trace the edges of your image. You can then choose the colors for your vector path based on the colors in the original.

Wrap

Wrap is a browser extension for capturing and editing product screenshots with ease. With a selection of carefully selected styles to choose from, you can create pixel-perfect designs in seconds—even if you’re not a designer.

Illustration Builder

The Illustration Builder digital designer toolkit is a Figma plugin for creating beautiful illustrations for your business website. You can create any illustration with a wide range of objects, backgrounds, characters, abstractions, and more.

OptiMonk

With OptiMonk, you can create beautiful pop-ups for Shopify, WordPress, MailChimp, and more that will help you increase your marketing reach, increase customer engagement and boost your conversions.

Jot

Jot is a marketing tool that uses OpenAI’s GPT-3 to generate human-like ad copy based on a single product description. With Jot, you can create engaging adverts quickly and easily.

Free Mockup Generator

Pixelied’s free mockup generator allows you to create stunning designs with editable mockups in minutes. With a wide range of customizable templates to choose from, you can design the perfect mockup for your project.

Womp

Womp is a new way to create 3D images. Intuitive and easy to use. With Womp, you can create beautiful 3D designs. Everything you create in Womp is exportable for 3D printing, social media, or directly into a game. It’s a great way to produce 3D icons and illustrations for your website.

Tinkerwell

Tinkerwell is a must-have companion to your favorite IDE. Quickly iterate on PHP code within the context of your web application. There’s no need to waste time opening browsers, creating test URLs, and uploading apps to servers. Use Tinkerwell locally, via SSH, Docker, and even on Laravel Vapor.

Magical

Magical is a tool that helps you speed up the meeting scheduling process. With Magical, you can easily find time slots that work for everyone and create personalized links to those slots. With Magical’s Dynamic Availability feature, you and your attendees can always find the best meeting time.

Explain Code

Explain Code is a great way to understand complicated code. You can see how the code works line by line and learn about programming concepts. Gain in-depth knowledge of how and why code is constructed and fast-track your learning process.

Shuffle Alternatives

Shuffle Alternatives allows you to create multiple site styles with a simple drag-and-drop builder. Create your core design and then choose from different design styles for a site that best fits your brand approach.

Idea Clarity

Get help honing your ideas, perfecting your pitch, and targeting the most profitable directions. Idea Clarity is an app that gives you direct access to experts in your chosen field who will help you revise your rough idea into a concrete plan.

Graphicsly

Graphicsly is an all-in-one graphics assets plugin for WordPress that lets you import directly into your installation. There are 1000+ 3D assets, 3000+ illustrations, and 9000+ icons ready to use today.

Source

The post Exciting New Tools for Designers, December 2022 first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

Apple has released an OS update. Packaged in with it is the latest version of Safari, 16.

Expected to be released ahead of next month’s macOS 13, Safari 16 is packed with updates, making it one of the most capable browsers available.

For web designers, the significance is the forward momentum in web technologies that enable freer design work and fewer hacks to achieve complex layouts. Little by little, CSS recommendations are being implemented to the point that using JavaScript for layout is rapidly becoming as unnecessary as it is disliked.

Some of this was announced in June in the Safari 16 beta. But a lot has been added in the last couple of months. So here’s what’s new in Safari 16 today.

CSS Container Queries

The most exciting addition to Safari 16 is CSS Container Queries.

It is hard to understate how in-demand this feature has been; if you imagine an edit button on Twitter that gifted you crypto every time you corrected a typo, you’d be getting close to how popular this feature is.

Until now, media queries have detected the whole viewport. And so, if you have an element like a card, for example, that needs to change at smaller viewports, you need to calculate the available space and adapt the element’s design accordingly. Unfortunately, this frequently gets out of sync with edge cases causing more than a few headaches for front-end developers.

Media queries are severely restrictive to modern layout methods like Grid that wrap elements automatically because there is no way to detect how the elements are laid out.

Container Queries solve this by allowing you to define styles based on the size of the actual containing element; if a div is 300px wide, the contents can have one design, and if it’s 400px wide, they can have a different design—all without caring what size the whole viewport is.

This is dangerously close to OOP (Object Orientated Programming) principles and almost elevates CSS to an actual programming language. (All we need is conditional logic, and we’re there.)

The latest versions of Chrome, Edge, and now Safari (including mobile) support CSS Grid. Even discounting the rapid decline of Twitter, this is way more exciting than any edit button.

CSS Subgrid

Speaking of Grid, if you’ve built a site with it (and if you haven’t, where have you been?), you’ll know that matching elements in complex HTML structures often results in nesting grids. Matching those grids requires careful management, CSS variables, or both. With CSS Subgrid, grids can inherit grid definitions from a grid defined higher up the hierarchy.

CSS Subgrid has been supported by Firefox for a while but is not yet part of Chrome or Edge. Until there’s wider support, it’s not a practical solution, and using a fallback negates any benefit of using Subgrid. However, its introduction in Safari will surely herald rapid adoption by Google and Microsoft and moves the web forward considerably.

CSS Subgrid is likely to be a practical solution within 18 months.

AVIF Support

AVIF is an exceptionally compact image format that beats even WebP in many instances. It even allows for sequences, creating what is essentially an animated GIF but smaller, and for bitmaps.

AVIF is already supported by Chrome, with partial support in Firefox. Safari now joins them.

AVIF support is one of the more valuable additions to Safari 16 because you’re probably already serving different images inside a picture element. If so, your Safari 16 users will begin receiving a smaller payload automatically, speeding up your site and boosting UX and SEO.

Enhanced Animation

Safari 16 introduces some significant improvements in animation, but the one that catches the eye is that you can now animate CSS Grid.

Yes, let that sink in. Combine Container Queries and animation. The possibilities for hover states on elements are tantalizing.

Safari 16 also supports CSS Offset Path — known initially as CSS Motion Path — which allows you to animate elements along any defined path. This enables the kind of animated effect that previously needed JavaScript (or Flash!) to accomplish.

Chrome, Edge, and Firefox all support CSS Offset Path; the addition of Safari means it’s now a practical solution that can be deployed in the wild.

Web Inspector Extensions

Announced as part of the beta release, Web Inspector Extensions allow web developers to create extensions for Safari, just as they would for Chrome.

Web Inspector Extensions — or Safari Extensions as they’re destined to be known — can be built in HTML, CSS, and JS, so the learning curve is shallow. It’s a good route into app development for web designers.

Because the underlying technology is the same as other browser extensions, anyone who has made a Chrome, Edge, or Firefox extension will be able to port it to Safari 16+ relatively easily. As a result, there should be a rapid expansion of the available extensions.

Improved Accessibility

Accessibility is key to an effective and inclusive web. Be like Bosch: everybody counts, or nobody counts.

When testing a design for accessibility, emulators don’t cut it. In my experience, Safari has some of the most reliable accessibility settings, especially when it comes to Media Queries like prefers-reduced-movement.

Further gains in this field mean that Safari continues to be an essential tool for QA tests.

Reduced Resets

Finally, I want to throw up my hands to celebrate the reduced number of non-standard CSS appearance settings.

For years we’ve been prefacing our style sheets with elaborate resets like Normalize, designed to undo all the assumptions browser developers make about design and the UI preferences of their engineers.

Safari 16 has reportedly “Removed most non-standard CSS appearance values.” How effective this is and how much we can rely on it given the other browsers on the market remains to be seen. However, like many of Safari 16’s changes, it’s a step towards a browser that’s on the developers’ side instead of an obstacle to overcome.

Source

The post Exciting New Features in Safari 16 first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

An unreliable, semi-broken and unresponsive website is an excellent way to lose leads and visitors — regardless of how aesthetically pleasing or well-designed, the visual elements are.

Over the past decade, we’ve seen more initiative to deliver faster internet to regions of the world that were previously devoid of it. With online communities expanding and more people becoming receptive to online shopping, ensuring your site’s dependability is now more important than ever. 

One way to achieve this is by employing uptime and downtime monitoring tools. This guide will examine the best ways to get alerts when something goes wrong and your website falters.

Why Is Website Uptime Monitoring Important?

Downtime is bound to occur occasionally. Nonetheless, the goal is to minimize it. The longer the downtime occurs, the more traffic and potential clients you lose. A dysfunctional website is also detrimental to your credibility and reputation. People may associate your website’s unreliability with your real-world products or services.

With web developers charging an average of $200 per hour, high-quality websites can be expensive to build and maintain. Nevertheless, it’s often worth the investment. However, an unreliable website can backfire on you. Instead of attracting more customers, it could potentially repel them. This can result in lost revenue.

An uptime monitoring solution can help you prevent or reduce these losses. It verifies if your website is up and functional and notifies you if it’s not. This allows you to troubleshoot the issue and get your website back up and running as soon as you’re alerted. The most common issues behind your website’s downtime include: 

  • Server faults;
  • Network outages;
  • Power outage;
  • Traffic spikes;
  • Cyberattacks;
  • Domain name issues;
  • An erroneous web application deployment;
  • Increased server loads;
  • DNS Resolve issues;
  • Human error.

Thus, you must employ a dependable tool that detects downtime or any interruptions related to your website as soon as they occur. They are must-have tools for web designers, developers, and network administrators. However, not all of them are built the same. So how do you identify the best uptime monitoring tools?

Essential Features of Uptime Monitoring Tools

Uptime monitoring tools typically detect interruptions by running network tests such as pings and trace routes. You could practically monitor your website’s uptime by constantly running these tests yourself. 

However, this isn’t an efficient way to monitor your website’s uptime. A comprehensive uptime monitoring tool will automatically monitor your website’s uptime in the background. It will then alert you through various channels as soon as it senses that your website may be down. 

Furthermore, high-quality uptime monitoring solutions tend to offer additional information regarding your website’s uptime/downtime and its performance. These tools commonly feature dashboards, status pages, badges, exportable records, etc., to help you keep track of your site’s overall health.

9 Best Features of an Uptime Monitoring Solution

The ideal uptime monitoring tool or service should feature: 

  1. Website security features that notify of and repel potential cyber attacks;
  2. 24/7 uninterrupted background website monitoring;
  3. Multi-channel alerts (email, SMS, push notifications, instant messages, social media, etc.);
  4. Report generation;
  5. 24/7 customer support available through different channels (email, phone, chat, etc.);
  6. Be capable of monitoring multiple websites and proxies at the same time;
  7. Offer insights and suggestions to improve your website’s performance;
  8. Be affordable;
  9. High customizability should allow you to choose which features to enable and disable.

Another optional feature to look out for is public status pages that your clients can access to determine if all your services are up and running. GetWeave is an excellent example of this. The website features a well-organized systems status page where customers can check if all of Weave’s services are functional. 

Nevertheless, you can use the above information as a buying guide when assessing potential uptime monitoring tools. The rest of this guide will supply a few suggestions as to which tools you should use for your website.

3 Best Website Uptime Monitoring Tools 

Some of the best uptime monitoring tools for website downtime alerts include:

1. Uptrends

Uptrends isn’t just a downtime detection tool; it’s a complete web performance monitoring solution. It will notify you as soon as it detects any disturbance in your website’s performance. It features highly customizable checks. For instance, you can set performance check limits for load times. Uptrends will notify you instantly if your website takes too long to load.

You can also configure from which locations you want it to monitor your website. Uptrends will then point you to where your website usually suffers performance dips in the real world. 

The service uses multiple communication channels to send users notifications: email, phone calls, and SMS. Alternatively, you can download one of Uptrend’s mobile applications and receive push notifications. Additionally, you can integrate Uptrends with messaging and communication applications such as PagerDuty, Slack, and Microsoft Teams.   

Another impressive Uptrend feature is its ability to emulate your website’s performance on different browsers. It runs Google Chrome, Mozilla Firefox, and Microsoft Edge on its servers. Thus, you can compare how your website runs on these web browsers without installing them on your servers or computer. 

Uptrends supplies users with various charts, reports, and graphs to help identify sudden spikes or dips. Waterfall reports display the complete page-load from the initial request to the last download. This allows you to compare the history of your website’s performance element by element. It comes with three price plans whose costs depend on the number of monitors you would like. Starting at $16.21 (at the time of writing) the Starter Plan is the most affordable.

2. Oh Dear

Oh Dear is a slightly cheaper option than Uptrends, with the most affordable plan starting at $12 per month (at the time of writing). However, while Uptrends offers a 30-day free trial, Oh Dear only provides a 12-day trial period. Nevertheless, Oh Dear’s interface is a lot cleaner and more minimal. 

Since Oh Dear runs servers in different locations across the globe, it can track how your website performs in various regions. Oh Dear will scan through your website and index all the pages. If it detects any issues, it will alert you immediately. 

Oh Dear also features a continuous certificate monitoring function. Site owners who are concerned with their website’s security may find this feature to be especially useful. It will verify your SSL certificate expiration dates and alert you of any changes.  

Oh Dear’s public status page enables your clients to keep track of your website’s availability.

Oh Dear uses email and SMS text messages to alert site owners of any issues. It also features integrations with communications and social media applications such as Telegram, Discord, Slack, Microsoft Teams, etc. Oh Dear ensures that messages are as detailed and user-friendly. This makes it easier to troubleshoot and find the origin of your problem. Oh Dear is more than a worthy alternative to Uptrends. 

3. WP Umbrella

WP Umbrella is a little different from the previous entries. It’s intended to help users manage and monitor multiple WordPress sites. Thus, it is far more particularized in its approach to website uptime monitoring. Again, as is the primary function of the uptime monitoring tool, it offers a real-time alert system that will contact you through email, SMS, Slack, etc. 

WP Umbrella employs a simple minimal UI. Its main screen consists of a dashboard that allows you to view all your WordPress websites. By default, this dashboard features four columns: Site, Uptime, Speed, and Issues.

WP Umbrella will alert you of any outdated or erroneous plugins or themes. While it doesn’t offer dedicated public status pages, it does have a client report generation feature. You can automatically send these reports to your various subscribers or clients when your website is down. 

WP Umbrella is the most affordable option on this list. Users are charged $1.99 per month (at the time of writing) for each website monitored. In addition, WP Umbrella offers a 14-day trial and does not require your credit card details. It’s an excellent option for anyone running a WordPress website or two.

Conclusion

This guide has only explored three possible uptime monitoring solutions. They won’t only assist you in detecting downtimes, they can also help you find the reason your site may be slow.

These solutions are an excellent place to start. But there are many other options coming to market all the time. You may find that this is the first step to converting more leads and reducing your bounce rate. 

Source

The post 3 Best Website Uptime Monitoring Tools  first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

Websites haven’t always been as adaptable as they are today. For modern designers, “responsivity” is one of the most significant defining factors of a good design. After all, we’re now catering to a host of users who frequently jump between mobile and desktop devices with varying screen sizes. 

However, the shift to responsive design didn’t happen overnight. For years, we’ve been tweaking the concept of “responsive web design” to eventually reach the stage we’re at today. 

Today, we’re going to take a closer look at the history of responsive web design.

Where Did Web Design Begin?

When the first websites were initially created, no one was worried about responsivity across a range of screens. All sites were designed to fit the same templates, and developers didn’t spend a lot of time on concepts like design, layout, and typography.  

Even when the wider adoption of CSS technology began, most developers didn’t have to worry much about adapting content to different screen sizes. However, they still found a few ways to work with different monitor and browser sizes.

Liquid Layouts

The main two layout options available to developers in the early days were fixed-width, or liquid layout. 

With fixed-width layouts, the design was more likely to break if your monitor wasn’t the exact same resolution as the one the site was designed on. You can see an example here

Alternatively, liquid layouts, coined by Glenn Davis, were considered one of the first revolutionary examples of responsive web design. 

Liquid layouts could adapt to different monitor resolutions and browser sizes. However, content could also overflow, and text would frequently break on smaller screens. 

Resolution-Dependent Layouts

In 2004, a blog post by Cameron Adams introduced a new method of using JavaScript to swap out stylesheets based on a browser window size. This technique became known as “resolution-dependent layouts”. Even though they required more work from developers, resolution-dependent layouts allowed for more fine-grained control over the site’s design. 

The resolution-dependent layout basically functioned as an early version of CSS breakpoints, before they were a thing. The downside was developers had to create different stylesheets for each target resolution and ensure JavaScript worked across all browsers.

With so many browsers to consider at the time, jQuery became increasingly popular as a way to abstract the differences between browser options away.

The Rise of Mobile Subdomains

The introduction of concepts like resolution-dependent designs was happening at about the same time when many mobile devices were becoming more internet-enabled. Companies were creating browsers for their smartphones, and developers suddenly needed to account for these too.

Though mobile subdomains aimed to offer users the exact same functions they’d get from a desktop site on a smartphone, they were entirely separate applications. 

Having a mobile subdomain, though complex, did have some benefits, such as allowing developers to specifically target SEO to mobile devices, and drive more traffic to mobile site variations. However, at the same time, developers then needed to manage two variations of the same website.

Back at the time when Apple had only just introduced its first iPad, countless web designers were still reliant on this old-fashioned and clunky strategy for enabling access to a website on every device. In the late 2000s, developers were often reliant on a number of tricks to make mobile sites more accessible. For instance, even simple layouts used the max-width: 100% trick for flexible images.

Fortunately, everything began to change when Ethan Marcotte coined the term “Responsive Web Design” on A List Apart. This article drew attention to John Allsopp’s exploration of web design architectural principles, and paved the way for all-in-one websites, capable of performing just as well on any device. 

A New Age of Responsive Web Design

Marcotte’s article introduced three crucial components developers would need to consider when creating a responsive website: fluid grids, media queries, and flexible images. 

Fluid Grids

The concept of fluid grids introduced the idea that websites should be able to adopt a variety of flexible columns that grow or shrink depending on the current size of the screen. 

On mobile devices, this meant introducing one or two flexible content columns, while desktop devices could usually show more columns (due to greater space). 

Flexible Images

Flexible images introduced the idea that, like content, images should be able to grow or shrink alongside the fluid grid they’re located in. As mentioned above, previously, developers used something called the “max-width” trick to enable this. 

If you were holding an image in a container, then it could easily overflow, particularly if the container was responsive. However, if you set the “max-width” to 100%, the image just resizes with its parent container. 

Media Queries

The idea of “media queries” referred to the CSS media queries, introduced in 2010 but not widely adopted until officially released as a W3 recommendation 2 years later. Media queries are essentially CSS rules triggered based on options like media type (print, screen, etc), and media features (height, width, etc). 

Though they were simpler at the time, these queries allowed developers to essentially implement a simple kind of breakpoint – the kind of tools used in responsive design today.  Breakpoints refer to when websites change their layout or style based on the browser window or device width.

Viewport Meta tags need to be used in most cases to ensure media queries work in the way today’s developers expect. 

The Rise of Mobile-First Design

Since Marcotte’s introduction of Responsive Web Design, developers have been working on new ways to implement the idea as effectively as possible. Most developers now split into two categories, based on whether they consider the needs of the desktop device user first, or the needs of the mobile device user. The trend is increasingly accelerating towards the latter. 

When designing a website from scratch in an age of mobile-first browsing, most developers believe that mobile-first is the best option. Mobile designs are often much simpler, and more minimalist, which matches a lot of the trends of current web design.

Taking the mobile first route means assessing the needs of the website from a mobile perspective first. You’d write your styles normally, using breakpoints once you start creating desktop and tablet layouts. Alternatively, if you took the desktop-first approach, you would need to constantly adapt it to smaller devices with your breakpoint choices.

Exploring the Future of Responsive Web Design

Responsive web design still isn’t perfect. There are countless sites out there that still fail to deliver the same incredible experience across all devices. What’s more, new challenges continue to emerge all the time, like figuring out how to design for new devices like AR headsets and smartwatches. 

However, it’s fair to say we’ve come a long way since the early days of web design. 

 

Featured image via Pexels.

Source

The post A Brief History of Responsive Web Design first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

The term “web design” refers to the process of planning, organizing, and editing content online. On the surface, it seems like a simple enough concept. However, the reality is what we consider “web design” can change over time, influenced by our perception of the “web.” 

In 2022, a professional web designer might create custom websites from scratch, but they may also be responsible for: 

  • UX Design: Creating elements focused on user experience
  • App design: Building digital components of a website or online experience.
  • Theme design: Creating visual tools for supplementing web design. 

Web design isn’t just about making a site look attractive anymore. The definition goes beyond the aesthetic to include a complete consideration of the functionality, performance, and abilities of countless assets we engage within the digital world.

What is Web Design? The Definition Today

Web design is the practice responsible for creating a website’s overall look and feel or web asset (such as web and mobile apps). It involves the process of planning and building elements of your project, from structure and layout choices to graphics and presentation. 

Web design has various components that work together to create the final “experience” of a website, including graphic design, interface design, user experience design, search engine optimization, content creation, etc. These elements determine how a web asset looks, feels and performs on various devices. 

Though the definition of web design in 2022 has evolved, it’s still different from web development, which refers to the actual coding which makes a website work. When you’re building a website, you’ll need web design and web development. 

Elements of Web Design in 2022 

When designing a website, modern designers need to consider two overlapping concepts: the overall appearance of the website and its functionality. The proper connection between these elements will maximize the site’s overall performance and usability, and make a design more memorable (for all of the right reasons). 

Let’s break down the elements of web design into its visual and functional components.

Visual Elements of Web Design

Visual elements of web design influence how a design looks. The various visual components of a design should still follow the basic principles of graphic design. In other words, designers should be thinking about contrast, balance, unity, and alignment simultaneously. The visual elements of web design include: 

  • Written copy and fonts: A website’s appearance and the text on the site often go hand in hand. Designers need to work together with content writers to ensure written copy makes sense structurally and uses the correct fonts for legibility. 
  • Colors: Colors for web design are usually chosen based on factors like color psychology, which demonstrates a color’s ability to affect how someone feels, and branding. Most brands have specific colors they use consistently throughout their visual assets; this helps create a sense of cohesion and unity in designs.
  • Layout and spacing: Layout and spacing influence how content is arranged in an app, website, or another visual asset. The right layout helps to create a visual hierarchy, guiding a viewer through a page and drawing their attention to the correct information in order. Spacing helps to separate components on a page and create legibility. 
  • Images, icons, and shapes: Images, icons, and shapes help convey significant amounts of information. The right ideas and icons can strengthen a brand message, direct a customer’s attention using a web app, and bring context to a design. 
  • Videos and animations: Videos and animations are becoming increasingly common in today’s web design strategies. Videos can include 360-degree videos, which help immerse someone in a space, video streams, and short content clips.

Functional Elements of Web Design

Functional elements in web design are the practical components designers need to consider to ensure websites and assets work as they’re supposed to. A website, app, or any other web asset needs to function correctly to be accessible to users.

Functional elements of web design may include:

  • Navigation: The navigation elements of a website or app are among the main components determining whether a site is functioning properly and ensuring a good user experience. Audiences need to be able to move around the app or website quickly. 
  • User interactions: Your site visitors may have multiple ways of communicating with your web app or website, depending on their device. You’ll need to make sure people can scroll and swipe on smartphones and tablets and click on desktops. If your website has VR or AR elements, you’ll also need to consider these immersive components in your design.
  • Speed and performance: While web development elements can also influence a web design’s speed or performance, it’s also essential for a designer to show elements of the composition don’t weigh down the functionality. Designs need to load quickly and correspond with the demands of browsers on various devices.
  • Structure: A website’s structure plays a critical role in user experience and SEO requirements. Users need to easily navigate through a website without encountering any issues like getting lost or ending up on broken pages.
  • Compatibility: A good design should look perfect on all devices, from a wide range of browsers to the various devices users might leverage today. 

What Does Good Web Design Look Like in 2022?

More than ever, achieving high-quality web design is crucial to success in any industry or landscape. More than half of the world’s population is active online. If you’re not appealing to this audience correctly, you’re missing out on endless opportunities.

Notably, while elements of good web design can be subjective, such as which themes or colors someone might prefer for their website, the underlying foundations of strong web design are the same for everyone in 2022.  

Good web design is any design that looks good, performs as it should, and delivers the best possible experience to your target audience. Effective web design should include components like:

  • Effective use of white space for organization and structure.
  • Clearly presented choices and navigation options for the user.
  • Clear calls to action to drive user activities from one page to another.
  • Limited distractions and a straightforward user journey. 
  • No clutter or unnecessary components irrelevant to the needs of the user. 
  • Responsive, flexible design accessible on any browser or device.
  • High-quality content and images are designed to hook a reader’s attention.
  • Appropriately sized fonts and legible typography.
  • A good balance between images and text on a page. 

Other elements like eye-catching imagery and professional photography can help your web design stand out. Using the right building blocks, like a strong color palette and the right shapes or icons in your design is helpful. 

Of course, there is some scope for variation in good web design. A web designer in 2022 needs to be able to adapt their use of the various essential elements of design to suit a specific target audience or the unique identity of a brand.

What Doesn’t Work for Web Design in 2022?

Just as web design elements seem to appear consistently in all excellent examples, there are also parts of web design we’ve left behind over the years. Simpler, more straightforward designs have replaced cluttered spaces, flashing images, and endless animations. 

The focus in 2022 is on creating an experience that’s simple, engaging, and intuitive, capable of speaking to the right audience without confusion or being visually overwhelming. In most cases, some of the top components to avoid include:

  • Clunky performance: Non-responsive website design, slow pages, and other examples of clunky functionality are a no-go in 2022. Websites need to be quick and responsive.
  • Distracting content: Flashing images, animations, and complex backgrounds are a thing of the past for a good reason. Websites today need to be clean, simple, and clear. Any elements which don’t add to the value of the design should be removed.
  • Generic content: Filler text, irrelevant stock photos, unclear buttons, and links can be removed from today’s website designs. A web design should be specific to the audience’s needs and the brand’s identity. Generic components don’t work.

Creating Web Designs in 2022

Today, the underlying definition of web design has a lot of similarities to the definition we’ve known for several years already. Creating a great website or web asset still requires focusing on user experience, aesthetic appeal, and functionality. However, today’s web designers generally have more components and different devices. 

Web design in 2022 is about creating high-quality experiences for customers that can support various environments and devices. The best web designs are aesthetically appealing, functionally reliable, and capable of adhering to the latest trends in web creation, like augmented reality, 360-degree video, and ultra-high resolution. 

 

Featured image via Pexels.

Source

The post What Even Is Web Design in 2022? first appeared on Webdesigner Depot.

Source de l’article sur Webdesignerdepot

Scraping websites built for modern browsers is far more challenging than it was a decade ago. jsoup is a convenient API that makes scraping websites trivial via DOM traversal, CSS Selectors, JQuery-Like methods, and more. But it isn’t without its caveat. Every scraping API is a ticking time bomb.

Real-world HTML is flaky. It changes without notice since it isn’t a documented API. When our Java program fails in scraping, we’re suddenly stuck with a ticking time bomb. In some cases, this is a simple issue that we can reproduce locally and deploy. But some nuanced changes in the DOM tree might be harder to observe in a local test case. In those cases, we need to understand the problem in the parse tree before pushing an update. Otherwise, we might have a broken product in production.

Source de l’article sur DZONE


Introduction

The Internet is inevitable in the current time. It is everywhere, and the entire world depends on it to function, perform day-to-day activities and stay connected with people from different corners. Gone are the days when testers only chose to create websites for selected browsers and hardly faced issues maintaining a website on a few browsers. As the technology matured, many significant players entered the browser market. Even the users evolved, became tech-savvy, and improved their browsing habits. Now was a time when businesses were in critical need of cross-browser testing and responsive testing to stay ahead of the competition. Cross-browser testing focuses on the website’s overall functionality; responsive web testing verifies the look and feel of the web application. Cross-browser testing deals with the analysis of the web browsers that their users use, and responsive testing deals with the devices where the company’s user base visits the websites. Let us shed some light and understand cross-browser and responsive testing in detail.

What Is Cross Browser Testing?

We all know that testing cross-browser compatibility of websites « is of utmost importance. It helps understand how stable your web application is across various technologies, browsers, operating systems, and devices. The adoption of cross-browser testing is to provide a better user experience irrespective of which browser-OS-device combination your users use to access your website. In cross-browser testing, the testers generally validate the web application’s functionality and ensure its user-friendliness and performance are up to the mark across the web browsers. Businesses can also take the help of cloud-based automated cross-browser testing tools to have access to a wide range of real devices to test their web and mobile applications. Different browser engines render websites differently; even the version of each browser causes the code uniquely. It means the code behind the websites is read differently by every browser. So, various cross-browser testing strategies are critical for website accessibility. It is how different browsers render a web page:

Source de l’article sur DZONE