<?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>Remus Stratulat - On the Stre@m &#187; web 2.0</title>
	<atom:link href="http://www.stratulat.com/blog/category/web-20/feed" rel="self" type="application/rss+xml" />
	<link>http://www.stratulat.com/blog</link>
	<description>This is my personal blog</description>
	<lastBuildDate>Sat, 10 Jul 2010 07:07:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>My site on ICE</title>
		<link>http://www.stratulat.com/blog/my-site-on-ice</link>
		<comments>http://www.stratulat.com/blog/my-site-on-ice#comments</comments>
		<pubDate>Tue, 11 Nov 2008 07:24:39 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[RIA]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[InContext Editing]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/?p=166</guid>
		<description><![CDATA[Recently, to support the testing effort for the Adobe InContext Editing, I have changed all my site to benefit from this new service from Adobe. I was pretty bored with the old design so my site has a new look also. Adobe InContext Editing is an online service, available at no charge during the free [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, to support the testing effort for the <a href="http://www.adobe.com/products/incontextediting/">Adobe InContext Editing</a>, I have changed all my site to benefit from this new service from Adobe. I was pretty bored with the old design so my site has a new look also.</p>
<div id="attachment_167" class="wp-caption alignnone" style="width: 310px"><a href="http://www.stratulat.com/blog/wp-content/strem_on_ice.jpg"><img class="size-medium wp-image-167 " style="border: 1px solid black;" title="strem_on_ice" src="http://www.stratulat.com/blog/wp-content/strem_on_ice-300x237.jpg" alt="my site on ice" width="300" height="237" /></a><p class="wp-caption-text">My site on ICE</p></div>
<p>Adobe InContext Editing is an online service, available at no charge during the free preview period. It is a RIA application combining both Flex and JavaScript to create a very useful and simple tool to be used by both content contributors and web designers.</p>
<p>Basically what you do is create an HTML page and add some ICE editable regions from Dreamweaver CS4. Then you go in your browser at the same page and hit Ctrl+E and voila.. you can edit that page (in the image above is my Java page after I have done just that). If you need a similar page (let&#8217;s say Ajax in my case) you just hit the &#8220;duplicate page&#8221; button and that is all (aside from additional editing of that page).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/my-site-on-ice/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web 3.0</title>
		<link>http://www.stratulat.com/blog/web-30</link>
		<comments>http://www.stratulat.com/blog/web-30#comments</comments>
		<pubDate>Mon, 06 Oct 2008 13:48:11 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[RIA]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[web 3.0]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/?p=149</guid>
		<description><![CDATA[Some time ago I wrote a small article about web 3.0 as I saw it. It was about moving more and more work and information to web and maybe creating something like a webOS. Indeed, more and more work and information has moved over the last 2-3 years onto the web. Words like Rich Internet [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago I wrote a small article about <strong>web 3.0</strong> as I saw it. It was about moving more and more work and information to web and maybe creating something like a <strong>webOS</strong>.</p>
<p>Indeed, more and more work and information has moved over the last 2-3 years onto the web. Words like Rich Internet Application and Software as a Service become vary popular and even more, a reality.</p>
<p>Ajax and Flex have enriched our web experience a lot in the recent years. Web sites that do not have a nice information flow to the customer are less and less visited. We as customers value this kind of things. I like to go to an web site and work my way through the information without being interrupted by a page refresh.</p>
<p>Also media on the web become a something very common. If some years ago watching a flash movie on the web was a rare event, now sites like youtube.com made this a common thing.</p>
<p>All of this was possible due to multiple factors but I think the main one was easier access to broadband internet connection for more and more people. The ability to move around massive amounts of date was crucial to the web development we are seeing right now. Would you try to watch a movie on youtube.com over a 3 Kb/s line? Even going on flickr.com will make you think twice, especially if you are paying by the MB.</p>
<p>So BTW, what are we paying by the MB right now and is slow compared to our unlimited broadband connection from home?</p>
<p>The next rethinking about the way we are writing web applications will be linked to the mobile business. iPhone, HTC, Eten, BlackBerry will be the new drivers in shaping up the new generation of web application. They have a small screen, slow and very expensive internet connection, however more and more people are using them to browse the web. The experience right now is far from enjoyable as most web applications are not designed for this. All of them are using different pan and zoom techniques to overcome the screen problem but this is just an workaround.</p>
<p>Soon, some business owner will look to his site analytics reports and figure out that more than a half of his visitors are using mobile devices. And this business owner will go to a contractor and ask him to optimize the web site to be best view on mobile devices. Web 3.0 was born.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/web-30/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Update your JavaScript AIR application with ease.</title>
		<link>http://www.stratulat.com/blog/update-your-javascript-air-application-with-ease</link>
		<comments>http://www.stratulat.com/blog/update-your-javascript-air-application-with-ease#comments</comments>
		<pubDate>Fri, 27 Jun 2008 08:14:59 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Update]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/update-your-javascript-air-application-with-ease</guid>
		<description><![CDATA[Web application = instant update One of the most powerful features of a web application is instant update. Your client doesn&#8217;t need to do anything when you fix some bugs in your web application. The next time he accesses the site the user will have the latest version of your application. Update a desktop application [...]]]></description>
			<content:encoded><![CDATA[<h4>Web application = instant update</h4>
<p>One of the most powerful features of a web application is instant update. Your client doesn&#8217;t need to do anything when you fix some bugs in your web application. The next time he accesses the site the user will have the latest version of your application.</p>
<h4>Update a desktop application</h4>
<p>Creating an AIR application means creating a desktop one. It comes with all the benefits of this type of application but also with some of the drawbacks. And one of them is the challenge of updating the application to the most recent version. </p>
<p>Of course this is not a new subject and a lot of applications have their own method of doing updates and upgrades. Adobe AIR has now the <a href="http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework">Update Framework</a>, a Flex library that helps you update any AIR application non intrusively, similar to any web application.</p>
<h4>Adobe AIR Update Framework</h4>
<p>Now, I talked at the beginning about updating a JavaScript AIR application and just above I mentioned that the update framework is a Flex component. That is true and it is very easy to use this component even without any Flex knowledge. To demonstrate this technology I will use the microlink application that I wrote recently.</p>
<p>First, copy the <strong><em>applicationupdater_ui.swf</em></strong> found in the update framework into your project. (You can download the update framework from <a href="http://labs.adobe.com/wiki/index.php/Adobe_AIR_Update_Framework">here</a>). Because I am using Flex Builder 3 to develop this application the updater component will be placed under the <strong><em>src</em></strong> folder inside my project. </p>
<p>&#160; <img border="0" alt="update_swf" src="http://www.stratulat.com/blog/wp-content/update-swf.gif" width="259" height="359" /> </p>
<p>Next, create the update descriptor file. This is a small XML file that contains all the information needed by the updater. This includes the version number, the application location on your server and a description where details about the improvements in the new version can be written.</p>
<pre class="csharpcode"><span class="kwrd">&lt;?</span><span class="html">xml</span> <span class="attr">version</span>=&#8220;<span class="attr">1</span>.<span class="attr">0</span>&#8243; <span class="attr">encoding</span>=&#8220;<span class="attr">utf-8</span>&#8243;?<span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">update</span> <span class="attr">xmlns</span>=&#8220;<span class="attr">http:</span>//<span class="attr">ns</span>.<span class="attr">adobe</span>.<span class="attr">com</span>/<span class="attr">air</span>/<span class="attr">framework</span>/<span class="attr">update</span>/<span class="attr">description</span>/<span class="attr">1</span>.<span class="attr">0</span>&#8243;<span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">version</span><span class="kwrd">&gt;</span>0.3<span class="kwrd">&lt;/</span><span class="html">version</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">url</span><span class="kwrd">&gt;</span>http://localhost:8080/releases/MyAirApp.air<span class="kwrd">&lt;/</span><span class="html">url</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">description</span><span class="kwrd">&gt;&lt;!</span>[CDATA[
Version 0.3 of this application includes the updateing framework.
  ]]<span class="kwrd">&gt;&lt;/</span><span class="html">description</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">update</span><span class="kwrd">&gt;</span></pre>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>I will name this file <em><strong>update.xml</strong></em> and this will go on the web server. I placed it in the same location as my AIR application so it is reachable from <a href="http://localhost:8080/releases/update.xml">http://localhost:8080/releases/update.xml</a>.</p>
<p>We will want to check for updates each time the application is started. Of course we can also choose to create a menu item or a button to let the user explicitly request a check for updates. In either case, we have to write some JavaScript code to wire things together. JavaScript code in AIR applications can use classes defined in SWF files.</p>
<p>In the HTML file that will use the update framework (in our case index.html) we have to include a script tag that loads the framework. </p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">src</span><span class="kwrd">=&quot;ApplicationUpdater_UI.swf&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;application/x-shockwave-flash&quot;</span><span class="kwrd">/&gt;</span></pre>
<p>After we include the update framework in our application we have to use it. The instantiation and configuration of this is described inside the comments in the next piece of code, from index.html</p>
<div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 97.5%; cursor: text; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 251px; background-color: #f4f4f4; max-height: 200px">
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">html</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">head</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">meta</span> <span class="attr">http-equiv</span><span class="kwrd">=&quot;Content-Type&quot;</span> <span class="attr">content</span><span class="kwrd">=&quot;text/html; charset=UTF-8&quot;</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>My first AIR application<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">link</span> <span class="attr">rel</span><span class="kwrd">=&quot;stylesheet&quot;</span> <span class="attr">href</span><span class="kwrd">=&quot;microlink.css&quot;</span> <span class="attr">type</span><span class="kwrd">=&quot;text/css&quot;</span> <span class="kwrd">/&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">type</span><span class="kwrd">=&quot;text/javascript&quot;</span> <span class="attr">src</span><span class="kwrd">=&quot;lib/AIRIntrospector.js&quot;</span><span class="kwrd">&gt;&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span>
        &lt;script src=<span class="str">&quot;applicationupdater_UI.swf&quot;</span> type=<span class="str">&quot;application/x-shockwave-flash&quot;</span>/&gt;

        &lt;script src=<span class="str">&quot;lib/jquery-1.2.6.js&quot;</span>&gt;&lt;/script&gt;
        &lt;script src=<span class="str">&quot;microlink.js&quot;</span>&gt;&lt;/script&gt;
        &lt;script&gt;
        <span class="rem">// instantiate an updater object</span>
           <span class="kwrd">var</span> appUpdater = <span class="kwrd">new</span> runtime.air.update.ApplicationUpdaterUI();

        <span class="kwrd">function</span> load() {
            <span class="rem">// ApplicationUpdaterUI can be configured via a configuration file </span>
            <span class="rem">// delivered with the application or via JavaScript in the application.</span>
            appUpdater.configurationFile =
                <span class="kwrd">new</span> runtime.flash.filesystem.File(<span class="str">&quot;app:/config/updateConfig.xml&quot;</span>);

            <span class="rem">// setting the event handler for INITIALIZED</span>
            appUpdater.addEventListener(runtime.air.update.events.UpdateEvent.INITIALIZED,
                onUpdate);

            <span class="rem">// It initializes the update framework, silently installing synchronously </span>
            <span class="rem">// any pending updates. It is required to call this method during application</span>
            <span class="rem">// startup because it may restart the application when it is called.</span>
            appUpdater.initialize();
        }

        <span class="kwrd">function</span> onUpdate(<span class="kwrd">event</span>) {
            <span class="rem">//starts the update process</span>
            appUpdater.checkNow();
        }

        <span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span>

    <span class="kwrd">&lt;/</span><span class="html">head</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">body</span> <span class="attr">onload</span><span class="kwrd">=&quot;load()&quot;</span><span class="kwrd">&gt;</span>

    <span class="kwrd">&lt;</span><span class="html">h1</span><span class="kwrd">&gt;</span>this is my first AIR app.<span class="kwrd">&lt;/</span><span class="html">h1</span><span class="kwrd">&gt;</span>

    <span class="kwrd">&lt;</span><span class="html">a</span> <span class="attr">id</span><span class="kwrd">=&quot;microlink_a&quot;</span> <span class="attr">href</span><span class="kwrd">=&quot;http://www.stratulat.com/blog/feed&quot;</span> <span class="attr">class</span><span class="kwrd">=&quot;button&quot;</span>
        <span class="attr">onClick</span><span class="kwrd">=&quot;onClickMicroLink(this); return false;&quot;</span><span class="kwrd">&gt;</span>the microlink<span class="kwrd">&lt;/</span><span class="html">a</span><span class="kwrd">&gt;</span>

    <span class="kwrd">&lt;/</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">html</span><span class="kwrd">&gt;</span></pre>
</div>
<style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>The <strong><em>updateConfig.xml</em></strong> file can set up a lot of parameters for the application updater, most of them related to the behavior of the UI. Only one, however required for the updater to perform well and that is the URL to the update.xml on the server.</p>
<p>I configured updateConfig.xml so that at startup the application first asks if the user wants to check for updates.  If so, because I have set up my application version as being 0.2 and inside the update.xml as 0.3, the application displays the update available UI, which shows all the information I’ve set up in the update.xml file on the server.</p>
<p><a href="http://www.stratulat.com/blog/wp-content/update-ui1.gif"><img border="0" alt="update_ui1" src="http://www.stratulat.com/blog/wp-content/update-ui1-thumb.gif" width="260" height="115" /></a> <a href="http://www.stratulat.com/blog/wp-content/update-ui2.gif"><img border="0" alt="update_ui2" src="http://www.stratulat.com/blog/wp-content/update-ui2-thumb.gif" width="260" height="189" /></a> </p>
<p>In this short demo on how to use the Update Framework I showed all the required steps in order to use it. There is one thing however that was not covered and that is error handling. </p>
<p>I have exported my project from Flex Builder 3 and you can download it from here: <a href="http://www.stratulat.com/blog/wp-content/MyAirApp.zip">MyAirApp.zip</a>.</p>
<h4>Adobe AIR Update Framework &#8211; Flex</h4>
<p>I was inspired in this article by the one written by Mihai Corlan on his blog: <a href="http://corlan.org/2008/06/19/how-to-easily-and-seamlessly-update-an-air-application/">How to easily and seamlessly update an AIR application</a>. The article discusses exactly the same topic but from the Flex perspective. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/update-your-javascript-air-application-with-ease/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JavaScript AIR application &#8211; microlink</title>
		<link>http://www.stratulat.com/blog/javascript-air-application-microlink</link>
		<comments>http://www.stratulat.com/blog/javascript-air-application-microlink#comments</comments>
		<pubDate>Tue, 24 Jun 2008 12:19:55 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/javascript-air-application-microlink</guid>
		<description><![CDATA[I wrote about how Flex Builder 3 can be used to create a JavaScript AIR application, how to set up the environment and how to debug a JavaScript AIR application. It is now time to actually create one that does something more than just displaying &#34;Hello world&#34;. For that, I returned to an article written [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote about how Flex Builder 3 can be used to create a JavaScript AIR application, how to set up the environment and how to debug a JavaScript AIR application. It is now time to actually create one that does something more than just displaying &quot;Hello world&quot;. For that, I returned to an article written by me a about an <a href="http://www.stratulat.com/technical/ajax/a1/?article=AJAX%20-%20microlink%20pattern">Ajax pattern called microlink</a>.</p>
<p>A microlink is a link that opens up content below it. It is a way to improve the ordinary link using Ajax.</p>
<p>In the original article I have used prototype.js and scriptaculous to implement this. Now I am using <a href="http://jquery.com/">jquery </a>because it is AIR-ready. That means it works off the shelf in AIR.</p>
<p><img alt="" src="http://www.stratulat.com/blog/wp-content/microlink_nav.gif" /></p>
<p>If we look into the Flex Navigator view we can see some new resources that are used in order to make the application. Let&#8217;s explain each of them one by one.</p>
<p><i><b>microlink.css</b></i> is the stylesheet and is actually optional so I will not talk about this too much. I have used it in order to make the link more visible.</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span>.button {</pre>
<pre><span class="lnum">   2:  </span>   color: <span class="rem">#003399;</span></pre>
<pre class="alt"><span class="lnum">   3:  </span> }</pre>
<pre><span class="lnum">   4:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">   5:  </span>.button:hover {</pre>
<pre><span class="lnum">   6:  </span>   text-decoration: none;</pre>
<pre class="alt"><span class="lnum">   7:  </span>     color: <span class="rem">#66ffcc;</span></pre>
<pre><span class="lnum">   8:  </span>     background-color: <span class="rem">#003399;</span></pre>
<pre class="alt"><span class="lnum">   9:  </span> }</pre>
<pre><span class="lnum">  10:  </span>&#160;</pre>
<pre class="alt"><span class="lnum">  11:  </span>.button:active {</pre>
<pre><span class="lnum">  12:  </span>   color: <span class="rem">#ffffff;</span></pre>
<pre class="alt"><span class="lnum">  13:  </span>   background-color: <span class="rem">#0099cc;</span></pre>
<pre><span class="lnum">  14:  </span> }</pre>
<pre class="alt"><span class="lnum">  15:  </span>&#160;</pre>
<pre><span class="lnum">  16:  </span>.microdiv {</pre>
<pre class="alt"><span class="lnum">  17:  </span>    background-color: <span class="rem">#ccccff;</span></pre>
<pre><span class="lnum">  18:  </span>    border: 1px solid <span class="rem">#9999cc;</span></pre>
<pre class="alt"><span class="lnum">  19:  </span>}</pre>
</div>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; background-color: #ffffff; color: #000000;}
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p><i><b>microlink.js</b></i> is the actual JavaScript piece of code that makes a regular link into a microlink. It contains just one function to handle the click event.</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="rem">/**</span></pre>
<pre><span class="lnum">   2:  </span><span class="rem"> * Function called when the microlink is called to update </span></pre>
<pre class="alt"><span class="lnum">   3:  </span><span class="rem"> * the div with remote content.</span></pre>
<pre><span class="lnum">   4:  </span><span class="rem"> * </span></pre>
<pre class="alt"><span class="lnum">   5:  </span><span class="rem"> * @param {element} e the element that fired the event.</span></pre>
<pre><span class="lnum">   6:  </span><span class="rem"> */</span></pre>
<pre class="alt"><span class="lnum">   7:  </span><span class="kwrd">function</span> onClickMicroLink(e)  {</pre>
<pre><span class="lnum">   8:  </span>    <span class="kwrd">var</span> elID = e.id;</pre>
<pre class="alt"><span class="lnum">   9:  </span>    <span class="kwrd">var</span> divID = elID.substr(0, elID.length-2); <span class="rem">// remove trailing '_a'</span></pre>
<pre><span class="lnum">  10:  </span>    </pre>
<pre class="alt"><span class="lnum">  11:  </span>    $(<span class="str">'#'</span>+elID).after(<span class="str">' &lt;div id=&quot;'</span>+ divID +<span class="str">'&quot; class=&quot;microdiv&quot; '</span> +</pre>
<pre><span class="lnum">  12:  </span>            <span class="str">'style=&quot;display:none&quot;&gt;&lt;/div&gt;'</span>);</pre>
<pre class="alt"><span class="lnum">  13:  </span>            </pre>
<pre><span class="lnum">  14:  </span>    <span class="rem">// Performs an AJAX request and updates a container's contents </span></pre>
<pre class="alt"><span class="lnum">  15:  </span>    <span class="rem">// based on the response text.</span></pre>
<pre><span class="lnum">  16:  </span>    <span class="rem">// @see http://docs.jquery.com/Ajax</span></pre>
<pre class="alt"><span class="lnum">  17:  </span>    $.ajax({</pre>
<pre><span class="lnum">  18:  </span>        url: e.href,</pre>
<pre class="alt"><span class="lnum">  19:  </span>        dataType: <span class="str">'text'</span>,</pre>
<pre><span class="lnum">  20:  </span>        cache: <span class="kwrd">false</span>,</pre>
<pre class="alt"><span class="lnum">  21:  </span>        success: <span class="kwrd">function</span>(text){</pre>
<pre><span class="lnum">  22:  </span>            $(<span class="str">'#'</span>+divID).append(text);</pre>
<pre class="alt"><span class="lnum">  23:  </span>            $(<span class="str">'#'</span>+divID).fadeIn(<span class="str">&quot;slow&quot;</span>);</pre>
<pre><span class="lnum">  24:  </span>        }</pre>
<pre class="alt"><span class="lnum">  25:  </span>    });</pre>
<pre><span class="lnum">  26:  </span>} </pre>
</div>
<p>Inside the index.html I have added just one more line (aside from including the jquery library):</p>
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">&lt;</span><span class="html">a</span> <span class="attr">id</span><span class="kwrd">=&quot;microlink_a&quot;</span> </pre>
<pre><span class="lnum">   2:  </span>     <span class="attr">href</span><span class="kwrd">=&quot;http://www.stratulat.com/blog/feed&quot;</span> </pre>
<pre class="alt"><span class="lnum">   3:  </span>     <span class="attr">class</span><span class="kwrd">=&quot;button&quot;</span> </pre>
<pre><span class="lnum">   4:  </span>     <span class="attr">onClick</span><span class="kwrd">=&quot;onClickMicroLink(this); return false;&quot;</span><span class="kwrd">&gt;</span>the microlink<span class="kwrd">&lt;/</span><span class="html">a</span><span class="kwrd">&gt;</span></pre>
</div>
<p>Now running the application will show a link. When you click this link an Ajax call will be made to the feeds page of this site. The response is treated as text and it will be injected as the contend of the div created on line 11. Of course, the real use of this is to replace the href of this link with something that is indeed valuable for your application. </p>
<p>This small example covers more than just creating a microlink. It also shows how to make an Ajax call from an AIR application and how to use the response which is done in just the same way as in a browser.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/javascript-air-application-microlink/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight get&#8217;s a push</title>
		<link>http://www.stratulat.com/blog/silverlight-gets-a-push</link>
		<comments>http://www.stratulat.com/blog/silverlight-gets-a-push#comments</comments>
		<pubDate>Tue, 22 Jan 2008 13:19:54 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[Siverlight]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/silverlight-gets-a-push</guid>
		<description><![CDATA[I went today on the Microsoft&#8217;s web site to get the IE7. After I have selected the download section in the site, a popup caught my attention, something like: Do you want to try the new Silverlight enable download center? A line from a cartoon show comes to my mind: &#8220;Isn&#8217;t that nice?&#8230;&#8221;]]></description>
			<content:encoded><![CDATA[<p>I went today on the Microsoft&#8217;s web site to get the IE7. After I have selected the download section in the site, a popup caught my attention, something like: Do you want to try the new Silverlight enable download center?</p>
<p>A line from a cartoon show comes to my mind: &#8220;Isn&#8217;t that nice?&#8230;&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/silverlight-gets-a-push/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fluid &#8211; web on your desktop</title>
		<link>http://www.stratulat.com/blog/fluid-web-on-your-desktop</link>
		<comments>http://www.stratulat.com/blog/fluid-web-on-your-desktop#comments</comments>
		<pubDate>Mon, 21 Jan 2008 15:47:54 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Prism]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/fluid-web-on-your-desktop</guid>
		<description><![CDATA[&#8230; for Leopard users at least. After Mozilla found a new use for their technology, the XUL platform, in the form of Prism, somebody has found this technology inspiring and developed Fluid. That somebody is not Apple as one first thought might be, but a web enthusiast, Todd Ditchendorf.]]></description>
			<content:encoded><![CDATA[<p>&#8230; for Leopard users at least.</p>
<p>After Mozilla found a new use for their technology, the XUL platform, in the form of Prism, somebody has found this technology inspiring and developed <a href="http://fluidapp.com/" title="Fluid">Fluid</a>.</p>
<p>That somebody is not Apple as one first thought might be, but a web enthusiast, <a href="http://www.ditchnet.org/wp/">Todd Ditchendorf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/fluid-web-on-your-desktop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS, web 2.0&#8230; barcode?</title>
		<link>http://www.stratulat.com/blog/rss-web-20-barcode</link>
		<comments>http://www.stratulat.com/blog/rss-web-20-barcode#comments</comments>
		<pubDate>Tue, 13 Nov 2007 16:02:25 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/rss-web-20-barcode</guid>
		<description><![CDATA[  The above image represents my blog address stored as barcode. So, if you have a barcode reader, fire away. ]]></description>
			<content:encoded><![CDATA[<div style=""><a href="http://www.flickr.com/photos/43284235@N00/2004640234/" target="_blank"><img src="http://farm3.static.flickr.com/2325/2004640234_5094c8b62f_m.jpg" width="104" height="104" alt="barcode.png" border="0"></a></div>
<div style=""> </div>
<div style="">The above image represents my blog address stored as barcode. So, if you have a barcode reader, fire away. </div>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/rss-web-20-barcode/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla Prism</title>
		<link>http://www.stratulat.com/blog/mozilla-prism</link>
		<comments>http://www.stratulat.com/blog/mozilla-prism#comments</comments>
		<pubDate>Wed, 07 Nov 2007 08:12:50 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Prism]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/mozilla-prism</guid>
		<description><![CDATA[I just found out about this project on the Mozilla labs site. What is this project all about? Well it can create a desktop application from basically any web application. I just moved my Gmail onto my desktop. That&#8217;s quite something. Their next step will be to integrate Prism with Firefox (3.0?)and then the user [...]]]></description>
			<content:encoded><![CDATA[<p>I just found out about this project on the Mozilla labs site.</p>
<p><a href="http://www.stratulat.com/blog/mozilla-prism/mozilla-prism/" target="_blank" rel="attachment wp-att-88" title="Mozilla Prism"><img src="http://www.stratulat.com/blog/wp-content/prismlogo400.thumbnail.png" alt="Mozilla Prism" /></a></p>
<p>What is this project all about? Well it can create a desktop application from basically any web application. I just moved my Gmail onto my desktop. That&#8217;s quite something.</p>
<p>Their next step will be to integrate Prism with Firefox (3.0?)and then the user will be able to just go into the menu and choose &#8220;Convert into application&#8221;.</p>
<p>Right now this is just a demo, a project, a showcase of the XUL platform, but interesting things are foreseeable in the future.</p>
<p>Some good thoughts about this project can be found on <a href="http://www.mikechambers.com/blog/2007/10/25/mozilla-prism-and-the-disingenuous-web/" title="Mike Chambers blog">Mike Chambers blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/mozilla-prism/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Technorati Profile</title>
		<link>http://www.stratulat.com/blog/technorati-profile</link>
		<comments>http://www.stratulat.com/blog/technorati-profile#comments</comments>
		<pubDate>Wed, 31 Oct 2007 19:07:25 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/blog/technorati-profile</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/technorati-profile/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>myFeedz API &#8211; social web</title>
		<link>http://www.stratulat.com/blog/myfeedz-api-social-web</link>
		<comments>http://www.stratulat.com/blog/myfeedz-api-social-web#comments</comments>
		<pubDate>Wed, 11 Oct 2006 08:36:42 +0000</pubDate>
		<dc:creator>Remus Stratulat</dc:creator>
				<category><![CDATA[web 2.0]]></category>

		<guid isPermaLink="false">http://www.stratulat.com/wordpress/?p=33</guid>
		<description><![CDATA[myFeedz opened up it&#8217;s API for the public use. I have already used this API to include the tags from my profile and the top articles for my profile (check out to the right). But the possibilities does not end here. The tag cloud can display the tag associated with your blog if the blog [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://myfeedz.com/">myFeedz</a> opened up it&#8217;s API for the public use. I have already used this API to include the tags from my profile and the top articles for my profile (check out to the right).</p>
<p>But the possibilities does not end here. The tag cloud can display the tag associated with your blog if the blog is submitted to myFeedz. And you can transform the tags in links that perform searches on your blog using those tags. </p>
<p>The top articles are also interesting. You can choose to show:</p>
<ul>
<li>myFeedz top articles </li>
<li>articles relevant for your myFeedz profile</li>
<li>articles from a specific feed </li>
<li>articles that you saved and thought they are very important and worth to be read.</li>
</ul>
<p>A nice thing about the articles list is that the links does not point to myFeedz (so no tracking, no redirect, no marketing involved here) but instead directly to the source of the article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.stratulat.com/blog/myfeedz-api-social-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
