itsme tech development seminar

38
© 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

Upload: itsmesrl

Post on 11-May-2015

526 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: 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

Page 2: Itsme Tech development seminar

225/02/09 itsme technical development seminar

Outline

The Dream Team

Where we are

The itsme architecture

Where we are going

2

Page 3: Itsme Tech development seminar

Who we are

Page 4: Itsme Tech development seminar

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

Page 5: Itsme Tech development seminar

Where we are

Page 6: Itsme Tech development seminar

625/02/09 itsme technical development seminar

Where We Are

Requirements Definition (for OS rel. 1.0)

Graphical ToolKit

Early Prototyping (Python)

Linux Distribution

Page 7: Itsme Tech development seminar

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

Page 8: Itsme Tech development seminar

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

Page 9: Itsme Tech development seminar

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

Page 10: Itsme Tech 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

Page 11: Itsme Tech development seminar

A few words on our Linux distribution

www.sabayon.org

Page 12: Itsme Tech development seminar

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

Page 13: Itsme Tech 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

Page 14: Itsme Tech 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

Page 15: Itsme Tech 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

Page 16: Itsme Tech 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

Page 17: Itsme Tech development seminar

How We WorkA few essential informations

Page 18: Itsme Tech development seminar

18

The Cathedral or The Bazaar?

Page 19: Itsme Tech development seminar

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

Page 20: Itsme Tech development seminar

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

Page 21: Itsme Tech 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

Page 22: Itsme Tech development seminar

How we came so far

Metaphor

Interaction

Interface

Front end

Back end

22

Page 23: Itsme Tech development seminar

23

Documentation Flow

25/02/09 itsme technical development seminar

Tech Requirements

System Architecture

Design Documentations

API documentations

Page 24: Itsme Tech development seminar

The itsme architecture

Page 25: Itsme Tech development seminar

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

Page 26: Itsme Tech development seminar

2625/02/09 itsme technical development seminar

Page 27: Itsme Tech development seminar

2725/02/09 itsme technical development seminar

Page 28: Itsme Tech development seminar

2825/02/09 itsme technical development seminar

Page 29: Itsme Tech development seminar

Where we are going

Page 30: Itsme Tech development seminar

3025/02/09 itsme technical development seminar

Planning: Global Timeline

Page 31: Itsme Tech development seminar

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)

Page 32: Itsme Tech development seminar

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

Page 33: Itsme Tech development seminar

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

Page 34: Itsme Tech development seminar

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.

Page 35: Itsme Tech development seminar

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)

Page 36: Itsme Tech development seminar

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)

Page 37: Itsme Tech development seminar

Beta release

Selected set of users

• outside our community)

37

itsme 1.0 April 2010

Page 38: Itsme Tech development seminar