Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.4/Views/HiveExperimentPermissionView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.4/Views/HiveExperimentPermissionView.cs	(revision 6464)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.4/Views/HiveExperimentPermissionView.cs	(revision 6465)
@@ -34,7 +34,7 @@
     public HiveExperimentPermissionView() {
       InitializeComponent();
-      permissionComboBox.Items.Add(Permission.ReadOnly);
+      permissionComboBox.Items.Add(Permission.Read);
       permissionComboBox.Items.Add(Permission.Full);
-      permissionComboBox.SelectedItem = Permission.ReadOnly;
+      permissionComboBox.SelectedItem = Permission.Read;
     }
 
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.4/Views/RefreshableHiveExperimentListView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.4/Views/RefreshableHiveExperimentListView.cs	(revision 6464)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.4/Views/RefreshableHiveExperimentListView.cs	(revision 6465)
@@ -33,4 +33,10 @@
     public RefreshableHiveExperimentListView() {
       InitializeComponent();
+      this.itemsListView.View = View.Details;
+      this.itemsListView.Columns.Clear();
+      this.itemsListView.Columns.Add(new ColumnHeader("Date") { Text = "Date" });
+      this.itemsListView.Columns.Add(new ColumnHeader("Name") { Text = "Name" });
+      this.itemsListView.HeaderStyle = ColumnHeaderStyle.Clickable;
+      this.itemsListView.FullRowSelect = true;
     }
 
@@ -45,4 +51,23 @@
       }
     }
+
+    protected override ListViewItem CreateListViewItem(RefreshableHiveExperiment item) {
+      ListViewItem listViewItem = base.CreateListViewItem(item);
+      listViewItem.SubItems.Clear();
+      listViewItem.SubItems.Insert(0, new ListViewItem.ListViewSubItem(listViewItem, item.HiveExperiment.DateCreated.ToString("dd.MM.yyyy HH:mm")));
+      listViewItem.SubItems.Insert(1, new ListViewItem.ListViewSubItem(listViewItem, item.HiveExperiment.Name));
+      listViewItem.Group = GetListViewGroup(item.HiveExperiment.OwnerUsername);
+      return listViewItem;
+    }
+
+    private ListViewGroup GetListViewGroup(string groupName) {
+      foreach (ListViewGroup group in itemsListView.Groups) {
+        if (group.Name == groupName)
+          return group;
+      }
+      var newGroup = new ListViewGroup(string.Format("Owner ({0})", groupName), HorizontalAlignment.Left) { Name = groupName };
+      itemsListView.Groups.Add(newGroup);
+      return newGroup;
+    }
   }
 }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveExperimentPermission.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveExperimentPermission.cs	(revision 6464)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveExperimentPermission.cs	(revision 6465)
@@ -28,11 +28,14 @@
     private string grantedUserName;
     public string GrantedUserName {
-      get { return grantedUserName; }
-      set { grantedUserName = value; OnPropertyChanged(new PropertyChangedEventArgs("GrantedUserName")); }
+      get { return this.grantedUserName; }
+      set { 
+        this.grantedUserName = value; 
+        this.OnPropertyChanged(new PropertyChangedEventArgs("GrantedUserName"));
+      }
     }
 
     #region Constructors and Cloning
     public HiveExperimentPermission() {
-      this.Permission = Hive.Permission.ReadOnly;
+      this.Permission = Hive.Permission.Read;
       this.PropertyChanged += new PropertyChangedEventHandler(HiveExperimentPermission_PropertyChanged);
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveServiceClient.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveServiceClient.cs	(revision 6464)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.4/ServiceClients/HiveServiceClient.cs	(revision 6465)
@@ -607,4 +607,7 @@
         
         [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string OwnerUsernameField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
         private HeuristicLab.Clients.Hive.Permission PermissionField;
         
@@ -710,4 +713,21 @@
                     this.OwnerUserIdField = value;
                     this.RaisePropertyChanged("OwnerUserId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string OwnerUsername
+        {
+            get
+            {
+                return this.OwnerUsernameField;
+            }
+            set
+            {
+                if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true))
+                {
+                    this.OwnerUsernameField = value;
+                    this.RaisePropertyChanged("OwnerUsername");
                 }
             }
@@ -1452,5 +1472,5 @@
         
         [System.Runtime.Serialization.EnumMemberAttribute()]
-        ReadOnly = 1,
+        Read = 1,
         
         [System.Runtime.Serialization.EnumMemberAttribute()]
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/HiveExperiment.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/HiveExperiment.cs	(revision 6464)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Common/3.4/DataTransfer/HiveExperiment.cs	(revision 6465)
@@ -37,4 +37,6 @@
     [DataMember]
     public Permission Permission { get; set; } // the permission for the currently logged in user
+    [DataMember]
+    public string OwnerUsername { get; set; }
 
     /* ==== some computed statistics ==== */
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HiveService.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HiveService.cs	(revision 6464)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.4/HiveService.cs	(revision 6465)
@@ -244,5 +244,8 @@
             && (x.OwnerUserId == userManager.CurrentUserId || x.HiveExperimentPermissions.Count(hep => hep.Permission != Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0)
           ).FirstOrDefault();
-      if (hiveExperiment != null) hiveExperiment.Permission = dao.GetPermissionForExperiment(hiveExperiment.Id, userManager.CurrentUserId);
+      if (hiveExperiment != null) {
+        hiveExperiment.Permission = dao.GetPermissionForExperiment(hiveExperiment.Id, userManager.CurrentUserId);
+        hiveExperiment.OwnerUsername = userManager.GetUserById(hiveExperiment.OwnerUserId).UserName;
+      }
       return hiveExperiment;
     }
@@ -254,4 +257,5 @@
         author.AuthorizeForExperiment(he.Id, Permission.Read);
         he.Permission = dao.GetPermissionForExperiment(he.Id, userManager.CurrentUserId);
+        he.OwnerUsername = userManager.GetUserById(he.OwnerUserId).UserName;
       }
       return hiveExperiments;
@@ -261,6 +265,8 @@
       authen.AuthenticateForAnyRole(HiveRoles.Administrator);
       var hiveExperiments = dao.GetHiveExperiments(x => true);
-      foreach (var he in hiveExperiments) // no authorization here, since this method is admin-only! (admin is allowed to read all jobs)
+      foreach (var he in hiveExperiments) { // no authorization here, since this method is admin-only! (admin is allowed to read all jobs)
         he.Permission = dao.GetPermissionForExperiment(he.Id, userManager.CurrentUserId);
+        he.OwnerUsername = userManager.GetUserById(he.OwnerUserId).UserName;
+      }
       return hiveExperiments;
     }
@@ -287,5 +293,4 @@
       author.AuthorizeForExperiment(hiveExperimentId, Permission.Full);
       trans.UseTransaction(() => {
-        HiveExperiment he = dao.GetHiveExperiment(hiveExperimentId);
         dao.DeleteHiveExperiment(hiveExperimentId); // child jobs will be deleted by db-trigger
       });
