Cardreader für iOS 10

Comment

Cardreader für iOS 10

Der Cardreader verwandelt das iPhone in ei­nen mo­bi­len und zu­ver­läs­sigen Visiten­karten-Scan­ner. Im Geschäfts­all­tag, auf Kon­fe­ren­zen oder Mes­sen be­ein­druckt die App durch kom­for­tab­les Ein­lesen und An­legen von Geschäfts­kon­tak­ten in das iOS-Adress­buch. So sind alle Kontakt­in­for­ma­tio­nen von Ge­schäfts­part­nern und Kollegen nur eine Fingerbewegung weit entfernt.

Die App entstand in Zusammenarbeit mit Andor Greißl und wurde erstmals im Jahr 2009 veröffentlicht. Seitdem erfreut sie sich großer Beliebtheit und fand Erwähnung in Portalen wie 9to5mac.comheise.de oder cio.de

Mit Version 3.0.0 wird der Cardreader 64-bit-fähig und für iOS 10 angepasst. Zusätzliche Fehlerbehebungen runden das Gesamtpaket ab. Das Update ist ab sofort im App Store erhältlich.

 
 

Comment

StarSnoopy Merchandise

Comment

StarSnoopy Merchandise

Das Design unserer neuesten App StarSnoopy gefällt uns sehr - so sehr sogar, dass das Maskottchen seinen Weg aus der App in unsere Büros gefunden hat (Bild rechts). Und weil wir Informatiker mit unseren Nerdhumor-Shirts nebenberuflich oft die Funktion einer wandelnden Litfaßsäule erfüllen, war Merchandising der nächste logische Schritt.

Der StarSnoopy-Shop öffnet nun seine Pforten und bietet eine große Auswahl an Merchandise rund um Robin, das süße Rotkehlchen aus der App. Die T-Shirts, Hoodies, Beanies und Gebrauchsgegenstände lassen sich sogar selbst gestalten in Form, Farbe und Design. So erhält jeder seinen einzigartigen StarSnoopy-Fanartikel.

Den Merchandise Shop findet ihr auf starsnoopy.de

Mich gibt's leider (noch) nicht zu kaufen

Comment

Apple 2017: iOS 11, iPhone 8, ARKit

Comment

Apple 2017: iOS 11, iPhone 8, ARKit

2017 gehört den randlosen Smartphones. Xiaomi legte vor einem Jahr mit dem Mi Mix und einem Bildschirm-zu-Gehäuse-Verhältnis von 84% vor. Die südkoreanische Konkurrenz folgte im April mit dem Samsung Galaxy S8 und dem LG G6. Laut jüngsten Gerüchten und einer Grafik aus der aktuellen Homepod Firmware wird das iPhone 8 diesem Trend folgen.
Offen bleibt die Frage, wie Apple den fehlenden Platz für den Home-Button kompensiert. Gerüchte über einen reservierten Onscreen-Bereich werden immer lauter und erinnern uns an den Weg, den Google damals mit der Navigation Bar ging. Dann ist es nur noch ein kleiner Schritt bis zum klassischen Back-Button, wie er damals sogar vom Meister persönlich vorgeschlagen wurde - und wir erinnern uns schmunzelnd an den ClearTouch Screen Protector.

Das iPad Pro wurde 2015 als Tablet für Profis vorgestellt und erhält mit dem bald erscheinenden iOS 11 zahlreiche Neuerungen, die dieses Image festigen sollen. Hierfür gewährt die zentrale Datenablage eine feingranulare Unterscheidung aller Endpunkte, damit der Nutzer weiß, wo und bei welchem Anbieter seine Daten liegen. Um das riesige Display des iPad Pro effektiv auszunutzen, hob man die Begrenzung der Apps im Dock auf und verbesserte den Mehrfensterbetrieb. Es können nun bis zu vier Apps gleichzeitig dank Floating Window und Picture-in-Picture angezeigt und Inhalte via Drag and Drop zwischen Apps bewegt werden.
Zusätzlich wird das Kontrollzentrum mit dem Sperrbildschirm auf einer einzigen Seite zusammengelegt und um Ordner, natives Screen Recording und 3D Touch ergänzt.

