Instacast je můj oblíbený klient pro poslech podcastů na iOS. Verze 3,
která vyšla v prosinci, přinesla spolehlivou synchronizaci nepřehraných
epizod a aktuální pozice při poslechu.
Jelikož zatím nebyla k dispozici verze pro Mac, byl jsem doma odkázaný
k poslechu podcastů z iPhonu položeného na stole. (A nebyl jsem
v tom sám.)
Betaverze pro Mac již měsíc testuji a používám k plné spokojenosti.
Dnes vyšla první veřejná beta, stahujte.
Andreas Bonini rozebírá, jak by měla vypadat ideální URL:
We are all familiar with URLs: the string uniquely identifying the requested
document. However, we don’t always consider they are more than that: URLs are
user facing and should be considered important UI elements.
S Vaškem Purchartem, mým kolegou a autorem oblíbeného článku Architektura
aplikací nad Doctrine 2, jsme připravili nové školení, na kterém vás
naučíme efektivně pracovat s tímto frameworkem.
Doctrine 2, jejíž tvůrci vycházejí ze standardu JPA ze světa Javy, vám
umožní pracovat v aplikaci s daty uloženými v databázi jako
s plnohodnotnými objekty. Díky tomu se vám bude snadněji udržovat jejich
konzistence a při dodržení best practices, se kterými vás seznámíme,
klesne chybovost vašeho kódu a bude snadněji testovatelný.
Pokud nejste spokojení s tím, jak ve vašich aplikacích pracujete
s databází, určitě
přijďte. První termín je již 26. dubna.
They could have presented it as a technological marvel, a device that
combines a high-resolution multitouch screen, fast mobile processor, cell and
WiFi radios, and proximity, ambient light and accelerometer sensors into a
handheld device with desktop-breed software and surprisingly-good battery life,
a PC in your pocket. But they didn’t; rather, they presented it in terms of
what it did for users and what they would find useful about it.
Nedávno jsem si uvědomil, že na mobilních zařízeních trávím více
času, než u počítače. Díky přenositelnosti a výdrži baterie je to pro
mě lepší volba navzdory zjednodušenému operačnímu systému a dotykové
klávesnici.
Novou verzi iOS tak očekávám s větším zájmem, než Mac OS X.
Současná šestá verze oproti svému předchůdci nepřinesla moc nového,
předpokládám tedy, že Apple už druhým rokem pracuje na zásadnějším
updatu.
iCloud
V posledních dnech vyšloněkolikne
zrovna pochvalných článků o iCloudu. Pod tuto značku patří více
různých služeb – e-mailová schránka, kalendář a úložiště
kontaktů, ale především API pro aplikace třetích stran. Právě s ním
jsou největší problémy a vývojáři se uchylují k jiným službám
(např. Simperium) nebo k vlastní
infrastruktuře (např. Things
nebo Instacast).
Pokud byste se dnes rozhodli použít pro svoji aplikaci iCloud, musíte si
vybrat jedno ze tří úložišť pro svá data. Jednoduché key-value, kam lze
uložit maximálně 1000 hodnot, souborové a databázové (CoreData). Nejvíce
problémů je s CoreData, které je ale zároveň nejlákavější. Slibuje
totiž synchronizaci vzájemně provázaných datových struktur, což je velká
výzva samo o sobě. Kromě principiálních problémů s tímto složitým
úkolem ale API někdy nefunguje
ani na té nejzákladnější úrovni a vývojáři se těžko mohou dopídit,
v čem je chyba.
Apple tohle musí vyřešit. Ať už tím, že opraví stávající
implementaci CoreData, nebo že vytvoří čtvrté API s podobnou
funkcionalitou, ale s úmyslem cloudové synchronizace už od začátku.
CoreData totiž měli vývojáři k dispozici už před iCloudem jako běžné
databázové úložiště a tato funkcionalita do něj byla jen doplněná.
Pokud odhlédneme od toho, že synchronizace dat prostě nefunguje, iCloud
čelí dalším problémům. Souborový systém na iOS z pohledu uživatele
tvoří aplikační kontejnery. Každá nainstalovaná aplikace má tak
k dispozici svůj adresář a mimo něj číst nemůže. Stejně funguje
i dokumentové úložiště iCloudu. Pokud uložím prezentaci v Keynote do
iCloudu, na iPadu ji otevřu zase v Keynote. Pokud si ale soubor uložím
v aplikaci, která na druhém zařízení nemá protějšek od stejného
vývojáře, ten soubor prostě nenajdu. PDF si přes iCloud nepošlu, protože
ho na Macu můžu uložit jedině v aplikaci Preview a ta na iOS neexistuje.
Musím se uchýlit k Dropboxu nebo e-mailu. Tohle taky není jednoduchý
oříšek k vyřešení, protože Apple se úmyslu postavit zeď mezi
uživatele a filesystém nevzdá.
K datům v iCloudu lze přistupovat pouze v nativních aplikacích pro iOS
a Mac OS X. Pokud vývojář chce udělat třeba i variantu pro web nebo pro
Windows, musí si také vyvinout vlastní synchronizaci. To, že Apple podporuje
pouze svojí platformu, se dá pochopit, ale aplikuje tu dvojí metr –
k e-mailu, kalendáři a kontaktům se dostanete i ve webovém prohlížeči
na icloud.com.
Pokud má aplikace podporovat spolupráci více uživatelů, musí také mít
vlastní server. iCloud slouží jen jako úložiště dat jednoho uživatele.
V současnosti podporuje jen omezené případy užití a jakmile chce aplikace
dělat něco sofistikovanějšího, nemůže k tomu iCloud využít.
Apple musí tyto technologické a principiální nedostatky vyřešit.
Protože jinak hrozí, že ho ostatní
předeženou i v tom, v čem zatím vede a žádná konkurenční výhoda
mu nezbyde.
Meziaplikační komunikace
S podobou filesystému a aplikačními kontejnery souvisí i podoba
meziaplikační komunikace. Ta je na iOS velmi omezená.
Aplikace se mohou zaregistrovat pro otevírání určitých typů souborů.
PDF, které načtu v Safari, tak mohu otevřít v iBooks nebo v Dropboxu.
V tu chvíli se tento soubor nakopíruje do kontejneru iBooks.
Změny, které v souborech provádím, se tedy neprojevují do jeho dalších
instancí v jiných aplikacích.
Další možnost výměny dat jsou tzv. URL schemes. Každá aplikace si do
systému může zaregistrovat svůj protokol (např. googlechrome://) a
ostatní aplikace ji přes něj mohou mohou spouštět. Podmínkou tedy je, aby
vývojáři věděli o ostatních konkrétních aplikacích a
jejich podporu implementovali.
Mimochodem to znamená, že každá aplikace si musí sama implementovat
posílání odkazů do „read it later“ služeb a pokud pominu integrovaný
Twitter a Facebook v iOS 6, tak i podporu pro sdílení na
sociální sítě.
Naštěstí se v tomto ohledu blýská na lepší časy. Ole Begemann při
šťourání do vnitřností systému objevil
mechanismus tzv. remote view controllers, který Apple začal využívat např.
pro okno odesílání e-mailu. Aplikace Mail tímto způsobem nabízí použít
část sebe uvnitř jiné aplikace a po splnění úkolu opět odejít na
pozadí. V budoucnu by se právě tohle mohlo stát základem důmyslnějšího
sdílení dat mezi aplikacemi, které uživatelé ostatních operačních
systémů znají jako intents (Android) nebo contracts (Windows Phone).
Jony Ive
Po vyhození Scotta Forstalla na konci října došlo k rošádě na
nejvyšších pozicích firmy. Jony Ive převzal softwarový design a všichni
si od toho slibují
novou podobu uživatelského rozhraní iOS. Konec
kožených kalendářů a linkovaných poznámkových bloků!
Těžko říct, kolik razantních změn se za těch pár měsíců dá
stihnout a vzhlížel bych pro jistotu až k iOS 8, ale první vlaštovka už
dorazila. Na konci března dorazil
update aplikace Podcasts, který odstranil efektní, ale naprosto zbytečnou
pohyblivou magnetickou pásku.
Čeho se v iOS 7 skutečně dočkáme a jak bude vypadat se dozvíme
nejspíše v červnu na tradiční konferenci WWDC 2013.
Nový výborný blog, doporučuju všechny čtyři dosavadní články.
Jednou jsem do přílohy omylem vložil prázdný excel. Přišlo
poděkování za report a nic. Týden poté jsem si to otevřel a chtěl
přepsat data a uvědomil jsem si to. No a zkusil jsem to znovu. Zase
poděkování. Můj nástupce to dělá dodnes.
Marco Arment a John Siracusa po ukončení svýchpořadů v prosinci nevydrželi bez
podcastování dlouho. Hned v druhé polovině ledna začali s novou show Neutral o automobilech a jelikož si uvědomili,
že po pořadu se ještě hodinu baví o technice, udělali z toho
podcast také.
Mám za sebou jednu epizodu a
musím říct, že poslouchat tyhle dva ve společném éteru je
radost sama.
22. a 23. února jsem se v Londýně zúčastnil této konference.
Navzdory názvu se spousta přednášek dotýkala PHP jen okrajově a to bylo
jen dobře. Jednalo se již o osmý ročník akce a je na ní znát, že si
organizátoři berou zpětnou vazbu k srdci. Vše probíhalo bezproblémově,
v krásné lokalitě, Wi-Fi běhala
rychleji, než moje domácí připojení, mezi jednotlivými bloky bylo dostatek
času na přesun a o obědové pauze jsme měli k dispozici spoustu teplého
jídla. Některé české
akce by se mohly inspirovat.
Většina přednášek byla pokročilého charakteru a týkala se
zajímavých technologií. Nemusel jsem tedy postopadesáté poslouchat, že
mám srozumitelně pojmenovávat proměnné a jak napíšu svůj první
unit test.
Jelikož jsem našel shrnutí
většiny přednášek, na kterých jsem byl, nebudu se tu opakovat. A jsem si
téměř jistý, že za rok pojedu do Londýna zas.