glock63 âñå çàïèñè àâòîðà
Èíòåðâüþ äëÿ æóðíàëà "Êîìïüþòåððà" Àëåêñà Ìîãèëåâñêîãî, àðõèòåêòîðà ïîñëåäíåé âåðñèè Internet Explorer è îäíîãî èç ÷ëåíîâ CSS Working Group.
Àëåêñ, òû âåäü ðîäèëñÿ â Ðîññèè?
- Äà, äî 1993 ãîäà ÿ æèë â Ðîññèè. Ó÷èëñÿ íà ôèçè÷åñêîì ôàêóëüòåòå Íîâîñèáèðñêîãî Ãîñóäàðñòâåííîãî óíèâåðñèòåòà; ñïåöèàëüíîñòü - àâòîìàòèçàöèÿ ôèçèêî-òåõíè÷åñêèõ èññëåäîâàíèé - îäíà èç ïåðâûõ â ñòðàíå, íàïðÿìóþ ñâÿçàííàÿ ñ âû÷èñëèòåëüíîé òåõíèêîé. Ðàáîòàë â Èíñòèòóòå àâòîìàòèêè, ïîçäíåå - â ìîñêîâñêîé êîìïàíèè Paragraph International, êîòîðàÿ çàíèìàëàñü ñèñòåìàìè ðàñïîçíàâàíèÿ ðóêîïèñíîãî òåêñòà.  1993-ì ìåíÿ ïðèãëàñèëè â Microsoft íà ñîáåñåäîâàíèå, à çàòåì è íà ðàáîòó â êîðïîðàöèþ.
Ñ ÷åãî íà÷àëàñü òâîÿ ðàáîòà?
- Ñ Microsoft Word for Windows øåñòîé âåðñèè. Òîãäà ÿ íå î÷åíü õîðîøî ïîíèìàë àðõèòåêòóðó ýòîãî ïðîãðàììíîãî îáåñïå÷åíèÿ, òàê ÷òî ìíîãîìó ó÷èëñÿ ïî õîäó äåëà. Ðåçóëüòàòîì ìîåé ðàáîòû íàä ïðîåêòîì ñòàëà âñåì èçâåñòíàÿ "êðàñíàÿ âîëíèñòàÿ ëèíèÿ", êîòîðàÿ ïîä÷åðêèâàåò ñîìíèòåëüíûå ìåñòà.
Êàê òû ïðèøåë â ðàçðàáîòêó IE?
- Ýòî äîâîëüíî äëèííàÿ èñòîðèÿ. Êàê ðàç ïîñëå Word 6 ÿ çàíèìàëñÿ ïðîåêòîì, êîòîðûé ñåé÷àñ íàçûâàåòñÿ InfoPath, ðàíåå - NetDocs, à åùå ðàíüøå - New Internet Application. Ïëàòôîðìîé äëÿ åãî ðàçðàáîòêè ñëóæèë Internet Explorer 4, êîòîðûé õî÷åøü íå õî÷åøü, à ïðèøëîñü èçó÷èòü.
×òî ïðèâåëî ê ñîçäàíèþ áîëåå ïîçäíèõ âåðñèé áðàóçåðà?
- Ðàçâèòèå Èíòåðíåòà, ïîÿâëåíèå íîâûõ ñòàíäàðòîâ, ïîòðåáíîñòü â íîâûõ âîçìîæíîñòÿõ... äà ìíîãî ÷åãî.
×åì îáúÿñíÿåòñÿ äîëãèé ïÿòèëåòíèé ïåðåðûâ ìåæäó øåñòîé è ñåäüìîé âåðñèÿìè Internet Explorer?
- Ìû ñäåëàëè IE5.5 è IE6, èìè íà òîò ìîìåíò ïîëüçîâàëîñü 95% âëàäåëüöåâ ÏÊ - íè î êàêîì ñòðåìèòåëüíîì ïðîãðåññå â ðàçðàáîòêå ìîæíî áûëî è íå ìå÷òàòü. Â ýòîì äåëå, êàê ìíå êàæåòñÿ, ãëàâíîå - êîíêóðåíöèÿ, à åå íå áûëî.
Ñåé÷àñ îíà ïîÿâèëàñü?
- ß ñ÷èòàþ, äà. Ïîñëå âûõîäà IE6 ìû ðåøèëè ñäåëàòü íåáîëüøóþ ïàóçó â ðàçðàáîòêå, ÷òîáû ëþäè ïîñìîòðåëè íà äðóãèå ïðîäóêòû è ïîíÿëè, ÷òî îíè õîòåëè áû èìåòü â ðàñïîðÿæåíèè. Ñåé÷àñ îáñòàíîâêà ñòàáèëèçèðóåòñÿ, è ó âñåõ åñòü ñòèìóë äëÿ ðàçâèòèÿ. Î÷åíü ïëîõî, êîãäà êîìó-òî îäíîìó ïðèíàäëåæèò ïîäàâëÿþùàÿ ÷àñòü ðûíêà - ïîêàçàòåëè äîëæíû êîëåáàòüñÿ íà óðîâíå 30–60% ó êàæäîãî ïðîäóêòà: âñå, ÷òî áîëüøå øåñòèäåñÿòè, ïðèâîäèò ê îñòàíîâêå ðàçâèòèÿ; åñëè ìåíüøå òðèäöàòè - ïðîïàäàåò èíòåðåñ.
Òî åñòü âû ïîìîæåòå Firefox è Opera íàáðàòü õîòÿ áû ïî 30%?
- (Óëûáàåòñÿ.) Íó ÷òî çíà÷èò "ïîìîæåòå"? Ãëàâíîå, ÷òî ìû èì íå ïðåïÿòñòâóåì. Ìû ñ óâàæåíèåì îòíîñèìñÿ ê íàøèì êîíêóðåíòàì è ê òîìó, ÷òî îíè äåëàþò.
À ïî÷åìó íà Firefox ïåðåøëî òàê ìíîãî ëþäåé?
- Åñëè áû ìû íå âçÿëè ïàóçó, Firefox áûëî áû ãîðàçäî òðóäíåå ñäåëàòü "ïðîðûâ". Íó è êîíå÷íî, íåëüçÿ îòðèöàòü, ÷òî â Firefox åñòü ðÿä âîçìîæíîñòåé, êîòîðûå ïðèøëèñü ïî íðàâó ìíîãèì.  ÷àñòíîñòè, îáèëèå äîïîëíåíèé (add-on), êîòîðûìè ïîëüçóþòñÿ ðàçðàáîò÷èêè.
Àëåêñó 43 ãîäà, îí æåíàò, èìååò äâîèõ äåòåé è íå ïðåäñòàâëÿåò ñâîþ æèçíü áåç ðàçðàáîòêè ñëîæíûõ ïðîåêòîâ. Íà âîïðîñ "×åì áû çàíèìàëñÿ, óéäÿ èç êîðïîðàöèè?" îòâå÷àåò òâåðäî - äåëàë áû ïðîåêòû, ïðèíöèï ðåàëèçàöèè êîòîðûõ íå ïðåäñòàâëÿåò íèêòî
Ó ïîñëåäóþùèõ âåðñèé IE áóäóò àíàëîãè÷íûå âîçìîæíîñòè?
- Ñìîòðÿ î êàêèõ âîçìîæíîñòÿõ èäåò ðå÷ü; êîå-÷òî ìû óæå ñäåëàëè. Âî-ïåðâûõ, ÿäðî IE8 ñîçäàíî ñ êíèãîé ñòàíäàðòîâ â ðóêàõ.  íåì åñòü ìîùíûé âñòðîåííûé îòëàä÷èê HTML, CSS è JavaScript, ïåðåðàáîòàí èíòåðôåéñ, äîáàâëåíû ïîëåçíûå Activities è WebSlices. Íî î âîçìîæíîñòÿõ, àíàëîãè÷íûõ ïî àðõèòåêòóðå äîïîëíåíèÿì Firefox, ïîêà ãîâîðèòü ðàíî - ñåé÷àñ ãëàâíûì êðèòåðèåì ìû ñ÷èòàåì áåçîïàñíîñòü.
Êàêèå ó òåáÿ ïëàíû îòíîñèòåëüíî IE?
- Íåò íè÷åãî èíòåðåñíåå, ÷åì ïèñàòü ñåðüåçíûé ñîôò ñ íóëÿ. ß äóìàþ, ÷òî ó IE áîëüøîå áóäóùåå, îñîáåííî â óñëîâèÿõ, ñïîñîáñòâóþùèõ ðàçâèòèþ ïðîãðàììíûõ ïðîäóêòîâ. Íàïðèìåð, â áëèæàéøèå íåñêîëüêî ìåñÿöåâ ÿ âèæó ñâîþ ðàáîòó â îïòèìèçàöèè ïðîèçâîäèòåëüíîñòè, ñîâìåñòèìîñòè è îòëàäêå. IE8, ïðåçåíòàöèþ êîòîðîãî ÿ ïðîâåë â Ðîññèè, - õîðîøèé ïðîäóêò, íî ýòî ïîêà ëèøü áåòà: â íåé íå âñå åùå ðàáîòàåò, è ìíîãîå òîëüêî ïðåäñòîèò ðåàëèçîâàòü.
Ìíîãèõ ðàçðàáîò÷èêîâ âîëíóåò ïîëíàÿ ïîääåðæêà âñåõ ñóùåñòâóþùèõ è áóäóùèõ ñòàíäàðòîâ. Êàê ÿ ïîíèìàþ, IE8 åå îáåñïå÷èò?
- IE8 ïîääåðæèâàåò ñòàíäàðòû íàñòîëüêî, íàñêîëüêî âîçìîæíî. Ìû âíèìàòåëüíî èçó÷èëè âñå ñïåöèôèêàöèè è ïî âñåì âîçíèêøèì âîïðîñàì ñîâåòîâàëèñü ñ íàøèìè êîíêóðåíòàìè. Îäíàêî ñòàíäàðòû íå ñîâåðøåííû - â íèõ åñòü "óçêèå ìåñòà", è ìû èõ ó÷èòûâàåì. Åñòü ÷åòêèå ïðàâèëà, îïðåäåëÿþùèå òî, êàê áðàóçåð äîëæåí îáðàáàòûâàòü ñòðàíèöû, ñäåëàííûå íå ïî ñòàíäàðòàì. Åñòü ìíîæåñòâî ïðèìåðîâ ïëîõèõ, íåêðàñèâûõ ñàéòîâ, íî ñäåëàííûõ â ñîîòâåòñòâèè ñî ñòàíäàðòîì.  òî æå âðåìÿ åñòü êðàñèâûå è óäîáíûå ñàéòû, ðàáîòàþùèå âî âñåõ áðàóçåðàõ, íî êîòîðûå íå ïðîéäóò ïðîâåðêó âàëèäàòîðîì. ß îáùàëñÿ ñ Ñåðãååì ×èêóåíêîì - òåõíè÷åñêèì äèðåêòîðîì Ñòóäèè Àðòåìèÿ Ëåáåäåâà, ìû ïðèøëè ê îáùåìó ìíåíèþ, ÷òî ëó÷øèé âàëèäàòîð - áðàóçåð.
À ÷òî áóäåò ñ ñàéòàìè, íàïèñàííûìè ïîä áîëåå ðàííèå âåðñèè áðàóçåðîâ?
-  IE8 ñàéòû, ñäåëàííûå äëÿ IE6 è IE7, ïðè îáðàáîòêå "ïî ñòàíäàðòàì" äåéñòâèòåëüíî ìîãóò âûãëÿäåòü ïî-ðàçíîìó. Åñëè ïðè îòîáðàæåíèè ñàéòà, ñäåëàííîãî äëÿ ðàííèõ âåðñèé, â IE8 âîçíèêàþò ïðîáëåìû (êàê ïðàâèëî, ýòî îáóñëîâëåíî èñïîëüçîâàíèåì "õàêîâ"), òî ðàçðàáîò÷èê ìîæåò èñïîëüçîâàòü ìåòàòåãè: ïðè îáðàáîòêå òàêîãî ñàéòà áðàóçåð âêëþ÷èò ðåæèì ñîâìåñòèìîñòè, íàïðèìåð, ñ IE7.
ß ñëûøàë, ÷òî òû èìååøü íåïîñðåäñòâåííîå îòíîøåíèå ê ñòàíäàðòó CSS.
- Äà, ÿ ÷óòü áîëüøå ãîäà âõîæó â CSS Working Group.  íåå æå âõîäÿò ðàçðàáîò÷èêè âñåõ ñóùåñòâóþùèõ áðàóçåðîâ - ïî íåñêîëüêî ÷åëîâåê. ß îäèí èç òåõ, êòî ïðåäñòàâëÿåò IE. Ðàçâèòèå CSS îïðåäåëÿåòñÿ â îñíîâíîì ïîòðåáíîñòÿìè ðàçðàáîò÷èêîâ: äåëåíèåì íà ïðåäñòàâëåíèå è ñîäåðæàíèå, îïòèìèçàöèþ êîäà, ñîçäàíèå íîâûõ âîçìîæíîñòåé.
Åñòü CSS 2.1 è ÷òî-òî ñëûøíî ïðî CSS 3. Ðàññêàæè, ïîæàëóéñòà, îá ýòîì ïîäðîáíåå.
- Ìû îæèäàåì, ÷òî CSS 2.1 ñòàíåò ñòàíäàðòîì â áëèæàéøèå ãîä-ïîëòîðà. Íî äëÿ ýòîãî åùå íóæíî ìíîãîå ñäåëàòü.  ÷àñòíîñòè, íóæíû òåñòû íà ñîâìåñòèìîñòü (èõ áóäåò îêîëî ïÿòè òûñÿ÷), ÷åðåç êîòîðûå äîëæíû ïðîéòè áðàóçåðû. ×òî êàñàåòñÿ CSS 3, ýòî íàáîð èäåé, êîòîðûå õîòåëîñü áû ðàíî èëè ïîçäíî ðåàëèçîâàòü, íî â ñòàíäàðò 2.1 îíè óæå íå ïîïàäóò.
Òû ñëûøàë î æåëàíèè ðÿäà ðîññèéñêèõ êîìïàíèé-ðàçðàáîò÷èêîâ èìåòü âîçìîæíîñòè äëÿ ðàññòàíîâêè ïåðåíîñîâ â òåêñòàõ? Êîãäà ýòî áóäåò ðåàëèçîâàíî â IE?
- Òðóäíî ñêàçàòü, êàê ñêîðî ýòî ñìîæåò äåëàòü IE. Íàøèì áðàóçåðîì ïîëüçóþòñÿ ïÿòüñîò ìèëëèîíîâ ÷åëîâåê ïî âñåìó ìèðó - âñå îíè èñïîëüçóþò ðàçíûå ÿçûêè. ×òîáû ïîääåðæèâàòü äëÿ âñåõ ÿçûêîâ ôóíêöèè ïåðåíîñà, íóæíî ñîáðàòü âñå ñëîâàðè, íàïèñàòü àëãîðèòìû... ýòî âåñüìà ñëîæíàÿ çàäà÷à, êîòîðàÿ, íå ñîìíåâàþñü, áóäåò ðåøåíà, íî ñî âðåìåíåì.
Áóäóò ëè êàêèå-òî êàðäèíàëüíûå èçìåíåíèÿ â ïîëüçîâàòåëüñêîì èíòåðôåéñå, âîçìîæíîñòÿõ äëÿ ðàáîòû ñ ãðàôèêîé è àíèìàöèåé?
- Â IE8 ïî÷òè âñå ñèëû óøëè íà ïåðåïèñûâàíèå ÿäðà áðàóçåðà, ïîýòîìó ðàáîòó ñ ãðàôèêîé (SVG) è àíèìàöèåé ìû îòëîæèëè äî áîëåå ïîçäíèõ ðåëèçîâ.
Êîãäà âûéäåò îêîí÷àòåëüíàÿ âåðñèÿ áðàóçåðà?
- Ó íàñ åñòü àìáèöèîçíûå ïëàíû çàâåðøèòü ðàçðàáîòêó IE ãîðàçäî ðàíüøå, ÷åì ÷åðåç ïÿòü ëåò (ñìååòñÿ). Ñêàçàòü áîëåå îïðåäåëåííî ÿ ïîêà íå ìîãó.