Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

11 May 2010

First Impressions Of Ubuntu 10.04

With the arrival of Ubuntu 10.04 LTS this is the most important Ubuntu release in years. LTS releases only come once every 2 years so a release like this can either make or break Ubuntu's reputation amongst users. I have decided to do a fresh install of Ubuntu in order to eliminate all problems that result from doing an upgrade, and to properly assess the Ubuntu experience.

For existing Ubuntu users the first thing you will notice when booting off the Ubuntu CD is that the live environment is started straight away. The existing CD menu is now hidden which means you will have to press a key before the CD loads into the live environment. There should be a text message that is displayed informing users that they can show additional options for the CD before it loads.

Once the live environment is loaded I found that the installer wouldn't startup (saw an error message). However when I manually started up the installer it worked fine. No major changes were made to the installer compared to previous versions of Ubuntu. Installation of the OS was quick and easy. With the first startup of Ubuntu 10.04 an error message appeared (on a black screen) which isn't a good look. Although it was not a critical error it shouldn't have been displayed at all. Canonical have had ample time to fix the issue since Ubuntu 8.04.

Last time I had done a fresh install of Ubuntu I had to battle with getting the display setup properly, which meant manually creating a configuration file, and playing Russian roulette with obtaining a working display. No user should ever have to endure this, luckily with 10.04 the display was properly setup which meant no more display headaches. Also for the first time with Ubuntu the highest resolution was selected which is a big plus, and there was no need to edit/create a configuration file. An additional bonus was the fact that desktop effects worked properly for the first time after I had installed the Nvidia driver.

Setting up wireless networking and the printer was a breeze, which meant I could start printing some documents straight away. As for sound there are still some serious performance issues which should have been addressed after the release of Ubuntu 9.10. The last Ubuntu LTS release (8.04) didn't have these issues at all despite using the Pulse Audio system for sound. Canonical will need to address the sound basics urgently if it wishes to get musicians/sound professionals on board.

Performance has been greatly improved with very quick startup and shutdown times. On the downside with my PC I experienced slow logins which appeared to be frozen for a moment even though they weren't. A new look 'n feel has been used which makes it easier to see what windows/applications are selected, easier to read text, and more visually appealing. However the window buttons have been moved to left hand side which is a very bad design decision considering existing users, which are used to seeing the buttons on the right.

For some reason the keyboard shortcuts are no longer displayed which is another very bad design decision. Once again Canonical are not considering their existing users. Remember it is much cheaper to retain existing users rather than attract new ones. As for applications Gimp has been replaced with Open Office Draw and a basic video editor has been added (called Pitivi). What is missing now is a basic backup application.

The Ubuntu Software Centre has been enhanced with the ability to see software provided by Ubuntu, or from Canonical's partners. Some software categories now have sub categories and installation of software is more accessible. Social networking features have been integrated into Ubuntu which is a first for an OS. Although social networking is not of particular interest to me other users will greatly benefit from have social networking done in a single place.

Overall Canonical have done a reasonably good job with the current Ubuntu release but clearly have a bit of work to do with sound and login performance, startup presentation, and the look 'n feel. It is quite clear that this a benchmark Ubuntu release which will really attract new users, however existing users are being left a bit neglected by Canonical.

09 November 2009

First Impressions Of Ubuntu 9.10

Lately you might have noticed that I haven't made a post for quite some time. The reason for the delay is because of some mysterious display problems with the previous version of Ubuntu (8.04 LTS) that I used. Eventually the problems reached a point where the OS had to be reinstalled, and it was a great opportunity to make a clean install of Ubuntu 9.10. After all with the glowing reviews of the OS hitting the web I thought that it would be reasonably smooth sailing with getting the current version of Ubuntu installed.


Display Woes

Smooth sailing wasn't to be the case with the live CD failing to display anything at all. In order to get something displayed the resolution was changed through the use of two keyboard shortcuts (Ctrl+Alt++, Ctrl+Alt+-). Normally most people (non technical) would give up at this point so Ubuntu was not making a good impression so far. At that point the installer could then be started.

Luckily the install went very smoothly and after a reboot everything seemed to be going fine until.... more problems occurred. Once EnvyNG (video driver management for ATI and NVidia video cards) was installed I had tried to run it but to no avail. It turns out that one has to install the envyng-qt package since envyng-gtk is broken. After a reboot the display was showing the CLI login prompt which was flickering for some strange reason.