Mit ARKit erhält die Augmented Reality Einzug auf iOS und damit in gut ein Drittel des Smartphonemarktes. Wo es Googles Project Tango aufgrund der starken Fragmentierung von Android noch schwerfällt, Fuß zu fassen, könnte ARKit das Feld gehörig aufmischen. Erste Prototypen wirken vielversprechend und die Einsatzzwecke sind mannigfaltig: Postkunden schätzen das Volumen ihrer Sendung in virtuellen Paketen ab, Innenarchitekten tragen ihren gesamten Produktkatalog in der Hosentasche und messen Räume zentimetergenau ab. Natürlich dürfen auch interdimensionale Portale und virtuelle BB-8-Droiden nicht fehlen.

Zuletzt erhalten wir Entwickler ebenfalls einige Goodies: vom leicht überarbeiteten Swift 4 bis hin zu Xcode 9, welches in Sachen Performance zugelegt hat und diesmal dankenswerterweise abwärtskompatibel bleibt. Nicht zuletzt widmet sich Apple dem bisher enttäuschend stiefmütterlich behandelten Thema Refactoring.
Last but not least: Wireless Debugging!

Comment

StarSnoopy - die Wunschlisten-App

Comment

StarSnoopy - die Wunschlisten-App

StarSnoopy ist unsere Antwort auf vergessene Wünsche, doppelte Überraschungen und chaotische Gruppengeschenke. StarSnoopy erinnert sich für Dich an Deine Wünsche, verhindert lange Gesichter bei der Bescherung und erleichtert die Absprache bei gemeinschaftlichen Geschenken. Sammle Deine Wünsche, teile sie mit Deinen Lieben und lass Dich überraschen. Organisiere Dich mit anderen und erfülle Wünsche, gezielt und einfach.

Wünschen. Teilen. Überraschen.

Wunschlisten sind Dreh- und Angelpunkt bei StarSnoopy. In einer Wunschliste werden alle Wünsche für einen Anlass gesammelt. Die Einladungen kannst Du über Facebook, WhatsApp, E-Mail, SMS und alle anderen bekannten Kanäle teilen - auch das Teilen via QR-Code ist möglich. Die eingeladenen Personen werden zu jeder Zeit aufgelistet, damit Du einen Überblick behältst und niemand außen vor bleibt. 
Natürlich weißt Du nicht, welche Wünsche bereits erfüllt wurden und wer sich woran beteiligt. Bis zum Tag des Anlasses soll es für Dich eine Überraschung bleiben.

Made in Germany

StarSnoopy ist das Ergebnis einer Kooperation zwischen der x-root Software GmbH und unserem Kollegen Peter Jarosz, welcher die Idee für diese App hatte. Nach über einem Jahr in der Entwicklung erscheint StarSnoopy heute für iOS und Android - kostenlos und ohne versteckte In-App-Käufe.

Weitere Informationen findest Du auf starsnoopy.de.

Comment

Room Persistence Library

Comment

Room Persistence Library

SQLite bietet sich seit jeher als Datenbanksystem für Android an. Auch wenn mittlerweile potentere Alternativen wie die dokumentenbasierten Realm oder Firebase existieren, bildet SQLite nach wie vor den Unterboden vieler Apps. Der Zugriff auf diese SQLite-Datenbanken erfolgte über ContentValues, Cursor und Raw Queries, welche aufwendig in der Einrichtung und fehleranfällig in der Wartung sind. Aus dieser Not entstanden zahlreiche Drittanbieterbibliotheken für objektrelationale Abbildungen (Object Relational Mapping, kurz ORM) greenDao, ActiveAndroid oder SugarORM und bestehende Größen wie OrmLite wurden portiert.

