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.

Annotation Modeling: In Press

Our manuscript on annotation modeling is one step closer to publication now, as late last night my co-authors and I received sign-off on the copy-editing phase. The journal, Computers and Geosciences, is now preparing proofs.
For the most part then, as authors, we’re essentially done.
However, we may not be able to resist the urge to include a “Note Added in Proof”. At the very least, this note will allude to:

  • The work being done to refactor Annozilla for use in a Firefox 3 context; and
  • How annotation is figuring in OWL2 (Google “W3C OWL2” for more).

Stay tuned …

CANHEIT 2008: York Involvement

York University will be well represented at CANHEIT 2008
Although you’ll find the details in CANHEIT’s online programme, allow me to whet your appetite regarding our contributions:

Synced-Data Applications: The Bastard Child of Convergence

At the Search Engine Strategies Conference in August 2006, in an informal conversation, Google CEO Eric Schmidt stated:

What’s interesting [now] is that there is an emergent new model, and you all are here because you are part of that new model. I don’t think people have really understood how big this opportunity really is. It starts with the premise that the data services and architecture should be on servers. We call it cloud computing – they should be in a “cloud” somewhere. And that if you have the right kind of browser or the right kind of access, it doesn’t matter whether you have a PC or a Mac or a mobile phone or a BlackBerry or what have you – or new devices still to be developed – you can get access to the cloud. There are a number of companies that have benefited from that. Obviously, Google, Yahoo!, eBay, Amazon come to mind. The computation and the data and so forth are in the servers.

My interpretation of cloud computing is summarized in the following figure.


Yesterday, I introduced the concept of Synced-Data Applications (SDAs). SDAs are summarized in the following figure.


SDAs owe their existence to the convergence of the cloud and the desktop/handheld.

Synced-Data Applications: The Future of End-User Software?

I recently asked: Is desktop software is dead?

Increasingly, I am of the opinion that desktop software is well on its way to extinction.

In its place, Synced-Data Applications (SDAs) have emerged.

One of the best examples I’ve recently run across is Evernote. Native Evernote applications exist for desktops (as well as handhelds) and for the cloud (e.g., via a Web browser). Your data is replicated between the cloud (in this example, Evernote’s Webstores) and your desktop(s)/handheld(s). Synced-Data Applications.

And with Google Gears, Google Docs has also entered the SDA software paradigm.

With SDAs, it’s not just about the cloud, and it’s not just about the desktop/handheld. It’s all about the convergence that this software paradigm brings.

A revised version of the figure I shared in the previous post on this thread is included below.

Once again, it emphasizes that interest is focused on the convergence between the isolated realm of the desktop/handheld on the one hand, and the cloud (I previously referred to this as the network) on the other.

It’s much, much less about commercial versus Open Source software. And yes, I remain unaware of SDA examples that live purely in the Open Source realm …

Is Desktop Software Dead?

When was the last time you were impressed by desktop software?

Really impressed?

After seeing (in chronological order) Steve Jobs, Al Gore and Tim Bray make use of Apple Keynote, I absolutely had to give it a try. And impressed I was – and to some extent, still am. For me, this revelation happened about a year ago. I cannot recall the previous instance – i.e., the time I was truly impressed by desktop software.

