We're delayed - 3.7 will come!

by Stian Solberg 1. July 2010 11:25

Waiting for Gaia Ajax 3.7? So do we!

Waiting for Gaia Ajax 3.7?

We decided to go some major rewritings which we should have done a long time ago; now we're doing it. Especially the extensions controls will have a better architecture. Additionally we're doing this to improve the Visual Studio 2010 experience, as it is related to the actual code in each control.

Regarding the nightly build server, we expect this to be up in a couple of weeks. We took it down because of the major changes in the core library.

We'd like to say we are very sorry for the broken promises, but we want to deliver solid software to our users; it costs quite an amount of hour for us to make you save even more development hours.

Best regards
The Gaiaware team: Sergey, Jan, Stian, Kariem and Espen

 

Gaia Ajax 3.6 Final Release

by Jan Blomquist 24. November 2009 12:37

 

After some thousand hours of both eurekas and hard work, the "safe-to-put-in-production" bits of Gaia Ajax 3.6 is finally ready to be routed through your NIC and assembled on your harddrive. In this blog I will tell you the 3W+1H: Why, What, How & Where.

Why?

Ideally the product should speak for itself, but endow me a few bytes of your browser memory to unravel the architectural spirit behind the product. Gaia was built with the following ideas in mind:

  • Simplicity
  • Code reuse in a managed language of choice
  • Focus on highly reusable & versatile building blocks
  • It was designed to be your favorite toolbox which just works across all your web projects

"Philosophically speaking it's not so much about the controls that you find there, but more about the controls which you don't find".

This abstract idea can be a little difficult to comprehend at first, but you will become a better developer once you really get it. We humans find it hard to visualize on the non-existent, the history that never took place. A lot of one-size-fits-all components sometimes solves too much (often you need < 1%). Your job title quickly gets deduced to Professional Property Configurator and your products end up looking like everything else (we know! because we see it all the time) and where is the differentiator in that? Don't get me wrong -sometimes these are desireable means to an admirable goal, just don't forget the old gipsy curse: "May you get what you want and want what you get".

What do you get with Gaia Ajax 3.6?

3.6 contains an abundance of new "stuff". In reality, too much to cover here -so permittez-moi to show you what we believe are the most important updates for you.

DRIMR (Did you say D-R-I-M-R?)

DRIMR is an acronym for Dynamic Removals, Inserts, Moves and Replacements. DRIMR conceals all ajax complexity, shields the developer from exposure to low level details and is a common characteristic shared by all Gaia controls. It converges the Ajax umbrella into a beautiful and optimized solution for ASP.NET. In many of our demanding samples, No Re-Rendering takes place at all, except the initial load. This means:
  1. You can move a control between Control Collections and we'll just move the control in the Browser too :-)
  2. You can remove a control and replace it with a new control and if they are of the same type we will reuse that instance in the Browser and only emit the state changes. A great example is paging/sorting in the GridView: Only the Text property of the Labels get's serialized.
  3. You can remove a control entirely and we'll just issue a RemoveControlCommand to the Browser, not touching anything else.
  4. It also means a lot more to you, but we'll just have to expand information on this topic as we go.
DRIMR is such a powerful concept that you might not truly believe or understand what I am saying here, so I encourage you to check out for yourself. We hope DRIMR will inspire a whole new breed of web applications written purely in managed code that doesn't utilize unnecessary re-rendering strategies at all and we depend on you to create these masterpieces. The alternative route being a spaghetti of technologies blended together in a grey mass, colorless and with no distinguishable beauty. And you know how we feel about that now?

Interestingly DRIMR represents only a tiny fraction (1/107) of the tracker items that were solved for the 3.6 release. Imagine how many new features the 3.6 release contains? Other single items include: (>120++) New Samples, GridView, ImageMap, New Effect API, Validation Controls and numerous other features/enhancements.


120++ Samples

Lightbox and Carousel SampleOur brand new samples framework was written from scratch and each sample is now broken into a neatly organized folder structure. Many of the samples were written with extensibility in mind and should be easily customizable and integrated in your own appz. You also get a local copy of the samples when you install Gaia Ajax. Alternatively you can browse our samples online which we hopefully have mirrored somewhere near you:
Ajax GridView

Ajax GridView (for ASP.NET "Ninja" developers)

GridView is the prodigy of our DRIMR technology featuring

  • Dynamic inserts of rows/columns
  • Automatic removals,
  • Sorting and paging
  • + All other features available in the ASP.NET GridView (because it IS the ASP.NET GridView).

Example: If you select a row, Gaia detects that only a CssClass change took place, so that's the only thing Gaia "wires over". This in turn delivers a GridView with an amazing performance that you can use out of the box or upgrade your existing ASP.NET GridView. Instantly turn rows into edit mode, insert ANY control and get JSON-like serialization of data through familiar DataBind() operations in the codebehind. You can use WebServices if you want, but you don't have to, any collection will do just fine.

