Author Topic: Zentyal Desktop development  (Read 1067 times)

robb

  • Forum Moderator
  • Zen Hero
  • *****
  • Posts: 1357
  • Karma: +37/-2
    • View Profile
    • Home of the Zentyal Community
Zentyal Desktop development
« on: December 19, 2011, 10:53:04 »
A long time heard demand from the community is to have a desktop environment that seamlessly integrates with Zentyal Server. Today the boards were created to be able to discuss Zentyal Desktop (ZD). We think ZD is so important that it gets a whole section with similar sub forums as Zentyal Server.
I volunteered to coordinate the community discussion about ZD. To get things started I want to set a starting point from where the discussion can develop.

A few months ago the first round of discussions already kicked off with the THINKTANK: zentyal desktop topic, started by ichat.

With the results of that topic and some further brainstorming I came to the following points that IMO need to be addressed in order to come to a ZD that can compete with a Windows desktop in an SMB/Office/School environment.

Have a look at the following and please comment. Keep in mind that I deliberately did not point to direct solutions, but rather defined scenario's that need to be addressed. I probably did not cover all so first I would like to see more scenario's that absolutely need to get addressed too. When this discussion is done we can go on with filling in the solutions for every scenario.

Practical considerations for a 'Zentyal Desktop'

In order to be able to create a Zentyal Desktop (ZD) the first thing to do is identify the borders of the project. What do we want to accomplish? What is the minimum hardware that the ZD should be able to run on. In what kind of situation should the ZD be able to do its job.
The essential part of what ZD should contain is applications that connect to services by Zentyal Server. ZD should implement thes application in a way that they are easily to configure at initial use. Beside applications to use Zentyal Server services, standard office applications should be available. To be decided which applications for what service/task.

Global choices for ZD:
  • Security: security updates on a regular basis.
  • Stability
  • Lightweight? This directly affects the hardware requirements.
  • TCO as low as possible: main aspects are license costs, maintenance and management. Central management is a must.


Aplications to include:
Now this is something that we can discuss about until eternity :) However, there are several types of applications that are an absolute must.
Office (word processor, calculation sheet, presentation software, (pdf)document reader)
Communication: email, PIM, instant messaging, softphone, IRC, …
Browser...
Multimedia: CD/DVD burning, Music player, video player, image editing, image viewer,...
...

/option: create a webbased feature in Zentyal Server to configure the desktop? Is it possible to configure ZD from Zentyal Server WebGUI??

Different types of users/computers

First we should identify what kind of users there are. For what I can see there are 3 basic types of users:
1. Desktop: A stationairy user that is only connected on the Internal LAN through either WiFi or Cable.
2. Mobile:  A Mobile user that connects both on the LAN through WiFi or Cable and connects from remote places over the internet to the LAN.
3. LTSP client: A local user that gets his desktop by PXE boot over the network. The image can either be a thin image or a fat image, depending on if you want to run applications on the server or local.
Extra consideration to explore:
To limit LAN traffic, a local copy on the (thin)client of the image could be used. At each boot a check should be done if the latest image is used. Especially with fat client images this might be an extra option that reduces traffic at boot.
Implement NX client to reduce traffic even more. Then connections over WAN are possible too. Be aware that the compression algorithms of NX are powerfull, but also stress the server more.

Have a question about the Zentyal Community: ASK!
On these forums: robb
On http://webchat.freenode.net/?channels=zentyal : khildin

Want to use Ubuntu-one for free: Sign up here!

ichat

  • Community Council Member
  • Zen Hero
  • *****
  • Posts: 778
  • Karma: +26/-16
  • Zentyal Community Council Member
    • View Profile
Re: Zentyal Desktop development
« Reply #1 on: December 19, 2011, 10:44:20 »
one recuirement that i would like to add is that  the method we embrase should be able to support 'aplication' profiles (default settings) in way so that as many apps are supported as possible  and these settings should be enforceble if possible, or at least returned to  default state on each user logon...

so that if possible users or thair sysadmins could chose the aplication form a 'software list'  this system should bve modular.
Even though I'm a member of the Zentyal Community Council, I'm not employed with zentyal.
All tips hints and advices are based on my personal experience.
As I try my best to be as accurate as possible, following my advice is always at your own risk,
I claim absolutely NO responsibility in any way!