Although I may be premature, I can’t help but ask: Is desktop software dead?
A few data points:
  • Wikipedia states: “There is no page titled “desktop software”.” What?! I suppose you could argue I’m hedging my bets by choosing an obscure phrase (not!), but seriously, it is remarkable that there is no Wikipedia entry for “desktop software”!
  • Microsoft, easily the leading purveyor of desktop software, is apparently in trouble. Although Gartner’s recent observations target Microsoft Windows Vista, this indirectly spells trouble for all Windows applications as they rely heavily on the platform provided by Vista.
  • There’s an innovation’s hiatus. And that’s diplomatically generous! Who really cares about the feature/functionality improvements in, e.g., Microsoft Office? When was the last time a whole new desktop software category appeared? Even in the Apple Keynote example I shared above, I was impressed by Apple’s spin on presentation software. Although Keynote required me to unlearn habits developed through years of use Microsoft PowerPoint, I was under no delusions of having entered some new genre of desktop software.
  • Thin is in! The bloatware that is modern desktop software is crumbling under its own weight. It must be nothing short of embarrassing to see this proven on a daily basis by the likes of Google Docs. Hardware vendors must be crying in their beers as well, as for years consumers have been forced to upgrade their desktops to accommodate the latest revs of their favorite desktop OS and apps. And of course, this became a negatively reinforcing cycle, as the hardware upgrades masked the inefficiencies inherent in the bloated desktop software. Thin is in! And thin, these days, doesn’t necessarily translate to a penalty in performance.
  • Desktop software is reaching out to the network. Despite efforts like Microsoft Office Online, the lacklustre results speak for themselves. It’s 2008, and Microsoft is still playing catch up with upstarts like Google. Even desktop software behemoth Adobe has shown better signs of getting it (network-wise) with recent entres such as Adobe Air. (And of course, with the arrival of Google Gears, providers of networked software are reaching out to the desktop.)

The figure below attempts to graphically represent some of the data points I’ve ranted about above.

In addition to providing a summary, the figure suggests:

  • An opportunity for networked, Open Source software. AFAIK, that upper-right quadrant is completely open. I haven’t done an exhaustive search, so any input would be appreciated.
  • A new battle ground. Going forward, the battle will be less about commercial versus Open Source software. The battle will be more about desktop versus networked software.

So: Is desktop software dead?

Feel free to chime in!

To Do for Microsoft: Create a Wikipedia entry for “desktop software”.

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.

Book Review: Building Telephony Systems with Asterisk

