Eliseo Martelli's blog post argues that Apple's software quality has declined, despite its premium hardware. He points to increased bugs, regressions, and a lack of polish in recent macOS and iOS releases as evidence. Martelli contends that this decline stems from factors like rapid feature iteration, prioritizing marketing over engineering rigor, and a potential shift in internal culture. He ultimately calls on Apple to refocus on its historical commitment to quality and user experience.
This blog post explores improving type safety and reducing boilerplate when communicating between iOS apps and WatchOS complications using Swift. The author introduces two Domain Specific Languages (DSLs) built with Swift's result builders. The first DSL simplifies defining data models shared between the app and complication, automatically generating the necessary Codable conformance and WatchConnectivity transfer code. The second DSL streamlines updating complications, handling the asynchronous nature of data transfer and providing compile-time checks for supported complication families. By leveraging these DSLs, the author demonstrates a cleaner, safer, and more maintainable approach to iOS/WatchOS communication, minimizing the risk of runtime errors.
HN commenters generally praised the approach outlined in the article for its type safety and potential to reduce bugs in iOS/WatchOS communication. Some expressed concern about the verbosity of the generated code and suggested exploring alternative approaches like protobuf or gRPC, while acknowledging their added complexity. Others questioned the necessity of a DSL for this specific problem, suggesting that Swift's existing features might suffice with careful design. The potential benefits for larger teams and complex projects were also highlighted, where the enforced type safety could prevent subtle communication errors. One commenter pointed out the similarity to Apache Thrift. Several users appreciated the author's clear explanation and practical example.
Hotline is a macOS menu bar application that enables quick and easy access to remote terminals and SSH connections. It stores connection details securely in the Keychain and allows users to organize them into customizable groups. With a simple click from the menu bar, users can establish SSH connections or launch other terminal applications like iTerm, Terminal, or Warp with pre-configured settings. This streamlines the workflow for developers and system administrators who frequently connect to remote servers.
HN users generally express interest in Hotline, praising its simplicity and ease of use compared to more complex MDM solutions. Several commenters appreciate the focus on privacy and local control, particularly the lack of cloud dependencies. Some discuss potential use cases, like managing home devices or small business networks. A few users raise concerns, including the limited documentation and the project's early stage of development. Others suggest improvements like mobile device configuration and SSH key management. The developer engages with the comments, answering questions and acknowledging suggestions for future features.
The original Pebble smartwatch ecosystem is being revived through a community-driven effort called Rebble. Existing Pebble watches will continue to function with existing apps and features, thanks to recovered server infrastructure and ongoing community development. Going forward, Rebble aims to enhance the Pebble experience with improvements like bug fixes, new watchfaces, and expanded app compatibility with modern phone operating systems. They are also exploring the possibility of manufacturing new hardware in the future.
Hacker News users reacted to the "Pebble back" announcement with a mix of excitement and skepticism. Many expressed nostalgia for their old Pebbles and hoped for a true revival of the platform, including app support and existing watch functionality. Several commenters questioned the open-source nature of the project, given the reliance on a closed-source phone app and potential server dependencies. Concerns were raised about battery life compared to modern smartwatches, and some users expressed interest in alternative open-source smartwatch projects like AsteroidOS and Bangle.js. Others debated the feasibility of reviving the app ecosystem and questioned the long-term viability of the project given the limited resources of the Rebble team. Finally, some users simply expressed joy at the prospect of using their Pebbles again.
Summary of Comments ( 12 )
https://news.ycombinator.com/item?id=43243075
HN commenters largely agree with the author's premise that Apple's software quality has declined. Several point to specific examples like bugs in macOS Ventura and iOS, regressions in previously stable features, and a perceived lack of polish. Some attribute the decline to Apple's increasing focus on services and new hardware at the expense of refining existing software. Others suggest rapid feature additions and a larger codebase contribute to the problem. A few dissenters argue the issues are overblown or limited to specific areas, while others claim that software quality is cyclical and Apple will eventually address the problems. Some suggest the move to universal silicon has exacerbated the problems, while others point to the increasing complexity of software as a whole. A few comments mention specific frustrations like poor keyboard shortcuts and confusing UI/UX choices.
The Hacker News post "Apple's Software Quality Crisis: When Premium Hardware Meets Subpar Software" linking to Eliseo Martelli's blog post has generated a significant discussion with a variety of viewpoints. Many commenters agree with the author's premise, sharing their own experiences and frustrations with perceived declining software quality from Apple.
Several commenters point to specific examples of software issues they've encountered, such as bugs, regressions, and inconsistencies in UI/UX across different Apple operating systems and applications. Some mention specific problems with macOS Ventura, citing issues with Stage Manager and overall system stability. Others express concern about the increasing complexity of Apple's software ecosystem and the apparent difficulty in maintaining quality across such a broad range of products and services.
A recurring theme is the perceived shift in Apple's priorities from quality and polish to features and marketing. Some speculate that this shift might be due to internal pressures, changes in leadership, or a larger industry trend. A few commenters suggest that the rapid pace of new feature releases may be contributing to the decline in quality, leaving insufficient time for proper testing and refinement.
However, not all commenters agree with the author's assessment. Some argue that software quality is subjective and that the issues highlighted are minor or isolated incidents. Others suggest that the author's perspective is biased or overly nostalgic for older versions of Apple software. A few commenters point out that all software has bugs and that Apple's software is still generally considered to be high quality compared to other platforms.
Some commenters offer alternative explanations for the perceived decline in quality. One suggestion is that the increasing complexity of modern software, in general, makes it more challenging to achieve perfect stability and performance. Another perspective is that users have become more sensitive to software issues due to higher expectations driven by Apple's premium branding and pricing.
A few commenters offer constructive suggestions for how Apple could improve its software quality, such as increased focus on testing, more transparent communication with users about bugs and fixes, and a greater emphasis on stability over new features. Some even suggest specific changes to Apple's development process, like adopting more rigorous code review practices or slowing down the release cycle to allow for more thorough testing.
In summary, the discussion on Hacker News reveals a mixed sentiment towards Apple's software quality. While many commenters share concerns and frustrations, others defend Apple or offer alternative perspectives. The conversation highlights the complexities of software development, the challenges of maintaining quality at scale, and the evolving expectations of users in a constantly changing technological landscape.