of

Enhancing electrochemical reactions in organic synthesis: the impact of flow chemistry

Chem. Soc. Rev., 2024, 53,10741-10760
DOI: 10.1039/D4CS00539B, Review Article
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Morgan Regnier, Clara Vega, Dimitris I. Ioannou, Timothy Noël
Utilizing electrons directly offers significant potential for advancing organic synthesis by facilitating novel reactivity and enhancing selectivity under mild conditions.
The content of this RSS Feed (c) The Royal Society of Chemistry




of

From cyclotrons to chromatography and beyond: a guide to the production and purification of theranostic radiometals

Chem. Soc. Rev., 2024, 53,10409-10449
DOI: 10.1039/D4CS00802B, Tutorial Review
Brooke L. McNeil, Caterina F. Ramogida
This tutorial review explores the fundamentals and applications behind the production and purification of radiometals in the burgeoning field of radio-theranostics.
The content of this RSS Feed (c) The Royal Society of Chemistry




of

Designed functions of oxide/hydroxide nanosheets via elemental replacement/doping

Chem. Soc. Rev., 2024, 53,10523-10574
DOI: 10.1039/D4CS00339J, Review Article
Open Access
Kanji Saito, Masashi Morita, Tomohiko Okada, Rattanawadee (Ploy) Wijitwongwan, Makoto Ogawa
The replacement of the main components with a small amount of heteroelements in a material affects its properties and imparts novel functions, similar to “wasabi” giving the important taste for “sushi”.
The content of this RSS Feed (c) The Royal Society of Chemistry




of

Fundamentals of the recycling of spent lithium-ion batteries

Chem. Soc. Rev., 2024, Advance Article
DOI: 10.1039/D4CS00362D, Review Article
Pengwei Li, Shaohua Luo, Yicheng Lin, Jiefeng Xiao, Xiaoning Xia, Xin Liu, Li Wang, Xiangming He
Fundamentals of battery recycling play a vital role in addressing the challenges posed by spent lithium-ion batteries by providing the theoretical foundation and technical tools necessary for the efficient recycling of LIBs.
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




of

A comprehensive review of covalent organic frameworks (COFs) and their derivatives in environmental pollution control

Chem. Soc. Rev., 2024, Advance Article
DOI: 10.1039/D4CS00521J, Tutorial Review
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Shengbo Ge, Kexin Wei, Wanxi Peng, Runzhou Huang, Esther Akinlabi, Hongyan Xia, Muhammad Wakil Shahzad, Xuehua Zhang, Ben Bin Xu, Jianchun Jiang
Covalent organic frameworks (COFs) have gained considerable attention due to their design possibilities as the molecular organic building blocks that can stack in an atomically precise spatial arrangement.
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




of

A new era of cancer phototherapy: mechanisms and applications

Chem. Soc. Rev., 2024, Advance Article
DOI: 10.1039/D4CS00708E, Review Article
Yuanwei Wang, Ke Ma, Miaomiao Kang, Dingyuan Yan, Niu Niu, Saisai Yan, Panpan Sun, Luzhi Zhang, Lijie Sun, Dong Wang, Hui Tan, Ben Zhong Tang
The past decades have witnessed great strides in phototherapy as an experimental option or regulation-approved treatment in numerous cancer indications.
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




of

Electrodegradation of nitrogenous pollutants in sewage: from reaction fundamentals to energy valorization applications

Chem. Soc. Rev., 2024, Advance Article
DOI: 10.1039/D4CS00517A, Review Article
Ming-Lei Sun, Hao-Yu Wang, Yi Feng, Jin-Tao Ren, Lei Wang, Zhong-Yong Yuan
This review provides a comprehensive insight into the electrodegradation processes of nitrogenous pollutants in sewage, highlighting the reaction mechanisms, theoretical descriptors, catalyst design, and energy valorization strategies.
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




of

In situ characterization techniques of protein corona around nanomaterials