Asterisk is a Open Source framework for building feature/functionality-rich telephony solutions. And although it’s able to compete solidly with offerings from commercial providers, the establishment of an Asterisk deployment is involved. Thus D. Gomillion and B. Dempster’s book Building Telephony Systems with Asterisk will be useful to anyone intending to delve into Asterisk. The book is comprised of nine chapters whose content can be summarized as follows:
  • In providing an introduction, Chapter 1 enumerates what Asterisk is and isn’t. Asterisk is a PBX plus IVR, voicemail and VoIP system. Asterisk is not an off-the-shelf phone system, SIP proxy or multi-platform solution. This enumeration leads to a welcome discussion on Asterisk’s fit for your needs. The authors quantify this fit in terms of flexibility vs. ease-of use, configuration-management UI, TCO and ROI. Although the latter to topics are covered briefly, the authors’ coverage will certainly serve to stimulate the right kinds of discussions.
  • Chapter 2 begins by enumerating the ways in which the Asterisk solution might connect to the PSTN. Next, in discussing the four types of terminal equipment (hard phones, soft phone, communications devices and PBXs), the major protocols supported by Asterisk are revealed – namely H.323, SIP and IAX. Whereas H.323 is well known to many of those who’ve delved in videoconferencing, and SIP to anyone who’s done any reading on VoIP, IAX is an interesting addition specific to Asterisk. The Inter-Asterisk eXchange (IAX) protocol attempts to address limitations inherent in H.323 and SIP relating to, e.g., NAT support, configurability, call trunking, sharing information amongst Asterisk servers plus codec support. IAX is not a standard and device support is somewhat limited but on the rise. As of this book’s writing, September 2005, IAX2 had deprecated IAX – and that still appears to be the case. Guidelines for device choice, compatibility with Asterisk, sound quality analysis and usability all receive attention in this chapter. The chapter closes with a useful discussion on the choice of extension length. Highly noteworthy, and already provided as a link above, is the voip-info.org wiki.
  • The installation of Asterisk is the focus of Chapter 3. After reviewing the required prerequisites, none of which are especially obscure, attention shifts to the Asterisk-specific components. In turn Zaptel (device drivers), libpri (PRI libraries) and Asterisk are installed from source. (I expect packaged versions of these components are now available for various Linux distributions.) Asterisk includes a plethora of configuration files, and these are given an overview in this chapter. And although it’s not mentioned, disciplined use of a revision control system like RCS is strongly advised. The chapter concludes with sections on running Asterisk interacting with its CLI to ensure correct operation, start/stop the service and so on.
  • With Asterisk installed, attention shifts to interface configuration in Chapter 4. In working through line and terminal configurations for Zaptel interfaces, one is humbled by the edifice that is the pre-IP world of voice. Our introduction to the intersection between the pre-IP and VoIP universes is completed by consideration of SIP and IAX configuration. Again humbling, the authors’ treatment affords us an appreciation of the application of acknowledged standards like SIP (which is itself based on RTP) through implementation. The final few sections of the chapter further emphasize the convergence capabilities of VoIP platforms by exposing us to voicemail, music-on-hold, message queues and conference rooms.
  • Through the creation of a dialplan, Asterisk’s functionalities and features can be customized for use. Dialplans are illustrated in Chapter 5 by establishing contexts, incoming/outgoing-call extensions, call queues, call parking, direct inward dialing, voicemail, automated phone directory and conference rooms. Customization is involved, and it is in chapters such as this one that the authors deliver significant value in their ability to move us swiftly towards a dialplan solution. Also evident from this chapter, and to paraphrase the authors, is Asterisk’s power and flexibility as a feature/functionality-rich telephony solution.
  • Under Asterisk, calls are tracked with Call Detail Records (CDRs). Data pertaining to each call can be logged locally to a flat file or to a database running on (preferably) a remote server. The database-oriented approach for managing CDR data is more flexible and powerful, even though it takes more effort to set up, as this solution is based on databases such as PostgreSQL or MySQL. CDR comprises the least-invasive approach for quality assurance. The remainder of the content in Chapter 6 focuses on more-invasive approaches such as monitoring and recording calls.
  • Based only on the context provided by this review, it is likely apparent that an Asterisk deployment requires considerable effort. Thus in Chapter 7, the authors introduce us to the turnkey solution known as Asterisk@Home. Asterisk@Home favors convenience at the expense of flexibility – e.g., the flavor of Linux (CentOS) as well as support components such as the database (MySQL) are predetermined. The Asterisk Management Portal (AMP), a key addition in Asterisk@Home, Webifies access to a number of user and administrator features/functionalities – voicemail, CRM, Flash Operator Panel (FOP, a real-time activity monitor), MeetMe control plus AMP (portal and server Asterisk@Home management) itself. Before completing the chapter with an introduction to the powerful SugarCRM component bundled with Asterisk@Home, the authors detail required steps to complete the deployment of Asterisk@Home for a simple use case. It’s chapters like this, that allow us to all-at-once appreciate the potential for the Asterisk platform. (Packt has recently released a book on AsteriskNOW. AsteriskNOW is the new name for Asterisk@Home.)
  • The SOHO, small business and hosted PBX are the three case studies that collectively comprise Chapter 8. Sequentially, the authors present the case-study scenario, some discussion, Asterisk configuration specifics, and conclusions. In taking this approach, the authors make clear the application of Asterisk to real-world scenarios of increasing complexity. In the SOHO case, the SIP shared object (chan_sip.so) is not loaded as this functionality is not required. This is but one example of how the authors attempt to convey best practices in the deployment of a production solution based on Asterisk.
  • Maintenance and security are considered in the final chapter of the book (Chapter 9). The chapter begins with a useful discussion on automating backups and system maintenance plus time synchronization. Those familiar with systems administration can focus on the Asterisk-specific pieces that will require their attention. This focus naturally leads to a discussion of recovering the Asterisk deployment in the event of a disaster. Security gets well-deserved consideration in this chapter from both the server and network perspective. For example, there is very useful and interesting content on securing the protocols used by Asterisk with a firewall. Before closing the chapter by identifying both the Open Source and commercial support offerings for Asterisk, the scalability of Asterisk is given attention.

This book was first published in September 2005 and is based on version 1.2.1 of Asterisk. As of this writing, Asterisk’s production version is 1.4.x, and the version 1.6 beta release is also available (see http://www.asterisk.org/ for more). Even though the book is somewhat dated, it remains useful in acquainting readers with Asterisk, and I have no reservations in strongly recommending it.
Disclaimer: The author was kindly provided with a copy of this book for review by the publisher.

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.