A potpourri of other interesting features

To economize on your precious time, allow me to just list up some additional things we hope you will enjoy in this release:
  1. New class based Effect API which allows
    1. Run multiple effects in parallel
    2. Run multiple effects in a queue
    3. Client side only effects
    4. Attaching to special control events (ie. Appear/Close)
    5. Lots of usage options
  2. Full IE6 support
    1. Css compatible
    2. Modal windows
    3. Samples Website 100% written for IE6
  3. Brand new controls
    1. ImageMap
    2. ValidatorControls
    3. BrowserHistory
    4. GridView
  4. Gaia Ajax 3.6 contains a total of 41 Server Controls. That's less than $5 pr/control! Let us know if you can write them cheaper, because then -You are hired! 
  5. AspectBinding to Events, Properties and methods. This means more native events are exposed on controls directly and the Modal property is back on Window. The TextBox for example now has:
    1. OnMouseOver
    2. OnMouseOut
    3. OnBlur
    4. OnFocus
    5. OnDoubleClick
    6. OnSelect
    7. + The rest which you already know
  6. Amazing new Drag&Drop capabilities. Dragging can now occur at the document level, circumventing stacking contexts, overflows and other obstacles when items are being dragged around. It also supports
    1. Ghosting
    2. Shallow Copies
    3. Custom CssClasses during Drag&Drop
  7. General Performance optimizations and JavaScript refactorings.
  8. The Nested Windows sample demonstrates how you can make the impossible possible with Gaia Ajax. In this sample we can add "unlimited" levels of modality recursively to nested Windows with roughly 20 lines of C# code!
  9. I've said it before and I'll say it again. Par example: the chess game does not perform re-rendering at all. All pieces are "physically" moved in the browser, captured pieces are replaced and non-valid moves slides the control back where it came from, and the best part: It's all written in 100% pure .NET managed code on the server. No Biz Exposed!

Here's a snippet of the server response during a piece capture:
   1:  Gaia.CRP('f7_black-pawn-f7','f3_white-queen-f3',1);
   2:  $G('f3_white-queen-3')
   3:  .setImageUrl('img/white_queen.png')
   4:  .setID('f7_white-queen-f7');

If you are still in doubt? Check out yourself and unleash the developer animal inside you! I don't have the stamina to continue this list so let me just quote one of our recent customers here: "Gaia is the best investment we've done in a LONG time!" -ConnectIT, Norway

How?

The 3.6 codename has been "fairytale" and was partially inspired by the MGP winner Alexander Rybak's song with the same name. We decided on that name just two months before the MGP final in Moscow due to a gut feeling that Alex would bring medals and honor home to Norway. I think Gemini reveals the publish date :-)

Development of Gaia Ajax is inspired from a mix of agile/bazaar techniques. Core development is mostly in-house, but external contributers are welcome to participate in the open forums/wiki/etc. Today many such contributions exist, including a full Outlook-like Scheduler written by Pavol. For a list of all extensions go here. The project enjoys a tight customer/community feedback loop with an instant report-confirm-fix-test-build-publish loop with our fully automated build system.

Other characteristics of the project include a high degree of transparency & Public Access to:

Compatibility

We've focused on backwards compatibility and for most cases you can do a binary upgrade by just replacing the dlls. ForceAnUpdate() is still hanging around, but should be safe in most scenarios to remove where Gaia only controls are in use. Doing so will result in vast speed improvements and reduced payload for ajax callbacks. for both the client and server, whereas DRIMR does not!

Note: Upgrade fails if you're doing a full custom implementation of IAjaxControl. However, inheriting directly from Gaia controls is considered safe.

Retracted Feature(s)

The alpha/beta release contained a selection of four new skins. These skins did not qualify our QA phase and unfortunately was removed. The skins are available in the SVN repositories under /gaia-ajax-skins/branches/ and they might be released in the future when quality is improved. However, we have plans to release more skins in the near future and these will be made available as a free add-on to the 3.6 release or in a future service pack to 3.6. We'll come back with more information regarding this in a few weeks.

Where?

Where to go from here? Well, that depends a great deal on where you are heading? If you are totally sold at this point (we certainly hope so), just pickup the SKU most suitable for you here: 

The installer is digitally signed (verifies authority) and integrates nicely with VS.NET 2005 & 2008 and you get a shortcut to a locally installed copy of the samples on your start menu. Opening the Samples in VS allows you to dissect the code and see for yourself how quickly you can build similar high quality code effortlessly.

Then I would suggest the following reading:
Here are a few selected samples which demonstrates some of the unique features of Gaia Ajax:

Conclusion

We hope you are going to love Gaia Ajax as much as we do. Also keep in mind that we truly want you to be successful with Gaia and that we are there for you when you need us. Don't hesitate to use email, forums, twitter, phone or any other surface we are exposed through.

Best Regards,
The Team behind Gaia Ajax

Time's up! Gaia Ajax 3.6 Alpha Released!

by Jan Blomquist 13. September 2009 21:01

Thank you for your patience and continued belief in our product. It is our vision to bring you the finest quality for ajax development on the ASP.NET platform. The 3.6 version comes with practical innovation previously unavailable to ASP.NET developers. Hopefully it will bring "goosebumps" similar to the ones we had the first time Microsoft unveiled ASP.NET almost a decade ago. 

"3.6 is backwards compatible and introduces a paradigm shift called adaptive rendering"

Links and downloads

  • Click here to download Gaia Ajax 3.6 "alpha"
    Exe with Visual Studio Integration 30 day trial

  • Click here to download Gaia Ajax 3.6 "alpha" - Tar.gz binaries + source - for open source projects
  • Click here to download Gaia Ajax 3.6 "alpha" commercial (requires subscription) 

Highlights from the Gaia Ajax 3.6 release

1. Adaptive Rendering
Adaptive Rendering is a mind-blowing concept that enables dynamic insertion, removal, moving and replacement of individual controls. The concept has far reaching implications and is the breakthrough technology that will make you hunger for Gaia as the building blocks for your UI layer

  • Click here for a sample that demonstrates dynamic inserts and removals of controls and compare it to the usage of traditional partial rendering
  • Click here for a sample of the chess game featuring dynamic control moves
  • Click here for a sample of our "PageFlakes" sample that also features dynamic moves
  • Click here to check out a sample that demonstrates all features of adaptive rendering, including control replacements via databinding
Jan Blomquist has written an extensive review of Adaptive Rendering on his personal blog.

2. Ajax GridView
The Gaia Ajax GridView is a premier example of adaptive rendering as it enables the worlds most advanced GridView for ASP.NET without much code at all. The GridView still supports all the operations like ( filtering, sorting, selection, deletions, updates, etc ) and it's all ajaxified thanks to adaptive rendering.  

  • Click here for a sample that demonstrates the Gaia Ajax GridView in action

3. 100++ new Samples!
In the package you will find a total of 128 samples ranging from minimalistic ones to extensive, almost full applications in themselves. This is all packaged into a new samples framework that simplifies navigation, code view, VB.NET code availability, etc. 

Note: The samples are now utilizing the WAP project type

More...

Gaia Ajax 3.5 Released!

by Stian Solberg 4. March 2009 13:53
"Imagination is the beginning of creation. You imagine what you desire, you will what you imagine and at last you create what you will."
-George Bernard Shaw

Highlights of Gaia Ajax 3.5

Doubled Speed
Massive performance gains - up to 50% - in Ajax callbacks.



Zero ViewState
We've improved our internal ViewState logic.
For you: even less data sent, even faster applications!


20+ New Features And Enhancements
Built-in Default Skin, Multi File Upload, Better AspectKey, Improved Hybrid Control Collection ++ See list of new features and enhancements



60+ Bug Fixes
Thanks to feedback from our community and customers, over 60 bugs are fixed. Gaia is now even more stable! Complete change log 

  

Even More Stuff!

Improved Pricing

Take a look at our order page to see the new prices.

Take a quick survey - win a subscription license!

To constantly improve the quality of our deliverance we are conducting a quick survey. It takes two minutes, and all participating will have a chance to win a one year subscription of Gaia Ajax (value: $595) 
Take the survey here

Case Study: Logica

Logica is a leading IT and business services company, employing 40,000 people.
Read how they succeeded with Gaia 


Yes,one last thing: everyone can download the trial version. Go to http://gaiaware.net/download

As always, we love feedback. Use the comments or our the forum.

Best regards,

The Gaiaware Team.

Gaia Ajax 3.5 Changelog

by Jan Blomquist 4. March 2009 13:03
Full changelog of final release Gaia Ajax 3.5 "Themis"
More...

Gaia Ajax 3.5 Release Candidate 2

by Jan Blomquist 20. February 2009 19:37

Gaia Ajax 3.5 has been cooking for some time now and final release is just around the corner. We want to receive more feedback on the bits before we mark it as the final product so we're giving you another RC instead of regrets. Smile

We want to thank all who has committed feedback on the bits and helped us increase product quality along the way. More and more people are discovering the Gaia Ajax way of building ASP.NET Applications every day.

If you want to help us shorten the time it takes for the final release, we suggest you download the RC and upgrade your applications using the bits and give us feedback on what you think. We want to hear both good/bad.