Chem. Soc. Rev., 2024, 53,10827-10851
DOI: 10.1039/D4CS00507D, Tutorial Review
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Fangqin Fu, Daniel Crespy, Katharina Landfester, Shuai Jiang
We discuss here the in situ characterization methods for unraveling nanoparticle–protein interactions, highlighting the challenges of in situ protein corona characterization and its significance for nanomedicine development and clinical translation.
The content of this RSS Feed (c) The Royal Society of Chemistry




of

Recent synthetic strategies for the functionalization of fused bicyclic heteroaromatics using organo-Li, -Mg and -Zn reagents

Chem. Soc. Rev., 2024, 53,11045-11099
DOI: 10.1039/D4CS00369A, Review Article
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Vasudevan Dhayalan, Vishal S. Dodke, Marappan Pradeep Kumar, Hatice Seher Korkmaz, Anja Hoffmann-Röder, Pitchamuthu Amaladass, Rambabu Dandela, Ragupathy Dhanusuraman, Paul Knochel
This review presents various new strategies for the functionalization of 5 and 6-membered fused heteroaromatics. These synthetic strategies enable rapid access to complex heterocyclic compounds.
The content of this RSS Feed (c) The Royal Society of Chemistry




of

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




of

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




of

We are a nation of cricket junkies




of

Of balls and tampering




of

The crazy world of football transfers




of

The unbearable burden of being David Moyes




of

For the love of heritage

Chennai lags behind almost all major cities in heritage management; with no conservation policies, laws or popular participation




of

What comprises a power of attorney?

Hers is how the document varies in each state




of

Ownership of parking space

Your property-related legal queries answered by S.C. RAGHURAM, Partner, RANK Associates, a Chennai-based law firm




of

Components of a sale deed

Here's how the document differs in each State




of

The art of rational property negotiation

Do your groundwork about the project, its developer, his overall credibility and the track record of previous projects




of

Particulars of a gift deed

G. Shyam Sundar writes on stamp duty registration fee charges for the settlement deed across India




of

Payment of maintenance charges

Your property-related legal queries answered by S.C. RAGHURAM, Partner, RANK Associates, a Chennai-based law firm




of

Purchase of property

Your property-related legal queries answered by S.C. RAGHURAM, Partner, RANK Associates, a Chennai-based law firm




of

Reconstruction of walkways

Your property-related legal queries answered by S.C. RAGHURAM, Partner, RANK Associates, a Chennai-based law firm





of

Be aware of boundaries

Seek necessary official clearances and be sure about your boundary line before constructing your home




of

Be wary of realty scams

Exercise maximum caution to prevent fraudulent transactions, says G. Shyam Sunder




of

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




of

Reconstruction of residential complex

Your property-related legal queries answered by S.C. RAGHURAM, Partner, RANK Associates, a Chennai-based law firm




of

What are the rights of a tenant under the law?

The Rent Control Act offers security of tenure to the tenants and restricts the landlords’ power to evict tenants




of

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




of

Advantages of home loan transfer

When the interest rate on loans goes up, the lenders allow the borrowers to continue to pay the existing EMI till they are 65 to 70 years of age. It is virtually a lifetime debt trap; without understanding the repercussions




of

The remarkable surge of interest in plotted developments is an outcome of the pandemic

High- and ultra-high-net-worth individuals are increasingly investing in weekend homes or private villas, built in the peripheries of cities



  • Homes and gardens

of

Protests, failure to get DGCA clearance dashed hopes of seaplane investors in 2013

Companies that took on lease or bought amphibian aircraft either closed down or went bankrupt as they counldn’t start service




of

Home Ministry tells House panel only 38 civilians died in northeast in 2023, skips mention of Manipur

Opposition MPs pointed to the omission, recounting the recent death of two women in the State 




of

The political thought of Xi Jinping [electronic resource] / Steve Tsang and Olivia Cheung.

New York, NY : Oxford University Press , 2024.




of

Breaking Out of the Box

CSS is about styling boxes. In fact, the whole web is made of boxes, from the browser viewport to elements on a page. But every once in a while a new feature comes along that makes us rethink our design approach.

