There have been a lot of popular new devices introduced in the last year, so it’s a good time to refresh the device simulator with some new skins. The following skins are now available in the Vase API project:
BlackBerry 10 Simulators
NOTE: The initial support for BlackBerry 10 in Codename One will be using the Android 2.3 Runtime. For this reason, the following BlackBerry skins will be detected as Android devices, and use the Android gingerbread theme and fonts.
The BlackBerry 10 devices are completely gesture driven, there are no physical/virtual navigation buttons as seen on all other platforms. To open the menu on BlackBerry, you would normally swipe down from the top bezel – in the simulator, touching the top bezel will open the menu. When the menu is open in the physical Android runtime, an Android-specific ‘back button’ appears in the bottom left of the screen – in the Simulator, touching the bottom left bezel will trigger a Back event.
BlackBerry’s latest full-touch smartphone running the new BlackBerry 10 OS, 1280 x 768 resolution, 356ppi pixel density, 4.2″ diagonal, dual core 1.5Ghz TI OMAP 4470, 2G RAM.
BlackBerry’s first tablet, the Playbook, running BlackBerry Tablet OS 2.1 at the time of this writing, but soon to be running BlackBerry 10. 1024 x 600 resolution, 170ppi pixel density, 7″ diagonal, dual core 1.0Ghz (WiFi version) or 1.5Ghz (LTE version) Cortex-A9 TI OMAP 4430, 1G RAM. (I recently picked up a 32G playbook for $100)
The HTC One simulator will be the first Ultra HD smartphone skin available for Codename One. I’ll have to update these images shortly, a couple bugs in Codename One related to this high resolution have been recently fixed.
Nokia recently announced their 2012Q4 numbers, and it included a staggering 80 million S40 devices, including 9.3 million full-touch Asha devices shipped in that quarter alone, versus only 4.4 million Lumia devices, in the quarter the Lumia was first released. The same report also shows that S40 popularity does not reflect true in North America. The Asha’s popularity can be attributed to the smartphone-like features at an affordable price point without carrier subsidies/lock-in.
Nokia Asha 311, one model in Nokia’s popular Asha 300 series of S40 devices, this simulator is suitable for testing the Asha 305 through 311, all of which have identical display characteristics. Nokia OS S40 Developer Platform 2.0, 240×400 resolution, 155ppi pixel density, 3.0″ full-touch screen, 1Ghz ARM11 processor (a couple models use a 800 Mhz processor).
Nokia C3-01 is one of Nokia’s “Type and touch” models, it features both a numeric keypad and resistive touch screen. A couple surprising bonus features – it has WLAN B/G/N and a 1Ghz (model RM-776) or 680Mhz (model RM-640) processor . Nokia S40 OS 6th edition, feature pack 1, 320×240 resolution, 167ppi pixel density, 2.4″ resistive touch screen, 128M/64M RAM (I recently picked up the RM-640 model for $25).
Nokia finally announced the death of Symbian today… my last smartphone was a Symbian S60 based Nokia E71. I was very fond of it, and still use it for development today. A few things that surprised me from today’s articles (such as this one):
Symbian wasn’t already dead
S40 is not a Symbian-based OS (Symbian S60 caused this confusion for me).
The last Symbian device released (808 PureView) had a whopping 41 megapixel camera
Nokia shipped 80 million (!!) S40-based devices in Q4 of 2012
Nokia shipped 9.3 million Asha S40 devices in Q4 of 2012, which is twice as many Lumia devices shipped in the same quarter (4.4 million).
3 comments - What do you think? Posted by
Eric Coolman -
January 24, 2013 at 3:49 pm
In the previous post, the sample KML document was one I edited by hand. I could have saved some time by using Google Maps to generate the KML for me. Here’s a quick guide on how to use Google Maps to generate a KML document very similar to the one in the previous demo. Read more…
I’ve added an implementation of a Codename One mapping points layer to the Vase API for populating a map using data from a Keyhole Markup Language (KML) file. Currently only basic KML support is implemented, but I will add better support over time. Play the video below to see some of the supported features in action. Read more…
1 comment - What do you think? Posted by
Eric Coolman -
at 5:46 am
I recently installed some free GPS apps on my Android device, because I wanted offline maps when I’m out of the country. The roaming data charges from my mobile service provider are killer!. Namely, the apps I installed are NavFree world, and NavFree USA edition (I don’t understand the separation). The software is quite impressive, and very professional. My main complaint with NavFree is all the teaser features – where you click a button and it says ‘that’s coming in the next release’. If they were to remove those, the app would appear very feature complete. Read more…
The simulator skins tutorial was quite popular, 57 likes on the first day, wow! I finished up the rest of the skins mentioned in that post, and they can be found in the Vase API SVN. Here’s the current full list, and some screenshot samples:
Uploading files from mobile devices to the cloud requires only a few lines when using Codename One. I’ll demonstrate here by uploading to the webapp created using Spring Roo in the previous post.
The Mime-Types value seen on the webapp side are passed from the mobile app. I’ve added a new MimeTypes utility the Vase API to handle this. It uses the public domain mime-type registry hosted by the Apache httpd project for mapping known file extensions to associated mime type ids. For parsing the mime file, I also implemented a BufferedReader for the Vase API since it’s not available in J2ME.
In a project I’m currently working on, I have a requirement for handling user-uploaded images. The project uses Spring Roo for rapid development of the webapp, and the choice for cloud plaform service provider has been narrowed to either VMWare’s CloudFoundry, Amazon EC2, or Google App Engine. The example in this post should run on CloudFoundry and EC2, but to run on AppEngine, there will be some tweaks required to prevent attempts to access the filesystem. I may revisit this post later to discuss changes required for running on Google AppEngine in more detail.
In this post I will assume the reader is somewhat familiar with Spring Roo, so I won’t be explaining much about Roo itself. To get up to speed, I suggest visiting the Spring Roo website. If you’re already a Spring Roo user, please ensure you’re using the latest version, 1.2.1 at the time of this writing, because some of the features I discuss here where very recently added to Spring Roo. Read more…
2 comments - What do you think? Posted by
Eric Coolman -
May 4, 2012 at 9:36 am