mo

Medicine wheels of the Plains and Rocky Mountains / an update[d] compendium (Reeves and Kennedy) and edited collection of works by John Brumley, Ted Birmie, Rebecca Kallevig, Barry Dau, Trevor Peck, and Dean Wetzel ; overall editors, Brian O. K. Reeves, M

xxv, 359 pages : illustrations, maps ; 28 cm. + 1 folded map




mo

New virus, more outbreaks

A look at state-wise data shows that states with larger numbers of fatalities are also those with less successful public health infrastructure as a whole




mo

Rajasthan in emergency mode

There is panic, and thousands of people are pouring into hospitals to get themselves tested for the infection




mo

Swine flu toll mounts across country



  • Policy & Issues

mo

Swine flu: Govt. ‘closely monitoring’ situation across India




mo

13 more test positive for swine flu in Jammu and Kashmir




mo

Swine flu claims 38 more lives

13,688 affected by H1N1 virus across the country; Rajasthan, Gujarat worst-hit




mo

Smokers die 10 years sooner



  • Policy & Issues

mo

Malaria: people with blood group A more vulnerable to severe disease




mo

Swine flu claims 47 more lives

H1N1 toll rises to 1,674 and the number of persons affected by the virus exceeds 29,000.




mo

India among nations with largest urban child survival gap

India also scores poorly in the Mother’s Index Rank standing at 140 out of 179 countries.




mo

TB treatment programme may be generating more MDR cases

The RNTCP currently treats patients without knowing their resistance profile: JMM




mo

Residents in Chennai hope for clear waterways and relief from mosquito menace




mo

National Family Health Survey: PMO exerts pressure, data is out

The secretaries had been asked to show results for the work being done.




mo

More ‘unwanted hysterectomies’ come to light in Bengaluru




mo

Medical team in Arunachal Pradesh’s Chongkhow village after 19 reported dead in two months




mo

Centre forms high-level panel to monitor bird flu situation




mo

Molecular recognition of peptides and proteins by cucurbit[n]urils: systems and applications

Chem. Soc. Rev., 2024, Advance Article
DOI: 10.1039/D4CS00569D, Review Article
Open Access
Lilyanna Armstrong, Sarah L. Chang, Nia Clements, Zoheb Hirani, Lauren B. Kimberly, Keturah Odoi-Adams, Paolo Suating, Hailey F. Taylor, Sara A. Trauth, Adam R. Urbach
The molecular recognition of peptides and proteins by cucurbit[n]uril synthetic receptors in aqueous solution occurs with high affinity and with selectivity that is predictive from the sequence of amino acids and has enabled many applications.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Harnessing luciferase chemistry in regulated cell death modalities and autophagy: overview and perspectives

Chem. Soc. Rev., 2024, Advance Article
DOI: 10.1039/D3CS00743J, Review Article
Saman Hosseinkhani, Mojdeh Amandadi, Parisa Ghanavatian, Fateme Zarein, Farangis Ataei, Maryam Nikkhah, Peter Vandenabeele
This review provides a comprehensive overview of the use of bioluminescence assays in advancing our understanding and studying cell death modalities and autophagy.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Nanoplasmonic biosensors for environmental sustainability and human health

Chem. Soc. Rev., 2024, 53,10491-10522
DOI: 10.1039/D3CS00941F, Review Article
Wenpeng Liu, Kyungwha Chung, Subin Yu, Luke P. Lee
This review examines recent developments in nanoplasmonic biosensors to identify analytes from the environment and human physiological parameters for monitoring sustainable global healthcare for humans, the environment, and the earth.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Supramolecular gels: a versatile crystallization toolbox

Chem. Soc. Rev., 2024, 53,10604-10619
DOI: 10.1039/D4CS00271G, Review Article
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Rafael Contreras-Montoya, Luis Álvarez de Cienfuegos, José A. Gavira, Jonathan W. Steed
Supramolecular gels are unique materials formed through the self-assembly of low molecular weight gelators (LMWGs). Their versatility has allowed the expansion of gel crystallization processes, giving a new impetus to this field.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Black titanium oxide: synthesis, modification, characterization, physiochemical properties, and emerging applications for energy conversion and storage, and environmental sustainability