Round displays, for example, make it fun to play with circular clip areas. Mobile screen notches and virtual keyboards offer challenges to best organize content that stays clear of them. And dual screen or foldable devices make us rethink how to best use available space in a number of different device postures.

Sketches of a round display, a common rectangular mobile display, and a device with a foldable display.

These recent evolutions of the web platform made it both more challenging and more interesting to design products. They’re great opportunities for us to break out of our rectangular boxes.

I’d like to talk about a new feature similar to the above: the Window Controls Overlay for Progressive Web Apps (PWAs).

Progressive Web Apps are blurring the lines between apps and websites. They combine the best of both worlds. On one hand, they’re stable, linkable, searchable, and responsive just like websites. On the other hand, they provide additional powerful capabilities, work offline, and read files just like native apps.

As a design surface, PWAs are really interesting because they challenge us to think about what mixing web and device-native user interfaces can be. On desktop devices in particular, we have more than 40 years of history telling us what applications should look like, and it can be hard to break out of this mental model.

At the end of the day though, PWAs on desktop are constrained to the window they appear in: a rectangle with a title bar at the top.

Here’s what a typical desktop PWA app looks like:

Sketches of two rectangular user interfaces representing the desktop Progressive Web App status quo on the macOS and Windows operating systems, respectively. 

Sure, as the author of a PWA, you get to choose the color of the title bar (using the Web Application Manifest theme_color property), but that’s about it.

What if we could think outside this box, and reclaim the real estate of the app’s entire window? Doing so would give us a chance to make our apps more beautiful and feel more integrated in the operating system.

This is exactly what the Window Controls Overlay offers. This new PWA functionality makes it possible to take advantage of the full surface area of the app, including where the title bar normally appears.

About the title bar and window controls

Let’s start with an explanation of what the title bar and window controls are.

The title bar is the area displayed at the top of an app window, which usually contains the app’s name. Window controls are the affordances, or buttons, that make it possible to minimize, maximize, or close the app’s window, and are also displayed at the top.

A sketch of a rectangular application user interface highlighting the title bar area and window control buttons.

Window Controls Overlay removes the physical constraint of the title bar and window controls areas. It frees up the full height of the app window, enabling the title bar and window control buttons to be overlaid on top of the application’s web content. 

A sketch of a rectangular application user interface using Window Controls Overlay. The title bar and window controls are no longer in an area separated from the app’s content.

If you are reading this article on a desktop computer, take a quick look at other apps. Chances are they’re already doing something similar to this. In fact, the very web browser you are using to read this uses the top area to display tabs.

A screenshot of the top area of a browser’s user interface showing a group of tabs that share the same horizontal space as the app window controls.

Spotify displays album artwork all the way to the top edge of the application window.

A screenshot of an album in Spotify’s desktop application. Album artwork spans the entire width of the main content area, all the way to the top and right edges of the window, and the right edge of the main navigation area on the left side. The application and album navigation controls are overlaid directly on top of the album artwork.

Microsoft Word uses the available title bar space to display the auto-save and search functionalities, and more.

A screenshot of Microsoft Word’s toolbar interface. Document file information, search, and other functionality appear at the top of the window, sharing the same horizontal space as the app’s window controls.

The whole point of this feature is to allow you to make use of this space with your own content while providing a way to account for the window control buttons. And it enables you to offer this modified experience on a range of platforms while not adversely affecting the experience on browsers or devices that don’t support Window Controls Overlay. After all, PWAs are all about progressive enhancement, so this feature is a chance to enhance your app to use this extra space when it’s available.

Let’s use the feature

For the rest of this article, we’ll be working on a demo app to learn more about using the feature.

The demo app is called 1DIV. It’s a simple CSS playground where users can create designs using CSS and a single HTML element.

The app has two pages. The first lists the existing CSS designs you’ve created:

A screenshot of the 1DIV app displaying a thumbnail grid of CSS designs a user created.

The second page enables you to create and edit CSS designs:

A screenshot of the 1DIV app editor page. The top half of the window displays a rendered CSS design, and a text editor on the bottom half of the window displays the CSS used to create it.

Since I’ve added a simple web manifest and service worker, we can install the app as a PWA on desktop. Here is what it looks like on macOS:

