arts

RE:WIRED 2021: John Cho on Cowboy Bebop and Martial Arts

Actor John Cho talks about his training as Spike in Netflix’s “Cowboy Bebop” and one particularly tricky sequence.




arts

5 Gadgets - Cobra Kai Cast Test Martial Arts Gadgets

Who better to test the latest in martial arts technology than the cast of Netflix's Cobra Kai? Watch as Xolo Maridueña, Jacob Bertrand, Tanner Buchanan, Mary Mouser and Peyton List punch and crane kick these gadgets, rating them along the way.




arts

Inside the Lab That Starts Fires For Science

At the Missoula Fire Sciences Lab, scientists research the elements that make up forest fires. In this episode of WIRED Field Trip, we take a tour of this facility and learn how these teams develop a greater understanding of wildfires. Director: Alice Roth Editor: Lous Lalire Researchers: Steve Baker, Mark A Finney, Serra J. Hoagland, Sharon Hood, Jim Reardon Coordinating Producer: Kevyn Fairchild Line Producer: Joseph Buscemi Associate Producer: Amy Haskour Field Producer: Katherine Wzorek Production Manager: Eric Martinez Production Coordinator: Fernando Davila Fact Checker: Kelsey Lannin Post Production Supervisor: Alexa Deutsch Supervising Editor: Doug Larsen Assistant Editor: Diego Rentsch Special Thanks : Thomas Dzomba Archival and Additional Footage Credits Messengers: The Owls of Mescalero Directed by Janey Fugate US Department of Agriculture




arts

Delhi air pollution persists in 'Very Poor' category, thick smog engulfs parts of city

Notably, the floating toxic foam on the Yamuna River in the Kalindi Kunj area persisted, as the water pollution remained high




arts

China starts clinical trial to repair human spinal cord injury




arts

In charts| Indian specialty chemicals sector

Here is a look at the key emerging trends in India’s specialty chemicals sector




arts

In charts| Trends in consumer credit

Here are four visualisations on the changing landscape of consumer credit.




arts

In charts| Indian auto-component industry 

Indian auto-component industry is dominated by demand from domestic OEMs, says ICRA




arts

In charts | Women taking charge of their life goals




arts

In charts| Women investors in mutual funds on the rise

Here are four charts illustrating the evolving profile of women investors in mutual funds




arts

In charts | India’s service exports at all-time high in February; trade deficit widens

Below are the charts showing how merchandise and service trade have been in the recent months




arts

In charts | Investment trends of HNI women in India

Younger women respondents exhibit greater interest in alternative investments while the elder respondents favour listed equities




arts

In charts| How Indian equity and debt markets fared in FY24?

Here are five charts which capture the performance of the Indian market in FY24




arts

In charts | Trends in NCDs among Indians




arts

In charts| Trends in Mutual fund holdings

Flows to small-cap funds turned negative for the first time in 2.5 years




arts

In charts| Indian services industry

India’s share in global services increased from 2% in 2005 to 4.6% in 2023




arts

In charts| Trends in Indian household savings

The allocation of Indian household savings to non-bank instruments remains lower compared to developed markets




arts

In charts| Boom in India’s luxury housing market

The proportion of affluent households is increasing every year, as does the money Indians spend on luxury goods and services




arts

Kangra Arts Gallery Inaugurated in Mcleodganj

A new step towards promoting Himachal’s traditional miniature paintings Kangra Arts Promotion Society (KAPS) took a further step in their mission to preserve Kangra’s ethnic form of art by opening a new art gallery in Mcleodganj. The highlight of the event was a special message from the John Abraham, the Bollywood actor. The gallery was […]




arts

World Tourism Day: Discover cities in India through performance arts

Engage in Tamil kuthu in Chennai, hip-hop in Hyderabad, movement therapy in Bengaluru or Latin folk dance in Kochi. Dancescapes presents a city through performance art curated experiences



  • Life & Style

arts

Naga cuisine, an artsy deli, a chocolate nook: Mumbai’s three new cafés

A three-table Naga restaurant, an artsy deli in a 1940s Art Deco mansion and a new chocolate nook: here are three new cafés to check out in Mumbai




arts

First International Calligraphy Festival of Kerala under way in Kochi is a hit with enthusiasts and fine arts students

Exhibition serves as an introduction to the potential of the art form which is gaining popularity among young artists in State




arts

Govt. starts distribution of rice and sugar as Deepavali gift





arts

Disruption in water supply to several parts of Hyderabad on Monday




arts

U.S. Open tennis: Defending champions Djokovic, Gauff off to blazing starts

Second seed Aryna Sabalenka, the Australian Open champion and one of the pre-tournament favourites, shone under the lights as she beat Australian Priscilla Hon




arts

Asia’s yes, but is Kerala School Kalolsavam world’s biggest arts festival of school children?

With the Internet age making information accessible and easy to source, a clear answer to ground the claim may soon be in the offing




arts

Rolf von Bueren of Lotus Arts de Vivre on his relationship with Asia and its rich art history

Rolf von Bueren, an avid collector of exotic art and jewellery for 40 years, brings the focus back to Asia’s rich pool of resources through his brand



  • Life & Style

arts

Thrissur Sahodaya surges ahead in CBSE State arts festival

Kochi Sahodaya is in the second position with 481 points and Malabar Sahodaya with 478 points is in the third position. Among schools, Silver Hills Public School, Kozhikode, is leading with 72 points




arts

Yodelling his way into our hearts: A tribute to Kishore Kumar



  • Bindu D Menon

arts

Government re-starts sales of rice, atta under ‘Bharat’ brand, raises prices

After flagging off the mobile vans of these cooperatives, carrying the items, Joshi said that the intervention would continue till the allocated stock gets exhausted




arts

Chana prices crash as imports from Australia begin and sowing starts

Huge imports of yellow peas also weigh on prices




arts

A stage for home grown arts

Shekhawati Utsav proves that there is more to Rajasthan than forts, desert and camels.




arts

Defence Ministry cautions firms using Chinese parts for drones

Ministry dashes off a letter to industry bodies asking them to sensitise manufacturers against using Chinese parts for drones




arts

PM E-DRIVE: Government starts disbursal of incentives amounting to ₹320 crore in first month of scheme

Total 28,81,436 units of EVs to be incentivised with an outlay of ₹10,900 crore in the next 2 years




arts

MCD starts demolition drive in Bhalswa colony in north-west Delhi

The Municipal Corporation of Delhi on August 13 began a demolition drive in north-west Delhi's Bhalswa Dairy colony; heavy deployment of security personnel has been made at the site




arts

Power shutdown in parts of Tiruchi on November 9




arts

Peravurani farmers’ market starts functioning




arts

608: Can WordPress Kill Your Resume, Fav Parts of Web Dev, Exploring HTMX, and more!

We're opening up the ShopTalk mailbag and answering your questions, including does WordPress on your resume kill your job chances, what are our fav and least fav parts of web dev, our thoughts on HTMX, and what is it like to use pnpm instead of npm.




arts

Interesting, but only in parts

The profiling of 25 BITSians follows a templated style




arts

It All Starts with a Humble <textarea>

Andy Bell rings out a fresh call in support of the timeless concept of progressive enhancement. What does it mean to build a modern JavaScript-focussed web experience that still works well if part of the stack isn’t supported or fails? Andy shows us how that might be done.


Those that know me well know that I make a lot of side projects. I most definitely make too many, but there’s one really useful thing about making lots of side projects: it allows me to experiment in a low-risk setting.

Side projects also allow me to accidentally create a context where I can demonstrate a really affective, long-running methodology for building on the web: progressive enhancement. That context is a little Progressive Web App that I’m tinkering with called Jotter. It’s incredibly simple, but under the hood, there’s a really solid experience built on top of a minimum viable experience which after reading this article, you’ll hopefully apply this methodology to your own work.

What is a minimum viable experience?

The key to progressive enhancement is distilling the user experience to its lowest possible technical solution and then building on it to improve the user experience. In the context of Jotter, that is a humble <textarea> element. That humble <textarea> is our minimum viable experience.

Let me show you how it’s built up, progressively real quick. If you disable CSS and JavaScript, you get this:

This result is great because I know that regardless of what happens, the user can do what they needed to do when the loaded Jotter in their browser: take some notes. That’s our minimum viable experience, completed with a few lines of code that work in every single browser—even very old browsers. Don’t you just love good ol’ HTML?

Now it’s time to enhance that minimum viable experience, progressively. It’s a good idea to do that in smaller steps rather than just provide a 0% experience or a 100% experience, which is the approach that’s often favoured by JavaScript framework enthusiasts. I think that process is counter-intuitive to the web, though, so building up from a minimum viable experience is the optimal way to go, in my opinion.

Understanding how a minimum viable experience works can be a bit tough, admittedly, so I like to use a the following diagram to explain the process:

Let me break down this diagram for both folks who can and can’t see it. On the top row, there’s four stages of a broken-up car, starting with just a wheel, all the way up to a fully functioning car. The car enhances only in a way that it is still mostly useless until it gets to its final form when the person is finally happy.

On the second row, instead of building a car, we start with a skateboard which immediately does the job of getting the person from point A to point B. This enhances to a Micro Scooter and then to a Push Bike. Its final form is a fancy looking Motor Scooter. I choose that instead of a car deliberately because generally, when you progressively enhance a project, it turns out to be way simpler and lighter than a project that was built without progressive enhancement in mind.

Now that we know what a minimum viable experience is and how it works, let’s apply this methodology to Jotter!

Add some CSS

The first enhancement is CSS. Jotter has a very simple design, which is mostly a full height <textarea> with a little sidebar. A flexbox-based, auto-stacking layout, inspired by a layout called The Sidebar is used and we’re good to go.

Based on the diagram from earlier, we can comfortably say we’re in Skateboard territory now.

Add some JavaScript

We’ve got styles now, so let’s enhance the experience again. A user can currently load up the site and take notes. If the CSS loads, it’ll be a more pleasant experience, but if they refresh their browser, they’re going to lose all of their work.

We can fix that by adding some local storage into the mix.

The functionality flow is pretty straightforward. As a user inputs content, the JavaScript listens to an input event and pushes the content of the <textarea> into localStorage. If we then set that localStorage data to populate the <textarea> on load, that user’s experience is suddenly enhanced because they can’t lose their work by accidentally refreshing.

The JavaScript is incredibly light, too:

const textArea = document.querySelector('textarea');
const storageKey = 'text';

const init = () => {

  textArea.value = localStorage.getItem(storageKey);

  textArea.addEventListener('input', () => {
    localStorage.setItem(storageKey, textArea.value);
  });
}

init();

In around 13 lines of code (which you can see a working demo here), we’ve been able to enhance the user’s experience considerably, and if we think back to our diagram from earlier, we are very much in Micro Scooter territory now.

Making it a PWA

We’re in really good shape now, so let’s turn Jotter into a Motor Scooter and make this thing work offline as an installable Progressive Web App (PWA).

Making a PWA is really achievable and Google have even produced a handy checklist to help you get going. You can also get guidance from a Lighthouse audit.

For this little app, all we need is a manifest and a Service Worker to cache assets and serve them offline for us if needed.

The Service Worker is actually pretty slim, so here it is in its entirety:

const VERSION = '0.1.3';
const CACHE_KEYS = {
  MAIN: `main-${VERSION}`
};

// URLS that we want to be cached when the worker is installed
const PRE_CACHE_URLS = ['/', '/css/global.css', '/js/app.js', '/js/components/content.js'];

/**
 * Takes an array of strings and puts them in a named cache store
 *
 * @param {String} cacheName
 * @param {Array} items=[]
 */
const addItemsToCache = function(cacheName, items = []) {
  caches.open(cacheName).then(cache => cache.addAll(items));
};

self.addEventListener('install', evt => {
  self.skipWaiting();

  addItemsToCache(CACHE_KEYS.MAIN, PRE_CACHE_URLS);
});

self.addEventListener('activate', evt => {
  // Look for any old caches that don't match our set and clear them out
  evt.waitUntil(
    caches
      .keys()
      .then(cacheNames => {
        return cacheNames.filter(item => !Object.values(CACHE_KEYS).includes(item));
      })
      .then(itemsToDelete => {
        return Promise.all(
          itemsToDelete.map(item => {
            return caches.delete(item);
          })
        );
      })
      .then(() => self.clients.claim())
  );
});

self.addEventListener('fetch', evt => {
  evt.respondWith(
    caches.match(evt.request).then(cachedResponse => {
      // Item found in cache so return
      if (cachedResponse) {
        return cachedResponse;
      }

      // Nothing found so load up the request from the network
      return caches.open(CACHE_KEYS.MAIN).then(cache => {
        return fetch(evt.request)
          .then(response => {
            // Put the new response in cache and return it
            return cache.put(evt.request, response.clone()).then(() => {
              return response;
            });
          })
          .catch(ex => {
            return;
          });
      });
    })
  );
});

What the Service Worker does here is pre-cache our core assets that we define in PRE_CACHE_URLS. Then, for each fetch event which is called per request, it’ll try to fulfil the request from cache first. If it can’t do that, it’ll load the remote request for us. With this setup, we achieve two things:

  1. We get offline support because we stick our critical assets in cache immediately so they will be accessible offline
  2. Once those critical assets and any other requested assets are cached, the app will run faster by default

Importantly now, because we have a manifest, some shortcut icons and a Service Worker that gives us offline support, we have a fully installable PWA!

Wrapping up

I hope with this simplified example you can see how approaching web design and development with a progressive enhancement approach, everyone gets an acceptable experience instead of those who are lucky enough to get every aspect of the page at the right time.

Jotter is very much live and in the process of being enhanced further, which you can see on its little in-app roadmap, so go ahead and play around with it.

Before you know it, it’ll be a car itself, but remember: it’ll always start as a humble little <textarea>.


About the author

Andy Bell is an independent designer and front-end developer who’s trying to make everyone’s experience on the web better with a focus on progressive enhancement and accessibility.

More articles by Andy




arts

Air India flight from Mangaluru to Mumbai departs after over-three-hour delay

An Air India official attributed the delay to ‘technical issues’




arts

The sum of its parts

Project Cinema City is a grand exercise exploring the relationship between Hindi cinema and Mumbai




arts

The preceptor as patron of arts

Ramanuja made music and dance an integral part of worship at Srirangam.



  • History &amp; Culture

arts

Depression likely to bring heavy rain in most parts of Odisha

It is likely to move nearly northwards and intensify into a depression over the northwest Bay of Bengal off north Odisha-Gangetic West Bengal coasts on September 8




arts

Schema-focused working methods for arts and body-based therapies [electronic resource] : a practical guide / edited by Suzanne Haeyen.

New York, NY : Routledge , 2024.




arts

Once Samson starts striking, it’s hard to stop him: South Africa captain Markram on whirlwind century

“Plans to negate him and better plans will help us going forward,” said Aiden Markram




arts

Bvlgari starts digital boutique in India in tie up with Tata CLiQ Luxury

The digital boutique will also house Bvlgari time-pieces including the Serpenti, the Octo Finissimo collection, as well as the Octo Roma.




arts

Bose Krishnamachari emphasises the role of arts in education




arts

Talent from care homes to get a platform with ‘Thaliru’, an arts festival by Kerala child welfare council