Ze zákulisí vývoje Windows 7

13. 12. 2009

Sdílet

 Autor: Redakce

Hlavní postavou celého tohoto virtuálního setkání byl ředitel vývojářského týmu Windows 7 klient. Možná nevíte, že na této významné pozici je Čech, Aleš Holeček. Z titulu své funkce má velký podíl na tom, jak nový operační systém vypadá a funguje.

Live Meetingu se účastnili také další lidé z Microsoftu. Přímo z vývojového týmu Windows to byl také Vít Karas, který pracuje na podpoře XML.

Nejpodstatnější vylepšení Windows 7?

Rozhovor začal otázkou týkající se novinek Windows 7. Každý z nás má určité preference, co se mu na tomto systému líbí nejvíce. Jak říkal Aleš Holeček, velice záleží na úhlu pohledu. Hodnocení nejoblíbenější funkce Windows 7 je pro něj něčím podobným, jako si vybírat nejoblíbenější ze svých dětí. Každopádně jmenoval nárůst výkonnosti, vylepšené uživatelské prostředí a bootování ze souborů VHD.

Pro produktového manažera Windows 7 v České republice, Lukáše Křováka jsou zase nepostradatelným doplňkem jumplisty, tedy kontextové nabídky tlačítek v hlavním panelu. Ostatní zmínili další dobře známé vlastnosti Windows 7 - zarovnávání oken (Aero Snap), nové klávesové zkratky nebo Direct Access jako náhradu VPN.

Běžný den vývojáře Windows

Rozhovor se poté stočil na poněkud odlehčené téma. Zajímá vás, jak svůj den tráví vývojáři Windows? Odpověď se přímo nabízela - podobně jako jiní vývojáři. Pánové Karas i Holeček v podstatě zmínili, že způsob práce je dosti závislý na dvou věcech - na stavu vývoje systému a na vývojáři samotném, jeho věku, stavu, kultuře.

Vývojový tým Windows se v podstatě neúmyslně střídá ve dvou směnách. Zatímco ti mladší dávají přednost práci odpoledne, starší a s rodinou se snaží být v práci dříve, aby odpolední volný čas mohli trávit s rodinou.

V prvních fázích vývoje Windows tráví většinu času návrhem prototypů funkcí a programů, po jejich uvolnění pak komunikací s ostatními lidmi z týmu, se kterými řeší připomínky a úpravy.

Chcete se podílet na vývoji Windows?

Pokud byste rádi zanechali část svého kódu v nejpoužívanějším operačním systému, pak vězte, že to nemusí být až tak složité. Microsoft pravidelně zveřejňuje seznam volných pozic. Pokud máte za sebou nějakou praxi, rozumíte si s C++ v prostředí Windows a projdete výběrovým řízením (těžkým, ale dle slov obou vývojářů férovým), máte cestu otevřenou. Podle Aleše Holečka je kladen velký důraz také na osobnostní stránku uchazečů. Sóloví hráči se tu moc neuplatní, vývoj Windows je o týmové spolupráci a vzájemné komunikaci.

Jak vznikají nové vlastnosti Windows?

Pojďme se nyní podívat, jak vlastně vypadá proces, který stojí úplně na začátku vývoje nového systému. Hned po uvolnění Windows Vista započal Microsoft s průzkumem trhu. Zjišťoval, co by vylepšili vývojáři, softwaroví i hardwaroví partneři Microsoftů, ale samozřejmě také různé skupiny koncových uživatelů.

Na základě takto sesbíraných požadavků byl vytvořen plán pro novou funkcionalitu další verze Windows. Plán samozřejmě zohledňoval i chování Windows Vista na trhu. Po vytvoření párovacích témat a scénáře se začalo se samotným vývojem.

Určitě vás bude zajímat, že na jednoho vývojáře Windows připadá jeden tester. Všichni, kdo se vývoje nových Windows účastní, s nimi musí také pracovat. V průběhu vývoje tedy nová Windows používají na svých počítačích nejenom vývojáři a testeři, ale také všichni manažeři, kteří jsou součástí týmu okolo Windows.

Při úpravách funkcí a vlastností systému Microsoft intenzivně využívá analýzu chování vybraných uživatelů, kterým propůjčí počítač s tím, že pracovníci firmy pak buď osobně, nebo s využitím speciálního softwaru sledují chování uživatele u nového systému.

Teprve poté následuje uvolnění betaverze. Díky odkazu Send feedback, který měla okna ve Windows 7 v horní liště, přicházely do Microsoftu každých 15 sekund návrhy na vylepšení. Celkem se tak k Windows 7 sešlo zhruba 1,8 milionu připomínek.

