Tüm yazılar

Blog yazısı

MiaDock 1.3.0: Daha özgür, daha güvenilir ve daha kontrollü bir dock deneyimi

MiaDock 1.3.0 için çalışmaların odağında kullanıcı geri bildirimleri bulunuyor. Planlanan sürüm; dock konumlandırmasını ve köşe tasarımını daha ayrıntılı biçimde özelleştirmeyi, tam ekran kullanımını kullanıcı tercihine bırakmayı, sistem bilgilerinin güvenilirliğini artırmayı ve hızlı medya geçişlerinde uygulama kararlılığını güçlendirmeyi amaçlıyor.

MiaDock 1.3.0: Daha özgür, daha güvenilir ve daha kontrollü bir dock deneyimi

MiaDock 1.3.0 için çalışmaların odağında kullanıcı geri bildirimleri bulunuyor. Planlanan sürüm; dock konumlandırmasını ve köşe tasarımını daha ayrıntılı biçimde özelleştirmeyi, tam ekran kullanımını kullanıcı tercihine bırakmayı, sistem bilgilerinin güvenilirliğini artırmayı ve hızlı medya geçişlerinde uygulama kararlılığını güçlendirmeyi amaçlıyor.

Bu yazıda anlatılan özellikler geliştirme planını yansıtmaktadır. Uygulama, test ve doğrulama sürecinde kapsam veya ayrıntılar değişebilir. Bir özellik ancak tamamlanıp doğrulandıktan sonra yayımlanmış kabul edilecektir.

Dock konumunu daha özgürce ayarlayın

1.3.0 ile planlanan Esnek Kenar Mesafesi ayarı, dock ile bağlı olduğu ekran kenarı arasındaki boşluğun kullanıcı tarafından belirlenmesini sağlayacak. Değer sıfır olduğunda dock doğrudan ekran kenarına yerleşecek; pozitif değerlerde ise ekranın içine doğru taşınacak.

Bu özellik yalnızca üst konumu değil; sol, sağ ve alt yerleşimleri de doğru eksende destekleyecek şekilde tasarlanıyor. Çoklu monitör, görev çubuğu konumu, kullanılabilir çalışma alanı ve farklı DPI ölçekleri hesaplamaya dahil edilecek. Amaç, ayar ne olursa olsun dock’un ekran dışında kalmaması ve monitör değişikliklerinde doğru biçimde yeniden konumlanmasıdır.

Her köşeyi ayrı özelleştirin

Mevcut tek köşe yuvarlaklığı ayarının yerine dört köşeyi ayrı ayrı düzenleme seçeneği planlanıyor:

  • Sol üst köşe
  • Sağ üst köşe
  • Sağ alt köşe
  • Sol alt köşe

Köşeleri birbirine bağlama seçeneği açık olduğunda tek bir değer bütün köşelere uygulanabilecek. Bağlantı kapatıldığında dört değer bağımsız olarak korunacak. Eski ayarlardaki tek köşe değeri ise migrasyon sırasında dört köşeye aktarılacak; böylece mevcut kullanıcıların görünümü değişmeyecek.

Köşe değerlerinin yalnızca XAML görünümüne değil, kırpma geometrisine, native pencere bölgesine, arka plana ve tıklama alanına da tutarlı biçimde uygulanması hedefleniyor. Bu yaklaşım; siyah köşeler, saydam olmayan alanlar, taşma ve kırpılma gibi sorunların önüne geçmek için önem taşıyor.

Tam ekranda dock davranışını siz seçin

1.3.0 için dört farklı tam ekran davranışı planlanıyor:

  1. Tamamen gizle: Tam ekran uygulama açıkken dock görünmez.
  2. Yalnızca bildirimleri göster: Normal dock gizlenir, desteklenen bildirimlerde geçici olarak görünür.
  3. Kenarda gizle, fareyle göster: Dock bağlı olduğu kenara çekilir ve fare ilgili bölgeye geldiğinde açılır.
  4. Normal şekilde görünür kal: Tam ekran uygulamalar dock davranışını değiştirmez.

Bu seçeneklerin çoklu monitörde doğru uygulamayı ve doğru dock örneğini etkilemesi hedefleniyor. Hover, bildirim, açık modül, menü ve flyout gibi farklı görünürlük nedenleri birbirinden ayrı izlenecek. Böylece bir görünürlük nedeni sona erdiğinde başka bir neden hâlâ aktifse dock yanlışlıkla gizlenmeyecek.

Daha kararlı sağ tık ve flyout etkileşimleri