Screenshots of the 1DIV app thumbnail view and CSS editor view on macOS. This version of the app’s window has a separate control bar at the top for the app name and window control buttons.

And on Windows:

Screenshots of the 1DIV app thumbnail view and CSS editor view on the Windows operating system. This version of the app’s window also has a separate control bar at the top for the app name and window control buttons.

Our app is looking good, but the white title bar in the first page is wasted space. In the second page, it would be really nice if the design area went all the way to the top of the app window.

Let’s use the Window Controls Overlay feature to improve this.

Enabling Window Controls Overlay

The feature is still experimental at the moment. To try it, you need to enable it in one of the supported browsers.

As of now, it has been implemented in Chromium, as a collaboration between Microsoft and Google. We can therefore use it in Chrome or Edge by going to the internal about://flags page, and enabling the Desktop PWA Window Controls Overlay flag.

Using Window Controls Overlay

To use the feature, we need to add the following display_override member to our web app’s manifest file:

{
  "name": "1DIV",
  "description": "1DIV is a mini CSS playground",
  "lang": "en-US",
  "start_url": "/",
  "theme_color": "#ffffff",
  "background_color": "#ffffff",
  "display_override": [
    "window-controls-overlay"
  ],
  "icons": [
    ...
  ]
}

On the surface, the feature is really simple to use. This manifest change is the only thing we need to make the title bar disappear and turn the window controls into an overlay.

However, to provide a great experience for all users regardless of what device or browser they use, and to make the most of the title bar area in our design, we’ll need a bit of CSS and JavaScript code.

Here is what the app looks like now:

Screenshot of the 1DIV app thumbnail view using Window Controls Overlay on macOS. The separate top bar area is gone, but the window controls are now blocking some of the app’s interface

The title bar is gone, which is what we wanted, but our logo, search field, and NEW button are partially covered by the window controls because now our layout starts at the top of the window.

It’s similar on Windows, with the difference that the close, maximize, and minimize buttons appear on the right side, grouped together with the PWA control buttons:

Screenshot of the 1DIV app thumbnail display using Window Controls Overlay on the Windows operating system. The separate top bar area is gone, but the window controls are now blocking some of the app’s content.

Using CSS to keep clear of the window controls

Along with the feature, new CSS environment variables have been introduced:

  • titlebar-area-x
  • titlebar-area-y
  • titlebar-area-width
  • titlebar-area-height

You use these variables with the CSS env() function to position your content where the title bar would have been while ensuring it won’t overlap with the window controls. In our case, we’ll use two of the variables to position our header, which contains the logo, search bar, and NEW button. 

header {
  position: absolute;
  left: env(titlebar-area-x, 0);
  width: env(titlebar-area-width, 100%);
  height: var(--toolbar-height);
}

The titlebar-area-x variable gives us the distance from the left of the viewport to where the title bar would appear, and titlebar-area-width is its width. (Remember, this is not equivalent to the width of the entire viewport, just the title bar portion, which as noted earlier, doesn’t include the window controls.)

By doing this, we make sure our content remains fully visible. We’re also defining fallback values (the second parameter in the env() function) for when the variables are not defined (such as on non-supporting browsers, or when the Windows Control Overlay feature is disabled).

Screenshot of the 1DIV app thumbnail view on macOS with Window Controls Overlay and our CSS updated. The app content that the window controls had been blocking has been repositioned.
Screenshot of the 1DIV app thumbnail view on the Windows operating system with Window Controls Overlay and our updated CSS. The app content that the window controls had been blocking has been repositioned.

Now our header adapts to its surroundings, and it doesn’t feel like the window control buttons have been added as an afterthought. The app looks a lot more like a native app.

Changing the window controls background color so it blends in

Now let’s take a closer look at our second page: the CSS playground editor.

Screenshots of the 1DIV app CSS editor view with Window Controls Overlay in macOS and Windows, respectively. The window controls overlay areas have a solid white background color, which contrasts with the hot pink color of the example CSS design displayed in the editor.

