Connect with us

Entwicklung & Code

iOS: Apps können Mitteilungen geräuschlos ausliefern – ohne User-Kontrolle


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Das Topangebot von Too Good to Go für leckere Donuts, die immer so schnell weg sind, oder die Information aus der Airthings-App, dass mit der Luft etwas nicht stimmt: Manche iOS-Mitteilungen (Notifications) scheinen wie verhext zu sein. Sie tauchen trotz der Tatsache, dass sie ganz normal in den Systemeinstellungen aktiviert sind, nur dann auf, wenn man das iPhone gerade aktiv bedient. Es gibt weder einen Auslieferungston noch, bei lautlosem Gerät, eine Vibration. In der Übersicht auf dem Sperrbildschirm sind sie ebenfalls zu sehen – nur eben erst dann, wenn man aktiv nachschaut. Das hat zur Folge, dass selbst vom Nutzer als wichtig angesehene Mitteilungen untergehen. Des Rätsels Lösung: Apple ermöglicht es Entwicklern, Mitteilungen auch „heimlich“ auszuliefern, eine Funktion im Code, die diese aktiv wählen müssen. Der Nutzer hat darüber dann allerdings keinerlei Kontrolle mehr, was viele nicht wissen.

Weiterlesen nach der Anzeige

Seit iOS 15 können Developer für Mitteilungen nämlich auswählen, welchen „Interruption Level“ diese haben. Das Feature nennt sich UNNotificationInterruptionLevel, eine Konstante, die darlegt, wie wichtig eine Notification sein soll. Hier kann der Entwickler sie auf „Active“ stellen und damit ganz normal ausliefern – mit Aufleuchten des Bildschirms und Sound/Vibration. „Critical“ gibt die Mitteilung auch mit Ton aus, wenn das Gerät lautlos gestellt wurde. „TimeSensitive“ macht aus der Mitteilung eine „dringliche Mitteilung“, die auch einen Fokus durchbrechen kann.

Und dann gibt es noch „Passive“, also passiv. Und genau das ist die nervigste Variante für User, die informiert bleiben wollen: „Das System fügt die Benachrichtigung zur Benachrichtigungsliste hinzu, ohne den Bildschirm hell zu machen [falls das Gerät nicht verwendet wird] oder einen Ton abzuspielen.“ Das Problem betrifft auch die Apple Watch: Auch dort werden solche Mitteilungen lautlos ausgeliefert und landen nur in der Mitteilungsübersicht.

Warum Developer für ihre Mitteilungen manchmal „Passive“ wählen, lässt sich schwer sagen. Eventuell denken diese, dass sie die Kunden nicht mit Mitteilungen überfrachten sollten. Manchmal ändert sich die Einstellung auch von App-Version zu App-Version – so geschehen bei erwähnter Airthings-App, die früher alle Warnungen sichtbar auslieferte. Dass damit dann möglicherweise wichtige Informationen schlicht verpasst werden, nehmen die Developer hin. User können wenig tun, sich nur bei den Entwicklern / App-Herstellern melden und diese bitten, doch wieder eine Änderung durchzuführen, damit Mitteilungen normal (UNNotificationInterruptionLevel auf „Active“) ausgeliefert werden.

Normal heißt dann, dass sich wie gewohnt über die Systemeinstellungen auswählen lässt, ob die Mitteilung einer App einen Benachrichtigungston und/oder eine Vibration hat – eine Sache von wenigen Sekunden. Entwickler, die fürchten, User mit zu vielen Mitteilungen zu überfrachten, können diesen erklären, wie sie hier gegebenenfalls vorgehen, statt ihnen die Entscheidung einfach abzunehmen. Und Apple sollte darüber nachdenken, ob sich die heimliche Auslieferung nicht über einen zentralen Knopf einfach abdrehen lassen könnte, wenn Nutzer dies wünschen. Hinzu kommt: Potenziell nervige Apps – von der Uber-Werbung bis zu Facebook – liefern ihre Mitteilungen natürlich niemals lautlos aus.

Weiterlesen nach der Anzeige


(bsc)



Source link

Entwicklung & Code