Chem. Soc. Rev., 2024, 53,10660-10708
DOI: 10.1039/D4CS00420E, Review Article
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Xuelan Hou, Yiyang Li, Hang Zhang, Peter D. Lund, James Kwan, Shik Chi Edman Tsang
The current synthesis methods, modifications, and characterizations of black titanium oxide (B-TiOx) as well as a nuanced understanding of its physicochemical properties and applications in green energy and environment are reviewed.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Supramolecular and molecular capsules, cages and containers

Chem. Soc. Rev., 2024, 53,10380-10408
DOI: 10.1039/D4CS00761A, Tutorial Review
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Cameron J. T. Cox, Jessica Hale, Paulina Molinska, James E. M. Lewis
Supramolecular and molecular capsules are a diverse class of host systems exhibiting a range of properties and characteristics with applications in sensing, separations, storage, transport, reactivity modulation and biomedicine.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Intrinsic immunomodulatory hydrogels for chronic inflammation

Chem. Soc. Rev., 2024, Advance Article
DOI: 10.1039/D4CS00450G, Tutorial Review
Yuna Qian, Jiayi Ding, Rui Zhao, Yang Song, Jiyoung Yoo, Huiyeon Moon, Seyoung Koo, Jong Seung Kim, Jianliang Shen
This tutorial review presents the development of advanced immunomodulatory hydrogels strategically designed to address chronic inflammation through their intrinsic properties.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Enantioselective synthesis of molecules with multiple stereogenic elements

Chem. Soc. Rev., 2024, 53,11165-11206
DOI: 10.1039/D3CS00238A, Review Article
Open Access
Arthur Gaucherand, Expédite Yen-Pon, Antoine Domain, Alix Bourhis, Jean Rodriguez, Damien Bonne
This review explores the fascinating world of molecules featuring multiple stereogenic elements, unraveling the different strategies designed over the years for their enantioselective synthesis.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

Light/X-ray/ultrasound activated delayed photon emission of organic molecular probes for optical imaging: mechanisms, design strategies, and biomedical applications

Chem. Soc. Rev., 2024, 53,10970-11003
DOI: 10.1039/D4CS00599F, Review Article
Rui Qu, Xiqun Jiang, Xu Zhen
Versatile energy inputs, including light, X-ray and ultrasound, activate organic molecular probes to undergo different delay mechanisms, including charge separation, triplet exciton stabilization and chemical trap, for delayed photon emission.
The content of this RSS Feed (c) The Royal Society of Chemistry




mo

The unbearable burden of being David Moyes




mo

Why the monsoons are the optimal time for home purchases

It is the ideal time to judge the potential investment value of a new property




mo

Common sense architecture

A vast majority of what we build today can actually be done more appropriately and reversibly with natural materials, says SATHYA PRAKASH VARANASHI





mo

A better tomorrow

The next decade will see more transparency in the real estate sector and the implementation of international best practices




mo

No more stalled projects?

Anuj Puri welcomes the initiatives from the Cabinet Committee on Economic Affairs to ensure smoother completion of projects




mo

Refund of booking amount

Your property-related legal queries answered by <span class="ng_byline_name">S.C. RAGHURAM,</span> Partner, RANK Associates, a Chennai-based law firm




mo

Homeless in Moulivakkam

Owners of the just-demolished building in Moulivakkam speak about how their dreams too were destroyed that day




mo

Modular kitchen studio opened in Tiruppur




mo

Movement alleges that Dalits dominate list of borrowers facing property attachment threat under SARFAESI Act

‘The marginalised who have taken small loans and repaid as much they could are being made easy targets by banks, while big defaulters are left free,’ says Anti-SARFAESI official




mo

Meet decides to promote a green Sabarimala pilgrimage on the interstate route