Not great. Our CSS demo area does go all the way to the top, which is what we wanted, but the way the window controls appear as white rectangles on top of it is quite jarring.

We can fix this by changing the app’s theme color. There are a couple of ways to define it:

  • PWAs can define a theme color in the web app manifest file using the theme_color manifest member. This color is then used by the OS in different ways. On desktop platforms, it is used to provide a background color to the title bar and window controls.
  • Websites can use the theme-color meta tag as well. It’s used by browsers to customize the color of the UI around the web page. For PWAs, this color can override the manifest theme_color.

In our case, we can set the manifest theme_color to white to provide the right default color for our app. The OS will read this color value when the app is installed and use it to make the window controls background color white. This color works great for our main page with the list of demos.

The theme-color meta tag can be changed at runtime, using JavaScript. So we can do that to override the white with the right demo background color when one is opened.

Here is the function we’ll use:

function themeWindow(bgColor) {
  document.querySelector("meta[name=theme-color]").setAttribute('content', bgColor);
}

With this in place, we can imagine how using color and CSS transitions can produce a smooth change from the list page to the demo page, and enable the window control buttons to blend in with the rest of the app’s interface.

Screenshot of the 1DIV app CSS editor view on the Windows operating system with Window Controls Overlay and updated CSS demonstrating how the window control buttons blend in with the rest of the app’s interface.

Dragging the window

Now, getting rid of the title bar entirely does have an important accessibility consequence: it’s much more difficult to move the application window around.

The title bar provides a sizable area for users to click and drag, but by using the Window Controls Overlay feature, this area becomes limited to where the control buttons are, and users have to very precisely aim between these buttons to move the window.

Fortunately, this can be fixed using CSS with the app-region property. This property is, for now, only supported in Chromium-based browsers and needs the -webkit- vendor prefix. 

To make any element of the app become a dragging target for the window, we can use the following: 

-webkit-app-region: drag;

It is also possible to explicitly make an element non-draggable: 

-webkit-app-region: no-drag; 

These options can be useful for us. We can make the entire header a dragging target, but make the search field and NEW button within it non-draggable so they can still be used as normal.

However, because the editor page doesn’t display the header, users wouldn’t be able to drag the window while editing code. So let's use a different approach. We’ll create another element before our header, also absolutely positioned, and dedicated to dragging the window.

<div class="drag"></div>
<header>...</header>
.drag {
  position: absolute;
  top: 0;
  width: 100%;
  height: env(titlebar-area-height, 0);
  -webkit-app-region: drag;
}

With the above code, we’re making the draggable area span the entire viewport width, and using the titlebar-area-height variable to make it as tall as what the title bar would have been. This way, our draggable area is aligned with the window control buttons as shown below.

And, now, to make sure our search field and button remain usable:

header .search,
header .new {
  -webkit-app-region: no-drag;
}

With the above code, users can click and drag where the title bar used to be. It is an area that users expect to be able to use to move windows on desktop, and we’re not breaking this expectation, which is good.

An animated view of the 1DIV app being dragged across a Windows desktop with the mouse.

Adapting to window resize

It may be useful for an app to know both whether the window controls overlay is visible and when its size changes. In our case, if the user made the window very narrow, there wouldn’t be enough space for the search field, logo, and button to fit, so we’d want to push them down a bit.

The Window Controls Overlay feature comes with a JavaScript API we can use to do this: navigator.windowControlsOverlay.

The API provides three interesting things:

  • navigator.windowControlsOverlay.visible lets us know whether the overlay is visible.
  • navigator.windowControlsOverlay.getBoundingClientRect() lets us know the position and size of the title bar area.
  • navigator.windowControlsOverlay.ongeometrychange lets us know when the size or visibility changes.

Let’s use this to be aware of the size of the title bar area and move the header down if it’s too narrow.

if (navigator.windowControlsOverlay) {
  navigator.windowControlsOverlay.addEventListener('geometrychange', () => {
    const { width } = navigator.windowControlsOverlay.getBoundingClientRect();
    document.body.classList.toggle('narrow', width < 250);
  });
}

