Thanks for answering our questions about what you want in Codename One 1.1, your answers were very interesting and your comments are always helpful. Before getting to the actual results I'd like to cover some of the comments made in some of the responses which I think broadcast that we need to communicate what we have better:
A frequent request is for more ad network integration "AdMob, iAd support and more" we are working on those but getting the agreements through and adapting them is difficult. These two specific networks are specifically difficult, Google is very rigid on AdMob and Apple is worse. We are constantly talking with networks about adding support for them (e.g. Zooz and Startapp which were recently integrated), but this is a time consuming slow process.
A comment asked for: "Lists that require less code to implement." . Did you checkout MultiList? Check out the up to date developer guide which covers them, they are pretty lean and also very easy to work with in the GUI builder.
One poster answered "Fast rendering on iOS (Slow performance on iPad 1 / iOS 5.5.1)" to which I would like to answer that rendering is pretty fast already. If you feel performance is slow a survey isn't the place to say that, use the discussion forum and read the developer guide tips. Mutable images are inherently slow on iOS and drawing most graphics primitives isn't as fast, however image drawing etc. should be pretty fast.
One poster asked for "Debugging on real device directly from Eclipse/Netbeans" which we plan to do in the future and actually have all the pieces in place for this. It would just require quite a major effort from us to actually accomplish this so this isn't planned for 1.1.
We got one request for "Proximity Sensor Support" , I'm guessing that we would have to implement bluetooth, NFC, sockets, motion sensor and only then proximity if at all. There is just too much ground to cover in these things.
Another commenter asked for "Annotations Support to make compilation metaprogramming" . We already support static annotations, dynamic annotations won't be possible on older platforms (which might be fine) but would require some reflection capabilities. Since a mobile application is statically linked runtime annotations might be completely redundant since we know of all classes during compile time, that won't change since we translate bytecode to native. Most of the functionality used by annotations is useful with dynamic loading, I would be interested to hear use cases though so feel free to submit issues with specific cases you would want to enable.
Lets look at the results and then I'll try to interpret them. Feel free to give your own spin in the comments below. The first chart represents the primary feature, listed by rank below.
Windows Phone 8 support 32.56%
Library support 20.93%
New layout managers 9.30%
Continuous integration 6.98%
Improved 2D vector graphics 6.98%
Facebook/Google+ side menu 6.98%
Infinite scroll/pull to refresh 4.65%
Easy web service wizard 2.33%
Theme customizer/colorization tool 2.33%
Charts API (graphs) 2.33%
Everything below this got 0 percent.
The second chart shows the options when picking one of 3 options:
Windows Phone 8 support 17.22%
Library support 16.56%
Charts API (graphs) 9.27%
Improved 2D vector graphics 7.28%
Infinite scroll/pull to refresh 6.62%
New layout managers 6.62%
Facebook/Google+ side menu 5.96%
Continuous integration 5.30%
Theme customizer/colorization tool 5.30%
Automatic device testing 4.64%
Matisse like layout in the GUI builder 3.97%
Easy web service wizard 3.31%
Support Amazon purchase & push API's 2.65%
IntelliJ Idea support 2.65%
Auto complete wizard 1.99%
My interpretation of the data is this:
People want Windows Phone 8 support. We are working on getting it into 1.1.
Library support, again a major requested feature although I'm not sure people understand what it means. This doesn't mean you could take any arbitrary JAR off the internet. We already announced this feature for 1.1 so we are good here.
New layout manager made a surprise showing at the top... I think this generally says people find layout managers difficult and hope we would have a better option. But its very likely a new layout manager will suffer from different set of problems from the current ones. I'd be happy if people who voted for this can post examples of what they would want in the comments.
It surprised me that no one voted for the Matisse like layout manager in the GUI builder. I'm guessing people didn't understand that this meant placing components in arbitrary locations and having it "just work" (sort of).
Continuous integration made a great showing, I really want it as part of 1.1.
I'm guessing most people who voted for improved vector graphics assume this is about performance or maybe SVG support. If I'm wrong about this feel free to correct me in the comments below. I'd like to start some of the work for this and would especially love to add features such as perspective transform.
It surprised me how low bluetooth scored, we will probably not have it for 1.1 either unless we get a code contribution there.
Charts have a really high secondary option position and a really low 1st priority position. I think its an important feature but I'm still undecided since its a VERY complex feature to properly integrate.
Notice: This post was automatically converted using a script from an older blogging system. Some elements might not have come out as intended.... If that is the case please let us know via the comments section below.
Shai is the co-founder of Codename One. He's been a professional programmer for over 25 years. During that time he has worked with dozens of companies including Sun Microsystems. For more follow Shai on Twitter & github.