Penso che tu possa guardare alcune opzioni ...
Inizia con la costruzione di 2 prototipi
- Un prototipo con tutti i suoni precaricati.
- Un prototipo con tutti i suoni disponibili al clic.
Questo ti permetterà di confrontare effettivamente se è davvero così male. A seconda della tua architettura, probabilmente non avrai bisogno di 2 prototipi separati e solo una modifica alla configurazione (preferibilmente con un parametro di richiesta URL, come ?sound-prefetch=false
). Questo potrebbe tornare utile in seguito.
Cache locale
A seconda dell'utilizzo del tuo sito, potrebbe essere che una cache locale sarebbe abbastanza buona per te, se i tuoi utenti hanno moderni browser che supportano un DB locale. Ovviamente, questo potrebbe non essere necessariamente applicabile al tuo caso d'uso, ma se lo fa forse prova a memorizzare nella cache i suoni più comunemente usati per tutti gli utenti, e i suoni usati di recente per l'utente corrente.
Assicurati inoltre di sfruttare la normale cache del browser specificando le intestazioni corrette. Ciò funzionerebbe per la maggior parte dei browser, sia moderni che vecchi.
Monitoraggio attività
Il modo migliore per fare ciò che è meglio per i tuoi utenti è guardare come usano il tuo software. Ascoltano spesso gli stessi suoni? La posizione dello snippet del suono ha un impatto sulla probabilità che venga riprodotta (centro morto dello schermo, barra di navigazione in alto, ecc ...)? Raccogli le statistiche dopo alcuni giorni / settimane / mesi e scopri cosa ha più senso prefetch.
Comprimi i tuoi suoni
Dipenderà nuovamente dal tuo caso di utilizzo effettivo, ma sospetto che per l'apprendimento della musica puoi usare file audio piuttosto compressi e comunque essere in grado di ascoltare abbastanza bene. Quindi non esitare ad aumentare i rapporti di compressione sui file audio che servi.
E a proposito, qual è il formato dei file che servi?
Come incorporare i tuoi suoni?
In che modo incorpori i tuoi suoni? Hai preso in considerazione diversi approcci? Puoi riprodurli utilizzando un semplice lettore basato su JavaScript che richiederà di recuperare l'intero file, o forse puoi usare un formato di file e un lettore che supporta lo streaming, in modo che non devi aspettare che il file sia completamente caricato .
Implementare il tuo player incorporato (uno per ogni suono), sia con JS, Applet, Flash o altro, potrebbe essere un'alternativa migliore. O forse anche una singola Rich Internet Application potrebbe essere un'alternativa migliore, a seconda di quanti suoni hai per pagina.
Prova a dare una scelta al tuo utente
Potrebbe essere meglio sfruttare alcune delle strategie sopra riportate e quindi offrire agli utenti la possibilità di scegliere ciò che è meglio per loro. I tuoi utenti in aree ben connesse con la banda larga veloce non si preoccuperanno di un paio di MB di download per pagina, soprattutto se sanno qual è lo scopo previsto, se è pre-scaricata o meno.
Tuttavia, gli utenti che si connettono con una larghezza di banda inferiore a quella ideale ti ringraziano se hanno l'opportunità di scegliere come caricare le tue pagine.