Claude Code für Modernisierung von COBOL-Systemen: Schwarzer Tag für IBM-Aktie


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Offenbar, weil die KI Claude Code von Anthropic besonders zeitaufwendige Prozesse bei der Aktualisierung von Quellcode in COBOL übernehmen kann, ist der Aktienkurs von IBM am Montag um mehr als 13 Prozent eingebrochen. In einem Blogeintrag hatte das KI-Unternehmen erläutert, dass die eigene Technik die langwierige Erkundungs- und Analysearbeit automatisieren kann, die vor einer Migration durchgeführt werden muss. Dank der KI könne eine COBOL-Codebasis jetzt in einem Zeitraum von Quartalen modernisiert werden, während das bislang Jahre dauerte. Für die IBM-Aktien folgte der schlimmste Börsentag seit mehr als 25 Jahren, und allein im Februar hat die Aktie des Konzerns damit jetzt mehr als 26 Prozent an Wert verloren.

Weiterlesen nach der Anzeige

COBOL läuft noch immer auf zahlreichen Mainframes, die insbesondere bei Banken, im Gesundheitswesen und Einzelhandel wegen ihrer hohen Zuverlässigkeit im Einsatz sind. Die meisten dieser Großrechner stammen von IBM, der US-Konzern macht damit einen signifikanten Teil seines Umsatzes. Die Modernisierung eines solchen Systems „erforderte früher ganze Heerscharen von Beratern, die jahrelang damit beschäftigt waren, Arbeitsabläufe abzubilden“, schreibt Anthropic jetzt. Nur wenige seien deshalb bereit gewesen, die hohen Kosten zu tragen. Genau diese kostenintensiven Teile einer Modernisierung könne Claude Code jetzt erledigen, während Menschen die Aufsicht und Kontrolle übernehmen müssen.

Trotzdem bleibt das Ausmaß des Ausverkaufs jetzt überraschend. IBM selbst hat schon vor zweieinhalb Jahren einen KI-Assistenten für die effizientere Übersetzung von COBOL in Java vorgestellt, um die Modernisierung von Mainframe-Anwendungen voranzutreiben. Erst im Sommer 2025 hat der IBM-CEO erklärt, dass das Werkzeug weite Verbreitung gefunden habe. Unternehmen würden es benutzen, um die Millionen Zeilen an Quellcode in ihren Systemen zu verstehen und damit entscheiden zu können, was sinnvollerweise modernisiert werden sollte. Gegenüber Bloomberg weist ein Analyst darauf hin, dass Mainframes also längst effizienter modernisiert werden könnten, die Betreiber das aber nicht angehen würden.

COBOL (Common Business Oriented Language) wurde in den 1950er-Jahren entwickelt und kommt heute nur noch selten zum Einsatz. Gleichzeitig handelt es sich dabei aber um besonders wichtige Systeme, die nicht einfach durch neuere Alternativen ersetzt werden können. Damit bedeuten die Mainframes für Unternehmen aber auch immense „technische Schulden“, die hohe Kosten verursachen. Gleichzeitig erschweren sie zunehmend den Zugriff auf Daten sowie die Integration moderner Technik. Zudem gibt es immer weniger Entwickler und Entwicklerinnen für COBOL, weshalb erfahrene Teams für viel Geld vorgehalten werden müssen. Hier vermuten Anleger und Anlegerinnen für KI-Technik wie Claude Code wohl ein großes Einsparpotenzial.


(mho)



Source link

Weiterlesen

Entwicklung & Code

Mozilla führt Kill-Switch für alle KI-Features in Firefox 148 ein


Mozilla hat Firefox 148 veröffentlicht. Die neue Version bringt als wichtigste Neuerung eine zentrale Verwaltungsseite für alle KI-Funktionen des Browsers. Der Toggle „KI-Verbesserungen blockieren“ ist standardmäßig aktiviert und verhindert Pop-ups sowie Eingabeaufforderungen für KI-Funktionen.

Weiterlesen nach der Anzeige

Der neue Bereich „KI-Steuerung“ in den Einstellungen erlaubt eine granulare Steuerung einzelner Features. Nutzer können für jede Funktion zwischen drei Zuständen wählen: „Verfügbar“ macht Features sichtbar und nutzbar, „Aktiviert“ aktiviert sie per Opt-in, während „Blockiert“ sie komplett ausblendet und bei On-Device-Modellen die lokal gespeicherten Daten löscht. Zu den steuerbaren Funktionen zählen Übersetzungen, automatische Bildbeschreibungen in PDFs, Link-Previews sowie Chatbots von Anthropic Claude, ChatGPT, Microsoft Copilot, Google Gemini und Le Chat Mistral. Die Einstellungen bleiben über Updates hinweg erhalten.

