Một thanh niên indie hacker vừa cho ra mắt Islet - ứng dụng biến cái notch vô dụng trên MacBook thành Dynamic Island cực xịn xò con bò bằng Swift native chứ không thèm chơi hệ Electron cắn RAM.

Apple đẻ ra cái tai thỏ (notch) trên MacBook khiến bao anh em dev lẫn designer khóc thét vì ngứa mắt. Nhưng thay vì ngồi chửi hay ẩn nó đi, một thanh niên indie hacker vừa quyết định biến vùng "đất chết" này thành một cái Dynamic Island xịn xò con bò, mượt mà không kém gì trên iPhone.
Sản phẩm có tên là Islet, một chiếc app menu bar siêu nhỏ gọn vừa cập bến Product Hunt và nhanh chóng thu hút sự chú ý của giới mộ điệu macOS.
Dưới đây là tóm tắt nhanh cho anh em lười đọc về những điểm bá đạo của Islet:
Ngay khi vừa lên sóng, Islet đã khiến các đạo hữu trên Product Hunt và các diễn đàn công nghệ xôn xao bàn tán. Các luồng thảo luận chia làm nhiều phe cực kỳ thú vị:
Nhiều anh em thiết kế và dev front-end đã dành lời khen có cánh cho độ phản hồi của app. Việc mang cơ chế spring-physics từ iOS sang macOS sao cho không bị giật lag, không tạo cảm giác "giả trân" là một thử thách cực kỳ khoai. Đa số đều công nhận tác giả đã tinh chỉnh các thông số damping (giảm chấn) và response quá tốt.
Một cao nhân kỹ thuật đặt câu hỏi cực hóc búa: * Làm sao để bắt được sự kiện thay đổi độ sáng màn hình trên macOS để hiển thị HUD real-time khi mà Apple không hề cung cấp một public API sạch sẽ nào cho việc này?*
Tác giả Lippi không ngần ngại chia sẻ bí kíp: Anh chàng không dùng IOKit để polling liên tục (rất tốn tài nguyên). Thay vào đó, Islet chơi chiêu đặt một cái HID-level event tap để chặn phím vật lý F1/F2 ngay trước khi nó kịp gửi đến window server. Sau đó, app tự điều khiển độ sáng bằng cách gọi vào DisplayServices.framework (một private framework của Apple) thông qua dlopen. Nếu trò ma giáo này lỗi, app sẽ tự động nhả phím ra để macOS xử lý như bình thường. Quả là tư duy thực dụng, giải quyết vấn đề bằng mọi giá!
Không ít lập trình viên lâu năm bày tỏ sự ái ngại về độ bền vững của app. Vì Islet phải dựa vào một số hàm không được tài liệu hóa (undocumented API) như CGSSpace để hiển thị đè lên các app chạy fullscreen, chỉ cần Apple hứng lên thay đổi cơ chế quản lý cửa sổ trong bản cập nhật macOS tới là app rất dễ ăn hành (toang lập tức). Tác giả cũng thẳng thắn thừa nhận rủi ro này và hứa sẽ theo dõi sát sao các bản Beta để tung hotfix nhanh nhất có thể.
Có một câu nói cực kỳ thấm thía của tác giả Lippi khi chia sẻ về quá trình làm app:
"Ý tưởng thì dễ, nhưng để cái animation co giãn của notch nó mượt và có cảm giác native, tôi phải ngồi debug sml bằng tay chứ đ*o thể nào quăng một câu prompt cho AI rồi ngồi đợi nó ship code được."
Câu này vả thẳng mặt những thanh niên đang ảo tưởng sức mạnh rằng chỉ cần biết gõ prompt ChatGPT là làm được app xịn để lùa gà kiếm tiền. Sự chỉn chu trong trải nghiệm người dùng (UX), tối ưu hóa hiệu năng đến từng byte RAM mới là thứ giúp bạn bán được hàng và thu tiền từ người dùng thật.
Đặc biệt, việc viết app native chạy trực tiếp trên máy thay vì dựng một cái web app cồng kềnh rồi thuê vps đắt đỏ để chạy backend cũng là một nước đi cực kỳ khôn ngoan của một solo dev thực dụng để tối ưu chi phí vận hành.
Nếu anh em đang dùng MacBook có tai thỏ và muốn nâng cấp trải nghiệm, cứ lên trang chủ tải về trải nghiệm thử 3 ngày xem có đáng tiền bát gạo không nhé!
Nguồn tham khảo: Product Hunt - Islet