Další zajímavá čísla spojená s betaverzí Windows 7 hovoří o 800 tisících zcela odlišných aplikacích nainstalovaných do systému uživateli betaverze a 95 tisíci periferních zařízení. Před vypuštěním finálního sestavení byly Windows 7 nainstalovány asi na sedmi milionech počítačů.

Co si počít s běžným uživatelem?

Podle toho, co zaznělo v Live Meetingu je Microsoftu jasné, že zpětné reakce z betaverze pocházejí především od technologických nadšenců, čímž je zpětná reakce do jisté míry ovlivněna. Snaží se to kompenzovat díky týmu výzkumníků. Ti se v průběhu vývoje Windows 7 sešli s asi čtyřmi tisícovkami uživatelů z různých oborů, s různými zkušenostmi i s různým postavením.

Proces sestavení Windows 7

Část rozhovoru se věnovala samotnému procesu vývoje, sestavování a kompilace Windows 7. V zásadě probíhá takto: Každá část vývojového týmu má nějaký dílčí úkol. V momentě, kdy si vývojáři myslí, že mají určitou část práce hotovu, musí nově vytvořený kód projít debuggrem, který odhalí první chyby. Následuje tzv. body testing, kdy se testeři zaměří na nové funkce a hledají chyby ve funkčnosti. Další fází je code review - odpovědní pracovníci pročítají vytvořený kód a analyzují, zda opravdu vykonává, co by měl.

Pokud nový kód projde výše uvedeným kolečkem, je odeslán do systému pro kontrolu zdrojového kódu, prochází plně automatizovanými testy a následně je vytvořeno nové sestavení Windows s již zabudovanou změnou. Ta se však nepromítne do hlavní vývojové větve, tak se stane až po dokončení většího celku ze strany vývojového týmu.

Do hlavní větve kódu Windows se úprava promítne až po projití tzv. kvalitativní branou, ve které se testuje vedle samotné funkce také výkonnost a hardwarová a softwarová kompatibilita. Zakomponovávání úprav do hlavní části kódu Windows se děje v době vývoje asi jednou za dva týdny, ve fázi stabilizace pak k tomu dochází zhruba jednou týdně. Upravená verze určená pro konkrétní vývojový tým je však s dílčími změnami k dispozici každé ráno a zahrnuje úpravy z předešlého dne.

Kompilace Windows 7

Kolik řádků kódu mají Windows 7 Aleš Holeček neprozradil. Ovšem, jak jsme se dozvěděli, samotná kompilace Windows 7 zabere na běžném vývojářském počítači zhruba 5 až 6 hodin pro 32bitovou verzi, v serializovaném procesu ihned následuje kompilace 64bitové podoby, která si vezme další zhruba 4 hodiny. Při kompilaci dochází k automatickému testování, ověřuje se platnost celého sestavení.

Proces kompilace může probíhat každých dvanáct hodin, tak aby vývojářské týmy měly každé ráno k dispozici úpravy z předešlého dne. Kompilace se samozřejmě neděje na počítačích jednotlivých vývojářů, ti mají k dispozici tzv. kompilační laboratoř s na to vyhrazenými stroji.

Jistě vás bude zajímat, že k sestavení Windows 7 se používá kompilátor z Visual Studia s několika drobnými úpravami. Kompilátor pro Windows 7 je pravidelně synchronizován s výsledky práce vývojářů tvořících Visual Studio.

Rozpoznávání řeči v českých Windows

Na závěr tohoto přepisu jsem si nechal informace týkající se podpory rozpoznávání hlasu v českých Windows. Jak jistě víte, od Visty tento operační systém dovede rozpoznávat hlasové příkazy. V české verzi však tato funkcionalita není standardně dostupná a to z jednoho prostého důvodu. Rozpoznávání češtiny má samozřejmě svá specifika, ale proč není v české verzi Windows alespoň podpora pro anglickou výslovnost?

Důvodem je provázanost této funkce na doplňky sloužící pro hendikepované uživatele. Podle vyjádření Aleše Holečka není testována kombinace anglického rozpoznávání hlasu s českou lokalizací nástrojů pro hendikepované uživatele. Z toho důvodu je podpora anglického rozpoznávání hlasu v českých Windows vypnuta.

ICTS24

Pokud však přesto toužíte podporu hlasového rozpoznávání aktivovat, můžete tak v českých Windows 7 Ultimate učinit po dodatečné instalaci anglického jazykového balíčku.

Celý Live Meeting byl nahráván a v dohledné době by se měl objevit na webových stránkách www.mstv.cz.