Skip to main content

Posts

Showing posts from May, 2016

Android Device Independent Pixel Cheat Sheet for Designers

What is it? This is a ruler in the Android "dip" (Device Independent Pixel) unit. You can print it, cut it and give it to your designer. Why? I've found that the concept of dp is not that easy to explain / understand. Designers are used to think in pixels (especially if they also work on iOS projects). Sometimes a picture is worth a thousand words, and so this ruler will make it immediately obvious that the dp is a physical unit of length. Some essential information is also present on the ruler: Definition of a dp List of Android logical densities (ldpi, mdpi, etc.) with their properties And of course it can also be actually used to measure things (screens…) since it is a ruler :) BoD GitHub See also Android Cheatsheet for Graphic Designers The Android Design Cheat Sheet

20 lines of code that will beat A/B testing every time

A self-controlled, unsupervised optimal A/B Testing strategy that results in user-specific best choice for all variants! With a simple 20-line change to how A/B testing works, that you can implement today, you can always do better than A/B testing -- sometimes, two or three times better. This method has several good points: It can reasonably handle more than two options at once.. Eg, A, B, C, D, E, F, G, � New options can be added or removed at any time. Steve Hanov Why Multi-armed Bandit Algorithm is Not “Better” than A/B Testing Bandito, a Multi-Armed Bandit Tool for Content Testing

Google erwägt Swift angeblich als Programmiersprache für Android - Google thinks about switching to Swift... or Kotlin for Android

Apples inzwischen quelloffene Programmiersprache wird einem Bericht zufolge von Google als Alternative zu Java in Betracht gezogen. Auch prominente App-Entwickler wie Facebook und Uber zeigen angeblich Interesse an Swift. Kotlin scheint allerdings die deutlich naheliegendere Wahl für Google, da die Migration zu der JVM-Sprache (Java Virtual Machine) im Vergleich zu Swift einfach ausfüllen dürfte. Der Kotlin-Entwickler JetBrains ist zudem kein Unbekannter für den Such-Konzern, mit IntelliJ IDEA stellt die Firma die Basis für Android Studio, Googles Programmierumgebung zur Entwicklung von Android-Apps. Golem Recently talked to an Android engineer: No plans to enable Swift and become dependent on Apple!

Spotify ditches the controversial ‘hamburger’ menu in iOS app redesign

The company tested the tab bar on iOS to see how it impacted user engagement. It found that users with the tab bar ended up clicking 9% more in general and 30% more on actual menu items. The tests also revealed that reducing the number of options in the tab bar to five increased the reach of Spotify’s programmed content, the company says. New users also engaged more with the navigation menu in their first sessions than they did when the hamburger menu was present. TechCrunch Why the Hamburger Menu Is so Controversial

SwiftyBeaver - The world’s first logging platform for Swift

SwiftyBeaver Logging Framework is the extensible &  lightweight open-source logger for Swift 2.2 and later. It is great for  development & release due to its support for many (custom) logging destinations. Framework Unique Feature Set Log to Xcode Console and / or log to a file Add custom log destination handlers to log to Loggly, Redis, etc. Send your logs with end-to-end AES256 encryption to the SwiftyBeaver Mac App Colored output to Xcode Console, log file, etc. Uses own serial background queues/threads for a great performance Log levels which are below the set minimum are not executed for even better release performance Increases productivity & saves a lot of time thanks to "Needle in the Haystack" mode Easy & convenient configuration Use multiple logging destinations & settings, even for the same type Already comes with good defaults Use log.debug("foo") syntax Get started with 2 lines of code Simple installation via Cartha

A Swift Look at Protocols with Associated Types

The idea is that you can define a protocol with functions that take in a type that is defined by the object that uses that protocol. This means that if you want to have a protocol extension with a default implementation for the eat function, you need to specify the type - and you may constraint it, too. Natasha the Robot