<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jan korbel &#187; Web aplikace</title>
	<atom:link href="http://jankorbel.cz/category/web-aplikace/feed/" rel="self" type="application/rss+xml" />
	<link>http://jankorbel.cz</link>
	<description>Nejen o budování webů a web aplikací s důrazem na dojem uživatele (UX)</description>
	<lastBuildDate>Sun, 20 May 2012 11:02:08 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Sbírka detailů</title>
		<link>http://jankorbel.cz/2012/05/09/sbirka-detailu/</link>
		<comments>http://jankorbel.cz/2012/05/09/sbirka-detailu/#comments</comments>
		<pubDate>Wed, 09 May 2012 13:28:20 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[details]]></category>
		<category><![CDATA[essay]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3131</guid>
		<description><![CDATA[Jeff Atwood vtipnou oklikou přes automatické dávkovače jídla pro kočky ilustruje, jak důležité jsou detaily řešení ve vašem produktu. Getting the details right is the difference between something that delights, and something customers tolerate. A ještě jeden citát: This is all your app is: a collection of tiny details. – Wil Shipley Via @dmajda]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codinghorror.com/blog/2012/05/this-is-all-your-app-is-a-collection-of-tiny-details.html" title="Coding Horror: This Is All Your App Is: a Collection of Tiny Details">Jeff Atwood</a> vtipnou oklikou přes automatické dávkovače jídla pro kočky ilustruje, jak důležité jsou detaily řešení ve vašem produktu.</p>
<blockquote><p>
  <em>Getting the details right is the difference between something that delights, and something customers tolerate.</em>
</p></blockquote>
<p>A ještě jeden citát:</p>
<blockquote><p>
  <em>This is all your app is: a collection of tiny details.</em><br />
  – Wil Shipley
</p></blockquote>
<p>Via <a href="https://twitter.com/dmajda">@dmajda</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/05/09/sbirka-detailu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Školení budování web aplikací – verze 1.0</title>
		<link>http://jankorbel.cz/2012/05/03/skoleni-budovani-web-aplikaci-verze-1-0/</link>
		<comments>http://jankorbel.cz/2012/05/03/skoleni-budovani-web-aplikaci-verze-1-0/#comments</comments>
		<pubDate>Thu, 03 May 2012 12:26:27 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3117</guid>
		<description><![CDATA[Vypisuji další termín školení, tentokrát na 24. května. Zároveň zkouším novou službu pro pořádání školení Nauc.cz, takže se mrkněte, jak to vypadá.]]></description>
			<content:encoded><![CDATA[<p>Vypisuji další termín školení, tentokrát <a href="https://nauc.cz/jankorbel/2012-05-24/vyvoj_web_aplikaci_s_durazem_na_ui_ux">na 24. května</a>. Zároveň zkouším novou službu pro pořádání školení <a href="https://nauc.cz/">Nauc.cz</a>, takže se <a href="https://nauc.cz/jankorbel/2012-05-24/vyvoj_web_aplikaci_s_durazem_na_ui_ux">mrkněte</a>, jak to vypadá.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/05/03/skoleni-budovani-web-aplikaci-verze-1-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Storage.js</title>
		<link>http://jankorbel.cz/2012/04/26/storage-js/</link>
		<comments>http://jankorbel.cz/2012/04/26/storage-js/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 08:01:31 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[localstorage]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[wysiwyg]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3115</guid>
		<description><![CDATA[Simple HTML5 page edits. Storage.js uses the new HTML5 contenteditable attribute and localStorage to bring you HTML5 awesomeness. Prezentační stránka není moc hezká, ale technologie vypadá dobře.]]></description>
			<content:encoded><![CDATA[<blockquote><p>
  <em>Simple HTML5 page edits. <a href="http://ek.alphaschildren.org/projects/storagejs/" title="Storage.js, Simple HTML5 Page Edits">Storage.js</a> uses the new HTML5 <code>contenteditable</code> attribute and <code>localStorage</code> to bring you HTML5 awesomeness.</em>
</p></blockquote>
<p>Prezentační stránka není moc hezká, ale technologie vypadá dobře.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/04/26/storage-js/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Device.js</title>
		<link>http://jankorbel.cz/2012/04/26/device-js/</link>
		<comments>http://jankorbel.cz/2012/04/26/device-js/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 07:36:21 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[detection]]></category>
		<category><![CDATA[device]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[responsive]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3112</guid>
		<description><![CDATA[Device.js is a starting point for doing semantic, media query-based device detection without needing special server-side configuration, saving the time and effort required to do user agent string parsing. Dovolí vám měnit DOM, nejen načítat jiné CSS pro jiný rozměr displeje.]]></description>
			<content:encoded><![CDATA[<blockquote><p>
  <em><a href="https://github.com/borismus/device.js">Device.js</a> is a starting point for doing semantic, media query-based device detection without needing special server-side configuration, saving the time and effort required to do user agent string parsing.</em>
</p></blockquote>
<p>Dovolí vám měnit DOM, nejen načítat jiné CSS pro jiný rozměr displeje.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/04/26/device-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filepicker.io</title>
		<link>http://jankorbel.cz/2012/04/21/filepicker-io/</link>
		<comments>http://jankorbel.cz/2012/04/21/filepicker-io/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 09:06:17 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[infrastructure]]></category>
		<category><![CDATA[upoload]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3110</guid>
		<description><![CDATA[Další služba z kategorie &#8222;infrastruktura pro web aplikace&#8221;. Proč by měl každý programovat svoje napojení na Dropbox, Facebook a&#160;další aplikace, které náš uživatel používá a&#160;mohl by z&#160;nich chtít nahrávat soubory. Filepicker.io je řešení připravené pro použití. Via @rjs]]></description>
			<content:encoded><![CDATA[<p>Další služba z kategorie &bdquo;infrastruktura pro web aplikace&rdquo;.<br />
Proč by měl každý programovat svoje napojení na Dropbox, Facebook a&nbsp;další aplikace, které náš uživatel používá a&nbsp;mohl by z&nbsp;nich chtít nahrávat soubory.</p>
<p><a href="http://filepicker.io/" title="Filepicker.io">Filepicker.io</a> je řešení připravené pro použití.</p>
<p>Via <a href="https://twitter.com/rjs">@rjs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/04/21/filepicker-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Realistické hodnocení síly hesla</title>
		<link>http://jankorbel.cz/2012/04/13/realisticke-hodnoceni-sily-hesla/</link>
		<comments>http://jankorbel.cz/2012/04/13/realisticke-hodnoceni-sily-hesla/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 13:43:14 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[strength]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3084</guid>
		<description><![CDATA[Tech blog Dropboxu zveřejnil obsáhlý článek, ve kterém rozebírá sílu hesel a způsoby jejího měření (skvělý xkcd included). Ale nejen to! Navíc odkazuje na javascriptové udělátko, zvané poněkud nešťastně zxcvbn, které vám umožní rychle zobrazit sílu zadávaného hesla vašim uživatelům, případně je nutit do silnějších.]]></description>
			<content:encoded><![CDATA[<p><a href="http://tech.dropbox.com/?p=165" title="Dropbox tech blog  &raquo; Blog Archive   &raquo; zxcvbn: realistic password strength estimation">Tech blog Dropboxu zveřejnil obsáhlý článek</a>, ve kterém rozebírá sílu hesel a způsoby jejího měření (<a href="https://xkcd.com/936/">skvělý xkcd included</a>). Ale nejen to! Navíc odkazuje na javascriptové udělátko, zvané poněkud nešťastně <a href="https://github.com/lowe/zxcvbn">zxcvbn</a>, které vám umožní rychle zobrazit sílu zadávaného hesla vašim uživatelům, případně je nutit do silnějších.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/04/13/realisticke-hodnoceni-sily-hesla/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meteor: Nový způsob budování web aplikací</title>
		<link>http://jankorbel.cz/2012/04/11/meteor-novy-zpusob-budovani-web-aplikaci/</link>
		<comments>http://jankorbel.cz/2012/04/11/meteor-novy-zpusob-budovani-web-aplikaci/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 12:17:39 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[meteor]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3067</guid>
		<description><![CDATA[Meteor is a set of new technologies for building top-quality webapps in a fraction of the time, whether you&#8217;re an expert developer or just getting started. Zatím jsou ve verzi Preview 0.3.2, ale rozhodně mrkněte na tohle 10&#160;minutové video. Vypadá to hodně zajímavě. Via @keff85]]></description>
			<content:encoded><![CDATA[<blockquote><p>
  <em><a href="http://www.meteor.com/" title="Meteor">Meteor</a> is a set of new technologies for building <strong>top-quality webapps</strong> in a <strong>fraction of the time</strong>, whether you&#8217;re an expert developer or just getting started.</em>
</p></blockquote>
<p>Zatím jsou ve verzi Preview 0.3.2, ale rozhodně mrkněte na tohle 10&nbsp;minutové video. Vypadá to hodně zajímavě.</p>
<p>    <iframe src="http://player.vimeo.com/video/40104996?title=0&amp;byline=0&amp;portrait=0" width="650" height="370" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Via <a href="http://twitter.com/keff85">@keff85</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/04/11/meteor-novy-zpusob-budovani-web-aplikaci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Z archivu: Revoluce web aplikací</title>
		<link>http://jankorbel.cz/2012/04/10/z-archivu-revoluce-web-aplikaci/</link>
		<comments>http://jankorbel.cz/2012/04/10/z-archivu-revoluce-web-aplikaci/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 06:49:52 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3057</guid>
		<description><![CDATA[Dneska je to přesně 5 let, co jsem napsal článek o výhodách web aplikací pro nás vývojáře. Co jsem neviděl, byla výhoda web aplikací v právě se rodícím trhu mobilních aplikací. Inu, iPhone byl představen teprve tři měsíce předtím, než jsem to psal. Aby bylo jasno, netvrdím a nidky jsem netvrdil, že web aplikace bude [...]]]></description>
			<content:encoded><![CDATA[<p>Dneska je to přesně 5 let, co jsem napsal článek <a href="http://jankorbel.cz/2007/04/10/revoluce-web-aplikaci/" title="jan korbel  &raquo; Revoluce web aplikací">o výhodách web aplikací</a> pro nás vývojáře.</p>
<p>Co jsem neviděl, byla výhoda web aplikací v právě se rodícím trhu mobilních aplikací. Inu, iPhone byl představen teprve tři měsíce předtím, než jsem to psal.</p>
<p>Aby bylo jasno, netvrdím a nidky jsem netvrdil, že web aplikace bude to jediné, nebo snad to nejdůležitější v&nbsp;softwarové branži. Co tvrdím, je, že pořád hodně lidí nedoceňuje, jaká příležitost se tu otevřela.</p>
<p>Což mi připomíná: Ještě jsou <a href="http://jankorbel.cz/2012/04/06/release-candidate-skoleni-%E2%80%9Evyvoj-web-aplikaci-sdurazem-na-ui-aux/" title="jan korbel  &raquo; Release Candidate školení „Vývoj web aplikací s&nbsp;důrazem na UI a&nbsp;UX”">2 volná místa na školení</a> ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/04/10/z-archivu-revoluce-web-aplikaci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Candidate školení „Vývoj web aplikací s&#160;důrazem na UI a&#160;UX”</title>
		<link>http://jankorbel.cz/2012/04/06/release-candidate-skoleni-%e2%80%9evyvoj-web-aplikaci-sdurazem-na-ui-aux/</link>
		<comments>http://jankorbel.cz/2012/04/06/release-candidate-skoleni-%e2%80%9evyvoj-web-aplikaci-sdurazem-na-ui-aux/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 11:13:49 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Web aplikace]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=3021</guid>
		<description><![CDATA[Beta test školení (slidy) splnil účel, vím, kde byly hrany a&#160;jak je zahladit. Celkově se dá říct, že školení je ideální pro lidi, kteří mají zkušenost s&#160;tvorbou webů a&#160;chtěli by se nasměrovat na tvorbu web aplikací. Byznys část hodnotili přínosně i&#160;zkušení tvůrci web aplikací, kteří na školení byli. Wireframovací část odhalila slabinu mého záměru vymyslet [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jankorbel.cz/2012/03/13/beta-test-meho-skoleni-vyvoj-web-aplikaci-s-durazem-na-ui-a-ux/" title="jan korbel  &raquo; Beta test mého školení &bdquo;Vývoj web aplikací s&nbsp;důrazem na UI a&nbsp;UX&rdquo;">Beta test</a> školení (<a href="http://jankorbel.cz/2012/03/30/slidy-z-meho-beta-testu-skoleni-ui-pro-web-aplikace/" title="jan korbel  &raquo; Slidy z mého beta testu školení &bdquo;Vývoj web aplikací&rdquo;">slidy</a>) splnil účel, vím, kde byly hrany a&nbsp;jak je zahladit.</p>
<p>Celkově se dá říct, že školení je ideální pro lidi, kteří mají zkušenost s&nbsp;tvorbou webů a&nbsp;chtěli by se nasměrovat na tvorbu web aplikací.</p>
<p>Byznys část hodnotili přínosně i&nbsp;zkušení tvůrci web aplikací, kteří na školení byli. </p>
<p>Wireframovací část odhalila slabinu mého záměru vymyslet příkladovou aplikaci přímo na školení. Jeden z&nbsp;účastníků přišel s&nbsp;reálným příkladem aplikace, kterou se chystá dělat. Znělo to zajímavě a&nbsp;všichni jsme souhlasili, že to bude dobrý výchozí bod pro wireframování.</p>
<p>Problém se ukázal být v&nbsp;tom, že ještě neměl dostatek informací pro to, aby řekl, co je správně a&nbsp;co ne, takže ve výsledku se nedalo ponaučit z&nbsp;chyb a&nbsp;ukázat dobré postupy, protože nebyla kritéria, jak je posoudit.</p>
<p>Proto upravím wireframovací část ve směru návrhu aplikace, kterou jsem dělal (nebude to <a href="http://www.fakturoid.cz">Fakturoid</a>) a&nbsp;jsem tedy schopen ji popsat z&nbsp;pozice klienta a&nbsp;zároveň budu schopen zodpovědět vaše otázky při cvičení a&nbsp;lépe zhodnotit, co dává smysl a&nbsp;co ne.</p>
<h3>Termín dalšího školení</h3>
<p><strong>Kdy:</strong> 25. dubna (středa) od 9.30 do 17.00 hod<br />
<strong>Kde:</strong> <a href="http://prague.the-hub.net/public/kontakt-contact.html" title="Hub Praha  | Kontaktujte Nás  Contact Us">Hub Praha</a>, oranžová místnost<br />
<strong>Počet účastníků:</strong> 10 (už jen 2 místa volná)<br />
<strong>Cena:</strong> <del>5000 Kč</del> Release Candidate cena <strong>4000 Kč</strong> (nejsem plátce DPH)</p>
<h3><a href="mailto:jsem@jankorbel.cz?subject=Chci se zucastnit skoleni 25. dubna">Přihlašte se přes email</a></h3>
<h3>Hodí se školení pro vás?</h3>
<p>Vidíte v&nbsp;tvorbě web aplikací otevírající se příležitost? Uvažujete o&nbsp;tom, že byste vytvořili nějakou vlastní? Máte už firmu, která dělá webové prezentace a&nbsp;chcete rozšířit záběr a/nebo získat stabilní příjem z&nbsp;vlastní aplikace? Chcete získat slušný základ v&nbsp;obchodní strategii a&nbsp;v&nbsp;organizaci procesu tvorby web aplikace?</p>
<p>Pokud jste na něco odpověděli „Ano“, nemělo by vás školení zklamat.</p>
<h3>Školení přímo u&nbsp;vás ve firmě</h3>
<p>Nabízí se možnost kombinace školení a&nbsp;konzultace nad vaším produktem. <a href="mailto:jsem@jankorbel.cz?subject=Mame zajem o&nbsp;skoleni ve firme">Ozvěte se</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/04/06/release-candidate-skoleni-%e2%80%9evyvoj-web-aplikaci-sdurazem-na-ui-aux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Interakční model: Základní kámen web aplikací</title>
		<link>http://jankorbel.cz/2012/03/31/interakcni-model-zakladni-kamen-web-aplikaci/</link>
		<comments>http://jankorbel.cz/2012/03/31/interakcni-model-zakladni-kamen-web-aplikaci/#comments</comments>
		<pubDate>Sat, 31 Mar 2012 11:49:16 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[theory]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2996</guid>
		<description><![CDATA[An interaction model is a design model that binds an application together in a way that supports the conceptual models of its target users. It is the glue that holds an application together. It defines how all of the objects and actions that are part of an application interrelate, in ways that mirror and support [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
  <em>An interaction model is a design model that binds an application together in a way that supports the conceptual models of its target users. It is the glue that holds an application together. It defines how all of the objects and actions that are part of an application interrelate, in ways that mirror and support real-life user interactions. It ensures that users always stay oriented and understand how to move from place to place to find information or perform tasks. It provides a common vision for an application. It enables designers, developers, and stakeholders to understand and explain how users move from objects to actions within a system. It is like a cypher or secret decoder ring: <em>Once you understand the interaction model, once you see the pattern, everything makes sense.</em> Defining the right interaction model is a foundational requirement for any digital system and contributes to a cohesive, overall UX architecture.</em><br />
  – <a href="http://www.uxmatters.com/mt/archives/2012/01/defining-an-interaction-model-the-cornerstone-of-application-design.php" title="Defining an Interaction Model: The Cornerstone of Application Design :: UXmatters">Defining an Interaction Model: The Cornerstone of Application Design</a>, UXmatters
</p></blockquote>
<p>Dobré shrnutí teoretického přístupu a zajímavé nahlédnutí do procesu budování interakčního modelu pro rozsáhlou aplikaci ve velké firmě (HP).</p>
<p>Popisovaná aplikace — jakýsi cestovní portál, který má &bdquo;transform the future of travel&rdquo;, ehm — byla komplikovaná v tom, že potřebovali pokrýt více uživatelů s naprosto jinými cíli a&nbsp;tedy jinými interakčními modely. Vlastně je to jako navrhovat několik aplikací a ještě střechu nad nimi. </p>
<p>Pokud máte malý projekt, může vám dobře k zachycení interakcí posloužit třeba i&nbsp;<a href="http://37signals.com/svn/posts/1926-a-shorthand-for-designing-ui-flows" title="A shorthand for designing UI flows - (37signals)">jednoduchá technika</a>, protože ten vysoko-úrovňový pohled se dá shrnout třeba do toho, že &bdquo;zákazník potřebuje vystavit fakturu&rdquo;. Každopádně i&nbsp;tak potřebujete tuhle oblast promyslet.</p>
<p>Autor je malinko jetej v &bdquo;corporate speaku&rdquo;, takže to si musíte přefiltrovat, ale za přečtení rozhodně stojí.</p>
<p>Za odkaz díky <a href="https://twitter.com/#!/janrezac">@janrezac</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/03/31/interakcni-model-zakladni-kamen-web-aplikaci/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slidy z mého beta testu školení &#8222;Vývoj web aplikací&#8221;</title>
		<link>http://jankorbel.cz/2012/03/30/slidy-z-meho-beta-testu-skoleni-ui-pro-web-aplikace/</link>
		<comments>http://jankorbel.cz/2012/03/30/slidy-z-meho-beta-testu-skoleni-ui-pro-web-aplikace/#comments</comments>
		<pubDate>Fri, 30 Mar 2012 07:40:45 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[jankorbel]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2990</guid>
		<description><![CDATA[Beta test školení splnil svůj účel. Ověřil jsem si, že časově to vychází a&#160;našel jsem pár slabších míst, které budou chtít vylepšit. Další termín školení bych viděl někdy na polovinu dubna, ale to ještě upřesním tady na blogu.]]></description>
			<content:encoded><![CDATA[<p><a href="http://jankorbel.cz/2012/03/13/beta-test-meho-skoleni-vyvoj-web-aplikaci-s-durazem-na-ui-a-ux/">Beta test školení</a> splnil svůj účel. Ověřil jsem si, že časově to vychází a&nbsp;našel jsem pár slabších míst, které budou chtít vylepšit.</p>
<p>Další termín školení bych viděl někdy na polovinu dubna, ale to ještě upřesním tady na blogu.</p>
<p><iframe src="https://docs.google.com/presentation/embed?id=1use7r0KWOfwTaIV340e74duT0RE2BY2b4Ri6204Nv_A&#038;start=false&#038;loop=false&#038;delayms=3000" frameborder="0" width="830" height="648" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/03/30/slidy-z-meho-beta-testu-skoleni-ui-pro-web-aplikace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Budoucnost je mobilní</title>
		<link>http://jankorbel.cz/2012/03/28/budoucnost-je-mobilni/</link>
		<comments>http://jankorbel.cz/2012/03/28/budoucnost-je-mobilni/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 09:35:19 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[market]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[stats]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2987</guid>
		<description><![CDATA[Pokud vám snad ještě nedošlo, že už teď jsme v post-PC éře, snad vás přesvědčí prezentace The Future of Mobile. Mimochodem, to je taky jeden z důvodů, proč jsou web aplikace stále v zárodku boomu: HTML5 je jediná jednotná platforma pro velkou většinu mobilního trhu. Via @venca]]></description>
			<content:encoded><![CDATA[<p>Pokud vám snad ještě nedošlo, že už teď <strong>jsme v post-PC éře</strong>, snad vás přesvědčí prezentace <a href="http://www.businessinsider.com/the-future-of-mobile-deck-2012-3#-1">The Future of Mobile</a>.</p>
<p>Mimochodem, to je taky jeden z důvodů, proč jsou web aplikace stále v zárodku boomu: HTML5 je jediná jednotná platforma pro velkou většinu mobilního trhu.</p>
<p>Via <a href="https://twitter.com/#!/venca">@venca</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/03/28/budoucnost-je-mobilni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery File Upload</title>
		<link>http://jankorbel.cz/2012/03/15/jquery-file-upload/</link>
		<comments>http://jankorbel.cz/2012/03/15/jquery-file-upload/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 08:28:42 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2946</guid>
		<description><![CDATA[Zatím asi nejlepší plugin pro upload souborů. Další řešení uploadu najdete v mých záložkách na Zootool. Via @enoice]]></description>
			<content:encoded><![CDATA[<p>Zatím asi nejlepší <a href="http://blueimp.github.com/jQuery-File-Upload/" title="jQuery File Upload Demo">plugin pro upload souborů</a>. Další řešení uploadu najdete v mých <a href="http://zootool.com/user/jankorbel/type:all/search:file%20upload" title="Jan Korbel on Zootool">záložkách na Zootool</a>.</p>
<p>Via <a href="https://twitter.com/enoice">@enoice</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/03/15/jquery-file-upload/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beta test mého školení &#8222;Vývoj web aplikací s důrazem na UI a UX&#8221;</title>
		<link>http://jankorbel.cz/2012/03/13/beta-test-meho-skoleni-vyvoj-web-aplikaci-s-durazem-na-ui-a-ux/</link>
		<comments>http://jankorbel.cz/2012/03/13/beta-test-meho-skoleni-vyvoj-web-aplikaci-s-durazem-na-ui-a-ux/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 08:46:19 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Web aplikace]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2923</guid>
		<description><![CDATA[Tohle školení jsem v&#160;hlavě převaloval přes rok. Hledal jsem správný přístup pro to, co chci docílit. Je mi jasné, že za jeden den, nikoho nemůžu skutečně naučit, jak se dělá uživatelské rozhraní a&#160;jak docílit co nejlepší dojem uživatele. Je to příliš rozsáhlé pole, navíc se důležité aspekty budou lišit produkt od produktu. Co vás můžu [...]]]></description>
			<content:encoded><![CDATA[<p>Tohle školení jsem v&nbsp;hlavě převaloval přes rok. Hledal jsem správný přístup pro to, co chci docílit. Je mi jasné, že za jeden den, nikoho nemůžu skutečně <strong>naučit</strong>, jak se dělá uživatelské rozhraní a&nbsp;jak docílit co nejlepší dojem uživatele. Je to příliš rozsáhlé pole, navíc se důležité aspekty budou lišit produkt od produktu.</p>
<p>Co vás můžu naučit je, jak nad tím vším uvažovat a&nbsp;kde se dál učit.</p>
<p>Mým cílem je udělat školení, které bych býval velmi rád absolvoval před nějakými třemi roky a&nbsp;koneckonců bych si ho dal i&nbsp;dnes, abych věděl, jak uvažuje a&nbsp;pracuje někdo jiný.</p>
<p><span id="more-2923"></span></p>
<h3>Program školení</h3>
<p><strong>1. Byznys strategie: CO a&nbsp;JAK vůbec dělat</strong><br />
Zamyšlení nad situací na trhu, kam chceme proniknout, jak určit záběr a&nbsp;cílovou skupinu zákazníků. Jak organizovat samotný proces tvorby aplikace.</p>
<p><strong>2. Wireframy, flow a&nbsp;prototypování</strong><br />
Jak se dostat od představy o&nbsp;obchodním modelu k&nbsp;něčemu, co se dá testovat.</p>
<p><strong>3. Copywriting</strong><br />
Váš produkt hovoří všemi texty, představují důležitou část UI/UX.</p>
<p><strong>4. Typografie</strong><br />
Pokud šaty dělají člověka, typografie dělá UI.</p>
<p>Jednotlivé obsahové celky jsou proloženy zhruba <strong>6&nbsp;praktickými cvičeními</strong>, na která se budu snažit vyhradit <strong>většinu času</strong>. Věřím, že to bude nejlepší cesta, jak opravdu ukázat způsob myšlení nad řešením výzev tvorby web aplikace. Školení bude maximálně pro 10 lidí, aby dobře fungovala interakce při cvičeních.</p>
<p>Odvyprávím kousek teorie, pak zadám cvičení, které by pro úvodní část wireframů mohlo znít třeba &#8222;Představte si, že banka po vás chce udělat lepší rozhraní pro správu účtu. Na co se budete ptát?&#8220; Nechám 10 minut na rozmyšlenou, pak si projdeme, co jsme vymysleli a&nbsp;posuneme se do další fáze.</p>
<p>Beta test pořádám proto, že chci <strong>ověřit</strong>, kolik se toho dá stihnout, kolik času věnovat jednotlivým částem výkladu a&nbsp;hlavně kolik času si vyžádají cvičení.</p>
<p>Co ve školení <strong>nebude</strong> je výuka CSS, HTML ani JavaScriptu. Počítač byste neměli potřebovat, ale klidně si ho vezměte. Určitě vás nasměruji na zdroje, kde se o&nbsp;HTML5 z&nbsp;pohledu web aplikací můžete dozvědět dost a&nbsp;dost. Možná na to udělám časem extra školení, ale tohle to nebude. Jen aby bylo jasno ;-)</p>
<h3>Pro koho se školení hodí</h3>
<p>Vidíte v&nbsp;tvorbě web aplikací otevírající se příležitost? Uvažujete o&nbsp;tom, že byste vytvořili nějakou vlastní? Láká vás založení startupu? Máte už firmu a&nbsp;potřebujete nastavit svůj tým správným směrem? Baví vás tvorba uživatelských rozhraní a&nbsp;chcete se zlepšit? Chcete získat slušný základ v&nbsp;obchodní strategii a&nbsp;v organizaci procesu tvorby web aplikace?</p>
<p>Pokud jste na něco odpověděli &#8222;Ano&#8220;, nemělo by vás školení zklamat.</p>
<h3>Školení přímo u&nbsp;vás ve firmě</h3>
<p>Nabízí se možnost kombinace školení a&nbsp;konzultace  nad vaším produktem. <a href="mailto:jsem@jankorbel.cz?subject=Mame zajem o skoleni ve firme">Ozvěte se</a>.</p>
<h3>Kdy, kde a&nbsp;za kolik</h3>
<p><strong>Kdy:</strong> 29. března, 10:00-19:00<br />
<strong>Kde:</strong> Praha, místo upřesním<br />
<strong>Počet účastníků:</strong> 10<br />
<strong>Cena na osobu:</strong> <del>5&nbsp;000 Kč</del> Beta test cena <strong>2&nbsp;500 Kč</strong> vč. DPH</p>
<h3>Jak se přihlásit?</h3>
<p><a href="mailto:jsem@jankorbel.cz?subject=Chci se zucastnit skoleni 29. brezna">Prostě mi napište.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/03/13/beta-test-meho-skoleni-vyvoj-web-aplikaci-s-durazem-na-ui-a-ux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Shadow</title>
		<link>http://jankorbel.cz/2012/03/07/adobe-shadow/</link>
		<comments>http://jankorbel.cz/2012/03/07/adobe-shadow/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 12:58:18 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[shadow]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2887</guid>
		<description><![CDATA[Adobe Shadow řeší problém, který mají všichni vývojáři aplikací a&#160;webů, když je chtějí ladit pro mobilní zařízení: Kód tvoříte na svém počítači lokálně a&#160;na lokální server se těžko napojí váš mobil/tablet. Má to jeden háček zatím to podporuje localhost pouze tak, že zadáte přímo IP vašeho počítače a web pak musí běžet např. na &#8222;192.168.1.100/mujweb/&#8220;. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://labs.adobe.com/technologies/shadow/" title="Adobe Shadow | preview mobile web - Adobe Labs">Adobe Shadow</a> řeší problém, který mají všichni vývojáři aplikací a&nbsp;webů, když je chtějí ladit pro mobilní zařízení: Kód tvoříte na svém počítači lokálně a&nbsp;na lokální server se těžko napojí váš mobil/tablet.<br />
Má to <strong>jeden háček</strong> zatím to podporuje localhost pouze tak, že zadáte přímo IP vašeho počítače a web pak musí běžet např. na &#8222;192.168.1.100/mujweb/&#8220;. Já ale potřebuju rozběhnout lokální URL ve tvaru &#8222;test.fakturoid.dev&#8220;, což asi taky nějak půjde obejít, ale s tím už mi Adobe Shadow nepomůže a dost možná ho s takovým řešením už nebudu potřebovat. Ačkoli ten automatický reload a to ladění kódu se bude hodit i tak.</p>
<p><iframe title='AdobeTV video player' width='640' height='367' src='http://tv.adobe.com/embed/877/12009/' frameborder='0' allowfullscreen scrolling='no'></iframe></p>
<p>Via <a href="https://twitter.com/#!/dnna">@dnna</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/03/07/adobe-shadow/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Noty: A jQuery notification plugin</title>
		<link>http://jankorbel.cz/2012/02/21/noty-a-jquery-notification-plugin/</link>
		<comments>http://jankorbel.cz/2012/02/21/noty-a-jquery-notification-plugin/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 08:20:05 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[alert]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[notification]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2804</guid>
		<description><![CDATA[Generátor různých hlášek v aplikaci, včetně pokročilého nastavení jak a kde budou vyskakovat. Samozřejmě se nedříve snažíme žádné hlášky vůbec nevypisovat a sdělit danou informaci v rámci uživatelského flow, ale když už nebude zbytí&#8230; ;-)]]></description>
			<content:encoded><![CDATA[<p><a href="http://needim.github.com/noty/" title="noty - a jquery notification plugin">Generátor různých hlášek v aplikaci</a>, včetně pokročilého nastavení jak a kde budou vyskakovat. Samozřejmě se nedříve snažíme žádné hlášky vůbec nevypisovat a sdělit danou informaci v rámci uživatelského flow, ale když už nebude zbytí&hellip; ;-)</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/02/21/noty-a-jquery-notification-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SaaS: Next generation</title>
		<link>http://jankorbel.cz/2012/02/18/saas-next-generation/</link>
		<comments>http://jankorbel.cz/2012/02/18/saas-next-generation/#comments</comments>
		<pubDate>Sat, 18 Feb 2012 09:52:04 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[basecamp]]></category>
		<category><![CDATA[next]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2794</guid>
		<description><![CDATA[Basecamp byla, alespoň v mých očích, taková vlajková loď web aplikací a modelu Software as a Service (SaaS). 37signals před pár dny představili novou generaci Basecampu. Jak už jsem tweetnul, myslím, že to bude vlajková loď nové generace web aplikací. Ještě méně abstrakce, méně tlačítek, plynulé flow, rychlost, rychlost, rychlost. — Zdroj Jason Fried, Basecamp [...]]]></description>
			<content:encoded><![CDATA[<p>Basecamp byla, alespoň v mých očích, taková vlajková loď web aplikací a modelu Software as a Service (SaaS). <a href="http://37signals.com/" title="37signals: Web-based collaboration apps for small business">37signals</a> před pár dny představili novou generaci Basecampu. Jak už jsem <a href="https://twitter.com/#!/jankorbel/status/170427910807764992">tweetnul</a>, myslím, že to bude vlajková loď nové generace web aplikací.</p>
<p>Ještě méně abstrakce, méně tlačítek, plynulé flow, rychlost, rychlost, rychlost.</p>
<p><iframe src="http://player.vimeo.com/video/36917486" width="800" height="450" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>— Zdroj Jason Fried, <a href="http://37signals.com/svn/posts/3111-basecamp-next-ui-preview" title="Basecamp Next: UI preview - (37signals)">Basecamp Next: UI preview</a></p>
<p>Za přečtení rozhodně stojí <a href="http://37signals.com/svn/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using-much-client-side-ui" title="How Basecamp Next got to be so damn fast without using much client-side UI - (37signals)">vysvětlení DHH</a>, jak se jim podařilo dosáhnout takové rychlosti odezvy. Spoiler: HTML5 pushState a cacheování až za hrob.</p>
<p><em>Přídáno 19. 2. 2012: <a href="http://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works">DHH blíže vysvětluje cacheování v Rails</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/02/18/saas-next-generation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tinycon dynamicky mění favicony</title>
		<link>http://jankorbel.cz/2012/02/08/tinycon-dynamicky-meni-favicony/</link>
		<comments>http://jankorbel.cz/2012/02/08/tinycon-dynamicky-meni-favicony/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 08:46:14 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[notification]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2741</guid>
		<description><![CDATA[Pokud by se vám hodilo zobrazovat nějaké notifikační číslo v ikoně web aplikace v tabu prohlížeče, pak vám zkuste Tinycon. Když prohlížeč nepodporuje dynamické favicony, bude měnit title stránky.]]></description>
			<content:encoded><![CDATA[<p>Pokud by se vám hodilo zobrazovat nějaké notifikační číslo v ikoně web aplikace v tabu prohlížeče, pak vám zkuste <a href="http://tommoor.github.com/tinycon/" title="Tinycon - Favicon Alert Bubbles">Tinycon</a>. Když prohlížeč nepodporuje dynamické favicony, bude měnit title stránky.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/02/08/tinycon-dynamicky-meni-favicony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nová verze u SaaS</title>
		<link>http://jankorbel.cz/2012/02/08/nova-verze-u-saas/</link>
		<comments>http://jankorbel.cz/2012/02/08/nova-verze-u-saas/#comments</comments>
		<pubDate>Wed, 08 Feb 2012 08:38:05 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[basecamp]]></category>
		<category><![CDATA[next]]></category>
		<category><![CDATA[saas]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2739</guid>
		<description><![CDATA[Jason Fried vysvětluje, proč se rozhodli udělat Basecamp Next jako samostatný produkt, do kterého budou mít stávající uživatelé Basecampu co nejjednodušší přechod, pokud se pro něj rozhodnou. What’s new with SaaS (Software as a Service) products like Basecamp is that legacy doesn’t just build up in the code base, it builds up in customer expectations. [...]]]></description>
			<content:encoded><![CDATA[<p>Jason Fried vysvětluje, proč se rozhodli udělat <a href="http://37signals.com/basecampnext/" title="Basecamp Next: Get an invite.">Basecamp Next</a> jako samostatný produkt, do kterého budou mít stávající uživatelé Basecampu co nejjednodušší přechod, pokud se pro něj rozhodnou.</p>
<blockquote><p>
  <em>What’s new with SaaS (Software as a Service) products like Basecamp is that legacy doesn’t just build up in the code base, it builds up in customer expectations. People get used to the way things are. Even things that are broken or complicated become things some customers want to protect from change because they’re familiar with the intricacies of how those things work.</em>
</p></blockquote>
<p>— <a href="http://37signals.com/svn/posts/3102-saas-change-starts-easy-and-then-gets-really-hard" title="SaaS: Change starts easy and then gets really hard - (37signals)">SaaS: Change starts easy and then gets really hard</a></p>
<p>Nemyslím, že by to byl nový problém. &bdquo;Normální software&rdquo; tohle přece řeší už dávno. Microsoft si taky nemůže dovolit udělat Word úplně jinak. Souhlasím s tím, že jediné rozumné řešení je oddělená nová aplikace.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/02/08/nova-verze-u-saas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Přepněte si CSS box model</title>
		<link>http://jankorbel.cz/2012/02/01/prepnete-si-css-box-model/</link>
		<comments>http://jankorbel.cz/2012/02/01/prepnete-si-css-box-model/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 18:47:31 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[width]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2705</guid>
		<description><![CDATA[Určitě jste narazili na situaci, kdy se vám velmi nehodí standardní box model, tj. skutečná šířka elementu je width + padding + border. Já se s tím peru hlavně, když chci mít zarovnaná pole formuláře. Článek Box sizing předkládá celkem snadné řešení: Přepněte si box model do toho, co měl IE 6, tj. deklarovaná width [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://css-tricks.com/box-sizing/"><img src="http://jankorbel.cz/wp-content/box-model.png" alt="" width="176" height="300" class="iluPicRgt" /></a>Určitě jste narazili na situaci, kdy se vám velmi nehodí standardní box model, tj. skutečná šířka elementu je width + padding + border. Já se s tím peru hlavně, když chci mít zarovnaná pole formuláře.</p>
<p>Článek <a href="http://css-tricks.com/box-sizing/" title="Box Sizing | CSS-Tricks">Box sizing</a> předkládá celkem snadné řešení: Přepněte si box model do toho, co měl IE 6, tj. deklarovaná width bude ta skutečná a padding + border se &bdquo;odčítají dovnitř&rdquo;. Příklad pro jeden element:</p>
<pre><code>textarea {
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}
</code></pre>
<p><a href="http://paulirish.com/2012/box-sizing-border-box-ftw/" title="* { box-sizing: border-box  FTW &laquo; Paul Irish}">Paul Irish</a> doporučuje to rovnou hodit na všechny elementy, ale tím si nejsem tak jistý.</p>
<p>Via <a href="http://pavelbier.isalso.at/" title="pavelbier is also at">Pavel Bier</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/02/01/prepnete-si-css-box-model/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter Bootstrap 2.0</title>
		<link>http://jankorbel.cz/2012/02/01/twitter-bootstrap-2-0/</link>
		<comments>http://jankorbel.cz/2012/02/01/twitter-bootstrap-2-0/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 08:26:41 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[webapp]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2679</guid>
		<description><![CDATA[Po šesti měsících (to to letí) tu máme novou verzi. Here’s a look at some of the most prominent changes: Completely overhauled documentation for nearly every component A brand new Customize page to tailor your Bootstrap experience New 12-column, responsive grid system New table styles with a common base class for improved compatibility with other [...]]]></description>
			<content:encoded><![CDATA[<p>Po šesti měsících (to to letí) tu máme <a href="https://dev.twitter.com/blog/say-hello-to-bootstrap-2">novou verzi</a>.</p>
<blockquote><p>
  Here’s a look at some of the most prominent changes:</p>
<ul>
<li>Completely overhauled documentation for nearly every component</li>
<li>A brand new Customize page to tailor your Bootstrap experience</li>
<li>New 12-column, responsive grid system</li>
<li>New table styles with a common base class for improved compatibility with other tools</li>
<li>New form styles with smarter defaults, requiring less HTML</li>
<li>Icons, graciously provided by Glyphicons</li>
<li>New, smarter navigation components</li>
<li>New buttons, button groups, and button dropdowns</li>
<li>New, simpler alert messages</li>
<li>New javascript plug-ins like carousel, collapse, and typeahead</li>
</ul>
</blockquote>
<p>— Twitter Developers, <a href="https://dev.twitter.com/blog/say-hello-to-bootstrap-2">Say hello to Bootstrap 2.0</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/02/01/twitter-bootstrap-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generátor CSS sprite</title>
		<link>http://jankorbel.cz/2012/01/27/generator-css-sprite/</link>
		<comments>http://jankorbel.cz/2012/01/27/generator-css-sprite/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 14:27:58 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[generátor]]></category>
		<category><![CDATA[sprite]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2655</guid>
		<description><![CDATA[Sprite Cow – užitečná kráva, která si zatím nerozumí se Safari. Via Pavel Moravec]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.spritecow.com/" title="Sprite Cow - Generate CSS for sprite sheets">Sprite Cow</a> – užitečná kráva, která si zatím nerozumí se Safari.</p>
<p>Via <a href="https://plus.google.com/101567937716237705361/">Pavel Moravec</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/01/27/generator-css-sprite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Banky, kde je problém?</title>
		<link>http://jankorbel.cz/2012/01/26/banky-kde-je-problem/</link>
		<comments>http://jankorbel.cz/2012/01/26/banky-kde-je-problem/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 08:34:06 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[bank]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2646</guid>
		<description><![CDATA[Můj 3 (slovy tři) roky starý návrh úvodní obrazovky je stále lepší, než ten v&#160;nově spuštěné AirBank? Sakra kde je problém? Osobně bych sázel na &#8222;design by committee&#8221;. Mimochodem, pokud by snad některá banka měla zájem o moje služby jako konzultanta na UI, ozvěte se. Upřednostnil bych FIO, protože tam máme účet s Fakturoidem.]]></description>
			<content:encoded><![CDATA[<p>Můj <a href="http://jankorbel.cz/2008/12/23/rozhrani-internetoveho-bankovnictvi-mbank-trochu-jinak/" title="jan korbel  &raquo; Rozhraní internetového bankovnictví mBank trochu jinak">3 (slovy tři) roky starý návrh</a> úvodní obrazovky je stále lepší, než ten <a href="http://blog.filosof.biz/air-bank-pouzitelnost-v-praxi/" title="Filův blog o webdesignu  | Air bank - použitelnost v praxi">v&nbsp;nově spuštěné AirBank</a>? Sakra kde je problém? Osobně bych sázel na &bdquo;<a href="http://en.wikipedia.org/wiki/Design_by_committee" title="Design by committee - Wikipedia, the free encyclopedia">design by committee</a>&rdquo;.</p>
<p>Mimochodem, pokud by snad některá banka měla zájem o moje služby jako konzultanta na UI, <a href="mailto:&#x6A;&#x73;&#x65;&#x6D;&#x40;&#x6A;&#x61;&#x6E;&#x6B;&#x6F;&#x72;&#x62;&#x65;&#x6C;&#x2E;&#x63;&#x7A;">ozvěte se</a>. Upřednostnil bych FIO, protože tam máme účet s Fakturoidem.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2012/01/26/banky-kde-je-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP pustí webOS jako Open Source</title>
		<link>http://jankorbel.cz/2011/12/11/hp-pusti-webos-jako-open-source/</link>
		<comments>http://jankorbel.cz/2011/12/11/hp-pusti-webos-jako-open-source/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 12:48:54 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=2085</guid>
		<description><![CDATA[HP today announced it will contribute the webOS software to the open source community. &#8230; HP will engage the open source community to help define the charter of the open source project under a set of operating principles: The goal of the project is to accelerate the open development of the webOS platform HP will [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>
<a href="http://www.hp.com/hpinfo/newsroom/press/2011/111209xa.html"><img src="http://jankorbel.cz/wp-content/web-os.png" alt="" title="web-os" width="210" height="214" class="iluPicRgt" /></a><em>HP today announced it will contribute the webOS software to the open source community.<br />
    &hellip;<br />
    HP will engage the open source community to help define the charter of the open source project under a set of operating principles:</p>
<ul>
<li>The goal of the project is to accelerate the open development of the webOS platform</li>
<li>HP will be an active participant and investor in the project</li>
<li>Good, transparent and inclusive governance to avoid fragmentation</li>
<li>Software will be provided as a pure open source project</li>
</ul>
<p></em><br />
 — <a href="http://www.hp.com/hpinfo/newsroom/press/2011/111209xa.html" title="HP to Contribute webOS to Open Source">Tisková zpráva HP</a>
</p></blockquote>
<p>Ha, kdo by to byl řekl! Osobně jsme tipoval, že ho koupí Amazon, nebo nějaký výrobce hardwaru, třeba HTC. To, že HP uvolní webOS jako Open Source si těžko dovedu vysvětlit jinak, než že ho nikdo nechtěl koupit, což je celkem zarážející.</p>
<p>Rád bych věřil, že to povede k&nbsp;rozkvětu webOS, ale spíš se obávám, že umře pro nezájem výrobců zařízení i&nbsp;vývojářů.</p>
<p>Via <a href="http://daringfireball.net/" title="Daring Fireball">Daring Fireball</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2011/12/11/hp-pusti-webos-jako-open-source/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Neviditelností proti formulářovému spamu</title>
		<link>http://jankorbel.cz/2011/03/26/neviditelnosti-proti-formularovemu-spamu/</link>
		<comments>http://jankorbel.cz/2011/03/26/neviditelnosti-proti-formularovemu-spamu/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 14:38:23 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=1461</guid>
		<description><![CDATA[Tenhle jednoduchý tip bude hodně z vás znát, ale určitě se najde někdo, pro koho to bude užitečná novinka. Abych ušetřil čas první skupině, řeknu, že jde o schování inputu před lidmi a vyhození spamů na základě toho, že input vyplní.]]></description>
			<content:encoded><![CDATA[<p>Uvažujme, že máme registrační formulář:</p>
<p><code>
<pre>
&lt;form action=&quot;/cesta_zpracovani&quot; method=&quot;post&quot;&gt;
  &lt;p&gt;
    &lt;label for=&quot;user_name&quot;&gt;U&#x17E;ivatelsk&eacute; jm&eacute;no&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;user_name&quot; name=&quot;user_name&quot;&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;label for=&quot;email&quot;&gt;V&aacute;&scaron; email&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot;&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;input type=&quot;submit&quot; value=&quot;Odeslat&quot;&gt;
  &lt;/p&gt;
&lt;/form&gt;
</pre>
<p></code></p>
<p>Jak zabránit spamům, aby nám otravovali život, aniž bychom zatěžovali uživatele nějakou tou <a href="http://cs.wikipedia.org/wiki/CAPTCHA" title="CAPTCHA - Wikipedie">CAPTCHA</a> ochranou?<br />
<span id="more-1461"></span></p>
<h3>Trik</h3>
<p>
  Náš jednoduchý trik spočívá v tom, že přidáme do kódu další políčko, které nám poslouží jako <strong>past na spam boty</strong>.
</p>
<p><code>
<pre>
&lt;form action=&quot;/cesta_zpracovani&quot; method=&quot;post&quot;&gt;
  &lt;p&gt;
    &lt;label for=&quot;user_name&quot;&gt;U&#x17E;ivatelsk&eacute; jm&eacute;no&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;user_name&quot; name=&quot;user_name&quot;&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;label for=&quot;email&quot;&gt;V&aacute;&scaron; email&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot;&gt;
  &lt;/p&gt;
  &lt;p id=&quot;very_important&quot;&gt;
    &lt;label for=&quot;comment&quot;&gt;Nevypl&#x148;ujte&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;comment&quot; name=&quot;comment&quot;&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;input type=&quot;submit&quot; value=&quot;Odeslat&quot;&gt;
  &lt;/p&gt;
&lt;/form&gt;
</pre>
<p></code></p>
<p>
  Pomocí CSS naši <strong>pastičku schováme</strong> před lidmi. Třeba takto:
</p>
<p><code>
<pre>
#very_important
{
  overflow: hidden;
  position: absolute;
    left: -5000px;
  visibility: hidden; /* kvuli prepinani tabelatorem */
}
</pre>
<p></code></p>
<p>
  Pak už je to opravdu jednoduché. Jelikož lidé tohle <strong>políčko nevidí</strong>, nemohou ho vyplnit, kdežto spam boti jedou v kódu a&nbsp;budou se snažit přes něj protlačit svůj obsah. Nám už při zpracování formuláře jen zbývá zkontrolovat, jestli se něco chytlo do pastičky.
</p>
<h3>Nevýhody</h3>
<p>
  Očividná nevýhoda je, že ať už z jakéhokoli důvodu návštěvník políčko uvidí, bude ho mást, dost možná ho vyplní a&nbsp;spadne nám do spamu. Pravděpodobnost dostatečně malá, abych ji byl ochoten podstoupit místo toho, abych zatěžoval uživatele CAPTCHAou (nebo jak by se to mělo psát).</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2011/03/26/neviditelnosti-proti-formularovemu-spamu/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Psaní textů pro web aplikace</title>
		<link>http://jankorbel.cz/2011/03/16/psani-textu-pro-web-aplikace/</link>
		<comments>http://jankorbel.cz/2011/03/16/psani-textu-pro-web-aplikace/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 11:15:21 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[aplikace]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[microcopy]]></category>
		<category><![CDATA[mikro-texty]]></category>
		<category><![CDATA[texty]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=1445</guid>
		<description><![CDATA[Posledních pár týdnů připravuji školení na téma návrhu uživatelského rozhraní pro web aplikace. Důležitou částí je psaní textů. Hledal jsem článek, který by problematiku dobře shrnul, ale nic moc jsem nenašel. Tohle bude můj pokus. Uvítám vaše připomínky.]]></description>
			<content:encoded><![CDATA[<p>
        Weby už se u&nbsp;nás dělají nějaký ten rok a&nbsp;ačkoli všichni vědí, že &bdquo;<a href="http://boagworld.com/site-content/content-is-king/" title="Content is King &laquo;  Boagworld">content is the king</a>,&rdquo; jsme stále mile překvapení, když narazíme na stránku, kde si úsilí autora(-ů) textů všimneme s&nbsp;tím, že někdo odvedl dobrou práci.
      </p>
<p>
        Texty &mdash; <em>microcopy</em>, mikro-texty chcete-li &mdash; jsou ve web aplikacích asi ještě důležitější než u&nbsp;webů. Náš uživatel často začíná v&nbsp;&bdquo;prázdné aplikaci&rdquo;, protože většinu obsahu musí sám vytvořit. Chceme ho provést řadou kroků, ve kterých mu vysvětlíme nejdříve základy fungování naší aplikace a&nbsp;postupně z&nbsp;něj vychováme profíka, který s&nbsp;pomocí naší aplikace <a href="http://headrush.typepad.com/creating_passionate_users/2005/06/kicking_ass_is_.html" title="Creating Passionate Users: Kicking ass is more fun">válí, a&nbsp;proto ji miluje.</a>
      </p>
<p><span id="more-1445"></span></p>
<h3>Společné body s&nbsp;copywritingem</h3>
<p>
        Pro psaní mikro-textů si můžeme vypůjčit pár východisek z&nbsp;&bdquo;normálního&rdquo; <a href="http://www.fireandknowledge.org/archives/2007/01/08/a-guide-to-writing-well/" title="A Guide to Writing Well  ::  Fire and Knowledge">copywritingu</a>.
      </p>
<ul>
<li>Mluvte jazykem čtenáře</li>
<li>Udržte si vlastní styl</li>
<li>Pište tak, abyste si chtěli výsledek sami přečíst</li>
<li>Vynechte zbytečná slova</li>
</ul>
<p>
        Web aplikace ale vytváří zvláštní prostředí, které před nás staví jiné výzvy.
      </p>
<h3>Specifika mikro-textů ve web aplikacích</h3>
<p>
        Předně je tu ještě <strong>větší tlak na stručnost</strong>. Tam, kde můžeme v&nbsp;prezentaci nebo článku vysvětlovat něco odstavcem textu, musíme v&nbsp;aplikaci vystačit s&nbsp;pár slovy. Jednak proto, že jsme omezeni uživatelským rozhraním, které není nafukovací, ale také proto, že potřebujeme uživatele rychle zaujmout, nebo ho rychle provést nějakým úskalím, aby se dostal ke svému cíli.
      </p>
<p>
        Pokud se nám nedaří něco stručně vysvětlit, může to být dobrý ukazatel toho, že máme problém se samotným návrhem dané části aplikace.
      </p>
<p>
        Potíž je také v&nbsp;tom, vědět, <strong>kdy vůbec něco psát</strong>, nebo kdy a&nbsp;jak se nutnosti něco psát vyhnout. Určitě znáte situaci, kdy z&nbsp;nějakého seznamu mažete položku a&nbsp;celá stránka se znovu nahraje, koukáte se na vršek stránky, ať jste třeba byli odskrolovaní někde uprostřed a&nbsp;v&nbsp;lepším případě vidíte zelný obdélník s&nbsp;kreativní zprávou &bdquo;Položka byla smazána.&rdquo; Místo toho bychom mohli po kliknutí na tlačítko Smazat zavolat AJAX, zanimovat zmizení řádku, nevypisovat nic a&nbsp;uživatel by měl naprosto plynulý zážitek.
      </p>
<p>
        Pak si musíme dát pozor na <strong>konzistentní slovník</strong>. Nazýváme části naší aplikace vždycky stejně? Používáme ke stejným akcím stejné výzvy? Dobrý tip je vytvořit si seznam všech textů, abychom měli přehled o&nbsp;tom, jaké výrazy používáme a&nbsp;taky se tam lépe odhalují překlepy a&nbsp;jiné chyby.
      </p>
<p>
        S&nbsp;tím souvisí i&nbsp;třešnička na vývojářově dortu &ndash; myslet při tom všem ještě na <strong>charakteristický hlas</strong> naší aplikace, styl, jakým k&nbsp;uživatelům mluví. Ve Fakturoidu se třeba snažíme, aby vše říkal robot za sebe, v&nbsp;první osobě. Jsem přesvědčen, že to pomáhá na několika rovinách, jednak je to netradiční a&nbsp;odlišuje nás to, pak to dává prostor k&nbsp;různým vtípkům, které se podílí na lepším dojmu uživatele a&nbsp;v&nbsp;neposlední řadě, to posiluje vztah lidí k&nbsp;Fakturoidu. Největší radost nám pak dělá, když uživatelé hrají tu hru s&nbsp;námi a&nbsp;emaily na podporu se obrací přímo na robota. My se pak podepisujeme třeba: &bdquo;Za robota z&nbsp;nul a&nbsp;jedniček přeložil&hellip;&rdquo; :-)
      </p>
<p>
        <em>Vybral jsem pár typických míst, která vyžadují největší pozornost a&nbsp;na ty se podíváme příště.</em>
      </p>
<h3>Prázdné obrazovky</h3>
<p>
        Prázdné stránky (<a href="http://gettingreal.37signals.com/ch09_The_Blank_Slate.php" title="Getting Real: The Blank Slate (by 37signals)">blank slate</a>) jsou obrazovky aplikace, kde uživatel ještě <strong>nevytvořil žádná data</strong> a&nbsp;není tedy, co vypisovat.
      </p>
<p>
        Příklad z&nbsp;Fakturoidu: Po prvním přihlášení se objevíte na úvodní obrazovce, kde později budou statistiky vašich příjmů za poslední tři měsíce, posledních šest vystavených faktur, nejbližší pravidelné faktury, přehled posledních události ve vašem účtu a&nbsp;pár dalších věci. Nic z&nbsp;toho tam ale není, protože jste ještě nevystavili žádnou fakturu. Jako tvůrci aplikace máme v&nbsp;tomto okamžiku <em>protichůdné cíle</em>.
      </p>
<p>
        Chceme čerstvému uživateli ukázat, co tady později bude, ale jak na to? Nejčastější způsob je screenshot zaplněného rozhraní. Výhodou tohoto řešení je, že ho vytvoříme velmi jednoduše. Nevýhodu vidím v&nbsp;tom, že může být poměrně matoucí. Zaplněná úvodní obrazovka, kde nepoznáváte názvy firem, částky, datumy&hellip; Navíc screenshot není interaktivní a&nbsp;musíme ho nějak &bdquo;zašednout&rdquo; nebo jinak odlišit od skutečného obsahu, aby se uživatelé nesnažili klikat na nefunkční obrázek a&nbsp;nebyli hned na začátku malinko frustrovaní.
      </p>
<p>
        Zároveň potřebujeme nasměrovat uživatele do Nastavení, kde musí ještě vyplnit jedno políčko a&nbsp;když už tam jsou, chceme, aby si nastavili výchozí hodnoty pro splatnost, DPH a&nbsp;to si vyžádá odstaveček textu, který musí být dobře vidět.
      </p>
<figure>
        <img src="http://jankorbel.cz/img/article/110316-mikro-texty/blank-slate-overview.png" width="740" height="559" alt="Blank Slate Overview"></p>
<figcaption>
          Zdaleka ne dokonalý text na prázdné stránce po registrování ve Fakturoidu<br />
        </figcaption>
</figure>
<p>
        A&nbsp;nezapomínejme na to, že uživatel není zrovna nadšený a&nbsp;plně soustředěný na naši aplikaci. Dorazil přes nějaký odkaz na Facebooku, otevřel si naši prezentační stránku v&nbsp;tabu a&nbsp;pokračoval v&nbsp;prohlížení fotek přátel. Pak se mrknul na prezentaci a&nbsp;z&nbsp;nějakého důvodu patřil k&nbsp;těm, kteří nám zvedají konverzní poměr a&nbsp;vytvořil si účet. Právě prošel registrací a&nbsp;zrovna mu někdo volá. O&nbsp;pět minut později se přihlásí, ale zároveň myslí na to, že mu volala manželka, co má koupit, až půjde z&nbsp;práce a&nbsp;do toho potřebuje ještě rychle vystavit fakturu.
      </p>
<p>
        OK, možná to nebude úplně typický příklad, ale víte, kam tím mířím.
      </p>
<p>
        Jako v&nbsp;tolika jiných věcech při budování aplikací, je příprava obsahu pro prázdné obrazovky o&nbsp;hledání správného přístupu a&nbsp;vyvažování mezi protichůdnými požadavky.
      </p>
<h3>Chybové a&nbsp;jiné hlášky</h3>
<p>
        Hlášky jsou vopruz. Vypsat hlášku skoro vždy znamená přerušit plynulý uživatelský zážitek. Pokud můžete vyhněte se tomu.
      </p>
<p>
        Tak třeba, pokud uživatel <strong>vidí výsledek své akce</strong>, dost možná mu nemusíme nic psát. (Alá scéna <a href="http://www.youtube.com/watch?v=aUI-WH-KFsU" title="YouTube - Vrchní,prchni">&bdquo;Stěrače stírají.&rdquo;</a> z&nbsp;Vrchní, prchni.)
      </p>
<p>
        Příklad: Když ve Fakturoidu odešlete vyplněný formulář s&nbsp;novou fakturou, který neobsahuje chyby, nahraje se obrazovka právě vytvořené faktury a&nbsp;to je všechno. Žádná hláška se nevypíše.
      </p>
<p>
        Myslím, že vypisovat &bdquo;Faktura byla úspěšně vytvořena&rdquo; nebo něco takového, je ukázkové zbytečné rušení, protože uživatel vidí, že byla vytvořena a&nbsp;je na stránce, kterou zná z&nbsp;jiných vytvořených faktur a&nbsp;může plynule přejít na to, že v&nbsp;sidebaru klikne na Poslat emailem.
      </p>
<p>
        Přístup <strong>&bdquo;show, don&#8217;t tell&rdquo;</strong> dal vzniknout <a href="http://37signals.com/svn/archives/000558.php" title="Web Interface Design Tip: The Yellow Fade Technique (Signal vs. Noise)">Yellow Fade Technique</a> (Bože, to už je to 7&nbsp;let!&hellip; tyjo&hellip;), kdy se zvýrazní aktualizované části obsahu.
      </p>
<p>
        Když se hlášce nemůžete vyhnout, zkuste vymyslet, jestli by se nedala nějak zvednout její &bdquo;hodnota&rdquo;. Pro ilustraci opět do Fakturoidu: Když vytvoříte nový kontakt vypíšeme hlášku, která vám kromě oznámení, že byl vytvořen, nabídne, jestli nechcete vložit další kontakt, nebo mu rovnou vystavit fakturu.
      </p>
<figure>
        <img src="http://jankorbel.cz/img/article/110316-mikro-texty/enhanced-flash.png" width="670" height="95" alt="Enhanced Flash"></p>
<figcaption>
          Informační hláška &bdquo;s přidanou hodnotou&rdquo;<br />
        </figcaption>
</figure>
<p>
        Ještě krátce k&nbsp;chybovým hláškám, které by také samy o&nbsp;sobě vydaly na článek. Pokud to jde, zvýrazněte celý chybný input, ať uživatel nemusí hledat místo, kde se chyby dopustil, a&nbsp;někde blízko stručně vysvětlete, co je špatně a&nbsp;jak to má napravit. A&nbsp;nebojte se dát do toho trochu kreativity a&nbsp;vtipu &#8211; uživatel se právě &bdquo;praštil do hlavy&rdquo;, zkuste mu bolístku trochu &bdquo;pofoukat&rdquo;.
      </p>
<h3>Tlačítka</h3>
<p>
        Texty na tlačítkách jsou mikro-texty svlečené do naha. Musíme být maximálně struční. Víc než dvě slova už jsou často problém jak z&nbsp;hlediska toho, co nám dovolí uživatelské rozhraní, tak&nbsp;proto, že nechceme zbytečně zatěžovat mozek uživatele.
      </p>
<p>
        Ze všeho nejvíc tu platí: Myslete z&nbsp;pohledu uživatele. Při hledání vhodného výrazu se snažím představit, co bych jako uživatel sám očekával a&nbsp;hledal.
      </p>
<p>
        Příklad: Ve formuláři nové faktury jsme chtěli nabídnout možnost přepnout se na proforma fakturu. Jaký text zvolit? &bdquo;Přepnout na proformu&rdquo;? Tři slova, moc dlouhé. Jen &bdquo;Proforma&rdquo;? To je zase málo. Co se mi honí hlavou, když chci vystavit proformu? No, &bdquo;Chci proformu&rdquo;!
      </p>
<figure>
        <img src="http://jankorbel.cz/img/article/110316-mikro-texty/proforma-switch.png" width="660" height="95" alt="Proforma Switch"></p>
<figcaption>
          Přepnutí na proformu<br />
        </figcaption>
</figure>
<p>
        Je jasné, že tohle jsou hodně domněnky a&nbsp;pokud děláte na aplikaci, kterou sami nepoužíváte, rozhodně byste měli všechny své závěry testovat na skutečných uživatelích, což ostatně platí pro všechno výše uvedené.
      </p>
<p>
        Když jsem ho začínal psát, myslel jsem, že to bude kratší článek, teď je mi tak akorát jasné, co jsem všechno nezmínil. Ale proto zase připravuju to školení, kde bude víc času hlavně na praktická cvičení. Budete mít někdo zájem, žejo? ;-)
      </p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2011/03/16/psani-textu-pro-web-aplikace/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Jiný pohled na freemium</title>
		<link>http://jankorbel.cz/2010/10/03/jiny-pohled-na-freemium/</link>
		<comments>http://jankorbel.cz/2010/10/03/jiny-pohled-na-freemium/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 13:57:05 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[pricing]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=1329</guid>
		<description><![CDATA[Nevím jak vám, ale mně přišlo samozřejmé, že webové aplikace vždy nabízí nějaký ten &#8222;free tarif&#8221;. V&#160;posledním týdnu jsem narazil na dva jiné pohledy. MailChimp &#8211; freemium až později MailChimp v&#160;článku Going Freemium: One Year Later píší, že původně žádný free tarif neměli a&#160;to &#8222;původně&#8221; tu znamená několik let. Dočtete se, že k&#160;vyzkoušení freemia se [...]]]></description>
			<content:encoded><![CDATA[<p>Nevím jak vám, ale mně přišlo samozřejmé, že webové aplikace vždy nabízí nějaký ten &bdquo;free tarif&rdquo;. V&nbsp;posledním týdnu jsem narazil na dva jiné pohledy.<br />
<span id="more-1329"></span><br />
<img class="iluPicRgt framedImg" src="http://jankorbel.cz/img/article/101003-freemium/price-street.jpg" width="240" height="180" alt="Price Street"></p>
<h3>
  MailChimp &ndash; freemium až později<br />
</h3>
<p>
MailChimp v&nbsp;článku <a href="http://www.mailchimp.com/blog/going-freemium-one-year-later/" title="Going Freemium: One Year Later | MailChimp Email Marketing Blog">Going Freemium: One Year Later</a> píší, že původně žádný free tarif neměli a&nbsp;to &bdquo;původně&rdquo; tu znamená <strong>několik let</strong>. Dočtete se, že k&nbsp;vyzkoušení freemia se rozhodli, až když měli fungující byznys a&nbsp;mohli si ten risk dovolit.</p>
<h3>Bidsketch &ndash; zrušené freemium</h3>
<p>
  Ruben Gamez v&nbsp;<a href="http://www.softwarebyrob.com/2010/08/18/why-free-plans-dont-work/?utm_source=twitterfeed&amp;utm_medium=twitter" title="Why Free Plans Don&#8217;t Work | Software by Rob">Why Free Plans Don’t Work</a>* popisuje svou zkušenost, kdy se rozhodl na chvíli free tarif odstranit z&nbsp;přehledu, protože si všiml, že i&nbsp;jiné firmy je, jemně řečeno, upozaďují. Zjistil, že díky tomu má <strong>10&times; lepší konverze</strong>.
</p>
<p>
  Vzpomněl jsem si přitom na Jasona Frieda, který v&nbsp;téhle přednášce na <a href="http://vimeo.com/3885776" title="Jason Fried on Vimeo">FOWA Miami 2009</a> už před časem řekl: &bdquo;Free converts, but paid converts even better.&rdquo;
</p>
<p>
  Takže nebuďte jako já a&nbsp;zamyslete se, jestli je pro vaši aplikaci freemium model opravdu nutný/vhodný.
</p>
<p>
  * Za odkaz děkuji <a href="http://twitter.com/MarekP" title="">@MarekP</a>
</p>
<p class="small">
  <a href="http://www.flickr.com/photos/ell-r-brown/" title="Flickr: ell brown's Photostream">Zdroj ilustrační fotografie</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2010/10/03/jiny-pohled-na-freemium/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Jak vytvořit pozoruhodnou web aplikaci</title>
		<link>http://jankorbel.cz/2010/03/31/jak-vytvorit-pozoruhodnou-web-aplikaci/</link>
		<comments>http://jankorbel.cz/2010/03/31/jak-vytvorit-pozoruhodnou-web-aplikaci/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 06:37:57 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[Brno]]></category>
		<category><![CDATA[MUNI]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=1086</guid>
		<description><![CDATA[Videozáznam mé přednášky na Masarykově univerzitě v Brně z&#160;23.&#160;března 2010. Cílem bylo motivovat a ukázat směr. Hodně jsem toho nachodil a&#160;vyjadřování taky pokulhává. Dal bych si tak 6&#160;z&#160;10. Na druhou stranu to byla teprve moje druhá přednáška, tak snad se ještě zlepším ;-) Předem se omlouvám za školáckou chybu, kdy jsem neopakoval dotazy z publika, [...]]]></description>
			<content:encoded><![CDATA[<p>Videozáznam mé přednášky na Masarykově univerzitě v Brně z&nbsp;23.&nbsp;března 2010.</p>
<p>
  <object width="600" height="450"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=10538134&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=10538134&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="600" height="450"></embed></object>
</p>
<p>
  <strong>Cílem bylo motivovat a ukázat směr.</strong> Hodně jsem toho nachodil a&nbsp;vyjadřování taky pokulhává. Dal bych si tak 6&nbsp;z&nbsp;10. Na druhou stranu to byla teprve moje druhá přednáška, tak snad se ještě zlepším ;-)
</p>
<p>
  Předem se omlouvám za školáckou chybu, kdy jsem neopakoval dotazy z publika, takže nejsou slyšet.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2010/03/31/jak-vytvorit-pozoruhodnou-web-aplikaci/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>[Fakturoid] Pohled pod pokličku: Formulář nové faktury</title>
		<link>http://jankorbel.cz/2009/08/27/fakturoid-pohled-pod-poklicku-formular-nove-faktury/</link>
		<comments>http://jankorbel.cz/2009/08/27/fakturoid-pohled-pod-poklicku-formular-nove-faktury/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 14:21:22 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[invoice]]></category>
		<category><![CDATA[proforma]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=856</guid>
		<description><![CDATA[Statistiky přístupů mi říkají, že jste si všichni ještě nenašli cestu k&#160;článku o&#160;uživatelském rozhraní pro zadávání nové faktury na blogu Fakturoidu. Pokud se vám líbí moje články o&#160;UI, tenhle by neměl být výjimkou. Jsem v&#160;trochu schizofrenním postavení, nechci stejný obsah publikovat na dvou místech, tak snad prominete tenhle &#8222;promo&#8221; post. Fakturoid blog do čtečky &#8594;]]></description>
			<content:encoded><![CDATA[<p>Statistiky přístupů mi říkají, že jste si všichni ještě nenašli cestu k&nbsp;<a href="http://fakturoid.cz/blog/2009/08/26/pohled-pod-poklicku-formular-nove-faktury/" title="Pohled pod pokličku: Formulář nové faktury :  Fakturoid blog">článku o&nbsp;uživatelském rozhraní pro zadávání nové faktury</a> na blogu Fakturoidu. Pokud se vám líbí moje články o&nbsp;UI, tenhle by neměl být výjimkou. Jsem v&nbsp;trochu schizofrenním postavení, nechci stejný obsah publikovat na dvou místech, tak snad prominete tenhle &bdquo;promo&rdquo; post.<br />
<br/><br />
<a href="http://feeds.feedburner.com/Fakturoid" title="Fakturoid blog">Fakturoid blog do čtečky &rarr;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2009/08/27/fakturoid-pohled-pod-poklicku-formular-nove-faktury/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spouštíme Fakturoid blog</title>
		<link>http://jankorbel.cz/2009/08/24/spoustime-fakturoid-blog/</link>
		<comments>http://jankorbel.cz/2009/08/24/spoustime-fakturoid-blog/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 12:04:31 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[fakturoid]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=833</guid>
		<description><![CDATA[Ti co mě sledují na Twitteru už asi zachytili, že jsme spustili blog k&#160;web aplikaci Fakturoid. Vás, vážené čtenáře, tímto také zvu ke sledování odhalování našeho fakturačního dítka. Nebudu se rozepisovat o&#160;tom, co pro mě tenhle projekt znamená, věřím, že to bude znát z&#160;příspěvků na jeho blogu a&#160;hlavně z&#160;web aplikace samotné. Dejte si nás do [...]]]></description>
			<content:encoded><![CDATA[<p>Ti co mě sledují na Twitteru už asi zachytili, že jsme spustili blog k&nbsp;web aplikaci <a href="http://fakturoid.cz/blog/2009/08/24/predstavujeme-fakturoid/" title="Představujeme Fakturoid :  Fakturoid blog">Fakturoid</a>. Vás, vážené čtenáře, tímto také zvu ke sledování odhalování našeho fakturačního dítka.<br />
<span id="more-833"></span></p>
<p>
	Nebudu se rozepisovat o&nbsp;tom, co pro mě tenhle projekt znamená, věřím, že to bude znát z&nbsp;příspěvků na jeho blogu a&nbsp;hlavně z&nbsp;web aplikace samotné.</p>
<p>
	<a href="http://feeds.feedburner.com/Fakturoid" title="Fakturoid blog">Dejte si nás do čtečky</a> nebo <a href="http://fakturoid.cz/" title="Fakturoid - tisk a správa faktur pro živnostníky a malé firmy">přidejte svůj email</a>, sledujte <a href="http://twitter.com/fakturoid">Fakturoida na Twitteru</a> a držte nám palce.
</p>
<p>
	<em>Díky!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2009/08/24/spoustime-fakturoid-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[UI] Pozor na tlačítka</title>
		<link>http://jankorbel.cz/2009/08/09/ui-pozor-na-tlacitka/</link>
		<comments>http://jankorbel.cz/2009/08/09/ui-pozor-na-tlacitka/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 09:20:45 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=812</guid>
		<description><![CDATA[Příklady uživatelského rozhraní, které stojí za pozornost &#8211; tentokrát v&#160;negativním smyslu. Ne moc OK Pardubičtí OK Computers nahrávají uživatelům na to, aby si sami smazali obsah košíku, když se do něj chtějí podívat. Řešení: Odkaz na vyprázdnění košíku bych dal klidně až na stránku, kde se obsah košíku zobrazuje. Bude snadnější mu tam najít vhodný [...]]]></description>
			<content:encoded><![CDATA[<p>Příklady uživatelského rozhraní, které stojí za pozornost &ndash; tentokrát v&nbsp;negativním smyslu.<br />
<span id="more-812"></span></p>
<h3>Ne moc OK</h3>
<p>
	<img src="http://jankorbel.cz/img/article/090809-ui-tlacitka/ok-computers.png" width="185" height="75" alt="OK Computers">
</p>
<p>
	Pardubičtí <a href="http://www.okcomputers.cz">OK Computers</a> nahrávají uživatelům na to, aby si sami smazali obsah košíku, když se do něj chtějí podívat. <em><strong>Řešení:</strong> Odkaz na vyprázdnění košíku bych dal klidně až na stránku, kde se obsah košíku zobrazuje. Bude snadnější mu tam najít vhodný prostor. Minimálně to chce ten odkaz oproti linku na zobrazení košíku znevýraznit a&nbsp;oddálit.</em>
</p>
<h3>Přidat sloupec, he?</h3>
<p>
	<img src="http://jankorbel.cz/img/article/090809-ui-tlacitka/php-myadmin.png" width="376" height="412" alt="Php Myadmin">
</p>
<p>
	phpMyAdmin je celkově ukázka programátorského UI, ale málo co to ukazuje tak, jako tahle tlačítka. Najdete je při přidávání sloupce do tabulky. Představte si, jak vyplňujete ty kolonky, přemýšlíte, jestli budete potřebovat VARCHAR, nebo TEXT, nacvakáte zbytek a&nbsp;pak automaticky kliknete na ten čudlík vpravo, protože tam jsme zvyklí <em>vždy</em> najít potvrzení právě prováděné akce. Takže kliknete a&nbsp;co se nestane &ndash; objeví se vám políčka pro další sloupec. <em><strong>Řešení: </strong>Vpravo má být větší &bdquo;Ulož&rdquo;, nebo ještě lépe &bdquo;Přidat sloupec&rdquo; a&nbsp;rozhraní pro zobrazení více políček by mělo být vlevo s textem &bdquo;Políčka pro [ 2 ] sloupce (OK)&rdquo;.</em>
</p>
<h3>Koupit lístky?</h3>
<p>
	<img src="http://jankorbel.cz/img/article/090809-ui-tlacitka/spatne-umisteni-tlacitek.png" width="735" height="190" alt="Ticketpro.cz">
</p>
<p>
	A do třetice, tentokrát Ticketpro.cz. Velmi podobná chyba jako u phpMyAdminu. Jsem ve fázi, kdy zadávám počet lístků, které chci koupit. Myší kliknu na okýnko, vyplním číslo a&nbsp;jedu doprava, kde si v&nbsp;lepším případě všimnu ikonky lupy a&nbsp;řeknu si, že něco není v&nbsp;pořádku. Tahle čtyři tlačítka prostě nemají mít stejnou váhu a&nbsp;už vůbec by neměla být v tomhle pořadí. <em><strong>Řešení:</strong> &bdquo;Přidat do košíku&rdquo; má být výrazně větší než ostatní a&nbsp;umístěné vpravo pod políčky na počet lístků. Pod něj, bych dal obyčejný odkaz na zobrazení obsahu košíku. &bdquo;Zpět&rdquo; umístit doleva a&nbsp;&bdquo;Nové hledání&rdquo; doprava nad tabulku.</em>
</p>
<h3>Nedělejte nízká futra</h3>
<p>
	Doufám, že si nikdo ze čtenářů nemyslí, že jde o prkotiny. Tohle jsou chyby, které se dají snadno napravit, ale to neznamená, že by byly malé. Mohou velmi pokazit dojem, který uživatel ze stránek bude mít. Navíc ve všech výše uvedených příkladech je pravděpodobné, že bude tomuto rozhraní vystaven opakovaně. Je to, jako si <strong>pravidelně na návštěvě u&nbsp;kamaráda na chalupě dát o&nbsp;nízká futra dveří.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2009/08/09/ui-pozor-na-tlacitka/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Web aplikace pro iPhone ve full-screenu</title>
		<link>http://jankorbel.cz/2008/10/04/web-aplikace-iphone-full-screen/</link>
		<comments>http://jankorbel.cz/2008/10/04/web-aplikace-iphone-full-screen/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 10:02:50 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[full-screen]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=225</guid>
		<description><![CDATA[AppleInsider publikoval tip od čtenáře, který vypátral, že přidáním meta tagu do hlavičky stránky získá vaše web aplikace schopnost běžet na iPhonu ve full-screen módu &#8211; bez Safari chrome. Řečený meta tag má tvar: &#60;meta name="apple-mobile-web-app-capable" content="yes" /&#62; Pokud přidáte web aplikaci ošetřenou tímto meta tagem na hlavní obrazovku iPhonu a&#160;máte firmware verze 2.1, otevře [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.appleinsider.com/articles/08/10/03/latest_iphone_software_supports_full_screen_web_apps.html" title="AppleInsider | Latest iPhone Software supports full-screen Web apps">AppleInsider publikoval tip</a> od čtenáře, který vypátral, že přidáním meta tagu do hlavičky stránky získá vaše web aplikace schopnost běžet na iPhonu ve full-screen módu &ndash; <em>bez Safari chrome</em>.<br />
<span id="more-225"></span></p>
<p>
	Řečený meta tag má tvar:<br />
	<code><br />
		&lt;meta name="apple-mobile-web-app-capable" content="yes" /&gt;<br />
	</code>
</p>
<p>
	<img class="iluPicRgt" src="http://jankorbel.cz/img/article/apple-iphone.png" width="65" height="87" alt="Apple iPhone"><br />
	Pokud přidáte web aplikaci ošetřenou tímto meta tagem na hlavní obrazovku iPhonu a&nbsp;máte firmware verze 2.1, otevře se bez panelů Safari, které jinak web aplikace a&nbsp;webové stránky na iPhonu mají. <strong>Bude k&nbsp;nerozeznání od nativních aplikací.</strong>
</p>
<p>
	<strong><a href="http://webapp.net.free.fr/Demo/Index.html" title="WebApp.Net Demo">Vyzkoušejte na téhle demo aplikaci</a></strong>
</p>
<p>
	Tak si říkám, že je na čase se pořádně podívat na obsah <a href="http://developer.apple.com/webapps/" title="Apple Developer Connection - Web Apps Dev Center">sekce Apple Developer Connection věnované vývoji web aplikací pro iPhone</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/10/04/web-aplikace-iphone-full-screen/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Skvělá sbírka vzorů designových řešení</title>
		<link>http://jankorbel.cz/2008/07/30/sbirka-vzoru-designu/</link>
		<comments>http://jankorbel.cz/2008/07/30/sbirka-vzoru-designu/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 12:21:00 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[grafika]]></category>
		<category><![CDATA[příklady]]></category>
		<category><![CDATA[typografie]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=134</guid>
		<description><![CDATA[Při poslechu podcastu Boagworld jsem narazil na Pattern Tap. Rozsáhlý a velmi dobře navržený katalog příkladů designu opakujících se hádanek jako jsou 404 stránky, tlačítka, kalendáře&#8230; a mnoho, mnoho dalších. Normálně bych býval přidal Pattern Tap jen do svého feedu pro odkazy, ale ta stránka je tak dobrá, že by mi bylo líto, kdyby ji [...]]]></description>
			<content:encoded><![CDATA[<p>Při poslechu podcastu <a href="http://www.boagworld.com/" title="Boagworld web design podcast">Boagworld</a> jsem narazil na <a href="http://patterntap.com/" title="Pattern Tap  : Interface Collection for Design Inspiration">Pattern Tap</a>. Rozsáhlý a velmi dobře navržený katalog příkladů designu opakujících se hádanek jako jsou 404 stránky, tlačítka, kalendáře&hellip; a mnoho, mnoho dalších.<br />
<span id="more-134"></span></p>
<p>
	Normálně bych býval přidal <a href="http://patterntap.com/" title="Pattern Tap  : Interface Collection for Design Inspiration">Pattern Tap</a> jen do svého <a href="http://feeds.feedburner.com/jankorbel-odkazy" title="jan korbel » Odkazy">feedu pro odkazy</a>, ale ta stránka je tak dobrá, že by mi bylo líto, kdyby ji vidělo jen nějakých těch 20 lidí, kteří zatím můj odkazový feed odebírají.
</p>
<p>
	Pattern Tap vás nechá založit si na stránce účet, kam si pak můžete ukládat příklady, které se vám obzvlášť líbí. Co víc, můžete si dokonce najít některé uživatele a sledovat jejich sbírku.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/07/30/sbirka-vzoru-designu/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Slibný nástroj pro tvorbu wireframů k dispozici zdarma</title>
		<link>http://jankorbel.cz/2008/07/24/nastroj-pro-tvorbu-wireframu-zdarma/</link>
		<comments>http://jankorbel.cz/2008/07/24/nastroj-pro-tvorbu-wireframu-zdarma/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 08:46:44 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[návrh]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[wireframe]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/?p=124</guid>
		<description><![CDATA[Pencil Project je plugin do Firefoxu (verze 3), který se tváří jako desktopová aplikace a&#160;slibuje velmi slušné rozhraní pro návrh webů. Pencil Project je a bude k dispozici zdarma &#8211; alespoň to tvůrci hrdě prohlašují. Nepočítám s tím, že by v&#160;blízké době nahradil skvělý program OmniGraffle, který na wireframy používám teď, ale někomu by se [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.evolus.vn/Pencil/" title="Home - Pencil Project">Pencil Project</a> je plugin do Firefoxu (verze 3), který se tváří jako desktopová aplikace a&nbsp;slibuje velmi slušné rozhraní pro návrh webů.<br />
<span id="more-124"></span></p>
<p>
	<a href="http://www.evolus.vn/Pencil/" title="Home - Pencil Project"><br />
		<img src="http://jankorbel.cz/img/article/pencil-project.jpg" width="635" height="393" alt="Pencil Project"><br />
	</a>
</p>
<p>
	Pencil Project je a bude k dispozici zdarma &ndash; alespoň to tvůrci hrdě prohlašují.
</p>
<p>
	Nepočítám s tím, že by v&nbsp;blízké době nahradil skvělý program <a href="http://www.omnigroup.com/applications/OmniGraffle/" title="The Omni Group - OmniGraffle">OmniGraffle</a>, který na wireframy používám teď, ale někomu by se hodit mohl.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/07/24/nastroj-pro-tvorbu-wireframu-zdarma/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>[UI] Pozor na zbytečný &lt;select&gt;</title>
		<link>http://jankorbel.cz/2008/05/07/ui-zbytecne-selecty/</link>
		<comments>http://jankorbel.cz/2008/05/07/ui-zbytecne-selecty/#comments</comments>
		<pubDate>Wed, 07 May 2008 06:36:14 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[příklady]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2008/05/07/ui-zbytecne-selecty/</guid>
		<description><![CDATA[Dnes už jsem dvakrát narazil na špatně použitý select (nebo rozklikávací menu, drop-down menu nebo jak tomu vlastně říkáme), z&#160;toho jednou jsem si ho maloval sám pro stránku, na které teď pracuji. Takže připomenutí&#8230; Select má smysl použít pouze tam, kde máme omezený prostor a&#160;potřebujeme nabídnout výběr z&#160;více možností. Za úsporu platíme jednak tím, že [...]]]></description>
			<content:encoded><![CDATA[<p>Dnes už jsem dvakrát narazil na špatně použitý select (nebo rozklikávací menu, drop-down menu nebo jak tomu vlastně říkáme), z&nbsp;toho jednou jsem si ho maloval sám pro stránku, na které teď pracuji. Takže připomenutí&hellip;<br />
<span id="more-67"></span></p>
<p>
	Select má smysl použít pouze tam, kde máme <strong>omezený prostor</strong> a&nbsp;potřebujeme nabídnout výběr z&nbsp;více možností. Za úsporu platíme jednak tím, že uživatel musí jednou navíc kliknout &mdash; pro rozbalení nabídky &mdash; ale pak také tím, že ihned nevidí jaké možnosti se mu nabízejí. Možná se vám to na první pohled nezdá, ale je to velká daň.
</p>
<p>
	Pozor na takovéhle situace:
</p>
<p class="noMargin">
	<img class="bordered" src="http://jankorbel.cz/img/article/select/select-up.png" width="590" height="165" alt="Špatně použitý select">
</p>
<p class="toCenter">
	<em>Celý zbytek stránky je volný</em>
</p>
<p class="noMargin">
	<img class="bordered" src="http://jankorbel.cz/img/article/select/select-down.png" width="610" height="220" alt="Špatně použitý select rozkliknutý">
</p>
<p class="toCenter">
	<em>Tady select nedává smysl</em>
</p>
<p>
	Takže až příště budete uvažovat o&nbsp;selectu, položte si otázku, jestli náhodou nemáte místo pro radio buttony nebo checkboxy.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/05/07/ui-zbytecne-selecty/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[UI] Fittsův zákon</title>
		<link>http://jankorbel.cz/2008/04/20/uzivatelske-rozhrani-fittsuv-zakon/</link>
		<comments>http://jankorbel.cz/2008/04/20/uzivatelske-rozhrani-fittsuv-zakon/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 14:46:13 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[Fittsův zákon]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2008/04/20/uzivatelske-rozhrani-fittsuv-zakon/</guid>
		<description><![CDATA[Říkal jsem si, že nebude od věci oprášit pár základních pojmů v&#160;teoriích kolem uživatelského rozhraní. Pro začátek jsem vybral Fittsův zákon. Sám jsem měl pro sebe Fittsův zákon zjednodušený zhruba do podoby &#8222;čím větší objekt, na který se kliká, tím jednodušší je trefit se na něj&#8221;. Ve skutečnosti je to složitější, ale o&#160;to užitečnější. Matematika [...]]]></description>
			<content:encoded><![CDATA[<p>Říkal jsem si, že nebude od věci oprášit pár základních pojmů v&nbsp;teoriích kolem uživatelského rozhraní. Pro začátek jsem vybral Fittsův zákon.<br />
<span id="more-61"></span></p>
<p>
Sám jsem měl pro sebe <a href="http://en.wikipedia.org/wiki/Fitts'_law" title="Fitts's law - Wikipedia, the free encyclopedia">Fittsův zákon</a> zjednodušený zhruba do podoby &bdquo;čím větší objekt, na který se kliká, tím jednodušší je trefit se na něj&rdquo;. Ve skutečnosti je to složitější, ale o&nbsp;to užitečnější.
</p>
<h3>Matematika nuda je, má však cenné údaje</h3>
<p>
	Nebojte, nebude to bolet. Nejdřív postraším vzorečkem:
</p>
<p>
	<strong>MT = a&nbsp;+ b&nbsp;log<sub>2</sub>(2A/W)</strong>
</p>
<ul class="noStyle noIndent">
<li><em>MT</em> je průměrný čas pro dokončení pohybu</li>
<li><em>A</em> je vzdálenost počátečního místa pohybu do středu cílového objektu (např. tlačítka)</li>
<li><em>W</em> zastupuje šířku cíle podél osy pohybu</li>
<li><em>a, b</em> jsou empiricky zjišťované konstanty týkající se rychlosti pohybu (podrobněji viz <a href="http://en.wikipedia.org/wiki/Fitts'_law" title="Fitts's law - Wikipedia, the free encyclopedia">Wikipedia</a>)</li>
</ul>
<p>
	Tento vzoreček můžeme interpretovat asi takhle: <em>&bdquo;Čas potřebný pro dosažení cílového objektu odpovídá logaritmické funkci vzdálenosti a&nbsp;velikosti cíle&rdquo;</em>
</p>
<p class="toCenter">
	<img src="http://jankorbel.cz/img/article/fitts/fittsuv-zakon.png" width="485" height="95" alt="Fittsuv Zakon">
</p>
<p>
	Logaritmická funkce má zajímavé důsledky. Pokud je cílový objekt malý, tak i&nbsp;jeho malé zvětšení povede k&nbsp;výraznému zkrácení potřebného času. Analogicky pro vzdálenost objektu. Typickým příkladem jsou prosté textové odkazy v&nbsp;porovnání s&nbsp;tím, když jim dáme ještě padding a&nbsp;roztáhneme tak aktivní oblast. Myslím, že snadno poznáte, který je který. Zkuste si párkrát přijet z&nbsp;různých míst na oba odkazy. Rozdíl je výrazný.
</p>
<div class="floatHolder">
<p class="fltLft" style="width: 100px; margin: 0px 0px 1.5em 100px;">
		<a class="fltLft" href="#" style="margin: 10px;">Odkaz</a>
	</p>
<p class="fltRgt" style="width: 100px; margin: 0px 100px 1.5em 0px;">
		<a class="fltRgt" href="#" style="padding: 10px;">Odkaz</a>
	</p>
</div>
<p>
	Tohoto efektu můžeme samozřejmě použít i&nbsp;&bdquo;opačně&rdquo; &ndash; pro ztížení přístupu k&nbsp;funkcím, které by měl uživatel aktivovat s&nbsp;větší pozorností (typicky mazání).
</p>
<p>
	Všimněte si také, že šířka cíle se počítá podél osy pohybu, takže u&nbsp;pohybu zdola nahoru je to vlastně výška. Pří návrhu tedy musíme myslet i&nbsp;na to, který rozměr se vyplatí zvětšit, což může být samozřejmě mnohdy těžké určit (<a href="http://jankorbel.cz/2007/11/11/testovani-pouzitelnosti-zaznam-chovani-u/" title="Testování použitelnosti alá Velký Bratr">nějaká pomoc by se našla</a>).
</p>
<h3>Nekonečné rohy a&nbsp;okraje</h3>
<p>
	<img class="iluPicRgt" src="http://jankorbel.cz/img/article/fitts/fitts-okraje.png" width="310" height="215" alt="Fitts Okraje"><br />
	Virtuální prostor displejů našich počítačů dává Fittsovu zákonu další zajímavý &bdquo;rozměr&rdquo;. Představte si totiž takové tlačítko (nebo jinou aktivní plochu) umístěné na okraji obrazovky. Pokud na něj najíždíme myší, nemusíme se starat o&nbsp;to, jestli ho přejedeme, protože nás zastaví pevný okraj plochy. V&nbsp;tu chvíli má pro nás tlačítko v&nbsp;tomto směru vlastně nekonečnou šířku. Nejvýhodnějším místem jsou tedy rohy displeje, protože ty jsou &bdquo;nekonečné&rdquo; ve dvou směrech.
</p>
<p>
	Okno webového prohlížeče tuto tvrdou zarážku sice nenabízí, ale přesto mám takový pocit, že podvědomě začneme brzdit pohyb myši dřív, když najíždíme k&nbsp;okrajům, protože nechceme &bdquo;vypadnout z&nbsp;okna&rdquo;.
</p>
<h3>Nožičky a závěr</h3>
<p>
	Je hezké vidět, kolik složitosti se skrývá za něčím zdánlivě tak triviálním, jako je pohyb a&nbsp;klikání myší, ne? Rozhodně doporučuji, abyste se mrkli na <a href="http://www.asktog.com/columns/022DesignedToGiveFitts.html" title="AskTog: A&nbsp;Quiz Designed to Give You Fitts">tenhle kvíz</a>, protože ukáže aplikaci Fittsova zákona na řešení praktických problémů. Nějaké připomínky, nápady na jiná témata kolem uživatelského rozhraní, která si zaslouží vypíchnout?
</p>
<h3>Související odkazy</h3>
<ul>
<li><a href="http://particletree.com/features/visualizing-fittss-law/" title="Particletree  &raquo; Visualizing Fitts&#8217;s Law">Particletree, Visualizing Fitts&#8217;s Law</a></li>
<li><a href="http://www.mindhacks.com/blog/2005/01/size_and_selection_t.html" title="Mind Hacks: Size and selection times: Fitts's Law">Mind Hacks, Size and selection times: Fitts&#8217;s Law</a></li>
<li><a href="http://www.asktog.com/columns/022DesignedToGiveFitts.html" title="AskTog: A&nbsp;Quiz Designed to Give You Fitts">Kvíz na použití Fittsova zákona v&nbsp;praxi</a></li>
<li><a href="http://www.uie.com/brainsparks/2008/02/28/usability-tools-podcast-applying-fittss-law/" title="Usability Tools Podcast: Applying Fitts&#8217; Law &raquo; UIE Brain Sparks">Usability Tools Podcast: Applying Fitts&#8217; Law</a></li>
<li><a href="http://www.yorku.ca/mack/phd.html" title="Fitts' law as a&nbsp;performance model in human-computer interaction">Doktorandská dizertace na téma Fittsův zákon</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/04/20/uzivatelske-rozhrani-fittsuv-zakon/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Google App Engine: Hostování vašich web aplikací u&#160;Googlu</title>
		<link>http://jankorbel.cz/2008/04/09/google-app-engine/</link>
		<comments>http://jankorbel.cz/2008/04/09/google-app-engine/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 23:48:29 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[App Engine]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[S3]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2008/04/09/google-app-engine/</guid>
		<description><![CDATA[Webové služby Amazonu jako je S3, EC2 a&#160;SimpleDB asi znáte. Google se pouští na stejné pole, ale trochu jinak. Pojďme se ve stručnosti podívat na to, co nabízí vývojářům web aplikací. Google App Engine je zatím v otevřeném beta testování pro prvních 10.000 vývojářů. Nabídne zdarma: 500&#160;MB místa pro aplikaci Dostatek výpočetního výkonu a&#160;propustnosti pro [...]]]></description>
			<content:encoded><![CDATA[<p>Webové služby Amazonu jako je <a href="http://aws.amazon.com/s3" title="Amazon.com: Amazon S3, Amazon Simple Storage Service, Unlimited Online Storage: Amazon Web Services">S3</a>, <a href="http://aws.amazon.com/ec2" title="Amazon.com: Amazon EC2, Amazon Elastic Compute Cloud, Virtual Grid Computing: Amazon Web Services">EC2</a> a&nbsp;<a href="http://www.amazon.com/SimpleDB-AWS-Service-Pricing/b/ref=sc_fe_l_2?ie=UTF8&amp;node=342335011&amp;no=3440661&amp;me=A36L942TSJ2AJA">SimpleDB</a> asi znáte. Google se pouští na stejné pole, ale trochu jinak. Pojďme se ve stručnosti podívat na to, co nabízí vývojářům web aplikací.<br />
<span id="more-58"></span></p>
<p>
	<img class="iluPicRgt" src="http://jankorbel.cz/img/article/google_appengine.jpg" alt="Složky v Mail.app" height="140" width="175"><br />
	<a href="http://code.google.com/appengine/" title="Google App Engine - Google Code">Google App Engine</a> je zatím v otevřeném beta testování pro prvních 10.000 vývojářů. Nabídne <strong>zdarma</strong>:
</p>
<ul>
<li>500&nbsp;MB místa pro aplikaci</li>
<li>Dostatek výpočetního výkonu a&nbsp;propustnosti pro 5&nbsp;miliónů zobrazení stránek na <strike>den</strike> měsíc</li>
</ul>
<p>
	Zatím nejsou zveřejněny ceny za překročení těchto omezení, ale Google zaručuje, že tyto služba zůstana zdarma v&nbsp;těchto parametrech i&nbsp;po ukončení beta testování.
</p>
<p>
	Na rozdíl od webových služeb Amazonu, které můžete použít nezávisle na sobě &mdash; tj. třeba jen úložiště S3, nebo jen výpočetní výkon EC2 &mdash; je <a href="http://code.google.com/appengine/" title="Google App Engine - Google Code">Google App Engine</a> navržen jako ucelené prostředí, kde využijete služeb Googlu vše kolem vaší webové aplikace. To může být výhoda i&nbsp;nevýhoda.
</p>
<p>
	Prozatím App Engine podporuje pouze <strong>Python</strong> skripty, ale do budoucna je plánována podpora i dalších jazyků.
</p>
<p>
	Hlavní přínosy pro vývojáře by měli být ve snadném nasazení aplikace a&nbsp;v&nbsp;automatické škálovatelnosti &ndash; nemusíte se bát, že by servery Googlu nezvládly nečekaný nápor uživatelů.
</p>
<p>
	No, uvidíme, co se z&nbsp;toho vyklube a&nbsp;jaké budou dojmy betatesterů.
</p>
<h2>Další zdroje</h2>
<p>
	Video ukazující klasickou Hello World aplikaci v&nbsp;App Enginu a&nbsp;něco navíc. Na mě to působilo poněkud nepřehledně, ale to může být tím, že neznám Python.
</p>
<p>
	<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/bfgO-LXGpTM&amp;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/bfgO-LXGpTM&amp;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>
</p>
<p>
	Odkazy na články:
</p>
<ul>
<li><a href="http://www.techcrunch.com/2008/04/07/google-jumps-head-first-into-web-services-with-google-app-engine/" title="Google Jumps Head First Into Web Services With Google App Engine">TechCrunch</a></li>
<li><a href="http://googleappengine.blogspot.com/2008/04/introducing-google-app-engine-our-new.html" title="Google App Engine Blog: Introducing Google App Engine + our new blog">Google App Engine Blog</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/04/09/google-app-engine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vítězství OpenID</title>
		<link>http://jankorbel.cz/2008/02/08/vitezstvi-openid/</link>
		<comments>http://jankorbel.cz/2008/02/08/vitezstvi-openid/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 07:44:57 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[Open ID]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2008/02/08/vitezstvi-openid/</guid>
		<description><![CDATA[Za poslední měsíc zaznamenala OpenID Foundation tak výrazné úspěchy, pokud jde o&#160;přijetí ze strany velkých hráčů, že si troufám říct: &#8222;Obecně přijímaný standard pro jednotné přihlašovací údaje je na světě.&#8221; Asi před dvěma týdny ohlásilo Yahoo, že všechny jeho uživatelská ID budou fungovat také jako OpenID. A včera bylo oznámeno, že se do výboru (board) [...]]]></description>
			<content:encoded><![CDATA[<p>Za poslední měsíc zaznamenala <a href="http://openid.net/" title="OpenID">OpenID Foundation</a> tak výrazné úspěchy, pokud jde o&nbsp;přijetí ze strany velkých hráčů, že si troufám říct: &bdquo;Obecně přijímaný standard pro jednotné přihlašovací údaje je na světě.&rdquo;<br />
<span id="more-46"></span></p>
<p>
	<a href="http://openid.net/"><img class="fltRgt" style="margin: 0 0 10px 10px;" src="http://jankorbel.cz/arc/openid-logo.png" width="150" height="136" alt="OpenID"></a><br />
	Asi před dvěma týdny <a href="http://www.techcrunch.com/2008/01/17/yahoo-implements-openid-massive-win-for-the-project/" title="Yahoo Implements OpenID; Massive Win For The Project">ohlásilo Yahoo</a>, že všechny jeho uživatelská ID budou fungovat také jako OpenID. <a href="http://www.nytimes.com/idg/IDG_002570DE00740E18002573E800534424.html?ex=1360126800&amp;en=f845df24e1dfe365&amp;ei=5088&amp;partner=rssnyt&amp;emc=rss" title="Major Vendors Join OpenID Board - New York Times">A včera bylo oznámeno</a>, že se do výboru (board) OpenID Foundation přidali zástupci IBM, Google, Verisign a pozor &hellip; <strong>Microsoftu</strong>!
</p>
<p>
	<strong>Třikrát sláva!</strong>
</p>
<p>
	Moje OpenID identita sídlí na <a href="http://jankorbel.myopenid.com/" title="Jan Korbel">jankorbel.myopenid.com</a>
</p>
<p>
	<em><strong>Aktualizováno:</strong> Díky <a href="http://www.ivansuchy.com/" title="Ivan Suchy">Ivanovi</a> za tip na českou odnož <a href="http://openid.cz/server/" title="OpenID Server [cz]">OpenID.cz</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/02/08/vitezstvi-openid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Stručně] Zajímavá novinka v Google Docs: Formuláře</title>
		<link>http://jankorbel.cz/2008/02/07/zajimava-novinka-v-google-docs-formular/</link>
		<comments>http://jankorbel.cz/2008/02/07/zajimava-novinka-v-google-docs-formular/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 07:44:32 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[Docs]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2008/02/07/zajimava-novinka-v-google-docs-formular/</guid>
		<description><![CDATA[Google přidal do své spreadsheet aplikace funkci, která umožní jednoduše udělat anketu, rozeslat ji na emaily a zpřístupnit ji na internetu. Odpovědi se vám zpátky zaznamenávají do souboru v Google Docs, kde formulář je. Hezké, velmi hezké. Via Daring Fireball Aktualizováno: Mnohem podrobnější příspěvek na toto téma najdete na Všemi osmi Marka Prokopa.]]></description>
			<content:encoded><![CDATA[<p>Google přidal do své <a href="http://docs.google.com/">spreadsheet aplikace</a> funkci, která umožní jednoduše udělat anketu, rozeslat ji na emaily a zpřístupnit ji na internetu. Odpovědi se vám zpátky zaznamenávají do souboru v Google Docs, kde formulář je. Hezké, velmi hezké. <em>Via <a href="http://daringfireball.net">Daring Fireball</a></em><br />
<span id="more-45"></span></p>
<p>
<strong>Aktualizováno:</strong> Mnohem podrobnější příspěvek na toto téma najdete na <a href="http://vsemiosmi.blogspot.com/2008/02/formulare-v-tabulkach-google.html">Všemi osmi</a> Marka Prokopa.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/02/07/zajimava-novinka-v-google-docs-formular/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Silverthorne: Pentium&#160;M v&#160;mobilu</title>
		<link>http://jankorbel.cz/2008/02/05/silverthorne-pentium-m-v-mobilu/</link>
		<comments>http://jankorbel.cz/2008/02/05/silverthorne-pentium-m-v-mobilu/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 07:13:20 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Esej]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[procesor]]></category>
		<category><![CDATA[Silverthorne]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2008/02/05/silverthorne-pentium-m-v-mobilu/</guid>
		<description><![CDATA[Já už nějaký ten rok vývoj hardware sleduju jen z&#160;povzdálí, ale tohle představení nového procesoru od Intelu mě zaujalo. Uvědomil jsem si díky němu, že to, co mi nedávno přišlo jako mlhavá budoucnost, už klepe na dveře. Vezmu to trochu oklikou, tak mějte následující dva odstavce strpení. Když jsem někdy v&#160;polovině roku 2005 kupoval od [...]]]></description>
			<content:encoded><![CDATA[<p>Já už nějaký ten rok vývoj hardware sleduju jen z&nbsp;povzdálí, ale tohle představení nového procesoru od Intelu mě zaujalo. Uvědomil jsem si díky němu, že to, co mi nedávno přišlo jako mlhavá budoucnost, už klepe na dveře.<br />
<span id="more-44"></span></p>
<p>
	Vezmu to trochu oklikou, tak mějte následující dva odstavce strpení.
</p>
<p>
Když jsem někdy v&nbsp;polovině roku 2005 kupoval od bráchy jeho tehdy asi 3&nbsp;roky starý notebook Acer s&nbsp;Pentium&nbsp;M na 1,6&nbsp;GHz, říkal jsem si, že si na tom vyzkouším, jak mi půjde používat přenosný počítač jako hlavní pracovní stanice a&nbsp;pak případně investuju do něčeho nového, výkonnějšího.
</p>
<p>
	Ke svému překvapení jsem zjistil, že nic výkonnějšího nepotřebuju. Na tom notebooku mi pár věcí vadilo, ale ty byly spíš na straně Aceru. Rozhodně bych si nestěžoval na výkon procesoru.
</p>
<p>
	A&nbsp;včera jsem narazil na zprávu, kde <a class="ven" href="http://www.appleinsider.com/articles/08/02/04/intel_dishes_new_details_on_apple_bound_silverthorne_chip.html">Intel zveřejňuje detailnější informace o své nové generaci procesorů</a> pro ultramobilní zařízení.
</p>
<p><img class="fltRgt" style="margin: 0 0 10px 10px;" src="http://jankorbel.cz/arc/silverthorne.jpg" width="250" height="148" alt="Silverthorne"></p>
<p>
	Jak už jsem prozradil v&nbsp;nadpisu, výkon těchto čipů bude někde na úrovni právě toho Pentia&nbsp;M, který mi klidně nahradil můj tehdejší desktopový počítač. Zdůrazňuji, mluvíme tu o&nbsp;procesorech, které jsou určeny pro mobilní telefony a&nbsp;PDA! <strong>Zjednodušeně řečeno: Pro běžné aplikace se velmi brzy smaže rozdíl mezi tím, co nám sedí na stole a&nbsp;tím, co nosíme v&nbsp;kapse.</strong>
</p>
<p>
	A&nbsp;pak mi došlo jaká obrovská práce a&nbsp;jaké obrovské možnosti tu čekají vývojáře. Tyhle věcičky budou potřebovat úplně jiné uživatelské rozhraní, jak pro systém, tak pro aplikace. Bude potřeba vymyslet jiný přístup k&nbsp;synchronizaci dat, mnohem plynulejší. To, že takové zařízení budete mít stále u&nbsp;sebe, dá vzniknout ještě netušeným použitím. Jsem přesvědčen, že nějaké ty reklamy cílené podle GPS pozice budou jen první dětské krůčky k&nbsp;mnohem zajímavějším aplikacím.
</p>
<p>
	Já vím, že o&nbsp;tomhle všem už se nějaký čas mluví, ale v&nbsp;tom srovnání s&nbsp;Pentiem M&nbsp;mi to konečně nějak docvaklo. Tak snad nejsem sám ;-)
</p>
<hr/>
<p>
	<strong>Aktualizováno:</strong> Aha, tak třeba autor <a class="ven" href="http://arstechnica.com/news.ars/post/20080205-small-wonder-inside-intels-silverthorne-ultramobile-cpu.html" title="Small wonder: inside Intel's Silverthorne ultramobile CPU">tohohle článku na Ars Technika</a> si nemyslí, že by to byl nějaký převrat na poli mobilních procesorů. Podle něj je to jen takový uvítací pozdrav Intelu, který zatím může nechat ostatní výrobce klidnými.
</p>
<h4>Další zdroje</h4>
<ul>
<li><a href="http://www.pcworld.com/article/id,142130-page,1/article.html" title="PC World - Intel Unveils Silverthorne">PC World<br />
	</a></li>
<li><a href="http://www.reghardware.co.uk/2008/02/04/intel_silverthorne_details/" title="Intel single-core 'Silverthorne' to sport HyperThreading | Reg Hardware">Register Hardware</a></li>
</ul>
<p>
	<strong><em>Aktualizováno 3. 3. 2008:</em></strong> <a href="http://www.intel.com/pressroom/archive/releases/20080302comp.htm?iid=tech_atom+pr">Silverthorn je nyní znám jako Atom</a>, zdroj Intel.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2008/02/05/silverthorne-pentium-m-v-mobilu/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Testování použitelnosti alá Velký Bratr</title>
		<link>http://jankorbel.cz/2007/11/11/testovani-pouzitelnosti-zaznam-chovani-u/</link>
		<comments>http://jankorbel.cz/2007/11/11/testovani-pouzitelnosti-zaznam-chovani-u/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 17:00:07 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[použitelnost]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/11/11/testovani-pouzitelnosti-zaznam-chovani-u/</guid>
		<description><![CDATA[Po delší době jsem se zase podíval na blog The&#160;Interaction Designer&#8217;s Coffee Break a&#160;dostal jsem se tak k&#160;tipu na dvě služby, které nám umožní přímo sledovat pohyb a&#160;akce uživatelů na stránkách. Výsledky jsem nadšen tak, že se s&#160;vámi musím podělit. Je to jednoduché: Zaregistrujete se na jedné z&#160;níže uvedených služeb, umístíte do stránek, které chcete [...]]]></description>
			<content:encoded><![CDATA[<p>Po delší době jsem se zase podíval na blog <a href="http://www.guuui.com/posting.php?id=2062" title="Watch users navigate websites with RobotReplay - GUUUI">The&nbsp;Interaction Designer&#8217;s Coffee Break</a> a&nbsp;dostal jsem se tak k&nbsp;tipu na dvě služby, které nám umožní přímo sledovat pohyb a&nbsp;akce uživatelů na stránkách. Výsledky jsem nadšen tak, že se s&nbsp;vámi musím podělit.<br />
<span id="more-32"></span></p>
<p>
	Je to jednoduché: Zaregistrujete se na jedné z&nbsp;níže uvedených služeb, umístíte do stránek, které chcete sledovat kus javascriptu a&nbsp;pak už jen čekáte, až se vám zpřístupní rekonstruované <strong>video sekvence</strong> chování uživatelů.
</p>
<p>
	Přínos pro ladění stránek a&nbsp;web aplikací je zřejmý. Levně a&nbsp;jednoduše můžete sledovat, jestli vše funguje, jak jste plánovali, můžete rychle reagovat na místa, kde se uživatelé ztrácí, ladit formuláře atd. atd&hellip; A&nbsp;co je důležité, po nasazení javascriptů jsem nezaznamenal žádné zpomalení načítání nebo odezvy stránek.
</p>
<p>
	Zkusil jsem dvě služby: <a href="http://www.robotreplay.com/" title="RobotReplay - The Next Generation of Web Analytics">RobotReplay</a> a&nbsp;<a href="http://www.clicktale.com/" title="ClickTale&trade; :: Record - Watch - Understand">ClickTale</a>. Tady jsou moje dojmy.
</p>
<h3>RobotReplay</h3>
<p>
	Služba je zatím zdarma, neuvaluje na vás žádná omezení, pokud jde o&nbsp;počet stránek, které chcete sledovat nebo počet video sekvencí, které vám zpřístupní. Bohužel, je zdarma jistě také proto, že je <strong>dost chybová</strong>. Některé sekvence se vůbec nerozjedou, jiné se podivně zaseknou. Ale určitě se vyplatí sledovat, jak bude pokračovat vývoj, protože i&nbsp;přes chyby vypadá projekt slibně.
</p>
<p>
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/49vLlHX-x8M&amp;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/49vLlHX-x8M&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object>
</p>
<p>
	<em>Promo video služby <a href="http://www.robotreplay.com/" title="RobotReplay - The Next Generation of Web Analytics">RobotReplay</a></em>
</p>
<h3>ClickTale</h3>
<p>
	Nabízí free verzi, která vás omezí na 100 zaznamenaných stránek týdně. Pro vyzkoušení rozhodně stačí, i&nbsp;pak je <a href="http://www.clicktale.com/pricing.html" title="ClickTale&trade; :: Signup and Pricing">cenová politika</a> přijatelná. ClickTale poskytuje mnohem spolehlivější výsledky, je vidět, že je to už odladěná služba.
</p>
<p>
	Zaznamenaná sezení si můžete uložit lokálně a&nbsp;příjemné je, že výsledné soubory jsou velmi malé.
</p>
<p><img class="fltLft" src="/img/movie.png" alt="" style="margin: 0 10px 0 0;" width="37" height="36"/></p>
<p class="noMargin">
<strong><a href="http://jankorbel.cz/priklad/clicktale/Play.htm" title="ClickTale Account :: Player"><br />
Podívejte se na příklad jak výsledné video vypadá&hellip;</a></strong>
</p>
<p>
(<strong>Pozor!</strong> Zaškrtněte si Automatic next, abyste nemuseli ručně přepínat na další zaznamenané navštívené stránky. Jo, a&nbsp;jak upozornil v&nbsp;komentářích honza, nefunguje to v&nbsp;Opeře.)
</p>
<h3>Shrnutí</h3>
<p>
	Zatím se mi víc líbí <em>ClickTale</em>, ale budu sledovat i&nbsp;<em>RobotReplay</em>, když odstraní bugy, bude jejich služba rovnocenná. Pro obě pak platí, že budou potřebovat daleko lepší nástroje na třídění zaznamenaných sezení. Rád bych třeba tvořil výběru typu &bdquo;Uživatelé začli na titulce a&nbsp;pak se během sezení dostali na stránku Ceník to vše za posledních 14 dní&rdquo;. To zatím není možné. Ale i&nbsp;tak jsem ještě v&nbsp;rauši z&nbsp;toho, co se před námi otevírá za možnosti.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/11/11/testovani-pouzitelnosti-zaznam-chovani-u/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>[Stručně] Apple spouští katalog web aplikací pro iPhone</title>
		<link>http://jankorbel.cz/2007/10/11/apple-iphone-webaplikace/</link>
		<comments>http://jankorbel.cz/2007/10/11/apple-iphone-webaplikace/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 22:12:43 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/10/11/apple-iphone-webaplikace/</guid>
		<description><![CDATA[První dojem z <a href="http://www.apple.com/webapps/">katalogu webaplikací pro iPhone</a>: To už jich je tolik?]]></description>
			<content:encoded><![CDATA[<p>
   <em>Via <a href="http://daringfireball.net/" class="ven">Daring Fireball</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/10/11/apple-iphone-webaplikace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vývoj web aplikací pro iPhone</title>
		<link>http://jankorbel.cz/2007/07/05/iphone-doporuceni/</link>
		<comments>http://jankorbel.cz/2007/07/05/iphone-doporuceni/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 08:22:34 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/07/05/iphone-doporuceni/</guid>
		<description><![CDATA[Apple na svých stránkách pro vývojáře vytvořil novou sekci, která se věnuje tvorbě pro iPhone. Zdá se mi, že sekce byla šita horkou jehlou. Nemá vůbec applovskou pečeť dokonalé typografie, která je jinak pro jejich web typická. Nicméně už zde můžeme najít základní doporučení, jak pro iPhone vyvíjet. Myslím, že použité členění textu s javascriptovým [...]]]></description>
			<content:encoded><![CDATA[<p>Apple na svých stránkách pro vývojáře vytvořil novou sekci, která se věnuje <a href="http://developer.apple.com/iphone/">tvorbě pro iPhone</a>.<br />
<span id="more-22"></span></p>
<p>
<img class="fltRgt" src="/img/article/iphone.png" alt="" width="102" height="200"/><br />
Zdá se mi, že sekce byla šita horkou jehlou. Nemá vůbec applovskou pečeť dokonalé typografie, která je jinak pro jejich web typická. Nicméně už zde můžeme najít <a href="http://developer.apple.com/iphone/designingcontent.html">základní doporučení</a>, jak pro iPhone vyvíjet.
</p>
<p>
Myslím, že použité členění textu s javascriptovým rozklikáváním je nešťastné a brzy dozná úprav.
</p>
<p>
Každopádně je to tu, stojí to za shlédnutí a občasnou návštěvu v budoucnu, protože obsah bude určitě přibývat.
</p>
<p>
	<a href="http://developer.apple.com/iphone/" class="ven">http://developer.apple.com/iphone/</a>
</p>
<p>
	<strong><em>Upraveno:</em></strong><em>Apple asi od včerejška (24. 10. 2007) vyžaduje pro přístup do developerské zóny pro iPhone registraci. Zároveň rozšířili obsah sekce a obdařili jí hezčí typografií.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/07/05/iphone-doporuceni/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Web aplikace, díl 3. – dokončení návrhu uživatelského rozhraní</title>
		<link>http://jankorbel.cz/2007/06/10/web-aplikace-uzivatelske-rozhrani-zaver/</link>
		<comments>http://jankorbel.cz/2007/06/10/web-aplikace-uzivatelske-rozhrani-zaver/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 11:14:42 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/06/10/web-aplikace-uzivatelske-rozhrani-zaver/</guid>
		<description><![CDATA[V&#160;minulém díle jsem shrnul teorii přístupu k&#160;uživatelskému rozhraní a&#160;ukázal jsem svou představu o&#160;titulní stránce naší aplikace. Dnes se naplno ponoříme do wireframů všech ostatních obrazovek, se kterými se uživatelé setkají. Hledáte něco na faktury? Fakturoid &#8211; tisk a správa faktur pro živnostníky a malé firmy. Konečně jednoduše. Mimochodem, dopadlo to nakonec úplně jinak, než v&#160;této [...]]]></description>
			<content:encoded><![CDATA[<p>V&nbsp;<a href="http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/">minulém díle</a> jsem shrnul teorii přístupu k&nbsp;uživatelskému rozhraní a&nbsp;ukázal jsem svou představu o&nbsp;titulní stránce naší aplikace. Dnes se naplno ponoříme do wireframů všech ostatních obrazovek, se kterými se uživatelé setkají.<br />
<span id="more-20"></span></p>
<div class="fltRgt clrRgt" style="width: 260px; padding: 15px; background: #FFF8DE; margin: 0 0 20px 10px; border: 1px solid #EFC55B;">
<h3>Hledáte něco na faktury?</h3>
<p>
	<strong><a href="http://www.fakturoid.cz">Fakturoid &ndash; tisk a správa faktur</a> pro živnostníky a malé firmy. Konečně jednoduše.</strong>
</p>
<p class="noMargin">
	<em>Mimochodem, dopadlo to nakonec úplně jinak, než v&nbsp;této sérii článků ;)</em>
</p>
</div>
<p>
Ještě než začneme s&nbsp;ostatními částmi, mám tu drobnou úpravu titulky, uvádím ji spíš proto, aby pak byly všechny wireframy na jednom místě, než že by na tom extra záleželo. Jde o&nbsp;to, že v&nbsp;minulém díle jsem navrhoval po najetí myši nabídnout uživateli možnost označit fakturu jako zaplacenou a&nbsp;menší ikonu pro úpravu faktury. Když jsem o&nbsp;tom pak přemýšlel, přišlo mi užitečnější dát tam spíš možnost zobrazit celou fakturu na obrazovku &mdash; ikona lupa &mdash; s&nbsp;možností rovnou ji vytisknout.
</p>
<div class="floatStop"></div>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/03-uzivatelske-rozhrani-konec/01-wireframe-uvodni-stranka.png" alt="" width="590" height="353"/>
</p>
<p class="imgDesc">
  Obrázek č. 1 &ndash; Úvodní stránka aplikace, <a href="/priklad/fakturace-uzivatelske-rozhrani-dokonceni/wireframe-uvodni-stranka.pdf">PDF verze</a>
</p>
<p>
Mohli byste se ptát, proč odkaz &bdquo;Zaplaceno&rdquo; tvoří slovo, zatímco odkaz na náhled jen malá ikona? Jde o&nbsp;aplikaci obecného pravidla, kdy se snažíme dát větší prostor a&nbsp;usnadnit přístup k&nbsp;tomu, co bude uživatel dělat častěji a&nbsp;znesnadnit to, co by ho mohlo odvést na špatnou cestu nebo mu jinak  &bdquo;ublížit&rdquo;. Je to motiv, který budu opakovat často, takže stojí za vypíchnutí.
</p>
<p>
Ale teď už pojďme dál.
</p>
<h3>Stránka přidání/upravení faktury</h3>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/03-uzivatelske-rozhrani-konec/02-wireframe-stranka-faktury.png" alt="" width="590" height="596"/>
</p>
<p class="imgDesc">
	Obrázek č. 2&nbsp;&ndash; Přidání/upravení faktury, <a href="/priklad/fakturace-uzivatelske-rozhrani-dokonceni/wireframe-stranka-faktury.pdf">PDF verze</a>
</p>
<p>
Obsah této stránky máme z&nbsp;velké části daný náležitostmi faktury, ale výzva, jak to všechno přehledně poskládat, není zanedbatelná. Rád používám layout, ve kterém jsou popisky polí formuláře (tag <code>label</code>) formátovány nalevo, zarovnané ke svým pravým okrajům. Umožňuje nám to, rychle je přeletět pohledem, nemusíme oko a&nbsp;mozek zatěžovat tak, jako je tomu v&nbsp;případě, kdy jsou popisky nad jednotlivými políčky.
</p>
<p>
Jak vidíte, porušil jsem tento přístup pro políčka s&nbsp;datumy. Jednak už by pod sebou zabírala zbytečně moc místa a&nbsp;pak patří druhem obsahu k&nbsp;sobě, takže proč to  nezdůraznit tím, že je dáme na jeden řádek.
</p>
<p>
Pak tu máme položky faktury. Platné sazby DPH máme pod kontrolou v&nbsp;sekci nastavení. Aplikace by mohla sama poznat, jestli je dodavatel plátce DPH a&nbsp;podle toho zobrazovat nebo nezobrazovat sazby DPH, ale i&nbsp;plátce nepřidává daň k&nbsp;fakturám do zahraničí, takže se nám bude hodit i&nbsp;třetí možnost &bdquo;Ne&rdquo;.
</p>
<p>
Při vstupu na stránku přidání faktury budou zobrazena jen políčka pro jednu položku, další si budeme moct přidat pomocí tlačítka (perfektní místo pro použití trošky Ajaxu). Na ubrání položek bude samozřejmě sloužit červené tlačítko vlevo od labelu položky.
</p>
<p>
Obvyklým výsledkem zadávání faktury je, že ji chceme uložit a&nbsp;vytisknout, proto je přesně tohle náplní největšího tlačítka, ale občas chceme fakturu jen uložit nebo jen vytisknout, odtud ta menší tlačítka.
</p>
<p>
Za zmínku stojí ještě malé odkazy na přidání dodavatele/odběratele. Už se mi několikrát stalo, že jsem šel přidávat fakturu a&nbsp;zjistil jsem, že v&nbsp;databázi ještě není odběratel, takže tady je řešení.
</p>
<p>
Vlastně stejné rozložení nám poslouží i&nbsp;při úpravě již vložené faktury. Drobné úpravy, které budou vhodné, nechám vaší představivosti. Pojďme se mrknout na stránku, kde se nám budou přidané faktury hromadit.
</p>
<h3>Stránka přehledu faktur</h3>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/03-uzivatelske-rozhrani-konec/03-wireframe-faktury-prehled.png" alt="" width="590" height="380"/>
</p>
<p class="imgDesc">
	Obrázek č. 3&nbsp;&ndash; Přehledu faktur, <a href="/priklad/fakturace-uzivatelske-rozhrani-dokonceni/wireframe-faktury-prehled.pdf">PDF verze</a>
</p>
<p>
Jak vidíte z&nbsp;obrázku, nejvíce místa zabírá tabulka podobná té z&nbsp;úvodní stránky. Obsahuje všechny vydané faktury za dané období, přičemž nejnovější nahoře. Myslím, že teď už se v&nbsp;mém systému wireframů vyznáte, takže chápete, jaké možnosti se nabízí po najetí myší nad řádek s&nbsp;fakturou.
</p>
<p>
Na stránce máme k&nbsp;dispozici ještě menu pro přepnutí zobrazovaného období a&nbsp;druhu faktur. Později se nám možná bude hodit možnost vyfiltrování faktur pomocí podrobnějších kritérií, ale zatím to nebudeme řešit.
</p>
<h3>Stránka přehledu subjektů</h3>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/03-uzivatelske-rozhrani-konec/04-wireframe-subjekty-prehled.png" alt="" width="590" height="559"/>
</p>
<p class="imgDesc">
	Obrázek č. 4&nbsp;&ndash; Přehledu subjektů, <a href="/priklad/fakturace-uzivatelske-rozhrani-dokonceni/wireframe-subjekty.pdf">PDF verze</a>
</p>
<p>
Uvažoval jsem tak, že nejčastější důvod, proč se budeme chtít podívat na subjekty, bude jejich úprava nebo smazání. Proto je pro přidání subjektu na této stránce vyhrazeno je velké velké tlačítko &ndash; obdobně jako bylo na titulní stránce pro přidání faktur.
</p>
<p>
Vidíte, že jsem zvolil výpis s&nbsp;výrazným řádkováním a&nbsp;velkými písmeny z&nbsp;abecedy, která nám pomohou při rychlém projíždění stránky. Od určitého počtu subjektů se nám bude hodit i&nbsp;možnost skočit přímo na dané písmeno, kterou nám dává menu pod tlačítkem &bdquo;Přidat subjekt&rdquo;.
</p>
<p>
Ve sloupcích <em>Odběratel</em>, <em>Dodavatel</em> jsem umístil symboly, které zároveň fungují jako přepínače &mdash; výchozí pozice je ta, kterou jsme zadali při vkládání subjektu, viz níže &mdash; kliknutím daný subjekt přiřadíte nebo naopak odeberete jako dodavatele/odběratele. K&nbsp;čemu to? No, pamatujete si ty <code>select</code>y pro výběr subjektů při vkládání faktury? V&nbsp;databázi máme všechny subjekty v&nbsp;jedné tabulce, takže je v&nbsp;základu budeme mít všechny v&nbsp;obou <code>select</code>ech, což ale rozhodně nemůžeme potřebovat, protože drtivá většina z&nbsp;nich budou pouze odběratelé, tak proč si s&nbsp;nimi zbytečně zaplňovat <code>select</code>, kde nás nezajímají.
</p>
<p>
To samozřejmě znamená, že budeme muset odpovídajícím způsobem upravit model databáze, ale to se rozhodně vyplatí.
</p>
<h3>Stránka přidání subjektu</h3>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/03-uzivatelske-rozhrani-konec/05-wireframe-subjekty-pridat.png" alt="" width="590" height="506"/>
</p>
<p class="imgDesc">
	Obrázek č. 5&nbsp;&ndash; Přidání subjektu, <a href="/priklad/fakturace-uzivatelske-rozhrani-dokonceni/wireframe-subjekty-pridat.pdf">PDF verze</a>
</p>
<p>
Teď už můj &bdquo;wireframový rukopis&rdquo; určitě znáte dost na to, abyste se v&nbsp;tomhle nákresu vyznali sami. Obdobně jako u&nbsp;faktur nám stejný layout poslouží i&nbsp;pro úpravu jíž vložených subjektů.
</p>
<p>
V&nbsp;komentářích k&nbsp;dílu o&nbsp;návrhu databáze mě Karel Benák upozornil, že  budeme muset nějak pořešit mazání adres, protože smazaná adresa nám bude chybět při výpisu archivované faktury. Budeme tedy muset přihodit sloupec do tabulky, kde uložíme, jestli je adresa aktivní nebo ne.
</p>
<p>
Troufám si říct, že případ mazání adresy bude dostatečně výjimečný na to, abychom si v&nbsp;uživatelském rozhraní dovolili postarat se o&nbsp;něj tak, že neaktivní adresy vypíšeme až po aktivních s&nbsp;jiným, &bdquo;zašedlým&rdquo;, vzhledem. To bude pro začátek úplně stačit.
</p>
<h3>Stránka nastavení</h3>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/03-uzivatelske-rozhrani-konec/06-wireframe-nastaveni.png" alt="" width="590" height="486"/>
</p>
<p class="imgDesc">
	Obrázek č. 6&nbsp;&ndash; Nastavení, <a href="/priklad/fakturace-uzivatelske-rozhrani-dokonceni/wireframe-nastaveni.pdf">PDF verze</a>
</p>
<p>
Nastavení je asi nejjednodušší stránka. Zatím mě napadlo, že budeme potřebovat nastavit aktuální sazby DPH, ale také musíme ze subjektů vybrat &bdquo;sebe&rdquo;, to jest subjekt(-y), jejichž faktury se mají započítávat do výnosů. Faktury všech ostatních subjektů půjdou do nákladů. A&nbsp;opět budeme muset upravit databázi, ale klidně na to budeme moci použít ten samý sloupec, který už jsme nuceni přidat pro rozlišení, jestli jde o&nbsp;dodavatele nebo odběratele.
</p>
<h2>Co dál s&nbsp;naší aplikací</h2>
<p>
Za normálních okolností by wireframy sloužily jako podklad pro grafika, který by naše nákresy oblékl do slušivého kabátku a&nbsp;my bychom zatím začali záměr implementovat v&nbsp;nějakém našem oblíbeném programovacím jazyku.
</p>
<p>
Já jsem se rozhodl, že pojmu další práci na web aplikaci jako praktickou lekci při mém učení <a class="ven" href="http://www.ruby-lang.org/en/">Ruby</a> a&nbsp;frameworku <a class="ven" href="http://www.rubyonrails.org/">Ruby on Rails</a>. Jsem totiž přesvědčen, že moje zkušenosti v&nbsp;PHP nejsou na takové úrovni, abych nějak výrazně přispěl k&nbsp;tomu, co se můžete dočíst jinde (viz zdroje níže). Moje základní rada, na kterou bych přísahal, je dodržujte <a href="http://en.wikipedia.org/wiki/Model-view-controller">architekturu MVC</a>. Zjistíte, že vám vznikají kostky stavebnice a&nbsp;vy jste schopni z&nbsp;nich stavět různé výtvory. O&nbsp;přehlednosti, úspoře času a&nbsp;dalších výhodách nemluvě.
</p>
<p>
Samozřejmě se budu chtít se svými zážitky s&nbsp;<a class="ven" href="http://www.rubyonrails.org/">Ruby on Rails</a> podělit, takže tohle není poslední díl, jen nedokážu říct, kdy bude další. Už teď vidím, že budu minimálně následující dva týdny pracovně tak vytížen, že se k&nbsp;tomu dostanu jen zřídka. Ale uvidíme&hellip;
</p>
<h3>Shrnutí odkazů</h3>
<ul>
<li><a href="/priklad/fakturace-uzivatelske-rozhrani-dokonceni/uzivatelske-rozhrani.zip">Všechna PDF wireframů a&nbsp;zdrojové soubory OmniGraffle</a> (ZIP, 280 KB)</li>
<li>Filosofie přístupu k&nbsp;budování aplikací &ndash; <a class="ven" href="http://gettingreal.37signals.com/toc.php">Getting Real</a></li>
<li><a class="ven" href="http://en.wikipedia.org/wiki/Model-view-controller">Architektura Model View Controler (MVC)</a></li>
<li><a class="ven" href="http://www.ruby-lang.org/en/">Ruby</a></li>
<li><a class="ven" href="http://www.rubyonrails.org/">Ruby on Rails</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/06/10/web-aplikace-uzivatelske-rozhrani-zaver/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Web aplikace, díl 2. – návrh uživatelského rozhraní</title>
		<link>http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/</link>
		<comments>http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/#comments</comments>
		<pubDate>Sat, 02 Jun 2007 14:08:23 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/</guid>
		<description><![CDATA[Pokračovaní miniseriálu o&#160;jednoduché web aplikaci pro tisk a&#160;evidenci faktur. Dnes nás čeká nedozírná rozloha členité země uživatelského rozhraní. Takže dost básnických výrazů a&#160;pojďme mapovat.]]></description>
			<content:encoded><![CDATA[<div class="fltRgt clrRgt" style="width: 260px; padding: 15px; background: #FFF8DE; margin: 0 0 20px 10px; border: 1px solid #EFC55B;">
<h3>Hledáte něco na faktury?</h3>
<p>
	<strong><a href="http://www.fakturoid.cz">Fakturoid &ndash; tisk a správa faktur</a> pro živnostníky a malé firmy. Konečně jednoduše.</strong>
</p>
<p class="noMargin">
	<em>Mimochodem, dopadlo to nakonec úplně jinak, než v&nbsp;této sérii článků ;)</em>
</p>
</div>
<p class="noMargin">
  Předcházející díly:
</p>
<ol class="noStyle">
<li>
    <a href="http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/"><br />
      1. díl &#8211; Návrh databáze<br />
    </a>
  </li>
<li>
    <a href="http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/"><br />
      1&frac12;. díl &#8211; Dokončení návrhu databáze<br />
    </a>
  </li>
</ol>
<p>
	Před sebou máme bílý papír a&nbsp;v hlavě ne právě konkrétní představu o&nbsp;tom, co od aplikace chceme. Každý, kdo si zkusil nějaké to rozhraní navrhnout, se mnou bude souhlasit, že i&nbsp;zdánlivě jednoduchý problém nabízí mnoho možností jak k&nbsp;němu přistupovat. Snadno se dostaneme do situace, kdy nás jedna funkce rozhraní inspiruje k&nbsp;jiné, která by &bdquo;taky byla dobrá&rdquo; a&nbsp;dřív než se nadějeme máme na krku nezvladatelné monstrum, jehož početné hlavy &bdquo;užitečných funkcí&rdquo; nás rozsápou na fidloprcičky<sup id="pozn-1-zpet"><a href="#pozn-1">1</a></sup>.
</p>
<blockquote class="pullQuote">
<p>
		Za každou funkci platíme nejen časem investovaným do naprogramování
	</p>
</blockquote>
<p>
	Především si musíme udělat jasno v&nbsp;tom, co naše web aplikace musí umožňovat <strong>nezbytně nutně</strong> hned od začátku. Ušetříme tím čas, který bychom strávili nad něčím, co vlastně není potřeba. Navíc, za každou funkci platíme nejen časem investovaným do naprogramování, ale musíme odvést desátky i&nbsp;v podobě složitějšího uživatelského rozhraní, což se může odrazit ve špatném dojmu, který uživatelé budou mít a/nebo ve vyšších nákladech na jejich podporu. Rozumí se samo sebou, že každá funkce komplikuje také testování, vývoj aplikace, zaškolení programátorů a&nbsp;další záležitosti na straně vývojářů.
</p>
<p>
	Proto je velká výhoda, když navrhujeme web aplikaci, kterou budeme sami používat, nebo se týká něčeho s&nbsp;čím máme osobní zkušenost. Pouze pochopení toho, jaký problém řešíme nám dovolí navrhnout správné funkce, teprve používáním získáme opravdový cit pro to, jak to v&nbsp;aplikaci tiká, kde to skřípe. Zprostředkovaná zkušenost nám může být na překážku.
</p>
<p>
	To jsou základní teoretická východiska a&nbsp;teď zpátky k&nbsp;naší web aplikaci pro tisk a&nbsp;správu faktur.
</p>
<h2>Primární cíle</h2>
<p>
	V&nbsp;našem případě jde především o:
</p>
<ol>
<li>Tisk faktur</li>
<li>Přehled vystavených faktur</li>
<li>Základní statistiku příjmů a&nbsp;výdajů</li>
</ol>
<p>
	Pojďme si udělat inventuru toho, co ke splnění těchto cílů <em>nezbytně</em> potřebujeme.
</p>
<p>
	Pro tisk faktur:
</p>
<ul>
<li>Zadat, upravit, smazat dodavatele</li>
<li>Zadat, upravit, smazat odběratele</li>
<li>Zadat, upravit, smazat faktury a&nbsp;jejich náležitosti (doby vystavení a&nbsp;splatnosti, položky faktury, ceny, sazby DPH)</li>
</ul>
<p>
	Pokud jde o&nbsp;přehled vystavených faktur:
</p>
<ul>
<li>Vystavené, nezaplacené faktury</li>
<li>Přehled všech vystavených faktur za určité období a&nbsp;pokud se budeme chtít rozšoupnout, tak i&nbsp;pro určitého klienta</li>
</ul>
<p>
	U&nbsp;statistiky příjmů a&nbsp;výdajů použijeme pro začátek jen pasivní výpisy důležitých veličin a&nbsp;neumožníme žádné specifikování parametrů výpisu ze strany uživatele.
</p>
<ul>
<li>Příjmy a&nbsp;výdaje za jednotlivá čtvrtletí aktuálního roku</li>
<li>Příjmy a&nbsp;výdaje za poslední čtvrtletí rozepsané po 14-ti dnech</li>
</ul>
<p>
	Faktury přijaté od našich dodavatelů nebudeme pro začátek nikde vypisovat, projeví se nám jen ve statistikách výdajů. Později uvidíme, jestli se nám budou hodit nějak podrobněji vypsané.
</p>
<p>
	OK, to by pro začátek stačilo, pojďme to hodit na papír.
</p>
<h2>Wireframy &ndash; teorie</h2>
<p>
	Jenom pro jistotu: wireframy nejsou o&nbsp;grafické podobě, jsou to nákresy toho, jaké informace a&nbsp;jakým způsobem chceme zobrazovat a&nbsp;měly by sloužit jako podklady pro grafika, který tuto kostru potáhne svaly a&nbsp;kůží.
</p>
<blockquote class="pullQuote">
<p>
		Teprve až používáním v&nbsp;reálných podmínkách zjistíme, co opravdu potřebujeme
	</p>
</blockquote>
<p>
	Pro web aplikace platí, že nemá cenu trávit nad wireframy příliš mnoho času ve snaze vytvořit něco, co bude na 100% vystihovat výsledek (ani na 90% ne). To se nám nikdy nemůže povést. Proč? Protože si nejsme schopni představit, jak to v&nbsp;aplikaci bude fungovat ve skutečném provozu. Teprve až používáním v&nbsp;reálných podmínkách zjistíme, co opravdu potřebujeme. A&nbsp;tím nemyslím, že musíme u&nbsp;aplikace sedět dva měsíce. Čím větší bude problém, který jsme “neviděli na papíru”, tím rychleji ho odhalíme. Moje zkušenost je, že opravdu zásadní chyby vyjdou na světlo během pár dnů. Takže wireframy ano, ale přiměřeně &#8211; mluvíme rozhodně v&nbsp;řádu hodin<sup id="pozn-2-zpet"><a href="#pozn-2">2</a></sup>.
</p>
<p>
	Někomu vyhovuje i&nbsp;první úvahy o&nbsp;uživatelském rozhraní web aplikace rovnou <a class="ven" href="http://www.boxesandarrows.com/view/html_wireframes_and_prototypes_all_gain_and_no_pain">budovat v&nbsp;HTML</a>. Já si myslím, že nás může tento přístup odvést od dobrých řešení, protože HTML přeci jen není tak pružné jako tužka a&nbsp;papír, kde se můžeme nechat unést a&nbsp;naskicovat něco, co se nám bude špatně programovat, ale co bude velmi dobře fungovat.
</p>
<h2>Wireframy &ndash; praxe</h2>
<p>
	Rád bych tu publikoval návod, který by ukázal postup, jakým jsem se dostal k&nbsp;tomu, co uvidíte níže, ale těch rozhodnutí je i&nbsp;na takto malé aplikaci hodně a&nbsp;o některých pravděpodobně ani nevím, protože je dělám podvědomě. Proto ukážu své výsledné wireframy, stručně popíšu, proč jsem se na jednotlivých místech rozhodl, jak jsem se rozhodl a&nbsp;pak to můžeme v&nbsp;komentářích probrat.
</p>
<h3>Úvodní stránka aplikace</h3>
<p>
	Uvažoval jsem takhle: Náš nejčastější důvod návštěvy úvodní stránky bude podívat se na to, které faktury jsou zaplacené, blíží se splatnosti, nebo jsou po splatnosti. Pak budeme chtít vidět statistiku příjmů a&nbsp;výdajů za poslední dobu a&nbsp;nějakou formu celkového přehledu za delší období. Samozřejmě dalším důvodem bude to, že chceme vystavit fakturu nebo přidat do databáze přijatou fakturu, takže se musíme postarat i&nbsp;o&nbsp;to.
</p>
<p>
	A&nbsp;už v&nbsp;tomhle kroku se mohou naše názory lišit. Web aplikace, kterou zde navrhuji, je určena pro malé firmy, kde se faktury vystavují jednou do týdne nebo spíš jednou za čtrnáct dní a&nbsp;ti, co je vystavují, mají přímý zájem vidět, jak si firma vede, protože jejich výplaty na tom přímo závisí.
</p>
<p>
	Jakým způsobem vypsat faktury, které čekají na zaplacení? Faktura má řadu náležitostí &mdash; číslo, odběratele, položky faktury, datum vystavení, datum splatnosti &mdash; pokud bychom je prostě vypsali do tabulky zahltíme stránku údaji, které vlastně nepotřebujeme. Co nás zajímá na vystavených, nezaplacených fakturách? Komu jsme ji vystavili, na jakou částku a&nbsp;kdy je splatná.
</p>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/02-uzivatelske-rozhrani/vystavene-nezaplacene-faktury.png" alt="" width="482" height="242"/>
</p>
<p class="imgDesc">
  Obrázek č. 1&nbsp;&ndash; Přehled vystavených, nezaplacených faktur
</p>
<p>
	Přišlo mi užitečné barevně zvýraznit doby splatnosti, kdy blížící se jsou zelené, vzdálenější než 5&nbsp;dní jsou běžnou barvou a&nbsp;faktury po splatnosti jsou červené. Jak je na obrázku naznačeno po najetí myší nad řádek s&nbsp;fakturou se objeví nabídka s&nbsp;tlačítkem pro označení faktury jako zaplacené a&nbsp;malá ikona pro její úpravu.
</p>
<p>
	Musíme také počítat s&nbsp;tím, že přehled vystavených faktur bude mít proměnlivou výšku, nebo dokonce nebude co vypisovat. Osobně bych v&nbsp;případě, kdy nebude žádná faktura čekající na zaplacení, nechal vypsat přehled posledních 10 vystavených faktur. Ale možná v&nbsp;reálném provozu přijdeme na lepší obsah, takže se s&nbsp;tím, teď nebudeme trápit.
</p>
<p>
	Pak chceme vypsat statistiky příjmů, které nám dají představu o&nbsp;tom, jakou výplatu si můžeme dovolit a&nbsp;jak si vedeme v&nbsp;krátkodobém a&nbsp;střednědobém pohledu. Zvolil jsem dva jednoduché přehledy &ndash; výpis příjmů a&nbsp;výdajů za tři měsíce zpátky rozepsaný zhruba po 14-ti dnech a&nbsp;celkový roční přehled rozepsaný po účetních čtvrtletích.
</p>
<p id="obrDva">
	<img class="blockImg framedImg" src="/img/article/02-uzivatelske-rozhrani/prechazejici-tri-mesice.png" alt="" width="375" height="171"/>
</p>
<p class="imgDesc">
  Obrázek č. 2&nbsp;&ndash; Příjmy a&nbsp;výdaje za předcházející tři měsíce rozepsané podrobně
</p>
<p id="obrTri">
	<img class="blockImg framedImg" src="/img/article/02-uzivatelske-rozhrani/rocni-prehled.png" alt="" width="370" height="148"/>
</p>
<p class="imgDesc">
  Obrázek č. 3&nbsp;&ndash; Přehled za aktuální účetní rok
</p>
<p>
	Přidání nové faktury pokryjeme tím, že přidáme výrazné tlačítko &bdquo;Přidat fakturu&rdquo; na exponované místo. Pak ještě potřebujeme globální navigaci. Zatím se mi zdá, že vystačíme s&nbsp;tlačítky:
</p>
<ul>
<li>Přehled &ndash; úvodní stránka</li>
<li>Faktury &ndash; podrobnější výpis přijatých a&nbsp;vydaných faktur</li>
<li>Subjekty &ndash; prostor pro správu dodavatelů a&nbsp;odběratelů</li>
<li>Nastavení &ndash; určitě se nám bude na něco hodit (minimálně pro definici momentálních sazeb DPH)</li>
</ul>
<p>
	Když to celé složíme, dostaneme to, co vidíte na obrázku č. 4:
</p>
<p id="obrCtyri">
	<img class="blockImg framedImg" src="/img/article/02-uzivatelske-rozhrani/uvod-celek.png" alt="" width="590" height="380"/>
</p>
<p class="imgDesc">
  Obrázek č. 4&nbsp;&ndash; Celý wireframe úvodní stránky aplikace
</p>
<p>
	No, myslím, že pro dnešek by to stačilo. Další díl bude brzy následovat, protože už mám vytvořené i&nbsp;wireframy pro další sekce naší web aplikace, jen se mi zdálo, že už by jejich rozbor zabral víc místa než je vhodné pro jeden článek a&nbsp;taky vám chci nechat čas zamyslet se nad tou teorií, která zabrala většinu dnešního článku.
</p>
<p>
	Pokud by měl někdo zájem, tak tady je zdrojový <a href="/priklad/fakturace-uzivatelske-rozhrani/wireframe-uvodni-stranka.graffle.zip">soubor pro OmniGraffle</a> a&nbsp;exportovaný <a href="/priklad/fakturace-uzivatelske-rozhrani/wireframe-uvodni-stranka.pdf">wireframe jako PDF</a>.
</p>
<hr/>
<div id="footnotes">
<ol id="postPozn">
<li id="pozn-1">
<p>
				Zdravím Arthura Denta a&nbsp;všechny další příznivce Stopaře :)
			</p>
<p><a class="postPoznReturnLink" href="#pozn-1-zpet">zpět na místo v&nbsp;textu</a></p>
</li>
<li id="pozn-2">
			To je ovšem případ, kdy naskicujeme naši představu na papír tužkou a&nbsp;na tvorbě se účastní jeden, dva lidé, kteří mají rozhodovací pravomoc. Nezapočítávám čas, který je potřeba k&nbsp;převodu tužky a&nbsp;papíru do něčeho, co můžeme prezentovat klientovi (pokud klientem nejsme my) a&nbsp;už vůbec nechci odhadovat, kolik času by tento krok mohl zabrat v&nbsp;nějakém &bdquo;korporátním prostředí&rdquo;, kde se k&nbsp;tomu může vyjádřit další pět lidí, z&nbsp;nichž dva mají rozhodovací pravomoc a&nbsp;jejich požadavky jdou proti sobě&hellip; no dobře, trochu jsem si zapřeháněl, ale víte, kam mířím.</p>
<p><a class="postPoznReturnLink" href="#pozn-2-zpet">zpět na místo v&nbsp;textu</a></p>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Tisk a evidence faktur, díl 1&#189; – ještě k databázi</title>
		<link>http://jankorbel.cz/2007/04/29/tisk-aevidence-faktur-dil-1frac1/</link>
		<comments>http://jankorbel.cz/2007/04/29/tisk-aevidence-faktur-dil-1frac1/#comments</comments>
		<pubDate>Sun, 29 Apr 2007 12:03:45 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[databáze]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/04/29/tisk-aevidence-faktur-dil-1frac1/</guid>
		<description><![CDATA[Věcné připomínky Jirky Pecha, Jakuba Vrány a&#160;fousa mě donutily původní návrh databáze hodně upravit. Mám tu pro vás finální verzi a&#160;pár poznámek. Hledáte něco na faktury? Fakturoid &#8211; tisk a správa faktur pro živnostníky a malé firmy. Konečně jednoduše. Mimochodem, dopadlo to nakonec úplně jinak, než v&#160;této sérii článků ;) Ostatní díly: 1. díl &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Věcné připomínky Jirky Pecha, Jakuba Vrány a&nbsp;fousa mě donutily původní návrh databáze hodně upravit. Mám tu pro vás finální verzi a&nbsp;pár poznámek.<br />
<span id="more-15"></span></p>
<div class="fltRgt clrRgt" style="width: 260px; padding: 15px; background: #FFF8DE; margin: 0 0 20px 10px; border: 1px solid #EFC55B;">
<h3>Hledáte něco na faktury?</h3>
<p>
	<strong><a href="http://fakturoid.cz">Fakturoid &ndash; tisk a správa faktur</a> pro živnostníky a malé firmy. Konečně jednoduše.</strong>
</p>
<p class="noMargin">
	<em>Mimochodem, dopadlo to nakonec úplně jinak, než v&nbsp;této sérii článků ;)</em>
</p>
</div>
<p class="noMargin">
  Ostatní díly:
</p>
<ol class="noStyle">
<li>
    <a href="http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/"><br />
       1. díl &#8211; Návrh databáze<br />
    </a>
  </li>
<li>
    <a href="http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/"><br />
      2. díl &#8211; Uživatelské rozhraní<br />
    </a>
  </li>
</ol>
<p>
Naši databázi vidíte na obrázku č. 1, zde je <a href="http://jankorbel.cz/priklad/fakturace-db-model/fakturace-create-v2.sql">soubor s&nbsp;SQL create příkazy</a> a&nbsp;výsledný <a href="http://jankorbel.cz/priklad/fakturace-db-model/fakturace-v2-db-model.xml">soubor DBDesigneru</a>.
</p>
<div class="floatStop"></div>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/01-navrh-databaze/cela-nova-db.png" alt="" width="600" height="800"/>
</p>
<p class="imgDesc">
  Obrázek č. 1&nbsp;&ndash; Nová databáze pro jednoduchou aplikaci na tisk a&nbsp;evidenci faktur
</p>
<p>
<strong>Stručně o&nbsp;tom, co se měnilo:</strong>
</p>
<ul>
<li>V původním návrhu by se nedala vůbec vystavit faktura, protože tam nebyl prostor pro částky a&nbsp;DPH, jak mě vtipně upozornil <a href="http://hq.cz/" class="ven">Jirka Pech</a>. Ehm, inu tak. Tady si můžete přečíst <a href="http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/#comment-129">mou chabou obhajobu</a>.</li>
<li>Byl jsem nucen uznat, že <a href="http://php.vrana.cz/" class="ven">Jakub Vrána</a> má pravdu, když říká, že zvláštní tabulka <code>invoice_has_subjects</code> je zbytečná a&nbsp;<code>supplier_id</code> i&nbsp;<code>customer_id</code> se nám přesunuli přímo do tabulky <code>invoice</code>.</li>
<li>fous přispěl poznámkou o&nbsp;potřebě různých adres pro subjekty (sídlo, fakturace apod.)</li>
<li>Sám jsem pak ještě vyhodil z&nbsp;tabulky subject pole pro kontaktní osobu a&nbsp;dal jsem je do tabulky <code>person</code>.</li>
</ul>
<p>
Taky vás tak fascinuje, když se začnete zabývat naprosto jednoduchým problémem a&nbsp;postupně zjišťujete, že v&nbsp;sobě skrývá složitosti, které se před vámi rozkrývají a&nbsp;každá cesta nabízí mnoho odboček a&nbsp;ty zase další a&nbsp;další&#63;
</p>
<p>
Proto je důležité stanovit si nějaký základní cíl, což v&nbsp;našem případě je tisk a&nbsp;jednoduchá evidence faktur, toho se držet a&nbsp;zaměřit se pouze na to, co je <strong>naprosto nezbytné</strong> pro jeho dosažení a&nbsp;rychle se snažit dostat k&nbsp;uživatelskému rozhraní, k&nbsp;něčemu, co bude reálné. Mnohem lépe popsané to najdete v&nbsp;<a href="http://gettingreal.37signals.com/ch06_Race_to_Running_Software.php" class="ven">Getting Real</a>.
</p>
<blockquote class="pullQuote">
<p>
		Trik je v&nbsp;tom, kde udělat tu dělící čáru, co je naprosto nutné a&nbsp;co už je bonus.
	</p>
</blockquote>
<p>
Zároveň musíme myslet na možnosti budoucího rozšíření. V&nbsp;naší databázi je to třeba tabulka person nebo možné navázání dalších tabulek na task pro podrobnou evidenci času.
</p>
<p>
Trik je v&nbsp;tom, kde udělat tu dělící čáru, co je naprosto nutné a&nbsp;co už je bonus. Tady to bylo ještě celkem jednoduché, protože nutné je to, co se musí vytisknout na fakturu, u&nbsp;jiných aplikací je řez mnohem složitější.
</p>
<p>
Ještě jednou díky všem za připomínky. Budu snažit rychle napsat další díl. Reálně to vidím tak na 14 dní, protože v&nbsp;práci máme rozjeté projekty, které si v&nbsp;následujících dnech vyžádají většinu mého času. V&nbsp;hlavě mám ale pár menších článků, které snad stihnu publikovat dřív.
</p>
<p>
Zatím se mějte.</p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/04/29/tisk-aevidence-faktur-dil-1frac1/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Příklad návrhu web aplikace: Tisk a evidence faktur, 1. díl – návrh databáze</title>
		<link>http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/</link>
		<comments>http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 14:15:02 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[databáze]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/04/25/priklad-navrhu-web-aplikace-tisk-anbsp/</guid>
		<description><![CDATA[Jak jsem psal v&#160;komentáři v&#160;článku o&#160;revoluci web aplikací, chci se v&#160;následujících příspěvcích pustit do ukázek z&#160;praxe. Napadlo mě, že by mohlo být zajímavé vzít moji první aplikaci, popsat postup, jakým jsem nad ní uvažoval a&#160;poukázat na chyby, které s&#160;časovým odstupem vidím. Přes návrh databáze, uživatelské rozhraní až po programátorskou teorii. Jestli najdu odvahu, ukážu i&#160;to [...]]]></description>
			<content:encoded><![CDATA[<p>Jak jsem psal v&nbsp;komentáři v&nbsp;článku o&nbsp;revoluci web aplikací, chci se v&nbsp;následujících příspěvcích pustit do ukázek z&nbsp;praxe. Napadlo mě, že by mohlo být zajímavé vzít moji první aplikaci, popsat postup, jakým jsem nad ní uvažoval a&nbsp;poukázat na chyby, které s&nbsp;časovým odstupem vidím. Přes návrh databáze, uživatelské rozhraní až po programátorskou teorii. Jestli najdu odvahu, ukážu i&nbsp;to moje čtyři roky staré PHPkové zvěrstvo ;)<br />
<span id="more-13"></span></p>
<div class="fltRgt clrRgt" style="width: 260px; padding: 15px; background: #FFF8DE; margin: 0 0 20px 10px; border: 1px solid #EFC55B;">
<h3>Hledáte něco na faktury?</h3>
<p>
	<strong><a href="http://www.fakturoid.cz">Fakturoid &ndash; tisk a správa faktur</a> pro živnostníky a malé firmy. Konečně jednoduše.</strong>
</p>
<p class="noMargin">
	<em>Mimochodem, dopadlo to nakonec úplně jinak, než v&nbsp;této sérii článků ;)</em>
</p>
</div>
<p class="noMargin">
  Ostatní díly:
</p>
<ol class="noStyle">
<li>
    <a href="http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/"><br />
      1&frac12;. díl &#8211; Dokončení návrhu databáze<br />
    </a>
  </li>
<li>
    <a href="http://jankorbel.cz/2007/06/02/web-aplikace-navrh-uzivatelskeho-rozhran/"><br />
      2. díl &#8211; Uživatelské rozhraní<br />
    </a>
  </li>
</ol>
<p>
	Uvedu vás do děje. Se dvěma kamarády jsme začátkem roku 2003 začali podnikat jako tři živnostníci. Asi po půl roce ručního vyplňování faktur bylo jasné, že takhle to nepůjde. Jednak já strašně škrábu, ale hlavně jsme potřebovali mít jednoduše přístupný přehled, kdo kolik fakturoval, abychom se mohli podělit o&nbsp;kořist.
</p>
<div class="floatStop"></div>
<blockquote class="pullQuote">
<p>
		Vytvořit webové rozhraní pro tisk faktur a&nbsp;to rychle, rychle
	</p>
</blockquote>
<h3>Úkol zněl jasně&#8230;</h3>
<p>
	Zadání tedy bylo: Vytvořit webové rozhraní pro vystavování faktur, jejich tisk a&nbsp;evidenci se základními statistikami. Znáte tu poučku, že projekt můžete udělat rychle, levně, dobře &ndash; vyberte si dvě? No, tenhle projekt byl pro nás, takže jsem vybral rychle a&nbsp;rychle. Levně se nám transformovalo do rychle, protože každá hodina strávená na tomhle, byla hodina nestrávená na práci, za kterou by někdo zaplatil. Jelikož jsem měl o&nbsp;svých programátorských schopnostech vcelku reálné představy, věděl jsem, že „dobře“ ani nebylo na výběr.
</p>
<h3>Návrh databáze</h3>
<p>
	Uvažoval jsem asi takhle: Prioritu má tisk faktur. Nejdřív se budu zabývat tím, co je potřeba k&nbsp;tomu, aby z&nbsp;tiskárny vyjela faktura a&nbsp;pak tím ostatním.
</p>
<p>
	K&nbsp;evidenci se dostanu později a&nbsp;budu chtít jen výpis podle data, vědět, kdo fakturu vystavil, komu ji vystavil, na jakou částku a&nbsp;jestli už je zaplacená.
</p>
<p>
	Jaké entity tu mám? <strong>Faktury</strong>, <strong>klienty</strong> a&nbsp;nás jako <strong>dodavatele</strong>.
</p>
<p>
	Jaké náležitosti má faktura: kromě informací o&nbsp;dodavateli a&nbsp;klientovi, které budou v&nbsp;příslušných tabulkách, tu ještě jsou datumy vystavení, splatnosti a&nbsp;zaplacení, text poskytnuté služby a&nbsp;částka.
</p>
<p>
	Co musí obsahovat tabulka Dodavatel? Tady nám stačí jen to, co je nutné pro tisk faktury, protože dodavatelé jsme přece my. Název subjektu, ulice, město, PSČ, IČO, DIČ, číslo účtu a&nbsp;jako bonus jsem tam dal telefon (už nevím proč, asi jsem uvažoval, že by se mohlo číslo vypisovat na faktuře).
</p>
<p>
	Tabulka Klient bude obsáhlejší, protože kromě údajů nutných pro tisk faktury, chci zaznamenat i&nbsp;informace, které by se mohly hodit později, kdybych chtěl na tenhle zárodek napojit nějaký systém správy kontaktů.
</p>
<p>
	Když to propojíme dostaneme databázi, na které nám tisk faktur běží až do dnešních dnů.
</p>
<p id="obrJedna">
  <img class="blockImg framedImg" src="/img/article/01-navrh-databaze/fakturace-puvodni-db-sm.png" alt="" width="620" height="221"/>
</p>
<p class="imgDesc">
  Obrázek č. 1&nbsp;- Celá původní databáze
</p>
<h3>Opravdu? Já myslím, že ne&hellip;</h3>
<p>
	Kolika z&nbsp;vás se asi zatínaly nohy v&nbsp;pěst a&nbsp;kroutily nehty, když jste pročítali předchozí řádky? :) Přiznávám, byla to past a&nbsp;za případnou psychickou újmu se omlouvám. Chtěl jsem ukázat, jak bylo snadné udělat chyby, nad kterými mi dnes zůstává rozum stát. Pojďme se na to mrknout ještě jednou.
</p>
<p>
	Předně je nesmysl oddělovat dodavatele a&nbsp;klienty do dvou tabulek. Jeden důvod je, že obě tabulky by obsahovaly prakticky stejné informace, kdybych neořezal dodavatele, kvůli tomu, že dodavatelé jsme byli jen my a&nbsp;o nás přece nepotřebuji podrobnější informace, ale hlavně budu určitě chtít evidovat i&nbsp;příchozí faktury, kdy někdo fakturuje nás, protože jinak se nedobereme k&nbsp;tak základním statistikám, jako je zisk za čtvrtletí. A&nbsp;co případ, kdy firma je jednou náš klient a&nbsp;jindy náš dodavatel? Pak už je úplně jasné, že jediné rozumné řešení je mít pouze jednu tabulku na subjekty, se kterými jsme v&nbsp;obchodním styku.
</p>
<p id="obrDva">
  <img class="blockImg framedImg" src="/img/article/01-navrh-databaze/invoice-subject.png" alt="" width="600" height="362"/>
</p>
<p class="imgDesc">
  Obrázek č. 2&nbsp;&ndash; Upravený vztah mezi fakturou a podnikatelskými subjekty
</p>
<p>
	Druhý zásadní problém je, že do tabulky Faktura, jak jsem ji navrhl výše, nebudeme schopni zaznamenat fakturu, která má více položek. Jediná cesta, jak z&nbsp;toho ven, je vytvořit novou tabulku pro položky faktur. Možná by vás lákalo přímo do ní vložit cizí klíč faktura_id a&nbsp;tím provázat fakturu s&nbsp;položkou, ale to by byla také chyba. Zamysleme se v&nbsp;širších souvislostech. Třeba se rozhodneme později přidat rozhraní, kde budeme evidovat, na čem zrovna v&nbsp;daném projektu děláme a&nbsp;budeme chtít tuhle evidenci použít přímo pro tisk faktury. Pak nevyhnutelně vzniknou úkoly, které ještě nebudou položkami na faktuře a&nbsp;některé z&nbsp;nich tam nebudou nikdy. Potřebujeme tedy vztahovou tabulku invoice_has_task, kde si přiřadíme úkoly k&nbsp;fakturám.
</p>
<p id="obrTri">
	<img class="blockImg framedImg" src="/img/article/01-navrh-databaze/invoice-task.png" alt="" width="576" height="501"/>
</p>
<p class="imgDesc">
  Obrázek č. 3&nbsp;&ndash; Předelaný vztah mezi fakturou a položkami faktury
</p>
<p>
	Když už jsme v&nbsp;tom plánování budoucích rozšíření, bude dobré podchytit do samostatné tabulky i&nbsp;všechny projekty, na nichž pracujeme. Rozhodnutí, jestli vztah mezi úkolem a&nbsp;projektem zachytíme v&nbsp;samostatné tabulce, se bude odvozovat od toho, jestli potřebujeme/dovolíme, aby se jeden úkol vázal na víc projektů. Já jsem se rozhodl zahrát to na jistotu a&nbsp;radši tam vztahovou tabulku dám.
</p>
<p>
	Nad rámec toho, co jsem chtěl dnes stihnout, je úvaha na téma navázání úkolů na pracovníky, propojení projektů se subjekty a&nbsp;mnoho dalších záležitostí, které si můžeme kolem fakturování a&nbsp;práce na položkách faktur vymyslet.
</p>
<blockquote class="pullQuote">
<p>
		Až když uděláme k&nbsp;modelu nějaké rozhraní, ukáže se, co nás všechno nenapadlo.
	</p>
</blockquote>
<h3>Nožičky a&nbsp;závěr</h3>
<p>
	Při návrhu databáze se vždy snažím dívat na daný problém z&nbsp;více stran, snažím se představit si možný budoucí vývoj. Zároveň se mi několikrát potvrdilo, že čím rychleji navržený model prověříme na skutečném nasazení, tím rychleji zjistíme, co jsme nedomysleli. Až když uděláme k&nbsp;modelu nějaké rozhraní, začneme databázi plnit a&nbsp;vypisovat reálná data, teprve pak se ještě ukáže, co nás všechno nenapadlo.
</p>
<p>
	Proto bude příští díl o&nbsp;uživatelském rozhraní, které jsem pro fakturační systém vytvořil předtím a&nbsp;o&nbsp;tom, jak bych ho dělal teď.
</p>
<p>
	Finální model databáze pro jednoduchý fakturační systém vidíte na obrázku č.&nbsp;4. Pokud by měl někdo zájem, zde je <a href="http://jankorbel.cz/priklad/fakturace-db-model/fakturace-create-v2.sql">soubor s&nbsp;SQL create příkazy</a> a&nbsp;výsledný <a href="http://jankorbel.cz/priklad/fakturace-db-model/fakturace-v2-db-model.xml">soubor DBDesigneru</a><sup id="pozn-1-zpet"><a href="#pozn-1">&nbsp;1</a></sup>. Rozhodně si o&nbsp;sobě nemyslím, že bych byl v návrhu databází nějaký expert, takže jsem zvědav na připomínky od vás.
</p>
<h3 id="article_updated">Upraveno 26. 4. 2007</h3>
<p>
<a href="http://hq.cz/" class="ven">Jirka Pech</a> mě upozornil, že mi z návrhu vypadly „drobnosti“ jako cena jednotlivého úkolu a&nbsp;sazba DPH. V&nbsp;<a href="http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/#comment-129">komentáři</a> vysvětluji, jak k&nbsp;tomu došlo, nicméně velký dík za upozornění. Aktualizoval jsem obrázky i&nbsp;soubory ke stažení.
</p>
<h3>Upraveno 29. 4. 2007</h3>
<p>
Nemohl jsem jinak (i když jsem se bráníl ;) ), než dát za pravdu <a href="http://php.vrana.cz/">Jakubu Vránovi</a> a uznat, že vztahová tabulka mezi fakturou a subjekty je zbytečná. Zrušil jsem ji a <code>supplier_id</code> i <code>customer_id</code> jsou nyní součástí tabulky <code>invoice</code>
</p>
<p>
Na návrh fousa (jestli komolím, tak se omlouvám), jsem oddělil adresu do tabulky <code>address</code> a přidal ještě <code>address_kind</code> pro jednotlivé druhy adres.
</p>
<p>
Navíc jsem vyhodil informace na kontaktní osobu a dal jsem je do zvláštní tabulky. Vedlo mě k tomu hlavně to, že v dalším díle se chci zabývat uživatelským rozhraní a zjednodušení nutných tabulek mi umožní, soustředit se opravdu jen na to důležité: položky faktury, subjekty a jejich náležitosti potřebné pro tisk faktury a pro základní evidenci faktur.
</p>
<p>
Aktualizoval jsem opět jak obrázky tady, tak zdrojové soubory, které jsou ke stažení.
</p>
<p id="obrCtyri">
	<img class="blockImg framedImg" src="/img/article/01-navrh-databaze/cela-nova-db.png" alt="" width="600" height="800"/>
</p>
<p class="imgDesc">
  Obrázek č. 4&nbsp;&ndash; Nová databáze pro jednoduchou aplikaci na tisk a evidenci faktur
</p>
<hr/>
<div id="footnotes">
<ol id="postPozn">
<li id="pozn-1">
<p>
				Pro návrh databází používáme <a href="http://fabforce.net/dbdesigner4/" class="ven">DBDesigner</a>, protože jsme nenašli nic, co by bylo stejně dobré a&nbsp;fungovalo na Linuxu a&nbsp;Macu (+virtualizace Windows přes Parallels). Pokud někdo znáte program, který výše uvedené splňuje, dejte mi vědět.
			</p>
<p><a class="postPoznReturnLink" href="#pozn-1-zpet">zpět na místo v&nbsp;textu</a></p>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/04/25/web-aplikace-tisk-faktury-databaze/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Čeká nás HTML5 nebo XHTML 2.0?</title>
		<link>http://jankorbel.cz/2007/04/15/ceka-nas-html5-nebo-xhtml-20/</link>
		<comments>http://jankorbel.cz/2007/04/15/ceka-nas-html5-nebo-xhtml-20/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 10:38:15 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Ostatní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Odkazy]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/04/15/ceka-nas-html5-nebo-xhtml-20/</guid>
		<description><![CDATA[Standard HTML&#160;4.01, který většinou používáme pro tvorbu stránek a web aplikací je 8&#160;let starý. Jeho odvozenina XHTML&#160;1.0 je stará 7&#160;let. Během té doby se změnil náš pohled na web a&#160;vyvstaly nové potřeby. Na tom se všichni shodnou. Jsou ale různé představy o tom, jak situaci řešit. W3C pracuje na standardu XHTML&#160;2.0, který má za cíl [...]]]></description>
			<content:encoded><![CDATA[<p>Standard HTML&nbsp;4.01, který většinou používáme pro tvorbu stránek a web aplikací je 8&nbsp;let starý. Jeho odvozenina XHTML&nbsp;1.0 je stará 7&nbsp;let. Během té doby se změnil náš pohled na web a&nbsp;vyvstaly nové potřeby. Na tom se všichni shodnou. Jsou ale různé představy o tom, jak situaci řešit.<br />
<span id="more-12"></span></p>
<p>
W3C pracuje na standardu <a href="http://www.w3.org/TR/xhtml2/" class="ven">XHTML&nbsp;2.0</a>, který má za cíl nahradit dva zmíněné. Potíž je v&nbsp;tom, že jeho vývoj trvá konsorciu už hodně dlouho a&nbsp;navíc ho nevyvíjí jako zpětně kompatibilní a&nbsp;to budou hlavní důvody, proč se k&nbsp;jeho podpoře nepřihlásil <strong>žádný</strong> výrobce webového prohlížeče. Naopak Mozilla Foundation a&nbsp;Opera Software založili <a href="http://www.whatwg.org/" class="ven">Web Hypertext Application Technology Working Group</a> (WHATWG), kde pracují na vlastním standardu <a href="http://www.whatwg.org/html5" class="ven">HTML5</a> (někdy také Web Application&nbsp;1.0). Později se k&nbsp;nim přidali i&nbsp;Google a&nbsp;Apple.
</p>
<p>
HTML5 je zpětně kompatibilní a&nbsp;klade si za cíl být lepším základem pro vývoj web aplikací, než je HTML&nbsp;4.01 a&nbsp;podstatně snadněji implementovatelný než by byl XHTML&nbsp;2.0.
</p>
<p>
	Poslední vývoj je takový, že <a href="http://lists.w3.org/Archives/Public/public-html/2007Apr/0429.html">WHATWG vyzvalo W3C</a>, aby s&nbsp;nimi zahájilo jednání o&nbsp;použití HTML5 jako základu pro společný postup. Myslím, že W3C bude muset jejich nabídku přijmout, protože bez podpory na straně prohlížečů (a tu zastupuje WHATWG) se žádný standard prosadit nedá.
</p>
<p>
Jak vidíte, článek je spíš takový uzel na kapesníku, abych vývoj na tomto poli sledoval, než nějakým detailním pojednáním.
</p>
<h3>Zdroje:</h3>
<ul>
<li><a href="http://html456.blogspot.com/">HTML 4 5 6</a> &ndash; český blog pouze o vývoji kolem HTML5</li>
<li><a class="ven" href="http://www.digital-web.com/articles/html5_xhtml2_and_the_future_of_the_web/">Digital Web Magazin: HTML5, XHTML2, and the Future of the Web</a></li>
<li><a href="http://www.whatwg.org/" class="ven">Web Hypertext Application Technology Working Group</a> (WHATWG)</li>
<li><a href="http://www.w3.org/" class="ven">W3C</a></li>
<li><a href="http://www.whatwg.org/html5" class="ven">Aktuální stav standardu HTML5</a></li>
<li><a href="http://www.w3.org/TR/xhtml2/">Aktuální stav standardu XHTML 2.0</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/04/15/ceka-nas-html5-nebo-xhtml-20/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Revoluce web aplikací</title>
		<link>http://jankorbel.cz/2007/04/10/revoluce-web-aplikaci/</link>
		<comments>http://jankorbel.cz/2007/04/10/revoluce-web-aplikaci/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 05:35:00 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Esej]]></category>
		<category><![CDATA[Web aplikace]]></category>

		<guid isPermaLink="false">http://jankorbel.cz/2007/04/10/revoluce-web-aplikaci/</guid>
		<description><![CDATA[Nikde na českém internetu jsem nenarazil na ucelený článek o&#160;tom, jaký převrat představují webové aplikace a&#160;prohlížeč jako platforma pro tyto aplikace. Nevím, jestli je to tím, že si to tu málokdo uvědomuje, nebo tím, že to všichni vědí a&#160;tak o&#160;tom nikdo nepíše. Takže minimálně pro utřídění mých vlastních myšlenek, zde je můj nástin revoluce web [...]]]></description>
			<content:encoded><![CDATA[<p>Nikde na českém internetu jsem nenarazil na ucelený článek o&nbsp;tom, jaký převrat představují webové aplikace a&nbsp;prohlížeč jako platforma pro tyto aplikace. Nevím, jestli je to tím, že si to tu málokdo uvědomuje, nebo tím, že to všichni vědí a&nbsp;tak o&nbsp;tom nikdo nepíše. Takže minimálně pro utřídění mých vlastních myšlenek, zde je můj nástin revoluce web aplikací.<br />
<span id="more-11"></span></p>
<h3>Nuly a&nbsp;jedničky v&nbsp;krabicích</h3>
<p>
	Když se před masívním rozšířením sítě sítí řeklo „software“, všichni jsme si představili krabici a&nbsp;v&nbsp;ní manuál a&nbsp;CD. Software jsme nainstalovali, používali, stěžovali si na nedostatky nebo chyby a&nbsp;po určité době, závislé na výrobci, jsme si koupili novou verzi.
</p>
<p>Takový koloběh měl několik důsledků pro nás uživatele:</p>
<ol>
<li>Jakmile byl software jednou „v krabici“ byly tam i&nbsp;všechny chyby, které v&nbsp;něm programátoři nechali.</li>
<li>K programu jste měli samozřejmě přístup pouze z&nbsp;jednoho počítače &mdash; z&nbsp;toho, kde byl nainstalován.</li>
<li>Komplikace se sdílením dat z&nbsp;„našeho“ programu s&nbsp;někým jiným. </li>
<li>Různé verze programu a&nbsp;jejich (ne)kompatibilita.</li>
</ol>
<p>A teď z&nbsp;pohledu firem software vydávajících:</p>
<ol>
<li>Komplikovaný, zdlouhavý a&nbsp;tím pádem drahý vývoj.</li>
<li>Náklady na fyzickou distribuci softwaru (krabice s&nbsp;CD se někde musí prodat).</li>
<li>Co s&nbsp;chybami, které v&nbsp;softwaru zákonitě zůstanou i&nbsp;po jakkoli důkladném beta testování?</li>
<li>Co kompatibilita mezi různými verzemi? Neomezí nás ve vývoji (viz Windows)?</li>
<li>Pokud chcete prodat novou verzi, musíte do ní dát další užitečné funkce, které  zákazníky přesvědčí ke koupi. Pokud už to nejde začnete uměle odřezávat uživatele starších verzí (viz nekompatibilita souborů z&nbsp;různých verzí Illustratoru).</li>
<li>Méně hmatatelné, ale neméně důležité, jsou problémy vyplývající z&nbsp;toho, že programování museli dělat úplně jiní lidé, než kteří dělali design &#8211; nebo jste viděli někoho, kdo je alespoň schopen číst C++ a&nbsp;k&nbsp;tomu je grafik?</li>
</ol>
<h3>Brouzdáním vpřed</h3>
<p>
	S&nbsp;rozšířením internetu se softwarovým firmám otevřela možnost vyřešit alespoň některé výše uvedené problémy. Za všechny jmenujme automatické udpaty, které výrazně urychlují produkční cyklus a&nbsp;pomáhají s&nbsp;odstraněním chyb.
</p>
<p>
	Ale tím to neskončilo, pokrok na poli webových technologií a&nbsp;především stále se zlepšující podpora standardů (ať už je to HTML, CSS nebo JavaScript) však vytvořila nové vývojové prostředí pro aplikace: <strong>webový prohlížeč</strong>.
</p>
<p>
	Vezmu to stručně, ale uvedené body mají rozsáhlé implikace, tak si je nechte projít hlavou<sup id="pozn-1-zpet"><a href="#pozn-1">1</a></sup>.
</p>
<p>Co prohlížeč jako vývojové prostředí umožňuje vývojářům:</p>
<ul>
<li><strong>Jednoduchý a&nbsp;rychlý vývoj</strong> &mdash; snadněji zvládnutelné programovací jazyky, okamžitě viditelné výsledky, rychlá implementace grafického rozhraní, snadné úpravy atp.</li>
<li><strong>Cílení menšího trhu</strong> &mdash; levnější vývoj nám umožní oslovit i&nbsp;klienty, pro které se dřív nevyplácelo zvláštní software programovat. Otevírá se obrovský prostor pro malé softwarové firmy, které budou rentabilně nabízet levný produkt, šitý na míru úzkému okruhu zákazníků.</li>
<li><strong>Snadná distribuce</strong> &mdash; aplikace běží na serveru, uživatelé si ji otevírají jako stránku v&nbsp;prohlížeči &#8211; nemusí nic instalovat, funguje na všech operačních systémech.</li>
<li><strong>Pronájem softwaru</strong> &mdash; samotný princip hostování web aplikací přímo vybízí k pronájmu softwaru uživatelům na základě pravidelných poplatků, nikoli jednorázového prodeje.</li>
<li><strong>Bleskové odstraňování chyb</strong> &mdash; jsme schopni chybu najít, opravit a&nbsp;správnou verzi „nainstalovat“ všem uživatelům třeba během pár minut &#8211; něco takového krabicový software rozhodně nezná.</li>
<li><strong>Menší problémy se správou verzí</strong> &mdash; z&nbsp;podstaty fungování vyplývá, že všichni uživatelé mají stejnou verzi, takže máme jednodušší technickou podporu, mnohem snadněji se řeší zpětná kompatibilita.</li>
<li><strong>Přístup odkudkoli</strong> &mdash; Uživatelé mají ke „své“ aplikaci přístup všude tam, kde je připojení na internet, což bude v&nbsp;brzké budoucnosti znamenat prostě všude.</li>
<li><strong>Sdílení zdarma</strong> &mdash; webové aplikace mohou klienti téměř automaticky sdílet mezi sebou &#8211; je to přece jen webová stránka, kterou si může otevřít každý s&nbsp;přístupem na internet. Samozřejmě, že budeme muset zvlášť řešit sdílení konkrétních dat mezi uživateli navzájem, ale i&nbsp;to se bude implementovat určitě mnohem lépe než u&nbsp;krabicového softwaru.</li>
<li><strong>Dobrá omezení</strong> &mdash; prohlížeč nám neumožňuje vše, co třeba operační systém a&nbsp;je to dobře. Omezení nás nutí soustředit se na základní funkce a&nbsp;nemáme tak prostor pro mnoho výstřelků typu pan Sponka. Ale i&nbsp;tak <a href="http://gettingreal.37signals.com/ch02_Build_Less.php" class="ven">je třeba mít se na pozoru</a>.</li>
</ul>
<p>
	Z&nbsp;výše uvedeného chci vypíchnout hlavně možnost oslovit levnou aplikací klienty, kteří nemají statisíce na implementaci SAPu, ale s&nbsp;radostí zaplatí $50 měsíčně za jednoduchou, dobře fungující webovou aplikaci &mdash; viz <a href="http://www.basecamphq.com/" class="ven">Basecamp</a> a&nbsp;úspěch <a href="http://37signals.com/">37signals</a> vůbec.
</p>
<h3>Vidím aplikací pole široké&#8230;</h3>
<p>Stručný pohled do blízké budoucnosti, berte ho s&nbsp;nadhledem.</p>
<p>Web aplikace se budou, tam kde to bude mít smysl, víc integrovat s&nbsp;desktopem (widgety nebo přidání offline funkčnosti).</p>
<p>Web aplikace budou přes veřejná API stále více komunikovat mezi sebou a&nbsp;s&nbsp;desktopovými aplikacemi.</p>
<p>S rozšiřující se podporou plnohodnotného internetu na mobilních telefonech se otevře další prostor, na kterém se uplatní schopnost web aplikací fungovat ve stejné verzi na mnoha různých platformách.</p>
<h3>A co vy?</h3>
<p>
	Prohlížeč jako vývojové prostředí nabízí skvělou možnost pro malé firmy nebo jednotlivce, kteří se mohou chytit tím, že dobře vyřeší potřeby třeba i&nbsp;úzkého okruhu firem. Vždy je tu možnost expanze a&nbsp;to i&nbsp;do zahraničí &mdash; počítat při vývoji s&nbsp;více jazykovými verzemi nepředstavuje mnoho komplikací navíc a&nbsp;distribuce do zahraničí je možná „automaticky“.
</p>
<p>
	Zajímalo by mě, jaké jsou vaše zkušenosti s&nbsp;vývojem web aplikací? Co jste programovali, v&nbsp;čem, jak dlouho to trvalo, bylo to výdělečné atd. Zajímá mě cokoli, co jste ochotni sdělit. Chci tu začít dialog, který mi v&nbsp;českém prostředí chybí. Samozřejmě, že budu postupně publikovat naše zkušenosti s&nbsp;budováním web aplikací, naše postupy, naše designérská rozhodnutí&hellip;
</p>
<p>Tak je tam někdo? ;)</p>
<hr/>
<p>
<strong><em>Aktualizováno 28. 10. 2007:</em></strong> <em>Hezký příklad probíhající integrace web aplikací s desktopem přináší <a href="http://labs.mozilla.com/2007/10/prism/" class="ven">Prism</a> od <a href="http://labs.mozilla.com/" class="ven">Mozilla Labs</a>. Via <a href="http://vsemiosmi.blogspot.com/2007/10/co-umi-prism.html" class="ven">Marek Prokop</a></em>
</p>
<p>
<strong><em>Aktualizováno 17. 2. 2007:</em></strong> <em>Na OS X umožňuje funkcionalitu Prism slibná aplikace <a href="http://fluidapp.com/">Fluid</a></em>
</p>
<hr/>
<div id="footnotes">
<ol id="postPozn" style="margin-bottom: 40px;">
<li id="pozn-1">
<p>
				Zájemce o&nbsp;rozsáhlejší pojednání na téma browser jako API doporučuji skvělý článek <a href="http://www.joelonsoftware.com/articles/APIWar.html" class="ven">How Microsoft Lost the API War</a> od Joela Spolskyho. Spolsky popisuje, co a&nbsp;proč se stalo, já se chci zaměřit na to, co z&nbsp;toho plyne.
			</p>
<p><a class="postPoznReturnLink" href="#pozn-1-zpet">zpět na místo v&nbsp;textu</a></p>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/04/10/revoluce-web-aplikaci/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Lesk a bída tagování</title>
		<link>http://jankorbel.cz/2007/03/14/lesk-a-bida-tagovani/</link>
		<comments>http://jankorbel.cz/2007/03/14/lesk-a-bida-tagovani/#comments</comments>
		<pubDate>Wed, 14 Mar 2007 22:42:41 +0000</pubDate>
		<dc:creator>jan</dc:creator>
				<category><![CDATA[Esej]]></category>
		<category><![CDATA[Uživatelské rozhraní]]></category>
		<category><![CDATA[Web aplikace]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[tagy]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://jankorbel.hotpotato.cz/2007/03/14/lesk-a-bida-tagovani/</guid>
		<description><![CDATA[Označování obsahu tagy se stalo neodmyslitelnou součástí mnoha stránek a webových aplikací. Nadefinujeme klíčová slova a podle nich své informace zase najdeme &#8211; krásně jednoduché. Jak už to bývá, převést jednoduchou myšlenku do života před nás postaví nejednu výzvu. Pokusím se tu rozvést základní koncept tagování a nadhodit další možnosti jeho využití. Začnu dvěma problémy, [...]]]></description>
			<content:encoded><![CDATA[<p>
Označování obsahu tagy se stalo neodmyslitelnou součástí mnoha stránek a webových aplikací. Nadefinujeme klíčová slova a podle nich své informace zase najdeme &#8211; krásně jednoduché. Jak už to bývá, převést jednoduchou myšlenku do života před nás postaví nejednu výzvu. Pokusím se tu rozvést základní koncept tagování a nadhodit další možnosti jeho využití.
</p>
<p><span id="more-5"></span></p>
<p>
	Začnu dvěma problémy, kterými tagování trpí<sup id="pozn-1-zpet"><a href="#pozn-1">1</a></sup>:
</p>
<ol>
<li>Komplikované vyhledávání v&nbsp;rozsáhlém seznamu tagů </li>
<li>Velké množství výsledků i&nbsp;po výběru jednoho tagu</li>
</ol>
<h3>Příliš těžké mraky</h3>
<p>
	Obrázek č. 1&nbsp;ukazuje seznam tagů (tag cloud), které byly použity pro označení fotografií na Flickru. Když kliknete na <em>clouds</em> objeví se fotografie s&nbsp;tímto tagem.
</p>
<p id="obrJedna">
	<img class="blockImg framedImg" src="/img/article/tagova-navigace/flickr-tag-cloud-sm.gif" alt="" title="Obrázek č. 1" width="500" height="330"/>
</p>
<p class="imgDesc">
	Obrázek č. 1&nbsp;- příklad seznamu tagů (tag cloud) na <a href="http://www.flickr.com/photos/tags/" class="ven">Flickru</a>
</p>
<p>
	Z&nbsp;obrázku je dobře patrný první problém tagování: Časem vytvoříme tolik různých tagů, že je obtížné v&nbsp;nich najít ten, který hledáme<sup id="pozn-2-zpet"><a href="#pozn-2">2</a></sup>. K&nbsp;čemu nám pak jsou vlastní dveře, když je nedokážeme v&nbsp;záplavě jiných dveří najít?
</p>
<blockquote class="pullQuote"><p>
	K&nbsp;čemu nám jsou vlastní dveře, když je nedokážeme v&nbsp;záplavě jiných dveří najít?
</p>
</blockquote>
<h3>Příliš mnoho kapek</h3>
<p>
	Další problém vyvstane s&nbsp;přibývajícím tagovaným obsahem: Když už konečně najdeme hledaný tag, zúžíme sice množinu výsledků, ale ještě pořád bude výsledků tolik, že bude obtížné v&nbsp;nich najít ten váš.
</p>
<p>
	Příklad hledání fotografií je přitom relativně jednoduchý. Představme si, že používáme tagy pro označování odkazů na stránky a&nbsp;tyto odkazy jsou přístupné i&nbsp; dalším uživatelům. Třeba jsme někde viděli skvělý návod na fotogalerii vytvořenou čistým HTML kódem, javascriptem a&nbsp;formátovanou pomocí CSS. Víme, že jsme nejspíš použili tagy <em>html</em>, <em>javascript</em>, <em>css</em>. Jenže přesně tyto tagy použili jiní uživatelé pro svoje odkazy, takže se velmi rychle dostaneme do situace, kdy na námi zvolený tag vyběhne tolik “šumu”, že je systém nepoužitelný.
</p>
<h3>Solení mraků</h3>
<p>
	Pojďme se podívat na možná řešení prvního problému: Najít v&nbsp;seznamu tagů ten svůj.
</p>
<p>
	Obrázek č. 1 nám opět udělá dobrou službu, protože na něm vidíte jedno oblíbené řešení &#8211; <strong>zvýraznění nejčastěji používaných tagů</strong> zvětšením jejich velikosti.
</p>
<p>
	<img class="blockImg framedImg" src="/img/article/tagova-navigace/flickr-tag-cloud-sm.gif" alt="" title="Obrázek č. 1 - zopakovaný" width="500" height="330"/>
</p>
<p>
	V&nbsp;případě “most popular” tagů Flickr používá ještě, řekněme opačnou metodu &#8211; <strong>nezobrazování tagů</strong>, které jsou používány relativně málo. Kompletní seznam tagů je k&nbsp;dispozici zvlášť.
</p>
<p>
	Pokud opravdu hledáme obsah otagovaný zvýrazněnými tagy, je to fajn, když nás ale zajímají tagy jiné, je orientace ještě těžší, protože naši pozornost zaměstnávají pro nás nepodstatné objekty<sup id="pozn-3-zpet"><a href="#pozn-3">3</a></sup>.
</p>
<blockquote class="pullQuote"><p>
	Počáteční písmeno následujících tagů usnadní orientaci v&nbsp;seznamu
</p>
</blockquote>
<p>
	Ne tak očividnou, rozhodně však důležitou pomůckou je <strong>abecední řazení tagů</strong>. Umožňuje nám to téměř podvědomě odhadnout, kde zhruba náš tag bude. Já osobně ještě preferuju, od určitého množství tagů ulehčit orientaci navíc tím, že výrazně zobrazíme počáteční písmeno následujících tagů, viz obrázek  č. 2. Je to screenshot z&nbsp;aplikace, kterou jsem si naprogramoval, abych mohl snadno vyhledávat v&nbsp;různých odkazech, které si chci archivovat. Pro srovnání jsem nechal tagy jednou vypsat i&nbsp;bez úvodních písmen.
</p>
<p id="obrDva">
	<img class="blockImg framedImg" src="/img/article/tagova-navigace/matrix-tag-cloud-s-abecedou.png" alt="" title="Obrázek č. 2" width="500" height="530"/>
</p>
<p class="imgDesc">
	Obrázek č. 2&nbsp;- Výpis seznamu tagů s&nbsp;úvodnímu písmeny
</p>
<p id="obrTri">
	<img class="blockImg framedImg" src="/img/article/tagova-navigace/matrix-tag-cloud-bez-abecedy.png" alt="" title="Obrázek č. 3" width="500" height="490"/>
</p>
<p class="imgDesc">
	Obrázek č. 3&nbsp;- Výpis seznamu tagů bez úvodních písmen
</p>
<p>
	Kombinací výše uvedených pomůcek jsme schopni obstojně vyřešit problém přehledného vypisování seznamu tagů pro většinu aplikací, na které můžeme narazit. Je potřeba mít na paměti, že každá aplikace bude mít svoje specifika a proto nebude existovat nějaký jediný správný způsob, jak při tvoření seznamu tagů postupovat. Vžijte se do myšlení uživatelů, zaměřte se na to, v&nbsp;čem jim má aplikace pomoci.
</p>
<p>
	Druhý problém &#8211; příliš mnoho výsledků i&nbsp;po zúžení pomocí jednoho tagu &#8211; bude mnohem zajímavější oříšek.
</p>
<h3>Okap pro silný déšť</h3>
<p>
	Už jsem zmiňoval svou aplikaci na archivaci různých odkazů, poznámek, kusů kódu apod. Říkám jí Matrix a&nbsp;vytvořil jsem ji proto, že mi možnosti organizace bookmarků v&nbsp;prohlížeči naprosto nevyhovovaly. Uložil jsem si to do složky /esej, /články nebo snad /to read?
</p>
<p>
	Problém je v&nbsp;tom, že komplexní údaje si při větším množství žádají složitější třídění, takže jsem měl složku /css, která dále obsahovala něco ve stylu /layout, /rohy, /forms apod. V&nbsp;jiných oblastech obdobně nebo ještě více úrovní zanoření. Nevyhnutelně docházelo k&nbsp;tomu, že jsem pak při pokusu o&nbsp;vyhledání uložené informace (kterou obvykle člověk potřebuje hned), neměl náladu na procházení podadresářů složek a&nbsp;hledání toho správného článku &#8211; Google byl pořád o&nbsp;dost rychlejší.
</p>
<p>
	Přitom jsem ale častokrát naprosto jistě věděl, že už jsem věc, která mě zrovna trápila viděl někde vyřešenou, na nějaké stránce, nebo blogu, nebo kde&#8230; Znáte ten pocit?
</p>
<blockquote class="pullQuote"><p>
	Což takhle zkombinovat klasickou stromovou strukturu s tagy?
</p>
</blockquote>
<p>
	Pak jsem se dozvěděl o&nbsp;<a href="http://del.icio.us/" class="ven">Delicious</a>. Nejdřív jsem jásal a&nbsp;podivoval jsem se, jak to, že mě něco tak prostého nenapadlo &#8211; prostě přidám k&nbsp;bookmarku ještě klíčová slova a&nbsp;je to. Sdílení s&nbsp;jinými uživateli je bonus.
</p>
<p>
	No jo, jenže Delicious trpí přesně tím problémem, o&nbsp;kterém je tahle část článku &#8211; vyberete tag a&nbsp;vyběhne na vás tolik výsledků, že jste stejně ztraceni.
</p>
<p>
	A pak mě napadlo “Což takhle zkombinovat klasickou stromovou strukturu s&nbsp;tagy?”, ten proces zanořování a&nbsp;logického zužování s&nbsp;tím, že hledaná informace vlastně není na jednom konkrétním místě, ale je pouze popsaná klíčovými slovy &#8211; tagy.
</p>
<p>
	<strong>Přišlo mi přirozené, že by tagování mělo fungovat následovně:</strong>
</p>
<ol>
<li>Vybereme tag</li>
<li>Jsou zobrazeny výsledky, které daný tag mají</li>
<li>Zároveň se ale seznam tagů změní a&nbsp;bude obsahovat už jen ty tagy, které mají příspěvky, jež mají zároveň i&nbsp;tag vybraný v&nbsp;kroku 1</li>
<li>Můžu pokračovat v&nbsp;dalším zužování nebo se vrátím o&nbsp;tag zpět</li>
</ol>
<p>
	Názorný příklad: &#8222;Jak se sakra jmenuje taková ta javascriptová fotogalerie&hellip; taková ta pěkná, s&nbsp;animacema při otevírání fotky&hellip;&#8220; První tag, který mě napadne je <em>javascript</em>.
</p>
<p id="obrCtyri">
	<a href="/img/article/tagova-navigace/matrix-tag-javascript.png"><br />
		<img class="blockImg framedImg" src="/img/article/tagova-navigace/matrix-tag-javascript-sm.png" alt="" title="Obrázek č. 4" width="500" height="575"/><br />
	</a>
</p>
<p class="imgDesc">
	Obrázek č. 4&nbsp;- Část stránky aplikace Matrix po výběru tagu <em>javascript</em> &#8211; <a href="/img/article/tagova-navigace/matrix-tag-javascript.png">klikněte pro zvětšení</a>
</p>
<p>
	Kliknu tedy na <em>javascript</em> v&nbsp;seznamu tagů a&nbsp;vyjedou mi všechny příspěvky, které jsou jím označeny. Ačkoli aplikaci používám sám, výsledků už je tolik, že by mi takovéhle zúžení nebylo nic platné (<a href="/img/article/tagova-navigace/matrix-tag-javascript.png">celý screenshot</a>, PNG 600 KB). Ale jak vidíte na obrázku č. 4, můj seznam tagů se nyní změnil &#8211; obsahuje už jen tagy, které mají příspěvky, které zároveň mají i&nbsp;můj tag <em>javascript</em><sup id="pozn-4-zpet"><a href="#pozn-4">4</a></sup>.
</p>
<p>
	Všimněte si, jak se mi vypisuje tagová cesta, kterou jsem se k&nbsp;aktuálním výsledkům dostal. Můžu se kdykoli vrátit o&nbsp;krok zpět a&nbsp;vybrat jiný tag, pokud bych nebyl s&nbsp;výsledky spokojen.
</p>
<p>
	Já už ale vidím tag <em>fotogalerie</em>, klikám na něj a&nbsp;jásám “Lighbox, jasně&hellip; to je taky název pro fotogalerii&hellip;” ;-)
</p>
<p id="obrPet">
	<img class="blockImg framedImg" src="/img/article/tagova-navigace/matrix-tag-javascript-fotogalerie.png" alt="" title="Obrázek č. 4" width="600" height="400"/>
</p>
<p class="imgDesc">
	Obrázek č. 5&nbsp;- Stránka po výběru tagů <em>javascript</em>, <em>fotogalerie</em>
</p>
<p>
	Samozřejmě jsem nemusel jít jen cestou <em>javascript</em> &gt; <em>fotogalerie</em>. Mohl jsem začít u&nbsp;kteréhokoli z&nbsp;tagů, kterým je daná informace označena. Mám tedy stejný pocit postupného zanořování jako u&nbsp;klasického adresářového stromu, jenže s&nbsp;tou výhodou, že můj cíl není na jednom jediném místě a&nbsp;já se nemusím hned na začátku jednoznačně trefit, jinak ho nemám šanci najít &#8211; ne, k&nbsp;mému cíli vede tolik cest, kolik je kombinací tagů definovaných pro popis informace.
</p>
<blockquote class="pullQuote"><p>
	K cíli pak vede tolik cest, kolik je kombinací tagů definovaných pro popis informace
</p>
</blockquote>
<h3>Možnosti použití </h3>
<p>
	Vsadil bych se, že vás napadá pár příkladů, kde by se vám tenhle způsob navigace mohl hodit. Obecně je to vždy tam, kde je hodně položek, ve kterých se vyhledává a nestačí nám pouze jedno kritérium třídění, jedna úroveň adresářů, např. <em>/javascript</em>.
</p>
<p>
	Kromě různých aplikací na archivaci bookmarků, poznámek, dokumentů apod., mě láká třeba použítí pro online obchody. Nevím jak vy, ale já někdy opravdu trpím, když hledám něco, řekněme na stránkách <a href="http://www.alza.cz/" class="ven">Alza.cz</a>. Jejich základní menu produktů čítá <strong>57 kategorií!</strong> Dovedu si představit, že použití stromového tagového systému<sup id="pozn-5-zpet"><a href="#pozn-5">5</a></sup> by uživatelům umožnilo vyhledávat rychleji.
</p>
<p>
	<a href="http://www.alza.cz/"><br />
		<img class="fltRgt blockImg framedImg" src="/img/article/tagova-navigace/alza-kategorie-sm.gif" width="150" height="275" alt=""><br />
	</a><br />
	<strong>Příklad:</strong> Hledám toner do tiskárny. Vídím seznam kategorií a můj myšlenkový pochod je asi takovýhle: &#8222;Toner do tiskárny&hellip; toner, toner&hellip; T&hellip; T&hellip; T&hellip; ne, tonery tu jako kategorie nejsou. Hm, tak vezmu <em>Tiskárny</em>&#8222;, klik a načte se <a href="http://www.alza.cz/18842929/tiskarny.htm" class="ven">stránka příslušné kategorie</a>. Teď musím očima projít submenu (což mi zabere nějaký čas), abych zjistil, že v této kategorii tonery také nejsou. Zpátky do hlavního menu kategorií. Ale teď ho nejspíš budu muset projet očima celé a&nbsp;zkusit, jestli mě nějaká kategorie neupoutá. &#8222;Hele, kancelářské potřeby&#8220;. Klik. Prozkoumání submenu. &#8222;Aaaa, ne&hellip;&#8220; Zpátky očima do hlavního menu. Míjím očima všechny kategorie a musím u toho myslet. Vynechám nástrahu v&nbsp;podobě &#8222;Smíšeného zboží&#8220; a&nbsp;kliknu na &#8222;Spotřební materiál&#8220;. Projedu submenu. &#8222;Ha, tonery!&#8220; Teď ještě vyklikat filtry na moji značku a je to doma. Uf, to byl výkon.
</p>
<p>
	<strong>A teď to samé ve stromovém tagovém systému</strong>: &#8222;Toner do tiskárny&hellip; toner, toner&hellip; T&hellip; T&hellip; T&hellip;&#8220;, písmeno T najdu snadno, protože je zvýrazněno jako počáteční písmeno skupiny tagů, &#8222;A hele tag <em>toner</em>!&#8220; Klik. Vyjede stránka a seznam tagů se změní už jen na tagy, které mají položky, které mají také tag <em>toner</em>. &#8222;HP, HP&hellip;&#8220; Klik. Načtení stránky, nový seznam tagů, který už bude velmi konkrétní a&nbsp;jsem u&nbsp;cíle.
</p>
<p>
	Já vím, šedá je teorie a zelený strom života, ale věřím, že by to fungovalo lépe, než stávajících 57 kategorií.
</p>
<p>
	Další příklad použití může být <strong>třídění firemních kontaktů</strong>. Náš klient, firma <a href="http://www.nextlan.cz/" class="ven">Nextlan</a>, má několik webů, kde se uživatelé registrují, aby si mohli stáhnout ceník, přičemž vyslovují souhlas s&nbsp;tím, že jim budou zasílána obchodní sdělení. Těch kontaktů je přes 10000. Po registraci je každému automaticky přidělen tag s&nbsp;názvem webu, ze kterého jde a&nbsp;tag <em>koncák</em>. Kontakt je zařazen do fronty a čeká na schválení. Při schvalování, nebo kdykoli později může pracovník Nextlanu změnit <em>koncák</em> na <em>distributor</em> nebo cokoli jiného. Před rozesílávkou zúžíme celou skupiny kontaktů přes výběr příslušných tagů, např. <em>netcam</em>&nbsp;&gt;&nbsp;<em>dealer</em> a máme velmi dobře cílenou skupinu, kterou náš email zajímá.
</p>
<p>
	Tyhle všechny, a&nbsp;určitě mnohé jiné, aplikace můžou ze stromového tagového systému něco vytěžit.
</p>
</p>
<p>
	Je mi jasné, že jsem tady jen tak škrábnul povrch a&nbsp;spoustu věcí nezmínil (kombinace s&nbsp;full-textovým prohledáváním třeba), ale zároveň věřím, že jsem vám nasadil brouka do hlavy, a&nbsp;že se vám bude můj koncept v&nbsp;nějakém projektu hodit.
</p>
<hr/>
<div id="footnotes">
<ol id="postPozn">
<li id="pozn-1">
<p>
				Nejsou to rozhodně jediné problémy. Co třeba různé tvary téhož klíčového slova (zamek, zámek, zámky, zámecký), nezahltí nám seznam tagů? Máme brát tagy jako jednotlivá slova, nebo povolit, aby tagem bylo více slov (<em>Bílý Dům</em>, <em>konference Appleforum 2007</em>)? Co s různými klíčovými slovy pro stejnou informaci (<em>Apple fórum 2007</em>, <em>Appleforum2007</em>, <em>applefórum2007</em>, <em>AppleForum 2007</em>)?
			</p>
<p>
				Jak říkám, jednoduchá myšlenka&hellip; ;-)
			</p>
<p>
				Pro zájemce o&nbsp;hlubší studium doporučuji jako výchozí bod <a href="http://en.wikipedia.org/wiki/Folksonomy">definici folksonomie ve Wikipedii</a>
			</p>
<p><a class="postPoznReturnLink" href="#pozn-1-zpet">zpět na místo v&nbsp;textu</a></p>
</li>
<li id="pozn-2">
<p>
				Na obrázku jsou přitom jen nejpopulárnější tagy, pokud by se zobrazovaly opravdu všechny, nebyl by tag cloud na Flickru použitelný vůbec. <a class="postPoznReturnLink" href="#pozn-2-zpet">zpět na místo v&nbsp;textu</a>
			</p>
</li>
<li id="pozn-3">
<p>
				A proto je zvýrazňování nejčastějších tagů grafickými prostředky v mnoha případech ke škodě a není vhodné ho použít. <a class="postPoznReturnLink" href="#pozn-3-zpet">zpět na místo v&nbsp;textu</a>
			</p>
</li>
<li id="pozn-4">
<p>
				Bystří čtenáři si všimnou, že jsem v tomto filtrovaném seznamu tagů přestal používat abecední řazení a zmizela uvodní písmena tagů. <strong>To je bug</strong>, prosím pěkně, rozhodně bych měl abecední řazení dodržet, ale takhle to vyplynulo z&nbsp;použitých funkcí. <a class="postPoznReturnLink" href="#pozn-4-zpet">zpět na místo v&nbsp;textu</a>
			</p>
</li>
<li id="pozn-5">
<p>
				Pracovní název, abych nemusel koncept pořád popisovat nebo říkat &#8222;můj koncept&#8220;, což mi zní tak nějak nafrněně. Pokud by někoho napadl lepší název, do komentářů s ním. <a class="postPoznReturnLink" href="#pozn-5-zpet">zpět na místo v&nbsp;textu</a>
			</p>
</li>
</ol>
</div>
<p><!-- //  footnotes--></p>
]]></content:encoded>
			<wfw:commentRss>http://jankorbel.cz/2007/03/14/lesk-a-bida-tagovani/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

