We've been spending a lot of times looking at performance for one of our enterprise customers. As part of the investigation he came up with an interesting and very important find... He found that
hashMap.get("String") was much slower under the new VM than under the old VM. Its these sort of "simple" finds that help narrow down bigger issues in performance that might impact a lot of things in Codename One, since HashMap is so ubiquitous the implications of improving it can be huge.
We are in the process of migrating the storage implementation from App Engine to Amazons S3 storage as part of our bigger migration away from App Engine. If you experience issues related to build results please let us know so we can iron out potential regressions.
We are deploying this change in a way that makes it very easy to toggle this on/off and in case S3 builds prove to be an issue we will be able to revert them quickly.
Notice that the synchronous build feature is an enterprise only feature since its overuse can have a very heavy toll on our servers.
Google has just announced that it is deprecating cloud storage and effectively a major part of App Engine that we are relying on. To make matters worse the window of time to its removal is quite short so we don't have enough time to rewrite and adapt all the various API's and tools that rely on this API.
We have already started the process of migrating off App Engine completely both due to rising costs and Googles horrible service/support. This will also allow us to finally support many long standing user requests such as more powerful push API's etc. since we will no longer be held back by App Engines limitations.
Our build servers are really fast, even if your laptop is relatively slow our iOS build servers are powerful machines equipped with fast SSD's and they generate a full clean build of a typical app (with screenshots etc.) in a couple of minutes!
So the real source of delay when building an app is size, it both slows the build but most of all it slows your upload process (upload is typically much slower than download). Reducing the size of your app will make it faster in runtime as well, e.g. if you have too many redundant resources you might be running into too many GC cycles slowing down execution. In this post we provide some tips to shrink your app size.
With the release of 3.0 we were overwhelmed with a lot of last minute features and improvements. It seems that we neglected to mention a lot of features that made it into the final 3.0 product.
One of the nicest new features is a set of new flat themes with various colors in the designer and the project wizard. We found that a lot of developers prefer themes with more control over the look, themes that look more similar across platform yet have a more modern "flat" feel.
Our pricing has been inconsistent with the rest of the industry for quite some time specifically the price of the basic subscription which is a losing tier. Based on Industry norms the basic subscription should be far more expensive and doesn't come close to covering the costs of running Codename One's extensive cloud infrastructure. So on June 1st we will raise the price of the basic subscription to 19USD which is still very affordable. Notice that if you are a current subscriber or sign up before June 1st you can keep paying at the 9USD rate!
However, if you let your subscription lapse we will not be able to recover it and you would need to switch to the 19USD level...
Our iOS port has some pieces that are pretty old and haven't been touched since we started, one of those things is the IO code which mostly works as we wrote it when we started Codename One. Unfortunately it seems that Storage in iOS is mapped to the iOS caches directory, this directory can be wiped by the iOS device if space on the device is running low. That's a very rare occurrence which is why we didn't pick that up until a bug report was filed on it this week...Read More