I deeply care about what we do at Codename One and writing a negative post even when the words aren't mine is difficult. I think one of the most valuable thing about an open project is honesty and open communications even when that's unpleasant, without open criticism we can't get better.
Chen recently sent out a request to fill out our survey via direct mail and responses came streaming in. Added to the guys who filled it out after our previous blog post we got a lot of additional valuable feedback. We can't satisfy everyone and we shouldn't aim to, however developers who spent time answering our survey probably like the basic concept of Codename One and should be happy. Most of them by a good margin (over 90%) are happy, but its only a good margin not a great margin and in this post I'd like to hash up the problems.
I had a big post ready for today but after a long twitter debate with @BrendanEich I had to write a followup as twitter is a poor medium for that level of debate.
This started with a blog post from Andreas Gal who effectively took the exact opposite stance to mine on Google's move to OpenJDK.
Then Mr. Eich picked it up...
I think we'll remember 2015 as the year we finally "hit our stride" and "got it". Up until now we did a lot of things correctly but were a bit disorganized both in the way we communicated Codename One and in the refinement of the product itself.
We changed and refined almost every piece of Codename One in 2015 and the results were great. But we want to do better so here is my analysis of what we did wrong (both in 2015 and before) and what we did right. Followed by the initial survey results and feedback from we got from you guys and our 2016 direction.
I've been following the news breaking since yesterday as a hacker news post highlighted that an Android commit included OpenJDK files. This is amazing news and a huge step forward for Java, its still unclear if this is just another move or the inkling of a settlement between Google and Oracle but I'm very hopeful that this is indeed a settlement. So far Google wouldn't comment on the court case and whether it was settled since its still ongoing.Read More
We released a new version of the introducing Codename One video almost a month ago but we just neglected to highlight it in the blog. Our old videos are pretty dated by now and we use far better toolchains for video production today, so we are in the process of redoing all our old videos. This is a long and tedious process that we do while producing newer content, fixes and moving forward. So the timeline of such updates is quite volatile. Check out the new video below.Read More
Historically, we didn't use Androids profiling tools often. They were pretty awful and the only tools that we really used extensively were the on-device GPU profiling tools which were reasonably good. In recent years Android's native story improved by leaps and bounds with the introduction of Android Studio and 3rd party tools developing native Android apps has improved a lot. But the CPU profiling tools are still stuck in the stone age and this is in stark contrast to the iOS tooling.Read More
Steve has implemented one of our long time RFE's: Async editing in Android. This effectively means that the Android keyboard will behave as it does in iOS and won't fold/open as you move between text fields. It will also remain open as you scroll the screen and won't resize the UI as it opens!
As you can imagine this is a huge change so it is currently off by default but we will flip the change sometime next week to be the default.
We committed a major somewhat revolutionary change to how layout animations and the basic component tree work in Codename One. This is important to understand since it changes the very nature of how we expect components to behave in Codename One. This also allows us to create some pretty spectacular effects such as the ones in the title above.Read More
We wrote quite a bit about the architecture of the new VM we built for iOS and why we built it. Up until recently we always viewed it as a Codename One specific tool. Something that would only be useful for us. We used open source because "that is our way" and didn't give it much thought after that.
It started to dawn on us recently that this tool could be useful for other developers that might take it in a different direction from our original intention. We also came to the conclusion that this might not be a bad idea altogether.
So we are are effectively launching the Codename One VM as ParparVM and it includes a lot of interesting benefits.
I've written open source software since the 90's both for my own projects and for Sun Microsystems. When we founded Codename One open source was the only option!
We didn't choose open source with the goal of receiving code contributions. Contributions are pretty rare even in highly visible projects. We saw the true benefits of open source for a project like Codename One: trust.