#Moves Everything to DevTools
Explore tagged Tumblr posts
gromyb · 22 days ago
Text
In a innovative shift for web performance monitoring, Google retires Web Vitals Extension and integrates its features directly into Chrome DevTools. This update bring into line with Google's latest SEO updates and highlights the importance of Core Web Vitals in optimizing user experience and search rankings.
1 note · View note
bhavanasshyam · 3 months ago
Text
Mobile-First Indexing: A Step-by-Step Guide to Optimizing Your Site
Hey there, fellow website owners! As a digital marketing expert in Alappuzha, I've seen countless businesses struggle with mobile optimization. But don't worry if this sounds overwhelming – I'm here to walk you through everything you need to know.
What's Mobile-First Indexing, Anyway?
Think of Google as a librarian who needs to catalog your website. Previously, they'd look at your desktop version first. Now? They're checking out your mobile version to decide how to rank your site. It's that simple!
Why Should You Care?
Here's the deal: if your mobile site isn't up to snuff, you might be losing valuable traffic. Consider these stats:
Over 60% of Google searches come from mobile devices
Users spend an average of 3 hours per day on their phones
Mobile commerce is growing faster than ever
Your Step-by-Step Guide to Mobile Optimization
1. Test Your Mobile-Friendliness
First things first – let's see where you stand:
Use Google's Mobile-Friendly Test tool
Check your site on different devices
Ask friends to browse your site on their phones and provide feedback
2. Speed Up Your Mobile Site
Nobody likes waiting! Here's how to pick up the pace:
Compress your images (but keep them crisp!)
Minimize code (CSS, JavaScript, HTML)
Enable browser caching
Consider using AMP (Accelerated Mobile Pages)
3. Nail Your Content Strategy
Your content needs to work perfectly on smaller screens:
Use shorter paragraphs (2-3 sentences max)
Break up text with subheadings
Make sure fonts are readable (16px minimum)
Keep important information above the fold
4. Perfect Your Design
Mobile design isn't just about shrinking everything down:
Ensure buttons are large enough to tap (minimum 44x44 pixels)
Space out links to prevent accidental clicks
Make your menu easy to navigate
Use responsive images that adapt to screen size
Keep forms short and sweet
5. Technical Must-Dos
Let's get a bit technical (but I'll keep it simple):
Use the same meta robot tags on mobile and desktop
Keep your structured data consistent across versions
Make sure your mobile site can handle Googlebot
Verify both versions in Google Search Console
Common Mobile-First Mistakes to Avoid
Blocking Resources: Don't hide your CSS, JavaScript, or images from Google
Different Content: Your mobile site should have the same important content as desktop
Slow Loading: If it takes more than 3 seconds to load, you're losing visitors
Tiny Text: No one wants to squint at their phone
Unplayable Content: Make sure videos work on mobile devices
Tools to Help You Succeed
Make your life easier with these tools:
Google Search Console (free and essential!)
PageSpeed Insights
Mobile-Friendly Test
Chrome DevTools
GTmetrix
Moving Forward
Remember, mobile optimization isn't a one-and-done deal. It's an ongoing process that requires regular checking and updating. Set a reminder to review your mobile performance monthly and stay ahead of the curve.
Quick Action Items:
Run a mobile-friendly test today
Check your site's loading speed
Review your content on various devices
Update any outdated design elements
Monitor your mobile performance regularly
Final Thoughts
Mobile-first indexing isn't just another tech buzzword – it's the reality of how people use the internet today. By following these steps and regularly maintaining your mobile site, you're not just making Google happy; you're creating a better experience for your actual users.
Remember: A mobile-optimized site isn't a luxury anymore; it's a necessity. As your digital marketing expert in Alappuzha, I encourage you to start implementing these changes today, and watch your site's performance improve!
Need help getting started? Drop me a comment below, and let's talk about your mobile optimization journey!
0 notes
saltedsour · 4 months ago
Text
HANK!! HAAAANK! Well, @twisting-roads actually. the reason why you cant find them in the ingame files r because they're props! They're in the rain world level editor, and that is the file they use for it. Props (like tiles) aren't put into the actual game files because the game never re-renders rooms, they're baked into the level's png (also why there's no clean moving screens with Working Parallax... they're pictures!)
However, you can find the files for the background in five pebbles' roof (and metropolis' background but that just uses most of the roof code anyways (same with moons code its all just the roof code edited)) since it's dynamic and made with code! It changes with lots of little values :3 the same values that change the intensity of the background cloud effect near the wall btw! just how high up u are
As a level editor (and code modder (and music modder (and art modder))) i interact with props all the time. Every time a cabinet is made, the editor (james most likely) manually adds the cabinet beast as a prop underneath.
The "heatmap" here is what props use to dictate Depth (basically the prop's Alpha value) the darkness of the pngs the room files use. It's what makes the faux 3d. The lower layer is the colour that it adds onto that area (rain world tiles / props naturally have no colour, and depth is what causes things to look different! the red/green/blue in tiles just tells the palette if the pixel is lit, neutral or shaded)
Tumblr media
Here's what the cabinet beasts look like when you very choppily turn the black in the "heatmap" into something that darkens the beasts. Closer to the in-game look! Although not quite, since rain world of course slightly works palettes into everything, even props with custom colours.
What did we learn?
Props are manually added. You put the beast in the cabinet yourself! You can also scale it on both the X and Y axis to your liking.
The prop files are not in the rain world game's files, but rather the level editor! Same with virtually everything used in the actual rooms itself.
Props aren't background elements, but baked into the very image room files use for each screen!
You can also just change the room's palette via devtools to see the beast in a new (literal) light. I'd render it without a cabinet obscuring it but i dont have my puter rn.
I was playing Rain World on my PC yesterday and I went through the Memory Crypts for the first time, and oh my god I had no idea how meaty the cabinet beasts were. I’d only seen them in the Switch version of the game before, I guess they’re not rendered correctly on the Switch?? That or my brightness was turned down too low for me to see them. But oh my god. There’s just meat in there.
229 notes · View notes
bananashare · 2 years ago
Text
Change selected text color in google chrome
Tumblr media
CHANGE SELECTED TEXT COLOR IN GOOGLE CHROME HOW TO
CHANGE SELECTED TEXT COLOR IN GOOGLE CHROME PLUS
Right-click Magritte below and select Inspect. Scroll into view lets you quickly reposition the viewport so that you can see the node. For example, suppose that you scrolled to the bottom of the page, and you're interested in the node at the top of the page. When viewing the DOM Tree, sometimes you'll find yourself interested in a DOM node that's not currently in the viewport. Press the Down arrow key 2 times so that you've re-selected the list that you just collapsed. In this case it's the node containing the instructions for step 1. Right-click Ringo below and select Inspect. Once you've selected a node in the DOM Tree, you can navigate the DOM Tree with your keyboard. See Get Started With Viewing And Changing CSS. Inspecting a node is also the first step towards viewing and changing a node's styles. Now, Tokyo is highlighted in the DOM Tree. Michelangelo is highlighted in the DOM Tree.Ĭlick the Inspect icon in the top-left corner of DevTools. Raphael The Elements panel of DevTools opens.Right-click Michelangelo below and select Inspect. When you're interested in a particular DOM node, Inspect is a fast way to open DevTools and investigate that node. The DOM Tree of the Elements panel is where you do all DOM-related activities in DevTools. See Appendix: HTML versus the DOM for an explanation. This tutorial assumes that you know the difference between the DOM and HTML. As you do so the text will either increase or decrease depending on which way you move your wheel.Īnother much simpler way to do this is by clicking the wrench icon on the chrome’s toolbar, beside the Zoom option, click + to zoom the page or click – to make everything smaller.Complete these interactive tutorials to learn the basics of viewing and changing a page's DOM using Chrome DevTools. To do so, hold down the CTRL key and spin the wheel of your wheel mouse up and down. If you don’t like to press your keyboard, you can use your mouse for zooming too.
CHANGE SELECTED TEXT COLOR IN GOOGLE CHROME PLUS
In order to change the font size in Google Chrome this way by zooming until the it is big enough to meet your comfort zone, hold CTRL + press the plus sign (+) or the negative sign (-) to toggle the zooming. By zooming, we meant to zoom not just the font, but also the rest of the websites including their images, alignment, etc. The only way left is to force zoom the entire websites. If the above method didn’t work for you, it’s most likely means that the website does not use the proper font designs and their font size are all hard-coded, which means you can’t change it from a third party program like Google chrome. How to Change Font Size in Chrome address bar such as Facebook
After you have done reading what you need, come back here to change the font settings back to its default.
From there, you can change the default font settings and increase the font size in Google Chrome.
Scroll down until you see the Web Content section, click Change fonts and language settings button to open the “Fonts and Languages” dialog.
Click the wrench icon on the chrome’s toolbar.
How to Increase Font Size in Chrome Browser by default: You should try the first one first, and only proceed to the second method if the first doesn’t work for that particular website. There are two ways to change or increase the font size in Google Chrome.
CHANGE SELECTED TEXT COLOR IN GOOGLE CHROME HOW TO
Related posts: How to Increase Font Size in Internet Explorer | How to Increase Font Size in Mozilla Firefox. So, be sure to restore the change of font size in Google Chrome back to default after you’ve done reading what you need. Some buttons may go missing or get pushed down so far that you can no longer reach it. Most websites may not be ready for extremely large fonts and if you’re increasing the font size, you may see some distortions or misalignment on the webpage’s designs. By changing the font size in Google Chrome, the changes in font size of that particular webpage can only be seen by you.
Tumblr media
0 notes
Text
Everything you Want to Know About Web Development
Tumblr media
Technology plays a massive part in our daily lives, from the most basic of apps to the most groundbreaking innovations. Web developers have created every web page or website we see. But what exactly is web development, and what is a web developer's job?
This field may appear to be complicated, confusing, and it's an inaccessible field in some ways. So, to provide insights into this fascinating industry, we've put together an essential overview of Web development and the various steps you need to take to become an expert web developer. Best website development usa
This article will discuss the fundamentals of web development and will outline the essential abilities and tools you'll need to succeed in this field. Before you embark on the field of Web Development, read through the article to find out whether web development is the right choice for you. Once you have decided, begin to learn the fundamental techniques. Website Development Services in USA
What is Web Development
Web design is developing websites and apps for the web or private networks. Web development does not care about the appearance and layout of websites; instead, it's focused on the programming and coding that manages the website's functionality. web development company in usa
From the most straightforward, static web pages to applications and platforms for social media that range from websites for e-commerce to Content management systems (CMS), Web developers have designed all the tools we use through the internet.
Front-end Vs. Back-end development
Web Development is generally classified into Back-end development and Front-end development. Therefore, if you're planning to try a career path with web-based development, you must be aware of the meanings of both terms.
Front-end developers
Front-end developers create what clients can see, and it refers to the user interface. The front-end is developed by blending various technologies, including Hypertext Markup Language (HTML), JavaScript, and Cascading Style Sheets (CSS). Front-end developers develop components that provide user experience in the site's or application, such as menus, dropdowns, buttons pages, connections procedures, and more. A full-stack developer can design and develop both the front-end and the behind-end components of an app.
Back-end development
While back-end developers create the infrastructure that supports it, the "back-end" signifies the server and the application and database working behind the scenes to transmit the information to the user. The back-end, also known as the server-side, comprises the server that provides data upon request, the application that handles it, and the database that organizes the information.
There are three choices from a professional aspect for web design. You can begin the journey as a front-end designer or back-end developer, or you could learn both and ultimately become fully-stack developers.
Once you've figured out the job outlook for web developers, we can look to the specific skills you'll have to master before you can embark on this exciting career. Then, start seeking out web development companies.
Skills Required for Web Development
Making a thousand lines of code and turning it into an online website is one of the most creative and complex tasks for websites developers if you are enthralled by appealing websites and want to explore web development. Anyone can become a web developer. There is no need to get an expensive education in software engineering to learn the necessary skills. 
HTML
HTML is for Hypertext Markup Language. It's among the principal elements of a site. As it is a front-end programming language, it is the site's foundation, primarily using tags.
CSS
CSS is Cascading Style Sheets. It defines the style behind the HTML structure and gives life to the look of websites. Without CSS, the page could look flat. 
JavaScript
JavaScript lets you add and include various elements into the pages of your website. Features such as interactive maps, 3D/2D graphics are attached to websites through JavaScript.
Application Programming Interface (API)
When developing websites, it is necessary to work extensively using APIs, which manage data from third parties. APIs allow web developers to make use of certain features without sharing code.
Authentication
There is a chance that you'll be in charge of user authentication to monitor users of a particular website. This could include allowing customers to log in and out, or log out or take specific actions through their accounts, or blocking a couple of pages for those that aren't registered.
The user's login security is intensely dependent on authentication. Therefore, it is essential to understand how to handle this function within your web application.
Back-end and Databases
After you have mastered the front-end, you have to move on and ensure that you know what is happening in the back-end. This is where the magic happens, and it is also where the entire information is kept.
Data is saved, altered, and then retrieved from databases. At present, we often utilize cloud-based frameworks such as Azure and AWS to manage the database. What you must know is the best way to handle the data in the database.
To do this, you'll need to know SQL (Structured SQL Query Language) and NoSQL (used for MongoDB and Firebase).
Generating Tests
Many developers view this process to be ineffective. If you are developing a small application, you may not need to create tests. However, suppose you're making an extensive application. It is advised to write tests and test cases as it will assist make the entire process more robust and, consequently, debugging is more accessible.
At first, you may be tempted to think you're inefficient, but afterward, you'll realize that it saves your time.In addition, there are additional abilities that are also needed:
The desire to continuously develop new skills and learn to improve
Keep up to date on the latest developments in the industry
Time management
Understanding UX
Multitasking
Web Development tools that you need to be aware of
The process of building a website that receives lots of attention isn't only about learning new programming languages. It would help if you were acquainted with specific web development tools that can aid you in full-stack website development.
We will go over some critical web development tools you should learn about as a web developer.
Git
Git is perhaps the most well-known framework for managing versions that many companies employ. There is a good chance that you will require working on this kind of version control when you begin your career as a web developer.
GitHub
GitHub is a platform for service which allows you to publish to Git repositories for hosting your codes. It is mainly used for collaborations, which allows developers to collaborate on projects.
Code Editor
If you are building a website, the most rudimentary web development tool you'll employ will be your editor for code or the IDE (Integrated Development Environment). This tool lets you write the markup and the code that will be used to build the website.
There are numerous options available. However, the most well-known code editor has to be VS Code. VS Code is a more light version from Visual Studio, Microsoft's primary IDE. It's quick, easy to use, and you can modify it with the themes you choose and add extensions.
Other editors for code include Atom, Sublime Text, and Vim. If you're starting, I suggest you look into VS Code, which you can download from their official website.
Browser DevTools
There are many things with browser DevTools such as troubleshooting editing HTML tags editing CSS properties, troubleshooting JavaScript issues, and others. Every web developer should be aware of the various tabs within DevTools to simplify their work and make it more efficient.
Based on the browser you are using You can choose to use any of the DevTools, including Chrome DevTools or Firefox DevTools or whatever browser you're using. Most people use Chrome DevTools to build, test, debug, and build an application on the web. However, it's dependent on the developer and the browser they are using to create the site.
0 notes
mybreadlover · 5 years ago
Text
From office.com/setup Teams to Fluid Framework-here’s what’s new and coming soon to office.com/setup 365
From office.com/setup Teams to Fluid Framework-here’s what’s new and coming soon to office.com/setup 365
Tumblr media
It’s opening day for Build, and the first time we’re holding our annual developer conference entirely online. In this era of remote everything, technology is enabling us to keep providing experiences like Build even though we can’t meet in person. As CEO Satya Nadella put it recently, “We’ve seen two years’ of digital transformation in two months.” And as a company, we are so excited to translate what we’ve learned into new features and enhancements that help our customers stay productive and connected. At a moment when we’re all adapting to an evolving reality, these experiences are designed to enable you to keep work moving, no matter what.
A note to developers before we begin: Whether building your own apps or solutions that are designed to be used in office.com/setup Teams or Outlook, we have a whole host of new innovations for you. At Build this week, we’re announcing many new capabilities that you can use to make your apps more integrated, powerful, and intuitive. We’re also introducing new developers and management tools that make creating and discoverability even easier. Find out more about all of the opportunities for developers using the office.com/setup 365 platform announced at Build. Let’s get to it!
News from Build 2020
Today we announced new features and capabilities in office.com/setup Teams, Fluid Framework, Project Cortex, Outlook, and Edge and introduced the new office.com/setup Lists app. They represent the latest innovations in our ongoing effort to build tools that enable our customers to stay connected and productive from everywhere.
office.com/setup Teams
office.com/setup teams are the hub for teamwork combining meetings, calls, chat, and collaboration into a single tool that preserves context and keeps everyone up to speed.
Productivity
From customized templates to new tasking capabilities, we’re introducing fresh ways to stay productive in Teams.
Create teams quickly with customizable templates—When creating a new team, you’ll soon be able to pick from a variety of customizable templates. Choose from common business scenarios, like event management and crisis response, as well as industry-specific templates, like a hospital ward or bank branch. Each template comes with pre-defined channels, apps, and guidance. Admins will also be able to create new custom templates and templatize existing teams in their organization, allowing them to standardize team structures, surface relevant apps, and scale best practices. Templates in Teams will roll out in the next few months and appear automatically.
Tumblr media
Automation
We’re excited to announce an enhancement to the powerful platform that makes it easier to integrate and scale with office.com/setup Teams.
Easily create and manage chatbots in office.com/setup Teams—Integrating with Teams is also easier than ever: Just select the bot you want to use and then click Add to Teams. For additional convenience, Power Virtual Agents now supports single sign-on (SSO), so users will no longer have to reauthenticate when using Teams for the first time.
Tumblr media
office.com/setup Edge
This year at Build, we’re announcing several new capabilities in office.com/setup Edge that add customization options and improved tooling for web developers.
Quickly explore relevant Pinterest collections—Pinterest can now deliver suggestions at the bottom of your collection, making it easier to find additional similar content. Clicking on a suggestion will open a board of similar, trending Pins so you can quickly find and add ideas relevant to you. Collections will also soon support “Send to OneNote,” making it easy to export collections to OneNote pages.
Save time while searching—We’re also introducing a sidebar search so you can search for things without opening a new window or tab. And for those who use Microsoft Edge for both work and personal use, we’re excited to introduce Automatic Profile Switching, which will detect that the link you’re trying to open needs work credentials, and then switch you to your authenticated work profile.
Check out expanded developer options during preview—Because we love developers, we’re expanding the preview with new options for .NET and UWP (WinUI 3.0) development, enabling you to embed a Chromium-based Edge WebView in WinForms, WPF, and UWP/Win UI 3.0 applications. We’ve also added a 3D View in DevTools. Check out our documentation and getting started guide, or simply open Visual Studio and download the WebView2 package to get started.
office.com/setup Lists
office.com/setup Lists is your smart information tracking app across office.com/setup 365. With Lists, you can easily track data and information to stay updated on the latest status.
Track information with office.com/setup Lists—Now, you can create, share, and track data and information—like issue tracking and status reporting—directly within office.com/setup Teams, SharePoint, and the soon-to-be-released Lists mobile app. Lists are easy for anyone to create and customize with templates, color coding, If/Then workflows, and more. Learn more about office.com/setup Lists.
Tumblr media
At a time of unprecedented change, we are all rapidly adjusting to a new era of work. From software developers to healthcare workers, government first responders to multinational c-suites, everyone is finding new ways to stay productive and connected, whether they are working together or apart. The features and enhancements we announced today are all designed to support the incredible achievements of our customers around the world. We are committed to continuing to build the tools that keep the world’s work moving, through this crisis and beyond.
from WordPress https://quicksolvo939231001.wordpress.com/2020/06/22/from-office-com-setup-teams-to-fluid-framework-heres-whats-new-and-coming-soon-to-office-com-setup-365/
0 notes
t-baba · 5 years ago
Photo
Tumblr media
Bootstrap 5 Alpha arrives, Chrome experiments with (not) displaying URLs
#445 — June 17, 2020
Read on the Web
Frontend Focus
Tumblr media
Bootstrap 5 Alpha Released — It’s early days but the first useful glimpse of Bootstrap 5 is here, including a new logo. Bootstrap continues to be a very popular CSS framework, not least because it keeps taking useful steps forward. v5 drops jQuery, starts to use CSS custom properties (a.k.a. CSS variables), and has overhauled its form components and styling.
The Bootstrap Team
Google Confirms Experiment to Remove Full Address From URL Bar in Chrome — Folks from Google have already discussed how changing the way a URL is displayed could work. Now, one such test is live in Chrome Dev/Canary 85. The move has attracted a fair bit of criticism, but you can opt out.
Corbin Davenport
Redefining What’s Possible with Embedded Analytics — Built on a cloud-ready microservices architecture, Logi Composer features stunning visualizations, flexible self-service, high performance queries on big data, and smart connectivity to modern data sources. Get a free demo or trial today.
Logi Analytics sponsor
How The Most Popular Chrome Extensions Impact Browser Performance — Anything you add to a browser is going to have performance repercussions in terms of memory consumption, any JavaScript to be run, effects on page rendering, etc. These results demonstrate the costs pretty well but there’s one nice exception: the effect of ad blockers on ‘noisy’ pages!
DebugBear
Web Engine Diversity and Ecosystem Health — Over the past few years we’ve seen plenty of chatter around ‘browser engine diversity’. Here, Brian offers his “slightly tilted view of this” based instead on ‘the health of the ecosystem’, explaining why this may be a more valuable way to discuss these topics.
Brian Kardell
⚡️ Quick bits:
💥 We're finally here. Adobe has shared end of life plans for Flash. It will be gone from their site by the end of the year.
👋 Basecamp launced a new email service this week (Hey), and interestingly the UI is 100% HTML.
⚠️ Chrome 84 will organize console warnings in a new DevTools Issues tab.
📚 Last week I mentioned how the Internet Archive was facing legal action due to its ebooks program. This program will now be shuttered.
💻 Jobs
Senior Software Engineer — Save Lives & Make an Impact — We use Node/TS/React & ML to provide crisis support via SMS. Help us scale globally with a focus on privacy and security.
Crisis Text Line
Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.
Vettery
ℹ️ Interested in running a job listing in Frontend Focus? There's more info here.
📙 News, Tutorials & Opinion
Learn Z-Index Using a Visualization Tool — Ever been stumped as to why setting a z-index to 99999 didn’t solve your positioning issue? This interactive guide to using both Z-Index and Stacking Contexts may prove handy.
Thiru Manikandan
CSS Custom Properties Fail Without Fallback — Yup. Matthias shares how using supports() or a media-query can help deal with this quirk.
Matthias Ott
Unicode Support. What Does That Actually Mean? 😃 — This Hacker News thread goes into the weeds on this, and well….it’s complicated.
Ben E. C. Boyter
The History of Search Engines — This is an exhaustive look at the history of the search engine, covering everything from the DMOZ index to Duck Duck Go.
Carl Hendy
How Web Accessibility Works — A quick introduction to the inner workings of web accessibility.
Segun Ola
How I Fixed Accessibility On My Website and How You Can Fix Yours — Daniela shares the steps taken to fix certain accessibility issues (contrast, screen reader experience, alt tags) on her website.
Daniela Matos de Carvalho
Five Myths About Jamstack — There have been a growing number of posts criticizing Jamstack. Brian takes on some of the common misconceptions that often underly these critiques (via our Jamstack newsletter).
Brian Rinaldi
Flow Browser Passes The Acid Tests — The work-in-progress browser Flow has just reached a development milestone, passing all three Acid tests. Plenty of in-depth browser chat sprung up around this news over on HN.
Piers Wombwell
🔧 Code, Tools and Resources
Josh.js: A Library to Animate Content on Page Scroll — This effect feels a little overdone nowadays, but this library is small, efficient, and it feels performant to me too.
Al Mamun
PageWatch: Check Your Web Pages for Errors — This tool does a fairly basic check for things like broken links, broken images, spelling errors, and potential layout errors (e.g. something overflowing a container). Example test.
pagewatch
MongoDB Is Easy. Now Make It Powerful. Free Download for 30 Days — Using MongoDB Atlas? Studio 3T is the professional GUI and IDE that unlocks the power you need.
Studio 3T sponsor
Tumblr media
SVGuitar: Create SVG-Based Guitar Chord Charts — As simple as that, really :-)
Raphael Voellmy
Blush: Customizable Illustrations — The site allows you to mix, match, and customize a whole slew of different illustrations that you can download in PNG or SVG format (requires sign-up for large versions).
Blush Design
Postcards: HTML Email Template Builder with Drag & Drop — A free to start ‘no-code’ platform for building responsive HTML email templates. Uses a drag-and-drop UI and includes lots of pre-built components.
Designmodo
Web Font of the Week
Poppins
From the Indian Type Foundry — this is an 'internationalist take' on the geometric sans-serif typeface with support for both Latin and Devanagari writing systems. The glyphs sport a practical, monolinear look which works well in many settings.
Tumblr media
by via Frontend Focus https://ift.tt/2Y89WN5
0 notes
recruitmentdubai · 5 years ago
Text
Let’s Make One of Those Fancy Scrolling Animations Used on Apple Product Pages
Apple is well-known for the sleek animations on their product pages. For example, as you scroll down the page products may slide into view, MacBooks fold open and iPhones spin, all while showing off the hardware, demonstrating the software and telling interactive stories of how the products are used.
Just check out this video of the mobile web experience for the iPad Pro:
Source: Twitter
A lot of the effects that you see there aren’t created in just HTML and CSS. What then, you ask? Well, it can be a little hard to figure out. Even using the browser’s DevTools won’t always reveal the answer, as it often can’t see past a <canvas> element.
Let’s take an in-depth look at one of these effects to see how it’s made so you can recreate some of these magical effects in our own projects. Specifically, let’s replicate the AirPods Pro product page and the shifting light effect in the hero image.
The basic concept
The idea is to create an animation just like a sequence of images in rapid succession. You know, like a flip book! No complex WebGL scenes or advanced JavaScript libraries are needed.
By synchronizing each frame to the user’s scroll position, we can play the animation as the user scrolls down (or back up) the page.
Start with the markup and styles
The HTML and CSS for this effect is very easy as the magic happens inside the <canvas> element which we control with JavaScript by giving it an ID.
In CSS, we’ll give our document a height of 100vh and make our <body> 5⨉ taller than that to give ourselves the necessary scroll length to make this work. We’ll also match the background color of the document with the background color of our images.
The last thing we’ll do is position the <canvas>, center it, and limit the max-width and height so it does not exceed the dimensions of the viewport.
html {   height: 100vh; } 
 body {   background: #000;   height: 500vh; } 
 canvas {   position: fixed;   left: 50%;   top: 50%;   max-height: 100vh;   max-width: 100vw;   transform: translate(-50%, -50%); }
Right now, we are able to scroll down the page (even though the content does not exceed the viewport height) and our <canvas> stays at the top of the viewport. That’s all the HTML and CSS we need.
Let’s move on to loading the images.
Fetching the correct images
Since we’ll be working with an image sequence (again, like a flip book), we’ll assume the file names are numbered sequentially in ascending order (i.e. 0001.jpg, 0002.jpg, 0003.jpg, etc.) in the same directory.
We’ll write a function that returns the file path with the number of the image file we want, based off of the user’s scroll position.
const currentFrame = index => (   `https://www.apple.com/105/media/us/airpods-pro/2019/1299e2f5_9206_4470_b28e_08307a42f19b/anim/sequence/large/01-hero-lightpass/${index.toString().padStart(4, '0')}.jpg` )
Since the image number is an integer, we’ll need to turn it in to a string and use padStart(4, '0') to prepend zeros in front of our index until we reach four digits to match our file names. So, for example, passing 1 into this function will return 0001.
That gives us a way to handle image paths. Here’s the first image in the sequence drawn on the <canvas> element:
CodePen Embed Fallback
As you can see, the first image is on the page. At this point, it’s just a static file. What we want is to update it based on the user’s scroll position. And we don’t merely want to load one image file and then swap it out by loading another image file. We want to draw the images on the <canvas> and update the drawing with the next image in the sequence (but we’ll get to that in just a bit).
We already made the function to generate the image filepath based on the number we pass into it so what we need to do now is track the user’s scroll position and determine the corresponding image frame for that scroll position.
Connecting images to the user’s scroll progress
To know which number we need to pass (and thus which image to load) in the sequence, we need to calculate the user’s scroll progress. We’ll make an event listener to track that and handle some math to calculate which image to load.
We need to know:
Where scrolling starts and ends
The user’s scroll progress (i.e. a percentage of how far the user is down the page)
The image that corresponds to the user’s scroll progress
We’ll use scrollTop to get the vertical scroll position of the element, which in our case happens to be the top of the document. That will serve as the starting point value. We’ll get the end (or maximum) value by subtracting the window height from the document scroll height. From there, we’ll divide the scrollTop value by the maximum value the user can scroll down, which gives us the user’s scroll progress.
Then we need to turn that scroll progress into an index number that corresponds with the image numbering sequence for us to return the correct image for that position. We can do this by multiplying the progress number by the number of frames (images) we have. We’ll use Math.floor() to round that number down and wrap it in Math.min() with our maximum frame count so it never exceeds the total number of frames.
window.addEventListener('scroll', () => {     const scrollTop = html.scrollTop;   const maxScrollTop = html.scrollHeight - window.innerHeight;   const scrollFraction = scrollTop / maxScrollTop;   const frameIndex = Math.min(     frameCount - 1,     Math.floor(scrollFraction * frameCount)   ); });
Updating <canvas> with the correct image
We now know which image we need to draw as the user’s scroll progress changes. This is where the magic of  <canvas> comes into play. <canvas> has many cool features for building everything from games and animations to design mockup generators and everything in between!
One of those features is a method called requestAnimationFrame that works with the browser to update <canvas> in a way we couldn’t do if we were working with straight image files instead. This is why I went with a <canvas> approach instead of, say, an <img> element or a <div> with a background image.
requestAnimationFrame will match the browser refresh rate and enable hardware acceleration by using WebGL to render it using the device’s video card or integrated graphics. In other words, we’ll get super smooth transitions between frames — no image flashes!
Let’s call this function in our scroll event listener to swap images as the user scrolls up or down the page. requestAnimationFrame takes a callback argument, so we’ll pass a function that will update the image source and draw the new image on the <canvas>:
requestAnimationFrame(() => updateImage(frameIndex + 1))
We’re bumping up the frameIndex by 1 because, while the image sequence starts at 0001.jpg, our scroll progress calculation starts actually starts at 0. This ensures that the two values are always aligned.
The callback function we pass to update the image looks like this:
const updateImage = index => { img.src = currentFrame(index); context.drawImage(img, 0, 0); }
We pass the frameIndex into the function. That sets the image source with the next image in the sequence, which is drawn on our <canvas> element.
Even better with image preloading
We’re technically done at this point. But, come on, we can do better! For example, scrolling quickly results in a little lag between image frames. That’s because every new image sends off a new network request, requiring a new download.
We should try preloading the images new network requests. That way, each frame is already downloaded, making the transitions that much faster, and the animation that much smoother!
All we’ve gotta do is loop through the entire sequence of images and load ‘em up:
const frameCount = 148; 
 const preloadImages = () => {   for (let i = 1; i < frameCount; i++) {     const img = new Image();     img.src = currentFrame(i);   } }; 
 preloadImages();
Demo!
CodePen Embed Fallback
A quick note on performance
While this effect is pretty slick, it’s also a lot of images. 148 to be exact.
No matter much we optimize the images, or how speedy the CDN is that serves them, loading hundreds of images will always result in a bloated page. Let’s say we have multiple instances of this on the same page. We might get performance stats like this:
Tumblr media
That might be fine for a high-speed internet connection without tight data caps, but we can’t say the same for users without such luxuries. It’s a tricky balance to strike, but we have to be mindful of everyone’s experience — and how our decisions affect them.
A few things we can do to help strike that balance include:
Loading a single fallback image instead of the entire image sequence
Creating sequences that use smaller image files for certain devices
Allowing the user to enable the sequence, perhaps with a button that starts and stops the sequence
Apple employs the first option. If you load the AirPods Pro page on a mobile device connected to a slow 3G connection and, hey, the performance stats start to look a whole lot better:
Tumblr media
Yeah, it’s still a heavy page. But it’s a lot lighter than what we’d get without any performance considerations at all. That’s how Apple is able to get get so many complex sequences onto a single page.
Further reading
If you are interested in how these image sequences are generated, a good place to start is the Lottie library by AirBnB. The docs take you through the basics of generating animations with After Effects while providing an easy way to include them in projects.
The post Let’s Make One of Those Fancy Scrolling Animations Used on Apple Product Pages appeared first on CSS-Tricks.
source https://css-tricks.com/lets-make-one-of-those-fancy-scrolling-animations-used-on-apple-product-pages/
from WordPress https://ift.tt/2WVlcvM via IFTTT
0 notes
holytheoristtastemaker · 5 years ago
Link
In this post, we'll see what atomic CSS is, how it relates to functional / utility-first CSS like TailwindCSS, and that big players are adopting it in their modern React codebases. As I'm not a expert of this subject, don't expect a deep dive about the pros and cons. I just hope you get an idea about what it's about. Note: Atomic CSS is not really related to Atomic Design.
What is atomic CSS?
You may have heard of various CSS methodologies like BEM, OOCSS...
<button class="button button--state-danger"> Danger button </button>
These days, people really like Tailwind CSS and its utility-first concept. This is close to Functional CSS and Tachyon.
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded"> Button </button>
With a stylesheet of a bunch of utility classes, you can go a long way. Atomic CSS is like an extreme version of utility-first CSS: all CSS classes have a single, unique CSS rule. Atomic CSS was first used by Thierry Koblentz (Yahoo!), in Challenging CSS Best Practices in 2013.
/* Atomic CSS */ .bw-2x { border-width: 2px; } .bss { border-style: solid; } .sans { font-style: sans-serif; } .p-1x { padding: 10px; } /* Not atomic, because the class contains 2 rules */ .p-1x-sans { padding: 10px; font-style: sans-serif; }
With utility/atomic CSS, we acknowledge it's ok to couple the structure and presentation layers: when we need to change the button color, we modify the HTML, not the CSS. This tight coupling is also acknowledged in modern CSS-in-JS React codebases, but it seems the CSS world figured out first that the "separation of concern" of the web didn't feel right. Specificity is also less a problem, as we use simple class selectors. We are now styling via the markup, which has several interesting properties:
the stylesheet grows less as we add new features
we can move the markup around, and the styles are moved at the same time
we can remove features, and be sure that we remove the related styling at the same time
For sure, the html is a bit more bloated. This can be a concern for server rendered web apps, but the high redundancy in class names compress well with gzip, in the same way it worked well for duplicated css rules previously found in your CSS files. You don't need to use utility/atomic CSS for every cases, just the most common styling patterns. Once your utility/atomic CSS is ready, it will not change or grow much. It's possible to cache it more aggressively (you can append it to vendor.css for example, and expect it to not invalidate across app redeploys). It is also quite portable, and you can use it in other applications.
Limits of utility/atomic CSS
Utility/atomic CSS looks interesting, but they come with a few challenges as well. People usually write utility/atomic CSS by hand, carefully crafting naming conventions. It can be hard to ensure the convention is easy to use, consistent, and not bloated over time. Can multiple persons work on this CSS and keep it consistent? Is it subject to the bus factor? You also need to work on a good utility/atomic stylesheet up-front, before being able to iterate on features that will use it. If the utility/atomic CSS is made by someone else, you will have to learn the class naming conventions first (even if you know everything about CSS). This convention is opiniated, and it's possible that you don't like it. Sometimes, you need some extra CSS that is not provided by your utility/atomic CSS. There's no unique way to provide the remaining one-off styles.
Tailwind to the rescue
The approach of Tailwind is very convenient, and solves some of these problems. It does not really provide a unique utility CSS file for all websites. Instead, it only provides a shared scope and naming conventions. From a configuration file, it allows you to generate your own custom utility CSS. Knowledge of Tailwind is portable to other applications, even if they don't use exactly the same class names. It reminds me a bit of the "Learn once, write anywhere" philosophy of React. I've seen people reporting that Tailwind classes cover something between 90% or 95% of their needs. It seems the scope is large enough, and we don't often need to use one-off style. At this point you might wonder why use atomic CSS instead of Tailwind?. What would you gain in enforcing the atomic CSS rule of 1 rule, 1 class? You would end up with a larger html markup, and a less convenient naming convention? Tailwind already has many atomic classes anyway. So, should we abandon the idea of atomic CSS, and simply use Tailwind? Tailwind is a great solution, but there are still a few problems that remain unsolved:
the need to learn an opiniated naming convention
CSS rules insertion order still matters
can unused rules be easily removed?
what do we do with the remaining one-off styles?
Handwritten atomic CSS might not be the most convenient compared to Tailwind.
Comparison with CSS-in-JS
There's a relationship with CSS-in-JS, and utility/atomic CSS. Both approaches advocate for styling from the markup, somehow trying to emulate performant inline styles, which gives them many similar properties (like the ability to move things around with confidence). Christopher Chedeau greatly helped spread the idea of CSS-in-JS in the React ecosystem. In multiple talks, he explains the problems of CSS:
Tumblr media
Utility/atomic CSS solve some of these problems too, but definitively not all (particularly, the non-deterministic resolution of styles). If they share similarities, can't we use them both together?
Enter atomic CSS-in-JS
Atomic CSS-in-JS can be seen as "automatic atomic CSS":
You don't need to create a class name convention anymore
Common and one-off styles are treated the same way
Ability extract the critical CSS of a page, and do code-splitting
An opportunity to fix the CSS rules insertion order issues in JS
I'm not aware about all CSS-in-JS libraries out there currently supporting atomic CSS. Supporting it is actually an implementation detail of the CSS-in-JS library. Support might come and go, or can even be made optional. I will highlight 2 particular solutions, that recently lead to 2 large-scale atomic CSS-in-JS deployments, using 2 talks as sources:
React-Native-Web at Twitter (more details in Nicolas Gallagher's talk)
Stylex at Facebook (more details in Frank Yan's talk)
See also: Styletron, Fela, cxs
React-Native-Web
React-Native-Web is a very interesting library: it permits to render React-Native primitives on the web. We are not really talking about cross-platform mobile/web development here (watch the talks for more details). As a web developer, you just need to understand that React-Native-Web is a regular CSS-in-JS library, that comes with a small set of primitive React components. Wherever you see View, you can replace it in your mind with div, and you are good to go. React-Native-Web has been created by Nicolas Gallagher, working on Twitter mobile. They progressively deployed it to mobile, not sure when exactly but probably around 2017/2018. Since then, it has been used by other companies (Major League Soccer, Flipkart, Uber, The Times...), but the most significant deployment has been the new 2019 Twitter desktop app by a team lead by Paul Armstrong.
Tumblr media
Stylex
Stylex is a new CSS-in-JS library developed at Facebook for the 2020 Facebook rewrite (currently in beta). It seems they plan to open-source it some day, possibly under a different name. It's worth mentioning that Nicolas Gallagher, the author of React-Native-Web, was hired by Facebook 2 years ago. It's not a big surprise to see some of its concept being reused by Facebook. Unlike React-Native-Web, Stylex does not seem focused on cross-platform development. All the infos I have are from the talk :) We'll have to wait for more details.
Scalability
As expected with atomic CSS, both Twitter and Facebook have seen a massive reduction of their CSS, as it now follows a logarithmic curve. There's an initial price to pay for simple apps though.
Tumblr media Tumblr media
Facebook shared concrete numbers:
Their old site was 413Kb of CSS just for the landing page
Their new site is 74Kb for the whole site, including the dark mode
Tumblr media
Source and output
The 2 libraries looks quite similar here, but it's hard to say, considering we don't know much about Stylex. It's worth highlighting React-Native-Web will expand the CSS shortand syntaxes like margin: 0.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Production inspection
Let's look at what the markup looks like on Twitter:
Tumblr media
Now, let's look at the new Facebook:
Tumblr media
Many people will probably be horrified when seeing this, but it actually works, and remains accessible. It might be a bit harder to navigate styles in the Chrome inspector, but devtools can help:
Tumblr media
CSS rules order
Unlike handwritten utility/atomic CSS, the JS libs are able to make the styling not dependent of the CSS rules insertion order. As you may know, in case of conflicting rules, it's not the last class of a class attribute that wins, but the rule that is inserted last in the stylesheet. Specificity issues are solved by only using simple class-based selectors.
Tumblr media Tumblr media
In practice, these libraries avoid outputting classes with conflicting rules on the same element. They ensure that the last style declared in the markup always wins. The "overridden classes" are filtered, and don't even make it to the DOM.
const styles = pseudoLib.create({ red: {color: "red"}, blue: {color: "blue"}, }); // That div only will have a single atomic class (not 2!), for the blue color <div style={[styles.red, styles.blue]}> Always blue! </div> // That div only will have a single atomic class (not 2!), for the red color <div style={[styles.blue, styles.red]}> Always red! </div>
Note: This predictable behavior is only possible thanks to using the most strict atomic CSS. If a class had multiple rules, and only one of them was overridden, the CSS-in-JS library wouldn't be able to filter that class without removing the non-overridden rules as well. If a class had a single shorthand rule like margin: 0, and the override was marginTop: 10, it's the same problem. The shorthand syntax like margin: 0 is expanded to 4 distinct classes, and the library is able to filter overridden classes that should not appear in the DOM with more granularity.
You still prefer Tailwind?
Once you know all the Tailwind naming conventions, you can code an UI very fast. It might feel less productive to go back to writing every CSS rule by hand, like you do in CSS-in-JS. Nothing prevents your for building your own abstractions on top of an atomic CSS-in-JS framework. Styled-system might be able to run some of the CSS-in-JS libraries supporting atomic CSS. It's even possible to reuse naming conventions for Tailwind in JS, if you feel you are productive with it. Let's take some Tailwind code:
<div className="absolute inset-0 p-4 bg-blue-500" />
Now, let's take a random solution (react-native-web-tailwindcss) I just found on google:
import {t} from 'react-native-tailwindcss'; <View style={[t.absolute, t.inset0, t.p4, t.bgBlue500]} />
In term of productivity, this is not very different. And you could avoid typos with TypeScript.
Conclusion
To me, using Atomic CSS, CSS-in-JS, and Tailwind all at the same time makes sense. That's almost everything I have to say about atomic CSS-in-JS. I have never used atomic CSS, atomic CSS-in-JS, or Tailwind in any large production deployment. I'm probably wrong on some parts, feel free to correct me on Twitter. I think atomic CSS-in-JS is a trend to watch in the React ecosystem, and I hope you learned something useful with this post. As I've not been able to find any article about atomic CSS-in-JS, I wrote this mostly for myself. I want a resource to link to when I mention atomic CSS-in-JS in upcoming blog posts (I plan to write more articles about React-Native-Web and cross-platform, stay tuned). Thank you for reading.
0 notes
simicartnew-blog · 5 years ago
Photo
Tumblr media
New Post has been published on https://www.simicart.com/blog/pwa-offline/
How to Make Your PWA Work Offline
Tumblr media
You probably know what Progressive Web App—along with its industry-changing features—already is, but for the sake of iteration, let us repeat once more the amazing, uniquely PWA features that can potentially revolutionize the web experience, which is its offline capability.
Unlike normal web whose viewing of content is only available with a connection, Progressive Web App differs in such a way that once the service workers—a built-in mechanism that’s responsible for many of PWA’s progressive features—have loaded the necessary files, offline viewing will be made possible and users can interact with the app even when offline.
Progressive Web Apps and Offline-availability
To know what all the fuss with PWAs is about—especially the offline capability of it, perhaps it’s time that you should experience first-hand an offline-viewing of our main website, which is also a PWA by definitions.
Tumblr media
With Progressive Web Apps, the whole offline experience is no different than your typical experience with a connection—and that’s the beauty of it. This is a feature especially useful for eCommerce stores that need an uninterrupted browsing experience, even when no connection is present.
Notes: Every PWA site needs an initial caching of essential resources first before offline-viewing is made available to the user.
How to Make your PWA work Offline
It would be complicated to go into all the details of building a fully functional, offline-capable Progressive Web App, which is why today we’d start with the basics first. Our goal is to make a barebone Progressive Web App that works offline.
Prerequisites
A plain website/web app. Anything with one index.html, one index.js and one style.css will do.
Once you have all the prerequisites in order, it’s time to make your barebone PWA work offline!
Creating a basic service worker
First thing first, you’d need to create your sw.js which contains all the necessary code for a functional service worker.
// sw.js self.addEventListener("fetch", event => console.log("You fetched " + event.url); );
Once you have your service worker created, let’s check if your browser supports it and reference it in your index.js:
// index.js if ("serviceWorker" in navigator) navigator.serviceWorker .register("sw.js") .then(() => console.log("registered service worker!")); // the rest of your page's code...
The above code should be simple enough. It checks if your browser supports service workers and if so, returns a “registered service worker!”. By registering the service workers, you’re essentially telling the browser to use the sw.js as instructions for your service workers and in turn, associates the new service worker(s) with your site.
Now, back to the sw.js, add the following code:
// sw.js self.addEventListener("fetch", event => console.log("You fetched " + event.url); );
The code adds an event listener that’s vital for our later operation and a key requirement for any functional PWA. In fact, many browsers including Chrome will not allow your PWA to be installed unless there’s a fetch listener registered.
The addEventListener in the code above has two arguments: the event(s) to be listened to and a callback that takes an event object. Once this event is in place, your service worker will now start listening for fetch event which includes requests for your website’s HTML, CSS, JS, audio, images, and any other requests to APIs/other websites.
Tumblr media
Service workers can be checked using Chrome DevTools
Caching your resources
In order for your PWA to be offline-capable, service workers pay a part in serving the content but you’d also need to cache your page’s resources as well. To cache your page’s resources, you’d first need to plan out the size of your Cache Storage first since there’s a limit to it.
Cache Storage limit
Each browser has a different way of handling cache storage. Almost all of them, however, have a limit to the size of your Cache Storage—this limit is often why you don’t see big and obese sites such as Amazon caches their entire store using service workers.
Now, this limit varies because of it being dependent on the end user’s device; but normally it should be around 20% of your customer’s maximum disk space. For more information, you can refer to our chart below or to Google’s official guide on Offline Storage for Progressive Web Apps.
Tumblr media
Now that we’ve got this limit out of the way, let’s move on to actually cache your resources.
Thank you!
Join with thousands of other enthusiasts to receive the latest Magento and Progressive Web App news & tips.
To cache your page’s resources, we’d need a global array which contains all the assets that you want to store:
/* This is all the stuff that we want to save in the cache. In order for the app to work offline/be installable, we have to save not just images but our HTML, JS, and CSS as well - anything we want to use when offline. */ const ASSETS = [ "https://i.imgur.com/Kbkqr2n.png", "https://i.imgur.com/lgLaG0x.png", "https://i.imgur.com/0iL8mxP.png", "https://i.imgur.com/KDsdYeS.png", "https://i.imgur.com/mK50fqL.png", "https://i.imgur.com/KYGH2Qa.png", "/style.css", "/index.html", "/offline.html", "/" ];
This is where everything that you want to use offline is stored. In the above example, the first few images are paths to Imgur where a variety of SimiCart’s logo is stored.
With this step, our list of necessary resources for offline-uses is now ready, let’s cache them using service workers:
Add this to the top of your sw.js:
// sw.js let cache_name = "SimiCart"; // The string used to identify our cache self.addEventListener("install", event => console.log("installing..."); event.waitUntil( caches .open(cache_name) .then(cache => return cache.addAll(assets); ) .catch(err => console.log(err)) ); );
Essentially, this code instructs the browser to wait (using the waitUntil() call) for our caching.
By using the cache API, specifically the addAll(), our array of assets can be effortlessly added to the cache, ready to be served by the service workers. Well, on second thought, it’s not that ready. We’d still need to modify our fetch event handler a bit.
This is what it’ll look like now:
self.addEventListener("fetch", event => if (event.request.url === "https://www.simicart.com/") // or whatever your app's URL is event.respondWith( fetch(event.request).catch(err => self.cache.open(cache_name).then(cache => cache.match("/offline.html")) ) ); else event.respondWith( fetch(event.request).catch(err => caches.match(event.request).then(response => response) ) ); );
It should now be clear in the code above that we’re attempting to cache resources even when the app is offline. The logic is as follow:
First, the app attempts to get resources online and response with the cached resources if that fetch fails (using the respondWith() )
Within the respondWith() , we call fetch(event.request) to try to fetch resources from the network, and since fetch is Promise based, the Promise will reject if it fails to connect to the network and in turn, trigger the catch() statement.
In the catch() statement is where you’d want to call your cached resources.
And that’s it. Your PWA should now be able to work offline! Pretty easy, ain’t it?
Conclusion
Things are moving pretty fast in the technological world and the longer you wait to convert to PWA or integrate a vital function such as this into your PWA, the more opportunity cost for you and your business.
Still, there’s always readily available solution providers such as SimiCart who can take care of your every need. If, by chance, you’re a Magento merchant and looking for an all-around perfect solution, you’re at the right place. SimiCart is a known solution provider for Magento merchants with over 5 years of expertise in PWAs and Native Apps.
Explore SimiCart PWA
0 notes
piercing-the-quiet · 5 years ago
Text
Two Types Of Application Software
By pressing the .cls button on the right side of the DevTools dashboard, you can easily add and remove CSS classes of the HTML element you are inspecting. If you want to use a scraper to pull some content out of a web page, you can easily get the location of the element on the page via XPath. CSS, JavaScript, images and many other assets are loaded in the Network Monitor section so that the page can be interpreted and displayed properly by the browser. This is quite good move given that with a 2D background you are better positioned to make it in the 3D category faster than a newbie there. It is good to know what's out there. There is continual support, with large patches that not only balance the game but add even more content - which somehow doesn’t clutter up the game. While we are forced to read a large paragraph including the products qualities and its positive impacts, we skip most of the things and cut to the end as soon as possible. The characters are exactly that, not just grunts who do your bidding but come across as real people who have their own story and opinions. 
I have good news for those who read through the end of the article. A 3D platformer in actual 3D. As someone who has often struggled with judging depth in 3D games, this came as a revelation. Square-Enix, Nintendo, Konami, EA games, Capcom, SNK, Natsume and Rockstar. The best way to scare me with a video game is to pick a video game with FMV with 3D animation, preferably from the 1993-2005 period. That’s why changing your browser to Firefox is way easier than doing the things mentioned above. But Mozilla Firefox is not part of a proprietary ‘walled garden’. Give Firefox another chance. Traversing the world is also an absolute joy. Whether I was riding around hunting down a three star animal for its perfect pelt or helping new friends, it has been an absolute joy to play. Home versions of the Star Wars Racer Arcade game were published for the Nintendo 64, Game Boy Color handheld and the Sega Dreamcast, with the 64 and Dreamcast versions being the most authentic conversions. A wonderful Switch game where mental health struggles are conceptualised as a platformer. The best stories are when the reader/player has to fill in the gaps with their imagination - and Obra Dinn makes this an essential part of the gameplay.
As for the gameplay itself, it’s the most fun I’ve had with a game in a long-time: the intuitive control scheme makes combat fast-paced and fluid, and just swinging around the game’s beautiful recreation of Manhattan is a joyous experience. Alternate reality Victorian London gets turned into a frozen wasteland and it’s up to you to lead the few survivors out into the cold and make a new start. We completed a daring night-time prison escape; performed a fully co-ordinated gas station robbery; tried ludicrous hats on while hiding out in a farmhouse - all of this together in quite a beautiful few hours. I was drawn in initially by its gorgeous art, but it was its ever-expanding world and the challenges within it that kept me playing for hours. I was still acquiring new abilities that opened up new sections of the world with new bosses and challenges. While 3D animation process replicates the real world to create more lifelike animation, 2D animation process, on the other hand, offers more artistic freedom. And producing 3D animation videos is an expensive, time-taking and tedious process. Practically it is not possible to demonstrate each and every process of the body and it is also not easy to accompany medical students to operations, therefore an animated video would explain everything and would simplify the whole process.
What is a Whiteboard Animation Video? The main motive is making content of 3D, 2D or whiteboard animation videos so that it tells a story. Yes, then whiteboard animation service is the upgraded version of it. Each version has its own targeted application purpose to serve to the users using it for various purposes. We use cookies or local storage to keep information about users when they visit your website. The website produces inventive, inspiring explainer videos considering ones business requirements that perfectly blend the existing company branding. Having strong command in creating explainer videos we would love to create 3 videos to depict your services professionally. Hello We have reviewed your 3 explanatory videos project brief and are interested in working with you. However, students from these institutes are familiar with limited software and cannot deliver when new software comes into the market. Applications or just apps, are end-user software which contain basic to advanced sets of digital tools, designed for productivity tasks such as arithmetic summation and text editing.
jasa animasi  jasa pembuatan animasi  jasa video animasi
0 notes
fernand0 · 6 years ago
Link
0 notes
nehakukreti · 5 years ago
Text
From office.com/setup Teams to Fluid Framework-here’s what’s new and coming soon to office.com/setup 365
From office.com/setup Teams to Fluid Framework-here’s what’s new and coming soon to office.com/setup 365
It’s opening day for Build, and the first time we’re holding our annual developer conference entirely online. In this era of remote everything, technology is enabling us to keep providing experiences like Build even though we can’t meet in person. As CEO Satya Nadella put it recently, “We’ve seen two years’ of digital transformation in two months.” And as a company, we are so excited to translate what we’ve learned into new features and enhancements that help our customers stay productive and connected. At a moment when we’re all adapting to an evolving reality, these experiences are designed to enable you to keep work moving, no matter what.
A note to developers before we begin: Whether building your own apps or solutions that are designed to be used in office.com/setup Teams or Outlook, we have a whole host of new innovations for you. At Build this week, we’re announcing many new capabilities that you can use to make your apps more integrated, powerful, and intuitive. We’re also introducing new developers and management tools that make creating and discoverability even easier. Find out more about all of the opportunities for developers using the office.com/setup 365 platform announced at Build. Let’s get to it!
News from Build 2020
Today we announced new features and capabilities in office.com/setup Teams, Fluid Framework, Project Cortex, Outlook, and Edge and introduced the new office.com/setup Lists app. They represent the latest innovations in our ongoing effort to build tools that enable our customers to stay connected and productive from everywhere.
office.com/setup Teams
office.com/setup teams are the hub for teamwork combining meetings, calls, chat, and collaboration into a single tool that preserves context and keeps everyone up to speed.
Productivity
From customized templates to new tasking capabilities, we’re introducing fresh ways to stay productive in Teams.
Create teams quickly with customizable templates—When creating a new team, you’ll soon be able to pick from a variety of customizable templates. Choose from common business scenarios, like event management and crisis response, as well as industry-specific templates, like a hospital ward or bank branch. Each template comes with pre-defined channels, apps, and guidance. Admins will also be able to create new custom templates and templatize existing teams in their organization, allowing them to standardize team structures, surface relevant apps, and scale best practices. Templates in Teams will roll out in the next few months and appear automatically.
Automation
We’re excited to announce an enhancement to the powerful platform that makes it easier to integrate and scale with office.com/setup Teams.
Easily create and manage chatbots in office.com/setup Teams—Integrating with Teams is also easier than ever: Just select the bot you want to use and then click Add to Teams. For additional convenience, Power Virtual Agents now supports single sign-on (SSO), so users will no longer have to reauthenticate when using Teams for the first time.
office.com/setup Edge
This year at Build, we’re announcing several new capabilities in office.com/setup Edge that add customization options and improved tooling for web developers.
Quickly explore relevant Pinterest collections—Pinterest can now deliver suggestions at the bottom of your collection, making it easier to find additional similar content. Clicking on a suggestion will open a board of similar, trending Pins so you can quickly find and add ideas relevant to you. Collections will also soon support “Send to OneNote,” making it easy to export collections to OneNote pages.
Save time while searching—We’re also introducing a sidebar search so you can search for things without opening a new window or tab. And for those who use Microsoft Edge for both work and personal use, we’re excited to introduce Automatic Profile Switching, which will detect that the link you’re trying to open needs work credentials, and then switch you to your authenticated work profile.
Check out expanded developer options during preview—Because we love developers, we’re expanding the preview with new options for .NET and UWP (WinUI 3.0) development, enabling you to embed a Chromium-based Edge WebView in WinForms, WPF, and UWP/Win UI 3.0 applications. We’ve also added a 3D View in DevTools. Check out our documentation and getting started guide, or simply open Visual Studio and download the WebView2 package to get started.
office.com/setup Lists
office.com/setup Lists is your smart information tracking app across office.com/setup 365. With Lists, you can easily track data and information to stay updated on the latest status.
Track information with office.com/setup Lists—Now, you can create, share, and track data and information—like issue tracking and status reporting—directly within office.com/setup Teams, SharePoint, and the soon-to-be-released Lists mobile app. Lists are easy for anyone to create and customize with templates, color coding, If/Then workflows, and more. Learn more about office.com/setup Lists.
At a time of unprecedented change, we are all rapidly adjusting to a new era of work. From software developers to healthcare workers, government first responders to multinational c-suites, everyone is finding new ways to stay productive and connected, whether they are working together or apart. The features and enhancements we announced today are all designed to support the incredible achievements of our customers around the world. We are committed to continuing to build the tools that keep the world’s work moving, through this crisis and beyond.
from Blogger http://quicksolvocom.blogspot.com/2020/06/from-officecomsetup-teams-to-fluid.html
0 notes
seoforindiam · 5 years ago
Text
Top 5 Reasons Why Your Magento Add to Cart Is So Slow
New Post has been published on http://www.justwebdevelopment.com/blog/top-5-reasons-why-your-magento-add-to-cart-is-so-slow/
Top 5 Reasons Why Your Magento Add to Cart Is So Slow
When you first launch your Magento store, everything is fast. But over time, things change. You notice how your homepage is not as snappy as before, that your search lags too much, and – oh dear! – your Add to Cart, the very reason you created the store, is so slow no-one wants to buy anything anymore.
  What are the reasons why your Magento Add to Cart is very slow? In addition to our in-depth guide where we give more detail for every possible challenge, we would like to list the top reasons Add to Cart can be slow in Magento. So here comes.
Reason 1. You Have Too Many Pricing Rules
Adding new stuff to Magento can be a double-edged sword. When you add new rules or parameters to the Cart, the process becomes a little bit slower every time. 
  After a while, the slowdowns become noticeable. Look at the most common additions that can ruin your add to cart performance: “Get two items for the price of one.” “Apply 15% off on a specific date.” “Save more with this promotion!” – every new active price rule creates a condition inside Magento and the platform has to check this new condition whenever the user adds new stuff to their shopping cart.
  Does this item get a discount? Is this bundle eligible for that promotion? Will this many products in the cart apply a cumulative price cut?
Go to Marketing > Cart Price Rules to disable outdated Cart Rules
  We understand that creating deals inside your store is an inseparable part of online retail. We don’t say you should avoid pricing rules to make your store faster.
  Just review them every so often and deactivate those rules that are obsolete, non-applicable, or otherwise useless. Reducing the number of conditions will mean that Magento has to check for less stuff before it can execute all the necessary shopping cart JS code.
Reason 2. You Never Remove Useless Shipping Carriers
The more shipping carriers you have, the longer it takes for Magento to communicate with them. Magento takes time to query the shipping carrier API server and fetch its response. Most of the time Magento will have to ask the carrier to fetch the estimated shipping price for the current cart. Every time the contents of the cart changes, you get another holdup before the estimated shipping cost refreshes.
  Now imagine you have 6 carriers with an average roundabout time (ask and fetch response) of 100 ms. Each of them has to get the information about your products and their parameters, evaluate the prices, and return an estimated shipping cost. That is 600 ms of just working with the carriers!
Go to Stores > Configuration > Sales > Shipping Methods and disable carriers you never use.
Reason 3. Magento Constantly Checks for Available Stock
Do you know what exactly happens when you put something in your shopping cart? Magento has to fetch that item from somewhere, right? And when we have a crowd of customers putting stuff in their carts and then checking out, Magento needs to make sure that the items they put in the cart actually exist in stock.
  Without this check, it’s entirely possible to put an already sold out product in a cart of a new buyer. Which will of course then result in failure when they want to go to checkout with it. To avoid this situation, Magento will constantly check item availability on every Add to Cart event.
  The alternative to this mechanics is not for everyone. You have an option to actually turn this inventory check off. Sure, you’ll have to deal with a few angry customers here and there but overall the shopping experience will improve drastically. This is especially true if you have a lot of products in stock and don’t run out on things during the day.
Go to Configuration > Settings > Catalog > Inventory > Product Stock Options and disable stock. This is a last-resort measure, use with discretion.
Reason 4. You Never Use MAP in Advanced Sales
MAP is Minimum Advertised Price and it’s a useful tool when you sell products that require a MAP indication. Most of the stores, however, never use MAP. Which is a good reason to turn it off for good.
In Magento 2 Admin Panel, go to Stores > Configuration > Sales > Sales and select NO in Enable MAP.
Reason 5. You Never Do Any Homekeeping
Homekeeping is the umbrella term that can indicate a wide range of operations that don’t necessarily improve speed of the store but help maintain current performance gains and stop performance deterioration. They usually consist of cleanups, small fixes, and general maintenance. If you neglect homekeeping chores for long enough, they can become a good source of performance gain.
  Truncate the database. Over time, Magento tends to become a little unkempt. As a diligent store owner, your task is to keep things tidy. A relatively easy way to do so is truncating Magento Database to speed up your shopping cart. Consult your developer team to find out which tables need trimming. Ensure you don’t damage the tables that are actually important and should not be truncated.
  Remove unused extensions. One of the reasons your store was faster back when you just launched it was because it didn’t have to execute so many lines of third-party JS code. Revisit your third-party extensions that might slow down your shopping cart experience and disable those you can live without. 
  More often than not those extensions are poorly optimized and only work well in the pristine environment of the demo store where there are no other extensions or customizations that take up the precious server resources.
Summing Up
If you follow our instructions, you should once more have a snappy shopping cart experience. In case your efforts did not get you the result you expected, there’s one last thing you can do: profile the code manually. Find the bottlenecks in your Add to Cart performance with Magento Profiler, MGT Developer Toolbar, or Aoe Profiler. The idea here is to carefully assess the loading process of your shopping cart and discover bottlenecks.
  Some tips for manual code profiling and optimization:
Look out for code that takes too long to execute but isn’t mission-critical for initial load – move it to the end of the page, speeding up time-to-interactive.
Minify and compress JavaScript where possible – it’s a good idea for any page but Shopping Cart and Checkout are especially vulnerable to slow speed as their poor performance can disrupt user shopping flow and result in an abandoned sale.
Reduce excessive CSS and other design elements to make your Shopping Cart lighter. Sacrifice good looks for speed. The goal of the cart is to close a sale, not to show off how beautiful your store is. Minify and gzip-compress CSS/HTML to make them lighter and more compact.
Consider merging Checkout and Shopping Cart with a single-page checkout extension. A single page is more likely to get you a customer since it is simpler and cuts down on the necessary steps to close the deal.
Apply advanced JS bundling techniques to make JS faster. In case you go this road don’t use the built-in Magento JS bundling option. It’s poorly optimized and doesn’t bring much value to the table. Opt for Magento 2 DevTools as a Chrome extension to generate a quality build.js solution.
  Justwebdevelopment can also help you in... Magento Development  |  PSD To Magento  |  Magento Theme Development  |  Magento Development Services
0 notes
t-baba · 5 years ago
Photo
Tumblr media
What happens when a browser is launched for the first time? A lot.
#406 — August 28, 2019
Read on the Web
Frontend Focus
What Happens When You Launch A Browser for The First Time? — A collection of interesting and quite revealing Twitter threads digging into what browsers (Chrome, Firefox, Opera, etc) do upon install/first launch (including phoning home and downloading default extensions).
Jonathan Sampson on Twitter
Faster Image Loading With Embedded Image Previews — The Embedded Image Preview (EIP) technique introduced in this article allows us to load preview images during lazy loading using progressive JPEGs, Ajax and HTTP range requests without having to transfer additional data.
Christoph Erdmann
Continuous Integration for Django Projects — Learn to set up a continuous integration pipeline for a Django project.
CircleCI sponsor
▶  Jeremy Keith: Building The Web — An interview with Jeremy Keith, a frontend dev from the UK on the state of the web, how it’s evolved over all these years, and the tooling and the skills necessary to know today.
Smashing Magazine
Everything I Know About Style Guides, Design Systems, and Component Libraries — A deep-dive covering these popular frontend development and design themes.
Lee Robinson
Monolith: Save Web Pages into a Single, Bundled HTML File — Unlike a browser’s “Save as” feature, Monolith embeds a page’s HTML, CSS, image and JavaScript assets into a single HTML file for easy storage.
Y2Z tools
💻 Jobs
Web Designer - Komoot (Remote) — We're looking for a Web Designer who enjoys clean code & great design to help us change the way people explore.
komoot
Frontend developers are in demand on Vettery — Make a free profile, name your salary, and connect with hiring managers from top employers.
Vettery
📙 Articles, Tutorials & Opinion
How To Build A Web-Based Real-Time Multiplayer Virtual Reality Game — Leverages familiarity with web development to get started with VR development. In this first part of the series, you will learn how to create a virtual reality scene with interactive game elements.
Alvin Wan
The Browser Monopoly — Touches upon how, with Chrome, Google “enjoys substantial control over the vast majority of the world’s portal to the internet”.
Blair Reeves
Accessibility Strategies for Your Content Team — Some tips and tools to help empower content creators to take ownership of accessibility.
Caitlin Cashin
CSS Styling for Video Captions Is Now in Development in Chrome — You use either an external CSS file or a style block in a WebVTT file (it’s already shipped in Safari).
Sam Dutton on Twitter
▶  New & Experimental CSS Tools in Firefox — UX Designer Victoria Wang runs through seven new CSS tools in Firefox, plus a peek at some future ideas.
SFHTML5
Type Terms — Covers the basics of typographic terminology. Sharing this one mainly as it’s nicely animated/put together.
Supremo beginner
Get a User’s Eye View of Your Front-End Services with Datadog Synthetics
Datadog Synthetics sponsor
Creating A Shopping Cart with HTML5 Web Storage
Matt Zand
Chrome DevTools: Inspecting Audio with the Web Audio Inspector
Umar Hansa
💡 Tip of the Week
supported by
Using 'tabular figures' for more elegant dynamic number rendering
If your interface has elements with changing digits, such as a video timestamp or a user controlled numeric slider, then it may be worth considering using a font that supports monospaced numbers (a.k.a. tabular figures) to improve the user experience.
The animation below perfectly demonstrates the difference, with the proportionally spaced digits jumping around erratically as the values change:
This indicative image comes from Lior Azi's superb related article, which does a great job of highlighting plenty of real world examples of dynamic vs static numeric labels (both good and bad).
The easiest way to make this change? Use the following declaration in your CSS:
font-variant-numeric: tabular-nums;
Now, the above (which has around 90% global broswer support) will only work if your font has an appropriate alternative fixed-width glyph available to use — but there is a growing selection of monospaced fonts available, such as these options at Google Fonts.
Finally, if you want to know more about the font-variant-numeric property, then Geoff Graham has this handy write-up over at CSS Tricks.
This weeks Tip of the Week is sponsored by Progress. Progress Named a Leader in First Ever 2019 Gartner Magic Quadrant for Multiexperience Development Platforms.
🔧 Code, Tools & Resources
radialMenu: A Highly Customizable JavaScript Radial Menu — This works on both desktop and mobile. You can see a demo here (right click on desktop, touch and hold on mobile).
Victor Ribeiro
FilePond: A Flexible File Uploader with a Smooth UI — It’s vanilla JavaScript but has adapters to make it easier to use with React, Vue, Angular, or even jQuery. v4.5 has just dropped. GitHub repo.
Rik Schennink
Want a Better Way to Store and Serve Images and Videos? — Join a community of over 450K web and mobile developers dynamically managing rich media with Cloudinary. Try it free.
Cloudinary sponsor
Chart.xkcd: xkcd, Hand-Drawn-Style Charts — If you like your lines wiggly and rough, this might be for you. It tries to mimic the style of the fantastic xkcd comic.
Tim Qian
Moving: A Clean and Minimalist Theme for Jekyll — Here's a really clean theme for the popular Jekyll Ruby-based static site generator is (which recently got a major new version).
Yizheng Huang
A Collection of Color Tools For Designers
Muzli
Get Waves: An SVG Wave Generator
z creative labs
   🗓 Upcoming Events
Web Unleashed 2019, September 13-14 — Toronto, Canada — Covers a variety of front-end topics leaving you 'informed, challenged and inspired'.
State of the Browser, September 14 — London, UK — A one-day, single-track conference with widely varying talks about the modern web.
CSSConf, September 25 — Budapest, Hungary — A community conference dedicated to the designers and developers who love CSS.
Accessibility Scotland, October 25 — Edinburgh, UK — One day of talks. Friendly, open discussion about accessibility.
by via Frontend Focus https://ift.tt/2PjrpQj
0 notes
newweblabz-blog · 6 years ago
Text
Do You Update Your Designing Skills? Learn These Effective Tips
What the new is in the old web designing, these are the themes with amazing new tools. Since working with typefaces to a color wheel, then everything is covered with goodies. There are some new tools and several cool 3D elements. All these not only enable a designer to perform in a better way but also helps to complete the designing in an easy and faster way. Here, we go to update your knowledge in a better way:
Font Playground
Font playground is a great tool enables the designer to play with variable fonts and export front-end code. Variable fonts are the single font files that are used as multiple fonts and this is why are obtaining the popularity.
Tumblr media
Scale
The scale is one of the useful tools that help to determine the accurate color using the color in steps. it will let you know the exactly displaying color.  
Color Wheel Generator
Color wheel Generator helps to find the color that perfectly meets with hues in the HEX format. It helps to adjust the settings like saturation, lightness, hue, and angles to make a match from any side of the wheel.
Fondu
Fondu is an open source contract that is designed to launch a prominent coin offering/crowdfunding campaign. The smart control building tool requires to fill out the questionnaire to download the contracts.
Style URL
Using the StyleURL, one can export and share CSS changes from Chrome DevTools allowing to use it in the workflow. It develops links that automatically loads CSS changes into current web pages and thus the user can visually share the tweaks.
Fusion.js
Fusion.js is publicly known MIT licensed JavaScript frame supporting the renowned libraries such as React and Redux. It comes with advanced features such as data-aware server-side rendering, hot module reloading, and bundle splitting support. Additionally, it supports with flexible plugin leading architecture.
Keyframes
Keyframes are an advanced online hangout used for animators. It allows making conversation via chat, share projects, solving queries as well as useful tools help to up animation games.
Brandcast Team Edition
Broadcast team editions are useful when you are working in a team for code-free website design projects together. The tools allow the professional designers to build custom websites leading to the interactive sales and marketing collateral eliminating the use of a single line of code. It turns out to be beneficial from designer to copywriters working on any projects.
Malvid
Malvid is a great tool helps to generate components using the interactive user interface to take a preview and document web components created by you. This tools analyze the folder structure and move the files into visual UI that work using CLI and API tool.
So, in order to complete the needs of clients, professionals at New Web Labz use advanced tools and techniques for web designing.  
0 notes