SlideShare une entreprise Scribd logo
1  sur  88
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à Here are the main points about the itsme emulator:- The emulator aims to present the itsme concept early to a wide audience without requiring downloads or dealing with technical restrictions. - It focuses on a limited set of core features like at least two venues to demonstrate the basic idea, but does not include more advanced elements like Limbo/Transit or full applications.- To showcase the itsme metaphor of "stories and venues", the emulator presents well-known people, places and things using this framework to help people understand the new system. - It also incorporates social computing elements to demonstrate how itsme could facilitate interactions and sharing.- In summary, the emulator serves as an introductory demonstration of

Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overviewrajdeep
 
Alessandro Galetto - Mobile Web
Alessandro Galetto - Mobile WebAlessandro Galetto - Mobile Web
Alessandro Galetto - Mobile WebSocial Media Lab
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the CloudsAndy Piper
 
Iknow ranking sem_info_v9.0__2012.09.07_anjorin
Iknow ranking sem_info_v9.0__2012.09.07_anjorinIknow ranking sem_info_v9.0__2012.09.07_anjorin
Iknow ranking sem_info_v9.0__2012.09.07_anjorinMojisola Erdt née Anjorin
 
Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13Gear6
 
[A3]deview 2012 network binder
[A3]deview 2012 network binder[A3]deview 2012 network binder
[A3]deview 2012 network binderNAVER D2
 
Software Engineering - 02. Framework
Software Engineering - 02. FrameworkSoftware Engineering - 02. Framework
Software Engineering - 02. FrameworkArry Arman
 

Similaire à Here are the main points about the itsme emulator:- The emulator aims to present the itsme concept early to a wide audience without requiring downloads or dealing with technical restrictions. - It focuses on a limited set of core features like at least two venues to demonstrate the basic idea, but does not include more advanced elements like Limbo/Transit or full applications.- To showcase the itsme metaphor of "stories and venues", the emulator presents well-known people, places and things using this framework to help people understand the new system. - It also incorporates social computing elements to demonstrate how itsme could facilitate interactions and sharing.- In summary, the emulator serves as an introductory demonstration of (9)

Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overview
 
Alessandro Galetto - Mobile Web
Alessandro Galetto - Mobile WebAlessandro Galetto - Mobile Web
Alessandro Galetto - Mobile Web
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the Clouds
 
Iknow ranking sem_info_v9.0__2012.09.07_anjorin
Iknow ranking sem_info_v9.0__2012.09.07_anjorinIknow ranking sem_info_v9.0__2012.09.07_anjorin
Iknow ranking sem_info_v9.0__2012.09.07_anjorin
 
Focus Mid Term Symposium
Focus Mid Term SymposiumFocus Mid Term Symposium
Focus Mid Term Symposium
 
Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13
 
It professional chart your career poster cpls version
It professional chart your career poster cpls versionIt professional chart your career poster cpls version
It professional chart your career poster cpls version
 
[A3]deview 2012 network binder
[A3]deview 2012 network binder[A3]deview 2012 network binder
[A3]deview 2012 network binder
 
Software Engineering - 02. Framework
Software Engineering - 02. FrameworkSoftware Engineering - 02. Framework
Software Engineering - 02. Framework
 

Plus de itsmesrl

Itsme UX Australia
Itsme UX AustraliaItsme UX Australia
Itsme UX Australiaitsmesrl
 
Itsme Interact2009
Itsme  Interact2009Itsme  Interact2009
Itsme Interact2009itsmesrl
 
itsme Prototype Demo 2009-08-03
itsme Prototype Demo 2009-08-03itsme Prototype Demo 2009-08-03
itsme Prototype Demo 2009-08-03itsmesrl
 
Itsme Cct2009 Demo
Itsme Cct2009 DemoItsme Cct2009 Demo
Itsme Cct2009 Demoitsmesrl
 
Emulator Guide
Emulator GuideEmulator Guide
Emulator Guideitsmesrl
 
Proposal for UXAUSTRALIA
Proposal for UXAUSTRALIAProposal for UXAUSTRALIA
Proposal for UXAUSTRALIAitsmesrl
 
ITSME, one year hence
ITSME, one year henceITSME, one year hence
ITSME, one year henceitsmesrl
 
who we are and what we are doing to innovate workstations
who we are and what we are doing to innovate workstationswho we are and what we are doing to innovate workstations
who we are and what we are doing to innovate workstationsitsmesrl
 