Auf der diesjährigen Google I/O stellte Google mit der Room Persistence Library (Room) endlich einen hauseigenen ORM für Android vor. Durch den geschickten Einsatz von Annotationen verringert Room den Boilerplate Code auf ein absolutes Minimum und nimmt uns Entwicklern einen Heidenaufwand ab, um uns der eigentlichen Geschäftslogik unserer Apps zuzuwenden. Hierbei behalten wir den vollen Funktionsumfang von SQLite, da nach wie vor Raw Queries geschrieben werden. Diese werden im Gegensatz zum Plain SQLite zur Übersetzungszeit validiert und nicht erst zur Laufzeit, wodurch Fehler vermieden und Korrekturen vereinfacht werden. Weiterhin werden Datenbankabfragen im Background Thread forciert, um ein versehentliches Blockieren der UI zu verhindern.

Grundsätzlich setzt sich die Datenbankschicht mit Room aus drei Komponenten zusammen:

  1. Datenbank
  2. Entitäten
  3. Data Access Objects (Dao)

Die Datenbank wird mit @Database annotiert und leitet als abstrakte Klasse von RoomDatabase ab. Sie konfiguriert Datenbankversion und -namen sowie unterstützte Entitäten, Type Converter und benötigte Migrationspfade. Weiterhin dient sie als Sammelstelle für verwendete DAOs.

Entitäten werden mit @Entity annotiert und bestehen in ihrer schlanksten Form aus nicht mehr als public fields. Felder, die ignoriert werden sollen, kennzeichnen wir mit @Ignore. Für nicht-unterstützte Datentypen können Type Converter geschrieben werden, welche z. B. die DateTime aus JodaTime in ein Objekt vom Typ Long oder String umwandeln.

Data Access Objetcs werden mit @Dao annotiert und dienen als Zugriffsschicht auf die Datenbank. Für Standardaktionen wie @Insert, @Update oder @Delete muss nichts weiter als die entsprechende Annotation gesetzt werden. Abfragen werden mit @Query und einem Raw Statement definiert, welchem Parameter übergeben werden können.

Zu diesen drei Komponenten gesellt sich bei Bedarf noch das ViewModel hinzu, welches bei den neuen Lifecycle Aware Components eingesetzt wird.

Aus diesen Komponenten erstellt Room zur Übersetzungszeit die entsprechenden Implementierungen, womit der produzierte Code einsehbar aber nach wie vor komplett abstrahiert bleibt. Aktuell bereiten uns noch Generics Probleme, die wir z. B. für einen BaseDao verwenden, welcher Standardmethoden wie insert(), delete() oder findById() implementiert. Room verliert die Typparameter und kann mit dem unbekannten Typ T nichts mehr anfangen. Ironischerweise tippt uns der Compiler an der Stelle auf die Schulter und schlägt uns eine Basisklasse vor, da es scheint, als wollen wir einen BaseDao definieren. Dass unsere Implementierung exakt diesem Vorschlag entspricht, interessiert ihn nicht.

Kinderkrankheiten wie diese werden aber mit Sicherheit in den kommenden Iterationen des ansonsten bereits sehr vielversprechenden ORMs behoben. Aktuell befindet sich Room in der Alpha 1 und wird wie gewohnt, zusammen mit seinem Annotation Processor, über Gradle vertrieben:

compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"

 

Codebeispiel:

@Database(entities = {Example.class}, version = 1)
@TypeConverters({DateTimeConverter.class})
public abstract class AppDatabase extends RoomDatabase {

    private static AppDatabase instance;

    public static AppDatabase getDatabase(Context context) {
        if (instance == null) {
            instance = Room.databaseBuilder(context, AppDatabase.class, "db_name").build();
        }
        return instance;
    }

    public abstract ExampleDao getExampleDao();
}
@Entity
public class Example {
    @PrimaryKey(autoGenerate = true)
    public int uid;
    public DateTime createdAt;
    public DateTime updatedAt;
    public String name;
}
@Dao
public interface ExampleDao {

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    public void insert(Example entity);
  
