Project

General

Profile

Actions

Feature #19097

closed

Responsive layout for mobile devices

Added by Jan from Planio www.plan.io about 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Category:
UI
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed

Description

There have been a number of attempts to make Redmine more mobile-friendly, most of which have been incorporated in themes.

However, I believe that "mobile-friendliness" (e.g. a responsive layout) has nothing to do with the main purpose of themes.

IMO, the main purpose of themes is adding a custom design, like colors, icons, fonts, etc. Mobile-friendlyness on the other hand, should be a core feature for any modern web application. At Planio, we've been developing such a responsive layout during the past weeks and I would like to contribute this back to the Redmine community. In fact, I would really enjoy seeing this go into the Redmine core.

It has no dependencies on Planio itself or on any theme. In fact, it also tries to also cause minimal disruption to existing themes. On the standard (desktop, i.e. >900px) view, existing themes should just work like before.

Moreover, only a few minimal changes should be required by theme developers to make their existing themes work and look good on smaller screens.

Current status

The patch consists of a few changes to the base layout, some JavaScript (for the right side fly-out menu) and a self-contained stylesheet file. In this first step, the stylesheet tries to reach a minimum setup in order to achieve basic responsiveness for Redmine. The following things were kept in mind:

  • In Redmine, anything that is below 900px has a horizontal scrollbar anyways and therefore does not fit in viewport, so start adding responsiveness here
  • Use as little JavaScript as possible -> try CSS solution first
  • Don't use workarounds for IE below 9 to keep things easy

How to make existing themes work

Almost all existing themes we tested, work great on regular desktop screens. In fact, they also work with the mobile layout out of the box. To make them more beautiful, only a few tweaks to the respective theme CSS are required:

The colors mentioned here are all standard Redmine theme colors. That should make a find & replace for existing theme developers easier.

/* Header background color */
#wrapper  #header {
  background-color: #628db6;
}

/* Mobile toggle button colors */
#wrapper #header a.mobile-toggle-button {
  border-left-color: #dddddd;
  color: #f8f8f8;
}

/* Flyout menu colors */
#wrapper .flyout-menu {
  color: #ffffff;
  background-color: #3e5b76;
}

/* Flyout menu border color */
#wrapper .flyout-menu__avatar, #wrapper .flyout-menu ul li a {
  border-top-color: rgba(255,255,255,.1); /* white with alpha transparency */
}

/* Flyout menu link color */
#wrapper .flyout-menu a, #wrapper .flyout-menu__avatar a {
  color: #ffffff;
}

/* Flyout menu headings background */
#wrapper .flyout-menu h3 {
  background-color: #628db6;
}

/* Flyout menu headings text color */
#wrapper .flyout-menu h3, #wrapper .flyout-menu h4 {
  color: #ffffff;
}

/* Search magnifying glass label color */
#wrapper .search-magnifier {
  color: #bbbbbb;
}

/* Project menu dropdown arrow color */
#wrapper .jump-box-arrow {
     color: #ffffff;
}

These are all CSS classes which we believe most existing theme developers should need to adapt in order to make their theme look good with the responsive layout.

What's left to to?

We will be working on making individual views more mobile-friendly as well. This will be a step-by-step process where we will try to work on the important parts (issues list, issue forms) first and then work our way back to the not so important views.

However, since this patch already improves the status quo on mobile devices and is self-contained, I'd say it could already be committed.


Files

screenshot-iphone6-overview.png (75.9 KB) screenshot-iphone6-overview.png Go MAEDA, 2015-02-13 02:28
screenshot-iphone6-menu.png (61.9 KB) screenshot-iphone6-menu.png Go MAEDA, 2015-02-13 02:28
0002-Add-smooth-scrolling-for-webkit-browsers.patch (704 Bytes) 0002-Add-smooth-scrolling-for-webkit-browsers.patch Jan from Planio www.plan.io, 2015-02-19 21:14
0003-Prevent-zooming-on-mobile-browsers.patch (873 Bytes) 0003-Prevent-zooming-on-mobile-browsers.patch Jan from Planio www.plan.io, 2015-03-04 11:53
0004-Style-contextual-buttons.patch (1.74 KB) 0004-Style-contextual-buttons.patch Jan from Planio www.plan.io, 2015-03-04 12:20
redmine_responsive_contextual1.png (82.4 KB) redmine_responsive_contextual1.png Jan from Planio www.plan.io, 2015-03-04 12:24
redmine_responsive_contextual2.png (61 KB) redmine_responsive_contextual2.png Jan from Planio www.plan.io, 2015-03-04 12:24
0005-Style-login-page.patch (1.2 KB) 0005-Style-login-page.patch Jan from Planio www.plan.io, 2015-03-04 12:41
0007-Align-watchers-area-well-in-mobile-menu.patch (1.77 KB) 0007-Align-watchers-area-well-in-mobile-menu.patch Jan from Planio www.plan.io, 2015-03-13 14:20
0008-Make-loading-indicator-wider.patch (793 Bytes) 0008-Make-loading-indicator-wider.patch Jan from Planio www.plan.io, 2015-03-13 14:21
watchers_sidebar.png (34.7 KB) watchers_sidebar.png Jan from Planio www.plan.io, 2015-03-13 14:24
0010-Add-responsiveness-to-tabular-forms.patch (1.26 KB) 0010-Add-responsiveness-to-tabular-forms.patch Felix Gliesche, 2015-03-24 19:18
0009-Make-UI-Dialogs-responsive.patch (906 Bytes) 0009-Make-UI-Dialogs-responsive.patch Felix Gliesche, 2015-03-24 19:18
0011-Optimize-issues-new-form-for-mobile-devices.patch (837 Bytes) 0011-Optimize-issues-new-form-for-mobile-devices.patch Felix Gliesche, 2015-03-24 19:18
0012-Reorganize-overflow-of-body-and-wrapper.patch (1.22 KB) 0012-Reorganize-overflow-of-body-and-wrapper.patch Felix Gliesche, 2015-08-20 13:50
0001-Responsive-layout.patch (18.4 KB) 0001-Responsive-layout.patch Jan from Planio www.plan.io, 2015-08-20 13:59

Related issues

Related to Redmine - Patch #19468: Replace jQuery UI Datepicker with native browser date fields when availableClosedJean-Philippe Lang

Actions
Related to Redmine - Feature #4833: mobile java client for redmineClosed2010-02-13

Actions
Related to Redmine - Feature #4830: Android client for redmineClosed2010-02-13

Actions
Related to Redmine - Feature #33156: Allow zooming on mobile devicesClosedGo MAEDA

Actions
Has duplicate Redmine - Feature #20026: Redmine whether to support mobile phonesClosed

Actions
Has duplicate Redmine - Feature #883: Add suport for mobile devices (CSS)Closed2008-03-17

Actions
Has duplicate Redmine - Feature #13842: Support mobile phone users betterClosed

Actions
Has duplicate Redmine - Defect #25727: Interface not responsive to mobile deviceClosed

Actions
Actions

Also available in: Atom PDF