Sunday, February 28, 2010

What's Up With PCManFM2?

PCMan File ManagerImage via Wikipedia

PCManFM has been a popular replacement for the Nautilus file manager on the GNOME desktop because its light and fast, though still featureful enough to handle automatic mounting of hotplugged drives and other modern advantages. The file manager is probably best known for its placement in LXDE and, by extension, the new Lubuntu. I've written about and praised LXDE many times before for its ability to revive Win2000-era laptops.

Well, Hong Jen Yee has decided that several prominent bugs cannot be solved without a major rewrite of the file manager. He has chosen to break out the basic file management functions into a separate library in order to make embedding into other applications easy.

What are Hong Jen Yee's goals?

  1. Support glib/gio and gvfs but still keep the original performance and memory usage.
    I know many people don't believe this and think using gio/gvfs from gnome will make it slower and heavier. Indeed many program using gio/gvfs/gnome are slow, but trust me our PCManFM won't be one of them. Many people said that GTK+ programs are slow and not lightweight, but as you know, PCManFM already prooved that they are wrong.
  2. Seamless access to remote file systems such as sftp, smb, and ftp (provide by gvfs)
  3. Trash can support (provided by gvfs)
  4. Separate the core functionality to create an independent library named libfm for use in other desktop applications and make it a seperate project
  5. Better drag and drop handling and supports XDS (X direct save)
  6. Smaller code size and better structure
  7. Better compatibility with other programs (Due to use of glib/gio)
  8. Make best use of the new features provided in the latest gtk+
  9. Better desktop and volume management
  10. Use the file manager widgets provided in libfm to replace the default file dialogs in gtk+ by preload the lib with LD_PRELOAD
  11. Gvfs dependency is only optional. If the dependencies of gvfs is not acceptible, we would like to fork gvfs and provide a stripped down version without gnome dependency. (long term goal, low priority)
PCManFM version 2 is still under heavy development but is now available in the Alpha3 of Lubuntu, available now. You can try it out there. The final version should be out by the end of March, in time for a Lubuntu 10.04 release.

I'll put up a review of the file manager and LXDE desktop soon. Until then, see the screenshot from OMGUbuntu (link below under "related").

Sunday, February 21, 2010

Making Myself Clear About Ubuntu Development

Visual Studio 2010 features a new UI developed...Image via Wikipedia

Yesterday, I posted about the differences between 's, Apple's, and Ubuntu's "Getting Started for Developers" pages. I didn't comment a lot on the pictures, though maybe I should have.

