Bill Atkinson muhtemelen
brilliant MacPaint
programıyla en iyi tanınır, ama Apple'daki önemi
From INSIDE MACPAINT, Microsoft Press, Copyright ©
Jeffrey Young, 1985. All Rights Reserved.
Mac sahiplerine çok daha derindir.
QuickDraw, Macintosh'ta Lisa'dakiyle aynı mıydı?
Evet, ikisinin aynı olması uyumluluk açısından çok önemliydi. Zorluklardan biri QuickDraw'u Mac ROM'una (salt-okunur bellek) sığacak şekilde küçültmekti. Onu sürekli sıkıştırdım, yeniden düzenledim, refactoring yaptım, paylaşabileceğim kodlar buldum. Bu kadar küçük hale getirmek üç buçuk yıl aldı, kendimle gurur duyuyorum ki sadece 40.000 satır assembly dilinde kaldı.
Lisa başlangıçta grafik odaklı bir ekran ve arayüz olarak mı tasarlanmıştı, yoksa bu senin Lisa'ya getirdiğin bir şey miydi?
Lisa'nın geliştirilmesi sırasında ne yapacağımızı bilmiyorduk. Apple II'den biraz daha ofis veya küçük işletme odaklı bir şey yapacağımızı biliyorduk ve vurgunun grafiklerde olacağını. Bu benim yaptığım bir şeydi. QuickDraw'un ve Lisa'nın daha fazla yetenek ve güce sahip olmasını istedim. Genel olarak, QuickDraw'un uygulamalarla sinerjik bir şekilde geliştirildiğini söylemek adil olur. Lisa için uygulamaların nereye gideceğini bildiğimden iki ya da üç ay önde olmaya çalışırdım. Uygulama geliştiricileri güç yetmediği bir noktaya geldiklerinde veya yeni bir yetenek gerektiğinde, genellikle bu durumu önceden görmüş ve çözüm üzerinde çalışıyor olurdum.
Macintosh'u tasarım konsepti ve felsefesi açısından nasıl tarif edersin?
Başlangıçta onu “VolksLisa” olarak düşünüyorduk. Lisa'da gerçekten harika bir şeyimiz vardı, ama çok pahalıydı ve birçok insana ulaşamazdı. Çok daha fazla bizim için olan bir makine yapmak istedik, onlar için değil.
Lisa'yı bir nevi prototip Mac olarak düşünüyorum. Onu sevk ettik ve iyi bir makineydi, ama bir sonraki tur inşaat ve geliştirme çok daha iyiydi. Bildiğimiz şeylerin üzerine inşa ettik, tüm iyi şeyleri dahil ettik, ama onu sadeleştirdik ve temizledik. Ayrıca bazı unsurlardan vazgeçmemiz gerektiğini biliyorduk. Küçük miktarda RAM'de (rastgele erişim belleği) çalışabilecek şeyleri azaltmamız gerekiyordu. Sabit disk tasarımın ayrılmaz bir parçası olmayacaktı. İlk engel sadece onu daha kompakt ve daha kişisel hale getirmekti.
Macintosh kullanıcı arayüzü — masaüstü ve pencereler — nasıl gelişti?
Bu bütün şeyi gerçekten evrimleştirdik. Bize birden gelmedi. Çok yavaş ve sancılıydı. Bir adımdan diğerine geçmek için çok sayıda insan gerekti. Ve uzun bir süre yaptığımız her şey mock-up'larla idi. Ekranın arkasında uygulama yoktu ve her şey sadece gösteri içindi. İlk pull-down menülere ulaşmak uzun sürdü. Başlangıçta her pencerenin üstünde karşıdan karşıya yer alıyorlardı, bugünkü gibi ekranın üstünde değil. Bununla ilgili her türlü sorunla karşılaştık, örneğin pencereler küçükken ve menüler uzunsa ve alttan taşarsa ne olur? Aşağı sarkarlar mı yoksa yukarı geri mi sıçrarlar? Pencere çok dar olduğunda ve tüm menü başlıklarını göremediğinde ne olur? Sonunda her zaman maksimum yüksekliği veren ve her zaman tam ekran genişliğine sahip çok daha basit bir şemaya geçtik: menüleri pencerelerin üstü yerine ekranın üstüne koymak.
Ve bir süre klasör ile pencere arasındaki fark konusunda biraz kafamız karıştı. Onları ekranın altına dizmiştik, tıpkı bir dosya çekmecesi gibi, tüm klasör sekmeleri ekranda —çok kafa karıştırıcı. Bunların hiçbiri bize kolay gelmedi. Macintosh ekranının görünümünü deneme yanılma ve insanların onunla etkileşimini izleyerek evrimleştirdik.
...ekranında, menüde gizli değil mi?
Macintosh mu yoksa MacPaint mi önce geldi?
Macintosh önce geldi. MacPaint'in var olup olmadığını yoksa Lisa için attığım küçük bir eskiz programının evrimi mi olduğunu söylemek zor. Adı Sketchpad'di ve solda tek bir palet vardı, içinde desenler ve sadece bir araç. O araç Filled Free-form araca benzerdi, sadece birden fazla tıklama yapabiliyordun.
Tool Shelf'i — soldaki araçları — nasıl buldun?
Lisa için yapılandırılmış bir grafik editörü fikrimiz vardı — temelde bir dikdörtgen seçerdin ve içine ne koyacağını söylerdin. Kafamıza koyduk ki önce seçmek sonra işletmek iyiydi — kelime işlemcideki gibi, bir şeyi seçersin ve sonra kes der ya da bir şeyi seçip bilgisayara kalın yap der gibi. Ve böylece yapılandırılmış grafik editörü modelimiz vardı, ama berbattı... gerçekten kötüydü. Mevcut şeylerin özelliklerini değiştirmek için işe yaradığını hissettim — ama sıfırdan bir üretim için, özellikle grafiklerde, pre-fix bir işlem gerekiyordu. Temelde, kıvrımlı bir çizgiyi bir dikdörtgeni gererek ve “İçine kıvrımlı bir çizgi koy” diyerek yapamazsın. Gerçekten bilgisayara önceden “Kıvrımlı bir çizgi yapacağım, şimdi bana kıvrımlı çizgiyi yaparken iyi geri bildirim verebilirsin” demen gerekir — iyi geri bildirim de kıvrımlı çizginin kendisiydi. O günlerdeki din buydu: post-fix gitmekti — kör bir seçim yaparsın ve sonra bilgisayara seçimle ne yapacağını söylersin.
Bu yüzden bu yeni modeli buldum. Başta gruptaki kimseyi önce araç seçmen gerektiği fikrime ikna edemedim. Bu yüzden sadece birkaç temel araçla —yatay, dikey ve çapraz çizgiler; kutu/dikdörtgen; ve metin— yapılandırılmış bir grafik editörünün mock-up'ını yaptım, sadece önce araç seçmenin nasıl olacağını göstermek için. Bu, sonunda LisaDraw ve nihayetinde MacDraw olanın prototipiydi. Onu laboratuvara götürüp herkese denettirdiğimde “Tabii ki” dediler ve hemen üzerinde çalıştığımız diğerini bıraktılar. Oradan MacPaint, yeni şeyler ekledikçe ben nasıl yapılacağını çözdükçe evrildi. Mark Cutter sonra LisaDraw'ı —ve şimdi MacDraw'u da— pencerenin sol kenarındaki bu araç paletiyle uyguladı.
Mac'in geliştirme ekibinin küçük boyutu son projeyi nasıl etkiledi?
Amacımız ruha sahip bir makine yapmaktı ve bunu yapmak için tasarımcıların tek bir zihinde olması gerekiyordu. Bu yüzden geliştirme ekibinin boyutu çok önemli hale geldi. Lisa'da 100 tasarımcı vardı —büyük bir ekip. Ne yapmak istediğimiz konusunda anlaşmazlıklara çok zaman harcandı, nasıl yapılacağı yerine. Mac'te yazılım tasarım ekibini sadece 10 kişiyle sınırlı tuttuk. Biliyorsun, 100 kişi bir duvar boyayabilir, ama 100 kişi bir portre boyayamaz ve sonucun başyapıt olmasını bekleyemezsin. Tek bir zihin olması bize çok hızlı hareket etme, geç saatlere kadar çalışma ve uzun saatler çalışma şansı verdi çünkü dünyayı sarsacak bir şey yapma şansımız vardı. Eğer harekete geçmezsek bu şansın kaybolacağını biliyorduk.
Ekip Mac'in geliştirilmesinin sonraki aşamalarında bile 10 kişiyle mi sınırlı kaldı?
Evet. Yazılım tasarım ekibi Macintosh Ocak 1984'te sevk edildikten sonra Lisa ve Mac bölümleri birleşene kadar aynı boyutta kaldı. Ancak bu süre zarfında dışarıdan yazılım geliştiricileriyle görüştük. Bu önemliydi çünkü uzun vadede Mac için yazılımların %99'unu onlar yazacaktı. Bizim işimiz makineyi tasarlamak ve inşa etmekti.
Grup ortamında mı yoksa yalnız çalışırken mi daha üretkensiniz?
Evde yalnız çalışmak bana daha iyi geliyor. Gerçek bir mükemmeliyetçiyim ve kendin için çalıştığın sürece bu sorun değil. QuickDraw'un her satırını ben yazdım. Başka kimse görmedi veya dokunmadı. Lisa için Window Manager, Menu Manager ve Event Manager'ı yazdım, bunların üçü de Mac'e taşındı, assembly diline çevrildi ve Andy Hertzfeld tarafından temizlendi.
MacPaint ilk kez kullanan biri için son derece kolay kullanılır. Bu genel planında ne kadar önemliydi?
Gerçekten yapmaya çalıştığım şeylerden biri gereksiz özellikleri gizlemekti. MacPaint'i bir süre kullandıktan sonra keşfedilen bir özellik seni korkutmaz. Ama programa ilk yaklaştığında tüm özellikleri bir anda görmek çok korkutucu olabilir ve programa girip kullanmanı engelleyen bir bariyer oluşturabilir.
MacPaint'e başladığında ve Paintbrush'ı aldığında —aslında onu bile almıyorsun; program fırçayla açılıyor— MacPaint'e çok nazik bir giriş yapıyorsun ki kılavuza bakmadan her şeyi yapmana izin veriyor.
İnsanlar kılavuz okumaz —en azından %90'ı okumaz. Eh, okumadıkları için şikayet etmemeliyiz, ama bu kısıt altında nasıl yaşayacağımızı bulmalıyız. Biliyorsun, video oyunları için kılavuz yapılmaz, ama insanlar onları kullanır. Kullanıcı arayüzü tasarımı için bir model görmek istiyorsan arcade'lere bak, çünkü orada sattıkları şey tamamen kullanıcı arayüzüdür. Senin için üretkenlik işi yapmaz; sadece kullanıcı arayüzünü gıdıklar. Daha fazla temas —daha fazla çekim— olan oyunlar çeyrekleri alanlardır.
MacPaint'i yaparken hangi programlama dilini kullandın?
Pascal ve 68000 assembly dilinin bir karışımını kullandım.
MacPaint'i tutan iki dosya var; biri kaynak (source), biri nesne (object) için. (Kaynak kodu çoğu programcının yazdığı şeydir; bilgisayar tarafından doğrudan anlaşılamayacak olan Pascal gibi bir programlama dilinde yazılır; nesne kodu ise kaynak kodunun çevrilmiş veya derlenmiş versiyonudur; genellikle makine dili olarak adlandırılır ve yalnızca belirli bir makine –bu durumda Macintosh– tarafından okunabilir.) Kaynak kod boyutuna veya metnin dosya boyutuna göre, yaklaşık %60'ı Pascal ve %40'ı assembly dilidir. Nesne kod boyutuna göre ise %70'i Pascal ve %30'u assembly dilidir. Üzerinde çalışma sıklığına göre, assembly dili dosyasını bir kez açtığımda, Pascal dosyasını 20 veya 30 kez açıyordum.
Temelde, assembly dilindeki bilginin gerçekten çok fazla bakıma ihtiyacı yoktur. Assembly dili kısmı, hız için orada olan veya küçük olan ve çok fazla bakıma ihtiyaç duymayacağını bildiğim şeyleri içerir. Onları sadece kod boyutunu küçültmek için assembly diline koydum. Ana kontrolü, akışı ve mantığı Pascal'da tutmak, programı daha esnek hale getirdi.
QuickDraw renkli çalışıyor. Macintosh hiç renk kapasitesiyle sunulacak mı?
Renkli bir makine yapmak gerçekten çok kolay olurdu, ama insanlar onu satın alır mıydı? Apple II ile, insanların temel olarak eğitim ve oyun için kullandığı düşük çözünürlüklü renkli bir makine yaptık. Bu, düşük çözünürlüklü renge sahip olmanın bir engel olmadığı ve rengi yazdıramamalarının bir sorun teşkil etmediği bir durumdu.
Kelime işlem yapacak bir makine yapmak istediğimizde, ekranda boydan boya yalnızca 280 nokta olması artık kabul edilebilir değildi. Ekranda satırların yazıcıyla tamamen aynı yerlerde alt satıra geçtiğini görebileceğin kadar çözünürlüğe sahip olmak önemliydi, bu da standart bir televizyondan daha yüksek çözünürlük demekti. Bunu başardıktan sonra, bir sonraki engel renkti. Engellerden biri maliyetti. Birçok insana ulaştırabileceğimiz incecik, sert bir makine yapmak istedik. Paranın karşılığını en çok veren şeyi sunmak istedik. En çok getiren değil, paranızın karşılığını en fazla veren şey.
Ben 500 dolara satılan yüksek çözünürlüklü siyah-beyaz bir Mac görmeyi, aynı çözünürlükte renkli ve iki katı fiyata satılan bir Mac görmeye tercih ederim. Hala daha fazla insanın karşılayabilmesi için fiyatı düşürmek istiyorum.
İkinci bir nokta, ofiste dünyanın hala siyah-beyaz olmasıdır. Renkli kopyalayan kaç fotokopi makinesi tanıyorsun? Renkli basan kaç lazer yazıcı tanıyorsun? Bazı nokta vuruşlu yazıcılar her renkte basıyor —çok beceriksizce. Renk ile çalışmaya daha yeni başlayan bazı mürekkep püskürtmeli yazıcılar var, ama çok sıkışıyorlar.
Ne zaman bir makine çıkarsak, üçüncü taraf satıcıların onun için yazılım yazmasını sağlamaya ihtiyacımız oluyor ve onlar sadece işin içinde bir milyon veya daha fazla makine olduğunda program yazmakla ilgileniyorlar. Eğer bir şeyden bir milyon satamazsak, onu hiç satamayız. Bir gün kucak boyu (lap-sized) bir Mac yapacağız ve bu renksiz olduğunda çok daha erken gerçekleşecek. Paranın en iyi karşılığı bizi gerçekten ağırlıklı olarak siyah ve beyaza yönlendiriyor, Apple Computer'ın başlangıçta renkli ile başlamış olmasına rağmen. Yine de, insanlara ulaşmak istiyoruz ve eğer rengi yaklaşık aynı fiyata sunabilseydik, bu harika olurdu*
FatBits, MacPaint'in en cazip yeteneklerinden biridir. Nasıl ortaya çıktı?
© FatBits'i çözmem biraz zaman aldı. İlk başta sadece Kalem'in (Pencil) FatBits'te çalışmasını niyetlemiştim—tek yapabileceğiniz tek piksellik noktalara tıklamaktı. En büyük atılım, tüm araçların "canlı" olabilmesi için FatBits'i nasıl tasarlayacağımı çözmekti —örneğin, FatBits'teyken bir daireyi nasıl esnetebileceğinizi. Bunun gerçekleştiği an gerçekten çok heyecanlandığımı hatırlıyorum..
FatBits ismi aklıma geldi çünkü akılda kalıcıydı. Bana Magnify (Büyüt) kelimesini kullanmam gerektiğini söyleyen pazarlama tiplerinden çok eleştiri aldım ve ben şöyle deyip durdum: "Yolda yürüyen bir çocuğun 'Vay be, Magnify! Magnify!' dediğini hayal edebiliyor musun?" FatBits akılda kalıcı ve bence tıpkı Goodies (Güzellikler) gibi biraz saygısız aynı damardan geliyor. Sanırım Lisa'nın o tutuculuğuna biraz tepki veriyordum. Lisa tasarımını yaptığımızda, kimsenin nasırına basmamak, muhafazakar bir iş adamını gücendirmemek için geriye doğru kırk takla atarak, her şey çok dikkatlice değerlendirilmişti. Ve ben bunun, programların kendi kişiliklerinden taviz verdiğini hissettim. Muhafazakar bir programın olması tamamdır ve biraz daha gösterişli olan bir tane olması da tamamdır, ama tutarlı bir his elde etmek için onları yaparken kendi hislerine sadık olmalısın. Eminim Goodies kelimesinden gücenen insanlar vardır ve FatBits kelimesinden gücenen insanlar vardır, ama gücenen onca insana karşılık bunun harika olduğunu düşünen ve bundan keyif alan insanlar da vardır. Sadece kendi zevkime sadık kalmak zorundaydım. Ben FatBits kelimesini seviyorum.
Hem Lisa hem de Macintosh için kullanıcı arayüzlerinin baş tasarımcısı olarak, bu deneyimleri nasıl karşılaştırırsın?
Lisa'da masaüstünde paletlerle çalışmayı kabul ettiremezdik, çünkü bu Lisa paradigmasında yoktu—her şeye karar vermek için bir komitenin karşısına çıkman gerekiyordu. Ama Apple ile MacPaint konusunda yaptığım anlaşma şuydu: Elimden gelenin mutlak en iyisini yapacaktım, ancak buna karşılık olarak da her kararda mutlak söz hakkına ben sahip olacaktım. İnsanları dinlerdim, fikir alırdım ve onu kullanan kişilerden çok sayıda geri bildirim toplardım, ama nihayetinde her satır kodu ben yazdım ve her kararı kendi en iyi yargıma göre verdim. Ben mükemmel değilim, ama en azından tek bir kişinin hissiyatına sahip ve bence bu, herhangi bir katı kural setine uymaktan çok daha önemli. Piyasada böylesine büyük bir başarı elde ettiği için, bir dahaki sefere bana daha da fazla özgürlük verecekler. Bir programcının bundan daha fazlasını isteyebileceğini sanmıyorum. ^
(Bu metin, 1985'te Microsoft Press tarafından yayımlanan Inside MacPaint kitabından Jeffrey Young ile yapılmış bir Bill Atkinson röportajının parçasıdır. Orijinaldeki yazım hataları ve kesikler olduğu gibi bırakıldı.)