<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Burcu Dogan&#039;s Blog &#187; realtime web</title>
	<atom:link href="http://burcudogan.com/tag/realtime-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://burcudogan.com</link>
	<description>Burcu Dogan is a software engineer, a technologist and an open source enthusiastic.</description>
	<lastBuildDate>Thu, 26 Apr 2012 14:34:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='burcudogan.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Burcu Dogan&#039;s Blog &#187; realtime web</title>
		<link>http://burcudogan.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://burcudogan.com/osd.xml" title="Burcu Dogan&#039;s Blog" />
	<atom:link rel='hub' href='http://burcudogan.com/?pushpress=hub'/>
		<item>
		<title>Data Manipulation on Client Machines</title>
		<link>http://burcudogan.com/2009/05/22/data-manipulation-on-client-machines/</link>
		<comments>http://burcudogan.com/2009/05/22/data-manipulation-on-client-machines/#comments</comments>
		<pubDate>Fri, 22 May 2009 11:47:42 +0000</pubDate>
		<dc:creator>Burcu Dogan</dc:creator>
				<category><![CDATA[Regular]]></category>
		<category><![CDATA[clientside]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[realtime web]]></category>

		<guid isPermaLink="false">http://blog.burcudogan.com/?p=227</guid>
		<description><![CDATA[It&#8217;s my third week and I&#8217;m discussing the scalability of the real-time web. We&#8217;re only talking about text input, realtime search, trend extractions and etc. I had a love growing inside for this instant replier, it makes me feel I&#8217;m &#8230; <a href="http://burcudogan.com/2009/05/22/data-manipulation-on-client-machines/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=burcudogan.com&#038;blog=21440216&#038;post=227&#038;subd=burcudo&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s my third week and I&#8217;m <a href="http://friendfeed.com/search?q=realtime&amp;comment=thejbf">discussing</a> the scalability of the real-time web. We&#8217;re only talking about text input, realtime search, trend extractions and etc. I had a love growing inside for this instant replier, it makes me feel I&#8217;m more connected to real people (<em>sort of egoism</em>). It&#8217;s good because we have text, none of the realtime providers are working on more than indexing the &#8220;text&#8221; for searching, as it revealed. Text is medium of communication and there are a lot more: images, audio, videos etc. You are not really interested in multimedia as I guess because, <em>text is cool</em>. You can skim it, you can select it, easily process it. But the world is not man-made and I cant even imagine a moment where maps are served as text, for example. Typing is human&#8217;s built-in analog to digital converter. Love it or not, but we are forced ungracefully by this nature to talk in multimedia when text alone is not efficient enough.</p>
<h3>Realtime Data Processing</h3>
<p>Realtime environment have to play with data to make connections, be able to provide smart searching that does not only depend on full-text comparison. Imagine that they have to tokenize text input to post-process what&#8217;s going on with the message. Almost requires O(n) on CPU. Twitter has about 1 million users, let&#8217;s assume averagely every user enters a new twit once in 3 days and average entry is 100 characters long (doesn&#8217;t sound realistic, but let&#8217;s be optimistic). It converges to 350k posts a day. 350k times tokenizing the 100 character-long input = <strong>35 million characters</strong> are processed during a day.  I tried to tokenize a 100 char string 350k times and it took only 41 seconds since I was using the same string over and over again. With helps of caching, CPU minimizes the memory I/O and it made a huge difference, so my 41 seconds were far from being accurate. But besides tokenizing, there are other operations you have to run. And once you fetch it from memory, you&#8217;re done. Therefore, I believe it&#8217;s not really an extra load to tokenize the input on the server-side.</p>
<p>But, what would you do if you have to post-process terabytes of imagery? I&#8217;m not sure if you are aware of Microsoft&#8217;s Virtual Earth 3D but, it is more like<strong> Google Earth running on your browser</strong>.</p>
<p>&nbsp;</p>
<p>A very long time ago, I was making a demo to my friends and showing the Mt. Rainer in WA distinct in 3D mode. Virtual Earth 3D fetches higher quality imagery for forefront. Since there is no colour balance adjustments at VE imagery, many people thought  the level differences on the scene is sort of a corruption and not good looking. I decided to talk to engineers that we can solve this problem with <em>relative histogram equalization</em> (fancy name but easy method). I didn&#8217;t sound perfectly realistic, cause our imagery were tens of terabytes and it was very risky to process them all for such a tiny improvement.<span id="more-227"></span></p>
<p>Luckily, I recognize client power for the first time and the power it brings out. I was going to add a improvement step to equalize imagery once it is loaded as &#8220;it is&#8221; to user machine. User&#8217;s itself was about to play a role to balance images on the front-end.</p>
<h3>Future of the Web: More Realtime Data Needs More Client Power</h3>
<p>Twitter example is quite lightweight, 35 million characters/day is not huge as you may guess. As millions started to use realtime equipment passionately and generate a hundred thousands times more content than this, we may have to take advantage of our user&#8217;s machines mostly for pre and post processing of data. All of the new client technologies are about the provide a rich environment and framework to let the users contribute to the overall system with scalability. Future is going to be all about <strong>making a distribution decision between clients and servers</strong>. If you are a server guy who has no idea on the user machines, study your lesson before this balance dominates the world.</p>
<p><strong>Edit: </strong>Sorry for quoting VE&#8217;s 3D mode with Silverlight, thanks for Jon O&#8217;Brein (a Microsoft MVP) for fixing my deadly fault. I was high or something.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/burcudo.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/burcudo.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/burcudo.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/burcudo.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/burcudo.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/burcudo.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/burcudo.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/burcudo.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/burcudo.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/burcudo.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/burcudo.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/burcudo.wordpress.com/227/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/burcudo.wordpress.com/227/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/burcudo.wordpress.com/227/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=burcudogan.com&#038;blog=21440216&#038;post=227&#038;subd=burcudo&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://burcudogan.com/2009/05/22/data-manipulation-on-client-machines/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e7526ec3e801f8ba99f6746498a154a6?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">thejbf</media:title>
		</media:content>
	</item>
	</channel>
</rss>