Mozilla hat außerdem Remote-Browser-Änderungen von der Telemetrie entkoppelt. Nutzer erhalten nun Konfigurations-Updates, ohne dass sie Nutzungsdaten teilen oder an experimentellen Studien teilnehmen müssen. Die Windows-10-Version unterstützt jetzt Firefox Backup auch für Nutzer, die in den Einstellungen „Die Chronik löschen, wenn Firefox geschlossen wird“ aktiviert haben – die Backups schließen dabei keine zur Löschung vorgesehenen Daten ein.

Bei den Übersetzungsfunktionen unterstützt Firefox 148 jetzt Chinesisch (Traditionell) in beide Richtungen sowie das Vietnamesische. Die Verbesserungen für Screenreader betreffen die Darstellung mathematischer Formeln in PDF-Dokumenten. Ein Fix behebt das Problem, dass Sprachpakete nach einem Major-Update deaktiviert wurden. Unter Windows funktioniert auch das Drag-and-Drop von heruntergeladenen Bildern in Adobe Illustrator korrekt – es wird das Bild eingefügt, nicht mehr die URL.

Für Webentwickler bringt Firefox 148 Unterstützung für WebGPU in Service Workern. Die GPU-beschleunigte Grafikschnittstelle steht damit in allen Worker-Kontexten zur Verfügung und ermöglicht rechenintensive Operationen im Hintergrund – etwa für Browser-Erweiterungen oder für Tabs, die sich Ressourcen über verschiedene Zeiträume hinweg teilen müssen.

Mit der Trusted Types API integriert Mozilla einen wichtigen Sicherheitsmechanismus gegen Cross-Site-Scripting-Angriffe. Die API erzwingt, dass Eingaben eine Transformation durchlaufen, bevor sie in kritische DOM-Sinks wie innerHTML gelangen. Entwickler aktivieren den Schutz per Content-Security-Policy-Header. Ergänzend steht die Sanitizer API bereit, die mit Methoden wie element.setHTML() und document.parseHTML() eine sichere HTML-Manipulation ermöglicht. Die konfigurierbaren Funktionen können Bibliotheken von Dritten wie DOMPurify ersetzen.

Weiterlesen nach der Anzeige

Für JavaScript-Entwickler bringt die neue Version die Unterstützung für Iterator.zip() und Iterator.zipKeyed() aus dem Joint Iteration Proposal. Die Methoden ermöglichen es, mehrere Iteratoren zu gruppierten Werten zu kombinieren – ähnlich wie die gleichnamigen Funktionen in anderen Programmiersprachen.

Im CSS-Bereich führt Mozilla die Property position-try-order ein, die beim CSS Anchor Positioning die Reihenfolge von Fallback-Positionierungsversuchen steuert, wenn Elemente über den Viewport hinausragen würden. Die neue shape()-Funktion erlaubt das Definieren responsiver Freiform-Shapes etwa für clip-path. Im Gegensatz zur path()-Funktion unterstützt shape() CSS-Units und mathematische Funktionen, was die Handhabung vereinfacht.

Weitere Neuerungen für Entwickler umfassen location.ancestorOrigins sowie NavigationPrecommitController.addHandler() aus der Navigation API. Das initiale about:blank-Dokument ist nun Web-kompatibel ausgeführt – synchron und ohne zweites Parser-Dokument.

Die Einführung der zentralen KI-Kontrolle ist eine Reaktion auf Kontroversen um die KI-Strategie von Mozilla. Im Dezember 2025 hatte CEO Anthony Enzor-DeMeo seine Vision eines „modernen KI-Browsers“ vorgestellt, was nicht zuletzt bei datenschutzbewussten Nutzern Befürchtungen über Datenabflüsse an KI-Dienste von Drittanbietern auslöste.

Details zu allen Änderungen finden sich in den offiziellen Release Notes.


(fo)



Source link

Weiterlesen

Entwicklung & Code

