Nice Weather: Der Name sagt alles

Schon länger nichts mehr zu Android-Apps geschrieben. Das wird sich mit Nice Weather auch nicht wirklich ändern. Einfach weil die App macht, was ihr Name verspricht: Sie zeigt das Wetter für beliebige Orte an. Fertig.

Gut, ein paar Worte mehr kann ich noch verlieren. Da wäre, dass die App im minimalistischen Design eher nach iOS7 aussieht, was für manche ja nicht unbedingt ein Gütesiegel ist. Aber rufen wir uns in Erinnerung, wie hässlich Android sein kann, ist das ein großes Lob. Mir gefällt auch hier das versteckte Feature, auf dem Zeitstrahl für den angezeigten Tag hin und her zu fahren, um die Wetteränderungen verfolgen zu können. Aber wirklich, minimalistischer und effizienter geht eine Wetter-App nicht, als es Nice Weather hier vormacht. Einfach anschauen, kostet nichts. Zumindest ein Standort nicht, wer mehr braucht, zahlt 1.50€ im Jahr.

Bild: Google Play Store

Drafts-Rezepte V: Wetterdaten mit OpenWeatherMap

Ich habe mir wieder ein kleines Skript (current_weather.py) gebastelt, mit dem ich für einen beliebigen Ort die aktuelle Temperatur und Luftfeuchtigkeit erhalte. Als Datenquelle dient die API von OpenWeatherMap, abgerufen wird es wieder über Pythonista. Das Skript sieht folgendermaßen aus:

# -*- coding: utf-8 -*-
import clipboard
from console import alert
from json import loads
from sys import argv, exit
from urllib import urlopen, quote
import webbrowser

def error_dialog(title, message):
  '''A diaolog box for error messages.'''
	try:
		alert(title, message)
	except KeyboardInterrupt:
		pass
	webbrowser.open('drafts://')
	exit(message)

def filter_data(data):
	'''create output string from response'''
	weather = loads(data)
	temperature = weather['main']['temp']
	humidity = weather['main']['humidity']
	output = 'Temperatur: {0} Celsius\nLuftfeuchtigkeit: {1}%'.format(temperature, humidity)
	return output

def get_current_weather_in(data):
	'''get current weather data'''
	api_url_base = 'http://api.openweathermap.org/data/2.5/weather?q={0}&units=metric&lang=de'
	try:
		response = urlopen(api_url_base.format(data))
	except IOError:
		error_dialog('Connection Error', 'Unable to perform request.')
	if response.getcode() == 200:
		weather_data = filter_data(response.read())
		webbrowser.open('drafts://x-callback-url/create?text={0}'.format(quote(weather_data)))
	else:
		error_dialog('Error', 'Status code: {0} - Message: {1}'.format(response.getcode(), response.read()))

if __name__ == '__main__':
	get_current_weather_in(argv[1])

Gist

Das Skript kann dann über die Drafts-Action ausgeführt werden:

pythonista://current_weather?action=run&argv=[[draft]]

Import-Link

Im Grunde war das auch schon alles. In Drafts muss dann in einer neuen Notiz nur der Name der Stadt eingegeben werden. Gegebenenfalls sollte sicherheitshalber noch das Land hinzugefügt werden. So würde Hamburg, de mir die aktuelle Temperatur und Luftfeuchtigkeit für Hamburg geben.

Solar: Ein Blick in die Zukunft des Wetters

Die kleine App Solar ist das Gegenteil von all dem Bloat, Solar zeigt das Wetter. Punkt. Das war’s dann schon. Dieses peinliche Video wird der eleganten App aber nicht gerecht.

Warum Wetter-Apps anscheinend hoch im Kurs stehen, wird mir wohl ewig ein Rätsel bleiben. Ich will doch bestenfalls kurz nachschlagen, wie sich das Wetter entwickeln wird. Solar kommt mir mit seiner sparsamen Funktionalität entgegen. Es sind nur wenige, aber diese Funktionen sind so schön umgesetzt, ich hätte es kaum für möglich gehalten. Solar startet direkt in die Tagesansicht. Mit einer Wischgeste nach unten ziehe ich eine Drei-Tage-Vorschau ins Sichtfeld, nach rechts oder links wischen führt mich zu weiteren Orten, die ich eingestellt habe. Im Grunde war es das dann auch schon. Wenn da nicht diese prächtige, stufenlose 24-Stunden-Vorschau wäre. Mit einer Geste nach oben gewischt, spult Solar in die Wetter-Zukunft, zeigt, wie sich Wetter und Temperaturen ändern können. Solar hat nur diesen einen Trick, doch war der Wetterbericht nie so schön wie hier.