Översikt
hogs är en macOS-app som svarar på en enda fråga: vad är det som äter min disk? Släpp en mapp i fönstret så scannar appen allt — varenda fil i varenda undermapp — och listar resultatet sorterat efter storlek, störst först. Inga soldiagram att tolka, inga treemaps att kisa på. En lista, färgkodad från grönt till rött, och papperskorgen ett tangenttryck bort.
Appen föddes ur ett eget behov. Varje gång disken var full slutade det med att jag satt och grävde i Finder-mappar på måfå, eller körde du -sh i terminalen och försökte tolka utskriften. Verktygen som fanns visualiserade hellre än rensade. Jag ville ha motsatsen: ett verktyg där vägen från “den här filen är störst” till “den är borta” är ett enda tangenttryck — och en räknare som visar hur mycket utrymme man faktiskt frigjort.
Designspråket
hogs ser ut som en terminal, för att den ska det. Men det är mer än ett tema — det är en regel jag satte för hela gränssnittet: varje grafiskt element är ett tecken. Ramarna är box-drawing-tecken (┌ ═ ║), staplarna är block (█ ░), markören är en blinkande ▉, spinnern är braille-mönster och vald rad markeras med reverse video — precis som i en riktig terminal. Ingen ritad grafik någonstans i gränssnittet.
Paletten är fosforgrönt på nästan-svart, med en heat-skala som går från grönt via bärnsten till rött ju större filen är relativt den största — man ser var problemen sitter innan man läst en enda siffra. Typografin är SF Mono i en enda storlek och vikt; hierarki skapas med färg och ljusstyrka i stället för med typsnittsvariation.
Samma regel styr app-ikonen: en terminalruta med prompt och fallande heat-staplar — appens hela idé i en bild.
Rörelserna är genomarbetade men lågmälda: prompten skriver fram sig själv tecken för tecken, raderna faller in i en snabb kaskad och staplarna sveper till sin längd. Allt respekterar systemets inställning för minskad rörelse.
Tekniskt
hogs är byggd i SwiftUI och scannar rekursivt med live-uppdaterad topplista medan den arbetar. Några beslut som formade appen:
- Storlek mäts som faktiskt allokerat på disk, inte logisk filstorlek. Det är ärligare när målet är att frigöra utrymme — en molnfil som inte är nedladdad tar inget utrymme och ska inte se ut som att den gör det.
- Paket visas som en post. Fotobibliotek, appar och Logic-projekt är i själva verket mappar med tusentals filer. hogs summerar dem till en rad — annars dränks listan i interna fragment, och att radera inuti dem korruptar biblioteket.
- Tangentbordet först. Piltangenter eller vim-styla
j/k, retur eller mellanslag för att visa i Finder, backsteg för att flytta till papperskorgen. Musen funkar också, men behövs aldrig. - Ingenting lämnar datorn. Appen är sandboxad, gör inga nätverksanrop och samlar ingen data. Filer som raderas flyttas till papperskorgen — aldrig permanent.
hogs släpps på Mac App Store.