When I tried entering in the username no characters were being displayed at all. This happened to be one of the most irritating parts of installing and setting up Ubuntu since many people (who have an ATI or NVidia video card) were having the exact same issue, and it took a long time to resolve (a matter of hours). Even worse was the fact that the Nvidia driver package is currently broken thus there is no GUI login being displayed.

Once the NVidia drivers were installed using the version supplied on the official NVidia website some progress was finally being made. Not all the display issues had been resolved yet since not all of the resolutions were being picked up properly. This part took the longest amount of time to resolve through trial and error with editing /etc/X11/xorg.conf. In my case I had eventually reached the point where I had to put up with the resolutions that the NVidia driver had picked up. Luckily after commenting out the "HorizSync" and "VertRefresh" lines in the monitor section, and logging in again all of the resolutions were then picked up properly.


What Is New And Different
  • Many packages in the Ubuntu repositories have been updated including NetBeans, and the Sun JRE (Java runtime)
  • Firefox is now at version 3.5.4
  • Open Office is now at version 3.1.1
  • Gnome is now at version 2.28.1
  • Vastly improved general performance (start up times are so quick that they rival the Hibernate mode)
  • The new Palimpsest Disk Utility 2.28.0 has been included, more details to follow
  • Introduction of the new Ubuntu One service, more details to follow
  • Default option to use the new ext4 file system when partitioning
  • Linux kernel is now at version 2.6.31-14

What is most notable about the current Ubuntu release is the introduction of the brand new Ubuntu One service. Ubuntu One allows contacts, notes, and files (2GB free storage) to be synchronised with one or more Ubuntu (9.10 or later) PCs. Initially when I logged into the service (via Firefox) a message was displayed saying there was a version mismatch with the server. An OS update quickly resolved the problem with updating the Ubuntu One desktop client to handle the current server.

I would advise anyone who is using Ubuntu One on Ubuntu to use Nautilus (file browser) when uploading a batch of files, since the web client is slow and produces errors every time a file is uploaded. With the desktop client you can add directories and files to the Ubuntu One directory. For example with the joe user this is located in "/home/joe/Ubuntu One". Every time you add or remove a directory and/or file the client automatically synchronises the changes whenever your computer is connected with the service.


Another notable change in Ubuntu is the new Palimpsest Disk Utility. Palimpest manages disk partitions, and provides very handy diagnostic information on partitions and all storage devices. It is absolutely amazing what you can find out using this handy utility. For example one can find out about the current airflow temperature for a particular storage device, and can see what the normal temperature is supposed to be. Also Palimpest automatically notifies the OS if there are any major problems, and can perform some tests on the user's behalf for a particular storage device.


One other major change is the brand new refreshing Ubuntu look. This look reminds me of the JavaFX look, classy, legible, and visually appealing which doesn't take up too much screen real estate (netbook friendly).


Lastly Ubuntu's Add Software has been replaced with the new Ubuntu Software Center. When using the software center you can no longer install/uninstall a group of software at once, and more details are provided for each piece of software (including a screenshot, package name and version etc). Installation and uninstallation of software is now handled in the same window used to browse software, and one can swap between "Get Free Software" and "Installed Software" tabs with navigation being remembered with "Get Free Software".


Current Issues


Sound performance in my case is much worse than in Ubuntu 8.04. There is a very noticeable sound lag (consistent) which wasn't present before. Hopefully this will be resolved in the next batch of OS updates. Wireless networking is now a bit of hit or miss. It used to be in Ubuntu 8.04 that if the IP address was not picked up through DHCP the first time, then the second attempt would always pick up an address. However with Ubuntu 9.10 I usually have to restart the wireless router in order for an IP address to be obtained properly. Again the next batch of OS updates should resolve this.


Conclusion

For people who have an ATI or NVidia video card in their machine, and are currently thinking of installing Ubuntu 9.10 are advised to hold off until Ubuntu 10.04 LTS arrives. The reason for this is because 10.04 is a long term support release which is supposed to be much more robust for hardware support, and OS stability. If your machine contains an Intel video card then 9.10 is for you since many improvements have been made with supporting Intel video cards out of the box.

03 August 2009

JavaFX 1.2 On Linux (Update)


Much to my surprise after performing some recent Ubuntu updates Java Web Start suddenly works again. I suspect it may be related to the GNU Java package, which was promptly uninstalled after experiencing problems compiling Java projects in NetBeans. By chance another attempt was made to run a JavaFX application through Web Start which worked perfectly without problems.

For those of you running JavaFX applications on Linux I would highly recommend you run them through Web Start. The reason for this recommendation is that the applet plugin for Firefox needs to become more robust. That is applets need to start without freezing the web browser, and more detailed feedback needs to be provided on the applet's loading progress (including the downloading of required resources). At least with Web Start you obtain a reasonably good level of feedback with the loading progress of an application, and if the application freezes then nothing else will be directly affected.

