Download - Itsme Tech development seminar
© 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.
Welcome to itsme
Technical Development Seminar
by the itsme tech team
225/02/09 itsme technical development seminar
Outline
The Dream Team
Where we are
The itsme architecture
Where we are going
2
Who we are
425/02/09 itsme technical development seminar
The Dream Team
Giovanni Martinelli
MarcoLoregian
VincenzoDi Massa
RobertoGuido
FabioErculiani
Michele Tameni
current work reflects my
personal activity and does not reflect activity from cisco
AlessandroMorandi
LorenzoBellini
Where we are
625/02/09 itsme technical development seminar
Where We Are
Requirements Definition (for OS rel. 1.0)
Graphical ToolKit
Early Prototyping (Python)
Linux Distribution
725/02/09 itsme technical development seminar
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
825/02/09 itsme technical development seminar
Graphical Toolkit
Technical:
•Custom widgets
• Interface skinning
•Product roadmap
Strategic
•Licensing
•Community
But: we try to be loosely coupled
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
1025/02/09 itsme technical development seminar
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
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
1225/02/09 itsme technical development seminar
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
1325/02/09 itsme technical development seminar
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
1425/02/09 itsme technical development seminar
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?
1525/02/09 itsme technical development seminar
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
How We WorkA few essential informations
18
The Cathedral or The Bazaar?
1925/02/09 itsme technical development seminar
Development Methodology
Short(en) iterations and early integrations
Initial experiments with current prototyping activity
Development Iterations TO BE DEFINED
Proto RefEarly June
CurrentPrototype
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
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 defined25/02/09 itsme technical development seminar
How we came so far
Metaphor
Interaction
Interface
Front end
Back end
22
23
Documentation Flow
25/02/09 itsme technical development seminar
Tech Requirements
System Architecture
Design Documentations
API documentations
The itsme architecture
2525/02/09 itsme technical development seminar
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
2625/02/09 itsme technical development seminar
2725/02/09 itsme technical development seminar
2825/02/09 itsme technical development seminar
Where we are going
3025/02/09 itsme technical development seminar
Planning: Global Timeline
3125/02/09 itsme technical development seminar
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)
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
• Metadata management
• Persistence and storage management
Migration Support System: 16-20 MM• Data migration and Application support
• Advanced application support (+10 MM)
25/02/09 itsme technical development seminar
Early
estima
te
Early
estima
te
3325/02/09 itsme technical development seminar
1. Architecture & Prototype refinement
Details in deep requirements with ID team
Refine user interactions
Explore architetural variations
Back end: from stub to prototype
3425/02/09 itsme technical development seminar
2. Code Development
Software from prototype to production:
•Rewrite internal modules whenever necessary
•Unit testing
Early integration steps
Perfomance study
System configurations etc.
3525/02/09 itsme technical development seminar
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)
3625/02/09 itsme technical development seminar
4. Alpha Testing
Complete Operating System available for itsme team
• (not only developers)
Work on final laptop (fix hardware specific issues)
Beta release
Selected set of users
• outside our community)
37
itsme 1.0 April 2010