mo

Supreme Court to pronounce verdict on illegal demolitions on November 13

While reserving the case for judgment, Bench promised to protect even convicted criminals from state-sponsored punitive demolition of their legal private property




mo

A Content Model Is Not a Design System

Do you remember when having a great website was enough? Now, people are getting answers from Siri, Google search snippets, and mobile apps, not just our websites. Forward-thinking organizations have adopted an omnichannel content strategy, whose mission is to reach audiences across multiple digital channels and platforms.

But how do you set up a content management system (CMS) to reach your audience now and in the future? I learned the hard way that creating a content model—a definition of content types, attributes, and relationships that let people and systems understand content—with my more familiar design-system thinking would capsize my customer’s omnichannel content strategy. You can avoid that outcome by creating content models that are semantic and that also connect related content. 

I recently had the opportunity to lead the CMS implementation for a Fortune 500 company. The client was excited by the benefits of an omnichannel content strategy, including content reuse, multichannel marketing, and robot delivery—designing content to be intelligible to bots, Google knowledge panels, snippets, and voice user interfaces. 

A content model is a critical foundation for an omnichannel content strategy, and for our content to be understood by multiple systems, the model needed semantic types—types named according to their meaning instead of their presentation. Our goal was to let authors create content and reuse it wherever it was relevant. But as the project proceeded, I realized that supporting content reuse at the scale that my customer needed required the whole team to recognize a new pattern.

Despite our best intentions, we kept drawing from what we were more familiar with: design systems. Unlike web-focused content strategies, an omnichannel content strategy can’t rely on WYSIWYG tools for design and layout. Our tendency to approach the content model with our familiar design-system thinking constantly led us to veer away from one of the primary purposes of a content model: delivering content to audiences on multiple marketing channels.

Two essential principles for an effective content model

We needed to help our designers, developers, and stakeholders understand that we were doing something very different from their prior web projects, where it was natural for everyone to think about content as visual building blocks fitting into layouts. The previous approach was not only more familiar but also more intuitive—at least at first—because it made the designs feel more tangible. We discovered two principles that helped the team understand how a content model differs from the design systems that we were used to:

  1. Content models must define semantics instead of layout.
  2. And content models should connect content that belongs together.

Semantic content models

A semantic content model uses type and attribute names that reflect the meaning of the content, not how it will be displayed. For example, in a nonsemantic model, teams might create types like teasers, media blocks, and cards. Although these types might make it easy to lay out content, they don’t help delivery channels understand the content’s meaning, which in turn would have opened the door to the content being presented in each marketing channel. In contrast, a semantic content model uses type names like product, service, and testimonial so that each delivery channel can understand the content and use it as it sees fit. 

When you’re creating a semantic content model, a great place to start is to look over the types and properties defined by Schema.org, a community-driven resource for type definitions that are intelligible to platforms like Google search.

A semantic content model has several benefits:

  • Even if your team doesn’t care about omnichannel content, a semantic content model decouples content from its presentation so that teams can evolve the website’s design without needing to refactor its content. In this way, content can withstand disruptive website redesigns. 
  • A semantic content model also provides a competitive edge. By adding structured data based on Schema.org’s types and properties, a website can provide hints to help Google understand the content, display it in search snippets or knowledge panels, and use it to answer voice-interface user questions. Potential visitors could discover your content without ever setting foot in your website.
  • Beyond those practical benefits, you’ll also need a semantic content model if you want to deliver omnichannel content. To use the same content in multiple marketing channels, delivery channels need to be able to understand it. For example, if your content model were to provide a list of questions and answers, it could easily be rendered on a frequently asked questions (FAQ) page, but it could also be used in a voice interface or by a bot that answers common questions.

For example, using a semantic content model for articles, events, people, and locations lets A List Apart provide cleanly structured data for search engines so that users can read the content on the website, in Google knowledge panels, and even with hypothetical voice interfaces in the future.

Content models that connect

