Evdeki hesap...
01 Aralık 2007, 18.32 A- A+
Bilgisayarla lise yıllarında tanıştım. C64, daha sonra Amiga 500, sonra da 386DX-40 işlemcili bir PC. O zamandam bu zamana bir suru desktop pc ve laptop... Şimdi ise 3.4Ghz'e overclock edilmiş bir Q6600. Ortak özellikleri, hepsinde uygulama geliştirmiş olmam.
Yazılım geliştirmek bana ilk dakikadan itibaren sihirli bir şey gibi gelmişti. Bir şeyler yazıyorsun ve o gizemli makinaya hükmediyorsun. O yıllarda millet oyun oynarken bilgisayarlarında, ben kafayı programcılıkla bozmuştum bile :).
İlk yıllarda genelde, kendin pişir kendin ye usulü, yazdığım programları sadece kendim kullanıyordum. Master yıllarında, ya tamam bir şeyler öğrendik ama öğrendiklerimi biraz da paylaşayım deyip, BYTE dergisinde köşe yazarlığı dahi yapmıştım :) Üstüne üç beş kuruş da verdiler tabi :) Keşke o dergileri saklasaydım.
Zamanla işin içerisine daha da girdik. Yazdığım programlar onlarca, derken yüzlerce derken binlerce noktada bir sürü farklı insan tarafından kullanılmaya başlandı. Ama heralde en çok noktada kullanılan GamYun.Net :) Çünkü 100binlerce pc tarafından yüklenilip kullanıldı.
Yazılımcı olarak uygulamayı dizayn ederken, kullananları, nasıl bir ortamda çalışacağını da düşünürüz aslında. Ama buna rağmen, eğer O sektörde yeni iseniz, dört dörtlük hatta mükemmel ötesi dizayn ettiğiniz sisteminizin ilk günkü çalışmasını görmelisiniz. Tüm olabilecekleri tahmin ettiğinizi düşünüyorsanız yanılıyorsunuz, çünkü ilk gün olanlar bile sizin olabileceklerin çeyreğini dahi düşünemediğinizi, sizinle dalga geçer gibi yüzünüze vurur :). Örneklerle anlatayım:
Zamanında, bir yazar kasa yazılımı yazdım, şu süpermarket'lerde kullanılandan. Muhtemelen bir çoğunuz o programdan alış veriş yapmışsınızdır. İlk gün, mağazayı açtık. Kalabalık. Kasalarda kuyruklar. Bir çocuk almış bir sürü şey gelmiş yazarkasaya. Hepsini kasiyer geçirdi, şu kadar dedi. Çocuk "İyi de benim o kadar param yok" deyince kasiyerle bir bakıştık. Ben de "Kolay, iptal edelim bir kaç ürün" dedim. Ama bir denedim, yetki yok. Fişi iptal edelim, ona da yetki yok. Yetki tanımlayalım, sunucu kapalı kapılar ardında. Kilitlendik kaldık. Kasadaki sıra ise uzadıkça uzuyor. Yapacak tek şey var, kasiyere dönüp "Kaç lira eksik" dedim, cepten eksiği tamamlayıp cocuğu uğurladım :).
GamYun'un daha ilk günleri, salonda konuşmak serbest. Yönetici denen bir kavram yok, zaten ne gerek olur ki yöneticiye. Herkes gelir güzel güzel oynar, muhabbetini eder çıkar gider. Böyle dizayn ettik. Başka ne olabilirdi ki. Açtık siteyi, oyunlar oynanıyor, millet sohbet ediyor herşey ne güzel derken salondaki yazılardan bazıları dikkatimi çekti. Birileri küfür ediyor. Böyle bir şey olacağını düşünmediğimizden tedbir de almamıştık, sadece bakmakla yetindik, sonunda da siteyi, yönetici mevzusunu ekleyene kadar geçici bir süre kapattık :)
Aslında böyle çok olay var, ama son olarak cep abonelikten örnek vereyim. SMS sektörüne de yakın daldık. Yine biraz fazla ideal düşünmüşüz herşeyi. Örneğin, cep abonelikte dedik ki ABONE RUMUZ ŞİFRE yazıldığında şöyle bir yöntem izleyelim:
Eğer RUMUZ ve ŞİFRE ile belirtilen kullanıcı zaten GamYun.Net üyesi ise onu abone yapalım
Eğer RUMUZ ve ŞİFRE ile belirtilen kullanıcı yoksa bu rumuz ve şifre ile yeni bir üyelik açıp onu abone yapalım
Eğer sadece RUMUZ girilmişse şifreyi bizim belirlediğimiz bir üyelik açıp onu abone yapalım
Eğer ne RUMUZ ne de ŞİFRE girilmemişse her ikisini de bizim belirlediğimiz bir üyelik açıp onu abone yapalım
Görüldüğü üzere oldukça kolay. Fakat sistemi bir çalıştırdık ve düşündüğümüz dışında her şekilde çalıştı :). Nasıl mı? Örneğin, üye olan bir kişi RUMUZ ve ŞİFRE'sini yazdı, kendi üyeliğini abone yapmak için. Fakat bir karakterini hatalı yazdı, ona yeni bir üyelik açıp onu abone yaptık :). Kimi şifresini yazmadı, yeni bir üyelik açıldı. Baktık olacak gibi değil, ÜYE RUMUZ ŞİFRE diye bir şey yapalım ve mevcut üyeler kullansın, eğer yanlış yazılma sonucu üyeliği bulamazsak gidip yeni bir tane açmayalım dedik. Biraz işe yaradı ama yine çözüm olmadı. 4 madde de olsa kurallar komplike demek ki dedik 2 maddeye indirdik.
Eğer RUMUZ ve/veya ŞİFRE ile belirtilen kullanıcı zaten GamYun.Net üyesi ise onu abone yapalım değilse hata mesajı verelim
Eğer ne RUMUZ ne de ŞİFRE girilmemişse her ikisini de bizim belirlediğimiz bir üyelik açıp onu abone yapalım
Böylece, bir kişi rumuz ya da şifre girmiş ise, mutlaka mevcut GamYun.Net üyesi kabul ediyoruz, bulamazsak da hata dönüyoruz, kullanıcı tekrar deniyor. Ama GamYun'la hiç alakası olmayan birisi ise sadece ABONE yazıp yeni bir üyelik açabilir ve RUMUZ ile de rumuzunu değiştirip kullanabilir dedik. Dedik ama hala mağdur olanlar var. Bundan öte düzgün bir sistem nasıl yapılır ki! Şu akışa bir bakar mısınız?
Üye abone olmak için ABONE RUMUZ ŞİFRE şeklinde ya da buna yakın bir mesaj atıyor ama yanlış yazdığı için ona şu şekilde bir dönüş yapıyoruz. Uyelik bilgileriniz bulunamadi!Lutfen rumuz ve sifrenizi kontrol edip tekrar deneyiniz. GamYun.Net uyesi degilseniz sadece ABONE yazip 2SMSKNTRe 2899a yollayiniz. Bu mesajı alan kullanıcı, zaten GamYun.Net'e üye olduğu halde sadece ABONE şeklinde mesaj yazıp atıyor. Hadi bunu attın, dönüşünde 'Rumuz:Ali/veli. Cep abonelik.... EVET yazıp ...' şeklinde yolladığımız mesajdaki ne rumuz ne şifre kendisininki ile tutmamasına rağmen buna da EVET yazıp yolluyor ve nur topu gibi yeni bir üyeliği oluyor. Sonra da, "Cep abone oldum ama dolu salonlara giremiyorum" diye bir sürü şikayet.
Bu sektörde de anladım ki, mesajlar olabildiğince basit olmalı. Maalesef, GamYun.Net'in SMS mesajları rumuz ve şifre çifti nedeni ile en az iki parametreli, hatta RUMUZ değiştirme 3 parametreli. Ama bizi şaşırtanlar da oluyor. Örneğin, RUMUZ değiştirirken 4. parametre şifre girenler de var, muhtemelen rumuz ve şifreyi aynı anda değiştirebileceğini düşündüğünden atıyor (Bu kişiler yazılımcı olabilir :) ). Biz o 4. parametreyi yok sayıyoruz çünkü bir de şifreyi değiştirsek 4 parametreli bir SMS komutu heralde ortalığı çorbaya çevirirdi.
Fakat ne kadar kolaylaştırırsanız kolaylaştırın, insanlar nasıl bu kadar farklı mesajlar atabiliyor ben de anlamıyorum. Örneğin Kanal 24'ün haber paketini yapıyoruz. Operatörlerin de artık standartlaştırmaya çalıştığı bir yapı. ABONE PAKET şeklinde bir sistem. Kanal 24 için de ABONE 24 yazılması yeterli. Gelen mesajlar ise '24', '24 ABONE', 'YIRMIDORT'...
Son olarak iptal konusunda bocalayanlar var. Tüm cep aboneliklerinizi iptal etmek için IPTAL yazıp 2899a yollamanız yeterli. Yüzlerce varyasyon denemenize gerek yok :). Yok sadece bir tanesini iptal edeceğim diyorsanız, IPTAL RUMUZ şeklinde yazabilirsiniz. Hatta rumuzunuzu tam yazmanıza bile gerek yok. IPTAL S yazıp yollarsanız S ile başlayan rumuza sahip tüm abonelikleriniz iptal edilir.
Yazılım geliştirmek bana ilk dakikadan itibaren sihirli bir şey gibi gelmişti. Bir şeyler yazıyorsun ve o gizemli makinaya hükmediyorsun. O yıllarda millet oyun oynarken bilgisayarlarında, ben kafayı programcılıkla bozmuştum bile :).
İlk yıllarda genelde, kendin pişir kendin ye usulü, yazdığım programları sadece kendim kullanıyordum. Master yıllarında, ya tamam bir şeyler öğrendik ama öğrendiklerimi biraz da paylaşayım deyip, BYTE dergisinde köşe yazarlığı dahi yapmıştım :) Üstüne üç beş kuruş da verdiler tabi :) Keşke o dergileri saklasaydım.
Zamanla işin içerisine daha da girdik. Yazdığım programlar onlarca, derken yüzlerce derken binlerce noktada bir sürü farklı insan tarafından kullanılmaya başlandı. Ama heralde en çok noktada kullanılan GamYun.Net :) Çünkü 100binlerce pc tarafından yüklenilip kullanıldı.
Yazılımcı olarak uygulamayı dizayn ederken, kullananları, nasıl bir ortamda çalışacağını da düşünürüz aslında. Ama buna rağmen, eğer O sektörde yeni iseniz, dört dörtlük hatta mükemmel ötesi dizayn ettiğiniz sisteminizin ilk günkü çalışmasını görmelisiniz. Tüm olabilecekleri tahmin ettiğinizi düşünüyorsanız yanılıyorsunuz, çünkü ilk gün olanlar bile sizin olabileceklerin çeyreğini dahi düşünemediğinizi, sizinle dalga geçer gibi yüzünüze vurur :). Örneklerle anlatayım:
Zamanında, bir yazar kasa yazılımı yazdım, şu süpermarket'lerde kullanılandan. Muhtemelen bir çoğunuz o programdan alış veriş yapmışsınızdır. İlk gün, mağazayı açtık. Kalabalık. Kasalarda kuyruklar. Bir çocuk almış bir sürü şey gelmiş yazarkasaya. Hepsini kasiyer geçirdi, şu kadar dedi. Çocuk "İyi de benim o kadar param yok" deyince kasiyerle bir bakıştık. Ben de "Kolay, iptal edelim bir kaç ürün" dedim. Ama bir denedim, yetki yok. Fişi iptal edelim, ona da yetki yok. Yetki tanımlayalım, sunucu kapalı kapılar ardında. Kilitlendik kaldık. Kasadaki sıra ise uzadıkça uzuyor. Yapacak tek şey var, kasiyere dönüp "Kaç lira eksik" dedim, cepten eksiği tamamlayıp cocuğu uğurladım :).
GamYun'un daha ilk günleri, salonda konuşmak serbest. Yönetici denen bir kavram yok, zaten ne gerek olur ki yöneticiye. Herkes gelir güzel güzel oynar, muhabbetini eder çıkar gider. Böyle dizayn ettik. Başka ne olabilirdi ki. Açtık siteyi, oyunlar oynanıyor, millet sohbet ediyor herşey ne güzel derken salondaki yazılardan bazıları dikkatimi çekti. Birileri küfür ediyor. Böyle bir şey olacağını düşünmediğimizden tedbir de almamıştık, sadece bakmakla yetindik, sonunda da siteyi, yönetici mevzusunu ekleyene kadar geçici bir süre kapattık :)
Aslında böyle çok olay var, ama son olarak cep abonelikten örnek vereyim. SMS sektörüne de yakın daldık. Yine biraz fazla ideal düşünmüşüz herşeyi. Örneğin, cep abonelikte dedik ki ABONE RUMUZ ŞİFRE yazıldığında şöyle bir yöntem izleyelim:
Görüldüğü üzere oldukça kolay. Fakat sistemi bir çalıştırdık ve düşündüğümüz dışında her şekilde çalıştı :). Nasıl mı? Örneğin, üye olan bir kişi RUMUZ ve ŞİFRE'sini yazdı, kendi üyeliğini abone yapmak için. Fakat bir karakterini hatalı yazdı, ona yeni bir üyelik açıp onu abone yaptık :). Kimi şifresini yazmadı, yeni bir üyelik açıldı. Baktık olacak gibi değil, ÜYE RUMUZ ŞİFRE diye bir şey yapalım ve mevcut üyeler kullansın, eğer yanlış yazılma sonucu üyeliği bulamazsak gidip yeni bir tane açmayalım dedik. Biraz işe yaradı ama yine çözüm olmadı. 4 madde de olsa kurallar komplike demek ki dedik 2 maddeye indirdik.
Böylece, bir kişi rumuz ya da şifre girmiş ise, mutlaka mevcut GamYun.Net üyesi kabul ediyoruz, bulamazsak da hata dönüyoruz, kullanıcı tekrar deniyor. Ama GamYun'la hiç alakası olmayan birisi ise sadece ABONE yazıp yeni bir üyelik açabilir ve RUMUZ ile de rumuzunu değiştirip kullanabilir dedik. Dedik ama hala mağdur olanlar var. Bundan öte düzgün bir sistem nasıl yapılır ki! Şu akışa bir bakar mısınız?
Üye abone olmak için ABONE RUMUZ ŞİFRE şeklinde ya da buna yakın bir mesaj atıyor ama yanlış yazdığı için ona şu şekilde bir dönüş yapıyoruz. Uyelik bilgileriniz bulunamadi!Lutfen rumuz ve sifrenizi kontrol edip tekrar deneyiniz. GamYun.Net uyesi degilseniz sadece ABONE yazip 2SMSKNTRe 2899a yollayiniz. Bu mesajı alan kullanıcı, zaten GamYun.Net'e üye olduğu halde sadece ABONE şeklinde mesaj yazıp atıyor. Hadi bunu attın, dönüşünde 'Rumuz:Ali/veli. Cep abonelik.... EVET yazıp ...' şeklinde yolladığımız mesajdaki ne rumuz ne şifre kendisininki ile tutmamasına rağmen buna da EVET yazıp yolluyor ve nur topu gibi yeni bir üyeliği oluyor. Sonra da, "Cep abone oldum ama dolu salonlara giremiyorum" diye bir sürü şikayet.
Bu sektörde de anladım ki, mesajlar olabildiğince basit olmalı. Maalesef, GamYun.Net'in SMS mesajları rumuz ve şifre çifti nedeni ile en az iki parametreli, hatta RUMUZ değiştirme 3 parametreli. Ama bizi şaşırtanlar da oluyor. Örneğin, RUMUZ değiştirirken 4. parametre şifre girenler de var, muhtemelen rumuz ve şifreyi aynı anda değiştirebileceğini düşündüğünden atıyor (Bu kişiler yazılımcı olabilir :) ). Biz o 4. parametreyi yok sayıyoruz çünkü bir de şifreyi değiştirsek 4 parametreli bir SMS komutu heralde ortalığı çorbaya çevirirdi.
Fakat ne kadar kolaylaştırırsanız kolaylaştırın, insanlar nasıl bu kadar farklı mesajlar atabiliyor ben de anlamıyorum. Örneğin Kanal 24'ün haber paketini yapıyoruz. Operatörlerin de artık standartlaştırmaya çalıştığı bir yapı. ABONE PAKET şeklinde bir sistem. Kanal 24 için de ABONE 24 yazılması yeterli. Gelen mesajlar ise '24', '24 ABONE', 'YIRMIDORT'...
Son olarak iptal konusunda bocalayanlar var. Tüm cep aboneliklerinizi iptal etmek için IPTAL yazıp 2899a yollamanız yeterli. Yüzlerce varyasyon denemenize gerek yok :). Yok sadece bir tanesini iptal edeceğim diyorsanız, IPTAL RUMUZ şeklinde yazabilirsiniz. Hatta rumuzunuzu tam yazmanıza bile gerek yok. IPTAL S yazıp yollarsanız S ile başlayan rumuza sahip tüm abonelikleriniz iptal edilir.
YORUMLAR
üyeliği nasıl iptal ediyoruz
böyle bir imkanınız neden yok