<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Lucas Pereira</title>
	<atom:link href="http://aheadofthewave.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://aheadofthewave.wordpress.com</link>
	<description>Software Engineering ahead of the wave</description>
	<lastBuildDate>Wed, 28 Jan 2009 20:00:23 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='aheadofthewave.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/b1f0de7e2b5d3a9ea22919b764e5b12b?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Lucas Pereira</title>
		<link>http://aheadofthewave.wordpress.com</link>
	</image>
			<item>
		<title>New to Drupal&#8230; Lets get started!</title>
		<link>http://aheadofthewave.wordpress.com/2008/11/23/new-to-drupal-lets-get-started/</link>
		<comments>http://aheadofthewave.wordpress.com/2008/11/23/new-to-drupal-lets-get-started/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 17:46:00 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/?p=86</guid>
		<description><![CDATA[As I told in the previous post on this subject, the best way to learn Drupal is installing and playing around with it!
But before we start, how about creating an account at drupal.org? I think that&#8217;s a pretty good idea!
Let&#8217;s go then&#8230; 
Installing Drupal (version 6.6 at posting time)
In won&#8217;t go into details about how [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=86&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>As I told in the previous post on this subject, the best way to learn Drupal is installing and playing around with it!</p>
<div style="border:1px solid;background-color:#fafcce;padding:3px;">But before we start, how about creating an account at drupal.org? I think that&#8217;s a pretty good idea!</div>
<p><strong><span style="font-weight:normal;">Let&#8217;s go then&#8230; </span></strong></p>
<p style="text-align:center;"><strong>Installing Drupal (version 6.6 at posting time)</strong></p>
<p>In won&#8217;t go into details about how to install Drupal, all you need is PHP (I&#8217;m with PHP 5, MySQL or SQLite, and of course, a web-server). If you are thinking about running Drupal in localhost you&#8217;ll be more than happy with the amount of videos and tutorials on how to do this installation (<a title="My first ever &quot;contact&quot; with Drupal" href="http://www.lullabot.com/videocasts/installing-drupal-6" target="_blank">WAMP on a windows Machine</a>, <a title="Install Drupal on a Mac" href="http://drupal.org/node/66187" target="_blank">MAMP on a Mac</a> and <a title="Install Drupal on a Linux based machine" href="http://www.lullabot.com/videocast/install-local-web-server-ubuntu" target="_blank">LAMP if you&#8217;re with Linux</a>. (never mind if all the links are leading you to the Lullabot website&#8230; It&#8217;s just that I like them a lot <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>In my case I have Drupal running with WAMP on my local machine.<span id="more-86"></span></p>
<p style="text-align:center;"><strong>Drupal Installed! &#8211; Now for some headaches.</strong></p>
<p><strong>Headache #1:</strong> Setting up clean URLs</p>
<p>First thing to do is to enable mod_rewrite on your Apache installation, the second is to allow override in your Drupal directory. Then&#8230; everything should be running. Well, not always. If you&#8217;re using an alias (or a subdirectory in your www) you must also change the rewrite base. Here are the examples from my instalation:</p>
<p>I setup Drupal folder outside www on a folder named drupal. Next step was to create an alias&#8230; Here is my alias code:</p>
<pre class="brush: java;">
Alias /drupal &quot;c:/wamp/drupal/&quot;
&lt;Directory &quot;c:/wamp/drupal/&quot;&gt;
   Options Indexes FollowSymLinks
   AllowOverride all
   Order allow,deny
   Allow from all
&lt;/Directory&gt;
</pre>
<p>The next step is to change my rewrite base to /drupal (which is my alias name) . This in done in the .htaccess file that you&#8217;ll find in your drupal folder. This is a snipset of what you&#8217;ll find:</p>
<pre class="brush: java;">
  # Modify the RewriteBase if you are using Drupal in a subdirectory or in a
  # VirtualDocumentRoot and the rewrite rules are not working properly.
  # For example if your site is at http://example.com/drupal uncomment and
  # modify the following line:
  # RewriteBase /drupal (MY CASE)
  RewriteBase /drupal
  #
  # If your site is running in a VirtualDocumentRoot at http://example.com/,
  # uncomment the following line:
  # RewriteBase /
</pre>
<p>Urrayy &#8211; clean URLs are ON <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Headache #2</strong>: Performance on the site administration area</p>
<p>Another headache was the poor performance I was getting on the sites administration area! After some readind I found that most of this was due to WAMP itself&#8230; One solution would be to play around WAMP configuration to improve it&#8217;s performance&#8230; Maybe on another ocasion!!</p>
<p>Performance break down occurs specially when you are trying to enable and disable modules or setting up permissions (permissions it self would give a great post&#8230; On another day)! So, the best you can do is to enable only the (contributed) modules you&#8217;ll be using&#8230; Even more.. don&#8217;t keep installations of the modules you&#8217;re not using (use the uninstall feature when available and delete from /sites/all/modules). Why? Because all the modules in this folder are loaded by Drupal. The less modules you have the less querys and the less hooks are necessary!</p>
<p><strong>Headache #3</strong>: MySQL timeouts</p>
<p>The main cause for this headache was headache number one&#8230; Poor performance! When enabling modules or setting permissions I was getting this pretty ugly blank screen with a timeout message! The soluition for this is pretty simple: Just add the following code to your settings.php (sites/default/settings.php):</p>
<pre class="brush: php;">
ini_set('max_execution_time', 0);
</pre>
<p>Where? I would recommend the bottom of the page!</p>
<p><strong>Headache #4</strong>: Setting up cron</p>
<p>What would be an easy task on Linux could become I real pain in Windows. In fact windows doesn&#8217;t know what cron tasks are. A solution would be to setup a scheduled task. The other solution is to install the Poormanscron module. Basically what this module does is to check (after each page load) if the last cron run was more than a pre defined (configurable) period of time!</p>
<p>If you don&#8217;t know, or are not allowed to setup cron tasks I would definitly say that this is a must have module! Drupal really needs cron to run very often, one good example is the (core) Aggregator module, try to setup an external feed widthout running the cron job :p</p>
<p>Enought of headaches!</p>
<p>I really hope this was helpfull!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=86&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2008/11/23/new-to-drupal-lets-get-started/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>
	</item>
		<item>
		<title>New to Drupal&#8230; Where to go? How to start?</title>
		<link>http://aheadofthewave.wordpress.com/2008/11/18/new-to-drupal-where-to-go-how-to-start/</link>
		<comments>http://aheadofthewave.wordpress.com/2008/11/18/new-to-drupal-where-to-go-how-to-start/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 14:40:35 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/?p=53</guid>
		<description><![CDATA[If being a newbie is so much (not) fun where should I start?
Websites:

drupal.org (I won&#8217;t even try to describe this website&#8230;   )
lullabot.com (Well, Lullabot was my starting point&#8230; You wouldn&#8217;t wanna miss the Lullabot Podcast series&#8230;)
drupalmodules.com &#124; drupal.org/project/Modules (Both your Drupal modules bibles!)
drupalmuseum.com (View and experience the power of Drupal!)
mustardseedmedia.com (Another source of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=53&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>If being a newbie is so much (not) fun where should I start?</p>
<p><strong>Websites:</strong></p>
<ol>
<li><a title="Drupal dot org" href="http://www.drupal.org" target="_blank">drupal.org</a> (I won&#8217;t even try to describe this website&#8230; <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</li>
<li><a title="Lullabot dot com" href="http://www.lullabot.com" target="_blank">lullabot.com</a> (Well, Lullabot was my starting point&#8230; You wouldn&#8217;t wanna miss the Lullabot Podcast series&#8230;)</li>
<li><a title="Drupal Modules dot com" href="http://www.drupalmodules.com" target="_blank">drupalmodules.com</a> | <a title="Drupal dot org modules" href="http://www.drupal.org/project/Modules" target="_blank">drupal.org/project/Modules</a> (Both your Drupal modules bibles!)</li>
<li><a title="Drupal Museum dot com" href="http://www.drupalmuseum.com" target="_blank">drupalmuseum.com</a> (View and experience the power of Drupal!)</li>
<li><a title="Musterseed Media dot com" href="http://www.mustardseedmedia.com" target="_blank">mustardseedmedia.com</a> (Another source of inspiration! Bob&#8217;s video podcast series is a must see&#8230;)</li>
<li><a title="Drupal Dojo dot com" href="http://www.drupaldojo.com" target="_blank">drupaldojo.com</a> (Yep&#8230; it&#8217;s really a dojo <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</li>
<li><a title="Drupal Therapy dot com" href="http://www.drupaltherapy.com" target="_blank">drupaltherapy.com</a> (Another very good source!)</li>
</ol>
<p><span id="more-53"></span></p>
<p><strong>Books:</strong></p>
<ol>
<li>Apress &#8211; Pro Drupal Development 2nd Edition</li>
<li>Packt &#8211; Learning Drupal 6 Module Development</li>
<li>Packt &#8211; Drupal 6 Themes</li>
<li>O&#8217; Reilly &#8211; Using Drupal (Not released yet&#8230; But I kinda like the fact that it&#8217;s not called &#8220;Using Drupal 6&#8243;)</li>
</ol>
<p>(Quick note 1: I&#8217;ve recently read some comments (<strong>I empathize read some comments</strong>) that the Packt books are geared towards non developers, and that if your a developer maybe Pro Drupal Development is the best option.<br />
Quick note 2: Still, if you look at Packt&#8217;s website you&#8217;ll find more drupal books than anywhere else. So, maybe they are doing it the right way.<br />
Quick note 3: Ever read a packt book on Drupal? Drop me a comment&#8230;)</p>
<p><strong>Videos:</strong></p>
<ol>
<li>Lullabot &#8211; Understanding Drupal (Trailler and Sample at Lullabot&#8217;s website)</li>
<li>Lynda &#8211; Drupal Essential Trainning</li>
</ol>
<p>The problem with books and videos is that you&#8217;ll be spending a few (euros | dollars | &#8230; ). The other problem, I think, is the fact that Drupal evolves quite fast&#8230; This is why I like the title of the O&#8217;Reilly book&#8230;</p>
<p>And for the &#8220;grande final&#8221; the best source of them all: <strong>&#8220;Install Drupal and play around with it&#8230;&#8221;</strong></p>
<p>Do know know other good sources?  Drop a comment <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=53&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2008/11/18/new-to-drupal-where-to-go-how-to-start/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>
	</item>
		<item>
		<title>First Steps Within Drupal</title>
		<link>http://aheadofthewave.wordpress.com/2008/11/13/first-steps-within-drupal/</link>
		<comments>http://aheadofthewave.wordpress.com/2008/11/13/first-steps-within-drupal/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 23:42:49 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Drupal]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/?p=48</guid>
		<description><![CDATA[Today was my 3rd day using Drupal&#8230;
As you might know, Drupal is an Open Source Content Management System&#8230; Well, Open Source AND Free (very important) and with this very active community (my first drupal install was version 6.2 just a few months ago while my current version is 6.6 (by few months I mean no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=48&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today was my 3rd day using Drupal&#8230;</p>
<p>As you might know, Drupal is an Open Source Content Management System&#8230; Well, Open Source AND Free (very important) and with this very active community (my first drupal install was version 6.2 just a few months ago while my current version is 6.6 (by few months I mean no more than four!).</p>
<p>First of all&#8230; My first steps:<span id="more-48"></span></p>
<ol>
<li>I needed an open source CMS to create a website</li>
<li>Went looking for Open Source CMS&#8230;</li>
<li>Results: <a title="CMS List in Wikipedia" href="http://en.wikipedia.org/wiki/List_of_content_management_systems" target="_blank">this</a></li>
</ol>
<p>Why PHP and why Drupal?</p>
<ol>
<li>PHP is cool! PHP 5 &#8211; is great&#8230; Love MySQLi</li>
<li><a title="Lullabot" href="http://www.lullabot.com" target="_blank">Lullabot.com</a> was an inspiration</li>
<li>Drupal seems, by far, more robust / flexible than most of the other solutions</li>
<li>The community &#8211; I&#8217;ve never seen something like that!</li>
<li>In Portugal most of the people haven&#8217;t heard of Drupal!</li>
<li>It was love at first time :p</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=48&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2008/11/13/first-steps-within-drupal/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>
	</item>
		<item>
		<title>AJAX and .NET 2.0 platform</title>
		<link>http://aheadofthewave.wordpress.com/2007/10/18/ajax-and-net-20-platform/</link>
		<comments>http://aheadofthewave.wordpress.com/2007/10/18/ajax-and-net-20-platform/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 14:45:28 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[anthem]]></category>
		<category><![CDATA[asp.net]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/2007/10/18/ajax-and-net-20-platform/</guid>
		<description><![CDATA[I’ve been without posting for a little time. Meanwhile I started (and finished) reading Daniel Woolston’s “Pro Ajax and the .net 2.0 platform” book. 

In the end I’ve learned quite a lot about ASP .net 2.0, but most important, I was quite impressed with chapter 7 (well, not the chapter itself, but with the different [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=26&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;font-family:Verdana;">I’ve been without posting for a little time. Meanwhile I started (and finished) reading Daniel Woolston’s “Pro Ajax and the .net 2.0 platform” book. </span></p>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;font-family:Verdana;">In the end I’ve learned quite a lot about ASP .net 2.0, but most important, I was quite impressed with chapter 7 (well, not the chapter itself, but with the different set of libraries and frameworks for implementing AJAX in ASP.net 2.0).</span></p>
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;font-family:Verdana;">From all the different libraries, maybe, Michael Schwarz’s <strong>Ajax.NET </strong>is the most famous. But there are also Jason Diamond’s <strong>Anthem</strong> (I’ll be covering it on this post), Daniel Zeiss’s <strong>ComfortASP.NET</strong>, <strong>MagicAjax.NET</strong> and Microsoft’s <strong>Atlas</strong> (especially useful for those wanting to bring some of the Ajax’s magic to the former ASP websites (please note that I’m not calling them ASP applications).</span><span id="more-26"></span></p>
<p class="MsoNormal" style="text-align:justify;">
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;font-family:Verdana;">Using <strong>Anthem </strong>library it’s very straight forward, and it can be told in four major steps.</span></p>
<p class="MsoNormal" style="text-align:justify;">
<ol>
<li class="MsoNormal"><span style="font-size:10pt;font-family:Verdana;">Register the server-side page with the Anthem Library.<br />
</span><span style="font-size:10pt;font-family:Verdana;">-This is done in the <strong>Page_Load()</strong> method of the (C# or VB.Net) <em>code-behind</em> file.</span></li>
<p class="MsoNormal" style="margin-left:54pt;text-align:justify;">
<pre class="brush: java;">
private void Page_Load()
{
   Anthem.Manager.Register(this);
}</pre>
<li class="MsoNormal"><span style="font-size:10pt;font-family:Verdana;">Identify the server-side methods that are AJAX-aware.</span><span style="font-size:10pt;font-family:Verdana;"><br />
-This is done by adding the <strong>[Anthem.Method] </strong>metatag before each AJAX-aware method signature.</span></p>
<p class="MsoNormal" style="margin-left:54pt;text-align:justify;">
<pre class="brush: java;">
[Anthem.Method]
public String myAJAXmethod():void
{
   return “I’m an AJAX – aware method”;
}</pre>
<p class="MsoNormal" style="text-align:justify;">
</li>
<li class="MsoNormal"><span style="font-size:10pt;font-family:Verdana;">Invoke server-side functions through <strong>Anthem</strong> from the client</span><span><br />
-This is done using the <strong>Anthem_InvokePageMethod(</strong><span style="color:#3366ff;">String serverSideMethod, parameters [], function callBackMethod</span><strong>)</strong></span><span style="font-size:10pt;font-family:TheSansMonoCondensed-SemiLight;"> </span><span style="font-size:10pt;font-family:Verdana;">method.</span><span style="font-size:10pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin-left:54pt;text-align:justify;">
</li>
<li class="MsoNormal"><span style="font-size:10pt;font-family:Verdana;">Handle the results returned from the server</span><span style="font-size:10pt;font-family:Verdana;"><br />
-This is done using the result object returned from the server</span></li>
</ol>
<div class="MsoNormal">
<p class="MsoNormal" style="margin-left:54pt;text-align:justify;">
<p class="MsoNormal" style="text-align:justify;"><span style="font-size:10pt;font-family:Verdana;">As one can see, it is pretty straightforward to use AJAX with ASP.NET 2.0. The following is the source code from a very simple AJAX + ASP.NET 2.0 application. </span><a title="AJAX and .NET 2.0 with Anthem" href="http://aheadofthewave.files.wordpress.com/2007/10/ajax-and-net-20-with-anthem.pdf">AJAX and .NET 2.0 with Anthem</a></p>
</div>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aheadofthewave.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aheadofthewave.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=26&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2007/10/18/ajax-and-net-20-platform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>
	</item>
		<item>
		<title>Sparklines in Flex</title>
		<link>http://aheadofthewave.wordpress.com/2007/08/20/sparklines-in-flex/</link>
		<comments>http://aheadofthewave.wordpress.com/2007/08/20/sparklines-in-flex/#comments</comments>
		<pubDate>Mon, 20 Aug 2007 20:36:44 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flex charting api]]></category>
		<category><![CDATA[sparklines]]></category>
		<category><![CDATA[tufte]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/2007/08/20/sparklines-in-flex/</guid>
		<description><![CDATA[My last project was to build a dashboard where the main goal was to prove that it was possible to build Decision Support System using sparklines as the main data visualization component.
So I went searching for sparkline implementations and I found it on several programming languages such as PHP, Ruby and even VB.net. Here is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=21&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My last project was to build a dashboard where the main goal was to prove that it was possible to build Decision Support System using <em><a href="http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001OR&amp;topic_id=1&amp;topic=" target="_blank">sparklines</a></em> as the main data visualization component.<br />
So I went searching for <em>sparkline</em> implementations and I found it on several programming languages such as PHP, Ruby and even VB.net. <a href="http://intepid.com/stuff/sparklines/" target="_blank">Here</a> is what I consider a good implementation in PHP. Nonetheless, I had to build then using Flex 2 or Flash 9, so I went Flex 2 + Flex Charting API.<br />
Just before getting in more details about the implementation there are a few issues that must be kept in mind when building <em>Sparklines</em>:<br />
<span id="more-21"></span></p>
<ul>
<li><em>Sparklines </em>are to represent large collections of data, but yet, <em>sparklines</em> are small, intense, word-sized graphics;</li>
</ul>
<p>The truth is that it doesn&#8217;t make much sense to represent 20 or less values in a <em>sparkline</em>, in fact, the resulting  chart would be more like a standard line chart. Still, representing to many values, say 300, in a small space doesn&#8217;t make much sense either.<br />
This means that when coding <em>sparklines</em> we must be extremely careful with the length of our data and the amount of screen real estate that we can use.<br />
About being word-sized, this means that in terms of height they should be easily added to a string of text (just like figure A <a title="Simple Flex Sparklines showing 300 values" href="http://aheadofthewave.files.wordpress.com/2007/08/bs300.png"><img src="http://aheadofthewave.files.wordpress.com/2007/08/bs300.thumbnail.png" alt="Simple Flex Sparklines showing 300 values" /></a> that shows a<em> </em>word-wrapped <em>sparkline</em>)</p>
<ul>
<li><em>Sparklines</em> also provide supporting analytics</li>
</ul>
<p><em>Sparklines</em> are more than lines representing values. They can be enhanced with the usage of supporting analytics that should be displayed directly over the <em>sparkline</em>. In this case supporting analytics usually shows the extreme values (high / low, least / most recent values) and the normal range of the values at stake.</p>
<p><a title="Flex Sparkline with supporting analytics" href="http://aheadofthewave.files.wordpress.com/2007/08/sa.png"><img src="http://aheadofthewave.files.wordpress.com/2007/08/sa.thumbnail.png" alt="Flex Sparkline with supporting analytics" /></a></p>
<p>Figure B  shows a <em>sparkline </em>with supporting analytics representing a little less than 150 values.</p>
<ul>
<li> <em>Sparklines </em>are intended for fast data comparisons</li>
</ul>
<p>The ability to show large collections of multivariate data in a very small space turned <em>sparklines</em> into a great tool for performing fast comparisons. But when comparing visual information the subjects of comparison must be represented in the same scale and this is because visual information represented on a specific scale can point out relevant issues that other scales don&#8217;t.<br />
Figure C shows the sames values in figure A but in a different width and vertical scale. Figure D on the other hand shows 300 values in a very small space.</p>
<p>Figure C<br />
<a title="Flex Sparklines showing same values of Sparkline in figure A" href="http://aheadofthewave.files.wordpress.com/2007/08/ss300a.png"><img src="http://aheadofthewave.files.wordpress.com/2007/08/ss300a.png" alt="Flex Sparklines showing same values of Sparkline in figure A" /></a><br />
Figure D<br />
<a title="Flex Sparkline showing 300 values in a very small space" href="http://aheadofthewave.files.wordpress.com/2007/08/ss300.png"><img src="http://aheadofthewave.files.wordpress.com/2007/08/ss300.png" alt="Flex Sparkline showing 300 values in a very small space" /></a></p>
<p><strong>Implementation:</strong></p>
<p>I&#8217;ve implemented the <em>sparklines</em> using Flex charting API.<br />
First, I picked a Line Chart with a line series to represent the data points. Then the next step was to limit the data points length and find a formula to limit also the line height &#8211; remember that <em>sparklines</em> are suppose to be word-sized. This was done by setting the max and min limits on the chart vertical axis.<br />
Second step was to add the bar with the normal range values. This could be done using the annotation elements, but I choose to add another series, this time an area series. And this proved to have some advantages over the first option.<br />
Finally I had to add the extreme values. And here I had 3 options, one was again annotation elements, second was rendering each item in the line series (this proved to be a slow and tedious approach) and that&#8217;s why I choose the third approach that was to add a plot series and render each item on it. Since we only had to render 3 items at a time rendering the items was very fast.</p>
<p>In the end I had the <em>sparklines</em> that you can see on the figure. But of course that I faced a lot of challenges, specially those related to data binding. Tip: If you are to use data binding using the MXML &lt;binding&gt; tag proves to be much more efficient that using the ActionScript binding functions.</p>
<p>Sadly I&#8217;m not allowed to release any source code (they are being used in a commercial application), but if you liked my implementation or have any tips to improve them feel free to comments this post.</p>
<p>Note: If you want to see a small video from the final application it is available <a href="http://www.anturio.com/anturiocorp/index.php?option=com_content&amp;task=view&amp;id=25&amp;Itemid=42" target="_blank">here. </a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aheadofthewave.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aheadofthewave.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=21&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2007/08/20/sparklines-in-flex/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>

		<media:content url="http://aheadofthewave.files.wordpress.com/2007/08/bs300.thumbnail.png" medium="image">
			<media:title type="html">Simple Flex Sparklines showing 300 values</media:title>
		</media:content>

		<media:content url="http://aheadofthewave.files.wordpress.com/2007/08/sa.thumbnail.png" medium="image">
			<media:title type="html">Flex Sparkline with supporting analytics</media:title>
		</media:content>

		<media:content url="http://aheadofthewave.files.wordpress.com/2007/08/ss300a.png" medium="image">
			<media:title type="html">Flex Sparklines showing same values of Sparkline in figure A</media:title>
		</media:content>

		<media:content url="http://aheadofthewave.files.wordpress.com/2007/08/ss300.png" medium="image">
			<media:title type="html">Flex Sparkline showing 300 values in a very small space</media:title>
		</media:content>
	</item>
		<item>
		<title>Type Casting and ObjectUtil.copy(obj) in ActionScript 3.0</title>
		<link>http://aheadofthewave.wordpress.com/2007/08/15/type-casting-and-objectutilcopyobj-in-actionscript-30/</link>
		<comments>http://aheadofthewave.wordpress.com/2007/08/15/type-casting-and-objectutilcopyobj-in-actionscript-30/#comments</comments>
		<pubDate>Wed, 15 Aug 2007 01:20:55 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[amf]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/2007/08/15/type-casting-and-objectutilcopyobj-in-actionscript-30/</guid>
		<description><![CDATA[When programming in Object Oriented Languages, in this case ActionScript 3.0, having different copies of the same object is sometimes a common need.
For many, the most obvious approach would be to simply assign one object to another, like this:
myObj2 = myObj1;
But this approach would not copy the objects. Instead this approach would only copy the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=19&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><span>When programming in Object Oriented Languages, in this case ActionScript 3.0, having different copies of the same object is sometimes a common need.<br />
For many, the most obvious approach would be to simply assign one object to another, like this:</span></p>
<p><span>myObj2<span> </span>= myObj1;</span></p>
<p><span>But this approach would not copy the objects. Instead this approach would only copy the object references. In the end there will be only one object, which would be referenced from two places, meaning that changing myObj1 is the same as changing myObj2 and vice-versa.<br />
By the way, <strong>in Flex everything is a reference</strong>!</span></p>
<p><span>The question is how do we clone an object in ActionScript 3.0?</span></p>
<p><span id="more-19"></span><span>ActionScript 3.0 has several utility functions, and one of them is the <a href="http://livedocs.adobe.com/flex/2/langref/mx/utils/ObjectUtil.html" target="blank">ObjectUtil.copy(Obj)</a> which can be found in the package mx.utils;</span></p>
<p><span>This function will perform a <a href="http://en.wikipedia.org/wiki/Deep_copy" target="blank">deep copy</a> of the object that is given as argument. And this is done by using the built in flash player <a href="http://osflash.org/documentation/amf" target="blank">AMF</a> capabilities (yes, in Flex you will find really odd and original solutions for problems). What happens here is that the entire object is serialized into an array of bytes, and when the bytes are deserialized, a brand new object is created copying all of the original contents.</span><br />
<span>Still, you won’t be able to type cast most of the resulting objects (in fact, only primitive types can be type casted). And this is because when an object is deserialized from AMF, although it haves all the properties of a class instance, it will not be a true class instance nor will hold any references to the original class.<br />
This is solved by adding type information about the object to the AMF packet. This can be done by using the <a href="http://livedocs.adobe.com/flex/201/langref/flash/net/package.html#registerClassAlias%28%29" target="blank"><span>registerClassAlias()</span></a></span> method which is available in the flash.net package. This method will allow to preserve the class (type) of an object when the object is encoded in Action Message Format (AMF).</p>
<p class="MsoNormal" style="margin-bottom:0;line-height:normal;">Let’s take a look to the following source code:</p>
<p><strong>Sample code A:</strong></p>
<pre class="brush: java;">
public var myObj:MyObject = new MyObject();
myObj.someProperty = “myProperty”;

public var myObjCopy:Object = ObjectUtil.copy(myObj);
trace(myObj.someProperty): // “myProperty”
trace(myObjCopy.someProperty): // “myProperty”
myObjCopy.someProperty = “myChangedProperty”;
trace(myObj.someProperty); // “myProperty”
trace(myObjCopy.someProperty); // “myChangedProperty”</pre>
<p><strong>Sample code B:</strong></p>
<pre class="brush: java;">
public var myObj:MyObject = new MyObject();
myObj.someProperty = “myProperty”;
public var myObjCopy:MyObject = ObjectUtil.copy(myObj) as MyObject;
trace(myObj.someProperty): // “myProperty”
trace(myObjCopy.someProperty);

//FAULT: cannot access object with null reference.
//Execution stops!</pre>
<p><strong>Sample code C:</strong></p>
<pre class="brush: java;">
public var myObj:MyObject = new MyObject();
myObj.someProperty = “myProperty”;
registerClassAlias(&quot;my.package.myObject&quot;,MyObject);
public var myObjCopy:MyObject = ObjectUtil.copy(myObj) as MyObject;
trace(myObj.someProperty):   // “myProperty”
trace(myObjCopy.someProperty):  // “myProperty”
myObjCopy.someProperty = “myChangedProperty”;
trace(myObj.someProperty);  // “myProperty”
trace(myObjCopy.someProperty); // “myChangedProperty”</pre>
<p>Why does it work on A and C and not on B?</p>
<p>Well, in A it works because we are using the type Object. And it would also for other primitive types such as Array.<br />
In C it works because we are passing (<span style="color:#999999;">registerClassAlias</span>) the object type before it gets encoded, which will result in a successful type cast.<br />
In B we don’t preserve the objects type, meaning that after the object gets deserialized it will hold no references to the MyObject class. The result will be a failed type cast which will result in pointing out to a null object reference.</p>
<p>But… ObjectUtil.copy(obj) it’s not bullet proof. I will not address to this situation because <a href="http://www.darronschall.com/weblog/archives/000271.cfm" target="_blank">Darron schall</a> has already a great post on this issue.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aheadofthewave.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aheadofthewave.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=19&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2007/08/15/type-casting-and-objectutilcopyobj-in-actionscript-30/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex or Ajax? Or both?</title>
		<link>http://aheadofthewave.wordpress.com/2007/08/05/flex-or-ajax-or-both/</link>
		<comments>http://aheadofthewave.wordpress.com/2007/08/05/flex-or-ajax-or-both/#comments</comments>
		<pubDate>Sun, 05 Aug 2007 12:49:33 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mxml]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/2007/08/05/flex-or-ajax-or-both/</guid>
		<description><![CDATA[[Edited on April 10, 2008]
Two weeks ago (counting from this post date), while talking to a colleague, I found myself trying to find out reasons to say that Flex easily outcomes Ajax. The truth is that it&#8217;s much easier for me to talk about Flex than Ajax, in fact, I&#8217;ve been programming on Flex 2 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=18&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>[Edited on April 10, 2008]</p>
<p>Two weeks ago (counting from this post date), while talking to a colleague, I found myself trying to find out reasons to say that Flex easily outcomes Ajax. The truth is that it&#8217;s much easier for me to talk about Flex than Ajax, in fact, I&#8217;ve been programming on Flex 2 for the last 9  to 10 months.<br />
Still, I claim my self has being technology agnostic&#8230; So I went searching about Ajax and how it is related to Flex. And the main conclusion is that both of them aim at something&#8230; the Web 2.0. How they do it it&#8217;s a different story.<br />
Ajax its a set of technologies that allows the incremental update of website pages without having to refresh the whole page every time the user makes a request. If you&#8217;ve read my <a href="http://aheadofthewave.wordpress.com/2007/08/04/what-is-web-20/" target="blank">Web 2.0 post</a>, this is how Ajax makes websites more responsive. Still, if users want rich GUI they will have to rely on JavaScript (which in fact can be very tedious!).<br />
Flex, on the other hand, is a presentation tier and server which allows the development of Desktop-Like web applications. In fact, Flex developers claim that they don&#8217;t develop websites but yes web applications. And this is easily proved because websites are a sequence of pages (static or dynamic) while Flex applications only (<strong>this only is more like everything)</strong> reflect the values of each variable in every state&#8230; and that&#8217;s what Flex applications are.. a sequence of states!</p>
<p>Lets then compare Flex and Ajax&#8230;<span id="more-18"></span></p>
<table border="0" width="100%">
<tbody>
<tr>
<td width="422"><span style="color:#339966;"><strong><span class="style1">Flex strengths</span></strong></span></td>
</tr>
</tbody>
</table>
<ul>
<li>Great for rich interaction</li>
<li>Great for accessing multimedia components</li>
<li>Effective use of caching for improved speed</li>
<li>Client side debugging</li>
<li>Flash player insures cross browser compatibility (and it&#8217;s free)</li>
<li>Open Source SDK and IDE</li>
<li>Better performance &#8211; code is compiled – better handling of large result sets</li>
<li>Collaboration/Real-time natively supported</li>
<li>Offline /desktop operation supported</li>
<li>E4X makes XML handling very easy.</li>
<li>The Flex components can be easily extended, and new ones written. The Eclipse based Flex Builder is also significantly extensible.</li>
<li>Charting API (although not free) it&#8217;s just amazingly great!</li>
<li>Native support for vector graphics</li>
</ul>
<table border="0" width="100%">
<tbody>
<tr>
<td><strong><span style="color:#ff0000;">Flex weaknesses</span> </strong></td>
</tr>
</tbody>
</table>
<ul>
<li>Back button, but specially, right click require lots of enhanced coding;</li>
<li>[Flex 3 has great support to HTML - no longer a weakness <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ] HTML usage&#8230; As far as I know, all that Flex allows, regarding HTML, is to overlap HTML pages making it look like if they were in fact embedded in the application itself. &#8211; using for that JavaScript calls;</li>
<li>[No longer a weakness] ]MXML and ActionsScript, although powerful, are not so common &#8211; learnig curve is obligatory bigger;</li>
</ul>
<table border="0" width="100%">
<tbody>
<tr>
<td><span style="color:#008000;"><strong>Ajax strengths </strong></span></td>
</tr>
</tbody>
</table>
<ul>
<li>Great for large text based content;</li>
<li>Allows strong caching using HTTP protocol for it;</li>
<li>Graphically good..  although tedious JavaScript is powerful, specially if you happen to master it;</li>
<li>Open Ajax Initiative. Lot&#8217;s of open source solutions;</li>
<li>Collaboration/Real-time can be emulated;</li>
<li>Very popular. A lot of community drive;</li>
<li>HTML fully supported (nobody would expect something else!!);</li>
</ul>
<table border="0" width="100%">
<tbody>
<tr>
<td><strong><span style="color:#ff0000;">Ajax weaknesses</span><br />
</strong></td>
</tr>
</tbody>
</table>
<ul>
<li>[Still a big problem in my opinion] Back button and refresh button can lead to really awkward and uncomfortable situations when using Ajax;</li>
<li>Lots of generated code – difficult to debug client side;</li>
<li>Performance can be an issue – code is interpreted – DOM-handling is tedious;</li>
<li>No offline/desktop operation possible;</li>
<li>[Most due to JavaScript issues] ]Browser compatibility &#8211; requires lots of hacking to ensure that everything works.;</li>
</ul>
<p><strong>Better together?</strong></p>
<p>Well, the answer to this question is the same for the Flex or Ajax question. In fact, it is the answer for many questions!<strong> It depends.<br />
</strong>If you&#8217;re not willing to make a 180º turn, Ajax is really great if you are looking to increase the user interactivity of your website. Ajax its not technology, but still it can make websites much more responsive. And if you have great HTML and JavaScript expertise you can also have very rich User Interfaces. A good example is wordpress itself, that is in fact very responsive.<br />
If what you really need is to develop an application where you require sophisticated and interactive data visualization, such as a decision support tool, or that requires video &amp; playback or web camera / microphone capture, such as a video conference application then probably Flex would be the best option.<br />
Finally, if what you need is to combine large amounts of text based content with rich interaction components, such maps or charts, the best option is to user both as one. And this can be achieve by using the open source <a href="http://labs.adobe.com/wiki/index.php/Flex_Framework:FABridge" target="blank">FABridge</a> (Flex &#8211; Ajax Bridge) that was developed by Abode. An example of such situation is <a href="http://finance.google.com/finance?q=.DJI%20.IXIC%20.INX">Google Finance</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aheadofthewave.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aheadofthewave.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=18&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2007/08/05/flex-or-ajax-or-both/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>
	</item>
		<item>
		<title>Web 2.0</title>
		<link>http://aheadofthewave.wordpress.com/2007/08/04/what-is-web-20/</link>
		<comments>http://aheadofthewave.wordpress.com/2007/08/04/what-is-web-20/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 14:40:44 +0000</pubDate>
		<dc:creator>Lucas Pereira</dc:creator>
				<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ria]]></category>

		<guid isPermaLink="false">http://aheadofthewave.wordpress.com/2007/08/04/what-is-web-20/</guid>
		<description><![CDATA[Common Client-Server web applications no longer fulfill user demands on distributed applications. In fact, with current networking infrastructures, the usage of Standard Client-Server applications does not only slow down users intentions – resulting in loss of context, it also forces users to follow a rigid workflow if they ever want to get things done.
As a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=15&subd=aheadofthewave&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal"><span>Common Client-Server web applications no longer fulfill user demands on distributed applications. In fact, with current networking infrastructures, the usage of Standard Client-Server applications does not only slow down users intentions – resulting in loss of context, it also forces users to follow a rigid workflow if they ever want to get things done.</span></p>
<p class="MsoNormal"><span>As a result of new user needs relating web applications, a new concept emerged – The Web 2.0. Web 2.0 applications, also know as Rich Internet Applications (RIAs), are emerging. These applications make use of a variety of techniques, such as Web services, Asyncronous JavaScript and XML (Ajax), Flex, Really Simple [Web] Syndication (RSS), and others to break the rigid workflow created by standard Client-Server infrastructures.</span></p>
<p class="MsoNormal"><span>Since its first days, web has been evolving. Web 2.0 is the third (and current) stage of that evolution process that started with Web 1.0.</span></p>
<p><span id="more-15"></span></p>
<p class="MsoNormal"><strong><span>Web 1.0 &#8211; Content delivery and communication</span></strong><span><br />
It’s known as the era of HTML and email. Information that was hard to reach became easy to get, and local contents became available at national or international level.</span><strong></strong></p>
<p class="MsoNormal"><strong><span>Web 1.5 &#8211; Content personalization and multilevel communication</span></strong><span><br />
The era of search engines, chat rooms, and instant messaging. Web 1.5 is all about real time communication. Examples: Google Search Engine, Yahoo Messaging, AOL.</span><strong></strong></p>
<p class="MsoNormal"><strong><span>Web 2.0 – Authoring and collaboration</span></strong><span><br />
At this stage the goal is no longer to disseminate information, it’s all about productivity. Accomplish work-related tasks with tools that are available every time at any time, and can be shared collaboratively. Examples: Google spreadsheet, BitTorrent.</span></p>
<p class="MsoNormal"><span>The Web evolution has been a cumulative process. And the proof of that cumulative evolution is that email and chat rooms are still largely used. Also, <span>increasing needs on productivity resulted on bigger demands in terms of user interface richness.</span></span></p>
<p class="MsoNormal"><span>Most desktop applications make use of two important capabilities to turn them more intuitive and user friendly than web applications.</span><strong></strong></p>
<p class="MsoNormal"><strong><span>Richness</span></strong><span><br />
By (correctly) combining a robust set of UI components desktop applications became natural, informative and intuitive to use.</span><strong></strong></p>
<p class="MsoNormal"><strong><span>Responsiveness</span></strong><span><br />
The ability of the desktop application user interface to quickly adapt to user actions creates a truly interactive experience. </span></p>
<p class="MsoNormal"><span>Web applications, on the other hand, make use of their capability to be accessed from every where.</span><strong></strong></p>
<p class="MsoNormal"><strong><span>Broad reach</span></strong><span><br />
The ability to access pieces of information from virtually any point in the world turned web applications into “must have” for the users and major corporations.</span></p>
<p class="MsoNormal"><span>Hence, web 2.0 applications face the challenge of bringing together desktop applications richness and responsiveness along with web applications broad reach.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/aheadofthewave.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/aheadofthewave.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/aheadofthewave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/aheadofthewave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/aheadofthewave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/aheadofthewave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/aheadofthewave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/aheadofthewave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/aheadofthewave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/aheadofthewave.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/aheadofthewave.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/aheadofthewave.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=aheadofthewave.wordpress.com&blog=1450950&post=15&subd=aheadofthewave&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://aheadofthewave.wordpress.com/2007/08/04/what-is-web-20/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">pereiralucas</media:title>
		</media:content>
	</item>
	</channel>
</rss>