From Unity to GNOME to LXDE: A Journey of (Personal) Discovery

Much is being written these days about Unity – but more specifically, Canonical’s decision to shift from GNOME to Unity as the default desktop environment.

When I make use of a recent-generation laptop/desktop, I use Unity. Soon after reviewing Jorge Castro’s video on multitasking in Unity, I became (and remain) a fan of Unity. About the only serious omission of the Unity environment is the absence of the panel applets that I’ve grown attached to from time spent in the GNOME environment. (I believe improvements are already afoot in this area, but I have not explored the same …)

Perhaps the only negative feedback I’d offer about Unity is that I needed Jorge’s video to get me up to speed – and I find that somewhat ironic (from a usability perspective) for a leading-edge UI …

The fact that Unity has won me over is interesting in another regard. My first exposure to Unity was on an Asus 1000 netbook via Ubuntu’s netbook remix. In hindsight though, anything negative I’d share from this time had more to do with the Asus netbook and its built-in mouse than Unity, per se.

Although I am a proponent of Unity on recent-generation laptops/desktops, I’ve found it unusable on older hardware – and this applies to the 2D as well as the 3D version. In fact, I came to using the no-effect version of the GNOME environment on the old Dell equipment I still make use of.

Though this was a passable experience most of the time, there were far too many instances of excessive paging which rendered the system unusable.

It is fortunate that my end-user experience on legacy hardware was so unacceptable.

Why?

As a direct consequence, I recently discovered Lubuntu – at precisely the time Lubuntu was receiving official recognition from Canonical as a bona fide Ubuntu flavor.

I’ve thus been using Lubuntu 11.10 since its release last Thursday (October 13, 2011). Even though the honeymoon remains in effect, the shift to Lubuntu is proving to be increasingly worthwhile – I have a responsive interface to my legacy hardware, with the option to selectively leverage Ubuntu.

One final thought … Lubuntu provides Sylpheed as its built-in mail user agent (MUA). I’ve found Sylpheed to be extremely viable on my legacy hardware. In fact, I’ve even found the latest version of Thunderbird performs reasonably well on this same platform under Lubuntu. Despite these options, I’ve remained a user of Google’s browser-based version of GMail. Why? I seem to have lost the value proposition for fat MUAs for the moment ….

Feel free to comment on this post and add your own $0.02.

Recent Articles on Bright Hub

I’ve added a few more articles over on Bright Hub:

Chrome Today the Stainless Way

Even though I recently whined about the wait for Google Chrome on Mac and Linux platforms, I haven’t spent any effort empowering some other browser with Chrome-like features/functionalities – even though this is possible. And although CrossOver Chromium caught my attention, I wasn’t sufficiently motivated to evaluate it either.

Somewhat surprising then is the fact that I have gravitated rapidly towards a quick-and-dirty evaluation of “Stainless – a multiprocess browser for OS X inspired by Google Chrome.” Inspired is definitely the operative word here as:

… the Mac version of Chrome will use a WebCore-rendered bitmap to pass between the browser and rendering processes. The strategy we use in Hypercube (and now Stainless) is far less ambitious, but a whole lot easier to do and, thus, available today for your downloading pleasure (for Leopard only, sorry).

And what a pleasure it is!
Honestly, based on the recent LifeHacker post, I expected a whole lot less than what Stainless actually delivers today – in version 0.1!

Based on about 30-minutes experience, Stainless:
  • Performs well – It loads Web pages quickly. And as “ps -alx | grep -i stainless” indicates, Stainless really is a multiprocess browser for OS X. For me, this alone makes Stainless worth the effort.
  • Supports AJAX – I’m writing this blog post using Google Docs via Stainless. Stainless worked fine on my initial tests with other Google productivity apps – I tested Google Spreadsheets and GMail. I therefore have some level of comfort in proclaiming it as supporting AJAX. Nice!
I’m sure I’ll have more to say soon … In the meantime, though, even at this early stage Stainless is definitely worth a serious look.

Introducing Jott for BlackBerry

I just learned about Jott for BlackBerry:

