6. “cheat sheet” (1/2)
Open source solutions
✔ Deep knowledge of open source world
✔ Develer co-authors many open source libraries
“Python” programming language
✔ +6 years of experience
✔ Rapid prototyping, fast development
✔ Organizers of national Python conference (http:/www.pycon.it)
7. “cheat sheet” (2/2)
Custom HW boards design
✔ Just launched: BeRTOS (http://www.bertos.org), free RTOS for small
systems.
✔ Linux/uCLinux kernel ports, device drivers development, user-space
libraries and apps.
Open development model
✔ Clients have full access to source code repository, ticketing system,
technical mailing lists
✔ Agile methodologies: release early, release often
9. Areas of competence
● Custom-made software development
● Improvement of customers software
● Migration onto an open-source platform
Software
Hardware
● Realization of prototypes
● Realization of custom boards
● Obsolete cards redesign
● High-performance firmware
Innovation
● Consulting service on new technologies
● Courses on new technologies
● Far-sighted strategic choices
● Improvement of your development workflow
10. Software
Sotware design and implementation
✔ From idea to market
Support for modifications to existing softwares
✔ Integration with existing teams and infrastructures
New life to old software
✔ Modernization through refactoring and unit tests
✔ Upgrade to new technologies or OS
Wide expertise with multi-platform development
✔ Linux, Windows, Mac OSX, embedded
11. Hardware
Give shape to an idea
✔ HW/SW product, from idea to market
Re-design of obsolete boards
✔ New components for hardware, and firmware with new open
technologies (avoid vendor lock-in!)
Bring operating systems to bare-HW code
✔ Our beloved BeRTOS for tiny systems
✔ Linux/ucLinux for medium to large systems
12. Innovation
Innovative technologies
✔ Teaching and implementing new solutions to customers
✔ Continous internal R&D and workshops to spread knowledge and
be on the edge
Workflow improvement
✔ Analyze an existing workflow, find bottlenecks and mistakes
✔ Introduce agile development technics and concepts borrowed
from the open-source development model
14. Develer & Python
Using Python since 2002:
✔ Style: elegant and dynamic language
✔ We have been suggesting it to customers ever since
✔ We have been using for our internal tools
Benefits of Python:
✔ Rapid prototyping (fast development)
✔ High portability (desktop and embedded)
✔ Faster deploy ever
15. Develer & Nokia Qt
Using Qt since 2002
✔ And proudly so!
✔ We have been suggesting it to customers ever since
✔ We have been using for our internal tools
✔ LGPL License
Experience on most Qt platforms
✔ Qt/Windows, Qt/X11, Qt/Mac
✔ Qt/Embedded on Linux and Windows CE
16. Develer & PyQt
Using PyQt since 2004:
✔ Perfect match: bringing Qt philosophy into Python elegant and
dynamic language
✔ Many contributions to PyQt development (debugging and testing)
Benefits of PyQt:
✔ Rapid prototyping (fast development)
✔ Write once, run anywhere
✔ Useful C++ portability layer (QtCore)
✔ LGPL License as Qt
17. Develer & BeRTOS
We create BeRTOS in 2001:
✔ We have been suggesting it to customers ever since
✔ We have been using for our internal tools
✔ Direct BeRTOS development (coding, debugging and testing)
Benefits of BeRTOS:
✔ Open source and royalty free also for commercial projects
✔ Windows SDK with toolchains and IDE integration
✔ Multiplatform Wizard for projects configurations
✔ Not only kernel: ready to use HW drivers for many peripherals
18. Case Studies
CAD for fashion designers
( Python | PyQt | Qt )
Medical diagnosis appliation
( Python | PyQt | Qt widget )
Domotic Control Panel
( C++ | Qt )
19. CAD for fashion designers (1/2)
We provide software consulting for an
Italian company, leader in a particular
field of fashion design.
One of them is a CAD almost entirely
written in Python, which uses PyQt to
fully take advance of the Qt framework.
Effort: 50 man/months (and running...)
20. CAD for fashion designers (2/2)
Heavily customized UI
● Best experience possible for designer: Comply to several (often
odd) habits.
● Qt gives us the flexibility to tweak the UI as we wish, keeping the
code maintainable.
Full OpenGL acceleration
● Drawing canvas are accelerated with OpenGL (QtOpenGL).
● Some parts (eg: texts) use QPainter over OpenGL
21. Medical diagnosis application (1/2)
Customer needed to bundle an application
with the new version of their flagship product.
Introducing PyQt allowed us to complete the
first prototype of the application within one
month from starting from scratch, and to
deliver the final version after just two months
later.
22. Medical diagnosis application (2/2)
Database interaction
● We exploited Qt widgets' flexible API to produce a thin Python layer
that handles reading and writing values from/to DB.
Full i18n support
● Application is deployed in several markets (including Korean and
Turkish ones)
● Usage of Qt made adding i18n support trivial.
23. Domotic Control Panel (1/2)
We provide software consulting for a
big domotic Italian corporate.
The product is developed in C++ and
the GUI is designed with Qt.
It runs on a custom ARM-based
board, with Linux.
24. Domotic Control Panel (2/2)
Home control
● The system controls all the house: lights, security, windows,
home theater
Touch screen interface
● With the easy-to-use interface (realized with a touch screen
device integrated with Qt) the user can control all sensors and
actuators in the house
i18n
● The user interface is multi language and supports European,
Chinese and Arabic languages