MiniMo - міні-браузер з сімейства Mozilla :: Журнал СА 11.2005

АНТОН БОРИСОВ   MiniMo - міні-браузер з сімейства Mozilla   Багатьом з вас доводилося працювати з програмними продуктами, в назві яких є слово Mozilla АНТОН БОРИСОВ

MiniMo - міні-браузер з сімейства Mozilla

Багатьом з вас доводилося працювати з програмними продуктами, в назві яких є слово Mozilla. В цьому році, мабуть, тільки ледачий не чув про браузер Mozilla FireFox. Однак головний герой сьогоднішньої розповіді - браузер MiniMo, родовід якого починається з браузера Mozilla. Деякі деталі його розробки та концепцію розвитку повідає Дуг Тернер (Doug Turner) - глава проекту.

Розкажіть, як ви опинилися в Netscape Communications Inc., про вашу роботу в цій компанії, її основні напрямки.

Я приєднався до команди Netscape в 1996 році, для роботи над клієнтом браузера під Mac-платформу. Спочатку було не дуже цікаво, але це була робота на кращу компанію, над кращим продуктом того часу. Роком пізніше я став працювати над речами набагато цікавіше: мережеве взаємодія, багатопоточність, xpcom, низькорівневі підсистеми і над більш складними проблемами. У певний момент комусь прийшла в голову божевільна ідея випустити вихідний код в публічний доступ. В Netscape Communications моїм шефом був Кріс Хофман. Він і зараз мій шеф в Mozilla Foundation. Настільки хороший, що у мене немає бажання мріяти про кращий.

Як би ви охарактеризували ідею випуску вихідного коду Netscape в публічний доступ? З точки зору того часу і з точки зору реалій сьогоднішнього дня.

Я не був упевнений спочатку, що це правильний напрямок, але одне ясно - від «божевільної ідеї» виграли мільйони. «Звільнення ящірки» в результаті вилилося в кращий код, стало більше інновацій, і, нарешті, війна браузерів вийшла на новий виток.

Скільки людей зайнято в проекті MiniMo і хто вам допомагає при розробці?

Що стосується створення проекту MiniMo, то його батьками є: Кріс Хофман, Дарін Фішер (Darin Fisher) і я. Це було кілька років тому. Дарін тепер працює в Google над іншими речами, а Кріс зайнятий створенням бізнес-зв'язків в Mozilla Foundation. Над MiniMo CE активно працюють 6 осіб, кожен у своєму напрямку. Ми також допомагаємо кільком фахівцям, що працюють над версією Linux MiniMo. У нас велика команда тестерів, людей, які придумують нові класні ідеї, і, звичайно ж, ми отримуємо віддачу від усього напрямки розвитку FireFox. Прямо зараз Марсіо Галле (Marcio Gallio) і я зайняті розробкою ядра MiniMo. Фігурально висловлюючись, ми стоїмо на плечах таких гігантів, як Джонні Стенбек (Johnny Stenback), Девід Барон (David Baron) і всіх тих співробітників, які рухають технологію Mozilla вперед, тому що MiniMo базується в першу чергу на коді Mozilla.

На яких апаратних платформах MiniMo може працювати сьогодні?

В основному це ARM і кілька x86-пристроїв. Існує кілька специфічних питань, але наш код дуже зручний в портировании. На більшості пристроїв, що поставляє HTC (тайванська компанія High Tech Computer Corporation [11], яка виробляє КПК і смартфони для I-Mate, HP, Orange, Dell і ін.), Наш код працює нормально.

Як вашій команді вдається тестувати MiniMo на всіх лінійках КПК, скажімо, і на родинах Windows Mobile і дистрибутивах Familiar Linux? Які віртуальні машини ви використовуєте?

Відмінний питання. Багато розробники інших браузерів для мобільних пристроїв використовують адаптовані додатки. Для нас це не актуально, тому що ми використовуємо ядро ​​від FireFox, тому якщо якась функція працює в FireFox, то вона буде працювати і в MiniMo.

Однак є такі опції, які відсутні в FireFox, наприклад, рендеринг для малих екранів (Small Screen Rendering). У мене є думка написати таке розширення для FireFox, щоб у користувачів ПК була можливість побачити, як сторінка відображається на пристроях з екраном 240x360. Ми компілюємо код на настільних ПК і копіюємо його на КПК. Потім тестуємо і робимо висновок про функціональність.