We have a lot of happy Blackberry customers at Jott, and Jott for BlackBerry is the ultimate BlackBerry download. It is a simple, but very powerful tool that will let you reply to emails on your BlackBerry just using your voice – either speaking directly into your BlackBerry, or while wearing a Bluetooth headset. It is seamlessly integrated into the email application you already use, and is a huge leap forward for BlackBerry lovers in three ways: first, it is 3-5 times faster than ‘thumbing’ text; two, you won’t be known for sending just terse replies because you don’t want to thumb type out a normal email message; and three, you will be safer because you won’t have to take your eyes off the road.*
(*Jott does NOT encourage messaging while driving).

Jott for Blackberry makes an already awesome device even better.

The following is the body of a reply I just created:

Thanks for sharing this interesting service with me. It's definitely something that I'm interested in investigating and it's my intention to follow up very very soon. Thanks very much. Bye for now.

Sent with my voice via Jott for Blackberry ~ http://jott.com/bb

To listen: http://www.jott.com/show.aspx?id=e4eb3151-9007-448c-bd73-7de70ecc4766

In this example, the transcription quality was excellent. Note that the recipient is advised that the response was Jott’ed, and has the option of listening to the original audio recording. Nice!

Although I’m only at the testing stage, I expect to make extensive use of Jott for BlackBerry!

Note to Jott and Google: Please enable Jott for BlackBerry in the GMail for BlackBerry application.

Firefox 3 Beta 4: Noticeable Improvements

I’ve just upgraded to Firefox 3 Beta 4.
The spreadsheets component of Google Docs appears to work now. And although this suggests improvements in AJAX support, a known issue with GMail contacts remains:

GMail (new version) conversation labels appear on their own row in the message list, and names don’t show in the contacts manager (bug 415252)

This GMail bug remains a showstopper for me.
Of course, it’s important to remember that

Firefox 3 Beta 4 is a developer preview release of Mozilla’s next generation Firefox browser and is being made available for testing purposes only.

Firefox 3 Beta 3: Initial Experiences

I just downloaded Firefox 3 Beta 3 for Mac OS X Leopard.

My initial impressions are as follows:
  • It looks great! 
  • It’s fast! In some cases, blazingly fast! Page renderings, downloads, etc. 
  • Its AJAX support is very weak! This is a showstopper for me, as I use a number of AJAX-based applications. Although the word processing aspect of Google Docs appears to work, the spreadsheet capability isn’t quite there yet. And surprisingly, when I opened my GMail contacts, none of them appeared! 
  • Its add-on support is weak. This isn’t too surprising, I suppose, and is perhaps somewhat unfair to mention at this point. However, none of my add-ons work with this release, so I thought it was worth noting.
Net-net?
Looks highly promising, but don’t uninstall Firefox 2 (or your current production browser) just yet.

sync blackberry contacts with gmail: Problem Solved!

Update (February 10, 2009): See Sync Google Calendar and Gmail Contacts with Your BlackBerry for a recent How To guide to the Google Sync for the BlackBerry solution.

In just over fourteen months, one of my posts has received almost 19% of the views for my entire blog.

There is no other post that even comes close.
And to make matters more interesting, the post was written in response to my blog’s search stats. People consistently entered strings along the lines “sync blackberry contacts with gmail” and arrived here.
Frankly, all of this attention made me uneasy.
Why?
Because I really didn’t have much to offer on the topic.
But please don’t think that I didn’t give this information (not data!) some thought.
Honestly, dear reader, I confess I even pondered how I might arrive at a solution that might monetize this 19% for personal gain. Let’s face it, 19% of more than 60K hits translates potentially to more than 11K customers. Ka-ching! I am in disgrace.
Luckily I didn’t waste my time.
Waste, you gasp. Yes, waste.
You see, the fine folks at Google have delivered a solution.
It’s all in the GMail contact manager. This new addition to the GMail client for the BlackBerry solves the problem.
How?
If you have a contact for which you’ve entered phone numbers, these numbers appear when you click on the contact name to view their details. But that’s just the beginning. The phone numbers appear as clickable links. When you click on one of them, you automagically invoke the BlackBerry’s phone capability. (You may have forgotten that your BlackBerry actually allows you to call people as well.) Note that the first time you do this, you’ll need to approve some new settings.
Of course, you can email contacts as well.
Problem solved.
Please read my other posts!
If truth be told, this should be regarded as a great beginning.
Here’s why:
  • Read-only access – You can’t enter contact information from the GMail client on the BlackBerry. In time, we’ll want this. Like tomorrow!
  • Online-access only – You need your contacts when you’re off line? Like when you’re on an airplane? Until this client includes Google Gears functionality or equivalent, you’re out of luck here. I think I can live with that. For now. Because ultimately I would appreciate the ability to compose email when I’m off line. I do that frequently with the BlackBerry’s built-in mail client.
  • Contacts in too many places – Fragmenting contacts between your Google ‘verse and enterprise messaging platform (e.g., Microsoft Exchange, IBM Lotus Notes, etc.) has some disadvantages. However, as I’ve learned directly on the heels of personal experience, there are times when it’s wise to have some separation between our personal and corporate selves …

