Rob Gonda's Blog

Aptana Jaxer: server-side Ajax

Aptana released Jaxer: the first ever Ajax server... you got that right, server-side Ajax ... the concept is pretty interesting, a server-side API that wraps for client-side Ajax app to better optimize it and allows you to interface with the file system and database.... Oh, wait a minute, isn't this really similar to AIR? AIR also extends for your JavaScript libraries to allow file system and database access, except that AIR is a client desktop runtime and Jaxer is a server runtime... nevertheless, they solve the same problem... They allow you to leverage existing JavaScript skills to integrate seamlessly with components that will allow you to deploy full apps without the need of any traditional server-side programming language.

I always thought Aptana was just a nice Eclipse plugin, but this is pretty innovative. It integrates for your Apache web server as a simple extension (no IIS for now), it deploys as a war file for your Apache Tomcat Java server, or even runs in Amazon EC2 ...

I personally haven't tried it, and I have no complaints about ColdFusion, .NET, PHP, or Ruby processing my server requests, in fact, I believe they would be much more robust and reliable than server-side JavaScript, however, this looks great for small and light applications. I'm sure that's their first niche since the only two supported databases are sqlite and mysql, it's a good indicative ...

Anyone see a good immediate use for this new technology?

ColdFusion 8.0.1 Ajax Improvements

Adobe ColdFusion 8 Update 1 (8.0.1) was released April 3rd (most of you knew already). The good and safe news is that it seems to work fine... nothing broke with the update.

What was updated? You can get the full list here, but I will concentrate only on the Ajax part.

The docs say "We have improved functionality in several areas including AJAX functions, CFPDF, and CFIMAGE. And we have updated several software libraries including Yahoo YUI, EXT JS, Spry, and the FCKEditor."

The FCKEditor component used in the cftextarea tag’s rich text editor has been updated to version 2.5. As a result, the rich text editor now supports Safari 3 and Opera 9.50 browsers. This is great news, but 2.5 was released 11/30/2007... 2.6 was just released, so they went with the latest stable, though it was pretty safe to try the 2.6 RC, which was released a while back.

Next, the Spry framework has been updated to version 1.6.... not too much to say there, I don't care much about it.

Now the important part, the Yahoo YUI Library used for some AJAX-based controls has been updated to version 2.3 and the Ext JS framework used for some AJAX-based controls has been updated to version 1.1.1... I assume they did this because Ext JS 2.0 (released in October 2007 btw) was a major update and it would have taken too much to adapt it? Adobe, trust me, I understand SDLC, but in today's world CF helps us keep up with rapid changing technology and it would be totally worth it ... you will have to upgrade it at some point .... hopefully 8.0.2 will incorporate the a much newer version of Ext.

Adobe AIR: ShifD

Following the release of Adobe AIR, ichameleon/group/, has been working with Adobe and the New York Times on a small AIR demonstration app called ShifD: an  awesome little app that helps you organize your notes and see them online, your mobile phone, iphone app, or the AIR based desktop app.  The Adobe Air app was written entirely in AJAX using jQuery and a custom made MVC framework, wrapped around the Adobe AIR shell.  You can signup for an account at http://www.shifd.com and/or download free tools at http://www.shifd.com/tools/.

Important: You must use jquery 1.2.3+ with AIR 1.0. Previous versions have application sandbox issues.

This launched along with Adobe AIR, which will allow us to take our html/flash/flex applications to the desktop. In fact, Adobe announced that Adobe AIR, Flex Builder 3, and the Flex 3 SDK are now live on their website.

Related links:

Flex/AIR on the Adobe.com home page:
http://www.adobe.com/

Flex Builder 3
http://www.adobe.com/products/flex/

Adobe AIR
http://www.adobe.com/products/air/

Flex 3 SDK
http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3email

New Rich Internet Applications site
http://www.adobe.com/resources/business/rich_internet_apps/

Re-launched Adobe Open Source Website
http://opensource.adobe.com/

Adobe Max: Day 2: Thermo

Thermo is amazing! It will bridge the gap between designers and developers, allowing developers to get in the game at an earlier stage; allow customers to feel the application and not just see it in planning phase... Prototyping just upgraded to a whole new meaning. The customer doesn't know what he wants until he sees it; now this applies to RIAs as well, how nice is that?! I really can't wait to start using it.
You read about it on the blogs, but there's nothing like seeing it in action ... even on early stages, I can already visualize us being an early adopted and using it on every RIA project.

Without getting too deep into the demo, Thermo allows to create a new RIA project, spits out Flex code... allow designers to use familiar tools such as layers ... or you can import a PSD, separate all assets, convert graphics into controls, group data into arrays for dummy data.... it's amazing ...

Apple Office: iWork 2008 got the numbers

I forgot to mention yesterday that iWork 2008 also comes with a spreadsheet application.
Apple has ramped up its competitive stance against Microsoft’s Office software by adding an Excel alternative to its range of $99 iWork 2008 applications. Its Numbers spreadsheet application now joins Apple’s Pages and Keynote software in taking on Microsoft’s flagship Word, Excel and Powerpoint packages.

Apple Unveils New iMacs, iWork, iLife


