4. The Dream Team
current work
reflects my
personal activity and
does not reflect
activity from cisco
Giovanni Marco
Martinelli Loregian
Michele Lorenzo
Tameni Bellini
Alessandro
Fabio
Morandi
Erculiani
Roberto Vincenzo
Guido Di Massa
25/02/09 itsme technical development seminar 4
6. Where We Are
Requirements Definition (for OS rel. 1.0)
Graphical ToolKit
Early Prototyping (Python)
Linux Distribution
25/02/09 itsme technical development seminar 6
7. Requirement Definitions
Start from “Interaction Design
Manual” and indentify requirements
for development activity
Define what the system has to do
Reduce the scope to the first OS
release
25/02/09 itsme technical development seminar 7
8. Graphical Toolkit
Technical:
• Custom widgets
• Interface skinning
• Product roadmap
Strategic
• Licensing
• Community
But: we try to be loosely coupled
25/02/09 itsme technical development seminar 8
9. itsme Licensing vs. Qt
Our possible Licensing Policy:
• Closed for GUI (novel interaction modalities)
• Open for the data management
Nokia releases QT 4.5 as LGPL:
• Add the missing flexibility
(as much as GTk+)
• Still available as commercial license if we
will need it
• LGPL should boost the community
25/02/09 itsme technical development seminar 9
10. Early Prototyping
Validate the architecture:
• Layering
• Variability (experiment options)
Validate the information flow:
• Bottlenecks & communication
channels
• Initial performance assessment
A vehicle to work with the
Interaction Design team
25/02/09 itsme technical development seminar 10
11. A few words on our
Linux distribution
www.sabayon.org
12. What is Sabayon
Open Source international project:
www.sabayon.org
Based on Gentoo GNU/Linux ~arch
Perfect match of scalability, ease of use and
management
Entropy Infrastructure
25/02/09 itsme technical development seminar 12
13. How it works
Sabayon is community-driven
Users rule
The best and most expert users are part of the
development process
Organized in teams: Core team, Artwork team,
Localisation team, Testing team, Packaging team
Give back, according to collected resources
Benevolent dictatorship
25/02/09 itsme technical development seminar 13
14. Phylosophy and Strategy
KISS, Keep It Sustainable Stupid!
“Silk cocoon” strategy
“Don't be evil” (Google)
We love challenges
Dietro ad ogni successo c'è un pazzo che ci ha creduto
quando gli altri scuotevano la testa
25/02/09 itsme technical development seminar 14
15. Why Sabayon
Why the name?
Feminine
Scalable in terms of features, context of use, and
customization
OOTB “Out Of The Box”
Sabayon is what people want
Innovative features
Why not Ubuntu?
25/02/09 itsme technical development seminar 15
16. Worldwide
NLnet Foundation
Havana University and
Cuban government
(project Nova Linux)
Universities of Brescia
and Milano-Bicocca
40.000 users
200.000 Web visitors
per month
Itsme, of course
16
19. Development Methodology
Short(en) iterations and early
integrations
Initial experiments with current
prototyping activity
Development Iterations
Current Proto Ref
TO BE DEFINED
Prototype Early June
25/02/09 itsme technical development seminar 19
20. Team Cooperation
Local & Remote Coordination?
• Few on site people and some remote
people
• Typical forum/chat/mail
• Weekly report & periodic check points
Involve a development community
(soon)
25/02/09 itsme technical development seminar 20
21. Development Environment
From Python (prototype) to C++
• Depends on modules
• Mix flexibility vs openness vs
performance
To evaluate the set of libraries we will
depend on (e.g., Kde)
To evaluate usage of tools to support
some of test phases (gperf, purify)
A system test strategy to be defined
25/02/09 itsme technical development seminar 21
22. How we came so far
Metaphor
Interaction
Interface
Front end
Back end
22
25. Design rationale
Logical (and possibly physical)
independence between UI and
meta/data management
• With a back end that is not dependent
on the metaphor of stories and venues
25/02/09 itsme technical development seminar 25
31. Major Deadlines
Nov 2009: Start Final Integration
and System Test Phase
Jan 2010: internal alpha testing,
Complete OS System but only for
itsme team
April 2010: itsme os released to
beta users (i.e. external people,
selected)
25/02/09 itsme technical development seminar 31
32. Rough Resource Planning
(The mythical Man Month)
Front End Development: 30 MM
• Front end components (presentation / logic)
• Window manager and custom widgets
• System settings
Back End Development: 20-25 MM
• Synchronization/plugin y
arl ate
Em i
est
• Metadata management
• Persistence and storage management
Migration Support System: 16-20 MM
• Data migration and Application support
y
arl ate
• Advanced application support (+10 MM) Em i
est
25/02/09 itsme technical development seminar 32
33. 1. Architecture & Prototype refinement
Details in deep requirements with
ID team
Refine user interactions
Explore architetural variations
Back end: from stub to prototype
25/02/09 itsme technical development seminar 33
34. 2. Code Development
Software from prototype to
production:
• Rewrite internal modules whenever
necessary
• Unit testing
Early integration steps
Perfomance study
System configurations etc.
25/02/09 itsme technical development seminar 34
35. 3. Final Integration
All modules come together with
feature freeze
System Testing
• A defined set of test to be applied (end
to end operations)
Memory Testing (à la purify)
25/02/09 itsme technical development seminar 35
36. 4. Alpha Testing
Complete Operating System
available for itsme team
• (not only developers)
Work on final laptop (fix hardware
specific issues)
25/02/09 itsme technical development seminar 36
37. itsme 1.0 April 2010
Beta release
Selected set of
users
• outside our
community)
37