Res i Skåne

Res i Skåne allows you to search for buss, train and boat trips in the south of Sweden. Displaying real-time travel and deviation information.

Res i Skåne is open source software released under the Apache 2 open source license. Res i Skåne uses the following open source coponents:

I would like to thank the following people for their great help:

  • Davor Crnomat - For Croatian translation.
  • Emily Holweck - For French translation.
  • Karin Hofbauer - For German translation.
  • Kasper Hansen - For Danish translation.
  • Zsombor Szabo - For Romanian translation.
  • Sigurdur Birgisson - For his help with testing.
  • Johan Karlberg - For his knowledge in map coordinate systems.
  • Albin Theander - For helping me see outside the box.

Skåne is a multilingual region, and I would very much like for Res i Skåne to support all languages supported by the iPhone. If you are a native speaker of any missing language, not yet supported please contact me.

Download Res i Skåne

Download from App Store

Download Res i Skåne Source Code 230KB

  • Map coordinates are geocoded using Google Maps for points that Skånetrafiken do not provide coordinates for.
  • Information messages are fetches from my server and can be displayed in the application. 229KB

  • Show positions and routes on a map.
  • Display realtime information for stops.
  • Various bug-fixes for stability and usability 168KB

  • Search by GPS position
  • Bookmark from start screen in both direction, with a nice animation
  • Various bug-fixes for stability and usability 147KB


Skånetrafiken and Region Skåne are not involved in the development of Res i Skåne. All support requests should be sent to Fredrik Olsson.

If you are in need of support, have questions about Res i Skåne, or have suggestions for more features to add then send me an e-mail.

You are also welcome to make a small donation. Donations will be used for coffe, snacks and anything else that keeps me happy for my coding session.

How Does it Work?

Res i Skåne uses publicly avaibale data that can be accesed by anyone with a small knowledge of computer science. The goal of Res i Skåne is to provide this public information with an intelligable presentation for all citizens independantly of their skill level, in an application worthy of iPhone. How this is done varies for each version of Res i Skåne.

  • 1.0 - Data it fetched over HTTP using HTTP get, you can browse to and view the request in any web browser. The data is an ASCII character 0x31 separated text stream, actually quite fun to decipher. The data source was found by inspecting data packets sent from the official Java ME application using the open source Packet Peeper over shared WiFi internet connection from my Mac.
  • 1.0.1 - The previous data source begun serving only an empty text stream 20 hours after the releae of version v1.0. This new version parses the HTML information available at I used the open source RegexKitLite framework for parsing the badly formatted HTML.
  • 1.0.2 - The mobile web site began refusing sequential request, without a 1 second delay, 4 days after the release of v1.0.1. This version uses the same data source but applies an artificial delay for each request to the server. You can see this problem manualy if you try to open several trip suggestions in seperate tabs of your web browser.
  • 2.0 - RegexKitLite uses a private API and can no longer be used for iPhone applications, so this version required a new data source. Data is fetched over HTTP using HTTP get, the data is UTF8 encoded XML, a SOAP reponse to be precise. Dead simple to parse. The data source was found by inspecting data packets sent from the offical iPhone application. Res i Skåne is honest with it's user agent, and adding any such requirement on the server will break this version of Res i Skåne.
  • 2.0.1 - Only bugfixes
  • 2.1 - Works just as v2.0, but also uses reverse GEO coding for looking up addresses for GPS coordinates.
  • 2.2 - Works as 2.1 with a few additions. Skånetrafiken's server provides map coordinates for stops in the RT90 system<, these coordinates are translated to the international WGS84 system and thus stop points can be displayed on maps. Realtime information is also fetched from the server for stops.
  • 2.2.1 - The official server stop providing map coordinates days after the release of v2.2, rendering the map functionality useless. The official server has provided these coordinates since at least august 2009, but Skånetrafiken has not been able to state any reason for the change in the XML response. This nea version will use Google Maps to fetch map coordinates for any point that Skånetrafiken's server do not provide coordinates for. This works quite well, but may be inaccurate for some transit stations, therefor a warning is also displayed to the user if these backup coordinates are used. This new version will also fetch information messages from my server at launch, this way I can give all end users fast and reviable information about changes in data providers or any other information of their concern. These messages are only displayed once.