Survey on How Scientists Use Their Computers

How do scientists actually use computers in their day-to-day work?

A Canadian team is conducting a survey to find out:

Computers are as important to modern scientists as test tubes, but we know surprisingly little about how scientists develop and use software in their research. To find out, the University of Toronto, Simula Research Laboratory, and the National Research Council of Canada have launched an online survey in conjunction with “American Scientist” magazine. If you have 20 minutes to take part, please go to:

http://softwareresearch.ca/seg/SCS/scientific-computing-survey.html

Thanks in advance for your help!

Jo Hannay (Simula Research Laboratory)
Hans Petter Langtangen (Simula Research Laboratory)
Dietmar Pfahl (Simula Research Laboratory)
Janice Singer (National Research Council of Canada)
Greg Wilson (University of Toronto)

The results of the survey will be shared via American Scientist.

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”.

The MFA is the New MBA: Illustrations by Steve Jobs and Apple

In March 2005, Dan Pink asserted “… the MFA is the new MBA”.
Why?

… businesses are realizing that the only way to differentiate their goods and services in today’s overstocked marketplace is to make their offerings physically beautiful and emotionally compelling. Thus the high-concept abilities of an artist are often more valuable than the easily replicated L-Directed skills of an entry-level business graduate.

I can’t think of a better illustration than Steve Jobs’ story of how the Mac became the first computer with beautiful typography.
And of course, true to form, Jobs illustrated Pink’s assertion more than two decades ago.
And since 1984, Jobs and Apple have made the illustration even more compelling with the current generation of Macs, the iPod, and most recently the iPhone.
Note-to-self: Look into MFA programs!

Aside: I’ve blogged previously about Pink’s book and its implications for displacing knowledge workers.

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.

Jott Announces Local Numbers for Canada!

The following message just arrived in my inbox:

From: “Jott Networks”
Date: February 13, 2008 1:39:32 PM GMT-05:00
To: ian DOT lumb AT gmail DOT com
Subject: Canadian Local Numbers Announced
Reply-To: feedback AT jott DOT comHi everyone,

We are happy to announce that Canadian local numbers are finally here!

As most of you know, we have had a Toronto Jott number (647-724-5814) for some time and have been working on acquiring more local numbers across Canada.

Still confused as to why we are not releasing a toll free number? Jott requires caller ID to know who is sending a Jott to what contact information. In an effort to protect your privacy, most Canadian mobile providers have blocked caller ID information from being passed to toll free numbers. This leaves the alternative of using local access numbers across the country, so that everyone can send Jott messages without having to pay long distance fees.

Below is the list of available Jott numbers in Canada. Find the number in your area code and program it to your speed dial today!

AURORA : +12898020110
CALGARY : +14037751288
EDMONTON : +17806287799
HALIFAX : +19024828120
HAMILTON : +19054819060
KITCHENER : +15199572711
LONDON : +15194898968
MARKHAM : +12898000110
MONTREAL : +15146670329
OTTAWA : +16136861502
QUEBEC CITY : +14189072209
SAINT JOHNS : +17097570047
SHERBROOKE : +18193401636
TORONTO : +16477245365
TORONTO : +14168001067
VANCOUVER : +17787868229
VANCOUVER : +16044841347
VICTORIA : +12509847093
WINDSOR : +15198000031
WINNIPEG : +12042728154

Brought to you by Jott.com – 1-866-JOTT-123
300 East Pike Street, Suite 200
Seattle, WA 98122
Click here to stop receiving emails like this.

This is excellent news!

And just in case this is your first visit to my blog, you can read other Jott-related posts here.

wikiyork: Academic Social Networking via a Wiki

I spent two days earlier this week participating in the TEL(Technology Enhanced Learning)@York 2007 event.

This year, the conference theme was “Partnerships to Enhance Student Engagement“.

Arguably, Rene Suarez’ wikiyork contribution was the most-provocative demonstration of a partnership to enhance student engagement.

wikiyork is:

  • a place to share notes, reading summaries, exam reviews, tests, assignments, opinions, etc…
  • open-source, editable by anyone, viewable by anyone
  • student-controlled (not really…everyone has equal control; everyone is a student and a teacher)
  • free (non-profit and ad-free)

In discussing wikiyork as an enabling platform for peer collaboration in an undergraduate academic setting, one of the concerns raised was the unearned benefit of such ventures to social loafers. In addressing this concern, it may benefit the wikiyork team to reflect upon the basic elements of cooperative teams:

  • Positive interdependence
  • Individual accountability
  • Face-to-face promotive interaction
  • Interpersonal and small group skills
  • Group processing

By recontextualizing these elements for wikiyork, it may be possible to (over time) turn social loafers into social contributors.

I’m not sure if wikiyork is the first of its kind. Regardless, I applaud the efforts of Rene Suarez and his collaborators, as I believe they’re on to something potentially compelling with wikiyork.

Collaborative, Browser-Based Mind Mapping with MindMeister

I serendipitously happened across MindMeister about thirty minutes ago.

Since then, I’ve created a mind map from scratch, plus imported and exported maps with FreeMind – my incumbent mind-mapping software. (The importing/exporting appears to work very well. This is one of the capabilities of Google Docs & Spreadsheets that makes it a keeper, so kudos to the MindMeister team infor getting this right in a beta version!)

So, based on less-than-an-hour’s experience, I am quite impressed. This is yet another example of a browser-based application that performs as if it’s installed locally – on a powerful laptop/desktop! Although I haven’t been able to confirm this yet, I suspect that MindMeister is based on AJAX – just like Google Docs & Spreadsheets.

As you can read for yourself from more-comprehensive reviews, others are also impressed with MindMeister even though it lacks a number of features/functionalities. For example as a former use of Mindjet MindMapper, and current, frequent user of FreeMind, what I’m missing the most in MindMeister (so far) is the ability to attach notes and hyperlinks to my nodes. I’m sure that capabilities such as these aren’t far away.

In addition to being intuitive and responsive, the online aspect of MindMeister is impressive. Taking another page out of the Google Docs & Spreadsheets’ book, this inherently online element is used to enable collaboration.

And just to close with some wild speculation … MindMeister would make a nice acquisition target for Google. It’d be a complimentary inclusion in their expanding online productivity portfolio. I would also expect it to be an interesting fit with Google’s JotSpot wiki and even Google Notebook.