giovedì 27 marzo 2014

Condividere video di YouTube impostando tempo d'inizio (e un bug di Google)

 

In questo articolo si parlerà (anche) di un bug di YouTube, (che poi vedremo ripercuotersi su Google in generale"), che ho rilevato "approfondendo e testando" le riproduzioni video che dovrebbero partire da un preciso tempo di inizio preimpostato.

Per poterne parlare però è necessario prima rivedere le diverse modalità di condivisione dei video di YouTube, almeno per chi non ne ha molta dimestichezza. Quindi, se pensate di non aver bisogno di spiegazioni particolari, saltate pure ed andate direttamente alla parte dell'articolo che tratta del bug riscontrato.


Cominciamo:


La condivisione dei video di YouTube è una prassi quasi quotidiana, quindi non devo certo spiegarvi io come si fa. Però, magari non tutti sanno che esistono diverse modalità di condivisione:

E probabilmente non tutti sanno che è possibile condividere un video impostando un "tempo di inizio riproduzione" ben preciso.
Non vi è mai capitato di voler condividere di un video solo una parte, quella che si trova al tot minuto o secondo? Si, insomma, dire all'amico/conoscente di turno: "guardati questo video: la parte interessante però comincia a hh:mm:ss". Ecco, di questo parleremo, e di come farlo nelle diverse modalità di condivisione contemplate da YouTube.



Come condividere tramite URL un video di YouTube impostando un "tempo di inizio riproduzione" ben preciso.

 
La procedura è molto semplice, guardate l'immagine e seguite i 5 punti:
  1. andate sulla pagina del video ed iniziate la riproduzione 
  2. mettete in pausa nel preciso punto in cui vorreste impostare il "tempo di inizio"
  3. cliccate sulla voce "Condividi"
  4. spuntate la casella "Inizia a:"
  5. copiate l'URL che compare nell'apposito spazio
L'URL copiato sarà molto simile a questo:
http://youtu.be/CYFEzk11rTM?t=1m46s

Cliccateci e vedrete che il video partirà dal tempo di inizio che avete scelto.

Ho colorato in modo differente l'URL perché, dopo aver eseguito la procedura, all'URL "standard" del video (in blu) YouTube ha aggiunto una stringa (in rosso) che permette proprio di impostare il "tempo di inizio di riproduzione".

In pratica, per impostare un tempo di inizio, si tratta semplicemente di aggiungere all'URL standard del video di YouTube una stringa come quella in rosso impostando i valori dei minuti e dei secondi (raramente delle ore).
Faccio qualche esempio così ci togliamo qualsiasi dubbio:
[URLvideo]?t=13m27s
[URLvideo]?t=27s
[URLvideo]?t=13m
[URLvideo]?t=03m07s
 Bene, a questo punto avete il vostro bel URL da condividere o da usare per linkare



Come condividere tramite embed (codice da incorporare) un video di YouTube impostando un "tempo di inizio riproduzione" ben preciso


Anche qui la procedura è molto semplice, guardate l'immagine e seguite i 6 punti:
  1. andate sulla pagina del video
  2. cliccate sulla voce "Condividi"
  3. cliccate sulla voce "Codice da incorporare"
  4. scegliete la "Dimensione video"
  5. copiate il codice HTML che compare nell'apposito spazio
  6. aggiungete la "stringa tempo" al codice HTML
Il codice HTML copiato sarà molto simile a questo:
<iframe width="480" height="360" src="//www.youtube.com/embed/CYFEzk11rTM" frameborder="0" allowfullscreen></iframe>


A questo codice però manca la "stringa tempo" che dovrebbe permettere di impostare il "tempo di inizio di riproduzione"; la fase n° 6 della procedura va fatta manualmente visto che YouTube non contempla un meccanismo automatico come nel caso della condivisione tramite URL.

Non c'è problema. Cercherò di spiegare nel modo più semplice possibile aiutandomi con i colori per evidenziare la diverse parti del codice.

In arancione troviamo il nostro codice HTML, spezzato da una parte in blu che corrisponde all'URL del video. La "stringa tempo" è un po' diversa da quella che abbiamo già visto in precedenza:
?start=106

C'è sempre il punto di domanda "?" ma "t" viene sostituita da "start" e ci sono solo i secondi, quindi il nostro tempo di inizio riproduzione andrà espresso tutto in secondi.
Ora si tratta semplicemente di includere la stringa nella corretta posizione all'interno del codice HTML.
La posizione corretta è immediatamente dopo l'URL del video (in blu) senza nessuno spazio.

Il risultato finale sarà simile a questo:
<iframe width="480" height="360" src="//www.youtube.com/embed/CYFEzk11rTM?start=106" frameborder="0" allowfullscreen></iframe>


Bene, a questo punto avete il vostro bel embed (codice HTML) da incorporare nel post o su una qualsiasi pagina web. 

Di seguito un esempio concreto di quello che abbiamo appena spiegato:



PS:
E se volete che il video si visualizzi in modo "centrato" è sufficiente aggiungere due piccoli tag HTML (in fuchsia), in questo modo:
<center><iframe width="480" height="360" src="//www.youtube.com/embed/CYFEzk11rTM?start=106" frameborder="0" allowfullscreen></iframe></center>




Come condividere tramite social network (nello specifico Google+) un video di YouTube impostando un "tempo di inizio riproduzione" ben preciso


Guardate l'immagine e seguite i 3 punti:
  1. andate sulla pagina del video
  2. cliccate sulla voce "Condividi"
  3. cliccate sull'icona di "Google+"
Verrà aperta una nuova scheda con il post per Google+ pronto per essere condiviso.

Il video condiviso su Google+ partirà SEMPRE dall'inizio e non esiste nessun modo per far si che venga incluso con un "tempo di inizio riproduzione" preimpostato, però...



Come potete vedere dall'immagine, ho evidenziato una parte di testo "particolare" che altro non è che ISO 8601, ovvero il formato standard internazionale per la rappresentazione di date ed orari (hh:mm:ss).
Ebbene, Google+ riconosce questo formato e quando è presente nel testo del post dove è stato condiviso un video di YouTube, inserisce automaticamente un link "ancora" che punta al corrispondente orario del video facendolo riprodurre (rimanendo su Google+) a partire da quel preciso momento.

La mia spiegazione è probabilmente un tantino confusa; inserisco immediatamente sotto un esempio concreto di un post di Google+ in cui è stato condiviso un video e che contiene nel testo alcuni link "ancora".


Espandete il testo e provate a cliccare su 00:25 o su 01:13 (link "ancore"); la riproduzione del video partirà da dove gli è stato indicato.

In conclusione:
nel condividere un video di YouTube su Google+ non è possibile preimpostare un "tempo di inizio riproduzione", ma è comunque possibile creare degli opportuni link "ancora".



Rilevato bug di Google nel controllo del tempo di durata di un video su YouTube


Fin qui abbiamo visto le diverse modalità di condividere un video di YouTube preimpostando un preciso tempo di inizio per la riproduzione.

Sappiamo che YouTube ha ben presente la durata complessiva di un video: è un dato che rende visibile e che teoricamente dovrebbe essere in grado di tenere sotto controllo.
Ebbene, NON È COSI', almeno non quando si cerca di condividere un video preimpostando un "tempo di inizio di caricamento".

Facciamo qualche test:


prendiamo ad esempio l'URL che abbiamo visto all'inizio:
http://youtu.be/CYFEzk11rTM?t=1m46s

Il video in questione ha una durata di 8 minuti e 34 secondi.
Cosa succede se nella stringa (in rosso) dell'URL impostiamo un tempo superiore alla durata del video? 

Proviamo. Cliccate sul link e vedete cosa succede
http://youtu.be/CYFEzk11rTM?t=9m46s

Il video rimane in continuo caricamento e non viene riprodotto.


A questo punto proviamo a fare un test anche sul codice da incorporare (embed).
Inserisco nuovamente lo stesso codice HTML dell'embed già utilizzato modificando però (in eccesso) la "stringa tempo" portandola da 106 secondi a 1000 (?start=1000). Questo il risultato:


Anche in questo caso il video rimane in continuo caricamento e non viene riprodotto.  


Non ci rimane che provare a vedere cosa succede ai video condivisi su Google+


Questa volta andiamo nei commenti (click sul fumettino per espanderli). Nel primo ci sono 2 link "ancore", 20:30 e 21:30.
Cliccandoci sopra succede la stessa cosa dei due test precedenti:

il video rimane in continuo caricamento e non viene riprodotto.  


Sembra non ci siano dubbi: il tempo di durata dei video non viene preso in considerazione per un eventuale controllo quando si cerca di condividere un video preimpostando un "tempo di inizio di caricamento" maggiore del tempo di durata del video stesso.
 
Ora, io non so se sia corretto definirlo un bug visto e considerato che difficilmente qualcuno va ad impostare volutamente un tempo di inizio superiore a quello di durata, ma a me hanno insegnato che quando scrivi del codice devi cercare anche di prevedere possibili errori dell'utente che possano mandare in errore l'applicazione, il software, la pagina web ecc.

Non sarà un bug serio, però...
certo è che da Google non me lo sarei aspettato




3 commenti:

  1. I bug ci sono sempre; e quando correggi non sai mai cosa capita. Secondo me, nèh!

    RispondiElimina
    Risposte
    1. Sicuro Juhan, ma da Google uno s'aspetta un po' meno superficialità, perché di quella si tratta visto che la durata dei video è un dato in loro possesso e non è così strano quando hai un "limite" tenere sotto controllo che questo limite non venga superato.
      Bug che possono capitare ce ne sono ed alcuni sono più "accettabili" di altri (tipo questo) perché più "profondi" e meno logici, ma questo del limite della durata secondo me era prevedibile.

      Elimina
  2. Non funziona per niente quando vuoi condividere un video su Facebook...

    RispondiElimina