Měsíc s vývojovou sadou N950

By Martin Kolman - Last updated: Thursday, August 25, 2011 - Save & Share - 10 Comments

Swipe

Princip ovládání UI na Harmattanu se nazývá swipe. Místo nějaké formy minimalizačního či „home“ tlačítka stačí pouze udělat gesto přes okraj displeje (občas stačí v rámci displeje i pouhé dlouhé gesto, což občas bohužel koliduje s kinetickým scrollováním v aplikacích, ale dá se na to zvyknout) a aplikace se odsune a objeví se přepínač úloh (task switcher). Odsun aplikace je plně animovaný a dokonce jej lze zase zrušit pokračováním gesta opačným směrem. Přepínač úloh obsahuje živé náhledy aplikací a dokonce podporuje známé „pinch“ multitouch gesto, které zvětšuje nebo zmenšuje zobrazené náhledy.

Kromě přepínače úloh (který se pochopitelně objeví, jen když běží nějaké aplikace) obsahuje hlavní uživatelské rozhraní pouze dvě další „obrazovky“ – obrazovku s ikonami pro spouštění aplikací a obrazovku, na které se zobrazují nejrůznější stavové informace jako doručené zprávy, úkoly a upozornění.

Ujasnění pojmů

MeeGo 1.2 Harmattan – výchozí operační systém na N950 a N9

N950 – vývojová sada pro N9, na rozdíl od ní má klávesnici, místo AMOLED má TFT displej a nemá NFC (Near Field Communication)

N9 – produkční verze zařízení s Harmattanem, podle odhadů by se měla objevit na trhu během září 2011

OBS (Open Build Service) – služba pro tvorbu a správu softwarových balíčků

Maemo 5 Fremantle – výchozí operační systém na N900

N900 – předchůdce N9/950

RPM – formát balíčků používaný např. ve Fedoře nebo OpenSUSE

DEB – balíčky používané např. v Debianu nebo Ubuntu

Stavové indikátory

Podobně jako Maemo 5 Fremantle na N900, Harmattan zobrazuje většinou nahoře na obrazovce úzkou informační lištu s údaji o aktuálním stavu zařízení, na které jsou vidět informace o stavu baterie, úrovni signálu či způsobu připojení k internetu.

Z hlediska vývojářů aplikací je bohužel poněkud nemilé zjištění, že obsah této lišty je pevně dán a nelze jej modifikovat aplikacemi třetích stran. Je to škoda, protože na Fremantlu byly přidané indikátory hojně využívány, např. pro sledování toho, zda je otevřen kryt čočky, zda je aktivní VNP či SSH apod., na Harmattanu by se podobné využití také jistě našlo.

Fotoaparát

Fotoaparát v N950 na mě zapůsobil dobře, fotí opravdu rychle, výrazně rychleji než fotoaparát v N900. I uživatelské rozhraní pro ovládání mi připadá rychlejší a přehlednější. N950 i N9 nemají na rozdíl od N900 hardwarovou spoušť a jako spoušť slouží dotykové tlačítko v pravé části obrazovky. K focení dojde až potom, kdy je tlačítko uvolněno, je tedy možné i zaostřit, upravit kompozici, a teprve až potom fotit. Nepřišel jsem zatím na způsob, jak zrušit focení s už zmáčknutým tlačítkem spouště.

Kliknutím na obrazovku fotografické aplikace je možné určit, podle kterého místa bude fotoaparát ostřit.

Tato funkce mi bohužel občas kolidovala se stiskem dotykové spouště, respektive netrefil jsem se na spoušť, a zaostřovací kurzor se tak přesunul na místo, kterého jsem se nechtěně dotkl.

Balíčkování – pokračování

Ačkoliv oficiální označení OS běžícího na N950 zní „Meego 1.2 Harmattan“, liší se od „normálního“ MeeGo v jednom zásadním ohledu – místo balíčků RPM používá Harmattan DEB balíčky, stejně jako jeho předchůdce Maemo.

Výhodou použití DEB balíčků je určitá zpětná kompatibilita s Maemo. Mnoho balíčků z Maemo stačí většinou jen rekompilovat, balíčky z obřích repositářů Debianu a Ubuntu lze zpravidla použít po mírných modifikacích.

Nevýhodou je, že na Harmattanu nelze přímo použít balíčky pro MeeGo a že vývojáři aplikací musí svou aplikaci balíčkovat dvakrát – jednou jako DEB balíček pro Harmattan a podruhé jako RPM pro „obyčejné“ MeeGo.

Open Build Service

Hlavním nástrojem pro balíčkování aplikací pro MeeGo je Open Build Service. OBS byl původně vyvinut pro distribuci OpenSUSE, nyní jej však využívá mnoho dalších distribucí, včetně MeeGo. Systém zvládá jak RPM, tak DEB balíčky, což umožňuje tvorbu balíčků i pro Harmattan.

