Im kommenden Update OS10.3, wird es einige Änderungen der Technik geben. Ziel ist es, dass die Programme auf jeder Bildschirmauflösung und -größe gut lesbar und nutzbar sind.
Dies sind die verschiedenen Bildschirme:
Future device ist das BlackBerry Passport.
Jedes Gerät hat eine andere Größe und Pixelanzahl und daraus resultiert eine eigene Pixeldichte für jedes Gerät. Bisher müssen Programme daher an diese Gegebenheiten angepasst werden. Außnahme ist hier das Z3 (540×960). Es benutzt die Einstellungen des Z30 (720×1280) und das OS rechnet die Auflösung herunter.
Ein paar Neuerungen:
Layout
Wird ein absolutes Layout benutzt, beudeutet dies, dass jede Grafik einen festen Bereich im Anzeigefeld hat. Beispiel an einem Z30:
Wenn das Layout absolut ist, sieht es auf dem Q10 wie folgt aus:
Wird aber nun eine relatives Layout benutzt, wird die Anzeige an das vorhandene Anzeigefeld angeglichen, den es sind nur die äußeren Grenzen gegeben und die Positionen der Grafiken sind relativ zu ihnen programmiert:
Dies gilt nicht nur für die Position, auch die Größe kann absolut (links, in Pixel) und relativ (rechts, in Relation zum Bildschirm) programmiert werden:
Pixel
BlackBerry OS10.3 nutzt Design Units. Was ist das und wofür ist das gut?
Nehmen wir ein Symbol, das 9 Pixel (Größe ist extra gewählt) groß ist. Auf einem Q10 ist dieses Symbol klar erkennbar. Stellen wir dieses Symbol aber auf einem BlackBerry Passport dar, wird es schwerer zu erkennen sein. Warum? Das Passport hat mehr Pixel pro Zoll (453dpi) als das Q10 (330dpi). Dadurch würde das Symbol viel graziler auf dem Passport wirken. Teilweise zu grazil.
Daher wird auch hier relativ programmiert: die Design Units.
Das selbe Symbol bestimmen wir nun nicht mit 9 Pixel sondern mit einer Design Unit (du). Eine du hat auf allen Geräten eine eigene Anzahl an Pixel:
- Z30 und Z3 8Pixel
- Q10 und Q5 9 Pixel
- Z10 10 Pixel
- Passport 12 Pixel
Das OS liest nun die Anzahl der du aus dem Programmcode und errechnet daraus die Pixelanzahl der Elemente für die Anzeige.
Beispiel (links Q10, rechts Passport) mit fester Pixelanzahl:
Beispiel (links Q10, rechts Passport) mit Design Unit (du):
Hoffen wir, dass die Entwickler ihren Programmen ein Update spendieren und sie anpassen. Für den Entwickler wäre es in nächster Zeit weniger Arbeit, wenn neue Geräte mit neuen Auflösungen auf dem Markt erscheinen. Es bedeutet aber auch eine sehr zeitintensive Bearbeitung der Layouts. Für die Nutzer ist es auch einfacher: Dasselbe Layout auf verschiedenen Geräten und kein Warten auf Updates, die nur für Anpassungen auf Gerätebildschirme gedacht sind.
Android Programme
Bei Android Programmen sieht es anders aus. Die Programme laufen in der Android Runtime. D.h. es wird eine Laufzeitumgebung gestartet, welche dem Android Programm ein Android OS simuliert. im kommenden Update BlackBerry OS10.3 ist es die Android Runtime 4.3, bisher ist es die Version 4.2.2. Beides nach AOSP (Android open source project).
Android kennt auch relative und absolute Layouts. Bei Android wird aber noch zwischen den verschiedenen vordefinierten Bildschirmgrößen und Pixeldichten unterschieden. Danach werden dann die Programme passend an den Bildschirm skaliert.
Zum Beispiel small (circa 426dp*320dp) für Bildschirmgröße und ldpi (circa 120dpi) bis xxxhdpi (640dpi) für Pixeldichte.
Desweiteren sind die Layouts teilweise nur in vertikaler oder horizontaler Ausrichtung vorhanden. D.h. manche Android Programme drehen sofort in den Landscape Modus, da sie nur für diesen Modus das Layout hinterlegt haben.
Ist das Android Programm schon an mindestens Android 4.3 angepasst, kann bestimmt werden ob sich der Bildschirminhalt drehen darf oder nicht.
Android benutzt so genannte View Groups. Diese sind relativ zu einander. Eine Group muss dann aber auch relativ zum Gesamtinhalt des Bildschirms programmiert sein, da sonst die Proportionen nicht stimmen.
Aus den vorgenannten Gründen kann es vorkommen, dass Android Programme auf BlackBerry Geräten nicht richtig skaliert werden.