X2O lets you build database-driven Adobe® Flex®, Flash® and JavaScript apps
without any server-side development. This is the blog.
Monday, May 18, 2009
by Ka Wai Cheung
We have several new updates to add to the X2O arsenal. All existing users have been upgraded. Among the changes you'll notice:

  • Don't break me. We've added some tweaks to the generator to reduce the number of generation failures that some of you have been experiencing recently. During peak times, timeout limits were reached on some generations. For now, we've increased those limits to reduce timeout errors.
  • Toggle encrypted responses. When you create or edit a project, you can optionally disable encrypted responses from X2O. Currently, by default, all responses from X2O to your application come back encrypted. While this has a security benefit, it does make your app perform slower. So, if security is not a big issue for you, disable encrypted responses.
  • Small bits. We've updated our validation rules for emails to allow certain characters (like the + sign) through. Previously, this would not be accepted. Also, we fixed a bug involving changing case on existing attributes and entity names.

We hope you enjoy the upgrades!
Friday, May 15, 2009
by Ka Wai Cheung
A lot's changed with X2O since we launched our beta last October. Among the biggest changes is our support of Flash CS4 in November and our implementation of a generated JavaScript library in March.

We felt for many months that the current site didn't tell the story enough. What's the development process feel like? How does X2O actually work behind-the-scenes? We want to be more transparent with you. So, we done relaunched our web site.

All accounts created through signing up with the new web site will have the latest version of X2O running. For existing account members, you'll be getting your X2O account updated early next week. We'll email you more details shortly.
by Ka Wai Cheung
We discovered an X2O bug this morning with case-sensitivity on attributes and entities. The problem appears when you first name an attribute one way (e.g. "BirthDate"), generate your code, then go back later to rename the attribute another way (e.g. birthDate").

If you rename the attribute entirely differently (e.g. "Day I was Born"), X2O will physically remove the "BirthDate" attribute and add a new attribute called "Day I was Born". So, all existing data in the BirthDate attribute will be gone (do be warned!). This is just a fact of how we negotiate database differentials on each generation. Everything will generate successfully.

However, by just changing the case of the attribute, we experienced some weirdness. X2O database tables and columns are case-invariant, so table names and field names aren't changed. Unfortunately, other parts of the generation are case-sensitive. This caused all sorts of unencountered errors (things seemingly not mapping to other things) because some code cared about case and others didn't. There's no denying that this is a somewhat poor mistake in programming 101, but the issue hadn't crept its ugly head until recently. A lesson learned.

We've since fixed this issue in our working version (this will be in the next release which we're scheduling for early next week). Do note, this only occurs when you change case on an existing attribute or entity.
Wednesday, May 6, 2009
by Ka Wai Cheung
A sneak peek at a piece of the X2O site re-design (expected launch date....sometime next week? Likely). Here's the diagram we're using to explain how X2O works under the covers.

Wednesday, April 29, 2009
by Ka Wai Cheung
We've recently noticed an increasing number of generation failures on X2O. Everytime we see this happening in our logs, we've failed you.

In virtually all cases, this is due to X2O timing out on a few of the more process and time-intensive portions of generating (namely, compiling the code into a SWC file and creating the ASDocs site for Flash and Flex).

As a first Band-Aid fix to this problem, we're going to be increasing the allotted time for these processes so we don't run into these time out issues. For a few of you, we've already upgraded X2O to increase these limits. We will likely roll out this fix across all X2O accounts within the next week. As always, we'll continue to look into ways we can make generation more efficient, and release those fixes as they happen.

Additionally, we're looking into better hosting solutions for X2O. We're working with Rackspace (our hosting company) to offer a more scalable solution (perhaps Cloud-based) for X2O.

Finally, look for a revamped-revised-rethoughtout X2O marketing site next week. We want to get a little more granular and transparent with our audience. Here's a sneak peek at what it may look like:


Let us know what you think! Tweet, email, or comment back to us.
Monday, April 20, 2009
by Ka Wai Cheung
This was something I drew to diagram the original version of X2O in February 2007. I wish I had done it on some type of napkin.

Pretty remarkably, we stuck very much to the plan.

Things we abandoned
We abandoned generating any Cairngorm (or Flex application architecture-specific) code because we couldn't find a part of the framework that would benefit from code generation and not be too constraining at the time.

We also abandoned any "scaffold"-like generation on the Flex side, though, this is still somewhere on the backburner.

For a while prior to releasing, we also generated "view" classes for ActionScript. Basically, these were classes that you could link to MovieClips. Each generated view class would contain a corresponding value object. This was sort of a model-view-controller concept without a controller.

Things we added
We added alot of things that couldn't have been envisioned two years ago...

  • Custom methods
  • Generated JavaScript code so you can build HTML/JS based apps without server-side development
  • Encryption of X2O server responses
  • Email and file upload support

...and literally hundreds of other minutae along the way.

Hope you enjoyed this look at our past!
Tuesday, March 31, 2009
by Ka Wai Cheung
Spring is in the air and it's time to crack those proverbial windows and let that clean breeze blow through our dusty abodes. That is - it's time to clean up our servers to keep things running smoothly.

What does that mean to you? For most of you, nothing. For those who have been using X2O to rapidly design and develop their Flash, Flex, or JavaScript-based applications, keep doing what you've been doing.

On the flip side, if you have never generated a project on your account, then your account is at risk of being deleted. If you want to retain your account, you'll just need to generate any project on your account by midnight (your local time) this Thursday, April 2nd. Otherwise, we'll cancel your account for you at 5PM GMT on Friday, April 3rd.

Also, on Friday, we'll be making another upgrade to X2O with a few timely bug fixes, mainly from the great feedback we've gotten from you the past few months. Included in these fixes:

  • We are now dispatching a Fault event on the X2OManager.login()method if there is a connectivity issue with the X2O server. Previously, you'd get no response back.
  • We also fixed an issue with the updateFromVO() method in your generated AS3 value objects. This method wasn't udpating data from related items and collections previously.

As usual, email us at x2oframework@wearemammoth.com if you have any questions or concerns or whether you just want to tell us how great (or not) X2O is!
New to X2O?
Here's how to get started...
Subscribe to our RSS feed


Recent Posts
Previous Months
Also from the makers of X2O