The Source for Java Technology Collaboration
User: Password:



Eitan Suez's Blog

December 2005 Archives


Ubuntu Review

Posted by eitan on December 14, 2005 at 11:58 AM | Permalink | Comments (7)

Approximately in June or July of 2005, I started weaning myself off of my powerbook G4, and learning the Gnome environment under Ubuntu (v5.04, now v5.10).

Overall, it's been a terrific experience, and it's looking like I've come here to settle down.

So I thought I'd summarize my experiences, from my perspective as a Java software developer, and as a computer user in general.

The Good

Here are a few things I really like in Ubuntu / Linux:

  • The Gnome Epiphany Web Browser: my favorite browser. See my blog entry on the subject.

  • Edutainment + kids games: On linux, one can download a number of games for children that are of high quality from the point of view of the material they cover. Sure, some games like supertux, are just plain fun 'mario brothers' style games. But many can be powerful tools that can hone the brain power of children. Here are some of them:

    • kturtle (logo programming)
    • gcompris
    • tuxmath / tuxtyping

    My kids and I also very much like supertux, tuxracer, and tuxkart. I'm particularly proud of my 3 year-old who is now a supertux champion and has mastered the arrow keys, the enter key, the control key, and spacebar.

  • Quality open source desktop applications. Who said that open source can't produce desktop apps of higher quality than their commercial counterparts. If you thought the adobe had the best vector graphics editing application, take a look a inkscape. For pictures, check out the beauty of f-spot. For spreadsheets, I think gnumeric is terrific.

  • Authoring tools. A number of different technologies can be used to write books or articles. Docbook is one and docbook support in the form of toolkits, documentation, utilities and more is the strongest on linux. Many love LaTex.

    I particularly appreciate lyx, a wonderful wysiwym editor that does all the heavy lifting for you. If you're about to write a book and don't have in-depth knowledge of docbook or latex, then I believe lyx is the right choice.

  • Strong pdf support. One can easily produce a pdf version of a document, translate a postscript file to PDF. I recently printed a web page to a postscript file and then translated it to PDF.

  • editors galores. Lots of editors to choose from. gedit, kedit, kate, jedit, and many more besides.

  • apt-get and the amazing synaptic package manager. Want an app? Just wish it and a few seconds later it's completely installed on your system, along with all its dependencies. That's the magic of the synaptic package manager. apt is the technology that makes it happen and the synatpic front-end gives you no reason to ever fall back to the command line.

  • strong printer support

    • lj3200 which i'd given up on entirely with my mac (hp did not make apple drivers for this specific version), worked like a charm with linux, without having to install drivers
    • doing duplex printing with my brother 5150D at the office
    • doing network printing to an hp inkjet printer
  • wifi worked for me out of the box.

  • the sleep feature works just fine but does not conserve the battery charge nearly as well as my powerbook did. hibernate then is the alternative, which has worked great for me for many months, up until a recent kernel update.

  • strong device support in general: plugged in my camera and automatically started downloaded photos, without even having to download anything.

  • amazing endless suite of kde apps. from kontact to koffice, kde is simply an amazing source of seemingly boundless energy.

  • kde and gnome apps can run side by side

  • terrific support forums

  • java:

    • unlike the last OS i worked on, there are no issues regarding obtaining the latest java udpates on time
    • all the java ides work with it: intellij, eclipse, and netbeans
    • have the option of building java applications that use the gtk toolkit
  • latest firefox

  • endless supply of artwork for customizing background image, login manager, login splash, window decorations, icons, and themes
  • freedom!

  • no viruses, no symantec, no mcaffee

  • complete desktop customization features, especially with kde, although in the end i prefer gnome; i find myself forever tinkering on kde, and more productive on gnome. each has their strengths and together they make for an even better distribution: a wider array of choices; sometimes you get this feeling though that the velocity on the kde projects is just so amazing..

  • i love the ability to assign keyboard shortcuts to anything i rarely touch the mouse and am in complete control

  • ruby. if you're doing ruby development, installing the toolstack, including rails is a snap.

  • cost. i don't have to pay for additional apps. my notebook cost me approximately 1/3 the price of my last one.

The Bad

  • projector support is not really there like it is on a mac
  • sleep does not conserve battery well
  • had some hickups with hibernate after a kernel update
  • have some weird totem/video problems at the moment, though there's no lack of video players for gnome or kde, this one happens to be the default and for some reason hangs when attempting video playback

Summary

The main reason I switched to ubuntu is that I can now compile and launch my java apps in 1/2 to 1/3 the time it used to take me on my last laptop. I used to run a 1GHz powerbook G4. Now I run a 1.7GHz intel centrino (same amount of ram on both). That's a serious advantage.

Finally, contrary the general perception, I don't compile my gnome apps or kernel. I download and install precompiled binary distributions of all my apps.

I'm very satisfied with Ubuntu and in the event that you're looking for the right home, I hope this short review was helpful.



An Epiphany

Posted by eitan on December 14, 2005 at 09:48 AM | Permalink | Comments (5)