After struggling to describe what makes a good content model, I’ve come to realize that the best models are those that are semantic and that also connect related content components (such as a FAQ item’s question and answer pair), instead of slicing up related content across disparate content components. A good content model connects content that should remain together so that multiple delivery channels can use it without needing to first put those pieces back together.

Think about writing an article or essay. An article’s meaning and usefulness depends upon its parts being kept together. Would one of the headings or paragraphs be meaningful on their own without the context of the full article? On our project, our familiar design-system thinking often led us to want to create content models that would slice content into disparate chunks to fit the web-centric layout. This had a similar impact to an article that were to have been separated from its headline. Because we were slicing content into standalone pieces based on layout, content that belonged together became difficult to manage and nearly impossible for multiple delivery channels to understand.

To illustrate, let’s look at how connecting related content applies in a real-world scenario. The design team for our customer presented a complex layout for a software product page that included multiple tabs and sections. Our instincts were to follow suit with the content model. Shouldn’t we make it as easy and as flexible as possible to add any number of tabs in the future?

Because our design-system instincts were so familiar, it felt like we had needed a content type called “tab section” so that multiple tab sections could be added to a page. Each tab section would display various types of content. One tab might provide the software’s overview or its specifications. Another tab might provide a list of resources. 

Our inclination to break down the content model into “tab section” pieces would have led to an unnecessarily complex model and a cumbersome editing experience, and it would have also created content that couldn’t have been understood by additional delivery channels. For example, how would another system have been able to tell which “tab section” referred to a product’s specifications or its resource list—would that other system have to have resorted to counting tab sections and content blocks? This would have prevented the tabs from ever being reordered, and it would have required adding logic in every other delivery channel to interpret the design system’s layout. Furthermore, if the customer were to have no longer wanted to display this content in a tab layout, it would have been tedious to migrate to a new content model to reflect the new page redesign.

A content model based on design components is unnecessarily complex, and it’s unintelligible to systems.

We had a breakthrough when we discovered that our customer had a specific purpose in mind for each tab: it would reveal specific information such as the software product’s overview, specifications, related resources, and pricing. Once implementation began, our inclination to focus on what’s visual and familiar had obscured the intent of the designs. With a little digging, it didn’t take long to realize that the concept of tabs wasn’t relevant to the content model. The meaning of the content that they were planning to display in the tabs was what mattered.

In fact, the customer could have decided to display this content in a different way—without tabs—somewhere else. This realization prompted us to define content types for the software product based on the meaningful attributes that the customer had wanted to render on the web. There were obvious semantic attributes like name and description as well as rich attributes like screenshots, software requirements, and feature lists. The software’s product information stayed together because it wasn’t sliced across separate components like “tab sections” that were derived from the content’s presentation. Any delivery channel—including future ones—could understand and present this content.

A good content model connects content that belongs together so it can be easily managed and reused.

Conclusion

In this omnichannel marketing project, we discovered that the best way to keep our content model on track was to ensure that it was semantic (with type and attribute names that reflected the meaning of the content) and that it kept content together that belonged together (instead of fragmenting it). These two concepts curtailed our temptation to shape the content model based on the design. So if you’re working on a content model to support an omnichannel content strategy—or even if you just want to make sure that Google and other interfaces understand your content—remember:

  • A design system isn’t a content model. Team members may be tempted to conflate them and to make your content model mirror your design system, so you should protect the semantic value and contextual structure of the content strategy during the entire implementation process. This will let every delivery channel consume the content without needing a magic decoder ring.
  • If your team is struggling to make this transition, you can still reap some of the benefits by using Schema.org–based structured data in your website. Even if additional delivery channels aren’t on the immediate horizon, the benefit to search engine optimization is a compelling reason on its own.
  • Additionally, remind the team that decoupling the content model from the design will let them update the designs more easily because they won’t be held back by the cost of content migrations. They’ll be able to create new designs without the obstacle of compatibility between the design and the content, and ​they’ll be ready for the next big thing. 

