Web Application Guidelines
Version 4 for City of Malmö’s external and internal (intranet) web applications.
Our Web Presence
The City of Malmö have a variety of seamlessly integrated services and a responsive user experience all the way from the home page, via the content pages, throughout the interaction in the services. Our web content, tools and services must work on all screen sizes and on all major devices.
We release early, release often and iterate over again to make it better. We build clean user interfaces, reuse successful interaction patterns others created and we try to keep things simple. We put the user in the first place. We do not use overlays to distract the user from performing a task. We base most of our development on open source and we provide our own applications as open source.
The Web Application Guidelines (WAG) explains how you make your web application a seamless part of our web presence and how you can take part in creating a superior web experience.
Familiarize yourself with the guidelines if you:
- Are planning procurement of a web based system, it can be an existing product or a custom built solution.
- Are developing a new web based application.
- Are a vendor working with the introduction of a new system.
- Are adapting or updating an existing web based application.
Scope & Limitation
The WAG describe how you use the Global Assets in an application to make it a consistent part of our web services from a user perspective independently of what technical platform it is built on. Server side development guidelines are not covered here. If you are developing an application based on Ruby on Rails, Wordpress or Drupal, check out our repositories at Github to see if you can fork or reuse existing resources. Source code management—for both client and server side code—is covered below.
Register Your Web Application
The first thing you must do when you start a project that will introduce a new web application at The City of Malmö, is to send firstname.lastname@example.org an email with a short description of the system, it’s purpose and the name of the system administrator. By doing this, we will be able to contact the system administrator when new versions of the Global Assets are available and before older versions will be deprecated.
Use Encryption For All Content
We care about our users privacy. Always use a SSL/TLS certificate on the server. Force all requests to use the
https: protocol. This applies to all web content, not only when passwords etc. are transmitted. Redirects to
https: must be done on the serverside. Be sure to avoid mixed content on pages.
Source Code: License and Management
Source code developed for the City of Malmö—it could be a full system, an extension to a system or a component—will be open source licensed under AGPL 3.0 unless otherwise agreed in writing.
Before you start development, contact email@example.com and so that we can create a repository for the application under City of Malmö’s Github organization. Include the name of the application and Github usernames for the project members in the request.
The Github repository you will be assigned must be used for source code version control during daily development and maintenance. Each deployed release of the source code must be tagged in your repository. Use Semantic Versioning 2 for your release tags starting with a lowercase
See our list of devices and browsers that web based services must support.
There’s always many aspects of a subject that can’t be covered in guidelines. It requires skills and experience to build a user interface that is easy to use and looks good and to adapt guidelines in a good way. It will help checking out the following web applications that are using Global Assets v4. You will see how the guidelines are applied in the real world and how the different parts comes together.
- Site search (source code)
- Hitta & jämför äldreboenden (source code)
- Blogg (source code)
- CMS web site
- WAG v4, that is this documentation itself (source code).
- Prototype pages (source code)
Access to the intranet is required.