In the example above, we set the narrow class on the body of the app if the title bar area is narrower than 250px. We could do something similar with a media query, but using the windowControlsOverlay API has two advantages for our use case:

  • It’s only fired when the feature is supported and used; we don’t want to adapt the design otherwise.
  • We get the size of the title bar area across operating systems, which is great because the size of the window controls is different on Mac and Windows. Using a media query wouldn’t make it possible for us to know exactly how much space remains.
.narrow header {
  top: env(titlebar-area-height, 0);
  left: 0;
  width: 100%;
}

Using the above CSS code, we can move our header down to stay clear of the window control buttons when the window is too narrow, and move the thumbnails down accordingly.

A screenshot of the 1DIV app on Windows showing the app’s content adjusted for a much narrower viewport.

Thirty pixels of exciting design opportunities


Using the Window Controls Overlay feature, we were able to take our simple demo app and turn it into something that feels so much more integrated on desktop devices. Something that reaches out of the usual window constraints and provides a custom experience for its users.

In reality, this feature only gives us about 30 pixels of extra room and comes with challenges on how to deal with the window controls. And yet, this extra room and those challenges can be turned into exciting design opportunities.

More devices of all shapes and forms get invented all the time, and the web keeps on evolving to adapt to them. New features get added to the web platform to allow us, web authors, to integrate more and more deeply with those devices. From watches or foldable devices to desktop computers, we need to evolve our design approach for the web. Building for the web now lets us think outside the rectangular box.

So let’s embrace this. Let’s use the standard technologies already at our disposal, and experiment with new ideas to provide tailored experiences for all devices, all from a single codebase!


If you get a chance to try the Window Controls Overlay feature and have feedback about it, you can open issues on the spec’s repository. It’s still early in the development of this feature, and you can help make it even better. Or, you can take a look at the feature’s existing documentation, or this demo app and its source code




of

The Wax and the Wane of the Web

I offer a single bit of advice to friends and family when they become new parents: When you start to think that you’ve got everything figured out, everything will change. Just as you start to get the hang of feedings, diapers, and regular naps, it’s time for solid food, potty training, and overnight sleeping. When you figure those out, it’s time for preschool and rare naps. The cycle goes on and on.

The same applies for those of us working in design and development these days. Having worked on the web for almost three decades at this point, I’ve seen the regular wax and wane of ideas, techniques, and technologies. Each time that we as developers and designers get into a regular rhythm, some new idea or technology comes along to shake things up and remake our world.

How we got here

I built my first website in the mid-’90s. Design and development on the web back then was a free-for-all, with few established norms. For any layout aside from a single column, we used table elements, often with empty cells containing a single pixel spacer GIF to add empty space. We styled text with numerous font tags, nesting the tags every time we wanted to vary the font style. And we had only three or four typefaces to choose from: Arial, Courier, or Times New Roman. When Verdana and Georgia came out in 1996, we rejoiced because our options had nearly doubled. The only safe colors to choose from were the 216 “web safe” colors known to work across platforms. The few interactive elements (like contact forms, guest books, and counters) were mostly powered by CGI scripts (predominantly written in Perl at the time). Achieving any kind of unique look involved a pile of hacks all the way down. Interaction was often limited to specific pages in a site.

The birth of web standards

At the turn of the century, a new cycle started. Crufty code littered with table layouts and font tags waned, and a push for web standards waxed. Newer technologies like CSS got more widespread adoption by browsers makers, developers, and designers. This shift toward standards didn’t happen accidentally or overnight. It took active engagement between the W3C and browser vendors and heavy evangelism from folks like the Web Standards Project to build standards. A List Apart and books like Designing with Web Standards by Jeffrey Zeldman played key roles in teaching developers and designers why standards are important, how to implement them, and how to sell them to their organizations. And approaches like progressive enhancement introduced the idea that content should be available for all browsers—with additional enhancements available for more advanced browsers. Meanwhile, sites like the CSS Zen Garden showcased just how powerful and versatile CSS can be when combined with a solid semantic HTML structure.