My points are/were the following:

  1. Both Windows and Mac OS X development is easy to get into with tutorials and videos for the preferred development environments. They actively recruit and help new developers. Beginning programmers would feel comfotable. Ubuntu doesn't talk about development, but discusses packaging. No tutorials or videos are available from the "developer" page. There's little chance someone is going to write a first program on Ubuntu.
  2. Windows prefers Visual Studio and .NET development (C# and Visual Basic are heavily promoted). Apple highly recommends Objective-C and XCode. Mark Shuttleworth stated in 2004 that Ubuntu would be targeting Python, and the standard desktop is GNOME (signalling a preference for GTK+), but there aren't really any links pertaining to these decisions ... or even acknowledging that these decisions were made. All three platforms have many options available with regard to languages available. Of the three OSes, only Ubuntu refuses to give guidance on where to start.
  3. Ubuntu distinguished itself from virtually every other distro by "making opinionated choices" about applications instead of installing seven text editors, three desktop environments, and five word processors. Those opinionated choices have been missing for application development, though.
  4. Ubuntu 9.10 introduced Quickly as the rapid application development method for Ubuntu (making opinionated choices), but this isn't mentioned on the development page, either. Also absent are mentions of more recent development like Lernid and Ubuntu Developer Week, Ground Control and projects, and Launchpad PPAs.
  5. Ubuntu appears to be saying that packaging is equivalent to development.

Dell interview of Mark Shuttleworth

Photograph of Mark Shuttleworth by Martin Schm...Image via Wikipedia
Mark Shuttleworth discusses the following topics:
  • Ubuntu's relationship with .
  • UEC's innovation in the cloud computing arena
  • Jane Silber's role as upcoming CEO. Discusses her experience with large companies.
  • Lucid's new features, including new desktop bling and styling (a new 5-year color scheme)
  • Netbooks, dead for Ubuntu or not? 
  • Looking toward Lucid+1
  • Ubuntu on mobiles, ARM machines, and other form factors
  • Thoughts on Meego, , and Chrome
Take a look.

Friday, February 19, 2010

"Getting Started" with Ubuntu Development

Look at the following screenshots and guess what's wrong. Any ideas?

Getting Started With Windows Client Programming

Getting Started With OS X Client Programming

Getting Started With Ubuntu Client Programming

How easy is it to get started with Ubuntu development?

The MS site has featured books, introductions, guided tours, videos, blogs, howtos, and presentations on programming for VS and .NET, making writing software for the platform as simple as possible.

The Apple site has overviews, guides, sample code, and tours for Obj-C and XCode, again making writing software simple.

The Ubuntu site has a description of the political process and details on packaging existing software. It does not, however talk at all about how to develop for new software for Ubuntu. They are pretty much just interested in bug fixes.

Ubuntu needs a developer community. Canonical is promoting that hard for 10.04. It's still too hard to learn to develop for Ubuntu.

The Rhythmbox Music Store Plugin Has Arrived (Kinda ...)

Rhythmbox 0.11.Image via Wikipedia
Phoronix reported that the RB plugin for the Ubuntu One Music Store had been uploaded to Launchpad. Earlier this week, I was pessimistic about the possibility of the plugin beating the Lucid feature freeze. There are several projects in that predicament, donchaknow?

I searched for and downloaded the plugin. It requires a daily snapshot of Ubuntu 10.04 Lucid Lynx and two extra packages (libubuntuone and python-ubuntuone) from the libubuntuone project, but everything can be installed if you are patient.

After enabling the plugin in Rhythmbox, the store appears under the Jamendo and Magnatune store entries. Choosing the Ubuntu One Music Store notifies you that you need to install MP3 codecs and offers to do it for you, apparently signaling that OGG will not be an option. This functionality is not yet complete so pressing the button does nothing.

Enabling the Universe and Multiverse repositories and installing the Fluendo MP3 codec allows us to see the actual store.

I was a little let down. Just kidding. ;) Keep your eyes peeled for updates. I'm sure a real store will appear soonish.

UPDATE: What will it look like?

Wednesday, February 10, 2010

Forget Google Buzz -- Promote OneSocialWeb

Buzz has been getting a lot of attention today, and the buzz (awww!) has drowned out a much more interesting piece of social technology that was announced at FOSDEM 10.

What has been the big problem with social networks? They are walled gardens. Being on Orkut didn't help you with at all, and your data was fragmented. IM has many of the same problems. E-mail doesn't, though. Why is that? E-mail is federated. Servers talk to servers, and using one important character ("@"), you can route your message to the person you want to reach. You can even set up your own e-mail server and control all your own data.

IM has had a hero called XMPP ("Jabber") for some time. IM has many of the same features that social networking does:
  1. Identity
  2. Profiles
  3. Contacts / Friends / Relationships
  4. Status updates
XMPP also offers federation ("@") capability for server-to-server communication. It lacks a few important social media features, but luckily, the "X" in XMPP stands for "extensible."  Vodafone Group Research and Development has written extensions to the OpenFire XMPP server and a web client with . The code works. Final clean-ups are being made so that the code can be used as a reference implementation, and it will be released as under an Apache 2 license in a month or so. Anyone will be able to set up a server and join the federation, just as Jabber servers work now.

