01 April 2014

JavaME 8 SDK Supports Linux

Have received some excellent news regarding JavaME 8 Embedded support for Linux. In previous versions of JavaME support for Linux was dropped for the SDK with no particular reason given as to why. Now support for Linux is coming starting with the JavaME 8 SDK, which will likely arrive in around 3 months time. Typical policy with release dates on Oracle products and services is that no specific release dates can be given. The SDK could take much longer to arrive than expected.

In the JavaME 8 SDK for Linux two emulators will be included for developing/testing embedded programs. One for Raspberry Pi and the other for the Beaglebone Black. Sharp eyed readers may have spotted the new support for the Beaglebone Black that has been a long time coming. While the Raspberry Pi is OK for basic embedded projects there are many projects that require more comprehensive hardware, which the Raspberry Pi lacks (eg reasonable number of GPIO pins, advanced power management support, internal storage).

Coincidentally at around the same time important announcements are being made by the Beaglebone Foundation on programming language support for the Beaglebone Black. JavaScript support will be dropped in favour of Python and Java. This has been a long time coming since many developers were very unhappy with the current language support. Especially for a language like JavaScript which only works effectively for Web Applications. Many developers were already doing projects written in Python instead of JavaScript which placed the foundation in a very embarrassing position.

For some time the foundation has been going against the needs of developers by forcing them to create programs using JavaScript that has a dependency on the Internet. Many developers found this unacceptable since most of the projects they were developing needed to be fast, run for long periods of time, and have good low level hardware support. The announcement can't come soon enough since many of the developers were switching to the Raspberry Pi even though it wasn't the best solution for their embedded projects.

Can't wait to see what can be created using the Beaglebone Black, and JavaME 8 Embedded. Looking forward to creating a basic weather station as my first venture into embedded development. For those that are too impatient to wait the the stable JavaME 8 SDK to arrive (with Linux support) there is a preview version coming that will arrive in a few weeks, so hold tight a while longer.

23 January 2014

Linux Mint Switch

Been using Ubuntu for over a decade, however Canonical have made some controversial decisions that have caused me to seriously look at making the switch to an alternative Linux distribution. Canonical started making some of these bad decisions with Ubuntu 12.04. Unity had made its debut and I was prepared to give it a fair spin before passing judgement. Many Ubuntu users greatly disliked Unity with a vengeance.

After using Unity for at least a month I had experienced many of the problems that users experienced. For starters it was very difficult and time consuming to launch programs through a dizzying array of filters that had to be applied, otherwise every program would be shown, or not at all. One essential requirement for a desktop is to allow some customisation to suit a users needs. Customising Unity wasn't possible in any shape or form. No program was provided to do this.

What really provided grief was the Houdini global menu system that every installed program had to support, provided it had menus. If a window had a menu bar then the menus would be hidden at the very top. You would need to be aware that the program provides menus. Also accessing a menu is an exercise in frustration with ensuring the mouse pointer is in exactly the right place to make the menu bar appear.

To make matters worse the performance of Unity was downright sluggish (eg too much CPU used when moving a window, slow to startup), and windows would be garbled in a multi-monitor setup with some computers. Programs couldn't be made to show full screen. On one computer Unity would crash regularly. Unity certainly wasn't what I would call a production ready desktop with its major usability, stability and performance problems.

Not everything about Unity was a bad experience. Liked having a bar where you could quickly and easily see/select running programs by their icon, which is much nicer than the traditional taskbar approach when you have many programs running. Easy to logout, shutdown etc from the same place as in previous versions of Ubuntu. Unity is very aesthetically pleasing to look at, which looks as though it has been done by professional Graphics Designers.

Currently I have been using Gnome Shell (version 3.4) as a replacement to Unity which is working out well for me despite having to install some extensions to sort out all the major issues. The performance, stability, and the sane UI (User Interface) of Gnome Shell have been exactly what I was after but didn't get with Unity. To top it all off Gnome Shell has a professional/sleek look about it. Unfortunately the recent versions of Gnome Shell have made a habit of removing useful features, and have stuffed up existing ones making the UI volatile. The program launcher is a good example of this.

Had the experience of trying out the Cinnamon desktop with Linux Mint (version 13). So far I have been impressed with the fact that the desktop brings out the best of the old and new desktops in a way that makes it modern without being slow, difficult to use, and unstable. Although Cinnamon has its own issues just like any other desktop it is improving at a good pace without providing a Faulty Tower UI. Looking forward to the next set of improvements made with Cinnamon.

Canonical's recent efforts to focus on the mobile side with Ubuntu Touch, and rolling out their own unproven technologies which duplicates existing ones has given great cause for concern. There is a lack of focus on the desktop side for Ubuntu as can be seen with Unity and Mir as examples. While I realise that the GUI system (X Windows) needs an overhaul there is already a replacement that is getting close to being production ready (Wayland). Mir was created by Canonical out of a disagreement with what Wayland was doing. Very ironic that Mir is essentially doing many things the same way/similar as Wayland, what a wasted effort! Compatibility of existing/legacy programs remains up in the air with Mir. No wonder users are leaving Ubuntu in droves.

If Canonical continue to ignore their customers then more of them will switch to alternatives. Seriously pondering making the switch to Linux Mint (version 17) in order to get a sane UI that is production ready (fast and stable). With the way things are going with Ubuntu I don't have much confidence that Canonical will dramatically turn things around in time for Ubuntu 14.04.