Sağ tık menüsü veya başka bir açılır panel açıkken dock’un küçülmesi, gizlenmesi ya da geometrisinin bozulması önemli geri bildirimlerden biri oldu. Planlanan etkileşim yönetimi, menü açık olduğu sürece otomatik küçülme ve gizlenme davranışını askıya alacak.

Birden fazla flyout açık olduğunda tek bir panelin kapanması dock’u hemen küçültmeyecek. Menü kapandıktan sonra fare hâlâ dock üzerindeyse görünüm korunacak; fare dışarıdaysa normal gecikme uygulanacak. Gecikmiş zamanlayıcıların eski bir duruma göre işlem yapmaması için güncel etkileşim durumu yeniden kontrol edilecek.

Daha güvenilir pil bilgisi

Bazı bataryalı cihazlarda pilin yanlışlıkla bulunamadı olarak gösterilmesi planlanan düzeltmeler arasında yer alıyor. Yeni yaklaşım, fiziksel pilin bulunmamasıyla pil API’sinin geçici olarak veri sağlayamamasını birbirinden ayıracak.

Adaptör bağlantısı, şarj durumu ve pil yüzdesi değiştiğinde bilgiler yenilenecek. Uyku ve uyanma sonrasında servis yeniden değerlendirme yapacak. Geçici bir okuma hatası kalıcı olarak “pil yok” sonucuna dönüşmeyecek ve son başarılı bilgi kontrollü biçimde korunabilecek.

Anlık Bluetooth durumu

Bluetooth kapatıldıktan sonra bazı cihazların bağlı görünmeye devam etmesi de ele alınacak. Radyo açık, kapalı, bilinmiyor veya kullanılamıyor durumları ayrı ayrı takip edilecek.

Bluetooth kapandığında önbellekteki eski bağlantı bilgileri geçersiz kılınacak. Yeniden açıldığında cihaz izleme sistemi güvenli biçimde yeniden başlatılacak. Hızlı açma ve kapatma işlemlerinde birden fazla watcher oluşmaması, eski callback’lerin güncel durumu değiştirmemesi ve gereksiz bildirim fırtınalarının engellenmesi hedefleniyor.

Daha kararlı medya kontrolleri

Canva ve diğer WebView2 tabanlı uygulamalar, video değişimleri sırasında Windows medya oturumunu çok hızlı biçimde değiştirebiliyor. Eski bir medya oturumuna ait asenkron işlemin devam etmesi, geçersiz bir native nesneye erişilmesine ve MiaDock’un kapanmasına yol açabilecek bir yarış durumu oluşturabiliyor.

1.3.0 planında bu sorun yalnızca hata yakalama yoluyla gizlenmeyecek. Medya oturumlarının yaşam döngüsünün mimari olarak güvenli hâle getirilmesi hedefleniyor.

Güvenli medya oturumu yönetimi

Her aktif medya oturumu için bir generation veya revision değeri kullanılacak. Oturum değiştiğinde eski işlemler iptal edilecek; önemli asenkron adımlardan sonra işlemin hâlâ güncel oturuma ait olup olmadığı kontrol edilecek. Eski sonuçların yeni şarkı veya videonun bilgileri üzerine yazmasına izin verilmeyecek.

Aynı medya oturumu üzerinde kontrolsüz paralel metadata, playback, timeline ve thumbnail sorguları yerine sıralı ve sınırlandırılmış bir işlem hattı planlanıyor. Tekrarlanan olaylar gerektiğinde birleştirilecek; kuyrukların sınırsız büyümesi ve eski oturum işlerinin yeni oturumu engellemesi önlenecek.

UI katmanında yalnızca güvenli veriler

Native Windows medya oturumu ve stream nesneleri doğrudan kullanıcı arayüzüne taşınmayacak. Başlık, sanatçı, albüm, oynatma durumu, zaman çizelgesi ve görsel gibi bilgiler mümkün olan en kısa sürede saf managed bir snapshot modeline dönüştürülecek.

Thumbnail verileri güvenli bir managed kopyaya çevrilecek ve stream kaynakları eksiksiz biçimde kapatılacak. Eski bir thumbnail isteğinin yeni videonun görselini değiştirmesi engellenecek. Thumbnail alınamasa bile metadata ve oynatma bilgilerinin çalışmaya devam etmesi amaçlanıyor.

Canva ve WebView2 uyumluluğu

