Uygulama arayüzlerinde görsellerle uyumlu arka plan renkleri seçmek, kullanıcı deneyimi açısından kritik bir detaydır. Yaygın olarak kullanılan bir yöntem, görseli tek bir piksele küçültüp o pikselin rengini kullanmaktır. Ancak bu yaklaşım, orijinal görsel canlı olsa bile genellikle soluk ve çamurlu renkler üretir. Bu soruna çözüm olarak geliştirilen Okmain adlı kütüphane, görsellerden "uygun" bir ana renk seçmek için iki ana teknik kullanır.
Okmain'in ilk tekniği, renk kümelerini belirlemek için K-means algoritmasını kullanmaktır. Görseller genellikle birden fazla belirgin renk grubuna sahiptir ve tüm renkleri basitçe ortalamak, görselin özgün canlılığını yansıtmayan donuk bir sonuç verir. K-means, benzer renkleri gruplandırarak bu kümeler içindeki ortalamaları bulur. Okmain, performans ve yeterli kalite dengesi için en fazla dört küme kullanır ve kümeler arası benzerlikleri kontrol ederek daha az küme ile de çalışabilir.
İkinci önemli teknik ise renk ortalamalarını Oklab renk uzayında gerçekleştirmektir. Geleneksel sRGB renk uzayında doğrudan ortalama almak iki temel soruna yol açar: gama düzeltmesinin doğrusal olmaması nedeniyle yanlış sonuçlar ve algılanan renk yoğunluğunun doğrusal olmaması nedeniyle çamurlu karışımlar. Oklab, bu sorunları ortadan kaldırarak daha pürüzsüz ve doğal renk geçişleri sağlar, böylece Okmain, görsellerin ruhunu yansıtan, görsel olarak hoş ana renkler elde etmeyi başarır.
Okmain, görsellerden estetik ve doğru ana renkleri otomatik olarak seçerek uygulama arayüzlerinin görsel kalitesini ve kullanıcı deneyimini önemli ölçüde iyileştiriyor.