Jak OBS funguje ?

Instance OBS běží na serveru a spravuje projekty, balíčky a repositáře a kompiluje balíčky na vlastní build-farmě. Pro práci s OBS je potřeba se nejdříve na konkrétní instanci zaregistrovat, správu svého projektu je pak možné provádět buďto pomocí webového rozhraní nebo z příkazové řádky utilitou zvanou osc (práce s ní dost připomíná práci např. s GITem nebo SVN). Z osobní zkušenosti mohu říct, že webové rozhraní je vhodné zejména pro hrubou správu a sledování projektu a osc hlavně pro nahrávání změn zdrojových kódů.

Celkově OBS působí velmi promyšleným dojmem, balíčky se automaticky překompilují při aktualizaci zdrojových kódů či dle potřeby po rekompilaci svých závislostí. Lze také snadno „branchnout“ něčí balíček, provést na něm změny a poslat zpět merge request. Balíček z vlastního projektu je také možné nabídnou pro zahrnutí do projektu cizího.

Komunitní OBS

Instance „Komunitní OBS“ (COBS) se nachází na adrese build.pub.meego.com a umožňuje tvorbu balíčků pro všemožné verze MeeGo a experimentálně i pro Harmattan a Maemo 5 Fremantle.

COBS běží ve zkušebním provozu, způsob registrace je tedy poněkud netradiční: nejdříve je třeba zaregistrovat účet na MeeGo.com, pak odchytit jednoho ze správců (lbt nebo X-Fade) na IRC kanálu #meego, aby účet aktivoval pro COBS. :)

COBS v současnosti slouží podobně jako např. osobní repositáře v Ubuntu (PPA). Harmattan target automaticky vyrobí pro projekt repositář s DEB balíčky, uživatelé si přidají odkaz na tento repositář a je hotovo.

Z praktických důvodů by nebylo špatné, kdyby uživatelé nemuseli kvůli každému balíčku přidávat odkaz na nový repositář. Za tímto účelem začal na COBS vznikat dočasný komunitní repositář v projektu home:rzr:harmattan.

Jak je to s centrálním komunitním repozitářem

Maemo 5 Fremantle, který běží na N900, má centrální repositář komunitních aplikací zvaný Extras. Tento repositář aktivuje Nokia na všech N900 už z výroby, běžní uživatelé tak s komunitními aplikacemi přijdou snadno do styku. Vzhledem k relativně málo početným aplikacím dostupným pro N900 z Ovi store tvoří Extras jejich významný zdroj.

Původní plán pro MeeGo 1.2 Harmattan a komunitní aplikace na MeeGo byl zprovoznit obdobu Extras propojenou s COBS na doméně apps.meego.com na infrastruktuře Linux Foundation, která v podstatě MeeGo zaštiťuje. Práce na tomto projektu se dostala do relativně pokročilého stádia, když se LF najednou vyjádřila proti jeho realizaci a kdy LF nejasně argumentovala potenciálními problémy se softwarovými patenty.

apps.formeego.com

Vývojáři, kteří doposud pracovali na apps.meego.com, se tedy po negativní reakci LF rozhodli komunitní repositář přesunout na samostatnou doménu (darovanou členem komunity) a na infrastrukturu nacházející se pro jistotu co nejdál od USA. Nelze také opomenout pomoc společnosti Nokia, která pro financování této akce schválila provizorní rozpočet a plánuje také (podobně jako dříve Extras na N900) aktivovat apps.formeego.com na N9.

Nakonec tedy zřejmě bude existovat možnost, jak komunitní aplikace distribuovat. I přesto je však škoda, že se nepodařilo s LF dohodnout, a dochází proto jak k částečné fragmentaci, tak k dalšímu zdržení spuštění komunitního repositáře kvůli přechodu na novou infrastrukturu.

Aegis

Pod názvem Aegis se skrývá „bezpečnostní systém“ Harmattanu. Pravděpodobně se jedná o reakci na relativně nedávné průšvihy s bezpečností na ostatních mobilních platformách. Aegis (mimo jiné) hlídá přístup ke zdrojům (kamera, kontakty atd.) a snaží se i udržet integritu nainstalovaných balíčků. Vedlejším efektem pak je, že např. není možné spustit shellový script běžným způsobem (./script.sh nebo ./script.py) ale pouze pomocí některého již nainstalovaného běhového prostředí (sh script.sh nebo python script.sh). Zkompilované aplikace pak zřejmě nejde spustit vůbec a je nutné je nejdříve zabalit a balíček nainstalovat.

