Itsme Lezione Usi Lugano
Upcoming SlideShare
Loading in...5
×
 

Itsme Lezione Usi Lugano

on

  • 1,362 views

 

Statistics

Views

Total Views
1,362
Slideshare-icon Views on SlideShare
1,362
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Itsme Lezione Usi Lugano Itsme Lezione Usi Lugano Presentation Transcript

    • itsme: a technical overview Marco Loregian marco.loregian@itsme.it Lugano, October 8, 2009 © 2008 by Itsme S.r.l. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of Itsme S.r.l.
    • About me Computer Science PhD - can be translated to “somehow evoluted geek” Aware of itsme from the beginning Now cross-working different teams and tasks - itsme OS software architecture - itsme emulator - website mastering - itsme evangelism Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Ajax Architecture Website GWT Wordpress Social Concept Licenses Computing Emulat or Gnome u nd Naming itsme ck itsme gro e ba archite Virtual File a rg Window System cture yl Managment ic s Open er Source V top Distributed Front-end of KDE resources lo t ue s Guglielmo Architectur Linux A is s e n) Metadata pe Managem o Back-end ent to f( Metadata extraction lo OLPC RDF Customizatio n A Sabayon Semantic Interoperabili ty Web Linux eldy Ontologies Tracker Semantic Nepomuk Concept Desktop Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • The real aim of this lesson is to discuss our open issues with you No participation = extremely boring lesson :-( Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Outline After introduction, 3 main topics: - itsme emulator - itsme front-end - itsme back-end for each of them - background research overview - itsme approach Roughly one hour - open discussion [break] Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Before starting, a quick recap itsme: system embodying a new metaphor, ‘stories and venues’ Motivation: information overload, control over data Target: people creating value with a PC New system = new possible ways to do things with a PC Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Main elements to describe the system Venues Channels Resources Limbo Transit ...these concepts must be implement after a definition given by design Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • How to proceed? Concept demonstrators - Scenarios - Emulator - (available at itsme.it) Technical demonstrators - Prototypes: UI + meta/data management Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • The itsme emulator
    • What is an emulator? Software providing the functions of a system using a different system Do yo u k no wa ny oth e r? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Speaking of words... A simulator is something that lets you experience something as faithfully as possible - e.g., flight simulators re-create piloting a plane Virtual machines provide a system platform to run software on them - an OS or just applications, like the Java VM s e to ur ca se a re n o Th e Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Emulator aims Announced early Aim: present itsme concept in advance to a wide audience - No downloads - No technical restrictions Starting from a limited set of features - Only (at least) two venues - No Limbo / Transit - No ‘full’ applications But what contents? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Idea Present well-known things according to the new metaphor (stories and venues) We added social computing i ts me .i t features to our website… - personal profiles - fanship - private messaging - open publishing - social bookmarking Qui ...and then re-presented them ck t h e de mo we bsi of te - after some months to establish a community Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Website technology Open source Content Management System Easy to use and maintain Large community supporting the development, and fixing bugs quickly Many plugins to extend functionalities (easy to write) Easily to implement, customizable themes Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Website customization A specific information architecture (categories and tags) A set of plugins for the various social computing features - some of them were not available when we started, we had to code them A tailored theme Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Buddypress ...now you could use something like this, and minimize the effort we underwent Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • What we got from the website? In the end, everything relies on a single MySQL database - posts, users, metadata, messages, … Those data can be showed in a completely different way, by a different software - potentially running anywhere Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • em ula tor .i ts me .i t Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Le t ’s s e ea de m o! Videos and tutorial available at http://itsme.it/emulator Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Technology behind the emulator We considered popular options like Adobe Flash and Microsoft Silverlight, but discarded them: guess why… ...and what do you think we used instead? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • AJAX in a nutshell Until some time ago Web pages needed to be reloaded to see any update AJAX technology allows dynamic, asynchronous updates - e.g., facebook notifications and “show new posts” Data can flow back and forth between client and server The key elements are Javascript and XML Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • GWT Google released a Web Toolkit that allows to develop user interfaces in Java and then compile them to optimized JavaScript - Allows for better reuse and debug of code Connection is made to a Web Server through simple RPC / m o: d e mo / c k de e x t.c om / o y/de v Q u i t- l g w c om /de p p.h t m l w w. x t j s . o :/ w w.e / e sk t ht tp / w w t o p/d p: / le s /de s k h t t mp e xa Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Emulator and Website architecture Client Product Web browser Javascript/HTML itsme website theme Custom itsme emulator Wordpress Wordpress http://emulator.itsme.it Plugins Plugins http://www.itsme.it GWT Platform GXT Wordpress Spring RSS JPA javamail Quartz spider JDBC driver Apache Web Server Apache Tomcat Data MySql database Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Emulator open issues Envisioning relations Incremental setup to - involve user from minute 1 - explain features directly what to ask in a dialogue? Other possible fields or ways of application? - Let’s make a “translation” exercise: how would you frame Facebook in the emulator concept? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • The itsme OS
    • Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • What’s an OS? “An Operating System (OS) is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of the computer that acts as a host for computing applications run on the machine.” - (source: http://en.wikipedia.org/wiki/Operating_system) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • What’s inside an OS? You might be familiar with the so- called “onion skin” - We’re not redoing everything again! User Applications User Interface File System Memory Processes HW Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Sabayon Linux Italian distribution (we hired its creators) Community driven Style-oriented Excellent rating Forst to add cool features such as 3D effects (Compiz) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • The itsme architecture QT graphical Applications , toolkit settings, data Back End Front End Presentation New metaphor Sabayon Front-end Logic and Control Linux Authentication and Security Linux OS System and Networking Migration Support Proxy Ubiquitous access Data Access Custom metadata Back-end Logic Data Storage and Persistence Heterogeneous sources As in Jan. ’09: some things have changed... Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Open issues System modularity, ubiquitous computing, cloud computing Licenses, open source Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Front-end: itsme
    • What’s a front-end? Basically, the user interface to the parts of the system responsible for “hot” computation Internally, we speak of the itsme front- end as the frame for the new metaphor, proving support to interaction (operations) and access to applications Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Front-ends There exist many different metaphor adopted by graphical (visual) front- ends - Yep, there are also non-visual: e.g., audio with speech or gesture recognition, tactile interfaces (Braille) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • What does it take? We considered and started from ‘desktop’ user interfaces, due to basic similarities Same elements used in a different way - Still within the WIMP paradigm (“window, icon, menu, pointing device”), at the moment ...so we can reuse existing stuff! - Window management (well, almost) - Basic system configuration tools - ... Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Development We have to redraw what’s on screen - e.g., (file management) windows → venues, new panels and widgets and link elements according to different policies - e.g., drag and drop, elements behaviors (on click, ...) Current prototype developed using: - Sabayon Linux (4.*, now 5.*) - Python - QT Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • QT Cross-platform toolkit to develop GUIs Used by KDE, Google Earth, Skype Owned by Nokia and distributed according to LGPL Uses C++ (but language bindings available) Alternatives we considered? GTK+, and others Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • KDE http://www.kde.org/ Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • GNOME http://www.gnome.org/ Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Enlightenment Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • But actually they are all the same old desktop… Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • OLPC One Laptop Per Child: cheap, low consumption computers for education Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • OLPC → Sugar Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Eldy Linux distribution for elderly, but also for people looking for a very simple user interface Italian initiative Free Supported by volunteers Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Eldy Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • ...and now let’s talk about itsme :-) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • itsme: prototype v. 0.3 o ! s ee a de m L e t ’s Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Video of a previous version Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Front-end architecture The front-end follows a model/view/ state architecture - The model classes store the data for the other classes - The view classes provide UI and most of the logic (since they have to show the data and also manage user interaction) - The state classes implement a state machine controlling the behavior of UI elements Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • The main distinction inside the FE is between extensions and extendables. The extendables package contains all the classes which can be inherited to create specific classes. The extensions package contains all the specific subclasses. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Open issues Accessibility - Do you see any possible problem? What to make a default, what cusomizable, what …? - Can you find examples? Safety/security with respect to applications Blend with the Web Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Back-end: Guglielmo
    • Why a back-end? We need to store and manipulate metadata for the things we see and work with in the UI Also data need to be stored and accessed in a different way ...this problem is well known Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Semantic Web Huge amount of information on the Web HTML: syntax to describe structure Meaning is not expressed Computers can’t help users finding and organizing stuff they don’t “understand” Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Example Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • The Web is made of documents... apart from file extensions, they are all the same and links have no meaning Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • ...but we talk about different things things are related one to another: how can computers be aware of it? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Top-down solutions Information analysis, web scraping, natural language processing… ...unfeasible: human intervention, hard to maintain, legal issues Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Bottom-up solution Embed semantical annotations into the data Beside describing the generical structure of a document (HTML), add some metadata describing what each part of the structure is about Example: not just links, but links with a label Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Let’s generalize HTML “has evolved” to XML Instead of only expressing hypertexts, XML can be used to encode any form of structured data XML can be used to define more specific languages (grammars, e.g., with DTDs) XML can be used to define a way to describe what is on the Web Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • RDF Resource Description Framework W3C standard for describing resources in the Web RDF identifies things using URIs(Uniform Resource Identifiers) RDF uses simple statements (Triples) to describe things: - Thing-Property-Value - Subject-Predicate-Object Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • What’s RDF like? OK… but what does it mean? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Ontologies How can computers know what labels represent? Interoperability is reached when different parts share definitions (vocabularies) - syntactic vs semantic interoperability If definitions are structured, and relations are well defined as properties, also further inference is possible Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Let’s make an example Alice is a blogger who publishes articles at http://example.com/alice She wants to declare the license of her work The rel attribute specifies the relationship between the current document and the linked document. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • She wants to specify title and creator of an article But there are no such attributes in XHTML She can use Dublin Core vocabulary Namespace → interoperability Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • She wants to give Bob proper credit when she posts his photos Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • She wants to display her name, email and phone She can use Friend-of-a-Friend vocabulary Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • She wants to list her friends Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Then what? This was an example showing how to express some metadata about what’s been published How can information be retrieved in a smart way then? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • SQL Structured Query Language Standard way to interact with databases E.g., SELECT * FROM ‘table’ WHERE ‘name’ LIKE ‘Marco’; ...but we have no tables, only graphs, so this does not suit Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • SPARQL SPARQL Protocol And RDF Query Language Used to manipulate RDF data E.g., can be used to search for “friends of Alice who created items whose title contains ‘Bob’” Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Semantic desktop The Semantic Web vision can be applied also to personal computing Approach to deal with the contents of documents – exploiting metadata semantics Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • EU project for a Social Semantic Desktop Exploit files metadata for a different interaction with things Remind for later: The NEPOMUK/ OSCAF standards are taken up by these projects and Nokia's Maemo Platform Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • KDE/Nepomuk architecture Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • itsme back-end architecture Application Local / Network / DBus File System Generate notifications Abstraction for the front-end Interface Event Notifier Plugin Engine Direct Access Application Virtual FS Manager Get (serialized) Email ... items and search Send/receive email plugin plugin metadata Aggregate metadata in Communication proxy complete items and File System access for plugins Search (to get) lists of Item Manager items Log operations on Search Update Time Engine monitor Manager items Dispatch updated items Read/Write on Logic to plugin engine and event notifier File System Distributed File Metadata Manager Manager System Metadata access, Metadata Soprano extraction, storage Extractor Inference Refine Metadata JStreams Virtuoso Index/Search Extract Metadata from RDF Metadata files Process specific file types Storage As in April 30th, now a little different... Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Meta Tracker RDF central storage for data and metadata - shared between applications Miners to search and insert meta/data - also on the Web Extractors working with any type of file Nepomuk/KDE ontologies SPARQL Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Maemo Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • More on Nokia N900 (with Maemo) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Virtual file system Keep data and metadata aligned Implement access to apps not tightly integrated with the front-end Manage distributed repositories - removable drives - remote drives - Web services (e.g., Google docs) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • Open issues Metadata: itsme ontology Time management AVFS: File names, paths, visibility… Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
    • 88