Itsme Tech development seminar
Itsme Tech development seminarItsme Tech development seminar
Itsme Tech development seminaritsmesrl
 
Open Innovation aka How companies can use social media to dialogue with their...
Open Innovation aka How companies can use social media to dialogue with their...Open Innovation aka How companies can use social media to dialogue with their...
Open Innovation aka How companies can use social media to dialogue with their...itsmesrl
 
Itsme A New Workstation To Exploit The Potential Of The Cyberspace 02
Itsme  A New Workstation To Exploit The Potential Of The Cyberspace 02Itsme  A New Workstation To Exploit The Potential Of The Cyberspace 02
Itsme A New Workstation To Exploit The Potential Of The Cyberspace 02itsmesrl
 
Perotto Prize
Perotto PrizePerotto Prize
Perotto Prizeitsmesrl
 

Plus de itsmesrl (12)

Itsme UX Australia
Itsme UX AustraliaItsme UX Australia
Itsme UX Australia
 
Itsme Interact2009
Itsme  Interact2009Itsme  Interact2009
Itsme Interact2009
 
itsme Prototype Demo 2009-08-03
itsme Prototype Demo 2009-08-03itsme Prototype Demo 2009-08-03
itsme Prototype Demo 2009-08-03
 
Itsme Cct2009 Demo
Itsme Cct2009 DemoItsme Cct2009 Demo
Itsme Cct2009 Demo
 
Emulator Guide
Emulator GuideEmulator Guide
Emulator Guide
 
Proposal for UXAUSTRALIA
Proposal for UXAUSTRALIAProposal for UXAUSTRALIA
Proposal for UXAUSTRALIA
 
ITSME, one year hence
ITSME, one year henceITSME, one year hence
ITSME, one year hence
 
who we are and what we are doing to innovate workstations
who we are and what we are doing to innovate workstationswho we are and what we are doing to innovate workstations
who we are and what we are doing to innovate workstations
 
Itsme Tech development seminar
Itsme Tech development seminarItsme Tech development seminar
Itsme Tech development seminar
 
Open Innovation aka How companies can use social media to dialogue with their...
Open Innovation aka How companies can use social media to dialogue with their...Open Innovation aka How companies can use social media to dialogue with their...
Open Innovation aka How companies can use social media to dialogue with their...
 
Itsme A New Workstation To Exploit The Potential Of The Cyberspace 02
Itsme  A New Workstation To Exploit The Potential Of The Cyberspace 02Itsme  A New Workstation To Exploit The Potential Of The Cyberspace 02
Itsme A New Workstation To Exploit The Potential Of The Cyberspace 02
 
Perotto Prize
Perotto PrizePerotto Prize
Perotto Prize
 

Dernier

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Dernier (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

Here are the main points about the itsme emulator:- The emulator aims to present the itsme concept early to a wide audience without requiring downloads or dealing with technical restrictions. - It focuses on a limited set of core features like at least two venues to demonstrate the basic idea, but does not include more advanced elements like Limbo/Transit or full applications.- To showcase the itsme metaphor of "stories and venues", the emulator presents well-known people, places and things using this framework to help people understand the new system. - It also incorporates social computing elements to demonstrate how itsme could facilitate interactions and sharing.- In summary, the emulator serves as an introductory demonstration of

  • 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. em ula tor .i ts me .i t Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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. 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. 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. 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. 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
  • 26. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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. 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. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. Open issues System modularity, ubiquitous computing, cloud computing Licenses, open source Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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. 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. 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. 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. KDE http://www.kde.org/ Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 40. GNOME http://www.gnome.org/ Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 41. Enlightenment Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 42. But actually they are all the same old desktop… Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 43. OLPC One Laptop Per Child: cheap, low consumption computers for education Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 44. OLPC → Sugar Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. Eldy Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 47. ...and now let’s talk about itsme :-) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. Video of a previous version Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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. 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
  • 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. 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. Example Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. ...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. 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. 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. 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. 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. What’s RDF like? OK… but what does it mean? Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 64. RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 65. RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 66. RDF = graphs Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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. 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. She wants to give Bob proper credit when she posts his photos Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. She wants to list her friends Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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. 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. 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. 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. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 79. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 80. Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 81. KDE/Nepomuk architecture Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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. Maemo Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 85. More on Nokia N900 (with Maemo) Marco Loregian: itsme from a technical perspective Lugano, 10/08/09
  • 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. 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