diff --git a/bbb-lti/grails-app/assets/javascripts/tool.js b/bbb-lti/grails-app/assets/javascripts/tool.js
index 52695451cdedd1defd109bec500b9fb0976359c8..b5ad9cc65819349d8d1073531ca109578234d2b5 100644
--- a/bbb-lti/grails-app/assets/javascripts/tool.js
+++ b/bbb-lti/grails-app/assets/javascripts/tool.js
@@ -22,17 +22,17 @@ $(document).ready(function() {
 			$('#recordings').dataTable({
 				columnDefs: [ {
 					targets: 4,
-					render: $.fn.dataTable.render.moment('X', 'LLL', locale)
+					render: $.fn.dataTable.render.moment('X', 'lll', locale)
 				} ],
 				sPaginationType : "full_numbers",
 				"columns": [
 					null,
 					null,
 					null,
+					{ "width": "90px" },
 					null,
-					null,
-					null,
-					{ "width": "160px" }
+					{ "width": "40px" },
+					{ "width": "120px" }
 				],
 				"order": [[ 4, "desc" ]]
 			});
diff --git a/bbb-lti/grails-app/assets/stylesheets/tool.css b/bbb-lti/grails-app/assets/stylesheets/tool.css
new file mode 100644
index 0000000000000000000000000000000000000000..a0e939bb962772676662774d3bedd24b67ffabe4
--- /dev/null
+++ b/bbb-lti/grails-app/assets/stylesheets/tool.css
@@ -0,0 +1,14 @@
+.thumbnail {
+    height: 51px;
+    padding: 4px;
+    width: 66px;
+    float: left;
+}
+
+.thumbnail:hover {
+    display: inline-block;
+    height: auto;
+    position: absolute;
+    width: auto;
+    z-index: 99999;
+}
diff --git a/bbb-lti/grails-app/controllers/org/bigbluebutton/ToolController.groovy b/bbb-lti/grails-app/controllers/org/bigbluebutton/ToolController.groovy
index b868a2b564c5cab3425ed9f20a5345b9b8095bd2..87a85f90519459ce007461fb734e0325f99b19fb 100644
--- a/bbb-lti/grails-app/controllers/org/bigbluebutton/ToolController.groovy
+++ b/bbb-lti/grails-app/controllers/org/bigbluebutton/ToolController.groovy
@@ -309,9 +309,7 @@ class ToolController {
             recordings = response
         }
         // Sanitize recordings
-        Iterator i = recordings.iterator();
-        while (i.hasNext()) {
-            def recording = i.next()
+        for (recording in recordings) {
             // Calculate duration.
             long endTime = Long.parseLong((String)recording.get("endTime"))
             endTime -= (endTime % 1000)
@@ -326,10 +324,22 @@ class ToolController {
             // Add reportDate.
             recording.put("reportDate", reportDate)
             recording.put("unixDate", startTime / 1000)
+            // Add sanitized thumbnails
+            recording.put("thumbnails", sanitizeThumbnails(recording.playback.format))
         }
         return recordings
     }
 
+    private List<Object> sanitizeThumbnails(Object format) {
+        if (format.preview == null || format.preview.images == null || format.preview.images.image == null) {
+            return new ArrayList()
+        }
+        if (format.preview.images.image instanceof Map<?,?>) {
+            return new ArrayList(format.preview.images.image)
+        }
+        return format.preview.images.image
+    }
+
     private String getCartridgeXML(){
         def lti_endpoint = ltiService.retrieveBasicLtiEndpoint() + '/' + grailsApplication.metadata['app.name']
         def launch_url = 'http://' + lti_endpoint + '/tool'
diff --git a/bbb-lti/grails-app/i18n/messages.properties b/bbb-lti/grails-app/i18n/messages.properties
index 0385dd5f83b75874d4fdde0d3eb08f7b26093b74..4b708fbecba231e618ff510beff21645a3ccdddd 100644
--- a/bbb-lti/grails-app/i18n/messages.properties
+++ b/bbb-lti/grails-app/i18n/messages.properties
@@ -42,6 +42,6 @@ tool.view.preview=Preview
 tool.view.date=Date
 tool.view.duration=Duration
 tool.view.actions=Actions
-tool.view.dateFormat=E, MMM dd, yyyy HH:mm:ss Z
+tool.view.dateFormat=E, MM dd, yyyy HH:mm:ss Z
 
 tool.error.general=Connection could not be established.
diff --git a/bbb-lti/grails-app/i18n/messages_es.properties b/bbb-lti/grails-app/i18n/messages_es.properties
index b749c09d525a5fb43763ccb414654d6d5723af04..2513f516b2906e9dec726a59a4225b176dd32311 100644
--- a/bbb-lti/grails-app/i18n/messages_es.properties
+++ b/bbb-lti/grails-app/i18n/messages_es.properties
@@ -43,6 +43,6 @@ tool.view.preview=Vista preliminar
 tool.view.date=Fecha
 tool.view.duration=Duraci&#243;n
 tool.view.actions=Acciones
-tool.view.dateFormat=E, MMM dd, yyyy HH:mm:ss Z
+tool.view.dateFormat=E, MM dd, yyyy HH:mm:ss Z
 
 tool.error.general=No pudo estableserce la conexi&#243;n.
diff --git a/bbb-lti/grails-app/i18n/messages_fr.properties b/bbb-lti/grails-app/i18n/messages_fr.properties
index 6d56c9e0d0cf9d7f7d37af1474c0815632f13ee0..a25b69bf01283a26867cecec4706e18ef265e11a 100644
--- a/bbb-lti/grails-app/i18n/messages_fr.properties
+++ b/bbb-lti/grails-app/i18n/messages_fr.properties
@@ -38,6 +38,6 @@ tool.view.preview=Apre&#231;u
 tool.view.date=Date
 tool.view.duration=Dur&#233;e
 tool.view.actions=Actions
-tool.view.dateFormat=E, MMM dd, yyyy HH:mm:ss Z
+tool.view.dateFormat=E, MM dd, yyyy HH:mm:ss Z
 
 tool.error.general=Pas possible &#233;tablir la connection.
diff --git a/bbb-lti/grails-app/views/tool/index.gsp b/bbb-lti/grails-app/views/tool/index.gsp
index beabc86363ae1beef37d4e3f844f78777853f9d0..ca27d71ca15671b92dff02298e30e04ed852dfe9 100644
--- a/bbb-lti/grails-app/views/tool/index.gsp
+++ b/bbb-lti/grails-app/views/tool/index.gsp
@@ -4,6 +4,7 @@
         <link rel="shortcut icon" href="${assetPath(src: 'favicon.ico')}" type="image/x-icon">
         <asset:stylesheet src="bootstrap.css"/>
         <asset:stylesheet src="dataTables.bootstrap.min.css"/>
+        <asset:stylesheet src="tool.css"/>
         <asset:javascript src="jquery.js"/>
         <asset:javascript src="jquery.dataTables.min.js"/>
         <asset:javascript src="dataTables.bootstrap.min.js"/>
@@ -44,7 +45,15 @@
                     </td>
                     <td class="cell c1" style="text-align:left;">${r.name}</td>
                     <td class="cell c2" style="text-align:left;">${r.metadata.contextactivitydescription}</td>
-                    <td class="cell c3" style="text-align:left;">${r.metadata.contextactivitydescription}</td>
+                    <td class="cell c3" style="text-align:left;">
+                    <g:if test="${r.published}">
+                        <div>
+                        <g:each in="${r.thumbnails}" var="thumbnail">
+                            <img src="${thumbnail.content}" class="thumbnail"></img>
+                        </g:each>
+                        </div>
+                  </g:if>
+                    </td>
                     <td class="cell c4" style="text-align:left;">${r.unixDate}</td>
                     <td class="cell c5" style="text-align:right;">${r.duration}</td>
                     <g:if test="${ismoderator}">