от pstj(6-05-2006)

рейтинг (49)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Сърфирайки из нета в края на краищата човек попада на сайта на Apple. Днес бях изненадан и развълнуван от това, което са решили да сложат на индекса.

Защо ще заобичате Мак?

Не ме поблазниха нито лъскавия дизайн ( а за тези от вас които не са го виждали на живо - е наистина е страхотен ) на корпуса, нито отсъствието на вируси (все пак ползвам GNU/Linux от години), нито дори "последния интелски чип". Но някак си ми стана леко гадно когато стигнах до частта с видео чата, невероятната интеграция между всички мултимедийни приложения ( а и интеграцията им с операционната система, не на последно място - напредничавия модел на изобразяване, Quartz 2D Extreme и тн. - екстри все които ние, простосмъртните, несклонни да се разделим с 4000+ левчета за 12 инчов модел, никога не сме виждали, дори под управлението на този "оазис" на софтуера - Windows OS )

Замислих се, какво е онова в тази рекламна кампания, което може да ме накара да си купя Мак.

В нашата мила родина да се краде от интелектуалния труд на хората е нещо нормално и ако не го правиш (или не искаш да го правиш, макар да го правиш в момента) се смята за особено тежко психично разстройство, кръгът от "приятелчета" около теб се стеснява и те пращат "за жълта книжка".

Джунглата от софтуер за операционната система Уиндоус е стряскаща. Едва ли има дейност, която да можете да се сетите и да няма написана програма за Уиндоус, която да я върши. Но до колко тези програми имат връзка една с друга? Отговорът е много прост: точно толкова колкото и същите програми под Линукс. Тоест - НИКАКВА. Tъжна картинка. Аз не съм Линукс гуру, не знам кой тика нещата да се случват в света на свободния софтуер. (Макар че напоследък излезе така че Редхат и Новел ги тикат, докато колегите от Деби(ли)ян само си смучат близалките и "оправят" софтуера, така, че да е "много стабилен и сигурен", толкова сигурен, че да сме сигурни, че като стане готов вече никой няма да има нужда от него). Но тенденцията е ясна - някой се опитва да се състезава с Уиндоус. Дори "темите" за най-популярните декстоп среди (KDE & Gnome) кощунствено приличат на Уиндоус. Сякаш правим едно бледо, но безплатно копие на комерсиалната операционна система. Никой не помисли за неща като: интеграция, оперативност, компактност, консистентност. (Моля да бъда извинен, че не намирам българските термини, просто на български няма теми по въпроса). В момента имаме голямо богатство на софтуера под Линукс. Ежедневно се печатат и препечатват статии за това кой къде не знам си какво бил успял да постигне, произвежда, публикува и не знам още какво използвайки само свободен софтуер. И какво от това? Да му ръкопляскаме задето си е трошил главата? Не мисля.

Какво предлага Мак?
Предлага ни унифициран изглед на всички приложения. Богата мултимедийна платформа. Връзка между отделните приложения. Много добра връзка, смислена. Не просто да могат да отварят файлове от едната в другата, но да го правят смислено.

Защо го нямаме в Лунукс света това?
Защото екипите работят "всеки за себе си". Gstreamer - толкова обещаващия проект за мултимедийна платформа се оказа пълен боклук. Дори свободни формати като ogg theora не може да поддържа свястно. Да не говорим че макар да е поначало замислен като част от Гном, поне половината програми в него не го използват. Например единствената програма която го ползва е rhythmbox. Екига например НЕ ГО ползва. Totem просто нищо не може да плейне нормално, ако е вързан с него.

Как (според мен) трябва да са направени нещата?
Специално за мултимедията моето виждане е следното: няколко нива, най-отдолу хардуерните драйвери, следва медийния фреймуърк - мястото където всяка дистрибуция решава кое ще сложи, дали свободни кодеци или нещо друго, отгоре един унифициращ слой, който да ползват ВСИЧКИ приложения, независимо дали ще е rhythmbox, totem, Kaffein или нещо друго, на тези приложения НЕ ИМ трябва да знаят кой софтуер ще се занимава в действителност със стрийма. Нито на потребителя впрочем. Което пък означава че може да има едно единствено приложение или 20 различни но функционалността която се предоставя на крайния потребител ще се определя а) от това дали потребителския интерфейс ще има контроли за дадени функции на медийния фреймуърк и б) дали подлежащия под унифициращия слой може да осигури тази функционалност. По този начин всъщност седят сега нещата в Мак ОС. Не са така под Уиндоус обаче. Всеки, който ползва Уиндоус знае какъв кошмар е да намериш плейър с който да тръгват филмите. Най-честия случай е да имаш няколко инсталирани, ако с единия не тръгне то с другия може и да тръгне. Ние НЕ СЕ учим от най-добрите. Ние се учим от най-лошите. Същото е и с всичката мултимедия под Линукс (а и уиндоус). Картинки, звук, картина+звук...