Osobně jsem zatím neměl s Aegis problémy. Někteří vývojáři, hlavně ti nízkoúrovňově zaměření, však hlásí určité problémy. Jednak prý root na Harmattanu v zásadě není úplný root a Aegis v podstatě stojí nad ním. Jako druhý problém se jeví snaha Aegis o udržení integrity nainstalovaných aplikací. Reakce na narušení integrity (uzamčení telefonu vynucující si přeflashování firmware) působí poněkud nedomyšleně.

První komunitní aplikace

První ovoce programu, který poskytl 250 + 50 vývojových sad s N950 komunitním vývojářům, se urodilo brzy. Byly vytvořeny jak porty z N900 či jiných platforem, tak i nové aplikace.

ModRana na Harmattanu

 Souboj s OBS

Ve výchozí instalaci Harmattanu zcela chybí GTK a PyGTK, ale Pango a Cairo k dispozici jsou. Aby tedy bylo možné balíček s GTK zkompilovat, bylo nutné ještě sehnat balíček s ATK a několik vývojových balíčků pro X. Poté, co byly splněny všechny závislosti, kompilace balíčku na OBS stále selhávala na chybě v debian/rules skriptu – avšak v Harmattan SDK, založeném na Scratchboxu, kompilace proběhla v pořádku. Něco tedy bylo špatně s OBS. Po několika dnech debat s ostatními vývojáři na IRC se nakonec přišlo na to, že se tvůrci OBS rozhodli ve výchozím nastavení spustit celou tvorbu balíčku ve 4 vláknech najednou (to kvůli rychlejší kompilaci balíčků), navzdory oficiální balíčkovací politice Debianu. Komplexnější balíčky (např. GTK) s paralelním během svých skriptů nepočítají, a proto jejich kompilace selhává.

Výsledkem několika dalších dnů debat bylo objevení speciálního targetu .NOTPARALLEL: pro gmake, který by měl po svém přidání na konec debian/rules paralelní kompilaci vypnout. Zdá se, že to opravdu funguje, protože řada balíčků po přidání toho targetu nyní kompilaci zvládá nebo alespoň oznámí jinou chybu než předtím.

Už to jede

Ano, modRana už běží i na N950! :)

Pohled na mapu

Pohled na mapu

Menu s tracklogem

 

Start modRany na N950 trvá pouze ~ 1391 ms :)

Jak modRanu nainstalovat

deb http://repo.pub.meego.com//home:/MartinK:/gtk/MeeGo_1.2_Harmattan_Maemo.org_MeeGo_1.2_Harmattan_standard/

Co funguje

Co nefunguje

Zpětná vazba

Prosím podělte se o své zkušenosti s modRanou na Harmattanu! Pište do komentářů k článku nebo na projektový email (modrana at gmail dot com). Po odstranění největších nedostatků plánuji také založení modRana vlákna na MeeGo fóru.

 Mieru na Harmattanu

Mieru, aplikace pro pohodlné čtení mangy a komiksu, je druhou aplikací, na jejímž vývoji pracuji. Současné rozhraní verze pro Maemo 5 Fremantle využívá kombinaci Clutteru (který se mi zatím v OBS zkompilovat nepodařilo), GTK a Hildonu (který na Harmattanu není a dost možná nikdy nebude). Rozhodl jsem se proto vytvořit pro Mieru další rozhraní, založené na QML.

Práce na oddělení grafické a negrafické části kódu byla z větší části dokončena již dříve. Zbývá tedy jen přidat samotné QML rozhraní. Podobně bych pak rád v budoucnu přidal i rozhraní založené na čistém GTK, určené pro pomalejší zařízení bez grafické akcelerace.

Kde se schází komunita

Většinu známých jmen kolem MeeGo a Harmattanu lze potkat na IRC, ve třech hlavních kanálech na síti freenode:

#harmattan – kanál zaměřený na N9, N950 a jejich OS

#meego – všeobecný MeeGo kanál, lze na něm zastihnout správce Harmattan targetu v komunitním OBS pod přezdívkou X-Fade i jeho kolegu správce COBS jménem lbt

#meego-arm – zde se schází komunita kolem MeeGo CE (Community Edition). MeeGo v zásadě tvoří pouze základní platformu, nad kterou jednotliví výrobci přidávají svá vlastní rozhraní a další drobnosti, MeeGo CE se o něco podobného snaží v rámci komunity.

Mimo IRC používají členové komunity také diskuzní fórum na MeeGo.com a nesčetné MeeGo mailing listy.

Sdílejte:

Share this:

Posted in MeeGo, Recenze • Tags: , , , , , , Top Of Page

10 Responses to “Měsíc s vývojovou sadou N950”

Comment from Rezza
Time 26. 8 2011 at 08:19

