Kelimelerin altındaki kırmızı ve yeşil dalgalı çizgileri bırakan Tony Krueger’i anarken
(devblogs.microsoft.com)- Tony Krueger, Microsoft Word’de yazım ve dilbilgisi sorunlarını kırmızı ve yeşil dalgalı çizgilerle anında gösteren özelliğe katkı vererek, neredeyse tüm kullanıcıların gördüğü bir UI izi bıraktı
- İlk Word sürümlerindeki yazım denetimi kullanıcı tarafından elle çalıştırılmak zorundaydı ve Auto Spell Check de kaydetme ya da çıkış gibi ön plan işlerini engelleyen bir bloklayıcı işlem olduğu için birçok kullanıcı tarafından kapatılıyordu
- Krueger, denetimin kullanıcıyı durdurmaması için çok daha az rahatsız edici bir yöntem geliştirdi ve bir sorun bulunduğunda ayrı bir çalıştırmayı beklemeden bunu kelimenin altında gösterdi
- Word 1.0, 1.1, 2.0, Word for OS/2, Word for Mac, Word 6.0 ve sonraki birçok sürümde yer aldı; ayrıca Chip’s Challenge’ın Windows’a taşınmasını da üstlendi
- Günümüzde yalnızca kırmızı değil, yeşil ve mavi dalgalı çizgiler de kelime işlemciler ve başka yazılımlara yayılmış durumda; Krueger’in çalışması gündelik düzenleme geri bildirimi UI’ı olarak yaşamayı sürdürüyor
Tony Krueger ve Word’ün dalgalı çizgi UI’ı
- Tony Krueger, ortaya koyduğu şey çok yaygın bilinse de adı nispeten daha az bilinen bir kişiydi
- Wikipedia’da, Windows Entertainment Pack için Chip’s Challenge’ı Windows’a taşıyan kişi olarak geçiyor
- Bu taşıma, MS-DOS sürümünün kaynak kodu olmadan tersine mühendislik yapılıp ardından Windows için yeniden uygulanmıştı
- Daha fazla insana ulaşan kodu ise Microsoft Word’ün yazım ve dilbilgisi işaretleme özelliği oldu
Birçok Word sürümündeki izi
- Krueger, birçok Word sürümünün geliştirilmesinde yer aldı
- Word 1.0
- Word 1.1
- Word 2.0
- Word for OS/2
- Word for Mac
- Word 6.0 ve sonraki birçok sürüm
- “En fazla Word sürümünü yayımlamış kişi” rekoruna sahip olabilecek biri olarak anılıyor
İlk yazım denetiminin neden kullanışsız olduğu
- İlk Word sürümlerindeki Spell Check, kullanıcının açıkça çalıştırması gereken bir özellikti
- Kullanıcı, program tüm olası yazım hatalarını bulana kadar beklemek ve ardından her kelimeyi tek tek inceleyerek nasıl işleneceğine karar vermek zorundaydı
- Word, kullanıcı boşta olduğunda önceden yazım denetimi yapan Auto Spell Check özelliğini tanıttı
- Amaç, kullanıcı Spell Check düğmesine bastığında sonucun hazır olmasıydı
- Ancak Auto Spell Check de hâlâ kullanıcının bir sonraki işini engelleyen bir bloklayıcı işlem olarak kalıyordu
- Birçok kullanıcının bu özelliği kapatmasının nedeni de buydu
- Kullanıcı belgeyi kaydedip çıkmak istediği anda yazım denetimi başlarsa, denetim bitene kadar beklemek zorunda kalıyordu
Kırmızı ve yeşil dalgalı çizgilerin gelişi
- Krueger, yazım denetimini ön plan işlerini engellemeyecek, çok daha az rahatsız edici bir biçime dönüştürdü
- Bir sorun bulunduğunda, kullanıcının Spell Check’i çalıştırmasını beklemeden olası yazım hatasının altına hemen kırmızı dalgalı çizgi çizildi
- Daha sonra olası dilbilgisi hataları için yeşil dalgalı çizgi kullanılmaya başlandı
- Bu yöntem bugün neredeyse tüm kelime işlemcilerde görülebiliyor ve kelime işlemcilerin dışında da sık kullanılıyor
- Sadece kırmızı değil, yeşil ve mavi dalgalı çizgiler de yaygın biçimde kullanılıyor
Bu özelliği hatırlayanlar
- Krueger, sihir ve komedi ikilisi Penn and Teller’ın ilk dönem hayranlarındandı
- Bir arkadaşı ve çalışma arkadaşı, gösteriden sonra ikiliden Tony için imzalı bir fotoğraf isterken onun Word’ün kırmızı ve yeşil dalgalı çizgiler ekibinde olduğunu söyledi
- Penn Jillette, tüm tiyatroda yankılanacak kadar yüksek bir sesle “The red and green squiggles!? I love the red and green squiggles!” diye tepki verdi; Teller da sessizce buna katıldı
- Krueger doğum günü hediyesi olarak bu imzalı fotoğrafı aldı ve onu asıl daha çok sevindiren şeyin fotoğrafın kendisi mi yoksa Penn and Teller’ın onun özelliğini sevmiş olması mı olduğu pek belli değildi
- Daha sonra “Weird Al” Yankovic’in parodi videosu Word Crimes içinde Word’ün kırmızı dalgalı çizgisi kısa süreliğine göründü ve aynı arkadaşı bu ekran görüntüsünü de imzalattı
Geriye kalan iz
- Kırmızı dalgalı çizgi, kullanıcının hatalarını yakalayan gündelik bir düzenleme geri bildirimi olarak yaşamayı sürdürüyor
- Krueger’in önce yaptığı bu çalışma, daha sonra birçok yazılımın metin hata gösterim biçimine yayıldı
2 yorum
Hacker News görüşleri
Şirkette yazılım üreten sektörde kalıp kaynak koduna adını bırakırsanız, bir gün hiç beklemediğiniz bir ürün ya da özellikle hatırlanabilirsiniz
Asıl en çok emek verdiğiniz ve onunla tanınmak istediğiniz şeyler zamanla unutulur. Bir şey üretme süreci tamamen kendi kontrolünüz altındadır, ama neyle tanınacağınız tamamen kontrolünüz dışındadır
Amiga’daki Prowrite, Word’den önce gerçek zamanlı yazım denetimi sunuyordu
Ondan da önce aynı özelliğe sahip başka programlar olmuş olabilir, ama Prowrite yanlış kelimelerin altına kırmızı dalgalı alt çizgi çekiyordu
https://www.atarimagazines.com/compute/issue123/P215_1_REVIE...
Bu özelliğin ekran görüntüsünü de bulamadım. AmigaOS 1.x renk paletinde standart renkler siyah/beyaz/mavi/turuncuydu, dolayısıyla dalgalı çizgi muhtemelen kırmızı değil turuncuydu. AmigaOS 2 sonrası ise 3D efekt için siyah/beyaz/gri/mavi kullanıyordu, bu yüzden vurgu renginin mavi olması gerekmiş olabilir
Birden çok dille çalışılan ortamlarda dalgalı alt çizgiler çoğu zaman işe yaramaz
Sistem yazdığım metnin dilini tahmin etmeye çalışıyor ama çoğu zaman yanlış tahmin ediyor; sonuçta mücadele etmeniz ya da görmezden gelmeniz gereken görsel bir gürültüye dönüşüyor. Her etkileşimde dil ayarını elle değiştirmek de fazla zahmetli
Karakter stili olduğu için hem imlecin bulunduğu yere hem de seçili alana uygulanıyor. Önceden ayarlamayı unutup bir satır dalgalı çizgiyle dolduğunda da işe yarıyor. Ya da tüm metnin düzeltme dilini None yapıp tüm yazım ve dil bilgisi uyarılarını kaldırabilirsiniz
İlginç biçimde Chen’in yazısı, Tony Krueger’in portu yaptığının dayanağı olarak Wikipedia sayfasını işaret ediyor
Ama son sürümde bu maddenin dayanağı yine Chen’in yazısına geri dönen bir bağlantı
Chen’in yazısı, “Tony Krueger Wikipedia’da …’yı portlayan kişi olarak hatırlanıyor” dedikten sonra, “Bunu kaynak kod olmadan başarmış olması muhtemelen o kadar yaygın biçimde belgelenmiş değildir. MS-DOS sürümüne tersine mühendislik uygulayıp ardından Windows için yeniden gerçekleştirdi” şeklinde bir dipnot ekliyor. Sonrasında Wikipedia maddesi bu ek bilgi için Chen’in yazısını alıntıladı. Hepsi sorunsuz ve uygun; az önce alıntının yeniden net olması için düzenledim
Düzenlemeden önce oyun, Tony ve Ed Halley’i geliştirici olarak gösteren kaynaktı; Chen blogundaki tersine mühendislik anekdotunu ekleyen kişi cümleyi bölünce, geliştirici adlarına ilişkin alıntı yalnızca diğer kişiye uygulanıyormuş gibi oldu
https://en.wikipedia.org/w/index.php?title=Chip%27s_Challeng...
Wikipedia’nın onu en çok neyle tanıttığını işaret ediyor, ardından Krueger hakkında dikkat çekici bir başka şeyi, yani dalgalı alt çizgiyi, ekliyor. Chen’in yazısının tamamını okursanız aşağı kısımda porta ilişkin ayrıntıları da ayrıca eklediğini görürsünüz; yani bu gerçeği açıkça biliyor. Bu yazıyı port için kaynak olarak kullanmakta sorun yok. Wikipedia’da böyle döngüsel kaynak zincirleri gerçekten oluşabiliyor ama bu örnek öyle görünmüyor
Bu tür yazıları seviyorum. Olası sayısız dallanmadan bir şekilde dalgalı çizgi seçilmiş, üstelik tek bir kişinin anlık kararıyla ortaya çıkmış, ama sonunda dünyayı tamamen değiştirmiş
Dalgalı alt çizgileri her zaman sevmem ama bir UI deseni olarak takdiri hak ediyor
“Bu kelimede bir sorun var” demenin en sezgisel ve en kolay fark edilen görsel işaretlerinden biri
Gönderi başlığına ve microsoft.com alan adına bakınca bunun her zaman bir Raymond yazısı olduğunu anlıyorum. Gerçekten çok sevdiğim biri
“Bunu kaynak kod olmadan başardı” ha, tabii ki. Burası HN; kimin kaynak koda ihtiyacı var ki
Gerçi tersine mühendislik yerine ben olsam bir emülatör bulur ya da yapardım. Sonuçta başka yazılımları da “portlama” isteği gelebilir. Kullandığımız yazılımın iyi özelliklerinden ve kötü özelliklerinden kimin sorumlu olduğunu çoğu zaman bilmememiz gerçekten üzücü. Filmlerde sonunda uzun jenerikler gösterme geleneği var ve ben onları dikkatle okumayı seviyorum. Yazılım geliştirmede de böyle bir kültür olmalı. Bazı oyunlar bunu yapıyor, bazı Easter egg’ler de bu işlevi görüyor
Yazım denetimini tamamen kapatabilmek harika olurdu
Bunun çok niş bir tercih olduğunun farkındayım ama hatalarımla yaşamaktan rahatsız olmuyorum ve argo, teknik terim, kısaltma gibi şeyleri her seferinde “öğretmek” istemiyorum. Standart dışı İngilizce yazan insanların bugünlerde buna nasıl dayandığını sık sık merak ediyorum. James Joyce bundan hoşlanırdı diye düşünmek zor
Ana dili konuşuru da değilim, dolayısıyla kesinlikle yardımcı olabilirdi, ama kasıtlı yazdığım dizelerden şikâyet etmesinden ya da onları otomatik düzeltmesinden hoşlanmıyorum
Larry Constantine’in dalgalı alt çizgilerden gerçekten nefret ettiğini hatırlıyorum
Kendi ifadesiyle, yazı yazarken insanın hep bir sonraki kelimeyi düşünmesi gerekir ama dalgalı çizgiler dikkati zaten yazılmış olan kelimeye çeker. “Hey, dinle! Gerçekten heceleme bildiğini mi sanıyorsun? Az önce yazdığın ‘fatouos’ da ne?” diye bağırır, durup dalgalı çizgi çekilmiş kelimeye tıklayıp düzeltinceye kadar rahatsız etmeyi sürdürür. Aslında Clippy’nin ilkel bir biçimidir
Word, vi gibi iki moda sahip olsa bu çözülebilir. Yazma modunda hiçbir şey rahatsız etmez, sadece yazarsınız; düzenleme moduna geçiş düğmesine bastığınız anda ise dalgalı çizgiler ve AI önerileri istediği kadar yağabilir
Lobste.rs görüşleri
Ve şu dipnot da epey etkileyici: “Muhtemelen çok bilinmiyordur ama [Chip's Challenge portunu] kaynak kod olmadan yaptı. MS-DOS sürümünü tersine mühendislikle analiz edip Windows için yeniden uyguladı.”
Az önce baktım, Tony 1989'dan beri Microsoft'taymış ve hesap doğruysa 37 yılı biraz aşkın süre çalışmış demek
Ama sonra bunun 90'ların başı olduğunu, RAM'in muhtemelen 4–8 MB civarında olduğunu ve İngilizce kelime listesinin tamamını öylece belleğe yükleyemeyeceklerini düşündüm. Ayrıca 90'ların başındaki C++'ta çoklu iş parçacığı desteğinin ne durumda olduğunu bilmiyorum ama 2000'lerin sonlarında bile can sıkıcıydı, dolayısıyla oldukça zor bir problem olmuş olabilir
Sözlük boyutu konusunda ise, ilk yazım denetleyicilerden biri 1970'lerin sonlarında İngilizce sözlüğü 64KB RAM'e sığdırmayı başarmıştı (Jon Bentley'nin Programming pearls kitabına bakın). DAWG kullanıldığında orta ölçekli 100 bin kelimelik bir İngilizce sözlük 400KB'ye sıkıştırılmıştı ve yazım önerisi araması da hızlıydı: https://www.strchr.com/ternary_dags