itsme: a technical overview

                                 Marco Loregian
                            marco.loregian@it...
About me
                                Computer Science PhD
                                    - can be translated to “...
Ajax                         Architecture                Website
                     GWT                                 ...
The real aim of this lesson is to

       discuss our
       open issues
         with you
           No participation = e...
Outline
After introduction, 3 main topics:
   - itsme emulator
   - itsme front-end
   - itsme back-end


for each of them...
Before starting, a quick recap
itsme: system embodying a new
metaphor, ‘stories and venues’
Motivation: information overlo...
Main elements to describe the system
Venues
Channels
Resources
Limbo
Transit

...these concepts must be implement
after a ...
How to proceed?
Concept demonstrators
   - Scenarios
   - Emulator
   -                                                 (a...
The itsme emulator
What is an emulator?
Software providing the functions of a
system using a different system
                               ...
Speaking of words...
A simulator is something that lets you
experience something as faithfully as
possible
   - e.g., fligh...
Emulator aims
Announced early
Aim: present itsme concept in
advance to a wide audience
   - No downloads
   - No technical...
Idea
Present well-known things according
to the new metaphor (stories and venues)
We added social computing               ...
Website technology
Open source Content Management
System
Easy to use and maintain
Large community supporting the
developme...
Website customization
A specific information architecture
(categories and tags)

A set of plugins for the various social
co...
Buddypress




...now you could use something like
this, and minimize the effort we
underwent
Marco Loregian: itsme from a...
What we got from the website?
In the end, everything relies on a
single MySQL database
   - posts, users, metadata, messag...
em
                                                       ula
                                                            ...
Le t
                                                                                            ’s s
                    ...
Technology behind the emulator




We considered popular options like
Adobe Flash and Microsoft Silverlight,
but discarded...
AJAX in a nutshell
Until some time ago Web pages
needed to be reloaded to see any
update
AJAX technology allows dynamic,
a...
GWT
Google released a Web Toolkit that
allows to develop user interfaces in
Java and then compile them to
optimized JavaSc...
Emulator and Website architecture
        Client Product

                                                                ...
Emulator open issues
Envisioning relations

Incremental setup to
   - involve user from minute 1
   - explain features dir...
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 ...
What’s inside an OS?
You might be familiar with the so-
called “onion skin”
   - We’re not redoing everything again!
     ...
Sabayon Linux
Italian distribution (we hired its
creators)
Community driven
Style-oriented
Excellent rating
Forst to add c...
Marco Loregian: itsme from a technical perspective   Lugano, 10/08/09
The itsme architecture
                                         QT graphical                                 Applications ...
Open issues
System modularity, ubiquitous
computing, cloud computing

Licenses, open source




Marco Loregian: itsme from...
Front-end: itsme
What’s a front-end?
Basically, the user interface to the
parts of the system responsible for
“hot” computation

Internally...
Front-ends
There exist many different metaphor
adopted by graphical (visual) front-
ends
   - Yep, there are also non-visu...
What does it take?
We considered and started from
‘desktop’ user interfaces, due to basic
similarities
Same elements used ...
Development
We have to redraw what’s on screen
   - e.g., (file management) windows → venues, new
     panels and widgets
a...
QT
Cross-platform toolkit to develop GUIs
Used by KDE, Google Earth, Skype
Owned by Nokia and distributed
according to LGP...
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 persp...
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
...
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
            ...
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 th...
The main distinction inside the FE is
between extensions and extendables.
The extendables package contains all
the classes...
Open issues
Accessibility
   - Do you see any possible problem?

What to make a default, what
cusomizable, what …?
   - Ca...
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 b...
Semantic Web
Huge amount of information on the
Web
HTML: syntax to describe structure
Meaning is not expressed
Computers c...
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 Lore...
...but we talk about different things




things are related one to another: how
can computers be aware of it?

Marco Lore...
Top-down solutions
Information analysis, web scraping,
natural language processing…

...unfeasible: human intervention, ha...
Bottom-up solution
Embed semantical annotations into
the data
Beside describing the generical
structure of a document (HTM...
Let’s generalize
HTML “has evolved” to XML
Instead of only expressing hypertexts,
XML can be used to encode any form
of st...
RDF
Resource Description Framework
W3C standard for describing
resources in the Web
RDF identifies things using
URIs(Unifor...
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...
Let’s make an example
Alice is a blogger who publishes
articles at http://example.com/alice
She wants to declare the licen...
She wants to specify title and creator
of an article
But there are no such attributes in
XHTML
She can use Dublin Core voc...
She wants to give Bob proper credit
when she posts his photos




Marco Loregian: itsme from a technical perspective   Lug...
She wants to display her name, email
and phone
She can use Friend-of-a-Friend
vocabulary




Marco Loregian: itsme from a ...
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 re...
SQL
Structured Query Language
Standard way to interact with
databases

E.g., SELECT * FROM ‘table’ WHERE
‘name’ LIKE ‘Marc...
SPARQL
SPARQL Protocol And RDF Query
Language
Used to manipulate RDF data
E.g., can be used to search for
“friends of Alic...
Semantic desktop
The Semantic Web vision can be
applied also to personal computing
Approach to deal with the contents of
d...
EU project for a Social Semantic
Desktop
Exploit files metadata for a different
interaction with things
Remind for later: T...
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 ...
Meta Tracker
RDF central storage for data and
metadata
   - shared between applications
Miners to search and insert meta/d...
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
Mana...
Open issues
Metadata: itsme ontology
Time management
AVFS: File names, paths, visibility…




Marco Loregian: itsme from a...
88
Upcoming SlideShare
Loading in …5
×

Itsme Lezione Usi Lugano

1,097 views
1,021 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,097
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Itsme Lezione Usi Lugano

  1. 1. 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.
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. The itsme emulator
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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
  18. 18. em ula tor .i ts me .i t Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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
  25. 25. The itsme OS
  26. 26. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  27. 27. 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
  28. 28. 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
  29. 29. 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
  30. 30. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  31. 31. 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
  32. 32. Open issues System modularity, ubiquitous computing, cloud computing Licenses, open source Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  33. 33. Front-end: itsme
  34. 34. 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
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 39. KDE http://www.kde.org/ Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  40. 40. GNOME http://www.gnome.org/ Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  41. 41. Enlightenment Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  42. 42. But actually they are all the same old desktop… Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  43. 43. OLPC One Laptop Per Child: cheap, low consumption computers for education Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  44. 44. OLPC → Sugar Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  45. 45. 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
  46. 46. Eldy Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  47. 47. ...and now let’s talk about itsme :-) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  48. 48. 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
  49. 49. Video of a previous version Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  50. 50. 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
  51. 51. 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
  52. 52. 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
  53. 53. Back-end: Guglielmo
  54. 54. 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
  55. 55. 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
  56. 56. Example Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  57. 57. 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
  58. 58. ...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
  59. 59. 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
  60. 60. 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
  61. 61. 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
  62. 62. 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
  63. 63. What’s RDF like? OK… but what does it mean? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  64. 64. RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  65. 65. RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  66. 66. RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  67. 67. 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
  68. 68. 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
  69. 69. 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
  70. 70. She wants to give Bob proper credit when she posts his photos Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  71. 71. 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
  72. 72. She wants to list her friends Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  73. 73. 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
  74. 74. 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
  75. 75. 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
  76. 76. 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
  77. 77. 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
  78. 78. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  79. 79. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  80. 80. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  81. 81. KDE/Nepomuk architecture Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  82. 82. 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
  83. 83. 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
  84. 84. Maemo Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  85. 85. More on Nokia N900 (with Maemo) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  86. 86. 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
  87. 87. Open issues Metadata: itsme ontology Time management AVFS: File names, paths, visibility… Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  88. 88. 88

×