<?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>lablog &#187; Company</title>
	<atom:link href="http://blog.typlab.com/category/company/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.typlab.com</link>
	<description>typLAB Blog</description>
	<lastBuildDate>Tue, 23 Feb 2010 09:40:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How I Learned to Stop Worrying and Love Web Development Again</title>
		<link>http://blog.typlab.com/2009/10/love-web-development-again/</link>
		<comments>http://blog.typlab.com/2009/10/love-web-development-again/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 07:42:23 +0000</pubDate>
		<dc:creator>Salar</dc:creator>
				<category><![CDATA[Company]]></category>

		<guid isPermaLink="false">http://blog.typlab.com/?p=152</guid>
		<description><![CDATA[Why we don&#8217;t support Internet Explorer
We&#8217;ve already talked about some of the technology choices we&#8217;re making as a company. And while our choices on the back-end can hardly be labeled as mainstream, the most difficult choice we actually had to make was related to the client-side as it directly affects our users. Obviously, Javascript on [...]]]></description>
			<content:encoded><![CDATA[<h2>Why we don&#8217;t support Internet Explorer</h2>
<p>We&#8217;ve already talked about some of the technology choices we&#8217;re making as a company. And while our <a title="Haskell data types and XML" href="/2009/09/haskell-data-types-and-xml/">choices</a> on the back-end can hardly be labeled as <a title="Why we use Haskell" href="/2009/09/why-we-use-haskell/">mainstream</a>, the most difficult choice we actually had to make was related to the client-side as it directly affects our users. Obviously, Javascript on the client is a given, and we love it. However, as most web developers know, the differences between browsers are enormous and developing for all of them is almost impossible. Still, current conventional wisdom dictates that you should support recents versions of Internet Explorer, Firefox and the WebKit based browsers (basically, Safari and Google Chrome). We, however, have decided to drop Internet Explorer support entirely.</p>
<p><span id="more-152"></span><br />
In general, the trade-off you face when choosing which platform to develop for is between development time and a larger potential customer base that&#8217;s associated with the platform. Looking at the web right now, Internet Explorer still leads the market by a large margin. So even if it seems annoying that you have to work around some CSS bugs or still write Internet Explorer specific event handling code for a web site, the payoff in user reach will usually still be worth it. Modern Javascript libraries such as <a href="http://jquery.com/">jQuery</a> or <a href="http://mootools.net/">Mootools</a> lower cross-browser development time even more by abstracting away lots of differences between browsers, tipping the equation even more in favor of Internet Explorer support.</p>
<p>So why did we choose to ignore the most used browser on the planet? It&#8217;s because we decided that in our case, the development costs would simply not be worth it. Obviously, this assessment is very specific for the type of application we&#8217;re building. We didn&#8217;t just base this on a hunch, we actually have quite some experience in this field: most of us have worked on products like <a href="http://xopus.com">Xopus</a> before. Xopus is an awesome, browser based wysiwyg XML editor. It consist of more than <a href="http://www.slideshare.net/ajaxexperience2009/laurens-van-den-oever-xopus-presentation">120,000 lines of client-side Javascript code</a>. A non-trivial part of that is code that completely works around standard Internet Explorer behavior because of its bugginess or complete lack of support. This isn&#8217;t about your father&#8217;s unsupported CSS selectors or the lack of addEventListener. We&#8217;re talking about stuff like <a href="http://xopus.com/devblog/2007/craziest-dhtml-hack-ever.html">having to write your own cursor</a> because <tt>contentEditable</tt> becomes basically useless when working on complex documents. The amount of bugs that are related to <tt>contentEditable</tt>, text ranges, drag and drop and the Document Object Model in general are staggering. Most JavaScript projects, including some popular libraries, don&#8217;t even deal with these advanced aspects of the browser at all.</p>
<p>Now obviously, the other browsers aren&#8217;t all free of bugs. Which brings us to the second problem with Internet Explorer: lack of real progress and transparency. Even if you consider relatively easy and popular features (such as support for <tt>addEventListener</tt>), it&#8217;s hard to understand why they haven&#8217;t been implemented yet and if there is any timeline at all to implement them. That makes the probability of low visibility improvements and bug fixes in the rendering or selection code practically zero. The contrast with the open development of Mozilla and WebKit is huge, where almost everything is publicly discussed and with a focus on constant improvement of the rendering engines and pretty clear timeline.</p>
<p>The current state of the web is actually very exciting right now, if we ignore Internet Explorer for a moment. Thanks to HTML5 there is a lot of progress allowing us to make almost desktop class applications, with support for things like <a href="http://www.alertdebugging.com/2009/08/16/on-html-5-drag-and-drop/">drag and drop from the desktop</a>, <a href="https://developer.mozilla.org/En/Using_web_workers">background processes</a> and <a href="http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html">offline support</a>. All of this should greatly improve the user experience with web applications and bridge the gap with desktop applications. No amount of code or smart engineering will allow us to bring that level of experience to browsers that lack these features.</p>
<p>Does this mean that no complex web application should support Internet Explorer? Obviously, it depends on many factors. There are large differences between applications that are targeted to tech-savvy users (where Internet Explorer is quickly becoming a minority browser) or to large organizations (where Internet Explorer 6 is still widely used). We&#8217;re a small team and we have to prioritize our development goals aggressively. Large teams with lots of resources are in a different situation altogether. That being said, we were pleased to see that the Google Wave team also chose to <a href="http://googlewavedev.blogspot.com/2009/09/google-wave-in-internet-explorer.html">drop Internet Explorer support</a> and having Google develope the <a href="http://code.google.com/chrome/chromeframe/">Chrome Frame plug-in</a>.</p>
<p>Finally, although this might seem less important than the above considerations from a business perspective, there is the loss of friction and return of enjoyment in developing web applications again. Not developing for Internet Explorer means that we can do amazing things with <a href="http://webkit.org/blog/138/css-animation/">CSS</a>, use <a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Creating_New_Objects/Defining_Getters_and_Setters">new Javascript features</a> in our codebase, and in general rediscover the excitement of the possibilities of the web. And that makes us love web development again.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.typlab.com/2009/10/love-web-development-again/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>This is our lablog</title>
		<link>http://blog.typlab.com/2009/09/this-is-our-lablog/</link>
		<comments>http://blog.typlab.com/2009/09/this-is-our-lablog/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 07:42:07 +0000</pubDate>
		<dc:creator>Lon</dc:creator>
				<category><![CDATA[Company]]></category>

		<guid isPermaLink="false">http://blog.typlab.com/?p=77</guid>
		<description><![CDATA[This is our lablog, where we will write about the proceedings of typLAB.
‘What’s typLAB then?’, you might ask.
typLAB is our initiative to investigate and develop new ways of creating and consuming web-based content. We aim to explore the boundaries of what’s possible using contemporary internet technologies. The result of our endeavors should enable you to [...]]]></description>
			<content:encoded><![CDATA[<p>This is our lablog, where we will write about the proceedings of typ<span class="lab">LAB</span>.</p>
<p>‘What’s typ<span class="lab">LAB</span> then?’, you might ask.</p>
<p>typ<span class="lab">LAB</span> is our initiative to investigate and develop new ways of creating and consuming web-based content. We aim to explore the boundaries of what’s possible using contemporary internet technologies. The result of our endeavors should enable you to read and write rich, dynamic and smart articles like you’ve never read nor written them before.</p>
<p>Next question. ‘Who are those “we” you keep referring to?’</p>
<p>We are Erik Hesselink, Sebastiaan Visser, Salar al Khafaji and Lon Boonen. That’s the team; small, smart, focused and eager to learn and share. Most of us share a history at <a href="http://www.xopus.com/">Xopus</a>, the web based XML editor.</p>
<p>One more question? ‘What about lablog, what can we expect from it?’</p>
<p>Through lablog we want to inform you of our ponderings and wonderings. Our steps forward, backward and sideways. We’ll write about our progress, our discoveries and the things that make us tick.</p>
<p>You can expect articles on HTML5, CSS3, web development in general, Haskell, XQuery, usability, semantics, JavaScript and all stuff that makes a nerd’s heart jump a beat. Or two.</p>
<p>And we&#8217;d love to hear from you. Through the comments, <a href="http://twitter.com/typLAB">Twitter</a> or plain old <a href="mailto:info@typlab.com">e-mail</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.typlab.com/2009/09/this-is-our-lablog/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