Everyone stands behind their favorite web browsers. Firefox definitely appears to be at the forefront. But then you come across people who prefer Camino, for example, which is a web browser that uses the Gecko layout engine but taylors its user interface to fit the MacOSX mold, so to speak. Camino indeed is pretty cool and pretty fast. If you run macosx, you should definitely check out Camino.

In a similar vein, I recently (maybe two-three months ago) came across Epiphany..and i'm in love.

Epiphany is to Gnome what Camino is to MacOSX: a web browser that uses Gecko but its UI uses the Gnome and GTK APIs for a user interface. Epiphany was designed to fit in on a Gnome desktop. Indeed, it is the endorsed web browser for Gnome.

But that's not the reason I so love Epiphany. Epiphany's philosophy appears to be along the lines of stay out of the user's way and less is more.

So, beside the fact that Epiphany has the following favorable traits:

  1. it just works
  2. it has a simple, minimal menu structure
  3. it supports tabbed browsing
  4. it highlights bits of strings on a page when doing incremental find's

the feature that really speaks to me is the design of its bookmark system and the way in which you can customize the browser with actions for URL handling without having to write any code.

This is subtle but a most wonderful feature. Allow me to illustrate.

When you launch Epiphany, you won't find two text fields at the top edge of the window: one for the URL address and another for doing the Google search. Instead you'll find a single text field where the URL address is entered.

How then does one perform a Google search without having to first visit google.com? By writing a plugin. Here's how:

  1. visit google.com
  2. enter a search string, for example: testing
  3. bookmark the search results: name the bookmark "Google this"
  4. edit the bookmark: in the url string, replace the word "testing" with "%s". You've just parametrized the URL. save the bookmark.

Now, open a new browser window and type "java" in the URL field. You'll notice that a pull down menu will appear containing the option "Google this." Selecting that option will automatically visit the google search URL, replacing that "%s" in that bookmarked url with the search string you entered in the url field. It's a dynamic bookmark.

How wonderful! In my browser, I've configured four such dynamic bookmarks: google search, wikipedia search, dictionary search, and ashkelon search. So now when I'm coding I can just type in the url field: "String*" and select the 'ashkelon search' option from the Epiphany context menu, et voila: i get my ashkelon (javadoc) search results.

In addition to this cool search feature, if you type a substring of the name of a bookmark in that magic url field, that bookmark will show up in the context menu as well.

If you do use Gnome, I highly encourage you to give Epiphany a try. It's a stable and robust browser. But just as importantly it's well-designed. If you don't use Gnome but would like to give it a whirl, I strongly recommend the ubuntu distribution. Last note: Epiphany also works on KDE.



Humane Interfaces: Setting the Record Straight

Posted by eitan on December 14, 2005 at 08:20 AM | Permalink | Comments (12)

Every so often I go and read the wisdom of elharo over at cafeaulait.org.

So today I came across this specific entry discussing "humane" interfaces:

http://www.cafeaulait.org/oldnews/news2005December7.html

Here is a snippet from elharo's blog entry:

"More buttons/methods does not make an object more powerful or more humane, quite the opposite in fact. Simplicity is a virtue. Smaller is better."

Hearing stuff like this makes my blood boil. I am a disciple of Jef Raskin (z"l), the person who designed the first Macintosh, the author of the book "The Humane Interface" (THI).

My goal in this entry is very simple: to prevent the perversion of the meaning of the word "Humane", to set the record straight.

I read Raskin's THI a number of years ago, and don't have it in front of me at the moment.

The claim made by elharo is simple:

    that an apple iPod user interface, or the imac's new remote control, with its 4-5 buttons is better or superior to the 100-button remotes from hp and gateway.

That's absolute nonsense.

The 100-button remotes are infinitely better. The ipod has serious usability issues. The problem was easily illustrated to me one day when I tried to teach my poor daughter to use the ipod's interface a year or two ago (she was 4 or 5 years old).

The poor girl was getting so frustrated that pushing the sequence of buttons I instructed her to push did not have the desired outcome. Instead of scrolling a song list, the volume would go up!

Why?? The ipod only has three or four buttons. That's not enough to express 100 different operations. So the buttons must be overloaded; they must be made modal. That is, the same button does different things in different contexts. This is precisely what you want to _avoid_ when designing a _humane_ interface. With the 100-button remote, there's no ambiguity, no context, no modality.

With the 100-button remote, you don't have to remember to press a sequence of buttons in a specific order, with specific time intervals between the button presses. With the 100-button remote, the operation boils down to pressing a single button.

Even better: once you've performed an operation once or twice, you've formed the habit. Doing the same operation again later would take you no time, because you now know that the second button from the left on the top row is the one you want.

I have nothing against the apple ipod. it just has an in-humane interface, that's all.

Why am I talking about iPods on a Java weblog? Because the same principle behind designing the interface for a remote control applies to designing humane interfaces in our software applications. elharo brought up remotes as an analogy in the context of designing interfaces for List or Array objects, stating that such a class should have a minimum of methods, and that its design was consequently better.

We're all in one way or another responsible for designing interfaces. Let's make sure they're humane. If you haven't already read THI, I highly recommend you do. Here's the link:

http://www.amazon.com/gp/product/0201379376/104-7232126-4081541





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds