Cartella smart
# Cartella smart

La Cartella smart (in inglese Smart Folder) è una speciale cartella virtuale di macOS i cui contenuti vengono aggiornati dinamicamente in base a specifici criteri definiti dall'utente.

## Descrizione

Introdotte in Mac OS X Tiger, le cartelle smart contengono i risultati di una ricerca effettuata dal motore Spotlight. Quando il file system viene modificato da un programma o dallo stesso sistema operativo, le smart folders vengono automaticamente aggiornate in modo da rispecchiare il contenuto del file system. Per esempio si può creare una smart folder che mostri i documenti Microsoft Word modificati negli ultimi sette giorni che contengano la parola "mela".

## Implementazione

Il concetto di smart folder è stato implementato in diversi programmi forniti con macOS. Tutti i programmi utilizzano il motore Spotlight per le ricerche, infatti, le stesse ricerche possono essere effettuate anche con le smart folder. Quest'ultime, implementate nei singoli programmi, effettuano la ricerca solo sul genere di file gestito dal programma, in modo da permettere una migliore organizzazione dei file. Le smart folder sono individuabili dal disegno di una cartella viola con un ingranaggio al centro. Le principali varianti sono:

* Smart Mailboxes in Mail utilizzate per organizzare le e-mail.
* Smart Playlist in iTunes utilizzate per catalogare ed ordinare la musica.
* Smart Group utilizzate per separare le schede del programma Contatti.
* Smart Album in iPhoto utilizzate per catalogare le fotografie.

Prima di Mac OS X Tiger, iTunes e iPhoto implementavano le smart folders tramite un motore di ricerca interno.

Il concetto di smart folder non è stato inventato da Apple, per esempio:

* Nel 1991 l'utility Magnets permetteva agli utenti Macintosh di apporre dei magneti in ogni cartella. I magneti contenevano delle descrizioni che venivano utilizzate dal programma principale per effettuare le ricerche.
* Nel 1998 Lotus Software presentò Lotus Agenda il primo Personal Information Manager che permetteva di definire delle categorie (contenitori simili alle cartelle) che venivano automaticamente aggiornati a seconda delle modifiche apportate al database del programma.
