Привет, любители старого «железа». Это Антон Комаров, и сегодня мы изучим ИТ-артефакт, одно из имен которого — Breadbox Ensemble. Это графическая оболочка для MS-DOS, которая значительно опередила свое время. К примеру, концепция меню «Пуск» в ней появилась на 2,5 года раньше, чем в Windows 95. Компанию-разработчика, Berkeley Softworks, пытались купить Microsoft, Apple Notebooks и Sun Microsystems. Но руководство не согласилось, решив продолжить самостоятельное «плавание». И оно было довольно успешным: последняя версия оболочки вышла аж в 2009 году.
Так что заваривайте себе чайку, доставайте печеньки и давайте посмотрим, ради чего в начале 90-х шла нешуточная борьба между крупнейшими софтверными корпорациями. И как Breadbox Ensemble повлияла на внешний облик операционных систем того времени. Приятного чтения.
Берем быка за рога
Сегодня мы оставим машину времени на парковке и не будем уделять особого внимания истории появления Breadbox Ensemble: эта тема обширная и заслуживает отдельного поста. Давайте лучше посмотрим на процесс установки этой оболочки и узнаем, какие возможности она предоставляла «из коробки».
Дистрибутив Breadbox Ensemble весил ни много ни мало 10 Мб. Сейчас это кажется смехотворно мало. Но раньше для переноса такого количества данных приходилось использовать восемь дискет или даже компакт-диск.
В качестве тестовой конфигурации мы будем использовать PCem, на котором запустим эмуляцию материнской платы с процессором Intel 486DX-II (тактовая частота 66 Mhz), ОЗУ размером 16 Мб, жестким диском на целых 2 Гб, звуковой картой Sound Blaster 16 и самой простой VGA-видеокартой.
На тестовую машину был установлен MS-DOS 6.22 вместе с драйвером Microsoft Mouse и oakcdrom.sys для поддержки эмулятора оптического привода. Этого минимального набора достаточно для установки и запуска.
Установка
На первом шаге установщик предложит заполнить регистрационную карточку. Это коммерческий продукт, так что одним из полей был серийный номер, который пользователь получал при покупке:
При помощи клавиши F3 можно быстро проверить, правильно ли определилась конфигурация вашего компьютера. После заполнения данных установщик предложит на выбор несколько вариантов установки: полную или частичную установку, а еще — возможность ручного выбора компонентов:
Остановимся на варианте полной установки и нажмем Enter. Система задаст несколько вопросов о директории установки и предупредит, что в процессе инсталляции она внесет изменения в системные файлы AUTOEXEC.BAT и CONFIG.SYS. После пары-тройки минут копирования файлов поздравит с успешной установкой, сразу же предложив выполнить базовую настройку системы:
Соглашаемся. Спустя пару секунд система загрузит мастер настройки, который пошагово спросит некоторые детали вашей системы. Например, нужно подтвердить автоматически определенные параметры графической подсистемы: разрешение экрана, битность цвета, границы изображения. Еще мастер поинтересуется наличием манипулятора типа мышь и принтера:
После того как вы терпеливо ответите на все вопросы, мастер поздравит вас с окончанием установки. Все готово!
Внешний вид
Первый же запуск способен немало удивить. Рабочий стол здесь выглядит до неприличия привычно, можно даже сказать, буднично. Есть нижняя панель с кнопкой, открывающей главное меню, и до боли знакомые пиктограммы: Computer, Documents и Wastebasket. Так, словно я только что установил Windows 95:
Единственный незнакомый элемент здесь — World. Двойной щелчок по нему откроет окно со всеми установленными программами, фактически дублируя главное меню:
Если вас не покидает ощущение, что вы смотрите на Windows 95 из параллельной вселенной, то вы не одиноки. Именно в этой оболочке впервые появились концепты UI, которые затем были «позаимствованы» другими компаниями, такими как Microsoft. Известен факт того, что Стив Балмер (Steven Anthony Ballmer) при общении с основателем Berkeley Softworks Брайаном П. Догерти (Brian P. Dougherty) угрожал «раздавить» компанию, если им не будет продана лицензия на стартовое меню, которое уже 2,5 года существовало в Breadbox Ensemble:
Когда вы в очередной раз откроете меню «Пуск» на своем компьютере, то как раз увидите отголосок Breadbox Ensemble. Но дальше — больше. Тут же мы можем найти игры, альтернативная реализация которых тоже перекочевала в Windows. Например, пасьянс FreeCell:
Софт
Удивительно, но помимо простых игрушек Breadbox Ensemble напичкана разными полезными (и не очень) программами. Часть из них направлена на использование интернета, а именно:
Chat — клиент IRQ.
Dialup & Configure — звонилка для установки Dialup-соединения.
Email — клиент электронной почты.
File Transfer — простой FTP-клиент.
Instant Messenger — утилита для обмена мгновенными сообщениями.
NewsReader — читалка для лент новостей.
WebBox — визуальный HTML-редактор для создания Web-страниц.
WebMagick — браузер.
Такой набор приложений позволял с комфортом пользоваться интернетом того времени, используя минимум ресурсов ПК. Одной из сильных сторон Breadbox Ensemble было то, что она быстро работала даже на очень слабых ПК. При этом оболочка отлично подходила для офисных задач. В комплекте шел удобный текстовый редактор Writer:
И разумеется, даже редактор электронных таблиц Spreadsheet. Понятное дело, что этот софт вряд ли мог потягаться с MS Office того времени, но все же большую часть базовых задач решал вполне неплохо:
Мультимедийные возможности были ограничены. Да, вы могли послушать обычный компакт-диск с музыкой — и в целом это все. Зато в состав оболочки включили просмотрщик изображений, который поддерживал и JPEG-, и GIF-форматы:
В 16 цветах смотрится это ужасно, но сам факт. Скажу больше — авторы Breadbox Ensemble включили поддержку PDF и электронных книг. Возможность работы с этими форматами зависит от количества оперативной памяти, но поражает, что это в целом возможно «из коробки». Буквально из чистого DOS вы набираете команду GO — и все! Спустя пять секунд у вас «полностью заряженный ПК», на котором и текст можно набросать, и график начертить, да еще и книжку почитать:
Оболочка или ОС
По ходу этой статьи я называю Breadbox Ensemble лишь оболочкой для MS-DOS, но, наверное, это не совсем корректно. С одной стороны, без DOS она не запустится, равно как и полностью зависит от загруженных в него драйверов. Но с другой стороны, у нее есть полноценный SDK, что позволяет писать под нее приложения. Правда, сама она написана на дикой смеси из ассемблера, интерпретируемого языка IZL и собственной реализации Objective-C c нестандартными расширениями. Так что для разработчиков приложений это была боль, да и с выпуском SDK компания сильно задержалась.
Все это закономерно привело к тому, что приложений для Breadbox Ensemble было мало, а большинство разработчиков сконцентрировалось на более простой и удобной разработке приложений для Windows. Не стоит забывать и о серьезном давлении конкурентов, которые всячески пытались ограничить распространение, попутно создавая собственные реализации успешных решений в плане GUI.
На рынке, как и в дикой природе, выживает сильнейший. Какое-то время компания держалась на плаву, но после череды неудач канула в Лету. Ну а исходный код этой операционной системы (уже под другим названием — FreeGEOS) вместе с полным SDK был выложен на GitHub и доступен для самостоятельного исследования, модификации и сборки.
Заключение
Время не стоит на месте, и такие разработки, как Breadbox Ensemble, сейчас кажутся чем-то несерьезным, «игрушечным» что ли. Но для своего времени это были реальные инновации в дизайне и свежий взгляд на то, как должна выглядеть операционная система с графическим интерфейсом. Многие идеи, впервые появившиеся в разработках Berkeley Softworks, оказали влияние на разработку операционных систем как Microsoft, так и Apple.
До 2015 года была даже идея по переносу этой экзотики на Android, но увы. Смерть генерального директора и владельца Breadbox Ensemble LLC поставила в прямом и переносном смыслах крест на этих планах. Сейчас она представляет интерес только для энтузиастов и исследователей.
А вы когда-нибудь пользовались Breadbox Ensemble? Жду вас в комментариях.
Комментарии (51)
NeoCode
29.09.2024 08:48+2Система выглядит очень приятно! Думаю что вот это все так или иначе пригодится как минимум разработчикам-любителям операционных систем, чтобы не только ядро и консоль, а и красивый GUI был.
quakin
29.09.2024 08:48+5А на какую версию оболочки (и какого года выпуска) вы сделали обзор?
Просто из статьи неявно сложилось впечатление, что это оболочка - прародитель интерфейса Win95, но Википедия говорит, что название "BreadBox Ensemble" появилось только в 2001, а до этого оболочка называлась (и, вероятно, выглядела) иначе.artptr86
29.09.2024 08:48+18Версия 1.2 (1991 год) была похожа на Windows 3.0 (1990 год):
Скрытый текст
Версия 2.0 (1993 год) выглядела аналогично:
Скрытый текст
Далее оболочка выходила под брендом NewDeal Office. Версия 2.2 вышла уже в 1996 году — после релиза Windows 95. Скриншотов и дистрибутива, к сожалению, не нашёл.
Так что всё-таки получается, что не Microsoft скопировал у GeoWorks меню «Пуск», а как раз наоборот: NewDeal скопировал интерфейс Windows 95, предлагая свой «аналог Windows для бедных». Кажется, что фраза про «Меню Пуск на 2,5 года раньше» — это журналистские домыслы.
Однако, «наезд Microsoft» был скорее связан с тем, что GeoWorks Ensemble была внутри более технически продвинутой по сравнению с Windows, а Балмер, играя роль «плохого полицейского», пытался просто принудить к продаже компании. Возможно, Гейтс с Балмером знали о переговорах GeoWorks с Apple или просто не желали видеть ещё одного конкурента на рынке оболочек PC.
me21
29.09.2024 08:48Да уж, как они не попытались отсудить что-то от Майкрософт за стартовое меню и рабочий стол... Ведь один в один.
litos
29.09.2024 08:48Очень познавательно, всё время считал, что кнопка Пуск пошла от Windows 95, а оно вон как
Кто интересно придумал сделать кнопку Пуск с программами первым?
artptr86
29.09.2024 08:48+10Майкрософт после многочисленных экспериментов над UI:
Windows Chicago Build 34
Windows Chicago Build 58
Windows Chicago Build 73
Windows Chicago Build 81
Windows Chicago Build 99
Windows Chicago Build 122
tormozedison
29.09.2024 08:48Её позже переименовали обратно в GEOS и выпустили под лицензией Apache. Восьмибитный GEOS тоже.
axe_chita
29.09.2024 08:48+3"А вы
ноктюрн сыграть
могли бы
на флейте водосточных труб?"
Использовал пару лет, выжимая оболочку из по настоящему устаревшего железа (286/16MHz/RAM1Mb/EGA/FDD1.2MB/HDD40MB) для первоначального знакомства студентов с современным GUIШевелилось она на нем куда быстрее Win3.11 при этом имея больший функционал. Из глобальных минусов, для себя, могу назвать только один отсутствие поддержки кириллицы. Списывался с авторами, те обещали "подумать над этим в будущих версиях", но это будущее так и не наступило. ;))
Zamix80
29.09.2024 08:48+1На "двушку" даже не пытался Win3.11 "вкорячить", т.к. подрузамевалось что нужен хотя бы 386 для комфортной работы
winwood
29.09.2024 08:48+2Win 3.11 на 286 и не запускалась, насколько помню. Последнее, что работало на двушке - win 3.1. Вспоминаю как страшный сон 3.1 на двушке с монохромным геркулесом )
axe_chita
29.09.2024 08:48Плохо помните, Win3.11 отлично запускалась на 286 режиме в стандартном режиме Win /s (aka Защищенный режим появившийся на 286). А для Virtual Mode 8086 (aka Расширенный) действительно был нужен 386 процессор и запускался он Win /3.
И стандартный режим выпили только в WfWG3.11. ;)
axe_chita
29.09.2024 08:48На 286 Win3.11 вкорячивалась. Под самый обрез, но вкорячивалась. Но это было оооооочень печальное зрелище. Но более печальными стали лица преподавателей информатики, когда я "на пальцах" объяснил "Что здесь
рыбы нетнельзя запустить Word!" т.к. Word хочет 2мб RAM запуска.
kisskin
29.09.2024 08:48+310 мб... умели же раньше писать софт... а не как сейчас - плагины для трея от сбис для выдачи оповещений с сайта занимают в памяти примерно 1.5 Гб...
axe_chita
29.09.2024 08:48В те веселые времена, выкачать 10 мегабайт по диалапу тоже было весёлым развлечением. Особенно в случае невозможности докачки
LuchS-lynx
29.09.2024 08:48были же всякие FlashGet'ы, ReGet'ы и им подобный софт. Скорость заказчики по модему была разной, но в начале нулевых составляла где-то от пары мегабайт в час, до 10-15мб в час на хорошей линии.
ZardoZAntony
29.09.2024 08:48Максммальные 56kbit/s на цифровых АТС выжимало в 00-04 в Челябинске, на аналоговых нестабильные 14-33kbit/s. Много качали с bbs и фэх в fido. Интернет был по карточкам от компании АТС ночью дешевле, рвался и не бюджетно выходило. Ещё номер был как междугородка, но там было 1 минута бесплатно) я написал софтину, которая каждые 50 секунд перенабирала номер. Почта успевала загрузиться, странички в интернете тоже.
axe_chita
29.09.2024 08:48А ещё бывали нюансы, как у меня, что на город была единственная линия через миниАТС, и эта миниАТС-ка рвала любой звонок длиннее 10 минут, "Для справедливого разделения канала связи" 8))
Stanislavvv
29.09.2024 08:481) кто сказал, что это было во времена вебсерверов? bbs были в полный рост, в том числе и для официальной поддержки продуктов
2) сии геты появились несколько позжей, чем винда95
3) но всё равно вы правы — zmodem поддерживал докачку и под досом. Но это надо было иметь поддержку со стороны bbs.axe_chita
29.09.2024 08:48но всё равно вы правы — zmodem поддерживал докачку и под досом. Но это надо было иметь поддержку со стороны bbs.
BBS без поддержки Zmodem считалась.... Скажем так - маргинальной, а её сисоп вызывал в лучшем случае сочувствие отсутствием "прямых рук".
А вот веб серверы в те "стародавние времена", очень редко имели возможность "скомандовать" серверу чтобы он начал отдавать файл с определенной позиции.
Stanislavvv
29.09.2024 08:48Тем не менее, как минимум, в описаниях bbs начала 90-х, которые распространяли софт официально (с номером +1-тра-та-та, так что звонить из +7 чтобы проверить возможности не было), указывался список поддерживаемых протоколов и zmodem не всегда присутствовал. Весьма вероятно, что и в реальности отсутствовал, ибо и на местных bbs zmodem почему-то появлялся не на всех разом. Вероятно, всё же, вы немного перепутали начало и конец 90х, если не начало 2000-х.
Что касается вебсерверов — это сейчас всё файлО лежит на http. Тогда для раздачи ftp был более популярен и поддерживал докачку с древних времён, судя по упоминанию в rfc765 от 1985 года в процедуре error recovery возможность перезапуска трансфера не с нуля, а с чекпойнта.
axe_chita
29.09.2024 08:48Тем не менее, как минимум, в описаниях bbs начала 90-х, которые распространяли софт официально (с номером +1-тра-та-та, так что звонить из +7 чтобы проверить возможности не было), указывался список поддерживаемых протоколов и zmodem не всегда присутствовал. Весьма вероятно, что и в реальности отсутствовал, ибо и на местных bbs zmodem почему-то появлялся не на всех разом. Вероятно, всё же, вы немного перепутали начало и конец 90х, если не начало 2000-х.
Zmodem это протокол из середины 80-х, который давал всё больше преимущества по скорости передачи на более высоких скоростях соединения (>2400) за счет ЕМНИП большего блока и меньшего количества служебки, и потоковой передачи всех блоков целиком, а уже потом формировался повторный запрос на передачу поврежденных блоков.
Почему Xmodem не был вытеснен? Во первых, далеко не все терминальные программы умели Zmodem, во вторых, не каждая программа для управления BBS имела поддержку Zmodem? в третьих, даже если появлялась новая версия с поддержкой, то не каждый сисоп бросался тут же обновлять уже работающую и настроенную ББСку.
И это был период золотой век БиБиэСок 1993(94)-1997(98), по крайней мере у нас. А потом пришел интернет и всё опошлил 8DЧто касается вебсерверов — это сейчас всё файлО лежит на http. Тогда для раздачи ftp был более популярен и поддерживал докачку с древних времён, судя по упоминанию в rfc765 от 1985 года в процедуре error recovery возможность перезапуска трансфера не с нуля, а с чекпойнта.
"Обещать, не значит женится". :)
Тут тоже всё зависело от прямых рук админов FTP и соответственно от софта обеспечивающего работу FTP. Если всё было настроено хорошо, то всё замечательно. Если пахорукость зашкаливала, тополучи фашист гранатукачай файлО со смещения ноль. Почему то память упорно пытается "подсказать" что это был FTP Cirrus Logic, но это не точно
axe_chita
29.09.2024 08:48И чем вам поможет любой из менеджеров загрузки, когда сервер отдавал файлы исключительно с нуля? Вы представляете какая ломка была у меня от таких известий, пользователя BBS, который привык что в случае обрыва связи Zmodem всё равно докачает файл полностью? ;)
mycop
29.09.2024 08:48+1помню качал через диалап один mp3-файл ночью на работе.
Докачался только утром. Разбил его на архивы по 1.44Мб, скопировал на дискеты (штук семь, не меньше) и с компьютера удалил, чтобы скрыть следы преступления.
Придя домой, обнаружил, что один из томов поврежден.
UncleJonathan
29.09.2024 08:48Здесь палка о двух концах всё-таки. Например, выше пишут, что данная оболочка не поддерживала даже кириллицу. А любая современная программа поддерживает немыслимое количество языков из коробки. Реализация этого занимает в моём дистрибутиве 40 Мб (вместе с документаций и прочим шмурдяком, но всё же).
С другой стороны, программы действительно пишутся очень неаккуратно, и не только по памяти. Но если программа выживает, и начинает приносить деньги, то улучшения возможны.
Припоминаю первые годы популярности Slack: он требовал для работы едва ли не больший канал, чем YouTube для просмотра 4K видео. Работая удалённо в глуши на 3G Интернете, я постоянно испытывал раздражение из-за того, что сообщения приходили с огромной задержкой, или вообще не приходили. Отвечать тоже было невероятно сложно: сообщения не отправлялись, терялись, либо дублировались...
Хотя по функциональности, во всяком случае тогда, он нисколько не ушёл от чатов IRC (которыми явно был вдохновлён), прекрасно работавших на канале 1200 бод.
Но, со временем, лет за 7-8, эти болячки победили. Или каналы всюду стали лучше?..
dv0ich
29.09.2024 08:48+3Я тоже не люблю жирный софт, особенно на всяких электронах и скриптовых недоязычках, но стоит заметить, что тогда не было юникода, сложных текстур для gui, кучи функциональности (не всегда нужной, впрочем).
Я как-то смотрел подробную информацию о памяти процессов, и увидел, что из десятков и сотен МБ занятой оперативки сам код этих процессов занимает сотни КБ или единицы МБ. Всё остальное это данные.
dv0ich
29.09.2024 08:48Сейчас проверил, как быстро qt работает с изображениями в растре и в векторе. Простейшая программа, которая в течение 3 секунд в цикле загружает изображение (иконку 128х128), показывает окошко с ним, после чего сразу закрывает и уничтожает загруженное изображение, после чего снова загружает и показывает окошко, и в конце выводит количество таких итераций за 3 секунды.
Так вот, с svg таких итераций 6,6-6,7 тысяч за 3 секунды, а с png - стабильно более 85 тысяч. Думаю, такой разрыв сказывается на скорости запуска современных приложений, где всё в векторе, особенно если иконок и текстур нужно загрузить много.
Но ведь на растре далеко не уедешь, с масштабированием интерфейса как быть?
Zamix80
29.09.2024 08:48Как жаль, что сейчас нет таких лаконичных систем, все перегружено ненужным хламом, хотя автоматическая закачка драйверов через интернет во многом помогает, но больше плюсов для себя не вижу
dv0ich
29.09.2024 08:48+1сейчас нет таких лаконичных систем
Arch/Void/LFS + какой-нибудь WM
UncleJonathan
29.09.2024 08:48Работаю уже лет 10, если не больше, на комбинации Arch + DWM. Сначала самого немного напрягал аскетизм, периодически пытался вернуться то на KDE, то на Гном.
А потом... Просто понял, что все эти рюшки вообще не замечаются и не нужны. Если их замечаешь, то только потому, что они отвлекают от работы, прерывают поток.
В dwm по тем же причинам, перестаёшь замечать что-либо, кроме работы. Сочетания клавиш уже на подкорке, всё делаешь на автомате.
Единственное, что долго не мог уйти с IntelliJ на neovim, слишком уж сладкое сочетание IntelliJ + IdeaVIM - лучшее из двух миров. Но санкции животворящие заставили освоить всё-таки NeoVIM + Lua, о чём почти не жалею. Да, функциональность пожиже, чем в IntelliJ, но не настолько, чтобы прям совсем страдать.
poige
nyet! IRC.
Wesha
(С придыханием:) O, IRQ!..
checkpoint
Помним, помним, чат с IRQ был неотьемлемой и очень вдохновляющей на свершения процедурой перед каждой установкой новой железяки в ПК того времени.
Wesha
Не чат это был, барин, ой не чат...
czz
Скорее «чад»
Goron_Dekar
кутежа.
Wesha
Нет, поиск свободных IRQ (особенно когда джамперами) — это была гребля (на байдарках и каноэ).