This gives me a lot of what I was looking for.

How about you?

GMail on Your BlackBerry: Latest Client Offers Significant Featur

A few days ago I upgraded to version 1.5.1.1090 of the GMail client for my BlackBerry 8130. (This is a native, stand-alone, J2ME client application. In other words, it does not require a Web browser.) Previously, and for the past few months, I’ve been using version 1.1.x of this same client. 

The download and installation went very smoothly. One surprise, however, was the need for a reboot of the BlackBerry to complete the installation of the client. I don’t recall that need with previous releases. I can only suppose that this requirement is necessary to enable the deeper integration of the GMail client with the BlackBerry platform.
And that’s a good segue … What’s new? Well: 
  • Contact manager – This is the most significant feature/functionality enhancement. On opening the contact manager, a display of those with whom you interact with the most is presented. There’s also a search functionality that allows you to rapidly retrieve any of your contacts in the familiar way. And of course, should you wish, you can list all of your contacts. Once you’ve selected a contact from the “Most Contacted” list or via search, your contact’s details are presented. Just below the contact details is a link that allows you to display recent conversations with the identified contact. Very powerful. Very Google. Very nice! All of this means that you can initiate a new conversation or pick up on an existing one from the contact manager.  
  • Notification – The notification capability is also a significant enhancement in my estimation. What this means is that an icon resembling a bottle cap appears over top of the GMail client icon to indicate the arrival of new mail. This capability is integrated with your BlackBerry profile so you can associate in and out-of-holster behaviors to signal the arrival of new mail. The only thing missing now is the summary icon that is displayed by other applications in the upper-right corner of the BlackBerry’s screen. This capability is enabled via a new setting; select “More”, then “Settings” before placing a check mark against the notification option. There are a few more settings that are new to me – one allows for larger fonts, while the other allows for the “Sent from my mobile device” tag line. 
  • Finish Later – In the event that you are unable to finish composing a message, this version allows you to finish composition later. Note however, that only one draft can be saved. This is a welcome addition that I found myself pining for in previous releases.
As far as I can tell, that summarizes the features that I found new in this release. Based on a few days’ worth of experience, the implementation appears solid and performs well, making the upgrade highly worthwhile.
You can grab the GMail client for your mobile device by pointing the device’s Web browser at gmail.com/app. See Google Mobile GMail  for the details.
If you’re using Google Apps for Your Domain (GAFYD), point your mobile device’s Web browser at http://m.google.com/a. See the Google Apps page for more.
If you want to see what I’ve written previously about the GMail client for the BlackBerry click here.

 

Book Review: Google Web Toolkit

Automagically convert Java to JavaScript. 

Thus begins the seemingly curious proposition of the Google Web Toolkit (GWT). 
Of course, it’s about a lot more than that. 
For one thing, GWT addresses a key gap in the rapid delivery of the Asynchronous JavaScript and XML (AJAX) based applications that are driving eyeballs and mindshare to Google’s Web site.
By the time you’ve read Prabhakar Chaganti’s book on the GWT, you’ll be significantly wiser on at least two fronts. You’ll know that:
  1. There’s a broad-and-deep software engineering ecosystem around the GWT that is fueling progress and delivering highly significant results. 
  2. Chaganti is an excellent guide with the ability to negotiate this ecosystem and drive you towards tangible outcomes.

