Profile

Cover photo
Marc Reichelt
Works at Deutsche Telekom AG
Attended Technische Universität Darmstadt
Lives in Frankfurt
329,546 views
AboutPostsReviews

Stream

Marc Reichelt

Shared publicly  - 
 
Interesting videos: The Three Flaws in Software Design & How to Avoid Them.
It's nice that the best rules about software design are so simple and easy to remember. :)
2
Add a comment...

Marc Reichelt

Shared publicly  - 
 
Nice! This is exactly what I was looking for since I found a UI demonstration with iOS style. :)
 
Android App Polishing: Preserving Context to Help Users

With the release of Capitaine Train for Android[0], several people recently asked me how we implemented some of the tips & tricks available in the application (some of these tricks are barely visible but remember, I love details :p). In order to showcase some of the most interesting application bits of code, I thought it could be helpful to Android developers to start a small series of posts. Feel free to comment this article if you want me to describe something you found nice in the Capitaine Train application.

Just like every other applications, The Capitaine Train app contains several forms: sign in/up form, user info forms, etc. Forms are usually a pain in the ass to develop because you need to make sure they are clean enough not to annoy the user but verbose enough to let her/him understand what kind of information she/he is currently filling in.

When implementing the first internal versions of the application we obviously used EditText as our favorite class. Unfortunately, we rapidly faced an issue with the default design of EditText: the user loses context once at least one character is typed into a field. Because EditText uses the "hint" string as the field's description, we had some pre-filled fields that were almost impossible to understand.

In order to overcome this issue, we decided to implement an emerging pattern introduced by Matt D. Smith on Dribble[1] and described by Brad Frost on his blog[2]: the float label pattern. We actually called it internally (i.e the classes are named after): the floating hint pattern.

The implementation is rather simple and consists on a base class we called FloatingHintControl. FloatingHintControl is an abstract container that is made of a TextView and requires an additional 'interactable' View (i.e. the control). The floating hint is displayed/animated depending on the control state as reported by subclasses. In the current public build of Capitaine Train, we have several FloatingHintControl subclasses:

  • FloatingHintAutoCompleteTextView: an AutoCompleteTextView with a floating hint
  • FloatingHintButton: this UI widget is actually a button that displays a date picker dialog when tapped
  • FloatingHintEditText: the floating hint equivalent of an EditText
  • FloatingHintSpinner: A Spinner that always displays a floating hint description

Preserving user's context is both essential and difficult to do on mobile applications. Because screens sizes are generally small you always have to weight the pros and cons of adding information on screen. If you are not really satisfied about the built-in EditText, the floating hint may be a great compromise when designing forms in your Android applications.

[O]: https://play.google.com/store/apps/details?id=com.capitainetrain.android
[1]: https://dribbble.com/shots/1254439--GIF-Float-Label-Form-Interaction?list=users&offset=28
[2]: http://bradfrostweb.com/blog/post/float-label-pattern/
2
Add a comment...

Marc Reichelt

Shared publicly  - 
 
Gesucht: Android Handy mit guter Akku Laufzeit. Welches könnt ihr empfehlen?
 ·  Translate
1
Andreas Feldschmid's profile photoLukas Strößner's profile photoYves Janietz's profile photoThomas Ruecker's profile photo
6 comments
 
Moto X gibt's grad für 300 bei Orange.. Und es ist ziemlich gut ;-)
 ·  Translate
Add a comment...

Marc Reichelt

Shared publicly  - 
 
 
New WebP update (0.4.0) packs a punch: 200% faster encode and also a 25% improvement in decode times for lossless images! Also, YouTube is switching to WebP video previews and is seeing a 10% improvement in page load time -- yes, page load time, not just image bytes... huge!
1
Add a comment...

Marc Reichelt

Shared publicly  - 
 
Hilfe benötigt!
Daten von einer defekten Festplatte retten - was tun?
http://forum.de.selfhtml.org/?t=216875&m=1488342#m1488342
 ·  Translate
1
Marc Reichelt's profile photoVladimir Pantelic's profile photoThorsten Göckeler's profile photo
8 comments
 
Ich habe auch davon Abstand genommen. Der Tipp von Alexander, nachzuschauen welche Datenrettungsfirma der Hersteller empfiehlt war gut - der von Western Digital macht auch eine kostenfreie Diagnose.
 ·  Translate
Add a comment...

Marc Reichelt

Shared publicly  - 
 
 
How to reduce the battery drain of your Android app
Great in-depth resource that discusses how to optimize for battery and performance across several verticals in the Android platform.

#perfmatters
4
1
Thomas Kuse's profile photo
Add a comment...
 