Projektmanagement: Hat Dein Kalender ein Memory Leak?


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Wenn ein Team seine Sprint-Commitments regelmäßig nicht einhält, kann das eine Vielzahl von Gründen haben. Einer davon ist, dass neben der Arbeit an Sprint-Tickets noch weitere Dinge parallel laufen. Das können unerwartete Aufgaben sein, die man nicht in einem Ticket abbildet oder – wenn es ein Ticket gibt – es nicht in den Sprint zieht. Eine andere beliebte Quelle sind ausufernde Besprechungen mit bestenfalls geringem, schlimmstenfalls keinem Bezug zum Sprintziel.

Weiterlesen nach der Anzeige


Escape the Feature Factory: Stefan Mintert

Escape the Feature Factory: Stefan Mintert

(Bild: 

Stefan Mintert

)

Stefan Mintert arbeitet mit seinen Kunden daran, die Unternehmenskultur in der Softwareentwicklung zu verbessern. Das derzeit größte Potenzial sieht er in der Leadership; unabhängig von einer Hierarchieebene.

Die Aufgabe, dieses Potenzial zu heben, hat er sich nach einem beruflichen Weg mit einigen Kurswechseln gegeben. Ursprünglich aus der Informatik kommend, mit mehreren Jahren Consulting-Erfahrung, hatte er zunächst eine eigene Softwareentwicklungsfirma gegründet. Dabei stellte er fest, dass Führung gelernt sein will und gute Vorbilder selten sind.

Es zeichnete sich ab, dass der größte Unterstützungsbedarf bei seinen Kunden in der Softwareentwicklung nicht im Produzieren von Code liegt, sondern in der Führung. So war es für ihn klar, wohin die Reise mit seiner Firma Kutura geht: Führung verbessern, damit die Menschen, die die Produkte entwickeln, sich selbst entwickeln und wachsen können.

Für Heise schreibt Stefan als langjähriger, freier Mitarbeiter der iX seit 1994.

Der schädlichste Fall sind Regelmeetings, die irgendwann vor vielen Jahren begonnen wurden. Damals waren sie vielleicht sinnvoll und produktiv. Doch heute sind sie oft nur „da“. Ohne Agenda, ohne klare Ergebnisse, mit einer „historisch gewachsenen“ Liste von eingeladenen Personen. Da es an Themen nicht mangelt, reicht die Zeit nie. Manchmal wird dann die Timebox vergrößert, ohne dass die Qualität steigt.

Wenn ich so etwas beobachte, frage ich die genervten Teilnehmer manchmal, weshalb sie dort hingehen. Einen echten Grund, der über „das machen wir immer so“ hinausgeht, höre ich nicht oft. Meine Vorschläge, die Teilnahme einfach mal abzusagen, sind offensichtlich irritierend radikal; mit anderen Worten: Man geht weiterhin zu diesen Besprechungen.

Zuletzt habe ich es mit folgender Analogie versucht: Der Kalender hat ein Memory Leak und diese Besprechungen sind belegter und nicht genutzter Speicher. Und welcher anständige Entwickler würde schon ein Memory Leak akzeptieren? Ungenutzten Speicher sollte man freigeben.

Diese Analogie hat tatsächlich Wirkung gezeigt, und es kam ein Dialog über die Frage auf, ob die Zeit, die die Meetings belegen, tatsächlich dem nicht genutzten Speicher entspricht. Ist es also sinnvoll investierte Zeit? Die Frage muss man natürlich im konkreten Fall entscheiden. Eine pauschale Antwort in diesem Beitrag kann es nicht geben.

Im Fall meines Kunden haben wir die Frage so geklärt, dass wir für die Besprechungen Tickets im Sprint angelegt haben. Damit haben wir zwei Fliegen mit einer Klappe geschlagen: Erstens war die früher unsichtbare Arbeitszeit jetzt sichtbar. Und zweitens kamen die Besprechungen im Review auf die Tagesordnung. Dort kann man zumindest gemeinsam über den Wert und den Nutzen der Besprechungen reden.

Weiterlesen nach der Anzeige

Wenn Du die Themen, die ich im Blog anspreche, in Deiner Firma verbessern möchtest, komm’ in unsere Leadership-Community für Softwareentwicklung. Sie wirkt auch ohne Führungsposition. Mit dem Code „heisedev“ gibt’s den Heise-Rabatt für Interactive-Members.


(rme)



Source link

Weiterlesen

Beliebt