<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>SC5 Blog</title>
	
	<link>http://blog.sc5.fi</link>
	<description />
	<lastBuildDate>Tue, 29 May 2012 07:25:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/sc5blog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="sc5blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Style Guides: why you should have one</title>
		<link>http://blog.sc5.fi/2012/05/style-guides-why-you-should-have-one/</link>
		<comments>http://blog.sc5.fi/2012/05/style-guides-why-you-should-have-one/#comments</comments>
		<pubDate>Tue, 29 May 2012 07:25:57 +0000</pubDate>
		<dc:creator>Oiva</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Web apps]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=924</guid>
		<description><![CDATA[(This post was inspired by the Webshaped front end conference held in Helsinki in mid-May. Style guides was one topic that came up in couple of the talks, particularly in Kyle Neath&#8217;s talk on KSS &#8211; a CSS documentation tool. &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/style-guides-why-you-should-have-one/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>(This post was inspired by the <a href="http://webshaped.fi">Webshaped</a> front end conference held in Helsinki in mid-May. Style guides was one topic that came up in couple of the talks, particularly in Kyle Neath&#8217;s talk on KSS &#8211; a CSS documentation tool. More on that later.)</p>
<p>Wikipedia defines style guides as a set of standards and rules for designing and writing documents with the purpose of providing uniformity in a specific publication or organization.</p>
<p>In the context of web development a style guide usually defines what CSS styles and UI widgets are available, where to use them, and if any special markup is needed to create them. A typical guide would list the available styles and widgets on a page with corresponding HTML markup next to them.</p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/styleguide1.png"><img class="alignnone size-full wp-image-936" title="Example from Twitter Bootstrap's style guide" src="http://blog.sc5.fi/wp-content/uploads/2012/05/styleguide1.png" alt="" width="567" height="202" /></a></p>
<p>One example of a style guide that people are probably familiar with is <a href="http://twitter.github.com/bootstrap/base-css.html">Twitter Bootstrap&#8217;s documentation</a>. The documentation is extensive and shows how your basic HTML elements are styled along with different CSS modifiers that can be used with each element. Twitter Bootstrap&#8217;s <a href="http://twitter.github.com/bootstrap/components.html">components page</a> adds reasoning for when to use a given component &#8211; useful if you&#8217;re designing your UI as you go.</p>
<h2>Create the Style Guide First</h2>
<p>Depending on the project you might find yourself with a set of .PSD layouts from which you are supposed to build a site. (This is pretty much the state of business in Finland.) From here your first step should be gathering a list of UI elements and colors found in the layouts and creating a style guide. Why?</p>
<ul>
<li>Providing one centralized location for styles early on prevents you and your team members from re-creating common elements. A breadcrumb element should only have one implementation and one styling.</li>
<li>It&#8217;s easier to find rarer UI widgets if they are all gathered in one place. This saves developer time from finding and reverse engineering existing UI elements.</li>
<li>Single elements can have multiple variations based on context. For example, a button element could be green if it&#8217;s a primary action button, while secondary buttons are grey. Each button might also have a disabled state, in addition to the default active and hover states. Displaying all these states in a page makes debugging them easier while at the same time reminding people to use <strong><code>button.primary</code></strong> instead of creating their own <strong><code>button.blue</code></strong> or whatever.<br />
<img class="size-full wp-image-961 alignnone" title="Example of button variations" src="http://blog.sc5.fi/wp-content/uploads/2012/05/styleguide3.png" alt="" width="564" height="177" /></li>
<li>In the case of implementing .PSD designs the style guide can be used as a tool to communicate back to the designer and show how the widgets behave in real life</li>
<li>Later on in a project the style guide can help you refactor your styles in a similar way that unit tests help while refactoring code. Global style changes can be scary but a single glance of your style guide page should tell if you actually broke something.</li>
</ul>
<h2>Start easy</h2>
<p>A style guide doesn&#8217;t necessarily need to be as complex as Twitter Bootstrap&#8217;s guide which is intended for quite a wide audience. If you haven&#8217;t done style guides previously, a simple HTML page with examples of your UI is a good place to start.</p>
<p><img class="alignnone size-full wp-image-954" title="Example of a simple style guide" src="http://blog.sc5.fi/wp-content/uploads/2012/05/styleguide2.png" alt="" width="567" height="177" /></p>
<p>In a recent project we hand coded a simple page with all available UI widgets. Granted the page probably could have used code examples, and it was sometimes left broken, it still proved useful for communicating what was available and testing the widgets.</p>
<h2>Automate</h2>
<p>In larger projects it might be worthwhile to use a tool that builds and updates the style guide automatically. Kyle Neath&#8217;s <a title="Knyle Style Sheets" href="http://warpspire.com/posts/kss/">KSS</a> uses machine readable (but simple) CSS comments to describe different elements and their variations. It also gently pushes you into writing modular, <a href="https://github.com/stubbornella/oocss/wiki">object oriented CSS</a>. An example of KSS&#8217;s end result is <a href="https://github.com/styleguide/css/1.0">GitHub&#8217;s own style guide</a>. KSS does work with the popular CSS preprocessors SASS and LESS.</p>
<p>Another approach is Adactio&#8217;s <a href="http://adactio.com/journal/5028/">Pattern Primer</a> which is basically a simple PHP script that collects a bunch of HTML snippets into one guide.</p>
<p>Having the style guide update automatically makes people trust it&#8217;s always up-to-date and makes it easier to integrate in the development process. But it doesn&#8217;t mean the manually updated guides would be somehow useless. Every widget needs to be coded and every style defined so why not do that on one page? In the end it saves everyone&#8217;s time and trouble and enables them to focus on creating kick-ass services instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/style-guides-why-you-should-have-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rolling with Windows 8 JavaScript apps</title>
		<link>http://blog.sc5.fi/2012/05/rolling-with-windows-8-javascript-apps/</link>
		<comments>http://blog.sc5.fi/2012/05/rolling-with-windows-8-javascript-apps/#comments</comments>
		<pubDate>Fri, 25 May 2012 12:51:48 +0000</pubDate>
		<dc:creator>petro</dc:creator>
				<category><![CDATA[Web trends]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[UX developer]]></category>
		<category><![CDATA[windows 8]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=908</guid>
		<description><![CDATA[So, here I am, a big corporate kid wrapping up a fun first week at SC5. I joined the company as Head of Technology and will be actively communicating the exciting things we have cooking in our web app projects. &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/rolling-with-windows-8-javascript-apps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So, here I am, a big corporate kid wrapping up a fun first week at SC5.</p>
<p>I joined the company as Head of Technology and will be actively communicating the exciting things we have cooking in our web app projects.</p>
<p>Cutting to the chase, I wanted to share updates of an exciting couple of days working with Microsoft and a few potential clients, ironing out our readiness to deliver awesome content for day 1 availability in <a title="Windows Store" href="http://windows.microsoft.com/en-US/windows-8/apps">Windows Store</a>.</p>
<p>We had a great day with Microsoft yesterday evaluating our NewsFlux app prototype against their Application Excellence criteria. Juhani (<a href="https://twitter.com/#!/juhaniv">@juhaniv</a>) and Oliver (<a href="https://twitter.com/#!/_olli_">@_olli_</a>) were excited to see a well thought out and high performing JavaScript Metro app. SC5 was happily granted the token for publishing content to Windows Store among the first hand picked companies. The screens below are from a version that doesn&#8217;t use the final data sources, just to make sure we don&#8217;t spoil the surprise.</p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/Win8desk.png"><img class="aligncenter size-full wp-image-916" title="Win8 desktop" src="http://blog.sc5.fi/wp-content/uploads/2012/05/Win8desk.png" alt="Windows 8 desktop" width="500" height="310" /></a></p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/win8main.png"><img class="aligncenter size-full wp-image-917" title="win8main" src="http://blog.sc5.fi/wp-content/uploads/2012/05/win8main.png" alt="NewsFlux" width="500" height="310" /></a></p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/win8detail.png"><img class="aligncenter size-full wp-image-918" title="win8detail" src="http://blog.sc5.fi/wp-content/uploads/2012/05/win8detail.png" alt="NewsFlux" width="500" height="310" /></a></p>
<p>I have to say I&#8217;m positively surprised how well Microsoft is guiding developers to create quality content for Windows 8. While the tech documentation is still a tad incomplete (something we&#8217;ll aim to help the community with going forward), the UX guides and especially the certification checklists provided by the Microsoft reps have been top notch.</p>
<p>Obviously our expertise in creating modern front end solutions pays off in ramping up Windows 8 content production. While optimal code and framework reuse between &#8216;vanilla HTML5&#8242; (don&#8217;t bite on the term too much, think e.g. single page apps, with an MVC + UI + bells and whistles combination of your choice) and Metro JavaScript apps remains a study item for us and other pioneers, we&#8217;re pleased at how much we were able to do in just a couple of weeks.</p>
<p>So, full steam head. Some of the things we&#8217;ll be looking at next week is how to design compelling and very Windows 8 friendly UX paradigms with the <a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh465319.aspx">semantic zoom concept</a>. Additionally we&#8217;re thinking about efficient use of <a href="http://www.html5rocks.com/en/tutorials/websockets/basics/">WebSockets</a> to see if the performance of Metro apps especially in resource constrained devices (read future ARM slates in sub-optimal networks) could be given a boost.</p>
<p>Have a great weekend!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/rolling-with-windows-8-javascript-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SC5 launches the Jyväskylä site office</title>
		<link>http://blog.sc5.fi/2012/05/jyvaskyla-site/</link>
		<comments>http://blog.sc5.fi/2012/05/jyvaskyla-site/#comments</comments>
		<pubDate>Fri, 25 May 2012 10:04:10 +0000</pubDate>
		<dc:creator>Jarkko</dc:creator>
				<category><![CDATA[SC5 News]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=860</guid>
		<description><![CDATA[SC5 wants to have a presence where the ICT field is active. To support our aspiration to grow, we decided to set up a site in Jyväskylä. The Jyväskylä region, the heart of commercial activity in ICT field in Central &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/jyvaskyla-site/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>SC5 wants to have a presence where the ICT field is active. To support our aspiration to grow, we decided to set up a site in Jyväskylä. The Jyväskylä region, the heart of commercial activity in ICT field in Central Finland, has been a significant operational environment for the ICT branch for some time now, with plenty of research and education, innovation activities, and active businesses of all sizes. The branch employs approximately 6,500 people in the Jyväskylä region and SC5 is strongly interested in the existing potential.</p>
<p>Our Jyväskylä office is located in the brand new Innova 2 building which offers a modern and ecological working environment. The workplace is just next to city center and public transportation and has a beautiful Lake Päijänne view.</p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/jyvaskyla-site-scenery.jpg"><img class="alignnone size-full wp-image-864" src="http://blog.sc5.fi/wp-content/uploads/2012/05/jyvaskyla-site-scenery.jpg" alt="Jyväskylä Site Scenery" width="638" height="399" /></a></p>
<p>We aim to build a team with 15 web technology experts in Jyväskylä. So we are continuously looking for <a href="http://jobs.sc5.fi/#webdev">senior developers</a> to implement real-time HTML5 web and mobile solutions. Our client projects are an interesting way to learn new technologies but the tasks will demand a strong background of software development with some more traditional programming languages, like C#, C++, Java, .NET or Ruby. Any ICT talent with passion for new technologies will feel warmly welcome at SC5. We invest in employees education in new technologies and growth as professionals.</p>
<p>We take pride in disciplined and well-defined development. SC5ers are respected experts in web technologies. If you are interested in joining our growing team, please check our <a href="http://jobs.sc5.fi">open positions</a> and do not hesitate to leave a job application.</p>
<p><strong>SC5 &#8211; a forerunner in web technologies</strong></p>
<p>HTML5 is the fresh buzzword in the web world and we are proud to be one of the forerunners in the rapidly changing world, where new devices pop out every single day and web services must be usable in any place and time possible. Our senior developers are passionate about the latest web trends and that&#8217;s why it&#8217;s easy to claim that we have the best talent to build real-time, responsive web and mobile applications.</p>
<p>We will be very active educating the Jyväskylä region ICT field on latest web technologies. One of the concrete plans is to create a HTML5 mobile apps development course in co-operation with Jyväskylä University of Applied Sciences and other local players in the ICT field. We are also taking our HTML5-aamupala concept in some form to Jyväskylä. If you are interested in participating in these events, please leave me a message.</p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/jyvaskyla-site-opening.jpg"><img class="alignleft size-thumbnail wp-image-863" src="http://blog.sc5.fi/wp-content/uploads/2012/05/jyvaskyla-site-opening-150x150.jpg" alt="Jyväskylä Site Opening" width="150" height="150" /></a>The operation of Jyväskylä Innovation supports the growth, development, and competitive strength of technology businesses in Jyväskylä and Central Finland. SC5 will be visible in their web site as in <a href="http://www.ictaalto.fi/uutiset/SC5-laajensi-Jyvaskylaan">news</a> and <a href="http://www.ictaalto.fi/yritykset/#sc5">company gallery</a>.</p>
<p>We are happy to be in the center of the growing ICT field in Jyväskylä region and are ready to give our effort to make it a world wide success story. That needs a lot of co-operation and hard work, so let&#8217;s roll up our sleeves and get work well done!</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/jyvaskyla-site/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SC5 tunes into the international tech community and becomes SC5.io</title>
		<link>http://blog.sc5.fi/2012/05/sc5-tunes-into-the-international-tech-community-and-becomes-sc5-io/</link>
		<comments>http://blog.sc5.fi/2012/05/sc5-tunes-into-the-international-tech-community-and-becomes-sc5-io/#comments</comments>
		<pubDate>Fri, 25 May 2012 06:32:52 +0000</pubDate>
		<dc:creator>pyry</dc:creator>
				<category><![CDATA[SC5 News]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=870</guid>
		<description><![CDATA[So far our 43 person team has been an active follower of the international tech community, especially on issues regarding HTML5. One thing we have come to learn is that our needle sharp focus has lead us to the cutting &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/sc5-tunes-into-the-international-tech-community-and-becomes-sc5-io/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So far our 43 person team has been an active follower of the international tech community, especially on issues regarding HTML5. One thing we have come to learn is that our needle sharp focus has lead us to the cutting edge of the still-to-emerge HTML5 developers. Thanks to our forward looking customers we have had the privilege to apply the latest HTML5 technology stack in tens of projects.</p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/sc5io.jpg"><img class="alignleft size-full wp-image-902" title="SC5.io" src="http://blog.sc5.fi/wp-content/uploads/2012/05/sc5io.jpg" alt="SC5.io" width="300" height="257" /></a></p>
<p>We feel we have learnt many lessons new to the community and that now is our turn to start contributing back. Expect us opening up in the near future: open sourcing both hacks and entire platforms, participating actively in online discussions, hosting events, organizing lectures in cooperation with schools, mingling in conferences etc.</p>
<p>As a small step for the tech community but as a giant leap for us we have decided to move from the local domain to SC5.io. This is part of our plan on tuning into the international tech community and calling it home.</p>
<p>Comments and feedback are well appreciated!</p>
<p>&nbsp;</p>
<p>Ps. why .io? .io is on the rise in the tech startup scene as an alternative for dotcom. It has a hype&#8217;ish and rebellish reputation that we find fitting &#8230;and the dotcom was owned by an American holding company.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/sc5-tunes-into-the-international-tech-community-and-becomes-sc5-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memo on Windows 8 peculiarities from a developers point of view</title>
		<link>http://blog.sc5.fi/2012/05/memo-on-windows-8-peculiarities-from-a-developers-point-of-view/</link>
		<comments>http://blog.sc5.fi/2012/05/memo-on-windows-8-peculiarities-from-a-developers-point-of-view/#comments</comments>
		<pubDate>Wed, 16 May 2012 08:57:36 +0000</pubDate>
		<dc:creator>pyry</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Azure]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[windows 8]]></category>
		<category><![CDATA[Windows Store]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=848</guid>
		<description><![CDATA[We have recently started our first Windows 8 HTML5 app projects and Microsoft has been very supportive. Here&#8217;s a short memo from our latest session: A release candidate will be launched in early June, after this the development API should &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/memo-on-windows-8-peculiarities-from-a-developers-point-of-view/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We have recently started our first Windows 8 HTML5 app projects and Microsoft has been very supportive. Here&#8217;s a short memo from our latest session:</p>
<ul>
<li>A release candidate will be launched in early June, after this the development API should be pretty frozen</li>
<li>There will be a release to partners in Q3/2012.</li>
<li>Public launch will take place in October or November</li>
<li>Developers qualified by Microsoft will be granted exclusive publishing rights to Windows Store until the public launch</li>
<li>Windows 8 Metro applications can be developed with the HTML5 stack, C# and C++.</li>
<li>WinJS is the Javascript (HTML5 stack) framework for Windows 8</li>
<li>Also ARM devices (tablets) will have the desktop side. Before there was discussion the ARM devices would only have Metro.</li>
<li>Windows 8 currently supports three UI technologies: HTML/CSS, XAML, DirectX</li>
<li>For an app to be accepted into Windows Store it has to support the Windows 8 special features: Snapped view, share and search (if applicable).</li>
<li>Live tiles are an important part of the OS and an app can allow a user to add multiple live tiles, for example one per theme.</li>
<li>Microsoft has produced an Azure based toolkit for easily handling Windows 8 notifications. <a href="http://channel9.msdn.com/Events/windowsazure/learn/Windows-8-Push-Notifications-with-Windows-Azure?format=html5">Watch</a> the intriguing video on how to enable push notifications in 3 minutes.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/memo-on-windows-8-peculiarities-from-a-developers-point-of-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ice Hockey World Cup makes great team-building in SC5</title>
		<link>http://blog.sc5.fi/2012/05/ice-hockey-world-cup-makes-great-team-building-in-sc5/</link>
		<comments>http://blog.sc5.fi/2012/05/ice-hockey-world-cup-makes-great-team-building-in-sc5/#comments</comments>
		<pubDate>Mon, 14 May 2012 12:17:50 +0000</pubDate>
		<dc:creator>Sophie</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ice Hockey World Cup]]></category>
		<category><![CDATA[lounge]]></category>
		<category><![CDATA[team-building]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=831</guid>
		<description><![CDATA[For the world of sport the annual Ice Hockey World  Championship may be a significant event, but for SC5 it is also an opportunity for good team-building. After work, of course. SC5&#8242;s spacious lounge was providently equipped with a large screen &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/ice-hockey-world-cup-makes-great-team-building-in-sc5/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/20120504_1430131.jpg"><img class="alignleft size-thumbnail wp-image-833" title="20120504_143013" src="http://blog.sc5.fi/wp-content/uploads/2012/05/20120504_1430131-150x150.jpg" alt="" width="150" height="150" /></a>For the world of sport the annual Ice Hockey World  Championship may be a significant event, but for SC5 it is also an opportunity for good team-building. After work, of course.</p>
<p><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/IMG_02122.jpg"><img class="alignright size-thumbnail wp-image-840" title="IMG_0212" src="http://blog.sc5.fi/wp-content/uploads/2012/05/IMG_02122-150x150.jpg" alt="" width="150" height="150" /></a>SC5&#8242;s spacious lounge was providently equipped with a large screen and a projector to enable all team members affectionate for ice hockey let their steam out when supporting a favorite team. Why go wrestle for a place in an overcrowded sport-bar when one can watch the games in the comfort of the company&#8217;s own office.</p>
<p>And while the scores may not always be in your favor, being in a fun and friendly team is definitely a win.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/ice-hockey-world-cup-makes-great-team-building-in-sc5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7 Myths: Why Native Apps are better than HTML5 Apps</title>
		<link>http://blog.sc5.fi/2012/05/7-myths-why-native-apps-are-better-than-html5-apps/</link>
		<comments>http://blog.sc5.fi/2012/05/7-myths-why-native-apps-are-better-than-html5-apps/#comments</comments>
		<pubDate>Thu, 10 May 2012 07:11:50 +0000</pubDate>
		<dc:creator>pyry</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Web apps]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[myths]]></category>
		<category><![CDATA[native apps]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[windows 8]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=816</guid>
		<description><![CDATA[I got linked to a post that goes to great extent in proving how so called shell apps (wrapped HTML5 apps) are not an option when developing cross-device mobile apps. I thought this provides an excellent myth collection to go &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/7-myths-why-native-apps-are-better-than-html5-apps/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I got linked to a <a href="http://sandofsky.com/blog/shell-apps.html">post</a> that goes to great extent in proving how so called shell apps (wrapped HTML5 apps) are not an option when developing cross-device mobile apps.</p>
<p>I thought this provides an excellent myth collection to go through.</p>
<h2>1. HTML5 apps require more effort than native apps when software complexity increases</h2>
<blockquote><p>“At first things are easy. For simple screens, using a webview might be faster than writing a native implementation. As you add functionality to the webview, the complexity increases until you give up and write everything native.”</p></blockquote>
<p>It’s a myth. A software’s capability to take complexity is an architectural issue. Neither technology stack here limits to any architecture.</p>
<p>However I’m very familiar with this sympton in real life. Many web developers start developing web applications without giving a thought to the app architecture. They miss the fact that an app requires a different architecture than an online service. You end up with loosely bundled pages with a lot of JS/AJAX glues trying to smoothen the experience. This leads to an unsustainable app architecture.</p>
<p>The first step is to divide the web technology based system into a client and a server – exactly like the native app based services are divided. Then you should design the structure for the client. <a href="http://blog.sc5.fi/2012/02/anatomy-of-a-html5-app/">What we do</a> is we apply one of the many open source Javascript MVC frameworks out there to provide a clear structure to the client.</p>
<h2>2. Using device features in HTML5 apps is problematic and requires extra development effort</h2>
<blockquote><p>“You could use an open source shell-app framework like PhoneGap, but that leaves you at the mercy of their schedule. If the native platform introduces a new API, or you run into an edge case that requires extending the shell framework, it could be months before you can implement your own app’s functionality. One solution is to start from an open source framework and maintain a fork when the need arises.”</p></blockquote>
<p>Not true. There are indeed good open source containers like Phonegap. However not only <a href="http://phonegap.com/about/features">they cover native features over a wide range of devices</a>, they also provide you a plug-in interface that allows you writing any native code and hooking it to the HTML5 app. Windows 8 goes a step further and provides all the device features over a Javascript API.</p>
<p>In other words the existing containers have done all the dirty work and if something is missing, you can write it native.</p>
<h2>3. Cross-browser issues make HTML5 inefficient to develop compared to native apps</h2>
<blockquote><p>“When developing a native iPhone app, the development cycle is: write a little code, run it in the simulator, and repeat.</p>
<p>Browser quirks live on in HTML5. Shell apps require you write a little code, run it on an iPhone simulator, an Android simulator, a Windows Phone 7 simulator, et al. Alternately, you could save cross browser testing for the end, but the risk is missing architectural mistakes until late in development.”</p></blockquote>
<p>Doesn’t make any sense. First of all the development cycle usually is developing for one device initially and then adapting to others, similar to how online services used to be first written for Firefox and later adapted to Internet Explorer(s). There are no architectural mistakes that can occur late – if you have a proper architecture to start with.</p>
<p>Porting to different devices does take time and skill. To reach a proper user experience you have to know the perks of each browser engine. Use specific CSS transitions on iOS to tap into the hardware accelerated slides. Disable CSS shadows on Android because they are dead slow. Avoid slider components on Windows Phone as drag has a delay.</p>
<p>But this is very little effort compared to writing (and maintaining) an individual app for each platform.</p>
<h2>4. Updates bypassing the app store cause versioning problems</h2>
<blockquote><p>“Shell app let you update content without requiring a full app release by serving your pages off a server. In the process, you lose release atomicity, the assurance that whatever you ship to clients comes in one complete, unchanging bundle.</p>
<p>Imagine 1.0 of your app has a red color scheme. Between 1.0 and 1.1, your company changes its branding from red to green. The new design touches both your web view and the native chrome around the web view.”</p></blockquote>
<p>Absurd. If you have technically designed your app correctly, the whole user interface is in the HTML5 app. Thus there can be no versioning differences between the native UI and HTML5 UI. It seems we are hitting here again the ill-designed system where web pages are glued to make an app.</p>
<p>Overall you don’t have to use the hot updates, you can of course ship updates only with your container in native updates. However if you rely on the native updates in a system that has a server, now that’s where you will face serious versioning problems. Not all users ever update (if not forced to) so your server has to support also older clients.</p>
<p>In the end the hot updates are a thing that requires some thought yet they are pretty simple to manage.</p>
<h2>5. Reaching a native user experience for all platforms is problematic</h2>
<blockquote><p>“Within a browser, users hold web sites to the standards of other web sites. Evaluated against native apps, shell apps have inconsistencies that make them feel wrong, even if the user can’t articulate the problem.</p>
<p>On iOS, the scroll friction for web views are different than native scroll views. WebKit delays taps to detect gestures. On Android, the web view may add decoration to link clicks. Platform specific quirks can be remedied, but it’s a matter of trial and error.</p>
<p>The harder problems are inconsistencies in platform conventions. The iPhone uses Helvetica as its system font, while Android uses Roboto. iOS transitions between views by sliding new views in from the right, while Android uses a zoom effect.”</p></blockquote>
<p>This is partially true. You have to have a lot of experience (or time) to iron out a native-feeling experience. I think this is the biggest show stopper when new people start building HTML5 apps. We tackled this by <a href="http://blog.sc5.fi/2012/02/team-structure-for-html5-development-rethought/">founding a separate UX Developer role in our team</a> that focuses on mastering these specialties.</p>
<p>Also it’s an unanswered question whether the HTML5 app should adapt to the devices unique look &amp; feel or not. Windows 8 for one does not accept apps that don’t apply to the Metro design guidelines. These require work but in the end it’s mostly small layout adjusting.</p>
<h2>6. HTML5 apps lack the performance required for native user experience</h2>
<blockquote><p>“Some software can succeed with poor performance. My go-to language for web app development is Ruby, which is slow, but a 60 millisecond difference goes unnoticed in a web app, where most of your time is spent waiting on the network.</p>
<p>For native apps, performance is critical to a great user experience. Users notice jerky scrolling, and performance can make or break a feature like a full text inbox search.”</p></blockquote>
<p>Mostly a myth. (Ruby is a back-end technology so this again shows the system architecture has been wrong from the start.) It is true that as Javascript runs on top of the browser engine it by definition loses in performance native binary code. But note that this difference is not really what matters.</p>
<p>The performance problems are hit when the user interface is not smooth or does not respond to interaction immediately. These are issues related mostly to rendering and hardware acceleration. So how you render things is crucial. Furthermore trying to use the rendering methods that are hardware accelerated by the platform is important (such as the CSS transitions for slides in iOS).</p>
<h2>7. HTML5 apps are solving the wrong problem</h2>
<blockquote><p>“Sometimes the ends justify the means, but the reasoning behind shell apps is generally flawed.</p>
<p>“We Need to Release Faster””</p></blockquote>
<p>It’s a myth. HTML5 apps are actually solving the big picture. As I explained <a href="http://blog.sc5.fi/2012/05/two-things-less-discussed-on-responsive-design-why-and-transitions/">in my previous post</a> the device spectrum is becoming fuzzy. Through Windows 8 the line between desktop and tablet is becoming unclear. Elsewhere Apple has artificially, yet successfully, maintained the device constraints very stable for the app developers. All the hassle with retina has enabled app developers to stick pretty much to one screen size. However Apple did not win entirely the ecosystem war and also they have to move on at some point.</p>
<p>Thus the question is: How do you build applications to people using hundreds of different devices on a number of different platforms with a varying range of capabilities? HTML5 apps answer this question.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/7-myths-why-native-apps-are-better-than-html5-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SC5: Turning six and continuing to grow</title>
		<link>http://blog.sc5.fi/2012/05/sc5turning-six-and-continuing-to-grow/</link>
		<comments>http://blog.sc5.fi/2012/05/sc5turning-six-and-continuing-to-grow/#comments</comments>
		<pubDate>Wed, 09 May 2012 08:28:20 +0000</pubDate>
		<dc:creator>Sophie</dc:creator>
				<category><![CDATA[SC5 News]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=800</guid>
		<description><![CDATA[With a six-year milestone in May and a significant experience under the belt, SC5 continues to grow rapidly. The secret of success? Besides having a good number of high-profile clients, the company is doing a great job gathering the best &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/sc5turning-six-and-continuing-to-grow/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>With a six-year milestone in May and a significant experience under the belt, SC5 continues to grow rapidly.</p>
<p>The secret of success? Besides having a good number of high-profile clients, the company is doing a great job gathering the best professionals in the industry to be a part of its team.</p>
<p>Within the last two months only, SC5 troops were joined by a Senior Developer Eero Kurkela, a UX Developer Harri Kilpiö, a Developer Miika Aho, Sophie Rose as a Community Coordinator at the Helsinki office, and by a Site Manager Jarkko Tuomala at the Jyväskylä office.</p>
<p>Few more members are expected to reinforce the team later in May. Go SC5!</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/sc5turning-six-and-continuing-to-grow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMS will die in the transition to responsive HTML5 services</title>
		<link>http://blog.sc5.fi/2012/05/cms-will-die-in-the-transition-to-responsive-html5-services/</link>
		<comments>http://blog.sc5.fi/2012/05/cms-will-die-in-the-transition-to-responsive-html5-services/#comments</comments>
		<pubDate>Thu, 03 May 2012 15:05:01 +0000</pubDate>
		<dc:creator>pyry</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Responsive design]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=792</guid>
		<description><![CDATA[As described in the post about slide transitions in responsive design responsive design for touch screens requires a new system architecture with the back-end and front-end uncoupled. The current Content Management Systems are all about coupling back-end and front-end. It &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/cms-will-die-in-the-transition-to-responsive-html5-services/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As described in the <a href="http://blog.sc5.fi/2012/05/two-things-less-discussed-on-responsive-design-why-and-transitions/">post about slide transitions in responsive design</a> responsive design for touch screens requires a new system architecture with the back-end and front-end uncoupled.</p>
<p>The current Content Management Systems are all about coupling back-end and front-end. It took 3 years for Drupal to manage 6.0 to 7.0 update, how long will it take for it to redesign its architecture?</p>
<div id="attachment_793" class="wp-caption alignnone" style="width: 650px"><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/CMS_architecture_transition.png"><img class="size-large wp-image-793" title="The transition in CMS architecture that just needs to happen" src="http://blog.sc5.fi/wp-content/uploads/2012/05/CMS_architecture_transition-1024x767.png" alt="The transition in CMS architecture that just needs to happen" width="640" height="479" /></a><p class="wp-caption-text">The transition in CMS architecture that just needs to happen</p></div>
<p>The extra benefits of this kind of uncoupling to components is that you can switch the back-end without touching the presentation layer. On the other hand this allows developing new front-end applications and even opening your data to external services.</p>
<h2>Avoid half way solutions and prioritize the uncoupling of presentation layer and back-end</h2>
<p>Your content based service will no doubt still need a simple out-of-the-box system for non technical people to publish content. And actually the situation is not that bad. The CMSs will have hard time evolving but new uncoupled CMS will be born.</p>
<p>What to do if you have a &#8216;mobile emergency&#8217; situation NOW in your CMS based service:</p>
<ol>
<li>If you have muscle power or budget, produce a new responsive presentation layer and a REST API adapter between your current CMS and the presentation layer. Your presentation layer can be done future proof. When the new CMS arrive or old evolve (there is talk about Drupal 8.0 including a proper CRUD/CRAP API for content) you replace your back-end and keep on using your presentation layer.</li>
<li>If you have time, wait for the CMS to evolve. However note that in the end you might still be facing a large project in switching to a new CMS or upgrading your current.</li>
<li>The last, quick and dirty solution, is to start applying the hacks and extensions appearing to the most common CMSs. They add you partial mobile support, paged tablet experience and so on. However in most cases you will have hard time keeping your user experience consistent between devices and in the end you will face a transition to the modern uncoupled architecture anyway.</li>
</ol>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/cms-will-die-in-the-transition-to-responsive-html5-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two things less discussed on responsive design: Why? and transitions</title>
		<link>http://blog.sc5.fi/2012/05/two-things-less-discussed-on-responsive-design-why-and-transitions/</link>
		<comments>http://blog.sc5.fi/2012/05/two-things-less-discussed-on-responsive-design-why-and-transitions/#comments</comments>
		<pubDate>Thu, 03 May 2012 14:48:56 +0000</pubDate>
		<dc:creator>pyry</dc:creator>
				<category><![CDATA[CMS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Responsive design]]></category>
		<category><![CDATA[device spectrum]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[transitions]]></category>
		<category><![CDATA[windows 8]]></category>

		<guid isPermaLink="false">http://blog.sc5.fi/?p=775</guid>
		<description><![CDATA[Responsive design is needed to support the versatile spectrum of devices For which devices do you serve www.sc5.io and for which m.sc5.io? t.sc5.io would become also handy. What about Windows 8 tablet, transformer and desktop? Transformer gets t.sc5.io if it&#8217;s &#8230; <a class="more-link" href="http://blog.sc5.fi/2012/05/two-things-less-discussed-on-responsive-design-why-and-transitions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Responsive design is needed to support the versatile spectrum of devices</h2>
<div id="attachment_778" class="wp-caption alignnone" style="width: 650px"><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/device_spectrum_becoming_fuzzy.png"><img class="size-large wp-image-778" title="The device spectrum is becoming fuzzy" src="http://blog.sc5.fi/wp-content/uploads/2012/05/device_spectrum_becoming_fuzzy-1024x767.png" alt="The device spectrum is becoming fuzzy" width="640" height="479" /></a><p class="wp-caption-text">The device spectrum is becoming fuzzy</p></div>
<p>For which devices do you serve www.sc5.io and for which m.sc5.io? t.sc5.io would become also handy. What about Windows 8 tablet, transformer and desktop? Transformer gets t.sc5.io if it&#8217;s undocked? Man, you make no sense.</p>
<h2>Responding to the end-device is more than just flexible layouts</h2>
<p>Two key concepts in touch screen devices are the swipe and the slide. These are not supported by traditional online services, apart for the swiped vertical scroll.</p>
<p>Responsive design responds to the end-device capabilities to make the user experience feel native to the device. Yet while <a href="http://blog.sc5.fi/2012/01/one-service-one-tech-one-responsive-design/">discussing responsive design</a> most people refer only to layout adjustments through screen size based breakpoints.</p>
<h2>Horizontal slides require a single-page-app architecture</h2>
<p>The challenge with things such as horizontal slides is that the traditional web architecture doesn’t support it. Web is built around individual server generated pages.</p>
<div id="attachment_780" class="wp-caption alignnone" style="width: 650px"><a href="http://blog.sc5.fi/wp-content/uploads/2012/05/from_traditional_web_architecture_to_SPA.png"><img class="size-large wp-image-780" title="How traditional web architecture is page bound and badly fits transitions" src="http://blog.sc5.fi/wp-content/uploads/2012/05/from_traditional_web_architecture_to_SPA-1024x767.png" alt="How traditional web architecture is page bound and badly fits transitions" width="640" height="479" /></a><p class="wp-caption-text">How traditional web architecture is page bound and badly fits transitions</p></div>
<p>A solution can also be achieved with AJAX hacks to specific needs. But as a service becomes more complex and applies even more advanced features the AJAX hacks option becomes unsustainable. So a <a href="http://blog.sc5.fi/2012/02/anatomy-of-a-html5-app/">proper single-page-app architecture</a> is the key to be flexible, future proof and to avoid the risk of bloating.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sc5.fi/2012/05/two-things-less-discussed-on-responsive-design-why-and-transitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