Many years of discussion have gone into determining what a federated social network would look like, and the OneSocialWeb doesn't ignore that work.
This project has been built upon the shoulders of other initiatives aiming to open up the web and we have been inspired by the visionaries behind them:, , OAuth, , FOAF, XRDS, OpenID and more.
Thanks, team. Now let's look at the screencast.

Saturday, February 6, 2010

Ubuntu Development: Quickly, Lernid, and Ground Control

CPythonImage via Wikipedia

I've been kind of harping on the development situation in Ubuntu for some time now. Although I'm an absolutely terrible programmer, I'm extremely interested in both Seed and Vala, and I've posed about them several times. A couple of posts ago, I proposed that Ubuntu should make choices about the default language and IDE for developers and make learning to use those defaults as easy as possible. I mentioned Quickly at that time, but I hadn't really used it much, so I didn't comment except to say that it existed.

The Lucid (10.04) development cycle has some really interesting ... er ... developments with regard to ... uh ... the development landscape. Wow. That was an awful sentence.


Let's start with , Jono Bacon's pet project that he developed in an amazingly short time to scratch the itch of making the Ubuntu Developer Summit as easy to join as possible. Downloading Lernid was straightforward, and starting the program gave you the option of joining UDS and that was about it. Once you joined, you were taken to the appropriate wiki page, class note, IRC channel, and slide presentation automatically and in one interface. It was a brilliant idea. Unfortunately, it didn't work that well for me, half-way around the world. I had panel problems, slides never came up, and the UDS sessions didn't start until 11pm local time, which was already past any reasonable bed time for me. Still, this tool should be very mature by the next time UDS rolls around, and it's a great way for new developers to learn about the Ubuntu Way®.


is another new, growing project aimed at developers. The default ubuntu-project template creates a PyGTK project ready to be edited in GEdit and GUIfied in Glade. The availability of templates means that Python isn't the only language available, but Ubuntu is doing the right thing by "making opinionated choices" for new developers. Packaging the project is a simple Quickly command, as is uploading to a Launchpad PPA. It even makes sync'ing your app data via Ubuntu One dead simple by making it easy to include DesktopCouchDB in your new app. Once the stated goal of integrating Quickly into GEdit with a plugin is finished, creating little one-off applications in Ubuntu will be a snap, and you can expect an avalanche of applications similar to the VB6 Windows ones that are everywhere. Whether you think that's a good thing or not is up to you. I don't see the harm.

Ground Control

Finally, Ground Control is Martin Owen's method of encouraging "opportunistic programming" by integrating Bazaar with Nautilus. It uses contextual button clues to help you download a project from Launchpad, target a bug, edit, and upload your work, all without having to learn any Bazaar commands. Jono Bacon has added the ability to create new projects, he intends Mission Control to be able to create new Launchpad PPAs, and I hope Quickly will eventually be integrated with Ground Control in order to create a single, easy interface for creating Ubuntu applications and making them available for download. Take a look at this video.

Friday, February 5, 2010

Answering a Friend About Ubuntu on a Netbook

Ubuntu wordmark officialImage via Wikipedia
This post is directed to a friend that asked about getting a new netbook and putting Ubuntu on it. ate my homework and gave me nothing but a server error in response, so I decided to put the answer up here and just send him a link.
Thinking of installing Ubuntu on a Netbook we're going to buy as I've heard it's pretty lightweight in comparison to . What are your thoughts on this in general? Also, it is free right?
First of all, I want you to know that I use Ubuntu every day. All of the computers in my house (and there are many of them) use Ubuntu or some relative (like Debian). Not only is it free (as in liberty), it's also free ($), and it does everything that I want and more, though there's sometimes a little pain involved. My experiences with Windows don't involve any less pain, though the part of the eye the needles get stuck into isn't necessarily the same.

