Apple’s Audio Adapter: There I fixed it!

Es ist noch nicht so lange her, da hatten Apple Geräte noch die wunderbare 3,5″ Klinkenbuchse für Audiostecker. Ein weltweiter Standard in der Audiobranche. Aber was scheren Apple schon Standards! Dann fing man an und eliminierte diese Buchse angefangen mit den Mobilgeräten, um den proprietären Apple Anschluss „Lightning“ stattdessen dafür zu benutzen.

Adapter Rant

Jetzt hat man mit einem iPhone zwei neue Probleme:

  1. Man kann es nur mit Strom aufladen ODER Musik hören und das Mikrofon benutzen, beides gleichzeitig (weil z.B. der Akku leer ist) geht nicht mehr; ja super Apple!
  2. Man braucht für sein Audioequipment jetzt einen Adapter (der zumindest den ersten verkrüppelten iPhones noch beilag), weil nur noch Lightning verwendet wird, oder USB-Typ-C

Das Problem mit diesen ganzen Adaptern die man an Apple Geräte anschließen muss besteht kurz umrissen aus folgenden folgenden Problemen:

  1. Diese Adapter müssen immer wieder in die eine Buchse (am Mac Thunderbolt/USB-C; am iPhone Lighting Port) gesteckt werden und erhöhen die Abnutzung dieser Buchse, da ja die Anzahl der Buchsen reduziert wurde im Gerät muss jetzt mehr Zeug, öfter in die EINE Buchse gesteckt werden
  2. Diese Adapter besitzen vom Stecker an in der Regel ein Kabel, dessen Ummantelung ständigem Verfall ausgesetzt ist, nar einigen Jahren oft zerbröselt und das Kabel unbrauchbar macht
  3. Diese Adapter gehen sehr schnell verloren, weil sie klein sind und in Taschen schnell verschwinden auch mal in den Taschen anderer Leute als den rechtmäßigen Besitzern
  4. Das größte Problem ist allerdings meistens, dass man wenn man den Adapter bräuchte man ihn leider nicht dabei hat, oder noch gar nicht weiß dass man diesen separat kaufen muss
  5. Diese Adapter erhöhen den Frust für den Nutzer, denn statt einer direkten Verbindung zwischen Endgerät und Mac/iPhone wird zweimal eine Verbindung/Kontaktstelle möglicher Probleme in das System eingeführt wo sonst nur eine ist; das Risiko eines Wackelkontakts verdoppelt sich also

Ich könnte diesen Rant hier endlos fortführen über die moralische Verwerflichkeit dieser Adapter vor allem hinsichtlich der Kurzlebigeit, weil auch die Rechneranschlüssen bewusst kurzlebig gestaltet werden (dann kann man neue Adapter verkaufen). Auch ist der ökologische Fußabdruck diese Millionen Apple Adapter eine Schande für die Menschheit.

Verwerfliches Adapter Business


Quelle: https://alvinalexander.com/photos/apple-dongle-company-sells-other-stuff/

Aber kommen wir zu etwas Erfreulicherem, ich persönlich halte sogut es eben geht dagegen. Um den Adapter an sich komme natürlich auch ich nicht herum, vor allem bei so komplexen Anschlüssen wie $Apple-Gerät-to-HDMI aber ich kümmere mich zumindest um zwei der krassen Probleme dieser Adapter:

  1. Sie gehen halt schnell verloren (auch in den Taschen anderer)
  2. Sie unterliegen schnellem Zerfall bzw. Wear & Tear insbesondere gehen die Kabel oft zuerst an den Enden der Stecker kaputt

Meine Lösung

Ich setze u.a. regelmäßig folgende Adapter ein:

  1. Mac-Thunderbolt-to-HDMI (weil Apple nicht in der Lage ist einen HDMI Port in moderne Rechner einzubauen)
  2. iPhone-to-HDMI (das ist nochmit der Adapter, für den ich am meisten Verständnis aufbringe, der aber überflüssig wäre, würde Apple einen gängigen drahtlosen Videostreaming Standard unterstützen)
  3. Lighting-to-3,5″ Audio Klinke (weil ich im Auto Klinke habe, weil ich Bluetooth-Verbindungen fehleranfällig finde, und weil ich keinen Bock habe Kopfhörer die noch gut sind wegzuwerfen, nur weil die jetzt Lightning benötigen)
  4. USB-Typ-A-Ladekabel-zu-Lightning
  5. USB-Typ-A-Ladekabel-zu-alter proprietärer iPhone-Anschluss
  6. USB-Typ-C-Ladekabel-zu-Lightning (weil das neue Netzteil des iPhone nur noch USB-C spricht; warum nicht wenigstens eine zusätzliche USB-Typ-A Buchse Apple?? *headdesk*)

