GNOME and the Enterprise User - JDS

Ghee Teo & Brian Nitz Inc.

Introduction

● Who are we? ● Intended Audience CTOs, CIOs, Technical managers Software developers Anyone considering developing/deploying a GNOME-based Agenda ● Development of Desktop System – behind the scene view ● Deployment of GNOME on Enterprise – working in the real world Development

● It is Desktop System - not Java Destkop What we did – in 1 page

● Got GNOME as the basic desktop ● Slapped in StarOffice productivities suites ● Enclosed with Evolution mail client ● Mixed in browser ● Grabbed GAIM messaging client ● Mashed in many other Open Sourced Apps ● Just to provide a well-integrated alternate to Windows Why did we do it?

● New opportunity on the desktop created by M$ ● New markets afforded by ● Mature for Enterprise Transactions users ● To replace vintage CDE (e.g accessibility) ● To provide more options to Sun's customers Decisions Decisions?

● Choosing base Deskop ● Choosing base ● Choosing Browser ● Choosing Mail/Calendar client ● Choosing Office Suite ● Branding Choices ● Other Compromising Choices Choosing the base Desktop

● GNOME

● KDE

“Easy peasy, Lemon squeecy” Choosing base Linux OS

● Too expensive, competitor

● Second to RH, Strong in Europe, KDE

● Community based, long release cycle Choosing the key apps

● Office Suite ● Browser (Epiphany/Mozilla) ● Mail/Calendar Client ● Instant messaging client Other Open Source Apps

● Gnomemeeting ● GIMP ● Gtkam ● Planner (was Mr. Project) ● Dia ● totem Sun's specific Add Ons

● Latest JRE, JDK, Developer Tools (JDS R2) ● Java Web Start ● Java Media Player (JMF based) ● Open Sourced Java Apps ● CUPS printing from XD2 ● Print option in nautilus menu ● World clock ● Plugins – Flash, Real, Java ● Vino (JDS R2) ● APOC (JDS R2) Branding

● Why the fuss about branding? ● Perception is reality (almost) ● Visual differences set us apart The Branded Parts

● Java Desktop System (JDS) – part of overall Branding of Sun's products range ● 'Launch' not 'Start' ● Blueprint theme – Java Cup, oval text boxes, gradient shaped button ● Java Cup throbbers for Mozilla, Nautilus ● YaST2 tools Building the Distro

● Figure out all build tools required – Common Build Envrionment ● Distributing Common Build Envrionment ● Automating the Build Working out the Build Environment ● Open Source Open environment => Freedom => loose ends ● One of the messier tasks in creating a new distro ● Many Open Source uses different version of build tools ● Generally not well-defined CBE ● Somewhat limitted by the base OS Steps In working out Common Build Environrment ● Install Base OS ● Install all known build tools from Base OS ● Download the version Desktop Distro tarballs ● Create spec files for each module ● Build desktop components bottom up (make use of jhbuild) ● Install built components ● Get new build tools if needed ● Continue the process iteratively until all components required built successfully ● We have a Common Build Environment for that Release! Distributing the Common Build Environment

● Easy distribution of Common Build Environment is crucial to global engineering environment ● Initiation for development and also ensure correct integration ● N-1 rule apply ● Make Easy by YaST Development option Automating the Build Process

● A constant automated build helps discovered problems earlier ● Minimise knock on effect on upper stack ● A set of scripts were developed in house by Release Engineering ● Similar to tinderbox ● Give build results on web page ● Notify mail alias when failure occurs ● Nightly build encourages usage and improves quality Lessons Learnt

● Tarballs releases Versus HEAD ● Patches management ● Importance of Common Build Enviroment What's New in Release 2 Desktop Software – Java System Update Services – Improved International Support (Japanese, Korean Brazilian Portuguese) Management Tools – Java Desktop System Configuration Mgr, 1 – Sun Control Station 2.1 – Remote Desktop Takeover Developer Tools (BONUS!) – Studio Std Tech Preview – NetBeans IDE 3.6 – J2SE SDK

Java Desktop System