Cool, quite a handy tool for #android devs! :)
2
Add a comment...

Marc Reichelt

Shared publicly  - 
 
Finally - a long needed feature for Android builds on Jenkins!
 
Announcing the SDK Manager plugin for Gradle Android builds.

Local SDK missing? API level not downloaded? Support library repository out-of-date?

These are all typical problems which you shouldn't have to deal with. This is especially painful when you have multiple developers on a project or a CI machine that you have to keep up-to-date.

This Gradle plugin will manage these SDK dependencies for you automatically. Simply apply the plugin before the normal 'android' plugin:

  apply plugin: 'android-sdk-manager'
  apply plugin: 'android'

Supported functionality:

* local.properties will be created if missing. The ANDROID_HOME environment variable will be used if present. Otherwise ~/.android-sdk will be used.
* The platform-specific SDK will be downloaded if missing.
* Compilation API declared in compileSdkVersion will be downloaded if missing.
* If any dependencies are declared on support libraries, the support repository will be downloaded if missing. If the revision of the support repository does not contain the version declared it will be updated.
* If any dependencies are declared on Google Play Services, the Google repository will be downloaded if missing. If the revision of the Google repository does not contain the version declared it will be updated.

See more info on how to include in your project by following the link below.

#AndroidDev
2
1
Jerko Horvat's profile photo
Add a comment...

Marc Reichelt

Shared publicly  - 
 
 
Google ist böse

Deshalb bleiben deutsche IT-Entscheider bei Microsoft.
 ·  Translate
2
2
Tobias Kaatz's profile photoMartin Creutziger's profile photo
Add a comment...

Marc Reichelt

Shared publicly  - 
 
Android Wear findings to the rescue!
 
The   #Wear   #Android  emulator is tiny (130 MB) but still there are few ~hidden secrets~. Here's what I found so far:

# adb shell am start a android.settings.SETTINGS
This will bring you the Settings activity {power off, airplane mode, reset to factory and information} - clicking 10 times on the build number makes you a "developer" :)

# adb shell am start -a com.google.android.clockwork.action.TIMER -n com.google.android.wearablepreview.app/com.google.android.clockwork.home.timer.SetTimerActivity
This will popup a countdown timer - set it for X minutes, and watch it expire (or delete, or reset it).

# am start -a android.speech.action.RECOGNIZE_SPEECH -n com.google.android.wearablepreview.app/com.google.android.clockwork.home.speech.SpeechIntentApiActivity
This will listen for voice commands - can anybody with a mic confirm if it works?

# am start -n com.google.android.wearablepreview.app/com.google.android.clockwork.home.incomingcall.PhoneActivity --el call_time_ms 0 
Pops-up an "unknown caller" dialog for a fraction of a second... you'll get the idea of how receiving calls looks like.

Oh, and the icons at the bottom of the image are from the main application: a lot of weather and call related icons there.

Share your Wear findings !! (:
7
2
Martin Mikkelborg Syvertsen's profile photoFrederik Götz's profile photo
Add a comment...
People
Work
Occupation
Software Engineer
Skills
Java, Android, Linux, C/C++, HTML5 and many more…
Employment
  • Deutsche Telekom AG
    2014 - present
  • iteratec GmbH
    Software Entwickler, 2013 - 2014
  • greenrobot
    Software Entwickler, 2011 - 2013
  • Deutsche Telekom
    Software Entwickler, 2009 - 2010
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Frankfurt
Previously
Bruchköbel - Darmstadt - München
Links
Story
Tagline
Developer. Loves Linux, enjoys Android and open source in general. Making the world better, one step at a time!
Education
  • Technische Universität Darmstadt
    Electrical Engineering and Information Technology, 2004 - 2011
  • Hohe Landesschule Hanau
    1996 - 2004
Basic Information
Gender
Male
Birthday
November 29, 1984
Apps with Google+ Sign-in
Public - 2 months ago
reviewed 2 months ago
Wow, die ofenfrische Bauernente die es hier jeden Montag Abend gibt ist exzellent! :)
Public - 6 months ago
reviewed 6 months ago
Food: ExcellentDecor: ExcellentService: Excellent
Public - 9 months ago
reviewed 9 months ago
Public - 11 months ago
reviewed 11 months ago
54 reviews
Map
Map
Map
Public - 8 months ago
reviewed 8 months ago
Einfach das beste Eiscafé in ganz Frankfurt! Frisch gemachte leckere Bio-Eissorten die ab und zu wechseln. Seit wir dieses Café kennen essen wir nirgendwo anders mehr Eis! :-)
Public - 10 months ago
reviewed 10 months ago