    @Delete
    public void delete(Example entity);
     
    @Query("SELECT * FROM example")
    List<Example> findAll();
}

Comment

Google I/O 2017

Comment

Google I/O 2017

Seit gestern findet die alljährliche Google I/O statt, die von Sundar Pichai mit dem Slogan "From Mobile First to AI First" eingeleitet wurde.

Google.ai ist Dreh- und Angelpunkt dieser Entwicklung. Auf dieser Plattform für künstliche Intelligenz entstehen neuronale Netzwerke, welche mittlerweile selbst in der Lage sind, eigenständig Netze zu bilden (Automatic Machine Learning). Die hierfür verwendeten Tensor Processing Units (TPU) lassen sich demnächst als Cloud-Dienst mieten, wo sie im Verbund eine erstaunliche Rechenkraft von bis zu 11,5 Petaflops erreichen. Interessenten können sich vorab hier für diesen Dienst anmelden.
Das letztjährige Buzzword Machine Learning wird dieses Jahr mit der Augmented Reality verknüpft, um unter anderem Objekte auf (Bewegt-)Bildern zu erkennen. Praxisrelevant wird diese Technologie voraussichtlich, sobald Google Lens erscheint und die Kameras unserer Smartphones mit Deep Learning ausstattet.

 
inception_we-have-to-go-deeper.jpg
 

Für Endanwender wurden der Chromecast Ultra sowie neue Virtual Reality- bzw. Daydram-Geräte vorgestellt. Neben dem LG V30, Asus ZenFone AR kündigte man auch ein Standalone-VR-Headset an, welches von Google in Zusammenarbeit mit HTC und Lenovo entwickelt wird und ohne Kabel auskommt, weil die komplette Hardware direkt im Headset verbaut ist.

Android O erhält seine zweite Preview, welche die auf der Konferenz vorgestellten Features wie Picture-in-Picture, Notification Dots, Autofill for Google und Smart Text Selection vorführt. Die Machine Learning-Bibliothek Tensorflow erhält mit Tensorflow Lite einen mobilen Ableger samt API, welcher lokal läuft und direkt ins Betriebssystem integriert wird. Android O Preview 2 ist ab sofort öffentlich erhältlich für alle Pixel- und Nexus-Geräte der letzten Generation. Eine Migrationsanleitung bereitet uns Entwickler auf die ab Juni finalen APIs und schlussendlich auf die im Herbst erscheinende finale Version des mobilen Betriebssystems vor. 

Firebase wird seit seinem Auftritt auf der letztjährigen Google I/O kontinuierlich ausgebaut und von uns bereits in mehreren Projekten mit hoher Zufriedenheit genutzt. Firebase Performance Monitoring soll die Nutzererfahrung weiter verbessern, indem es Schwachstellen aufdeckt und dem Entwickler so hilft, die Performance und Stabilität seiner Apps zu verbessern. Dass Google den Blick über den Tellerrand nicht scheut, bestätigt der verbesserte Support für Swift und den Apple Push Notification Service. Die Akquisition von Fabric im Januar hinterlässt ebenfalls ihre Spuren, da einerseits Crashlytics nun als primäres Crash Reporting Tool und andererseits die Authentifizierung via Telefonnummer übernommen werden sollen. Ach ja, Firebase Analytics heißt nun Google Analytics for Firebase.

Vitals beschreibt eine Initiative, die sich aus den Punkten Sicherheit, Performance und Entwicklertools zusammensetzt. Hierfür wurde mit Google Play Protect ein Virenscanner direkt in den Play Store integriert, welcher Nutzer sensibilisieren und die Verbreitung von schädlichen Apps erschweren soll. Die Startzeit von Apps konnte mit Android O auf die Hälfte reduziert werden, ohne dass diese vom Entwickler vorher angepasst werden müssen.