By rigorously advocating for these principles, you’ll help your team treat content the way that it deserves—as the most critical asset in your user experience and the best way to connect with your audience.




mo

Mobile-First CSS: Is It Time for a Rethink?

The mobile-first design methodology is great—it focuses on what really matters to the user, it’s well-practiced, and it’s been a common design pattern for years. So developing your CSS mobile-first should also be great, too…right? 

Well, not necessarily. Classic mobile-first CSS development is based on the principle of overwriting style declarations: you begin your CSS with default style declarations, and overwrite and/or add new styles as you add breakpoints with min-width media queries for larger viewports (for a good overview see “What is Mobile First CSS and Why Does It Rock?”). But all those exceptions create complexity and inefficiency, which in turn can lead to an increased testing effort and a code base that’s harder to maintain. Admit it—how many of us willingly want that?

On your own projects, mobile-first CSS may yet be the best tool for the job, but first you need to evaluate just how appropriate it is in light of the visual design and user interactions you’re working on. To help you get started, here’s how I go about tackling the factors you need to watch for, and I’ll discuss some alternate solutions if mobile-first doesn’t seem to suit your project.

Advantages of mobile-first

Some of the things to like with mobile-first CSS development—and why it’s been the de facto development methodology for so long—make a lot of sense:

Development hierarchy. One thing you undoubtedly get from mobile-first is a nice development hierarchy—you just focus on the mobile view and get developing. 

Tried and tested. It’s a tried and tested methodology that’s worked for years for a reason: it solves a problem really well.

Prioritizes the mobile view. The mobile view is the simplest and arguably the most important, as it encompasses all the key user journeys, and often accounts for a higher proportion of user visits (depending on the project). 

Prevents desktop-centric development. As development is done using desktop computers, it can be tempting to initially focus on the desktop view. But thinking about mobile from the start prevents us from getting stuck later on; no one wants to spend their time retrofitting a desktop-centric site to work on mobile devices!

Disadvantages of mobile-first

Setting style declarations and then overwriting them at higher breakpoints can lead to undesirable ramifications:

More complexity. The farther up the breakpoint hierarchy you go, the more unnecessary code you inherit from lower breakpoints. 

Higher CSS specificity. Styles that have been reverted to their browser default value in a class name declaration now have a higher specificity. This can be a headache on large projects when you want to keep the CSS selectors as simple as possible.

Requires more regression testing. Changes to the CSS at a lower view (like adding a new style) requires all higher breakpoints to be regression tested.

The browser can’t prioritize CSS downloads. At wider breakpoints, classic mobile-first min-width media queries don’t leverage the browser’s capability to download CSS files in priority order.

The problem of property value overrides

There is nothing inherently wrong with overwriting values; CSS was designed to do just that. Still, inheriting incorrect values is unhelpful and can be burdensome and inefficient. It can also lead to increased style specificity when you have to overwrite styles to reset them back to their defaults, something that may cause issues later on, especially if you are using a combination of bespoke CSS and utility classes. We won’t be able to use a utility class for a style that has been reset with a higher specificity.

With this in mind, I’m developing CSS with a focus on the default values much more these days. Since there’s no specific order, and no chains of specific values to keep track of, this frees me to develop breakpoints simultaneously. I concentrate on finding common styles and isolating the specific exceptions in closed media query ranges (that is, any range with a max-width set). 

This approach opens up some opportunities, as you can look at each breakpoint as a clean slate. If a component’s layout looks like it should be based on Flexbox at all breakpoints, it’s fine and can be coded in the default style sheet. But if it looks like Grid would be much better for large screens and Flexbox for mobile, these can both be done entirely independently when the CSS is put into closed media query ranges. Also, developing simultaneously requires you to have a good understanding of any given component in all breakpoints up front. This can help surface issues in the design earlier in the development process. We don’t want to get stuck down a rabbit hole building a complex component for mobile, and then get the designs for desktop and find they are equally complex and incompatible with the HTML we created for the mobile view! 