Insbesondere die Ladekabel von Apple haben das Problem, dass vor allem an den mechanisch stark belasteten Bereichen in der Nähe der Stecker das Kabel früher oder später porös wird und bricht. Insbesondere deshalb, weil hier sehr dünne aber flexible Kabel mit Weichmacher benutzt werden. Der Weichmacher verschwindet irgendwann und das Plaste versprödet und bricht.

Diesem Problem begegne ist damit, dass ich Schrumpfschlauch nehme und diesen um die Stecker und deren erste paar Zentimeter Kabel anbringe. Das stabilisiert die Enden der Kabel soweit, dass zumindest hier sich der Kabelbruch in Grenzen hält und das Kabel nochmal länger hält.

Der zweite Fix den ich an allen meinen Adaptern vorgenommen habe bezieht sich darauf, dass man die Adapter zum einen schwer wiederfindet, weil sie oft so klein sind und all diese weißen Kabel einfach in einem weißen Kabelknäul verschwimmen. Ich befestige an jedem meiner Adapter einfach eine kleine Textilband-Fahne (einfach ein Textilband umschalgen und mit ein paar Nadelstichen und Faden vernähen), die optisch auffällig ist. So findet man zum einen den Adapter schnell unter einer Menge Zeug wieder und zum anderen ist klar, dieser Adapter gehört mir und niemand anders; er verschwindet somit auch nicht mal eben in den Taschen anderer.

Der Adapter über den ich mich am meisten in letzter Zeit aufgeregt habe ist der Mini-Adapter für Lightning-auf-3,5″ Klinke, da ich diesen gerne mit mir führe, weil mein Mac noch 3,5″ Klinke hat und mein iPhone 11 Pro leider nicht, ich aber nur EIN verdammtes Kopfhörer-Set mitnehmen möchte, also braucht es für das iPhone nun einen Adapter.

Was andere meinen


Quelle: xkcd https://imgs.xkcd.com/comics/universal_converter_box_2x.png

Why do I blog this? Es ist einfach nur traurig, wie hier ganz offensichtlich Profit auf Kosten der Umwelt, der Nachhaltigkeit und gegen jede Vernunft gemacht wird. Apple steht wirtschaftlich so gut da wie kaum ein anderes Unternehmen, warum sie diese Adapter-Scheiße abziehen ist mir ein Rätsel. Es muss einfach Gier sein, anders ist es nicht zu erklären.

Developing for tvOS using the Remote Layout Helper

I am developing an app for tvOS. One thing you quickly run into when testing on real world devices is the limits of screensize on several TV models. For this apple added a calibration tool in the settings.

I found I needed this info to actually make my UI layout work for customers. So I took a screenshot and created this screenimage as (PNG) to overlay it at any time in the dev-process for orientation of myself as a Remote Layout Helper).

tvOS Layout Template
Download the Overlay Image (use Save as…)

On my main controller I added & called following method which I call in - (void) viewDidAppear:(BOOL)animated:

- (void) activateCalibrationOverlay {
    if( DEBUG_CALIBRATION_OVERLAY ) {
        if( !overlayImageView ) {
            self.overlayImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tvOS_screen_size.png"]];
            overlayImageView.alpha = 0.0;
            overlayImageView.userInteractionEnabled = NO;
            [[self appDelegate].window addSubview:overlayImageView];
            [[self appDelegate].window bringSubviewToFront:overlayImageView];
            if( !overlayPlayPauseGesture ) {
                self.overlayPlayPauseGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleRemoteTapPlayPause:)];
                overlayPlayPauseGesture.allowedPressTypes = @[[NSNumber numberWithInteger:UIPressTypePlayPause]];
                [self.view addGestureRecognizer:overlayPlayPauseGesture];
            }
        }
    }
}

This adds an overlay of the Remote Layout Helper screen image on TOP of everything else and a gesture recognizer monitoring the PLAY/PAUSE-button of the TV remote. It calls following method:

-(void)handleRemoteTapPlayPause:(UIGestureRecognizer*)tapRecognizer {
    if( overlayImageView.alpha == 0.0f ) {
        [UIView animateWithDuration:0.3 animations:^{
            overlayImageView.alpha = 0.3;
        }];
        return;
    }
    if( overlayImageView.alpha == 0.3f ) {
        [UIView animateWithDuration:0.3 animations:^{
            overlayImageView.alpha = 0.5;
        }];
        return;
    }
    if( overlayImageView.alpha == 0.5f ) {
        [UIView animateWithDuration:0.3 animations:^{
            overlayImageView.alpha = 0.8;
        }];
        return;
    }
    if( overlayImageView.alpha == 0.8f ) {
        [UIView animateWithDuration:0.3 animations:^{
            overlayImageView.alpha = 1.0;
        }];
        return;
    }
    if( overlayImageView.alpha == 1.0f ) {
        [UIView animateWithDuration:0.3 animations:^{
            overlayImageView.alpha = 0.0;
        }];
        return;
    }
}

This helped me a lot doing the right things during development. I hope it helps you too. Feel free to share!

How to use it

You simply press PLAY/PAUSE again and again and the overlay will fade in at different alpha-blending-levels between 0.0 and 1.0. This allows to easily check boundaries of UI elements displayed against the screenlimits.

See following screen example:

The overlay in action on an app displayed.
The overlay in action on an app displayed.

Recognize, that you need a retained variable for the UIImageView called overlayImageView and another for the tap gesture recognizer called overlayPlayPauseGesture to be overlaid. And recognize that I use a boolean Precompiler-Flag named DEBUG_CALIBRATION_OVERLAY to switch this feature OFF in deployment.

Why do I blog this? I found it cumbersome to check against real world TV screens if my app works. So I just made sure that most of my UI is usable from within the MINIMUM SCREENSIZE frame the overlay gfx displays to me. Checking this anytime using the remote is a huge plus also on the real device. (Do not forget to disable the code on deployment!)

Radioaktivität messen mit PocketGeiger App & Detector

Ich hab mal wieder meine PocketGeiger App ausgepackt und den (mittlerweile alten) Type 1 – Detector und mal auf dem Balkon für 20 Minuten gemessen. Ergebnis: 0.02 µSv/h

Mehr Infos dazu gibt es auf der Webseite des Projektes www.radiation-watch.org/ eine Initiative die nach Fukushima ins Leben gerufen wurde.

Bilder der Messung
Quelle: Eigene Aufnahmen auf dem Balkon

Dabei hab ich dann Lust bekommen mir eine Smart Watch zu bestellen.

Und ich bin auf eine aktualisierte Webseite des Bundesamtes für Strahlenschutz gestossen. Die haben neuerdings eine gute Webseite und eine bessere Karte des Gamma Ortsdosisleistungs Messnetzes.

In den USA gibts es vergleichbares offenbar sowohl als Freiwilligennetz als auch als staatliches Netz in Form des Nuclear Emergency Tracking Center und noch eines von der Umweltbehörde.

In Japan gibt es als Ergebnis der Bürgerinitiativen nach Fukushima die Japan Radiation Map.

This map shows ca 4,500 up-to-date radiation measurements, collected from various official sources. On roll-over information is provided for that particular location – radiation levels are visualized by the colored square’s size. Locations marked with the + sign reveal more locations on zoom-in. Logging since march 2011, the accumulated data contains now 100,000,000+ records, available for research.

Messnetzkarte des ODL Netzes
Quelle: ODL Messnetz Webseite des BfS

Ich hab dann mal eine Registrierung für deren API angefordert.

Die App

Diese App gibts übrigens hier: https://itunes.apple.com/de/app/pocket-geiger-counter-pro/id448043815?mt=8

App im AppStore

Weitere schöne Tracking Projekte

Geigerzähler von korrupt mit Beta/Gamma-Hintergrundstrahlung in Wuppertal-Elberfeld

Why do I blog this? Angesichts der Tatsache, dass ich weder Apples Apple Watch sonderlich „smart“ finde, noch ihre Bestrebungen den Standard-Audioanschluss des iPhone zu eliminieren (der für PocketGeiger die ultimative & einzige Schnittstelle ist), wollte ich das mal festhalten wie gut das funktioniert.