Що стосується запуску MiniMo на Opie, то тут потрібно переписати код під QT. Як ви знаєте, зараз Mozilla заснована на GTK-коді, тому закономірно, що і MiniMo залежить від GTK. Портування на QT-основу відбувається (див. http://dot.kde.org/1094924433 ). Як тільки воно завершиться, то з'явиться причина для перестроювання дерева MiniMo, щоб в подальшому випускати виконувані файли і в форматі MiniMo / QT.

Я спробував запустити MiniMo 0.07 в Windows CE 2002 (WinCE 3.0), однак всі спроби виявилися невдалими. У чому може бути проблема, в WinCE 3.0 або все-таки в MiniMo? Чи є плани випускати MiniMo у вигляді одного інсталятора, а не у вигляді архіву файлів?

Для використання в Windows CE 2002 потрібно перекомпіляція коду MiniMo з використанням SDK від WinCE 2002. Зараз ми сфокусовані в основному на Windows CE 2003 так що і для більш старої версії WinCE незабаром буде реліз. Що стосується інсталяторів, то для себе ми використовуємо як комерційні, так і власні інсталятори. Так що не хвилюйтеся - MiniMo буде випускатися і в якості єдиного файлу.

Для мене представляють інтерес російськомовні ресурси, тому я зайшов на mail.ru і звернув увагу на те, що браузер автоматично не розпізнає кодування.

Ми робимо досить широкі кроки вперед. Пропоную використовувати версію 0.08, бо багато проблем вирішуються з виходом кожної нової версії. Деякі питання, що виникають з перекодування, пов'язані з тим, як визначати встановлені на пристрої шрифти і як проводити перекодування з національних кодових сторінок в юнікод-уявлення. Сподіваюся, у версії 0.10 багато з них будуть вирішені.

Дійсно здорово усвідомлювати, що вихідний код для MiniMo і для Firefox майже один і той же. Однак в ході тестування MiniMo на різних версіях Windows CE я зіткнувся з проблемою швидкодії. Якщо я порівняю Pocket Internet Explorer (PIE) з MiniMo, то останній ніяк не видається мені швидким. Чи є якісь зрушення в поліпшенні даної проблеми?

Так, продуктивність має дуже важливе значення. Але порівнювати PIE з MiniMo недостатньо чесно, тому що PIE насправді не відображає багато сайтів коректно, у нього слабка реалізація JavaScript, і він не може виконувати AJAX ( http://developer.mozilla.org/en/docs/AJAX ). Втім, я не відхрещуюсь від проблеми з швидкодією. Так, вона існує, і ми її поступово вирішуємо.

Які плани розвитку MiniMo? І як відбувається тестування додаткового функціоналу?

Для MiniMo також існує план розвитку [5]. Що ж стосується додаткового функціоналу, то він, як правило, з'являється в якості розширень до продукту. Наприклад, Spatial Navigation - це розширення, яке я написав для Pioneer Research. Його мета - використовувати клавіші вгору, вниз і т. Д. Для навігації по документу (див. http://www.mozilla.org/access/keyboard/snav ). На сьогодні це розширення виглядає як опція, яку можна завантажити з http://addons.mozilla.org . Як тільки розширення стає досить затребуваним, воно інтегрується в дерево розробки. Однак щоб бути включеним, це конкретне розширення проходить не тільки через руки тестерів, але і через руки тих, хто повсякденно його використовує, тобто знає розширення практично до дрібниць. Тому щодо якості коду можете не хвилюватися.

Чи означає це, що практично будь-яке розширення, написане для FireFox, буде працювати і з MiniMo?

В общем-то, так. У нас було кілька розширень для FireFox, які через кілька хвилин доопрацювання заробили і з MiniMo. Розширення, що стоять згадки, - це adblock і colorzilla.

Чи є у вас плани щодо створення прототипу для Symbian OS?

Таких планів немає. Є люди, яким подобається Symbian, і ті, які ненавидять його. Я дійсно не знаю, до кого я тяжію. Якщо дивитися на API від Symbian і порівнювати його з Linux, то, швидше за все, я принад-лежу до другого табору.

Згідно оглядам, що випускається компанією Opera Software Inc., вони не розглядають MiniMo браузер в якості конкурента, тому що Opera-Mini працює на інших платформах (Symbian OS, Palm OS). Чи зможете ви стверджувати, що ваш колектив також не розглядає браузер від Opera в якості конкуруючого продукту?

Мені б не хотілося оцінювати, хто кому є конкурентом. Особисто я кинув би розвиток MiniMo, якщо на ринку було щось вартісне.

Наскільки мені відомо, з Nokia і з T-Mobile підписані контракти з постачання MiniMo разом з їхньою продукцією. Наскільки це вірно?

У мене не входить в практику поширюватися, хто збирається, а хто не збирається щось поставляти, поки не випущений офіційний прес-реліз. Так що, вибачте, говорити про це передчасно.

Чи є розробники, яких ви могли б відзначити окремо?

Ми співпрацюємо з компанією INdT ( http://www.indt.org.br/indt ), З командою, яка працює над різними Open Source-проектами. В якості одного з таких проектів вони вибрали MiniMo. Останні кілька місяців їх увага була сфокусована на GTK-коді нашого кроссплатформенного браузера. Також серед їхніх робіт значиться проект MaeMo - портирование на платформу Nokia 770 (див. http://www.indt.org.br/maemo ).

додаток

Що вдає із себе MiniMo?

Після того як в січні 1998 року були випущені у світ вихідні коди Netscape Navigator [1], почалася нова гілка в історії розвитку браузерів. Одним з «побічних» ефектів стала поява MiniMo (MiniMozilla) - міні-браузера для КПК і мобільних пристроїв [2].

Що з себе являє MiniMo? Це в першу чергу вихідний код браузера Mozilla, який можна зібрати для мобільної платформи, наприклад, для КПК iPAQ. Цілком очевидно, що повна функціональність настільної Mozilla для мобільних пристроїв не потрібно. На перший план виходить компактність браузера і підвищені вимоги до розподілу пам'яті (в КПК кількість ОЗУ все-таки відрізняється від настільних ПК). Другий важливий фактор - це вміння відображати htmlстраніци для екранів КПКустройств (дозвіл в межах 160x240 пікселів або більше; зараз вже типові пристрої з дозволом екрану 640х480 пікселів) [3]. Якщо для настільних ПК домінуючим браузером є Internet Explorer, то для мобільних пристроїв це далеко не так: тут присутні такі імена, як Opera, NetFront, Obigo, Nokia Series 40/60 Browser, Openwave, Pocket Internet Explorer, NicheView, Picsel, RocketBrowser, Wapaka, Thunderhawk, Skweezer, Andromeda і деякі інші.

Сфера застосувань поки, на мій погляд, досить вузька - крім безпосереднього відображення веб-сторінок і зручною інтеграції з Google Maps на цьому функціонал і закінчується. Технологія MiniMozilla побудована таким чином, що в принципі можна відокремити інтерфейс користувача (UI) від ядра браузера Mozilla і побудувати нові додатки під конкретні вимоги замовника, але поки про це мало що чути. Також мало чути і про активне використання в MiniMo модулів. Втім, не буду загострювати увагу на тому, чого поки немає. Зазначу, що проект MiniMo йде вперед семимильними кроками. І гаслом розвитку Mozilla Foundation частково може служити фраза Кріса Хофмана (Chris Hofmann) - «Створюйте гарні продукти, які приємні для використання, а решта додасться» ( «Make good software that people like to use, and the rest will take care of itself» ).

Колектив Mozilla Foundation склався в липні 2003 року в основному з колишніх учасників корпорації Netscape [10]. Він розробляє не тільки MiniMo, але і такі продукти, як Mozilla FireFox, Mozilla Thunderbird, Mozilla SeaMonkey, і багато інших. Більшість з них, звичайно ж, безпосередньо не пов'язане з MiniMo, але від кожного залежить загальний розвиток продукту.

Зокрема, технологічний темп для розвитку MiniMo задає Дуг Тернер, Кріс Хофман координує бізнес-планування. Офіційно Дуг Тернер почав працювати на Mozilla Foundation з грудня 2004 року. Хоча послужний список даними персонами не афішується, але вдалося дізнатися, що до приходу в Netscape в 1996 році Дуг Тернер працював в компанії Apple Computer Inc.

Перша згадка про успішне портування MiniMo на КПК датується 8 грудня 2003 року, коли Дуг Тернер пише в своєму блозі - про запуск Firebird на iPAQ 5555 [4].

Дуг Тернер - співавтор першої антиспам програми SpamBlaster, створеної в 1997 році. Співробітник компанії Netscape Communications c 1996 року. Займався розвитком об'єктної моделі XPCOM, опрацюванням питань підтримки мережі і потокових (thread) питань у браузерах серії Netscape, а згодом й в серії Mozilla. У грудні 2004 року очолив розробку браузера MiniMozilla в компанії Mozilla Foundation.

посилання:

  1. http://en.wikipedia.org/wiki/Netscape .
  2. http://en.wikipedia.org/wiki/Minimo .
  3. http://www.linuxdevices.com/articles/AT7396996719.html .
  4. http://weblogs.mozillazine.org/dougt/archives/004471.html - first announcement of FireBird at IPAQ 5555.
  5. http://www.linuxdevices.com/news/NS8911145047.html - roadmap for MiniMo.
  6. http://www.meer.net/~dougt/minimo_ce - MiniMo WinCE builds - домашня сторінка Дуга Тернера. Звідси ви можете завантажити останні релізи MiniMo для платформи Windows CE.
  7. http://www.absoluteastronomy.com/encyclopedia/m/mi/microbrowser.htm - класифікація мікробраузера.
  8. Порівняти характеристики різних веб-браузерів можна користуючись таблицею - http://www.absoluteastronomy.com/encyclopedia/c/co/comparison_of_web_browsers.htm .
  9. http://davetitus.com/mozilla .
  10. http://www.absoluteastronomy.com/encyclopedia/m/mo/mozilla_foundation.html .
  11. http://en.wikipedia.org/wiki/High_Tech_Computer_Corporation .

Як би ви охарактеризували ідею випуску вихідного коду Netscape в публічний доступ?
Скільки людей зайнято в проекті MiniMo і хто вам допомагає при розробці?
На яких апаратних платформах MiniMo може працювати сьогодні?
Як вашій команді вдається тестувати MiniMo на всіх лінійках КПК, скажімо, і на родинах Windows Mobile і дистрибутивах Familiar Linux?
Які віртуальні машини ви використовуєте?
Або все-таки в MiniMo?
Чи є плани випускати MiniMo у вигляді одного інсталятора, а не у вигляді архіву файлів?
Чи є якісь зрушення в поліпшенні даної проблеми?
Які плани розвитку MiniMo?
І як відбувається тестування додаткового функціоналу?

Дополнительная информация

rss
Карта