Il blog di Sandro Rizzetto

Scoprire come si usa il corredo fotografico con PivotViewer

 

Incuriosito da un post di Marco che lo citava, ho deciso di dare un’occhiata a PivotViewer, un controllo per Silverlight 4 che consente di visualizzare grandi moli di oggetti all’interno di un’unica applicazione Silverlight e utilizzare DeepZoom per navigare all’interno di questi dati. In parole piú semplici, disponendo di una base dati in cui ad ogni record è associata una foto (es. un catalogo prodotti o un database di atleti) è possibile filtrare questi dati alla maniera dei client di Business Intelligence, ma con la differenza di aver come risultato una “griglia” di immagini invece che di numeri o stringhe.

La prima collection di dati che mi è venuta in mente per testarlo su un caso pratico è stata la mia libreria di Photogalleries, visto che ogni foto risiede in un Db MS-Sql corredato dai suoi dati EXIF ed era quindi facilmente esportabile nel file .cxml che rappresenta la fonte-dati per il controllo.

Fotograficamente parlando, l’analisi è molto divertente e utile perchè, condotta su una grossa mole di foto, permette di valutare alcuni aspetti non sempre evidenti; oltre a cose "banali" e ovvie (le foto floreali la maggior parte sono fatte col 100 macro... ma va!!) si può infatti scoprire che:

  • fotografo più in autunno/inverno invece che nella bella stagione
  • che quell’obiettivo costoso che ho da poco comprato lo uso pochissimo
  • che un certo zoom lo uso maggiormente ad una focale invece che a un’altra (es. se il 24-105 lo usi moltissimo da 90 in su non pensarci neanche di cambiarlo con il 24-70!)
  • che da quando hai la macchina nuova molto meno rumorosa, non usi quasi più il flash ma sfrutti molto di più gli alti ISO
  • che, nonostante i testi sacri insegnino di usare diaframmi intermedi (f/9, f10) tu scatti molto a TA (tutta apertura per i non addetti), quindi rassegnati a comprare dei serie L
  • che raramente stari l’esposizione (tanto si fa in post-produzione)
  • che usi il modo P(rogram), tanto hai comunque la coppia variabile, o l’AV (automatismo a priorità di diaframmi) e che l’automatismo a priorità di tempo è completamente inutile se hai gli altri due (come dico da anni)

...e potrei continuare

A essere sincero tutte queste considerazioni le potevo già fare (e le faccio) anche in Adobe Lightroom, ma il risultato grafico non è così immediato come in PivotViewer (ad es. sfruttando la feature carina del grafico a barre formato dalle foto).
pivotViewer

Tecnicamente parlando la cosa è abbastanza semplice: si tratta solo di capire come generare facilmente il file .cxml e i relativi file dzc/dzi di DeepZoom (tecnologia che avevo testato giusto un anno fa, si vede che i primi di gennaio mi ispirano a queste cose…).

Nel mio caso una bella query sql FOR XML ben congegnata sarebbe stata la soluzione più elegante, ma purtroppo è passato troppo tempo da quando Paolo ha cercato di insegnarmela (e si vede che non è entrata bene del tutto nella mia zucca)…ho quindi ripiegato sul tool a linea di comando, dando anche un’occhiata all’add-in per Excel che per cose semplici è forse la soluzione più facile ed immediata.

Il vero problema sta più che altro nel deployment; se avessi voluto generare i file DeepZoom per tutte le 6500 foto delle mie photogallery (o addirittura per le 58.000 totali della mia library) la quantitá di file e directory risultante sarebbe stata enorme. Non si tratta tanto di un overhead di spazio (anzi, addirittura è inferiore ai file originali) quanto del tempo speso con un client ftp a uploadare migliaia (o centinaia di migliaia di files). Per dare un paio di numeri ho convertito le 240 fotografie del mio Greatest Hits provando sia a risoluzione web (900x600) che a quella FullHD (1920x1280); ecco i risultati:

Risoluzione Nr. Files Jpeg Dim.Originale Dim.Convertita Numero Files DZ Numero Folder DZ
900x600 240 61,6 Mb
(62 on disk)
37,6 Mb
(51,7 on disk)
6169 2890
1920x1280 240 306 Mb
(306 on disk)
132 Mb
(169 on disk)
17029 3135

 

L’alternativa, come suggerito da Microsoft, è sicuramente quella di generare i file direttamente sul server di produzione, cosa che non dovrebbe essere neanche così difficile visto che su Codeplex viene fornita una library in C# per implementare le stesse funzionalità del command-line tool.

Il mio case-study messo online si è quindi limitato a queste 240 foto, che ovviamente sono un campione troppo piccolo per le analisi di cui sopra, ma che dovrebbe essere sufficiente a far capire le potenzialità del controllo:

Clicca qui per il mio “RizPhotoPivotViewer”…

 

Consiglio ai webdesigner di darci un’occhiata e consigliarlo a qualche cliente; sicuramente una ricerca prodotto su un sito o su un B2B (ad es. mi viene in mente questo) condotta in questo modo, per l’utente finale è molto accattivante.

Aggiungi Commento

Copyright © 1997-2017 Sandro Rizzetto | All Rights Reserved | Riproduzione delle fotografie vietata | Powered by me