AppInventory: a Visual Catalogue of Web 2.0 and Mobile Applications for Supporting Teaching and Learning Activities.