Как може да стане реалност това?
Като някои хора си седнат на ... и започнат да мислят, а не да се надпреварват с Майкрософт. Не че е важно, но бетата на Виста е потресаващ пример за бледо копие на смислена идея (Мак ОС). На първо място мисля, че най-големия удар в полза на Свободния софтуер би бил "инструменталната независимост" - тоест пълната отделеност на функционалната част на приложението от графичната система. "Например?" - например използване на динамично създавани потребителски интерфейси, както се правят сега с libglade. Само че вместо Глейд да се ползва фиктивен туулкит - libGUI. Над който да работи истинския туулкит - GTK, QT или който там е най-предпочитан в момента. Изнасяне на интеграционните функции вън от комплекта графични инструменти или програмното им отваряне към подлежащата фиктивна библиотека - с цел пълна интеграция. Целта на комплекта графични инструменти е една - да показва удобен интерфейс за работа на потребителя. В момента тези комплекти правят много повече неща. Излишни неща. Неща които НЕ СА тяхна работа.
След като вече има този унифициращ слой, следва да се направи едно проучване на възможностите за осъвременяване на самите графични инструменти. Дали използването на OpenGL е най-правилния път не мога да кажа. Но има какво да се желае!
След това? Пълна интеграция на трислойния модел : операционна система, функционални ядра, потребителски интерфейс. Това като последна стъпка. Резултат? Консистентна работна среда (независима от предпочитания графичен комплект и начините на изобразяване), пълна интегрираност на приложенията (предвид факта че функционалността им се предоставя от функционалните ядра, а не от самите приложения), интероперативност (внасянето на ново приложение внася ново функционално ядро в подсистемата и функционалността му автоматично се "изнася" към другите приложения, а ако те не са подготвени да я използват (нямат изграден потребителски интерфейс към тази функционалност) и се обърнат към съответното функционално ядро, то извиква програма (потребителски интерфейс) който може да го управлява (оригиналната програма която го внася), компактност (дори едно мултимедийно приложение, ако е достатъчно богато, би могло да управлява всички функционални ядра).
Пример:
Току-що сте свалили от дигиталния си фотоапарат снимките от разходката извън града последния уикенд. За целта се е стартирала програмата която ВИЕ сте избрали като програма по подразбиране за картинки, тя е използвала функционално ядро да речем от gThumb но вие няма нужда да знаете това, самта програма също нищо не е знаела за внасянето на дигитални фотографии преди да се е появило функционалното ядро. След това се е включило друго функционално ядро, което пък ви позволява да разделите картинките на категории, да ги обработвате - да речем въртите и смалите, да премахнете червените очи и тн(или ако програмата която ползвате няма такива графични контроли, то се е обърнала към оригиналната програма внасяща тази функционалност и я е стартирала като е подала файловете към нея) след което вие горди от заснетото от вас искате веднага да качите във вашия блог някои от тях, и понеже вече сте инсталирали програма за работа с популярни блогове, то функционалното ядро за работа с блогове вече е добавило в менютата на вашата любима програма функцията "публикувай в моя блог" и избирайки него или ползва функционалното ядро за да го направи или вика програмата оригинално предоставяща функциоалното ядро за да го направи ( пак подавайки като аргумент СМИСЛЕНО избраните от вас снимки. И за финал бихте искали да запазите снимките на DVD и просто все още бидейки в програмата за снимки ползвате друго функционално ядро, което пък се грижи за подготовката и записа на DVD. Или ако не предоставя достатъчно графични контроли за целта вика приложението което внася тези възможности като функционални ядра.
Идеята тук е че всяка ваша програма ЗНАЕ какво могат да правят другите програми и какво от това което другите могат да правят би могла да ползва и тя. В сегашното състояние това не е така!

Кога може да се случи това "чудо"?
Няма да е скоро. Усилията са ежедневни, но са зле прицелени. Всеки се опитва да прави нещо по въпроса, но без обща цел е като да стреляш на посоки. Сещате ли се сцената от филма "Finding Nemo" когато всички риби трябваше да плуват в една посока за да се освободят от мрежата? Е, в света на свободния софтуер никой не плува в същата посока като другия. Най-жалкия пример напоследък е Xgl/AIGLX. Никой не е наясно какво точно се опитват да покажат с тези неща Новел и Редхат. В крайна сметка изпробвах и двете - и двете са напълно нефункционални, неудобни и необмислени. Някъде четох за това как може да се използва OpenGL за 100кратно ускоряване на изчертаването на шрифтовете. Имаше и примерна имплементация. Моделът беше математически обоснован. Жалко че загубих PDF-а. Какво може да направи това за нас? Ами например може да направи така, че никога повече да не се получава насичане когато скролираме във Файърфокс, защото може целия сайт да заеме просто един полигон и той плавно да се плъзга.... Но няма кой да го имплементира в енджина.

Защо ние сме "избраните"?
Защото ние сме свободните. Защото никой няма да ни се разсърди ако нарушим обратната съвместимост. Защото никой няма да спре да ни дава пари ако го направим. Защото и сега не ни дава пари. Нито ни взима де. Защото сега е момента да се научим да сме единни, не за да бием Уиндоус или Мак, а за да направим най най най красивия удобен лесен за употреба и завладяващ декстоп който света някога е виждал и от който да се учат и Уиндоус и Епъл. Защото сега е преломния момент в който човекът започва да използва компютъра за нови задачи и сега е момента да му покажем как може да изпълнява новите задачи по нов начин. Както някога мишката стана неразделна част от един компютър (нима има компютър без мишка сега?) така е сега момента да направим от компютъра една система която да решава всичките ни мултимедийни задачи интегрирано смислено и лесно.


И сега трябва да отговоря на въпроса поставен в началото: бих си купил мак заради обещанието живота ми да стане по-лесен, по-удобен, дори по-забавен. Заради обещанието компютъра купен от Епъл да бъде моя инструмент, с чиято помощ и чрез който аз да изявя себе си и своята креативност, своите виждания, да дам цвят и звук на моя живот. Това обещава тази рекламна кампания. Това е което ще продаде следващите 500 хиляди епъл компютъра. И това искам аз за себе си. Без да се налага да крада от ничий труд, а напротив, искам да дам нещо от себе си за да видя тази възможност за всеки, дори без да дава пари за най-скъпия и най-новия хардуер. Това искам да мога да кажа когато представям някоя дистрибуция на някой за първи път.

И не, за сега няма да си купя Мак. За сега все още вярвам, че общността на свободния софтуер може да създаде това за всеки един от нас.


<< XMMS - нов облик | Корпоративно използване на свободния софтуер >>