Static Garbage & Lollipop

Post Image

As we wrote before our new Garbage Collector is designed for amazing speed an never locks, this worked really well for most cases but we started running into weird crashes that took us deep into the seemingly simple GC code and exposed flaw in our "no locking" approach. It seems that our assumption that we can just mark all the static objects was f...

Read More

Don't Block The UI

Post Image

I've talked with many end users about their badly written apps grievances and I've come to the conclusion that it isn't a matter of native vs. cross platform or even HTML. Its a frustration issue, driven by unintuitive apps (hidden gestures etc.) and slow performance. The slow performance bit is the most misunderstood, there is a "feeling" of slug...

Read More
Post Image

CallSerially The EDT & InvokeAndBlock (Part 2) 

The last time we talked about the EDT we covered some of the basic ideas, such as call serially etc. We left out two major concepts that are somewhat more advanced. Invoke And Block When we write typical code in Java we like that code to be in sequence as such: doOperationA(); doOperationB(); doOperationC(); This works well normally but on the E...

Read More

Side Swipe

Post Image

Chen's been busy with some customers on a feature that is often requested: mailbox like swipes. This effectively allows you to swipe a component to the side in order to reveal capabilities underneath e.g. edit, delete etc. Using this capability is really trivial just use something like a a MultiButton and place it in a SwipeableContainer with the...

Read More

Admob Interstitial Ads & Supertabs

Post Image

Ram (the developer of yhomework), wanted to improve his ad revenue on Android/iOS thru interstitial (full screen) ads and integrated those using native interfaces. Kindly enough he contributed these changes back and Chen packaged this as a cn1lib which you can now easily use to add support for full screen ads to your Android/iOS apps. On a differ...

Read More

Mighty Morphing Components

Post Image

One of the nice effects in the Android material design is the morphing effect where an element from the previous form (activity) animates to become a different component on a new activity. We've had a morph effect in the Container class since the original beta of Codename One but it didn't work as a transition between forms and didn't allow for mul...

Read More

64 bit & OSS VM

Post Image

Apple Just announced they will mandate 64 bit for all new submissions starting February 2015, luckily we are very prepared for that and we already support 64 bit builds in our new VM. This is a huge triumph for the architecture of our new VM which is very resilient to changes Apple might make in the future thanks to its pure C architecture. Our o...

Read More
Post Image

CallSerially The EDT & InvokeAndBlock (Part 1)

We last explained some of the concepts behind the EDT in 2008 so its high time we wrote about it again, there is a section about it in the developer guide as well as in the courses on Udemy but since this is the most important thing to understand in Codename One it bares repeating. One of the nice things about the EDT is that many of the concepts ...

Read More

Migrating To Androids In-App-Purchase 3.0

Post Image

Updated: Originally this article referred to a system based on Display.setProperty for distinguishing consumable types. This turned out to be an issue in beta testing and was replaced with either a naming convention or build argument. Google announced a couple of weeks ago that Android's In App Purchase 2.x API will be retired soon and all code sh...

Read More
Post Image

JavaOne Booth, iOS 8 Issues & More

I just published a LinkedIn article discussing the financials of a JavaOne booth, if you are a startup/vendor looking at conference booths I hope this provides some much needed transparency. I know that when we researched the issue the lack of information was very problematic. iOS 8 introduced a few regressions into Codename One which should now b...

Read More