On the good news the Java Mobile 3 SDK is in the works for Linux. There is a screenshot of the SDK in action with one of the mobile emulators running via NetBeans. At the moment the JavaFX Authoring tool (for designers only) is currently in development. This tool will allow JavaFX applications to be designed visually (including the animations and bindings). It is a shame that the tool is not being targeted towards JavaFX developers since much of what was demoed at JavaOne 2009 is exactly what developers will be involved in doing daily. Certainly one would expect that the tool will be available on Linux since it is written in a mixture of Java and JavaFX. Details are currently sketchy on the tool but expect to hear more about the tool as soon as its released (as a stable version) at the same time JavaFX 2.0 (codename SoMa?) is released towards the end of this year.

I am predicting that if the JavaFX developers needs are met by the JavaFX authoring tool then they will be using it regularly. Not ideal unless there is a similar tool being released at exactly the same time for developers. In the worst case scenario the tool would need to satisfy the following developer requirements:

  1. Allow assets (resources) to be accessed and stored through local storage (eg hard disk, USB key)
  2. Generate fx source files for the view that are loosely coupled from the controller and model
  3. The generated fx source files for the view must be easily customised by the developer, but must be readable in the tool after being customized
  4. Be directly integrated with a set of usable mobile emulators that support all of the required JavaFX mobile APIs (including the set of APIs that make up the Mobile Services Architecture JSR)
  5. Have "Matisse" like visual layout (a real must for custom dynamic layout)
  6. Can easily add additional visual (and non visual) JavaFX controls to the control palette without writing any extra code just like in NetBeans
  7. Customized visual binding via scripting (through JavaFX script)
  8. Automate the tool through visual macros that can be customized at the code level (Scala is a possible candidate here)

If anyone has any ideas on what to include in the list please include it in the comments for this post.

04 June 2009

JavaFX 1.2 On Linux

Yesterday I had an excellent opportunity to give JavaFX 1.2 a spin on Ubuntu Linux (8.04 LTS - Desktop Edition). A 30 Kbps ADSL connection is used as the Internet Connection. All performance figures are informal and will greatly differ between Linux desktops. Some additional media codecs have been installed, which provide support for additional media file formats (including WMV and WMA) for GStreamer in Linux.

Before installing the JavaFX 1.2 SDK I installed JDK 1.6 (Update 14) which is a requirement for the JavaFX SDK. However the Java browser plugin had to be configured afterwards for Firefox, which is not as difficult as many might think it is. It is as simple as creating a link in Firefox's profile folder that points to the plugin itself. Do note that it is highly recommended that you setup the JDK_HOME and JAVA_HOME environment variables. After installing and configuring the JDK a test was in order to see if the browser plugin was properly functioning, which I can safely say passed with flying colours. You will need to have the Java browser plugin working in order to run most of the sample JavaFX applets on the official JavaFX site.

Installation of the JavaFX 1.2 SDK went smoothly, it was a matter of running the shell setup script and moving the SDK folder to the correct location. What I was most impressed with in terms of installation was the NetBeans IDE (with built-in JavaFX support). The experience was totally seamless, even the JDK was picked up by the IDE's installer and the JavaFX SDK was already included with the IDE. Right from the start of starting up the IDE I was able to create and run a JavaFX application in 15 minutes which included basic multimedia support.

In terms of multimedia support on Linux as many Linux users will know, is a hit and miss affair. When it came to testing multimedia support with JavaFX was was pleasantly surprised with the experience, since it had exceeded all my expectations. The following media formats that I had tested with my own JavaFX application work out of the box:

  • WMV (WMA has not been tested but is most likely to work)
  • MP4
  • OGG
  • FLV

Only the MP3 media format did not work as expected. During the first 3 seconds of playing an MP3 file everything sounded fine until stuttering occured. JavaFX has a built-in events to handle the stuttering effect. I have not used the event (inside the application) in light of the problem with the MP3 file. What I found strange is that on the official JavaFX site the JavaFX media player is used on Windows to play the videos, but on Linux I am forced to use the Flash media player. This appears to be due to the faulty platform detection code because I saw the following message on the web page, "Note: you have reached this page because you are on a platform not currently supported by JavaFX. If you think you have reached this page in error, please click here.".

The biggest highlight on the JavaFX SDK release for Linux has to be the performance, which is absolutely outstanding. From running applets to desktop applications I hardly noticed any pauses or freezes while the programs were running. My hat goes off to Sun for this since this is certainly one area where JavaFX can not only get ahead of other competitors, but also increase adoption by developers.