Apple just release a new iMac with 2.0 or 2.4 Core 2 Duo processors, 800Mhz bus, 1Gb or RAM, and huge screen ... it's soooo thin. Along with it, they just release the 2008 versions of iWork and iLife... Will try out that new keynote, it's probably amazing.

Vista File Copy Blows - Seek Alternative

How many Vista users out there? I know many people don't like it, but I haven't had many problems with it ... I'm running Vista Ultimate on one laptop, and Mac OSX on another.

Anyways, one of my main complaints about Vista is that it tries to estimate the time to copy files prior to even starting the process... we all know that Microsoft cannot estimate that time by any means, so waiting five or ten minutes prior to even starting the process is not a great idea...

What can you do about it? Disable it ... lol, try at least.... The best solution I found that to install this program call Teracopy, a free-ware software that replaces your XP/Vista built-in copying engine to deliver faster results... and it does! In addition it has a couple of additional perks such as pause, resume, and error recovery. This is my new must-have program for Vista users.

Mac Virtualization: VMware Fusion goes final

VMWare is the best virtualization software, period. I've been running VMWare workstation on my PC, ESX to host my servers, and Fusion Beta on my Mac .... Fusion goes final next week! Woohoo!

CF8 + Ajax need compression!

As you probably know, ColdFusion 8 came out today and it has tons of Ajax/DHTML goodies. It's based on YUI+EXT, which is a great, powerful, scaleable, documented solution... but it weights just too much. A simple cfwindow requires about a 360k JavaScript download ...

I checked the source code, and it's mostly minimized, which means it's hard to reduce the code-base even more... however, you can gzip it. Most/All modern browsers support gzip data, and the difference is huge.

With Apache you can use mod_gzip, but with IIS is slightly more difficult. The best solution IMO is to install a 3rd party tool such as port80 httpZip.

Check out the following comparisons.

CFWINDOW

<cfwindow
    center="true"
    closable="true"
    modal="false"
    resizable="true"
    initshow="true"
    height="200"
    name="window"
    title="UI Window Example"
    width="200">


UNCOMPRESSED
26 requests
0 cached files
0 errors

372244 total bytes
8114 request bytes
364130 response bytes
the average request was 312 bytes
the average response was 14005 bytes

entire session took 7.641 seconds
on average, responses took 0.336 seconds

COMPRESSED
26 requests
0 cached files
0 errors

116218 total bytes
7985 request bytes
108233 response bytes
the average request was 307 bytes
the average response was 4162 bytes

entire session took 3.672 seconds
on average, responses took 0.144 seconds

CFLAYOUT
<cflayout type="border">

  <cflayoutarea position="top" title="Top Layout Area">
  This is the top layout area.
  </cflayoutarea>

  <cflayoutarea position="center">
  This is the center layout area.
  </cflayoutarea>

  <cflayoutarea position="bottom" title="Bottom Layout Area">
  This is the bottom layout area.
  </cflayoutarea>

</cflayout>

UNCOMPRESSED
15 requests
0 cached files
0 errors

357131 total bytes
4584 request bytes
352547 response bytes
the average request was 305 bytes
the average response was 23503 bytes

entire session took 3.609 seconds
on average, responses took 0.223 seconds

COMPRESSED
15 requests
0 cached files
0 errors

102840 total bytes
4645 request bytes
98195 response bytes
the average request was 309 bytes
the average response was 6546 bytes

entire session took 2.64 seconds
on average, responses took 0.165 seconds

CFMENU
<cfmenu name="myMenu">
    <cfmenuitem name="home" display="home" />
    <cfmenuitem name="support" display="support" />
    <cfmenuitem name="about" display="about" />
</cfmenu>


 8 requests
0 cached files
0 errors

215463 total bytes
2366 request bytes
213097 response bytes
the average request was 295 bytes
the average response was 26637 bytes

entire session took 2.438 seconds
on average, responses took 0.289 seconds


8 requests
0 cached files
0 errors

54543 total bytes
2399 request bytes
52144 response bytes
the average request was 299 bytes
the average response was 6518 bytes

entire session took 1.562 seconds
on average, responses took 0.168 seconds


Pretty impressive huh?

So in conclusion, you must compression your scripts to make it half-decent for your users... ColdFusion provided a very powerful tool, now it's up to you to make the best of it.

RIA traffic debugging

Quick note on debugging a Rich Internet Application. As you probably know, RIAs usually don't refresh and communicate to the server in the background. You can't easily see the traffic, so I usually recommend using Firebug for Firefox, Live HTTP Headers, Fiddler, and my recommendation, Service Capture.... Well, there's a new kid on the block ... not so new perhaps, but I just finally tried it and I'm loving it. Charles is another http/amf monitoring application with many more capabilities than service capture ... actually, forget about the capabilities, the fact that I can open it with Firefox with no problems should be enough ... but if that's not enough, you can see the traffic is a structured view instead of sequential, which allows you to see the requests by domain, then folder, then file, and it even groups all the flash remoting calls together ... it's a beautiful thing. In addition it does have more capabilities such as seeing cookies, request / response sizes, mirror responses to disk, analyze cache, bandwidth throttle, spoof dns, and port forwarding. I'm very impressed.

More Entries

This blog is running version 5.9.003. Contact Blog Owner