Server-side languages like PHP, Java, and .NET overtook Perl as the predominant back-end processors, and the cgi-bin was tossed in the trash bin. With these better server-side tools came the first era of web applications, starting with content-management systems (particularly in the blogging space with tools like Blogger, Grey Matter, Movable Type, and WordPress). In the mid-2000s, AJAX opened doors for asynchronous interaction between the front end and back end. Suddenly, pages could update their content without needing to reload. A crop of JavaScript frameworks like Prototype, YUI, and jQuery arose to help developers build more reliable client-side interaction across browsers that had wildly varying levels of standards support. Techniques like image replacement let crafty designers and developers display fonts of their choosing. And technologies like Flash made it possible to add animations, games, and even more interactivity.

These new technologies, standards, and techniques reinvigorated the industry in many ways. Web design flourished as designers and developers explored more diverse styles and layouts. But we still relied on tons of hacks. Early CSS was a huge improvement over table-based layouts when it came to basic layout and text styling, but its limitations at the time meant that designers and developers still relied heavily on images for complex shapes (such as rounded or angled corners) and tiled backgrounds for the appearance of full-length columns (among other hacks). Complicated layouts required all manner of nested floats or absolute positioning (or both). Flash and image replacement for custom fonts was a great start toward varying the typefaces from the big five, but both hacks introduced accessibility and performance problems. And JavaScript libraries made it easy for anyone to add a dash of interaction to pages, although at the cost of doubling or even quadrupling the download size of simple websites.

The web as software platform

The symbiosis between the front end and back end continued to improve, and that led to the current era of modern web applications. Between expanded server-side programming languages (which kept growing to include Ruby, Python, Go, and others) and newer front-end tools like React, Vue, and Angular, we could build fully capable software on the web. Alongside these tools came others, including collaborative version control, build automation, and shared package libraries. What was once primarily an environment for linked documents became a realm of infinite possibilities.

At the same time, mobile devices became more capable, and they gave us internet access in our pockets. Mobile apps and responsive design opened up opportunities for new interactions anywhere and any time.

This combination of capable mobile devices and powerful development tools contributed to the waxing of social media and other centralized tools for people to connect and consume. As it became easier and more common to connect with others directly on Twitter, Facebook, and even Slack, the desire for hosted personal sites waned. Social media offered connections on a global scale, with both the good and bad that that entails.

Want a much more extensive history of how we got here, with some other takes on ways that we can improve? Jeremy Keith wrote “Of Time and the Web.” Or check out the “Web Design History Timeline” at the Web Design Museum. Neal Agarwal also has a fun tour through “Internet Artifacts.”

Where we are now

In the last couple of years, it’s felt like we’ve begun to reach another major inflection point. As social-media platforms fracture and wane, there’s been a growing interest in owning our own content again. There are many different ways to make a website, from the tried-and-true classic of hosting plain HTML files to static site generators to content management systems of all flavors. The fracturing of social media also comes with a cost: we lose crucial infrastructure for discovery and connection. Webmentions, RSS, ActivityPub, and other tools of the IndieWeb can help with this, but they’re still relatively underimplemented and hard to use for the less nerdy. We can build amazing personal websites and add to them regularly, but without discovery and connection, it can sometimes feel like we may as well be shouting into the void.

Browser support for CSS, JavaScript, and other standards like web components has accelerated, especially through efforts like Interop. New technologies gain support across the board in a fraction of the time that they used to. I often learn about a new feature and check its browser support only to find that its coverage is already above 80 percent. Nowadays, the barrier to using newer techniques often isn’t browser support but simply the limits of how quickly designers and developers can learn what’s available and how to adopt it.

Today, with a few commands and a couple of lines of code, we can prototype almost any idea. All the tools that we now have available make it easier than ever to start something new. But the upfront cost that these frameworks may save in initial delivery eventually comes due as upgrading and maintaining them becomes a part of our technical debt.

If we rely on third-party frameworks, adopting new standards can sometimes take longer since we may have to wait for those frameworks to adopt those standards. These frameworks—which used to let us adopt new techniques sooner—have now become hindrances instead. These same frameworks often come with performance costs too, forcing users to wait for scripts to load before they can read or interact with pages. And when scripts fail (whether through poor code, network issues, or other environmental factors), there’s often no alternative, leaving users with blank or broken pages.

