Kada bag postane feature

Inovacije 20. sep. 2022

Dobar deo svog radnog vremena developeri provedu otklanjajući različite probleme i greške.

Bagovi su deo svakodnevnice, koji nastaju kao deo razvoja softvera, a neretko greška koja se dogodi u jednom procesu, ne mora nužno predstavljati nešto loše i po drugi.

Tako ako pogledamo unazad, mnogi bagovi u razvoju softvera i IT sferi, postali su sjajni feature-i koji su danas gotovo svakodnevna rutina i funkcije koje koriste milioni korisnika.

Ovde ćemo predstaviti neke od najpoznatijih primera. Za neke od njih verovatno nikada ne bi pomislio da su nastali slučajno.

Google Undo

Koliko puta si poslao mejl pa se ipak predomislio, ili je otišao na pogrešnu adresu, a spasao te Google-ov Undo?

Da li znaš da je ova funkcija zapravo nastala greškom?!

Gmail-u je potrebno 5 sekundi da obradi e-mail što je posledica kašnjenja od 5 sekundi prilikom obrade elektronske poruke. Programeri, koji su radili na Gmail-u, pretvorili su ovu omašku u funkciju, koja jednostavno, a vrlo praktično, omogućava korisnicima da zaustave e-poštu pre nego ona bude zaista poslata.

CTRL+ALT+DEL

Ctrl+Alt+Delete je izum Dejvida Bredlija, programera koji je radio na prvom IBM personalnom računaru. Jedna od nevolja tima programera tada, bila je to što su, kad god bi računar naišao na grešku u kodiranju, morali ručno ponovo da pokrenu ceo sistem.

Tako je Bredli napravio prečicu na tastaturi, koja je pokrenula resetovanje sistema bez testova memorije koji su oduzimali vreme i frustrirali programere. Za to mu je bilo potrebno svega 5 minuta, bez namere da ikada postane deo korisničkog iskustva. Kombinacija ctrl+alt+del odabrana je po rasporedu na tastaturi jer je izgledalo malo verovatno da će sva tri biti slučajno pritisnuta u isto vreme.

Danas često tipkamo ovu prečicu na tastaturi da ažuriramo aplikaciju koja ne reaguje, ponovo pokrenemo računar i sl. Iako nastala početkom 80-ih postala je istaknutije vidljiva međutim, tek deceniju kasnije, kada je Windows uzeo maha.

Skriveni fajlovi na Linux-u

U Linux-u i Unix-u možeš lako sakriti fajl, tako što ćeš jednostavno dodati tačku ispred imena fajla. Ovo ipak nije bila prvobitna namera već je imalo veze sa lakšom navigacijom kada su stvoreni prvi sistemi datoteka na Unix-u.

U svaki direktorijum je dodat jedan fajl sa tačkom (.) i fajl sa dvostrukom tačkom (..) da bi se lako pomerio u strukturi direktorijuma. Pošto ove datoteke nisu imale prave podatke u sebi, brzi hack je dodat u ls binarnu datoteku, a podrazumevao je proveru prvog znaka - ako je to bila tačka, treba je zanemariti. I funkcionisalo je.

Danas ako kreiraš datoteku koja počinje tačkom, ona će postati datoteka na disku koja se podrazumevano ne prikazuje, što svakako, kako vidimo, nije bila prvobitna zamisao.

C++ Template-i

Template-i su specifična karakteristika C++-a, koja je omogućila važan razvoj generičkog programiranja (npr. STL biblioteka), a kreirana je zapravo greškom u procesu standardizacije. Ova funkcija je trebalo da bude daleko manje moćna i interesantna, ali promene teksta jezičkog standarda u poslednjem trenutku dovele su do drugačijeg efekta.

Editovanje MySpace profila

Svi koji smo odrastali 90-ih znamo za popularnost MySpace-a. A da li znaš i da je mogućnost uređivanja MySpace profila zapravo bila greška?

Uređivanje HTML-a i CSS-a donelo je ogromnu popularnost ovoj platformi u odnosu na druge konkurente. Još jedan primer kako se omaška pretvori u snagu.

Šahovska martija velemajstora i računara

Neobična šahovska partija odgirana je 1997. godine, a u istoriju je ušla zahvaljujući jednoj grešci u programu.

Oponenti ovog istorijskog susreta bili su Garry Kasparov, poznati šahovski velemajstor i drugi neobičniji protivnik - Deep Blue, IBM računar. Kada je Deep Blue pobedio u finalnom meču, Kasparov je odbio da poveruje, smatrajući da je igranje Deep Blue-a previše nalik “ljudskom”. Onima koji su više verovali u moć tehnologije, činilo se da je veštačka inteligencija došla do tačke u kojoj može da nadmudri čoveka u igri koja se dugo smatrala previše složenom za mašinu.

Petnaest godina kasnije, međutim, jedan od kreatora Deep Blue-a rekao je da je ključni potez koji je zadao završni udarac Kasparovu, bio rezultat greške u softveru Deep Blue-a i da se navodno sve dogodilo u trenutku kada računar više nije znao šta dalje.

Super Mario Bros

Ako si ljubitelj video igrica, onda će ti posebno biti zanimljivo da su neki od poteza u njima zapravo nastali kao posledica greške.

Super Mario si igrao sigurno bar jednom, a jedno od pravila kojeg se verovatno sećaš, je da kada Mario glavom udari blokove, zaradiš dodatne novčiće.

Naizgled vrlo simpatično, ovo nikada zapravo nije bilo planirano. Nastalo je kao greška koju su programeri ispravili, a nakon što su dizajneri videli da dodaje nešto igri, odlučili su da ponovo vrate ovu funkciju.

Mortal Kombat

I ERMAC lik iz Mortal Kombat-a je posledica omaške. Originalna igra napisana je u makrou kako bi uhvatila greške kodiranja poznate i kao “eror macro”. Svaki put kada bi došlo do greške tokom igre tako, prikazao bi se tekst "ermac", što je pokrenulo i priče o uvođenju novog lika.

ERMAC je kao novi lik potom, predstavljen u Ultimate Mortal Kombat 3, iako zapravo nikad nije bio planiran.

Bagovi pretvoreni u feature-e deo su još mnogih video igrica, od Minecrafta do Lare Croft, o čemu više možeš pročitati OVDE.

Ako te ova tema zainteresovala, veliki broj diskusija možeš pronaći i na forumima poput Quora-e.

Da li se i tebi nekada dogodilo da napraviš grešku koja je postala feature? Ako te zanimaju i iskustva drugih developera ili želiš da čuješ šta tvoje kolege generalno misle o ovoj temi, možeš to učiniti već odmah pokretanjem diskusije na Joberty zajednici.

Tagovi

Tvoja prijava je uspešno sačuvana!
Odlično! Da bi imao pristup kompletnom sadržaju bloga potrebno je da završiš proces plaćanja.
Tvoja prijava je uspešna!
Tvoj nalog je aktiviran, sada imaš pristup kompletnom sadržaju bloga.