Using a task-oriented approach, the book proceeds as follows:

  • Chapter 1 rapidly places the GWT in context, and gets you started by downloading, installing and working with the samples provided. Available for Apple Mac OS X, Linux and Microsoft Windows, the GWT only requires the Java SDK as an installation prerequisite. The GWT is made available via the Apache Open Source license; this allows for the development of commercial and Open Source applications. 
  • With the Java SDK, the GWT and the Eclipse IDE, the developer has a well-integrated and powerful platform on which to develop applications. After illustrating the development of the obligatory “Hello World!” application at the outset of Chapter 2, attention shifts rapidly to use of Eclipse. Google’s Web-wired DNA is evident in everything they do, and the GWT is no exception. The GWT leverages the Java SDK and Eclipse to the fullest, while closing the gaps in developing AJAX-based applications in a very organized way. By the end of this Chapter, the reader knows how to develop a simple application with both client and server-side components and execute the same in both hosted (i.e., non-deployed) and Web hosted (i.e., executing within a Web-hosted Tomcat servlet container). Made explicit in this latter deployment is GWT’s ability to support a variety of Web browsers – i.e., Apple Safari, Microsoft Internet Explorer, Mozilla Firefox and Opera.
  • The creation of services is the focus of Chapter 3. To quote from this Chapter, and in the GWT context, service “… refers to the code that the client invokes on the server side in order to access the functionality provided by the server.” The author is quick to point out that this is a separate and distinct notion from that used in the context of Web services. True to its billing, this Chapter works the reader through the creation of a service definition interface (a client/server contract that defines the service’s functionality and establishes rules of usage) and service implementation. Particularly important in this Chapter is the creation of an asynchronous service definition interface, as this facilitates remote calls in the background to the server, and capitalizes on the AJAX support in the GWT. With definition and implementation taken care of, the remainder of the chapter focuses on use (i.e., consumption of the service by a client). Conceptual illustrations compliment screenshots to effectively convey this content. 
  • Whereas the previous chapter delivered a prime number service, Chapter 4 introduces no less than six services that really showcase the capabilities of this application paradigm. With ample explanation and illustration live searches, password strength checks, auto form fills, sorting tables, dynamically generated lists and Flickr-style editable labels are each considered. Not only does one recognize these as design patterns that are already in everyday use (e.g., Flickr, Google Docs, Maps and Search, etc.), one also realizes their potential for re-use in one’s own projects. 
  • Chapter 5 introduces five interfaces that are more complex than those presented in the previous chapter. These interfaces are pageable tables, editable tree nodes, log spy (the GWT spin on the UNIX tail utility), sticky notes and jigsaw puzzle. To reiterate, one recognizes these as design patterns already in everyday use, and the potential for re-usability.
  • Browser effects are the subject of Chapter 6. Here the author introduces the JavaScript Native Interface (JSNI) as a vehicle that allows JavaScript libraries (e.g., Moo.Fx and Rico) to be accessed directly from Java classes. A wrapper-based approach, independent of JSNI, is also introduced to leverage the Script.aculo.us effects. Although compelling effects can be achieved, cautionary words are included in this Chapter, as the impact may be diminished by browser-level incompatibilities.
  • By the end of Chapter 7, impressive calendar and weather widgets have been created, and readied for re-use. 
  • In Chapter 8, JUnit is introduced in the context of unit testing. Standalone tests plus test suites are given consideration; this includes tests involving asynchronous services.  
  • Although this is only the second book I’ve ever seen from Packt Publishing (the first I’ve reviewed elsewhere), I’ve become accustomed to expecting bonus content towards the end of the book. Chapter 9, which addresses internationalization and XML support, falls into this bonus category. Of course, it’s no surprise that Google expertise on internationalizations ranks high, and this is evident in GWT support for the same. The author provides an hors d’oeuvre of the possibilities. XML support is of particular personal interest, so I was delighted by the degree of support for creating and parsing XML documents. I share the author’s sentiments with respect to XML support wholeheartedly: I too hope that future releases of the GWT will provide broader and deeper support for XML.  
  • In the final chapter (Chapter 10), attention is given to increasingly automated methods for deploying GWT-based applications. Starting with a manual deployment in Tomcat, then an automated deployment with Ant, and finally an Ant-based deployment from within Eclipse. 
  • A single appendix details how to access and execute the examples provided throughout the book.