Where do we go from here?

Today’s hacks help to shape tomorrow’s standards. And there’s nothing inherently wrong with embracing hacks—for now—to move the present forward. Problems only arise when we’re unwilling to admit that they’re hacks or we hesitate to replace them. So what can we do to create the future we want for the web?

Build for the long haul. Optimize for performance, for accessibility, and for the user. Weigh the costs of those developer-friendly tools. They may make your job a little easier today, but how do they affect everything else? What’s the cost to users? To future developers? To standards adoption? Sometimes the convenience may be worth it. Sometimes it’s just a hack that you’ve grown accustomed to. And sometimes it’s holding you back from even better options.

Start from standards. Standards continue to evolve over time, but browsers have done a remarkably good job of continuing to support older standards. The same isn’t always true of third-party frameworks. Sites built with even the hackiest of HTML from the ’90s still work just fine today. The same can’t always be said of sites built with frameworks even after just a couple years.

Design with care. Whether your craft is code, pixels, or processes, consider the impacts of each decision. The convenience of many a modern tool comes at the cost of not always understanding the underlying decisions that have led to its design and not always considering the impact that those decisions can have. Rather than rushing headlong to “move fast and break things,” use the time saved by modern tools to consider more carefully and design with deliberation.

Always be learning. If you’re always learning, you’re also growing. Sometimes it may be hard to pinpoint what’s worth learning and what’s just today’s hack. You might end up focusing on something that won’t matter next year, even if you were to focus solely on learning standards. (Remember XHTML?) But constant learning opens up new connections in your brain, and the hacks that you learn one day may help to inform different experiments another day.

Play, experiment, and be weird! This web that we’ve built is the ultimate experiment. It’s the single largest human endeavor in history, and yet each of us can create our own pocket within it. Be courageous and try new things. Build a playground for ideas. Make goofy experiments in your own mad science lab. Start your own small business. There has never been a more empowering place to be creative, take risks, and explore what we’re capable of.

Share and amplify. As you experiment, play, and learn, share what’s worked for you. Write on your own website, post on whichever social media site you prefer, or shout it from a TikTok. Write something for A List Apart! But take the time to amplify others too: find new voices, learn from them, and share what they’ve taught you.

Go forth and make

As designers and developers for the web (and beyond), we’re responsible for building the future every day, whether that may take the shape of personal websites, social media tools used by billions, or anything in between. Let’s imbue our values into the things that we create, and let’s make the web a better place for everyone. Create that thing that only you are uniquely qualified to make. Then share it, make it better, make it again, or make something new. Learn. Make. Share. Grow. Rinse and repeat. Every time you think that you’ve mastered the web, everything will change.




of

Bharathiar University schedules odd-semester exams of 2024-25 session in conformity with pre-Covid pattern

The exams are set to begin on November 13




of

Three of a family killed in an accident in Krishnagiri




of

Former Tamil Nadu legislator Kovai Selvaraj dies of cardiac arrest

Tamil Nadu Chief Minister M.K. Stalin expressed shock over the death of former legislator and DMK spokesperson Kovai Selvaraj and extended his condolences.




of

Parents receive body of 15-year-old girl amidst suspicion over death




of

Poor road conditions, slow pace of repairs irk Coimbatore residents




of

A village lives in darkness even after 78 years of Independence




of

‘Over ₹380 crore received as donations for development of government schools in Tamil Nadu’




of

Prisoner booked for altercation with police officer in Salem




of

Health officials inquire doctor-police dispute in Salem




of

Local bodies in Tiruppur in the process of converting wells, borewells into rainwater harvesting structures




of

CPI(M) members submit petitions to Tiruppur City Corporation demanding rollback of property tax hike




of

How to explore the misty hills of Attuvampatti Crush in Kodaikanal?

Breathe in pollution-free air and enjoy farm-to-table food and learn what makes Kodai plums so unique



  • Life &amp; Style