stuartiannaylor

  • Guest
Re: Zentyal Desktop development
« Reply #2 on: December 28, 2011, 11:16:39 »
Hi people.

I firmly believe we shouldn't be specific @ application level.

In fact the application layer is as hazy as the clouds that might provide application layers.

The Zentyal Webadmin GUI should have an application push object. An application / configuration repository.

The desktop should be representative of the SMB market and from experience is that each industry is highly specific and often lean, supplying only requirements.

apt-get is a powerful tool and I am not saying Zentyal shouldn't supply application packages. What I am definitely saying is that in no way should the desktop be tied to any specific applications.

The desktop "Application Push" object should provide choice and allow user/group management for application / configuration that fits with current Zentyal  LDAP & SAMBA structures.
It should allow admins to pick from a list or create new application objects. This will contain a series of apt-get install... and the ability to include environment variables for configuration scripts to be pushed to /etc.

Zentyal offers module packages such as Office, Infrastructure, Gateway...
Zentyal Desktop could offer similar for LibreOffice... in a similar modular fashion.   

Jan Jacobs

  • Zen Warrior
  • ***
  • Posts: 131
  • Karma: +1/-0
    • View Profile
    • My blog (dutch)
Re: Zentyal Desktop development
« Reply #3 on: December 28, 2011, 02:37:14 »
i think the "Desktop" should provide just that, a desktop..
Haver Zentyal Desktop integrate with zentyal server, automate /home sharing, updating the client and setting network specific policy's in some ways..

Maybe, like Stuart suggests, allow administrators to write their own "App profiles" that automate installs and updates or like that.
But for now, i would just like to see a desktop package that allows me to automaticly sync home dirs, and automate certain network tasks
For i dipt into the future far as human eye could see,
saw a vision of the world and all the wonders there would be

stuartiannaylor

  • Guest
Re: Zentyal Desktop development
« Reply #4 on: December 28, 2011, 05:19:03 »
A Desktop before applications would be a good start.

Lubuntu LTS would seem a good start. It would give time to to get the desktop going and time to tinker the new LTS.

Also it would fit into the 3.0 roadmap with LTSP.

In terms of desktop I guess we can say any ubuntu derivative and allow some method to choose a distribution image.

We should vote on a desktop choice?

Stuart

ichat

  • Community Council Member
  • Zen Hero
  • *****
  • Posts: 778
  • Karma: +26/-16
  • Zentyal Community Council Member
    • View Profile
Re: Zentyal Desktop development
« Reply #5 on: December 28, 2011, 06:47:12 »
i would state that we should use the desktop that best fits most users and is most likely to be supported by ubuntu or a ubuntu derivate team.

 from compatibillity point of view that would offcaurce be  gnome 3 since ubuntu itself is based on gnome 3 and unity,   now you could than ad fixes for the 3 main shell's based on gnome 3 (gnomeshell unity and linux mint (also ubuntu based) msge,  where the first will be gnome default, unity because it is the ubuntu way and msge because its a bit more geared to  windows users.

these 3 would almost use the same codebase so supporting them with the same apt package could probably be feasible.

...  but gnome is not the only desktop,   so we should loke for an alternative package.  (lubuntu has aready been mentioned but its verry basic and lacks a whole lot of advanced features (including remote ldap user login and kerborose).   as far as i know xfce does this a lot better, but its development is slow pased and ubuntu support is slim..

and this still leaves kde.   

in my view,   these are the 3 we should eventually support,  and since xfce is so modular and basic most other desktops based on gtk2+  like openbox or lxde  could borrow some parts of xfce (like its session manager) to be also supported in a bit alternative way.

only from a technical point of view i would recoment starting with either  xfce or gnome3.      where xfce would support more (older / slower) hardware,  but nome 3 is ubuntu's default ...

i would personally like to hear some opinions from a developer, preferably one with lots of linux (ubuntu?) experience...
Even though I'm a member of the Zentyal Community Council, I'm not employed with zentyal.
All tips hints and advices are based on my personal experience.
As I try my best to be as accurate as possible, following my advice is always at your own risk,
I claim absolutely NO responsibility in any way!