and the Enterprise User Brian Nitz Software Engineer [email protected] GNOME and the Enterprise User

Who uses GNOME? ● Scientific ● Medical ● Education ● Enterprise ● Developers ● Sun Sun's GNOME based products

●GNOME 1.4 Preview on Solaris ●GNOME 2.0 on Solaris ●GNOME 2.2 on JDS () ●GNOME 2.6 (beta starting) Desktop Client ComKepy coomnpoenennts tgrsaphic

Mozilla Browser + Flash,Acrobat,Real plugins Evolution Email, Directory and Calendar client StarOffice Office Productivity Suite GAIM + Java System IM Instant Messaging clients GNOME Java Development Platform r.2 Linux OS Enterprise user must haves:

●Stability ●Performance ●Usability ●Interoperability ●Scalability ●Manageability ●Security Stability

●Often low expectations ●The “reinstall/reboot fix” ●GNOME is competitive ●Total UI lockups and crashes are rare Performance

● Keypress and mouse movement must generate immediate response ● Obvious launch and activity throbbers ● No noticible window size/drag delays ● Allow reuse of older PCs Usability

● Consistency ● Task Focus ● Appropriate access to desktop properties ● Personal preferences ● Simplicity Simplicity

Why doesn't it say “Start?” Consistency

●Window decorations ●Keyboard navigation in Mozilla opens new tab and in - ●Mouse movements/clicks ●Instant apply properties Interoperability

●Network ●Application ●Data type Network Interoperability

●Nautilus Samba (authentication) NFS (locking) WebDav Application Interoperability

●Win32 ABI ✔ WINE ✔ Terminal services on native server ✔ Port it ●Terminal Interface ✔ Gnome-terminal ✔ Web-based terminal emulators (HP,TN3270...) ●Java ●Plugins Communication applications

●Email and chat clients Evolution, Mozilla, GAIM, GnomeMeeting ●Browser Mozilla 1.4.1 ●Office Suite StarOffice 7 ●Multimedia Totem, Java Media Player, RealPlayer Data Interoperability

●New document interoperability is easy OpenOffice.org and StarOffice export natively in XML European Union adopted this format Optional exports in HTML, PDF, DOC Legacy doc interoperability

●More difficult ●Helper Applications ✔ OpenOffice.org/StarOffice[tm] ✔ Adobe Acrobat[tm] ✔ Flash[tm] ✔ RealPlayer[tm] ●License issues ●Other Issues Wrappers such as MS/TNEF or BinHex Incorrect MIME hints & sniffing Roadblocks

●License issues ●Open content authoring (e.g. DVD) Scalability Issues

●Nautilus Deep Networks Trash, thumbnails, hang on stale mounts... Be Nice!!!

●clock-applet ●gtik2-applet2 ●Screensavers ●Themes ●pixmaps A case study SunRay[tm] a quick overview

10 CPU, 32 Gigabyte, ~170 user system in Denver

Too many cross calls are hurting performance. What is causing this? Detective work with dtrace. Who tells Xserver to create/destroy pixmaps? dtrace on GNOME 2.0 in SunRay environment

Fish-applet2 Galf-server Nautilus

Gnome-panel 6.30% Mozilla-bin 6.26% Xsun Gnome-smproxy 5.62% Dtwm Dsdm 5.59% Netscape Gnome-terminal 0.93% Xscreensaver soffice.bin gtik2_applet2 73.41% Netscape-bin Gnome-terminal Dsdm Gnome-smproxy Metacity Gnome-panel gtik2_applet2 Who is abusing the Xserver?

Fish-applet2 1 Galf-server 4 Nautilus 7 Mozilla-bin 8 Xsun 10 Dtwm 15 Netscape 20 Xscreensaver 23 Gedit 25 soffice.bin 26 Netscape-bin 26 Gnome-terminal 81 Dsdm 487 Gnome-smproxy 490 Metacity 546 Gnome-panel 549 gtik2_applet2 6399 The Culprit Each instance of gtik2_applet2 created and destroyed an X graphics context every 10 milliseconds. Stopping 6 gtik2 applets on a 10 CPU, 32 Gigabyte, ~170 user system: ● Decreased cross-calls by 64% ● Decreased involuntary context switches by 35% ● Decreased system time 27% ● Decreased user time 37% ● Increased idle time 15% Thin Clients/Multiuser ● Proper use of /tmp Generate process specific unique temporary file names. Clean them up (PIDs aren't unique across reboots!)

● Display variables Applications shouldn't hard code or modify $DISPLAY Don't assume :0.0 Don't hard code audio, use $AUDIODEV

● IP address assumptions Applications should not assume unique IP addresses per user (e.g. license server) Applications should not assume that services are bound to a particular IP address (e.g. NFS cluster lock) Shared Preferences

●GNOME 2.0, 2.2, 2.6... may share the same home directory Manageability

●Gconf provides the capability in GNOME ●APOC provides a common interface for selective -keys and for non-gconf applications (StarOffice/Mozilla) ●APOC allows manageability across an organization Desktop Configuration Manager

Fine-grained control ● Delivers application-level (StarOffice, GNOME, Mozilla, Evolution, etc.) Configuration and Policy Management to the Java Desktop System. ● Centrally/remotely manage the “options” and “preferences” of core software components (GNOME, StarOffice, Mozilla, Evolution,) ● Desktop “lockdown” functionality allow/disallow end users the ability to reconfigure their centrally configured applications based on roles and organizations. Sun Control Station 2.1

Desktop Management

●Manage a set of desktop images for rapid setup to multiple desktops simultaneously ●Automatically deploy a JDS desktop environment from a former Windows environment ●Dependency checking to insure correct patches/packages installed

●Software Repository and SW / Hardware inventory management ●Health and Performance Monitoring Remote Desktop Takeover

● View and interact with user desktop display to help, guide and trouble shoot ● Provide remote access to a users Desktop for help desk and remote access capabilities ● Speeds problem resolution for standard help desk calls Security

●Desktop configurability ●Desktop lockdown features ●Immunity from common malware The Future ●Accessibility ●Usability ●Configurability ●Interoperability ●Applications ✔ Project Management ✔ Multimedia ✔ Authoring ✔ Collaboration