Android Studio 3.0 steht ab sofort als Preview zum Download bereit. Das Grundgerüst wurde von IntelliJ 2016.2 auf 2017.1.2 angehoben, wodurch der Java 8-Support noch weiter ausgebaut und der Jack Compiler zu Grabe getragen wird. Weiterhin wird der Android Monitor vom neuen Android Profiler abgelöst. Android Instant Apps sind nun öffentlich verfügbar und erlauben es Nutzern ab Android 6.0, Apps ohne vorherige Installation zu verwenden.  Die Abwärtskompatibilität bis hin zu Lollipop folgt in Kürze.

Unser persönliches und professionelles Augenmerk gilt allerdings Kotlin, welche ab sofort und offiziell als zweite Programmiersprache für Android unterstützt wird. Die vom russischen Studio JetBrains entwickelte statisch typisierte Sprache wurde 2011 vorgestellt und 2016 in der Version 1.0 veröffentlicht. Dementsprechend moderne Features bringt sie mit sich, die wir bereits von Apples hauseigener Programmiersprache Swift kennen und lieben: Extensions, Optionals, Lambdas, Named Parameters, Default Arguments, Type Inference - sowie zusätzliche Kniffe wie When Statements oder Smart Casts. Dabei bleibt Kotlin interoperabel zu Java-Code und kann somit leicht und peu à peu Einzug in bestehende Projekte erhalten.

Comment

Android Wear 2.0 im Ersteindruck

Comment

Android Wear 2.0 im Ersteindruck

Mit etwas Verspätung hat Android Wear 2.0 grünes Licht erhalten und seinen Weg auf die meisten Smartwatches gefunden. Wir haben diese aktuelle Version des mobilen Betriebssystems auf der LG Watch Urbane getestet.

Die auffälligste Neuerung ist optischer Natur, denn das 2014 eingeführte Material Design zieht sich nun durch das User Interface der intelligenten Uhren. Komplikationen lassen sich unabhängig vom verwendeten Watchface anzeigen und in wenigen Schritten bearbeiten. Unser persönliches Highlight ist jedoch die wachsende Unabhängigkeit von Android Wear. Hierfür wurde der Play Store ins Betriebssystem integriert, wodurch sich Apps direkt von der Uhr aus installieren lassen - sofern diese vorher für Android Wear 2.0 angepasst worden sind.

Für Entwickler ergeben sich einige Änderungen: so wurden die WearableListView und der GridViewPager durch die WearableRecyclerView ersetzt, welche u.a. den aus der RecyclerView bekannten SnapHelper unterstützt. Die ActionChooserView weicht dem AlertDialog, der ProgressSpinner der ProgressBar und die CrossfadeDrawable dem AnimationSet. Hier wird das Bestreben von Google deutlich, die Grenze zwischen Android und Android Wear zu minimieren, da alle Deprecations von Klassen aus dem SDK des großen Bruders abgelöst wurden.

Uns erinnert dieses Update an den Sprung von Honeycomb zu Ice Cream Sandwich. Damals hatte man es erfolgreich geschafft, aus zwei unterschiedlichen Betriebssystemen heraus eine einheitliche Plattform für Tablets und Smartphones zu schaffen. Android Wear 2.0 ist ein weiterer Schritt in eine Zukunft, in der wir alle Endgeräte mit ein und demselben Toolset bedienen können.

Komplikationen lassen sich in wenigen Schritten anlegen und positionieren

Komplikationen lassen sich in wenigen Schritten anlegen und positionieren

Der Play Store für Android Wear bietet die von den Smartphones gewohnte Funktionalität

Der Play Store für Android Wear bietet die von den Smartphones gewohnte Funktionalität

Comment

Swift 3 - The Good, the Bad and the Ugly

Comment

Swift 3 - The Good, the Bad and the Ugly

Mit dem Release von Xcode 8.3 und Swift 3.1 schneidet Apple alte Zöpfe ab und verweigert Swift 2-Anwendungen jeglichen Support. Aus diesem Grund beschäftigen wir uns aktuell intensiv mit der Migration bestehender Apps und halten unsere Erfahrungen mit der aktuellen Version der Apple-eigenen Programmiersprache fest:

Neuerungen

  • Swift Package Manager erlaubt das Teilen von Code über mehrere Projekte ohne Cocoapods oder Carthage
  • Neue Code Konstanten (Float.pi, CGFloat.pi)

Änderungen

  • Funktionsparameter sind Konstanten
  • Alle Funktionsparameter (auch der erste) werden nun benannt: array.removeAtIndex() wird zu array.remove(at:)
  • Inkrementoperatoren ++ und -- wurden komplett durch += und -= abgelöst
  • Redundante Bezeichnungen werden gestutzt: stringByAppendingString wird zu appending, NSBundle.mainBundle() wird zu Bundle.main
  • der NS-Präfix verabschiedet sich und damit eine der letzten Überbleibsel von NeXTStep, einem Betriebssystem, das unter Steve Jobs in den 80er Jahren entwickelt worden war: NSBundle wird zu Bundle, NSFileManager wird zu FileManager
  • Grand Central Dispatch mit Swift-Syntax: dispatch_async(dispatch_queue_create("Queue", nil) wird zu DispatchQueue(label: "Queue").async
  • lowerCamelCasing statt UpperCamelCasing bei enums und const: UIStatusBarStyle.LightContent wird zu UIStatusBarStyle.lightContent

Probleme

  • Das automatische Konvertieren von Swift 2 nach 3 funktioniert nur bedingt und ignoriert so manche Konvention
  • Das Core Framework bietet nach wie vor zahllose obsolete Datentypen an, die händisch konvertiert werden müssen
 
Bei all den Deprecations fühlt sich sogar Guardlet Johansson wie eine leere Hülle

Bei all den Deprecations fühlt sich sogar Guardlet Johansson wie eine leere Hülle

 

Der Aufwand ist dieses Mal erheblich größer als noch von Swift 1 auf 2, allerdings halten wir den Großteil der Änderungen für sinnvoll.
Und dann wartet mit Swift 4 ja schon das nächste große Update um die Ecke.

Comment

Android Wear 2.0 verzögert sich erneut

Android Wear 2.0 verzögert sich erneut

Eigentlich wird Android Wear 2.0 bereits seit Februar auf die Geräte einiger weniger Hersteller verteilt. Nun sorgt ein Fehler im Betriebssystem jedoch für eine weitere Verzögerung. Google lässt den Zeitraum für das finale Update noch offen:

"We have started rolling out the Android Wear 2.0 update to Fossil Q Founder, Casio Smart Outdoor Watch WSD-F10 and Tag Heuer Connected. For other devices, the update is currently being delayed due to a bug found in final testing. We will push the update to the remaining devices as soon as the issue is resolved." - 9to5google.com

Android Wear 2.0 erlaubt eine direkte Netzwerkverbindung der Smartwatches ohne den Umweg über ein gekoppeltes Smartphone. Hierfür wird eine angepasste Version des Google Play Stores auf den Uhren vorinstalliert, um das Betriebssystem möglichst autark zu gestalten. Der Play Store listet dann ausschließlich solche Apps, welche für Android Wear 2.0 angepasst wurden. Weiters werden der Google Assistant und zusätzliche Eingabemöglichkeiten vorinstalliert, u.a. eine Bildschirmtastatur sowie Handschrifterkennung mittels optischer Zeichenerkennung (OCR). Komplikationen können nun unabhängig vom Watchface angezeigt und über dieses gelegt werden. Und nicht zuletzt findet auch das von Smartphone und Web bekannte Material Design Einzug auf die Uhren.

Wir bleiben gespannt auf Android Wear 2.0 und hoffen, dass diese Generalüberholung die Basis für einen gesunden Konkurrenzkampf auf dem Markt der Smartwatches bildet, welcher aktuell stark von Apple dominiert wird.

Android O: Erste Developer Preview

Comment

Android O: Erste Developer Preview

Es scheint, als würde Android N schneller in Vergessenheit geraten als man "Nutella" sagen kann, denn während dessen Distributionsrate noch bei unter drei Prozent liegt (sieben Monate nach Release), wurde nun sein Nachfolger angekündigt.

Android O präsentiert sich erstaunlich früh und folgt damit einem Credo, das Google im letzten Jahr eingeführt hat und hoffentlich auch weiterhin fortführen wird. Die Developer Preview wird seit dem 21. März 2017 verteilt und gibt einen ersten Einblick auf kommende Neuerungen. In erster Linie richtet sich diese Version an Entwickler und ändert dementsprechend viel unter der Haube. Die kompletten Changenotes finden sich in der offiziellen Dokumentation.

Schriftarten sind ab sofort vollwertige Ressourcen, die - analog zu String, Drawable oder Style - in XML Layouts verwendet werden können. Das neue Autofill Framework richtet sich an Passwortmanager, welche aktuell noch als Bedienungshilfe im Betriebssystem laufen. Adaptive Icons gehen einen Schritt weiter in Richtung Responsive Design und erlauben es, Icons abhängig vom Zielgerät zu maskieren.
Mit den Backgrund limits führt man fort, was unter Android 6 mit Doze und App Standby begonnen wurde: Akkulaufzeit erhöhen und Performance verbessern. Hierfür müssen Apps angepasst werden, die Background Services nutzen und deren Target auf API 26 oder höher gesetzt ist.

Picture in Picture (PIP) ist eines von zwei Features, die sich direkt an Endnutzer richten. PIP ist eine spezielle Form des aus Android N bekannten Multi Window. Diese erlaubt das Übereinanderlegen zweier Apps, z. B. um ein Overlay mit Videoplayback darzustellen, wie man es bereits von Android TV oder aus der YouTube-App kennt.
Des weiteren fallen uns die Notification Channels auf, welche eine Kategorisierung von Benachrichtigungen erlauben. Entwickler legen hierbei für jede Benachrichtigung fest, in welchem Kanal sie gesendet wird. Folgende Einstellungen können dann vom Nutzer einzeln für jeden Kanal getroffen werden: Ton, Vibration, LED-Signal, auf dem Sperrbildschirm anzeigen, "Nicht stören"-Modus überschreiben. Dies sollte das Leben vieler erleichtern, deren Partner Fans von mobilen Aufbauspielen sind. Deren Entwickler bieten nämlich nur allzu selten eine Möglichkeit, solche Störgeräusche zu minimieren, ohne das komplette Gerät stumm zu schalten.

Dies sind nur einige der Neuerungen von Android O und wir sind gespannt, was sich bis zum finalen Release noch ändern wird. Dabei hoffen wir stets auf eine weitreichende Integration in die Support Library, damit die neuen Features ohne Verzögerung auf so viele Geräte wie möglich ausgerollt werden können.
Genauso neugierig sind wir auf den Alias der neuen Betriebssystemversion. Welche Süßigkeit wird es diesmal? Oreo? Oatmeal Cookie? Ontbijtkoek? Es bleibt spannend.

Notifications Channels unter Android O

Notifications Channels unter Android O

Comment

x-game three - und täglich grüßt das Murmelspiel

x-game three - und täglich grüßt das Murmelspiel

x-game three komplettiert unsere Match-3-Spieletrilogie, die branchenfremden Unternehmen einen schnellen und kostengünstigen Einstieg in das Thema Gamification gewährt. 

x-game three ist eine zuckersüße Variante der beliebten Bubble-Shooter-Spielmechanik und damit das perfekte Spiel für zwischendurch. Diesmal werden runde Spielsteine aufs Spielfeld geschossen, um Ketten aus gleichfarbigen Kugeln zu bilden und abzuräumen. Messe Dich mit Spielern aus der ganzen Welt im Leaderboard und teile Deine Erfahrung mit Freunden über soziale Netzwerke. Begleite uns auf einer Reise durch mehr als fünfzig herausfordernde Level und erhasche einen Blick hinter die Kulissen der mobilen App-Entwicklung.