Planlanan stres testleri; videoları hızlı başlatma ve durdurma, içerikler arasında geçiş yapma, sekme kapatma, farklı medya uygulamalarına geçme ve yüzlerce hızlı oturum değişimini kapsayacak. Hedef; MiaDock’un kapanmaması, eski medya bilgilerinin görüntülenmemesi, görev veya event birikmemesi ve CPU ile bellek kullanımının kontrol altında kalmasıdır.

Odak özelliklerini tek ayarla kapatın

Yeni “Odak özelliklerini etkinleştir” ayarıyla bütün Odak davranışlarının tek noktadan kapatılması planlanıyor.

Ayar kapalı olduğunda aktif profil etkileri kaldırılacak, zaman ve uygulama tabanlı otomasyonlar çalışmayacak, ilgili arka plan zamanlayıcıları durdurulacak ve Odak göstergeleri gizlenecek veya devre dışı bırakılacak. Kullanıcının oluşturduğu profiller silinmeyecek; özellik tekrar açıldığında kullanılmak üzere korunacak.

Mevcut kullanıcılar için varsayılan davranış açık olarak kalacak. Özellik kapalıyken uygulama başlatıldığında gereksiz Odak servislerinin çalıştırılmaması da planın bir parçası.

Güvenli ayar migrasyonu

Yeni ayarlar mevcut yapılandırma sistemine eklenecek ve ayar şeması güncellenecek. Eski tek köşe değeri yeni dört köşe yapısına dönüştürülecek; geçersiz kenar mesafeleri, aşırı köşe değerleri ve bilinmeyen tam ekran seçenekleri güvenli değerlere normalize edilecek.

Migrasyonun tekrar çalışması kullanıcı değerlerini bozmamalı. Tek bir bozuk alanın bütün ayarların sıfırlanmasına yol açmaması ve diğer kullanıcı tercihlerinin korunması hedefleniyor.

Yerelleştirme ve erişilebilirlik

Yeni kullanıcı metinleri Türkçe ve İngilizce olarak mevcut yerelleştirme sistemine eklenecek. Sayısal kontroller, köşe alanları ve tam ekran seçenekleri klavye ve ekran okuyucuyla erişilebilir olacak. Yalnızca renkle anlam aktarılmayacak; yüksek kontrast ve azaltılmış hareket tercihleri korunacak.

Performans ve kaynak güvenliği

Geliştirmeler sırasında sürekli yüksek frekanslı polling, sınırsız görev üretimi ve kontrolsüz yeniden deneme kullanılmayacak. Event abonelikleri, cancellation kaynakları, native pencere bölgeleri ve stream nesneleri güvenli biçimde serbest bırakılacak.

Medya oturumları, Bluetooth watcher’ları, pil yenileme işlemleri, dock geometrisi ve tam ekran hover algılama davranışı performans testleriyle değerlendirilecek.

Fazlara ayrılmış geliştirme ve doğrulama

1.3.0 çalışmaları beş faz hâlinde planlanıyor:

  1. Görsel Özelleştirme: Esnek Kenar Mesafesi ve Bağımsız Köşe Tasarımı.
  2. Akıllı Görünürlük ve Etkileşim: Tam ekran davranışları ve sağ tık/flyout güvenliği.
  3. Sistem Durumu Güvenilirliği: Pil ve Bluetooth düzeltmeleri.
  4. Kararlılık ve Kontrol: Güvenli medya oturumu ve Odak özelliklerini kapatma.
  5. Doğrulama ve 1.3.0 Hazırlığı: Migrasyon, regresyon, stres testleri, erişilebilirlik, belgeler ve release build.

Her fazın testleri tamamlanmadan sonraki fazın tamamlanmış kabul edilmemesi hedefleniyor. Özelliklerin yalnızca arayüzde görünmesi yeterli olmayacak; gerçek uygulama davranışına bağlanmaları ve hata, yarış durumu, dispose ve stres senaryolarında doğrulanmaları gerekecek.

1.3.0 ile hedeflenen deneyim

MiaDock 1.3.0; daha fazla seçenek sunarken arka plandaki güvenilirliği de yükseltmeyi amaçlıyor. Dock konumundan köşe geometrisine, tam ekran davranışından medya güvenliğine kadar her geliştirme, kullanıcı kontrolünü artırmak ve günlük deneyimi daha kararlı hâle getirmek için planlanıyor.

Geliştirme ilerledikçe yalnızca tamamlanan ve doğrulanan özellikler sürüm notlarına eklenecek. Planlarda yapılacak değişiklikler ve test sonuçları gelecekteki duyurularda paylaşılacaktır.