Though this approach isn’t going to suit everyone, I encourage you to give it a try. There are plenty of tools out there to help with concurrent development, such as Responsively App, Blisk, and many others. 

Having said that, I don’t feel the order itself is particularly relevant. If you are comfortable with focusing on the mobile view, have a good understanding of the requirements for other breakpoints, and prefer to work on one device at a time, then by all means stick with the classic development order. The important thing is to identify common styles and exceptions so you can put them in the relevant stylesheet—a sort of manual tree-shaking process! Personally, I find this a little easier when working on a component across breakpoints, but that’s by no means a requirement.

Closed media query ranges in practice 

In classic mobile-first CSS we overwrite the styles, but we can avoid this by using media query ranges. To illustrate the difference (I’m using SCSS for brevity), let’s assume there are three visual designs: 

  • smaller than 768
  • from 768 to below 1024
  • 1024 and anything larger 

Take a simple example where a block-level element has a default padding of “20px,” which is overwritten at tablet to be “40px” and set back to “20px” on desktop.

Classic min-width mobile-first

.my-block {
  padding: 20px;
  @media (min-width: 768px) {
    padding: 40px;
  }
  @media (min-width: 1024px) {
    padding: 20px;
  }
}

Closed media query range

.my-block {
  padding: 20px;
  @media (min-width: 768px) and (max-width: 1023.98px) {
    padding: 40px;
  }
}

The subtle difference is that the mobile-first example sets the default padding to “20px” and then overwrites it at each breakpoint, setting it three times in total. In contrast, the second example sets the default padding to “20px” and only overrides it at the relevant breakpoint where it isn’t the default value (in this instance, tablet is the exception).

The goal is to: 

  • Only set styles when needed. 
  • Not set them with the expectation of overwriting them later on, again and again. 

To this end, closed media query ranges are our best friend. If we need to make a change to any given view, we make it in the CSS media query range that applies to the specific breakpoint. We’ll be much less likely to introduce unwanted alterations, and our regression testing only needs to focus on the breakpoint we have actually edited. 

Taking the above example, if we find that .my-block spacing on desktop is already accounted for by the margin at that breakpoint, and since we want to remove the padding altogether, we could do this by setting the mobile padding in a closed media query range.

.my-block {
  @media (max-width: 767.98px) {
    padding: 20px;
  }
  @media (min-width: 768px) and (max-width: 1023.98px) {
    padding: 40px;
  }
}

The browser default padding for our block is “0,” so instead of adding a desktop media query and using unset or “0” for the padding value (which we would need with mobile-first), we can wrap the mobile padding in a closed media query (since it is now also an exception) so it won’t get picked up at wider breakpoints. At the desktop breakpoint, we won’t need to set any padding style, as we want the browser default value.

Bundling versus separating the CSS

Back in the day, keeping the number of requests to a minimum was very important due to the browser’s limit of concurrent requests (typically around six). As a consequence, the use of image sprites and CSS bundling was the norm, with all the CSS being downloaded in one go, as one stylesheet with highest priority. 

With HTTP/2 and HTTP/3 now on the scene, the number of requests is no longer the big deal it used to be. This allows us to separate the CSS into multiple files by media query. The clear benefit of this is the browser can now request the CSS it currently needs with a higher priority than the CSS it doesn’t. This is more performant and can reduce the overall time page rendering is blocked.

Which HTTP version are you using?

To determine which version of HTTP you’re using, go to your website and open your browser’s dev tools. Next, select the Network tab and make sure the Protocol column is visible. If “h2” is listed under Protocol, it means HTTP/2 is being used. 

Note: to view the Protocol in your browser’s dev tools, go to the Network tab, reload your page, right-click any column header (e.g., Name), and check the Protocol column.

Note: for a summarized comparison, see ImageKit’s “HTTP/2 vs. HTTP/1.”

Also, if your site is still using HTTP/1...WHY?!! What are you waiting for? There is excellent user support for HTTP/2.

Splitting the CSS