Links and Downloads

What's up since the last release candidate

  • Installer and Visual Studio.NET designers are implemented and tested.
  • Tested and corrected minor issues in some of the A grade browsers.
  • Added Documentation and ItemTemplates to Visual Studio
  • Fixed severe issue related to dynamic controls
  • Latest release was built using the custom in-house build system.
  • For a full list of issues fixed look at the bottom of this post

New! Visual Studio Templates

If you want to get up to speed about new stuff available in Gaia Ajax 3.5 you've probably noticed that we've published a lot of content and tutorials related to the release. In the latest installer we've also added some ItemTemplates to Visual Studio that will aid you in creating extensions more easily.



We've created the following templates for you 
  • Gaia Aspect Extension
  • Gaia Control Extension
  • Gaia Container Control Extension
We've published a 30 minute video showing you how to leverage these templates to build custom control extensions for Gaia Ajax here

Or revist recent blogs that highlight new features/enhancements in the Gaia Ajax 3.5 product. 

Documentation

Also in the latest bits you will see that we've embedded the documentation API reference in .chm file format. Hopefully this will also simplify your development.

Click here to view the API documentation online (Available as .chm in the downloadable package)

Instead of repeating ourselves over and over you can read about new features/highlights in the Gaia Ajax 3.5 release  just by looking at previous release blogs regarding the product.

Related Blog posts

List of issues fixed since the last release candidate

Issue Type Priority Severity Component Summary
SETUP-219 Bug Medium Trivial Setup

Start menu shortcuts issue 

WEB-231 Enhancement Low Trivial Samples

RSS Reader sample enhancement 

VSNET-248 Bug High Trivial Visual Studio Integration

Trial.License file empty in trial installation 

WEB-232 Bug Medium Major Samples

IGoogle sample does not work 

WEB-252 Bug Medium Trivial Samples

Drag and Drop in RSS Reader 

GAIA-254 Bug High Major Gaia.Ajax.Core

Gaia control in Usercontrol updated from parent page has type error 

GAIA-241 Bug Low Trivial Window

When Window is Maximized after Resizing, the ContentArea remains fixed 

GAIA-245 Enhancement Low Trivial Calendar

Simplify subclassing of the Calendar by exposing rendering steps 

GAIA-243 Bug Low Trivial Window

Window CenterInForm issue 

GAIA-224 Bug Low Trivial Window

Window default skin maximization 

GAIA-223 Bug Low Trivial Window

Window default skin 

GAIA-238 Bug Low Trivial ExtendedPanel

Text is not indented properly when applying IconCssClass to ExtendedPanel 

GAIA-235 Bug Low Trivial ExtendedButton

OnClientClick property for ExtendedButton is not supported 

GAIA-203 Bug High Major DateTimePicker

DateTimePicker fails after re-selecting a date 

WEB-172 Bug Low Minor Samples

ViewPort.aspx 

VSNET-5 Bug Medium Minor Visual Studio Designers

ExtendedPanel Designer Collapse 

VSNET-37 Bug Low Major Visual Studio Integration

Visual Studio 2008 Pro Integration fails languages other that EN 

VSNET-183 Bug Low Trivial Visual Studio Designers

When dragging TextBox into ExtendedPanel it adds KeyChangeEventsInterval="500" 

VSNET-236 Enhancement Low Trivial Visual Studio Designers

Make Timer more visible on design page 

VSNET-216 Bug High Major Visual Studio Integration

Visual Studio 2008 SP1 doesn't fill toolbox during installation 

VSNET-207 Bug Medium Major Visual Studio Designers

Issues with designers in Visual Studio 2008 SP1 

SETUP-99 Bug Low Minor Setup

License Activator is not stable 

SETUP-165 Bug Low Trivial Setup

Detect VS.NET localization 

SETUP-212 Bug Low Trivial Setup

Statement in full setup is wrong 

GAIA-237 Bug Low Trivial DateTimePicker

DateTimePicker Close button related style issue 

WEB-98 Enhancement Medium Trivial Samples

Remove or change the large pictures used in DynamicImage 

GAIA-211 Bug High Show Stopper Panel, Window

Close window and visible=false on e.g Panel makes error in IE8 BETA 

GAIA-229 Bug Medium Minor ImageButton

ImageButton postback issue in Mono 

SETUP-196 Bug Low Trivial Setup

Browse on setup only gives you Program files and children as options 

GAIA-209 Bug Low Trivial Calendar

Close button on Calendar must be visble false initially 

GAIA-213 Bug High Show Stopper RadioButtonList

Bug in RadioButtonList when changing in Page_Load 

GAIA-215 Bug High Show Stopper Gaia.Ajax.Core

Dynamic Controls State Management 

Tags:

Gaia | Release