Svelte ile Yapılmış UI Yoğunluğu Deneyi
(cybernetic.dev)- Grid, kullanıcıların UI yoğunluğunu ayarlamayı denediği bir deneydir; şu anda yeni bir sürümü geliştiriliyor
- Devam niteliğindeki Matrix, daha yüksek UI yoğunluğunu hedefleyerek S&P 500 ve NASDAQ-100 korelasyon matrisini gösteriyor
- Veri kümesi olarak S&P500 bileşenleri seçildiğinde, 250 binden fazla hücre ve 30 milyondan fazla veri noktası arasındaki korelasyonları ele alıyor
- Bazı özellikler alttaki önizlemede yer almıyor; değerlendirmek için Matrix tam ekran UI açılmalı
- Sitedeki materyaller yalnızca bilgilendirme amaçlıdır; yatırım tavsiyesi veya menkul kıymet alım-satım önerisi olarak görülemez
Grid’den Matrix’e uzanan UI yoğunluğu deneyi
- Grid, özelleştirilebilir UI yoğunluğunu deneyen bir projedir; yeni bir sürümü geliştiriliyor
- Matrix, UI yoğunluğunu daha da ileri taşıyan bir deney olarak, büyük ölçekli S&P 500 ve NASDAQ-100 korelasyon matrisi sunar
- Alttaki önizlemede Matrix’in bir kısmı görülebilir, ancak bazı özellikler yalnızca Matrix tam ekran UI’da sunulur
Matrix’in ele aldığı veri ölçeği
- Veri kümesi olarak S&P500 bileşenleri seçildiğinde 250.000’den fazla hücre içerir
- 30.000.000’dan fazla veri noktası için korelasyon hesaplar
- Matrix deneyinin About sayfasında ek bilgi görülebilir
- home sayfası, şu anda sunulan tüm veri görselleştirme deneylerine genel bir bakış sağlar
Önizlemede görülebilen kontrol öğeleri
- Dataset seçeneğinde S&P500 ve NASDAQ100 bulunur
- Horizon için 1M ve 1Y seçilebilir
- Veri ön işleme seçeneği olarak Detrend Data onay kutusu bulunur
- Sıralamayla ilgili seçenekler şöyledir
- Sort By: Cluster, AvgCorr, MedCorr, Name
- Cluster Method: Avg, Complete, Ward
- Sort Direction: Asc, Desc
- Önizleme UI’sında Minimap, Search, Rolling Correlation Chart, hücre üzerine gelme ve tıklama yönergeleri yer alır
- Gösterilen durumda Symbols 101, Correlations 5.050, Cells 10.201 olarak görünür
Kullanırken dikkat edilmesi gerekenler
- Web sitesindeki materyaller bilgilendirme amaçlıdır; yatırım tavsiyesi veya menkul kıymet alım-satım önerisi değildir
1 yorum
Hacker News yorumları
Bu aralar sıralama ile gösterim arasındaki dengeyi deniyorum. Jira'dan alınan bir issue bloke durumdaysa, sıralama/filtreleme için ayrı bir boolean sütunu gerekip gerekmediğini, yoksa başka bir sütuna (ör. geçen süre) sadece stil vermenin yeterli olup olmadığını düşünüyorum. 100'den fazla satırı olan tablolarda, tek bir hücredeki turuncu, kırmızı veya kalın kırmızı değere bakarak şu an işlemem gereken öğeyi anlayıp anlayamayacağıma bakıyorum
Bu deneyin tablo görünümünde hoşuma giden şeyler; gerçek zamanlı güncelleme, birden çok sütunda kararlı sıralama, mouse over sırasında satır vurgulama, sondaki 0'ların soluklaştırılması, aşırıya kaçmayan renkler (temelde yaklaşık üç çift) ve 24H Low/High sütunundaki sparkline benzeri grafikler. Eksik bulduklarım ise neredeyse görünmeyen yatay kaydırma çubuğu, grafik eklenmiş geniş dikey kaydırma çubuğu, 24H Low/High'ın gerçekte nasıl sıralandığının belirsiz olması ve filtrelemenin olmaması. Ayrıca kendi raporlarımla karşılaştırınca, değer genişliklerindeki değişkenliğin çok büyük olmadığını fark ettim. Sayısal ağırlıklı olmaktan çıkıp metin karıştığında sütun genişliğini yönetmek daha zor oluyor
Helix bana okunması zor ve çok faydalı olmayan bir şey gibi geldi. Bu tür grafikler, periyodu tüm veri aralığından çok daha kısa olan periyodik veriler için daha uygun
Küp merak uyandırdı ama ne işe yaradığını pek göremedim. Genelde 3D görselleştirmeler, aynı bilgiyi üç 2D grafikle (burada üç saçılım grafiğiyle) göstermeye göre daha az etkili oluyor. Çünkü 3D'den 2D'ye izdüşüm sırasında bozulma oluşuyor ve insanın konum karşılaştırmasına dair temel sezgisi de zayıflıyor. Burada hedeflenen etkinin ne olduğunu merak ediyorum
Geçmişe olabildiğince doğal biçimde bakarken yakın dönem verilerini daha büyük göstermesi gerçekten dahiyane. Bunu daha önce kimsenin düşünmemiş olmasına inanmak zor
Google'ın fiilen gömdüğü "Material Design"dan beri şişkinlik, beyaz boşluk, aşırı aralıklar ve "hava" hissi gibi israf fazla arttı
İnsan hayal kurabiliyor
Şirketler platforma göre çok farklı iki UI tasarlamak istemiyor ve kullanıcılar da genelde bir platformda öğrendikleri kullanım biçiminin diğerine taşınmasını istiyor
Erişilebilirlik de tasarımda büyük yazı tiplerine yer olduğunda ve hassas motor kontrol gerektirmediğinde daha kolay oluyor. Babamın gözle görülür şekilde yaşlandığını izlerken, bana geniş gelen uygulamaların bile bu açıdan yeterli olmadığını fark ediyorum
Bizi baştan bu yöne iten güçler değişmedikçe, yüksek bilgi yoğunluklu tasarımlara nasıl geri dönebileceğimizi pek bilmiyorum
Bu ekranlarda tek boyutlu sabit genişlikli bir yazı tipi kullanılıyor. 1980'lerin metin modlu UI'larını andıran retro bir his veriyor ve eğer amaçlanan kısıt buysa sorun değil
Ama yazı tipi ve boyutta düzgün bir hiyerarşi kurulabilirse, ekrana çok daha fazla bilgi sığdırılabilir
Basit bir örnek olarak, "About" kutusu şu anda telefon ekranının neredeyse dörtte birini kaplıyor. Daha küçük orantılı bir yazı tipine geçilse, telefonda hâlâ okunabilir kalırken bu bilgi yarı alana sığabilir
Edward Tufte gibi büyük bilgi tasarımcılarının işlerine bakınca, tipografiyi doğru ayarlama konusunda adeta takıntılı olduklarını görürsünüz. Kitaplarında, görselleştirmenin dışındaki gövde metninde bile birden fazla tipografik öğe ve ölçek kullanıyorlar
Odağın performans, görselleştirme ya da yoğunluğun başka bir boyutu olup olmadığını merak ediyorum
Kesinlikle ondan çok etkilenmiş gibi duruyor
React ile benzer bir UI yapma girişimleri performans açısından iyi sonuç vermediği için büyük ölçüde başarısız oldu. Kabul edilebilir render performansı elde etmek için veri tablosunda React tamamen baypas edildi. Yine de tarayıcının kendi render işleminin dayanılmaz derecede yavaşlamasını önlemek için satır başına DOM öğesi sayısını en aza indirmek gerekiyor
WinForms hâlâ muhtemelen en sevdiğim UI framework’ü. Kesinlikle hantal bir araç, ama onu özgürce savurabiliyorsunuz. İnanılmaz derecede esnek, kullanması epey kolay, oldukça hızlı ve korkunç derecede çirkin
Rastgele bir
Objectfırlatın, yine de çalışır.PropertyGridiçinePropertyGridgömebilir, bunu nesne koleksiyonlarına genişletebilir ve kontrolleri istediğiniz derinliğe kadar iç içe yerleştirebilirsiniz. UI’nin bağlandığı nesnenin iç yapısıyla uğraşmanız ya da onu dert etmeniz gerekmez (bazı sınırlar olsa da)WinForms benim için UI framework’lerinin Platonik idealidir. Kendim tasarlasam da muhtemelen tam olarak böyle yapardım
Bilgi yoğunluğunu gerçekten seviyorum
Eski gazeteleri topluyorum; o zamanlar bilgi yoğunluğu çok daha yüksekti. Harika bir coffee table book arıyorsanız "nytimes complete front pages" diye aratmanızı öneririm. Katlanmış sayfanın üst yarısında inanılmaz miktarda temel bilgi vardı
Yüksek bilgi yoğunluğunu yüksek zekâyla eşdeğer görüyorum. Sıralama önceliklerini doğru kurmak çok değerli ve önemli
Son birkaç yılda web bunun ters yönüne gidiyor gibiydi ama hâlâ diğer yöne kürek çeken insanlar görmek güzel
Başka bir örnek olarak, blogumu zoom in/out ile yaklaşık 20 yıllık yazıları tek seferde görebileceğiniz şekilde tasarladım (https://breckyunits.com/)
Ayrıca bilgi yoğunluğu yüksek cheat sheet’leri tanıtıp üretmeyi kolaylaştıracak bir şey de yakında yayınlayacağım. Adını Leet Sheet olarak netleştirmeyi düşünüyorum (https://pldb.io/blog/leetSheets.html)
Bu, benim görüşüm ve görsel algım hakkında bir şey kanıtladığı için ilginç
"Grid" görünümü tamamen sorun değil. "Table" görünümü ise kullanılamaz
Bu tür uzun satırları yatay olarak tararken hangi satırda olduğumu kaybetme sorunu yaşıyorum. Bunun, bakışım hareket ederken sağ göz baskınlığının biraz sağa kayma eğiliminden kaynaklandığını fark ettim. İki gözümün hizası hafifçe bozuk olduğu için prizma düzeltmesi kullanıyorum ve yakın zamanda yapılan bir prizma düzeltmesi değişikliği bu durumu iyileştirdi
Bu sunumda low/high sütunlarındaki işaret çizgilerinin konumu, istemsiz satır kaymasını (ki hep yukarı doğru oluyor) daha da kötüleştiriyor
Benim için çizgi grafiğin hücrenin arka planında ya da hücrenin alt kısmında olması daha iyi olurdu. Satırlarda hafif şeritler de gerekli
Görsel veya bilişsel engeli olmayan hızlı ve yetkin bir okuyucu olarak çıkardığım ders şu: bu tür tablolarda bilgiyi geniş satırlara yaymanın sorun olmayacağını varsaymayın. Kullanıcı yatay tarama yaparken satırı tutmasını sağlayacak ipuçları vermeniz gerekiyor. İnce ayırıcı çizgiler tek başına yeterli değil ve mouseover ile arka plan değişimi dokunmatik cihazlarda işe yaramıyor
Şu anda böyle bir şeyle karşılaşınca pencereyi tam ekrandan çıkarıp yüksekliğini azaltıyor, sonra pencerenin alt kısmını ya da başka bir pencerenin başlık çubuğunu tutarlı bir “kenar” olarak kullanarak veriyi okurken kaydırıyorum. iPad kullanırken kâğıt ya da kart da kullandım
Birincisi, belirtildiği gibi hover durumundaki ya da vurgulanan satır ile diğer satırlar arasındaki kontrast çok düşük. Görmesi iyi olan biri olarak benim için bile seçmesi zor
İkincisi, okunabilirlik için tablo satırları ya da sütunları iki veya daha fazla yüksek kontrastlı renkle şeritlenmeli. Örneğin beyaz, siyah, beyaz, siyah gibi. Bu tablo ise baştan sona tamamen siyah
Üçüncüsü, tablo kenarlıklarının kontrastı çok düşük, neredeyse görünmüyor. Tek renkli satır/sütun yapısıyla birleşince okunabilirliği daha da düşürüyor
Özetle tablo yapısı iyi, renkler ise berbat
Buradaki UI öğeleri çok hoş görünüyor ama deneyin ne olduğu ve hangi sonuca ulaşıldığı da merak uyandırıyor
Salt etkileşimli öğe sayısı açısından bakıldığında, benim deneyimimde (Svelte 4) sorun çoğu zaman etkileşimden önce render tarafında çıkıyor. Yani öğelerin etkileşimli olup olmamasından bağımsız olarak, aynı sayıda öğede performans sorunları başlıyor. Bu sayfanın bazı kısımlarında uyguladığınız gibi çözüm canvas’a geçmek oluyor
Svelte canvas’a da çizebilir. Threlte de var: https://threlte.xyz/
Svelte’in iç performansı açısından bakarsak, gereksiz rerender’ları önlemek için React’teki kadar Jotai benzeri bir şeye ihtiyaç olduğunu düşünmüyorum
Svelte, Phaser gibi harika bir WebGL framework ile birleştirildiğinde çok hızlı grafik render alma mümkün: https://phaser.io/news/2024/03/official-phaser-3-and-svelte-...
Şu heliks grafik gerçekten çok çekici. Pratikte kullanılabilir mi pek emin değilim ama görüntüsü inanılmaz havalı.
Bu bir deneyse, sonuç neydi?