Separating the CSS into individual files is a worthwhile task. Linking the separate CSS files using the relevant media attribute allows the browser to identify which files are needed immediately (because they’re render-blocking) and which can be deferred. Based on this, it allocates each file an appropriate priority.

In the following example of a website visited on a mobile breakpoint, we can see the mobile and default CSS are loaded with “Highest” priority, as they are currently needed to render the page. The remaining CSS files (print, tablet, and desktop) are still downloaded in case they’ll be needed later, but with “Lowest” priority. 

With bundled CSS, the browser will have to download the CSS file and parse it before rendering can start.

While, as noted, with the CSS separated into different files linked and marked up with the relevant media attribute, the browser can prioritize the files it currently needs. Using closed media query ranges allows the browser to do this at all widths, as opposed to classic mobile-first min-width queries, where the desktop browser would have to download all the CSS with Highest priority. We can’t assume that desktop users always have a fast connection. For instance, in many rural areas, internet connection speeds are still slow. 

The media queries and number of separate CSS files will vary from project to project based on project requirements, but might look similar to the example below.

Bundled CSS

<link href="site.css" rel="stylesheet">

This single file contains all the CSS, including all media queries, and it will be downloaded with Highest priority.

Separated CSS

<link href="default.css" rel="stylesheet"><link href="mobile.css" media="screen and (max-width: 767.98px)" rel="stylesheet"><link href="tablet.css" media="screen and (min-width: 768px) and (max-width: 1083.98px)" rel="stylesheet"><link href="desktop.css" media="screen and (min-width: 1084px)" rel="stylesheet"><link href="print.css" media="print" rel="stylesheet">

Separating the CSS and specifying a media attribute value on each link tag allows the browser to prioritize what it currently needs. Out of the five files listed above, two will be downloaded with Highest priority: the default file, and the file that matches the current media query. The others will be downloaded with Lowest priority.

Depending on the project’s deployment strategy, a change to one file (mobile.css, for example) would only require the QA team to regression test on devices in that specific media query range. Compare that to the prospect of deploying the single bundled site.css file, an approach that would normally trigger a full regression test.

Moving on

The uptake of mobile-first CSS was a really important milestone in web development; it has helped front-end developers focus on mobile web applications, rather than developing sites on desktop and then attempting to retrofit them to work on other devices.

I don’t think anyone wants to return to that development model again, but it’s important we don’t lose sight of the issue it highlighted: that things can easily get convoluted and less efficient if we prioritize one particular device—any device—over others. For this reason, focusing on the CSS in its own right, always mindful of what is the default setting and what’s an exception, seems like the natural next step. I’ve started noticing small simplifications in my own CSS, as well as other developers’, and that testing and maintenance work is also a bit more simplified and productive. 

In general, simplifying CSS rule creation whenever we can is ultimately a cleaner approach than going around in circles of overrides. But whichever methodology you choose, it needs to suit the project. Mobile-first may—or may not—turn out to be the best choice for what’s involved, but first you need to solidly understand the trade-offs you’re stepping into.




mo

Over 100 villagers removed and encroached cart road retrieved in Erode




mo

Salem jewellery trader gets three-month jail for cheating




mo

Chandrayaan-4 will take soil and rock samples from Moon, says former ISRO chairman




mo

A moon-themed restobar opens in Coimbatore




mo

Ten-month-old child from Karur undergoes rare bone marrow transplantation in Coimbatore




mo

Coimbatore Police carry out surprise raids at student accommodations

Approximately 450 police personnel conducted searches across hostels, private houses, and student accommodations in the Chettipalayam, Madukkarai, and K.G. Chavadi police jurisdictions




mo

Watch: Coimbatore’s women cops are now maintaining weapons, driving heavy vehicles, and more

Policewomen in Coimbatore are challenging norms by taking on roles traditionally reserved for men




mo

Northeast monsoon above average in Coimbatore




mo

Egg production in Namakkal sees increase over last 10 months




mo

Mother, son die in accident