That said, Windows 7 Starter isn't really any heavier than Ubuntu on a netbook. Sure, Linux and Ubuntu are great in that you can pare down the OS to pretty much any level you want, and you could run a fairly functional, modern desktop using Lubuntu or Slitaz while using the same resources that Windows 98 did. If you buy a netbook with Windows 7 already installed, though, you're going to have enough resources to run pretty much any operating system you want (except ), you've already paid for an OS, and the OS is already installed for you. Just stick with it.

If you want to move to an alternate OS (and there are lots of reasons to do so), you'd be best off buying a netbook with Ubuntu already installed and configured for you. Installing and configuring an operating system isn't a simple process, and doing it with an OS you're not familiar with is almost certain to end in disaster. Buying Ubuntu pre-installed means that or whoever , and probably threw in DVD playback and other goodies, too. (Did you know that Windows doesn't come with that stuff, either?)

If you are still determined to install Ubuntu despite my warnings, here's how you go about it. Learn a little about Ubuntu first and install it once in a situation with little to no danger. Download Wubi, an application which installs Ubuntu like an application inside Windows without touching your Windows system, and is easily removable if you decide you don't want it anymore. Play around a little and see if moving this way is something you really want to do. Don't expect everything to work 100% after the installation.

Next, decide whether you want the special netbook interface or the standard panel-and-icon interface. Here they are.
A quick video overview
The standard interface

Once you've decided, head on over to and download the one you want and write it to a USB thumb drive. I hear UNetBootin is a very good utility which will both download the image and burn it to a thumb drive for you. Test the finished product on your laptop by rebooting into the live USB environment, which will look like it's native, but which won't touch your laptop at all. Turn off your laptop and get ready to head outside. (Is that the place they keep the soju?)

Head on over to the store you are looking to buy the netbook from and get the salesperson to let you boot the USB key. You know the key works since you tested it at home, right? Hardware compatibility is very important. Look for a netbook based on the Intel Atom and the 945GMA graphics set or get one of the newer ones based on NVidia's Tegra chips. Once the machine boots, test the wireless -- it's in the notification area on the top-right. Does everything work and look OK? Great! You're ready to purchase.

Install the system at home by booting the USB key, clicking the "Install" icon, and following these directions. Read them before you start, but ignore the part about Vista. Once you've finished the installation, open Firefox, come back to this page, and click on the following links to install some extra software:

You're pretty much finished because there are so many applications installed by default. If you need some other application, look in the application store (which is called Ubuntu Software Center) in the "Applications" menu on the top-left of the screen. The standard look is brown (for humanity), but the interface is almost infinitely configurable, and there are tons of themes. Here's my current desktop.

I even have four of them. ;)

p.s. You might want to take a look at Intel's netbook Linux, called Moblin. It's quite innovative.

Lucid Separates Shutdown and "Me" Menus

Lucid has separated the menus used for shutdown and for "Me," a good usability move.

Thursday, February 4, 2010

Google Continues to Make the Same Mistakes (Again and Again)

http://www.makelinux.Image via Wikipedia
A little over a year ago, Google contributed the Android kernel modifications to the Linux kernel maintainers. As of Tuesday, the driver contributions have been deleted. Why? Google used a specially modified kernel API for Android, which is incompatible with the mainline kernel, and attempts to come to an agreement over how to modify and maintain the new code failed.

Google now has two forks of the Linux kernel to maintain. You see, Google started forking and maintaining Linux for its own servers several years ago, and is now having trouble updating and backporting its forked version. Google has come to realize the problem, and is working to move from a proprietary version control system to the Git DVCS which the mainline kernel uses. Google is also trying to clean up the code a little in order to have as much of the code as possible accepted upstream so that the employees have less work to do. This is what the Linux kernel maintainers recommend to everyone.

While Google tries to fix the problem with one hand, though, the company is going down the same road with Android. Because Google can't come to grips with merging the code, the developers will have to maintain that code themselves, leading to a less secure and robust product. Good luck to them.

Google probably just needs to abstract out the parts that change the main kernel's functions and bolt those changes on top.

Newer Posts Older Posts Home

Other I' Been to Ubuntu Stories