I personally decided to stress test the Java browser plugin by running 10 JavaFX applets (from the Samples section of the official JavaFX site) simultaneously. Most users will not run that many applets at once, however it is still useful to see how performance and stability fares when multiple applets are running. Firefox did not crash once when all ten applets were running and the reserved memory usage for the plugin (java_vm process) was not too bad at 153.2 MB. On average 15.32 MB is reserved for each applet. What needs to be done in memory usage though is to have memory released as soon as an applets exits (the Windows version already has this capability).

Now comes the part where many people will shudder (including me) at the thought of starting up/launching applets. In the past this has been a real archiles heel for Java desktop applications. I can proudly say after testing start times for applets (in the Samples section on the official JavaFX site) that startups are MUCH faster. In the worst case one applet took 14 seconds to startup. On the opposite side of the coin there were quite a few applets that took no longer than 3 seconds (there were even ones that only took a second!).

Upon attempting to run all sample applets (on the official JavaFX site) I found that most applets would startup and run properly. Here are following samples that do not run properly:

  • Draggable MP3 Player (cannot play any MP3 music and cannot drag applet out of the web browser)
  • Keystroke Motion (applet does nothing when applet is selected and keys are entered)
  • Video Cube (refuses to play an FLV file whic)

The biggest downside for the deployment of JavaFX applets is that some of them totally freeze the web browser while starting up. If you are a user then you would totally be intimidated by this to the point where you would avoid any websites that freeze the web browser. The freezing normally occurs for no more than 3 seconds for most applets. This freezing has to be resolved in time for the next update of the JRE for Linux. By that time JavaFX developers will be ready to test deployment of applets.

As for awful surprises all JavaFX applications that I have launched through Java Web Start fail to start up at all. All of these failures have once thing in common, the MalformedURLException is displayed as the root cause of the failure. Java Web Start was not broken like this in previous releases of the JRE for Linux. It will certainly be a top priority to fix Java Web Start for Linux in time for the next release of the JRE.

Integration of JavaFX applications with the OS is a real plus. I can copy and paste text to and from a JavaFX Text Box, I can even copy and paste text via drag and drop. Do note that text cannot be selected by word with the keyboard or mouse. Creating full screen applications does not currently work properly (the title bar is missing). Maximizing and minimizing the application works as expected.

For some reason media streaming is hit and miss with the Media Box sample (on official JavaFX site). During the first few seconds of playing the video the sound plays just fine before it cuts out. The Video Cube sample fails to play the FLV file (a MediaUnsupportedException is displayed in the message) even though it is playable in my JavaFX desktop application.

Overall I would highly recommend the JavaFX SDK for software developers that are using Linux despite that fact that Sun has classified the SDK as being in Beta. In my opinion I consider the SDK to be a release candidate, but that is up for debate by other developers. Despite the deployment situation being bad developers can very comfortably create JavaFX applications right away. In the mean time look out for the next update of the JRE which should improve deployment from being bad to not too bad. By that time you can safely test the deployment of JavaFX applications.

JavaFX 1.2 is a HUGE step forward which should help with its adoption, and advocacy even though it is a little bit behind its competitors in some areas (deployment, UI building), but ahead in others (performance, component architecture, binding, cross platform support). It is very good to see JavaFX rapidly catching up to its competitors, and that Larry Ellison is extremely enthusiastic about it, to the point where he is prepared to make a full commitment (this includes development). Now it would be nice to see a SVG to FXM converter (many people are using Inkscape as an open source alternative to Photoshop - this is starting to become common place with JavaFX) with the next JavaFX SDK release, and the GUI designer which I am VERY eager to try out.

A note to Sun about support for developing JavaFX mobile applications on Linux. Linux has a very large presence in the mobile development area. Since the first versions of the CDLC and CDC SDKs (before they were rolled into the JME SDK) there has been solid support for Linux. It is very disappointing to see that there is hardly any support for Linux with the JavaFX SDK on the mobile side. Also there is no JME SDK (version 3) for Linux. I am expecting that there will be an actual JavaFX mobile emulator, as well as a release of JME SDK (version 3) for Linux by the time the next JavaFX SDK is released.

While JavaFX mobile applications can be developed on Linux (in theory) there is no way to properly test and deploy them on a mobile emulator, or mobile device. Considering that JavaFX is going to shake up the mobile development scene for the better, would it not make sense to provide a good level of support for Linux in order to have widespread adoption?