Nejde jen o deby v MeeGo, on cely spodek je klasicke Maemo, ktere s MeeGo Core ma spolecne tak akorat jadro (a to neni vanilka). Az UX je MeeGo like (a porad ne zcela MeeGo).

Comment from launchpad.net/~pali
Time 26. 8 2011 at 09:53

Nema nahodou N9/N950 opatchovane jadro z linux-omap? Myslim ze Meego urcite toto nepouziva :)

N950 sice nemam, ale ako som sa pozeral na harmattan SDK repozitar moc tam z Maema nevidim… Gtk/Hildon bol zahodeny, OSSO kniznice, vsetky applikacie takisto.

Ale ako sa pozeram z Meega tam tiez toho moc nevidim… (dobre maju tam 5 a pol Meego kniznic). Vlastne closed UI Swipe, vlastny closed network manager icd2 (aha tento je z Maema a nepouzivaju Meego connman), vlastny cellularny stack csd (opat nepouzivaju ofono z Meega)…

Neviem preco to mohli nazvat Meego, ked nepouzivaju ani Handset ani inu dalsiu “oficialnu” verziu a skoro vsetko maju vlastne closed (a nepatri to LF). To potom mozem povedat ze na svojej N900-ke mam BSD, lebo pouzivam OpenBSD SSH server/klienta 😀

===

Co sa tyka toho Aegis, to sa akoze neda obist? Flashnutie vlastneho kernelu, ci (pomocou balickovacieho systemu) nainstalovat wrapper ktory by spravil execve na binarnu aplikaciu (alebo ak ani to nejde tak by to spravil nejaky kernelovy modul)? Alebo dynamicky zlinkovane aplikacie spustat pomocou /lib/ld-linux.so ?

Ako vlastne ten Aegis na linuxe funguje? Je v kerneli ci v user-space? Moc mi to nejde do hlavy ako by niekto mohol odopriet pristup pouzivat systemove volania (ako napr. exec)?

Comment from Pavol Rusnak
Time 26. 8 2011 at 12:46

OBS je Open Build Service, nie Open Build System :-)

Comment from Igor Šmerda
Time 26. 8 2011 at 15:03

Zdravím,
jsem rád, že je zájem o N950 a také o vývoj pro N9. Abychom “pomohli” tak nabízím podporu týmu MeeGo, který nastoupí na hackathon na MOBERA 2011 – http://www.mobera.eu
Pro více informací, kontaktování mi napište > igor.smerda@nokia.com

Comment from Rezza
Time 26. 8 2011 at 15:24

pali, je to tak. I v Nokii si nejsou jisti jak to nazyvat (krom marketingu, hh). V SDK je to chvili Maemo, chvili MeeGo, chvili Harmattan. Quim Gil, community manager z Nokie, to shrnul jednoduse – kdyz to nechcete nazyvat MeeGo, nenazyvejte to ani Maemo. Takze Harmattan je asi nejlepsi oznaceni. Subjektivne z pouzivani jde prekvapive dost citit jak stare dobre Maemo, tak kupodivu i MeeGo Handset. Osobne mohu rict, ze UI se mi libi, perfektne se ovlada. A Fremantle UI bylo taky closed, tady diky blizkosti k MeeGo Handset by melo jit jednoduse udelat podobne open source. Problemy s N950 jsou spatny prijem signalu a vydrz baterie. Proto pisu z N900, hh.

Comment from launchpad.net/~pali
Time 27. 8 2011 at 02:04

Mas pravdu, najlepsie oznacenie asi bude harmattan.

Inak UI vo fremantle je otvorene. Hildon, GTK, desktop, window manager a par aplikacii su pod (L)GPL. Zavrete su vsetky defaultne desktop widgety a statusbar/controlpanel pluginy a vacsina samostanych aplikacii (ako addressbook, messaging, clock, calculator). ale dost z toho sa prepisalo pre CSSU…

Comment from launchpad.net/~pali
Time 30. 8 2011 at 09:18

Pre zaujimavost co dokaze Aegis:
http://forum.meego.com/showpost.php?p=25529&postcount=94

Pingback from openMagazin 11/2011 | openMagazin
Time 2. 11 2011 at 08:08

[…] Měsíc s vývojovou sadou N950 […]

Pingback from openMagazin 11/2011 | Blog počítačového nadšence 2.0
Time 6. 11 2011 at 17:44

[…] Měsíc s vývojovou sadou N950 […]

Comment from gta
Time 12. 9 2015 at 16:48

Very shortly this web page will be famous among all blog people,
due to it’s good content

Write a comment


Yandex Mail.ru Google LiveJournal myOpenId Flickr claimId Blogger Wordpress OpenID Yahoo Technorati Vidoop Verisign AOL