With the possible exception of a concluding chapter, page, paragraph or even sentence(!), to provide some sense of closure to the book, I am at a loss to report any omissions, oversights or errors of any consequence. And although it will have to wait for a follow-on contribution of some kind, additional discussion might be given to topics such as Google Gears or even Google Android.
Even though the book I reviewed was a complimentary copy provided by the publisher, I would happily pay for my own copy, and heartily recommend this book to others having interests in the GWT. 
By the way, Packt has an articulated scheme when it comes to Open Source projects:

Packt Open Source Project Royalty Scheme Packt believes in Open Source. When we sell a book written on an Open Source project, we pay a royalty directly to that project. As a result of purchasing one of our Open Source books, Packt will have given some of the money received to the Open Source project.In the long term, we see ourselves and yourselves, as customers and readers of our books, as part of the Open Source ecosystem, providing sustainable revenue for the projects we publish on. Our aim at Packt is to establish publishing royalties as an essential part of the service and support business model that sustains Open Source. 

I cannot suggest that Packt is unique in this approach. Regardless, their approach is certainly welcome.

My Next-Gen Mobile Platform: A Plain Old Cell Phone Plus Jott Plus flipMail?

In April, I stated that my next-gen mobile platform could just be a Plain Old Cell Phone (POCP) with Jott’s solution for “Mobile Note Taking and Hands-Free Messaging”.

In so suggesting, I thumbed my nose at the BlackBerry (my existing mobile platform) and the highly anticipated iPhone.

I’m not down on the BlackBerry or the iPhone, I’m just impressed by the Lowest Common Denominator (LCD) effect of the POCP when combined with Jott. (Please see the Aside below for more on this LCD effect.)

Even though it’s only been a few months, my next-gen mobile platform has just improved significantly – and I haven’t lifted a finger or spent a $!

Enter flipMail from TeleFlip:

The Teleflip beta story At Teleflip, we love creating exciting and innovative services for our customers. Three years ago we introduced our original service that allowed you to send an email to a cell phone as a text message. That service is now called flipOut. Since we first introduced the service, millions of flipOuts have been sent.

We’re very excited to launch our new service called flipMail beta. flipMail allows you to get your email on your cell phone for free.* No new software, no downloads, no new phone necessary. It’s that simple. Because we’re in beta, we invite you to share your ideas, suggestions, and feedback about how we can make this new service even better.

* SMS charges may apply – this, of course, depends on your plan.

This means I have email on my POCP. It could even be a Jott-generated email!

Because this is an SMS-based offering on the POCP, SMS-based limitations do apply:

What is a fliplette?A fliplette is a text version of your email that we flip to your phone. fliplettes are limited to 120 characters each. When an email is longer than 120 characters, you receive a series of fliplettes.

On my BlackBerry, I have the native BlackBerry email client. In my case, this client is integrated with The University’s enterprise messaging platform (IBM LotusNotes). I also have a native client for GMail on my BlackBerry.

So, even on my BlackBerry, I can see the value in making use of flipMail for email services that are not available natively for the BlackBerry.

Aside on the LCD Effect

Nicholas Negroponte’s USD 100 laptop is an excellent example of an attempt to raise the bar of the LCD in developing countries.

Whereas this laptop is intended to “… revolutionize how we educate the world’s children …”, the POCP plus Jott and flipMail embraces and extends the connectivity possibilities for those that already have cell phones:

The international implications for the service are even more impactful, as Teleflip solves a significant issue by providing e-mail access to millions of cell phone users in emerging e-mail-developing countries. As many as 70 percent of the world’s current 2.5+ billion mobile phone users do not have access to the Internet or e-mail. By establishing a flipMail account through Teleflip, this large population will now have instant access to send and receive worldwide e-mails on their regular cell phones, and again, without any new software downloads, special mobile Internet plans, or any new hardware or devices. So their existing cell phone number will be their onramp to the worldwide e-mail network.

While such a platform could have an impact in developing nations, where cell-phone usage often eclipses land-line usage, the POCP++ platform may have a broader global impact.

And although the USD 100 laptop has WiFi (including wireless mesh) capabilities, it may also benefit from cellular-based connectivity. Such a possibility could be enabled by, for example, adding a Bluetooth capability to the laptop’s already impressive array of technical specifications. In other words, with Bluetooth on both the laptop and cell phone, there exists an alternate vehicle for minimizing the connectivity gap.

Negroponte’s vision for the USD 100 laptop is compelling.

POCP++ could be a part of it – or some other humanitarian effort.