WordPress database error: [Table 'llscotts_mars.wp2_categories' doesn't exist]
SELECT cat_ID FROM wp2_categories WHERE category_nicename = 'software-musings'

Musings from Mars » Software Musings
Musings from Mars Banner Image
For Software Addicts: Yes!MaybeNah!
Resource Posts In Category <em></em>

Resource Posts In Category

March 5th, 2019

An Audiophile Listening Room with Apple’s HomePod

Apple's HomePod has been the underdog in the "smart speakers" category since its introduction last year. It's more expensive than the offerings from Google and Amazon, and Siri doesn't seem to be as powerful. I haven't used Alexa or the Google AI assistant, so I can't say what the difference may be. But let me just say that HomePod is a revelation in audio quality, and its "smart" features are more than adequate for my needs. The most surprising aspect of HomePod is that it has finally let me put together an audiophile listening room without taking out a second mortgage!

At its most basic, HomePod is a smart speaker with Siri built in and truly gifted sound quality. It's a breeze to set up... you just use your iPhone to pair and copy settings, which takes about a minute. My first use was to add some smart light bulbs to the house, and with Apple's HomeKit app on the iPhone that's a simple matter too. To activate a new device, you just scan an icon on the packaging and then assign it to a "room" in your house. (In HomeKit, you can set up rooms and "scenes" for your devices.) Once set up, it's a simple matter to say "Hey Siri" and then turn on or off a given bulb. HomeKit also makes automation simple, so you can easily have lights come on and off at different times of the day. With scenes, you can automate multiple devices with a single command. For example, when I go to bed, I say, "Hey Siri, Goodnight," and Siri turns off the basement family room light and the foyer light.

I also subscribed to Apple Music as part of my movement to the HomePod, and I've thoroughly enjoyed being able to listen to any given album by voice command. Of course, HomePods are also AirPlay speakers, so you can easily play music to them from your iPhone, iTunes, or other devices. It's simple to play to multiple HomePods at once, and Siri can move the music from room to room by voice command if you so choose.

But the most surprising aspect of HomePod has been its audiophile sound quality. Even bass response is great, which is amazing given the small size of these speakers.

I got a new HomePod for Christmas (I already had two) and decided to put it in the living room. It sounded so wonderful I decided to buy another one and set them up as a stereo pair. That's when the true value of these little speakers became clear.

With two HomePods now in my living room, I finally have achieved an audiophile listening environment at a truly reasonable price. The two little speakers pump out amazing sound, and they only cost me about $700. To replicate a listening environment with traditional high-fidelity speakers would cost at least $2,000, because you need not only the speakers (minimum: $1,000), but also you would need a receiver/amplifier and some components to get music into the system: A CD player or turntable, for example. On top of that, you would need some place in the living room to house the speakers (much larger than HomePods) as well as the stereo components... and that means another piece of furniture as well as considerably more space than my current setup requires.

With my paired HomePods, I just need to plug them into the wall and put them on a shelf. And voila! Instant audiophile listening without all the other setup headaches and at a much lower cost.

And I love the fact that the speakers have Siri built in, which means I can raise or lower the volume by voice, get information on what's playing, skip a song, or repeat... all by simply asking Siri.

The HomePod's audio quality is more than just a differentiating factor when you compare it to Google and Amazon speakers. It truly is great enough to compete with high-end speakers costing much more, and you can easily set up a listening environment that will tickle the ears of even the pickiest audiophile. A surprising punch for such a tiny device.

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
November 20th, 2012

Windows 8 UI strategic mistake, argues design guru - Computerworld

Windows 8 UI strategic mistake, argues design guru - Computerworld. Excellent and detailed article about the Windows 8 user interface. The author, Jakob Nielsen, argues that Windows 8 fails the usability test on both tablets and the PC. Some of his points are weak, but overall this is a good read.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
Posted in:MS Windows, Microsoft, UsabilityTags: |
September 4th, 2012

Still Thinking About It: Can You Mount A Lion Virtually?

Now that I've effectively passed Lion by, I'm thinking again about whether or not to upgrade from Snow Leopard (Mac OS X 10.6). As noted in an earlier article explaining why I've avoided Lion, this is the first time since Mac OS X debuted in 2001 that I've hesitated to upgrade. So here it is again: Should I? Why not?

Apple did improve Lion during the course of its life, and Mountain Lion seems like a logical and relatively smooth update. Most of the reasons I had for not liking Lion still stand, but a couple have been remedied. In addition, I've found more things to like. For example:

  • Windows resizable from all sides.
  • Quick Look feature in Spotlight: You can preview docs right from the Spotlight results list.
  • Improved Mail client: Many improvements, including finally providing the option to show previews on the right-hand side.
  • Change in default setting for opening new windows on login. Now the default is off, and Apple has provided a system preference option to help control this behavior as well.
  • Improved search/replace in TextEdit.
  • Improved CharacterPalette app.
  • Nicer full screen Quick Look mode.
  • Safari improvements: Tabs, downloads, among others.
  • Spotlight is searchable while it's building the index.
  • Improved Cocoa text tools.
  • Mountain Lion: Finder sidebar lets users decide how to organize the sections.

One of the main reasons to upgrade is to take advantage of iCloud, which has become a more serious need now that Apple took MobileMe away from us. I can no longer sync my Safari bookmarks automagically, for example. However, I'm still pissed that Apple hasn't made a version of iCloud available for the many folks still on Snow Leopard.

Speaking of which, what exactly is the breakdown of Mac users in August 2012? It's only been a month since Mountain Lion was released, but clearly upgrading is happening pretty quickly. According to the stats from NetApplications.com, Lion users account for about 35% of the market, Snow Leopard users about 34%, and Mountain Lion users about 20%. There are still about 10% of users hanging on to Leopard. That Snow Leopard figure is pretty damn high considering how long Lion has been out, and is one that Apple should be paying more attention to.

For me, the most daunting task of upgrading to Mountain Lion will be migrating all of my apps, their settings, and their licenses. Because Lion doesn't support Rosetta, I have to abandon any old PowerPC apps hanging around. The most significant of these is Quicken 2007, but I also have to upgrade my license for MaxBulk Mailer and a couple of others. Finding a replacement for Quicken remains a challenge, though I finally did find one that seemed worth buying: iBank. I haven't actually moved from Quicken yet for monthly financial balancing, but I think iBank will do the trick once I do.

To give you (and me) an idea of the application burden I'm looking at, I've compiled the following list, organized by major categories and subcategories. The colored cells on the far right represent how often I use each app — from light green (daily) to orange (quarterly). Apps I don't touch more often than quarterly aren't represented in the table, nor are apps that are part of Mac OS X (including iLife).

Category Subcategory App Name License Issues Use

Recording & Editing

Amadeus Pro C

ClickRepair C

DeNoise C

Logic Express C

iTunes Software Bowtie F

CoverSutra C

Animation & 3D

3D Tools Live Interior 3D C

Needs reinstall

Animation Morph Age C


Advertising GarageSale C

MaxBulk Mailer X C

Rosetta - Upgrade

Product Delivery Endicia S

Spreadsheets Numbers C

Presentation Keynote C

Office Suites iWork C


Desktop Wallsaver F

GeekTool F

Interface Enhancements

CandyBar C

ThemePark 3 F

ThemePark F

Visor F

Software Preferences

AppHack F

OpenPListCM F

PlistEdit Pro C

TinkerTool System C

System Extensions CrystalClear Interface C

DefaultFolder X C

LiteSwitch X C

TotalFinder C

XtraFinder F

Design & Graphics

Color Utilities iPalette F

paintersPicker C 32bit

Drawing & Painting

VectorDesigner C

Image Editors

Adobe Photoshop CS4


Back In Focus C

Image Management

Icon2Image C 32bit

Aperture C

Screen Capture LittleSnapper C

Web Design Flux C

Developer Tools

AppleScript Sdef Editor F

Cocoa Development

Platypus F

Packages F

Needed install

Code Editors



Code Management Code Collector Pro C

svnX F

Databases Querious C

Debugging & Testing

Xcode OS X

Hacking F-Script Anywhere F Interactivity

Pacifist C

AppHack F

SymbolExplorer F

Contrast problem

Web Development Espresso C

File & Disk Management

Disk Utilities Drive Genius C

File Browsers & Managers

Path Finder C

File Utilities Springy C

Disk Inventory X F

File Juicer C

Managing Digital Formats

Pavtube Blu-Ray Ripper


Software Management

RapidoSerial F

Home & Learning

Mail & Print Tools Endicia C

Dymo printer needed new driver

Personal Finance Quicken C

Rosetta - Need alt

iBank C

Powersnipe F

Photos & Slideshows

PhotoPresenter C 32bit

Reference MacTracker F

Google Earth F

Information Management

Bookmarking & Tagging

Leap C

Fresh C

Personal Information Mgmt

DEVONthink Pro C

Evernote F

Yep C

Securing Content 1Password C

Internet Tools

File Transfer Tools

MacTubes F

Xtorrent C

Note: Works with CB on Lion.

Yummy FTP C

News & Podcast Readers

Times C

Web Browsers

Camino O

Firefox O

Flock F

Chrome O

Opera F

Safari F

WebKit O

Browser Add-Ons

Flash Cache Server F

SafariStand F

Web Research

DevonAgent C

Voice & Chat

Adium O

Skype F


Application Services

KavaServices C

Clipboard Utilities

ClawMenu C


Quicksilver O

ClawMenu C

DragThing C

iKey C

Quick Access Tools

Fresh C

MenuPop C

FolderGlance C


Required upgrade to beta version

QuickAccessCM F

OpenMenu X C

Shortcuts & Automation

Autopilot C

Hazel C

Shortcuts F

Spark F

TextExpander C

OpenMenu X C

A Better Finder Rename C

System Administration

Backup & Synchronization

Carbon Copy Cloner F

Chronosync C


Lingon F

TinkerTool System C

Secrets F

System Maintenance

CleanApp C

Data Rescue C

iFreeMem C

VacuumMail F

What’s Keeping Me F

System Monitors

BackTrack C

Main App wouldn’t open from statusbar item

BwanaDik F

Growl F

CB Not Loading

MemoryStick F

Sloth F

Terminal & Unix Tools

ManOpen F

Task Management

Notes & Reminders

Edgies C

Sticky Notes C

Outlining & Mind Mapping

MindNode Pro C

MyMind F


Personal Organizers

MenuCalendarClock iCal C

Edgies C


Leap C

DEVONagent C

EasyFind F

Time & Schedules

QuartzClocks F

MenuCalendarClock iCal C


Screen Video

ScreenFlow C

Voila C

Video Players

MacTubes F


Writing & Publishing

Rich Text Editors

Bean F


ScreenFlow C

Text Utilities

TextSoap C

Other Web Sharing

Twitterrific C

Word Processors

Bean F

Pages C

The most compelling argument for upgrading, quite frankly, is my need to stay current with users of my software, CrystalClear Interface and Crystal Black primarily. Since I don't live in Lion or Mountain Lion, it's difficult to quickly test any bugs users report, and I'm not finding any on my own, as I typically do while using Snow Leopard. In addition, the burden of testing and quality assurance is much more difficult when I have to cover three operating systems, though that burden will remain so long as Snow Leopard has such a big market share.

Besides the issues I've already stated, the biggest argument against upgrading is that my software doesn't work as well on Lion or Mountain Lion as it does on Snow Leopard. For me, that's a big pain in the butt, and it doesn't let me enjoy the theming as fully. For reasons why this is an issue, see the recent brief article I wrote on the subject.

So, bottom line: I'm still on the fence. One possible compromise, if I can confirm it will work, is to run Mountain Lion as a virtual OS, as one can do with MIcrosoft Windows or Linux. If I can run Mountain Lion inside Parallels Desktop, for example, I could keep it handy for testing while running Snow Leopard as my primary OS.

Or, I could do the reverse: Upgrade to Mountain Lion and run Snow Leopard in virtual mode. I've read that these things are possible, but haven't gone down the path of actually trying them out yet.

If I can make the virtual OS route work, that's probably where I'm going to end up — at least until Apple releases its next big Feline.

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
August 17th, 2012

iBlog: Major Update to Blogging Tool in the Works

iBlog iBlog Publishing ToolOriginally downloaded April 14, 2007. I had tried the first version of iBlog and wasn't terribly impressed... it just wasn't flexible enough to interest me. Unlike tools like Ecto and MarsEdit, iBlog is a blog publishing platform you would use instead of Blogger, WordPress, TypePad, etc. The new version appears to have added a very flexible template builder, which also incorporates a tabbed editing environment for managing your template and style files. It also supports any iLife data types and can publish to any FTP or .Mac site. In this way, it's similar to Apple's iWeb, but is much more flexible. In addition, it apparently incorporates an HTML code editor in addition to the WYSIWYG editing tools you'd expect from a tool like this. All in all, it sounds like a worthy upgrade... but just how much it's worth isn't yet known, since there's no pricing listed (yet). At this point, I've downloaded release candidate 2 for iBlog 2.0.

Version as tested: 2.0 RC2.

Update 8/17/12.

Well, 5 years later I'm finally trying out iBlog which, by the way, is $30 per license. And what a disappointment it's turned out to be! Not only has the software not been updated in 5 years, which makes it almost abandon-ware, but it doesn't do what I expected. The concept is far more ambitious than the result, and iBlog is only suitable for very simple instances where you just want to upload HTML and images. If you're using WordPress or some other data-driven blog, this won't do at all. Its "templates" are very primitive compared with what you can get for free from popular packages like WordPress. Finally, it has no WYSIWYG capability that I could see... you can't format lists, tables, or use layers, without typing them in by hand. You can toggle between code and preview mode, but that's a pretty basic feature in an HTML editor. The interface is also very plain-jane and amateurish, and the app kept crashing on me. If you want to set up a blog, look elsewhere: This is not a worthwhile option.

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
June 8th, 2012

In search for civility online, is the Golden Rule the answer?

ISO civility in online comments - The Washington Post. This is a spot-on article pointing out the horrible state of interpersonal communication on the web. Nothing new, really -- it's been this way for years, but it's just getting worse. One big insight is the relationship between the "blinders on" mentality of those who troll the web and the "don't bother me with facts" mentality of the Tea Party and their ilk, like survivalists and members of the Government Paranoid. One group feeds the other, and they never read anything but what they agree with. These folks aren't looking for a conversation -- they're looking for a fight. And the rest of us must try really hard to turn the other cheek and not let the fight begin.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
January 24th, 2012

Text Tools for Mac OS X: Free At Last!

MarsThemes Text Tools Software

Some variation of these text tools have been included in CrystalClear Interface, as well as Crystal Black, since those applications were first released. However, the tools have nothing to do with the theming of buttons and windows, or with the general appearance of Mac OS X. I added them because they address a real need of mine, which no other software could do.

As a writer, I need ready access to a range of text functions, and I need them in whatever application in which I happen to be writing. In most of the rich text editors I use, those functions are available somewhere in the app’s menus, but typically they're in different places within each app. Some apps don’t include one or two key functions at all.

Mac OS X has a rich text framework that provides just the set of editing tools I require, and it would be extremely handy to be able to access those tools consistently across apps. This is precisely what the MarsThemes Text Tools do: Grant easy access to the key Cocoa text tools that writers and editors need but can’t find.

So, what text tools am I talking about? Here’s a list of the key tools:

  • Tables. I often find formatting content into rows and columns an extremely useful way of organizing information, but few RTF applications seem to agree with me. Mac OS X includes a quite functional table-editing tool that I can quickly use when needed without opening a CrystalClear Interface 2.6 Desktopprofessional word processor such as Pages, or reaching for a spreadsheet app like Numbers.
  • Lists. From time immemorial, both humans and Martians have found organizing information as lists to be an essential tool for viewing and encapsulating that information. Again, finding the built-in list feature can be a problem, especially in apps that don’t let you access Mac OS X’s RTF “Ruler” tool (more on that momentarily).
  • Links. In the internet age, writers often need to add hyperlinks to their documents, yet finding the built-in hyperlinking tool can be a challenge. The tool either isn’t there, it’s buried in a set of menus, or it’s somewhere that doesn’t make sense.
  • The Ruler. If you’ve ever used a Mac OS X RTF editor such as TextEdit or Bean, or some kind of information management application like DevonThink Pro, EagleFiler, or Journler, you’re probably familiar with The Ruler (though didn’t know it had a name). The Ruler is the strip of tools that appears above whatever text document you’re working on. It contains a menu of handy (and customizable) text styles, alignment tools, a customizable menu for setting line and paragraph spacing, a menu for setting and customizing lists, and a group of tools for setting margins, tabs, and indentation. Sometimes The Ruler appears automatically, but other times you must hunt for access to it. Unfortunately, many applications feel the need to replicate these functions in some quirky unique way (such apps include Evernote and MacJournal). In my ideal editing environment, I want to summon The Ruler when needed, and dismiss it when it’s not.
  • Strikethrough. Oddly, the only straightforward way of striking through text (a very useful thing to do!) is to open the Mac OS X Font panel, which has a menu that includes strikethrough and underlining functions.
  • Copy and Paste text styles. Yes, there are standard keyboard shortcuts for these functions, but I find they don’t work in all applications, and I often forget what they are. Yet I use the functions frequently.

One of my favorite uses of the Text Tools is in applications or text fields that support rich text but provide no access to RTF editing tools. An obvious example of this is Apple’s Stickies application, which apparently assumes that users only want to type paragraphs with no formatting. Using the Text Tools, you can add The Ruler, a table, and all the rest.

CrystalClear Interface 2.6 Desktop

Other note-taking apps I use heavily likewise provide no way to toggle The Ruler or add a table are Edgies and Sticky Notes. Both have some of the Text Tools accessible in their menus, but using their menus may be awkward. Since the MarsThemes Tools provide a contextual menu, the tools are always at your fingertips.

Other examples I like to point out are the Comments field in Xcode’s snapshots window and in the application Packages, the Notes field in Interface Builder, any text view you’re formatting in Interface Builder’s edit window, the image description field in Little Snapper, and various others. (For my developer colleagues, I should point out that using the tools in Interface Builder is especially nice, because it lets you enter attributed text without having to format it in an external RTF editor and then copying/pasting it into IB. Note also that I still use Xcode 3.2, so IB is a separate application.)

Then there are applications like Yojimbo, which should provide a way to format text, but don't. Here, the Text Tools let you add The Ruler, a table, etc.

As mentioned, the Text Tools are activated as a contextual menu — using either a right-click or a Ctrl-click — in the field or document you want to edit. The Tools also provide a keyboard shortcut — ^⌥ Y — to pop up the menu. The shortcut is particularly handy in fields CrystalClear Interface 2.6 Desktop(such as those in Interface Builder) that usurp the field’s normal contextual menu.

The MarsThemes Text Tools have only two user options, which you can access from the “Manage tools” item in the Text Tools menu, or from the “Text Tools” item in the application’s menu. The two options are:

  • Show more text tools
  • Show Manage Tools menu at top.

CrystalClear Interface 2.6 DesktopSelecting the first option adds the following tools to the menu:

  • Styles (used for adding a custom style to your personal list)
  • A “More Tools” menu, which includes the Capitalize functions, which normally appear in a submenu, as well as access to two handy formatting tools to control inter-letter spacing and baseline setting.
  • Access to the Substitutions setting panel.
  • A link to open the very handy Special Characters panel.

CrystalClear Interface 2.6 DesktopBy default, the Manage Tools menu appears at the bottom of the Text Tools menu,  but you can change that.

The Manage Tools menu also includes functions for checking updates, uninstalling, and getting help.

Finally, the Text Tools application is programmed so that it only loads into software that it detects has some kind of editing functionality. There’s no use loading the Text Tools into System Preferences or the Finder, for example. This keeps its overall footprint on your Mac as small as possible.

Text Tools is freeware, so give it a try! Hope you enjoy it as much as I do.

The software will be added as a premanent item on the MarsThemes website, under Software. You can download it here.

★ Technical Notes

The Text Tools run as a plugin to the Mars Theme Loader (MTL) framework. If you do not have MTL installed, the Text Tools installer will do that for you. If you uninstall the Text Tools, the uninstaller will disable the MTL agent at that time.

There are very few components to the Mars Text Tools:

  1. The plugin (TTFilter.bundle) located at /Library/Application Support/MarsThemes/plugins, and
  2. A folder containing this document (as a PDF file) and the Uninstall program. That folder is at /Library/Application Support/MarsThemes/TextTools

To uninstall the Text Tools, open an application where they're active, open the Text Tools menu (easiest way is from the Application's main menu) and select "Uninstall Text Tools." If you have trouble finding an application that's running the Tools, open the folder referenced above and run the UninstallTextTools application.

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
January 20th, 2012

Bye Bye, Google

That's it... I'm done. Fed up. I've taken Google and shoved it off my system. Don't get me wrong... I like Google, though I like Google far less than I did 6 years ago. Its software has gotten too complicated... it's too ubiquitous... it's too intrusive... and it's too Windows-centric. I really hate Chrome, but don't have time to go into why today. I like Google Earth on my iPad, but hate it on my desktop. On the desktop, it looks just like a Windows app: Butt ugly. But what I really hate is the sneaky and intrusive way Google updates itself on my Mac. Without warning, Finder suddenly jerks me away as it loads the latest Google update and then deletes it when done. I just don't need that. I don't use Google's desktop software, so it's bye bye Keystone agent. Bye bye Google update agent. Bye bye Google Earth plugins and updates. It took me 20 minutes to finish everything, and I hope it doesn't start up again without my knowledge the next time I launch Chrome.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
Posted in:Internet, Software MusingsTags: |
August 16th, 2011

I don’t like the App Store, but in case I need it someday…

Tips for submitting software to the Mac App Store This looks like a good set of instructions and tips for developers who have used some other selling mechanism previously but would like to begin using the App Store. With Aquatic Prime apparently incompatible with Mac OS X 10.7 ("Lion"), I may need to find an alternative...
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
July 27th, 2011

HTML5 Audio and Video Guide

Safari HTML5 Audio and Video Guide: About HTML5 Audio and Video. This is a good reference with lots of sample code for using HTML5 audio and video. The samples cover a wide range of possible custom applications. Though it's specific to WebKit/Safari, many of the CSS styles used for custom appearance are now supported by Firebox and, of course, Chrome (which is a WebKit browser like Safari).
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
July 26th, 2011

Detailed examples of how to play audio from a web page

How to play sound from a web page - UCL. From a website devoted to speech, hearing & phonetics, this is an excellent rundown of the various ways webmasters can add an audio file to a web page. Great examples and clear code for each of the 10 methods.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
July 23rd, 2011

“Just Say No To Flash”
Join The Campaign! Add A Banner To Your Website

Just Say No To Flash: Join The Campaign!In the past few years, Adobe Flash has become more than an annoyance that some of us have kept in check by using "block Flash" plugins for our web browsers. More and more, entire web sites are being built with Flash, and they have no HTML alternative at all! This goes way beyond annoying, into the realm of crippling.

I had noticed the trend building for quite awhile, but it only really hit home when I realized that Google, of all companies, had redesigned its formerly accessible Analytics site to rely heavily on Flash for displaying content. This wouldn't be absolutely horrible except for the fact that Google provides no HTML alternative. I tried to needle the company through its Analytics forums, but only received assurance that yes, indeed, one must have the Flash plugin running to view the site.

Keep in mind that content like that on Google Analytics is not mere marketing information, like the sales pitch on the Analytics home page.

Those of us who are disturbed by the trend need to be a bit more vocal about our opinion. Hence, I'm starting a "Just Say No To Flash!" campaign, with its own web page, graphics for a banner, and the CSS and HTML code to deploy it on your own web pages.

I've mentioned this to some of my family and friends, and they often come back with: "So, Why should I say no to Flash?" I admit that as a power browser and a programmer geek type who, shall we say, makes more efficient use of the web, I'm more keenly aware of the ways that Flash is chipping away at the foundation of web content.

In the beginning, it seemed harmless: Flash was an alternative to animated GIFs, and an easy way to embed movies on web pages. But then advertisers wrapped their meaty mitts around it, and that's when Flash started to be annoying. However, one could block Flash in the browser, as part of a strategy of shutting out obnoxious advertising.

But publishing content via Flash is just wrong, for a number of reasons.

It's A Proprietary Technology
. . . Or, One Company Controls The Standard

I don't think Flash is what Tim Berners-Lee had in mind when he created the first web browser and the markup language called HTML to run the web. Then, as now, the web is meant to be open to all. It is meant to be built using open standards that belong to no individual or company. The main open formats that should be used to build websites are simply:

  • HTML
  • CSS
  • JavaScript
  • Images (open formats)

Open standards for video, audio, vector graphics, virtual 3D graphics, animated graphics, and others are also available to be thrown into the mix.

Adobe PDF is also a common format for distributing final-form documents, and PDF is based on open specifications for both PDF and PostScript that Adobe published back in the 1990s.

It Isn't Backwards-Compatible
. . . Or, How Many Times Do I Have To Upgrade My *!/?#%@! Plugin?

If you install a Flash plugin today, there's no guarantee you'll be able to view Flash content created 2 months from now.

If you have a Flash plugin from 5 years ago, it's probably useless today.

Flash is designed with built-in obsolescence, forcing users to repeatedly visit the Adobe website to get an upgrade. This is not only a bother, it forces one company's advertising into the world's face every time it releases a software update.

It Can't Be Customized
. . . Or, How Do I Increase The Font Size?

From time immemorial (well, at least since the beginning of web time), a web page's text could be customized to suit the user's taste and needs. All web browsers provide the tools to increase/decrease the font size, as well as to specify custom fonts for different page elements (headers, paragraphs, etc).

Flash throws all of that out the window with a terse shrug, "Let 'Em Eat Helvetica 10pt."

Its Content Is Inaccessible
. . . Or, How Do I Drag And Drop Images and Text?

No, you can't drag and drop images or text from Flash content. This most basic method of interacting with a web page—dragging images off the page, or selecting sections of the page to drag onto an email or text processor—is a non-starter if it's part of a Flash file.

Copy and paste? If the Flash programmer has been thoughtful, you should be able to copy and paste text. But don't even try to copy any other page element.

And that includes copying a link's URL. Right-click (Ctrl-click) anywhere in a block of Flash content, and you get the standard Flash popup menu. Not very helpful.

You Can't Save The Page
. . . Or, You Mean, I Can't Save A Copy?

Another common task many web users take for granted is the ability to save a web page as text, as HTML, or as a format like rich-text format. With Flash, this is impossible.

You may be able to save the file as a web archive, but there's no open standard for a "web archive," and getting at the content inside one is almost as hard as getting inside a Flash movie.

Flash Consumes More Of Your Computer
. . . Or, Running Flash Diverts Your Processing Power and Memory

When I'm running Flash — as I am now while shopping at Adobe — my Activity Monitor shows it's consuming a continuous 5-percent of my processing power, and about 130 MB of my RAM.

For What? There's nothing a Flash movie can deliver that can't be delivered using open formats. its heavy resource drain is one reason I keep Flash turned off when browsing the web.

You Can't View Flash on an iPhone or iPad
. . . Or, I thought Apple was the bad guy here?

Apple has very good reasons for not supporting Flash on its tiny devices. As the previous point makes clear, Flash isn't a delicate, lightweight technology that your processor and RAM won't notice.

When trying to build hardware and software for small devices that work well and don't lead to memory problems or application crashes, why wouldn't you ditch unnecessary technologies like Flash?

Obviously, Steve Jobs stepped into a hornets nest here, but I think the hornets were wrong.

Make Your Site Say No To Flash

It's easy! Just follow these two steps:

1. Download the Image(s)

You can copy and save one of the following images, or download the Photoshop source and make your own.

Just Say No To Flash - Banner At Bottom Right
Just Say No To Flash - Banner At Bottom Right
2. Add the CSS

Here are two CSS styles for positioning the Just Say No To Flash banner on your web page. One positions the banner at the top-right, and the other at the bottom-right. To use the styles, just copy and paste the following code into the <HEAD> portion of your HTML.

To place the banner at the top-right corner of your page:
  1. <style>
  2. a#noFlash {
  3. position: fixed;
  4. z-index: 500;
  5. right: 0;
  6. top: 0;
  7. display: block;
  8. height: 160px;
  9. width: 160px;
  10. background: url(images/noFlashTR.png) top right no-repeat;
  11. text-indent: -999em;
  12. text-decoration: none;
  13. }
  14. </style>
To place the banner at the bottom-right corner of your page:
  1. <style>
  2. a#noFlash {
  3. position: fixed;
  4. z-index: 500;
  5. right: 0;
  6. bottom: 0;
  7. display: block;
  8. height: 160px;
  9. width: 160px;
  10. background: url(images/noFlashTR.png) bottom right no-repeat;
  11. text-indent: -999em;
  12. text-decoration: none;
  13. }
  14. </style>
3. Add the HTML

Add the following to the beginning of your HTML, just below the <BODY> tag, or at the end, just before the closing </BODY> tag:

  1. <a id="noFlash" href="http://www.musingsfrommars.org/notoflash/" title="Just Say No To Flash!"> Just Say No To Flash! </a>

Please always link your image to http://www.musingsfrommars.org/notoflash/ so everyone can find the information associated with the image.

Thanks to the "Too Cool for Internet Explorer" campaign run by w3junkies for the concept behind "Say No To Flash," as well as for the general outline of information that campaign provided.

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
April 12th, 2011

Theming Snow Leopard:
How Hard Could It Be To Paint A Leopard Black?

Preview of Crystal Black Theme for Snow Leopard

Dark interface themes are extremely popular with a small, but very passionate, group of Mac users. Sadly, since Apple introduced Leopard (Mac OS X 10.5), the old, relatively simple method of creating such themes on the Mac can't be used, and it took the theming community a good year and a half to figure out the current, relatively hobbled tools to theme the few bits of the interface that can be themed.

Given the weakened state of theming on the Mac, it's not surprising that the number of themes available has dwindled to a mere handful. And even those only go part of the way compared with what we used to be able to achieve with ShapeShifter. Still, the yearning for Mac themes remains strong among this community, and black themes are virtually nonexistent now.

Black themes have always been a challenge, because the frameworks used to build applications were designed to assume that text would always be black and the color of windows and buttons always light. Apple introduced a dark-theme paradigm a few years ago with its Heads-Up Display window style, which, with its translucent black background actually assumes that text will be white.

Starting with Leopard, developers using Xcode could tap into the HUD window style and use it whenever they want to, but most application windows aren't well suited to this, and Apple's user interface library still assumes that regular windows will be light, with black text. 

It's not only desktop applications that make this assumption. Web pages with button widgets also assume that the widgets will be light and their text black. On the Mac, it's becoming common for desktop applications to embed the WebKit for parts of their user interface—meaning that the button widgets are HTML- and CSS-based, not AppKit-based.

In addition to this basic problem, there's also the challenge of handling legacy applications based on Apple's earlier Carbon frameworks, as well as apps that are a blend of Cocoa and Carbon. Complicating this issue is that, as it turns out, applications built for the older PowerPC processor platform use a different part of the system graphics than those built for Intel chips.

If you try to design a theme that introduces black interface controls, you run into another challenge that has nothing to do with text. Many interface widgets use images rather than text to convey their purpose, so what if—as is usually the case—the application designer provides only black images for these buttons? Is a themer supposed to provide white images for every application a themee might want to use?

One specialized case of the images problem is the Mac OS X statusbar. Here, applications represent themselves almost exclusively as images, and nine times out of ten, the images assume that the menubar is light, so they should be black. Some enterprising themers have tried to solve this one by providing alternative white images for the most common statusbar applications, but usability can still suffer if someone using a black menubar launches an application that insists on putting a black icon up there.... one for which no white alternative exists.

Given all this, why would anyone undertake an effort to introduce a fully black theme for Snow Leopard?

I suppose it's because we Martians just can't step back from a challenge. Not to mention the fact that we, too, are afflicted with the passion for dark themes that many Earthlings suffer from. I also have a good starting point, having developed some useful techniques for the challenge through building CrystalClear Interface.

That said, the best I can offer still has compromised usability, which I detail below. But for the most part, I think I've succeeded in bringing to life a useable version of the legendary Cathode theme for ShapeShifter, in a redesign appropriate for Snow Leopard. The theme covers window backgrounds, background colors for tables and outline views, interface buttons, menubar, and text colors. It also coerces various types of windows to theme themselves in HUD style.

To acknowledge the theme's heritage, I've dubbed the theme Crystal Black. Crystal Black will be available for download soon, with a 15-day trial period and a purchase price of $6.00

It's important to note that Crystal Black and CrystalClear Interface can not coexist on the same system. You can't install Crystal Black until you uninstall CCI.

For my own documentation of this work, as well as to highlight the theme's strengths and weaknesses, the following list shows the various unique challenges I've faced in building Crystal Black and the solutions, if any, devised. Other challenges have been faced—and largely solved—in developing CrystalClear Interface, so I won't spend time on them here.

In the list, I've used a small graphic to indicate the degree of success in addressing each challenge:

★ Solid solution

☆ Partial solution

∅ No solution

For Cocoa applications:
  • Images on buttons and in column headings ★
  • Images and icons in the statusbar ★
  • Text color of buttons in web pages ★
  • Applications that use non-standard buttons and GUI frameworks. ☆
  • Text color on Finder items with color labels ∅
  • Cocoa applications that can't or won't take theming by Crystal Black ☆ (Problem solved 4/13/11.)
  • Cocoa applications that are on the user's "Disabled Applications" list ☆
For Carbon applications:
  • Text color for control widgets ☆
  • Color of titlebar and toolbar text ∅
  • Window and control object background colors ☆
Cocoa applications
★ Images on buttons and in column headings
Crystal Black Theme: Buttons without Crystal Black software
  • All images need to be made white, but without making custom button images for every possible application. Somehow, black images must be inverted as windows load.
  • Some images are already "templates," easy to invert. However, other images look like "templates," but aren't, and making them templates isn't a reliable technique.
  • Images with color (hue > 0) need to be distinguished from black/white ones. Knowing the image's color space doesn't help.
  • Some images are "Core Image" images, which don't have a bitmap representation that can be easily analyzed. In this case, Crystal Black must create a bitmap representation in check it out.
  • Images in column headings aren't buttons, so they require extra processing. In many cases, they change often so must be analyzed repeatedly. Some have proven inaccessible.
Crystal Black Theme: Buttons with Crystal Black software
Each button and column heading in application windows are analyzed as they load to determine whether—and how—they require inverting. If inverting is needed, Crystal Black generates a new image and sets in place of the original.

Crystal Black Theme: Custom popup buttonStill, there are a few cases that haven't yet been addressed. One is the case where a pull-down menu contains an image. I hope to deal with this in a future update.

★ Images and icons in the statusbar Crystal Black Theme: Menubar without Crystal Black software
  • For nearly all applications that have a statusbar item and associated image/icon, the image/icon is black in normal state and white when highlighted. This means the image is unreadable against a black menubar.
  • Unfortunately, the solution to the problem of images on buttons can't be applied to images and icons in the statusbar. In a few cases, the technique of inverting "template" images works, but applications with statusbar helpers that have invertable images are in a large minority.
Crystal Black Theme: Menubar with Crystal Black software
Most of your applications that have a presence in the statusbar—including all of Apple's—must have custom-built images. In Crystal Black, these images are installed in the application's Resources folder, while maintaining a backup of the original images. Crystal Black also runs an inversion method that works in a few cases, but can't be relied on for most.
★ Text color of buttons in web pages
Crystal Black Theme: Web page buttons without Crystal Black software
  • Requires digging through the page's document object model and checking for buttons. Technique for theming push buttons is quite different from that for pop-up buttons.
  • Many pages use nonstandard button styles, themed through CSS, and these are much trickier to coerce into using white text.
Crystal Black Theme: Web page buttons with Crystal Black software
Crystal Black installs a custom CSS style sheet, which can be used with browsers that support custom style sheets. In the case of Safari, Crystal Black enables the style sheet automatically. Although this works, it manages to destroy a lot of custom-designed buttons along the way...
☆ Applications that use non-standard buttons and GUI Frameworks Crystal Black Theme: Oddball buttons
Many newer Mac applications have buttons that are subclassed from the standard Cocoa button class and therefore don't respond to theming. Similarly, various open-source frameworks for building windows and buttons are in use, with similar challenges to theming.
Unfortunately, since Crystal Black cannot convert such buttons to its dark theme, it must apply a custom modification for each application to ensure buttons are readable. This means that some apps will have buttons with white text, since they aren't accounted for in Crystal Black.
∅ Text color on Finder items with color labels
Crystal Black Theme: Finder labels were a problem for Crystal Black
  • When the Finder is in column or list view, and these views have the dark background users normally prefer in themes like Crystal Black, the names of files and folders that have colored labels cannot easily be read.
  • Despite numerous attempts, I have not discovered any method for changing the colors of these labels to provide ☆suitable contrast for white text.
  • In addition, because of the way the Finder's file browser works, it's not possible to coerce a specific file or folder to use black text instead of white, when the item uses a label.
Crystal Black Theme: Finder labels solved by forcing black text
There is no good solution to this problem. To keep Finder's column and list views readable, Crystal Black prevents the background color for these views from darkening to the point that would trigger the use of white text. In other words, the names of files and folders in the Finder will always display as black.
☆ Cocoa applications that are on the user's "Disabled Applications" list
Crystal Black Theme: Appearance of disabled applications without some help from Crystal BlackChallenges
If a user disables Crystal Black for a specific application, the software no longer has a way to transform text or images from black to white.

Without some action, this would be the same as a user downloading the (free) Crystal Black system graphics files and installing them without the software: You wouldn't be able to read a lot of the interface elements.

Crystal Black Theme: Appearance of disabled applications with help from Crystal BlackSolution
The problem can't be totally solved. However, Crystal Black does three things to maintain usability. First, the CB filter module (which is what determines whether to load Crystal Black or not) installs a minimal set of color instructions before declining to load the core software. These colors keep text on buttons readable. Second, the old Extras resources files have a few text-color settings that still have an effect, and these take care of text color on segment tabs. Third, Crystal Black sets some specific defaults for the disabled application that prevent it from using a totally black window frame. These defaults are swapped out if the user re-enables the app for CB.
Carbon applications

Carbon applications are incapable of loading Crystal Black to any meaningful extent. However, some such applications have components built with the Cocoa frameworks, and these components will load Crystal Black (unless the app is in CB's disabled apps list). An example of the latter is Adobe Photoshop CS4, which itself is a Carbon-based lifeform, but may have plugins that are Cocoa-based. In this case, the plugin will load Crystal Black as long as Photoshop itself does not have CB disabled.

At the time of this writing, the Carbon universe is split into two difference species: Those that will only run on PowerPC chips, or under Rosetta on an Intel chip, and those that will run natively on both kinds of chips. The distinction is important, because the different species, it turns out, use different system resources for some of their graphics.

In any case, the challenge for affecting Carbon applications with a dark theme is that it must be done in the "old-fashioned" way—using the graphics files that used to enable theming in the age of ShapeShifter.

☆ Text color for control widgets
How to enable white text on black buttons and other interface elements without using software or the post-Leopard system resources.
Crystal Black Theme: Controls in Carbon applications helped with old-fashioned test-color settingsSolution
To a large extent, this is solved by relying on the pre-Leopard Extras resources files. Carbon applications make more use of these than Cocoa ones do, and Carbon apps that require Rosetta under Leopard make even more use of them.
∅ Color of titlebar and toolbar text
Crystal Black Theme: Titlebars in Carbon applications couldn't be fixedChallenges
How to enable white text on the labels of toolbar buttons and on window titlebars, without using software or post-Leopard system resources.
No solution found. This is one challenge Crystal Black has been unable to overcome. Since toolbars are an interface element that's uncommon on Carbon applications, the toolbar label problem isn't a huge issue. (The only such app I use is Yummy FTP.) However, nearly all windows have a title, and it remains black against a black background.
☆ Window and control object background colors
Crystal Black Theme: Background colors in Carbon set with old resources within limitationsChallenges
  • The background colors of various objects on a Carbon window are drawn from ancient system resources that aren't straightforward to use and that can mix with unexpected results.
  • The elements that must mesh to make a smooth, pleasing, darker-than-white color are nested, and some resources are used for more than one level in the nest.
  • One complication that became clear from this exercise is that resources used differ between Universal-binary applications and apps that must run under Rosetta.
  • The background color must remain light enough to provide contrast for both white and black text.
Ultimately, this goal required detailed mapping of resource "PPAT" (pattern) objects in the Extras files to observed results.  Thereafter, a good deal of trial and error was required to get the colors to mesh—for example, the background color of a "group box" nested in a "tab view", and the background color of buttons and other controls nested inside the "group box." 

I couldn't theme some elements to my satisfaction, however. In particular, I wanted the background color of a group box within a tab view to be lighter than that of the tab view. This isn't a problem, but, because the background color of objects within the group box use the same pattern resource as the tab view, the objects have a darker background than that of the group box itself. You can set distinct background colors of control objects that are inside a tab view from those that are outside the tab view, and of those that are in a tab view from those that are nested inside "secondary group boxes" within the tab view. But you can't do the same for objects within the tab view and those within nested group boxes.

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
March 2nd, 2011

Theming A Web Page With Crystal Black:
A CSS Design for Web Inspector

One of the many challenges of building a usable black theme for Mac OS X is making it work with web pages. If you use Safari, the buttons, scrollbars, and other interface widgets on web pages get their marching orders from the system's graphics files—the same ones that regular applications use.

So, if a web page has a pushbutton, the button will by default take on the style of the active theme. If you're running Crystal Black, this means that the button inherits the Crystal Black style. We like this.

Color for the button's text, on the other hand, gets its marching orders from the browser's default Cascading Style Sheet (CSS) file—which, naturally, makes the text black, and therefore unreadable on top of a black button. We don't like this.

On first glance, the solution seems to merely design a special CSS file for Crystal Black and make Safari use it. Preview of Crystal Black Theme for Safari's Web InspectorAnd that does work for many web sites and many buttons. However, many folks who design web pages like to fiddle with the CSS style for their pages' buttons, and such fiddling means that there's nothing "mere" about designer a Crystal Black style sheet.

Further, many Mac applications these days have views that are simply embedded web content using Apple's WebKit framework. The practical implication here is that Mac apps don't know how to read a Crystal Black CSS file, so Crystal Black must do some fiddling under the hood to avoid having unreadable buttons in such web views.

Then there's Safari itself. I really wanted to theme the Web Inspector—the incredibly useful built-in website viewer/debugger/designer assistant—with the Crystal Black look and feel, but it wasn't immediately obvious how to do this. I assumed that the tool was just a part of Safari, and therefore built with classes and widgets from the Cocoa AppKit (which is the framework all Cocoa apps are built with). However, when I began to inspect the Inspector, I discovered that everything contained within its borders was simply web content: HTML, CSS, JavaScript, and images.

In other words, the Web Inspector tool is nothing but an intricate, sophisticated, and extremely well designed web page!

Having built a Crystal Black CSS file for web pages in general, and with my past expertise in CSS, I attacked this challenge with relish! It reminded me of the time I realized that Dashboard widgets are, at their core, nothing but little web pages (as are simply apps for the iPhone). In tackling this one, the main question was, How should the various elements look? And the hardest part was inspecting the various parts in of the Inspector in great detail to determine which CSS rules governed their default appearance and behavior.

As I discovered, the WebKit has a a sub-framework called "WebCore," which in turn has a folder of resources specifically for the Web Inspector. In the Inspector folder, among other things, is a suite of CSS files that handle different aspects of the Inspector's design and behavior. Of these, the primary one I needed to tweak was called simply "inspector.css."

Besides controlling the usual attributes of a web page—document elements, text elements, image elements, layout elements, form elements, and so on—this style sheet applies various advanced CSS properties that serve the purpose that in years past would have been handled by many individual images. As I've described this CSS 3.0 magic previously, there's no longer a need for using graphics and JavaScript to add box shadows, rounded box corners, borders, gradients, and reflections to your web pages.

Naturally, since the open-source WebKit project was initiated by Apple, and since that project zoomed ahead of all other browser engines in developing new ways to design with CSS, that's how the Web Inspector is built. This approach—using a command syntax rather than images to design a user interface—is one that Apple has been adopting for its desktop applications. In recent years, Apple has been adding new classes and methods to the AppKit that make it a trivial matter to build a window frame, a border, a toolbar, or a button using code rather than individual graphics. 

While this is a logical and efficient approach, it also presents challenges for theming Mac applications, a challenge that Crystal Black is often unable or unwilling to overcome. (The story of all the challenges in building Crystal Black are described in this article.)

Not so with the Web Inspector, fortunately.

The Inspector does use a few images in its design, but most of the toolbar, separators, and section headers are built with CSS gradients. Very cool indeed!

This bit of Crystal Black will eventually be bundled with the whole theme, but for now I offer it as a free download. Admittedly, the audience for such software is small—you have to like Crystal Black, and you have to be a regular user of the Web Inspector—but it might be of interest to others who are curious about how such things are done.

One caveat in viewing the screenshots... The scrollbars that appear, as well as the HUD window style, are part of the overall Crystal Black theme and are not part of the Web Inspector theme itself.


Update 4/18/11: The full Crystal Black 1.0 theme is now available from the Crystal Black website.

Installing Crystal Black for Web Inspector

The download contains a small application that you can use to install—and to uninstall—the theme. Simply double-click and select "Install" to apply the theme. Or select "Uninstall" to restore the default CSS files and graphics.

After installing or uninstalling the theme, you'll need to quit and restart Safari for the theme to take effect.

Crystal Black for the Web Inspector (Download file is 1.0MB)

CrystalClear Interface @ 2008-11, Leland Scott
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
January 11th, 2011

MenuAndDockless: New Way To Turn Get Apps Out of the Dock and Into the Menubar

MenuAndDockless Originally downloaded September 20, 2007. Cool new freeware from Moapps that appears to do what my old standby Dockless does, and perhaps more. Downloading to give it a try. This freeware is a SIMBL plugin.

Version as tested: 1.0.6

Update 8/12/12 Sadly, I haven't been able to get this to work. Either the SIMBL plugin isn't loading (though others do), or it doesn't work. In any case, I'm going to continue using Dockless for this kind of task.

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
October 18th, 2010

Cocoa with Love: Drawing gloss gradients in CoreGraphics

Cocoa with Love: Drawing gloss gradients in CoreGraphics. This is but one of many tutorials and source code provided by Matt Gallagher on his site, CocoaWithLove.com.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
September 1st, 2010

SimpleMachines Forums: Open Source Forum Software

Home of SMF: Free PHP and MySQL forum software. Several customers have asked me to set up a forum for users of CrystalClear Interface, and I've got it on my to-do list. I ran across a site that uses SMF today, and it looks like it might be the ticket. I'll have to check out some other candidates, too, of course.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
July 1st, 2010

White House Freezes IT Projects To Revisit Wasteful IT Contracting

White House, citing waste, freezes IT projects - Computerworld. Wow... this was certainly good news, especially given my rabid views on the subject, as often expressed on Mars in the past. Federal IT spending is grossly mismanaged and embarrassingly costly, driven as it is by decisions made by IT "Beltway Bandits" rather than by knowledgeable Federal managers. Virtually all of the IT contractors are in bed with Microsoft, so you find a strong monopoly of Microsoft solutions at Federal agencies. And yes, Microsoft products are the most expensive to maintain over time, and Office is ridiculously expensive and overkill as a tool for every desktop. Worst of all, IT contractors typically sell solutions that further lock Feds into the Microsoft ecosystem, thereby shutting out the feasibility of implementing less expensive solutions based on open standards. A good first step... Now let's see what becomes of it.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
April 15th, 2010

The Future for Home Computing

The iPad is the future for home computing - Computerworld. My iPad hasn't arrived yet (I opted for the 3G version, since I don't believe in cellphones and their parasitic subscription fees), but from what I know this Computerworld writer is spot-on. Not only am I a cellphone luddite, but a laptop one as well. I bought a MacBook Pro a couple of years back, but just couldn't make myself need or want it. (Ended up giving it to my wife.) But the iPad sounds like the laptop I've been waiting for! And it also means that, as much as I rely on my iPod Touch for eBook reading now, I'm very much looking forward to getting my mitts on the new iBook store. This is a great summary review of the iPad and captures all the salient reasons why Apple has another (and perhaps its biggest yet) hit on its hands.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
March 27th, 2010

The Ultimate Solution To Window Clutter:
You Can Call Me SAM

Or, Everything You Always Wanted To Know About Single Application Mode But Didn't Know Who To Ask

Update 4/15/10:

One flaw in Single Application Mode (SAM), alluded to but not sufficiently stressed in the article, is its impact on the Mac OS X application switcher (accessed with the keyboard shortcut Cmd-Tab), which is a function of the Dock. When SAM is running (regardless of which software you're using to run SAM), the switcher doesn't automatically toggle to the previously selected application when activated. Instead, it typically defaults to the current app. So if you want to repeatedly toggle between the front two applications, SAM is troublesome.

The solution for me has been to substitute LiteSwitch for the built-in application switcher. With LiteSwitch (which has its own SAM implementation), this problem disappears, and you get a much more powerful app switcher to boot. However, LiteSwitch isn't freeware (I think it's $15). I haven't found a freeware solution, but will keep looking. Perhaps I'll figure out how to build it myself! Stay tuned.

I've observed that one of the most intractable problems bedeviling computer users, which makers of operating system software never seem to solve, is that of "Window Clutter." The inability to …

  • Stay focused on the window you're working in, while
  • Keep auxiliary windows handy and visible when needed,
  • Avoid confusing any of these windows with those of other running applications, and
  • Maintain some reasonable level of aesthetic quality to your computer desktop.

… is a nettle that keeps on pricking. At least, judging from continued user grumbling about it and the continued, less-than-satisfactory, though often valiant, solutions that user-interface experts keep offering users as the final salvation from this longstanding hindrance to productivity, I conclude that the nettle is alive and well.

That Window Clutter should still be a topic of conversation among engineers at Apple (I don't think Microsoft has any high-level staff who really care about or understand the issues surrounding interface usability, and Linux developers don't have the time to do so) is testament to their failure to stamp out a problem that appears from Mars to have a fairly simple solution, namely:

  • Make it so that only one application's windows are visible at any one time.

Being highly curious creatures, we Martians find it hard to resist interrupting our work to find out more about something unknown, like the peculiar way humans endow the use of words like "nettle," "wazoo," and so on, with meanings they didn't originally have. Fortunately, doing such a trivial thing on the Mac is so simple it's hardly an interruption. As I wrote at length in an article some years ago, all you need do is right-click on the word that interests you, select "Look Up In Dictionary" from the context menu, and Boom! You've got your definition without having to leave your document. The magical thing is that this works in any application on the Mac that's built with Apple's Cocoa frameworks (which is just about everything nowadays).

Affectionately referred to as Single Application Mode, or SAM, this is the default desktop environment on Mars. It's also widespread on Earth, though its human adherents often practice SAM quietly or even in secret because it's not an official, supported Mac OS X desktop environment.

Still, we find SAM the best way of dealing with today's large monitors, huge RAM capacity, and equally huge software options—all of which spell Window Clutter at a scale never before experienced.

SAM does require some adaptation and adoption of new tools and techniques, which I'll go into in more detail later in the article. If you're interested in SAM but afraid it would be too disruptive to your work habits, let me remind you that one of the proudest characteristics of homo sapiens is your ability to quickly adapt to changes in your environment.

On Mars, we learned to love SAM when using DragThing a few of years ago… We noticed that DragThing offered the option to hide other apps when switching to a new one. Further, it allows you to specify certain apps that you don't want to hide when you switch to other particular ones. After adopting Quicksilver, I discovered that it offered the same option, but without any customization. After that, I started noticing the Single Application Mode option offered in a surprising number of applications. (You can find a large list of such apps later in the article.)

So, if you're not satisfied with Apple's previous attempts to diminish Window Clutter on your Mac (Expose, Spaces, and Visual Differentiation), and if you abhor the idea prevalent among Windows users that one should simply zoom every window to the full size of your display, this article intends to share with you Everything You Always Wanted To Know About SAM (But Didn't Know It Was A Topic).

There's a lot to cover here, so I'll give you just a few hints up front that you should remember even if you don't read the whole tome. By the end of the lesson, you should at least know the meaning of the following terms, and how to use the software they refer to on your Mac:

  • Single Application Mode, and how it differs from Single Window Mode.
  • Application Switcher, referring to the one built in to Mac OS X.
  • Running Dockless, meaning an application that runs without a Dock icon and without a main menu, but which is able to spawn its own windows of various types. The term also covers Dockless applications that run inside other apps.
  • Tear-Off Menus, a technology that dates back to the NeXTSTEP operating system, the foundation on which Mac OS X was built.

This article is presented in several sections. Here's a list of the sections so you can easily jump around to one of the topics that particularly interests you.

  1. How Bad Is Window Clutter, Anyway?
  2. "Tradition Myths" About SAM
  3. From Apple's Archives: Single Window Mode and the Dock
  4. Getting Started With SAM
  5. Window Clutter: A Little History
  6. Alternatives To SAM For Slaying Window Clutter
  7. Glossary of SAM Speak

How Bad Is Window Clutter, Anyway?

The problem of window proliferation today is not so much a factor of the number of windows you have open in a particular app, but rather how many apps you have open. Figure the average user has five or six apps open, each with one or two windows. You can easily end up with 10-15 windows vying for your attention on the screen, and even with monitor resolutions of 1920x1200 or higher, that's a lot of f*cking windows!

By using SAM to limit the number of visible applications to one, you can immediately reduce the number of onscreen windows by a factor of n, where n is the number of running applications that have open windows.

To demonstrate this mathematically (we love algebra on Mars!), consider the Mac OS X computing environment of a typical professional user these days. In this scenario, our user is running the following apps, each with its own set of windows and auxiliary panels (names shown are just typical examples):

ApplicationWindowsPanelsPersistent Windows
Finder 4
(or more)
0 4
Mail 2 2
(Activity panel, Preferences)
iTunes 1 0 1
iChat 1 3
(Video preview, buddy lists, etc)
Safari 1 1
Preview 1 1
iPhoto 1 2
(Effects, Adjust)
Pages 1 3
(Colors, Fonts, Inspector)
Third-Party App One (DevonThink Pro) 2 1
Third-Party App Two (Amadeus Pro) 2 3
(Playback, Markers, Actions)
System Preferences 1 0 1
What about Dockless Applications?

Note that the calculation of Window Clutter doesn't include any number of other applications that run only from the global Menubar (or Statusbar), and which don't have a main menu of their own. This doesn't stop them from wanting to take up screen real estate, however. Typical applications in this category include:

  • menuCalendarClock iCal (may have one persistent window)
  • Quicksilver (pops up when summoned)
  • CoverSutra (may show current playing tune and/or a tune controller)
  • Edgies (may want to keep one of these stickies-like items onscreen)
  • A system monitor of some kind (for example, I always keep MemoryStick onscreen)
  • Helpful edge-tab tools (e.g., DragThing, Fresh, DevonThink Pro, Yojimbo, the Dock)

We also won't include the multitude of tiny windows called "desktop icons" (yes, they are windows) that users typically keep visible. (Can you feel me shuddering from way down there?) Remind me to share the secret of eliminating that source of Window Clutter as well.

There is another class of applications (of which we dare not speak!) which have no user interface of their own, per se, but rather live inside the interface of other apps. I use some of these religiously, and they all require screen real estate even though they aren't really "there:"

  • StepMenus. An invaluable open-source app that provides a movable, "tear-off" copy of an app's main menu.
  • CrystalClear Interface. Also invaluable to me—but hey, as the developer I guess I'm biased—as a way of making Mac OS X even more beautiful and functional than it already is.
  • SafariStand. This free add-on to Safari has more useful features than you can shake a fistful of Martian sand at. (I devoted a whole article to SafariStand some years back.) This app has several useful panels that I may have open from time to time.
  • Visor. A SIMBL plugin that enhances the interface to Apple's Terminal utility.

Now, into our equation we must figure that some auxiliary panels hide themselves when the application to which they belong isn't active. For example, color and font panels are only visible when the app that spawned them is active, or "in front." On the other hand, the very useful "Special Characters" panel persists across apps. (However, most folks don't know that if you click its Maximize button, you actually minimize the panel to a tiny square.) Apple is pretty careful about following its own user interface standards and makes sure that all "Inspector" windows (including the Effects, Image Adjust, and Media Browser panels that typically accompany the iLife apps) only show up when their particular application is active.

Even in Apple's apps, however, exceptions do arise. In Safari, the Downloads panel is visible even when Safari isn't active. In Mail, the Activity panel likewise stays visible. And in virtually all apps, any preferences panels you may have opened stay visible even if they have no relevance to the application you're working in.

So, back to our equation.

    Let n = Number of open applications
    Let v = Average number of visible windows per app

    Let w = Number of visible auxiliary windows in active app
    Let x = Number of persistent windows
    Let y = Number of persistent auxiliary panels
    Let z = Total number of visible windows

    Given these variables,

      z = (x1xn) + w
      v = z/n

    For the hypothetical desktop listed previously, this yields:

      z = 23 + w
      v = (23 + w) / 11

    If we let w = 1, then

      v = 24/11 = 2.2

By this calculation, then, in all likelihood there will be 24 visible windows on your desktop under the usual setup. And if you eliminated all but the active application's windows, the total would fall to between 2 and 3 windows.

A dramatic end, indeed, to the problem of Window Clutter… wouldn't you say?

Now, to graphically answer the question posed by this section, let's take a moment to visualize the above scenario. The screenshots below have the same application/window configuration, based on the preceding table: 11 applications running, together generating 24 visible windows. The first image is a default Snow Leopard desktop, without Single Application Mode. The second image has CrystalClear Interface 2.5 running, but with SAM turned off. The last image shows the dramatic difference when SAM is activated.

Default Snow Leopard Desktop (No SAM)
Default Snow Leopard Desktop (No SAM)
Snow Leopard Using CCI 2.5 (No SAM)
Snow Leopard Using CCI 2.5 (No SAM)
Snow Leopard Using CCI 2.5 with SAM
Snow Leopard Using CCI 2.5 with SAM
"Tradition Myths" About SAM

Despite its demonstrable power in dealing with Window Clutter, Single Application Mode is embraced by only a relatively few "power users" and, of course, by Martians everywhere—those of us who live among you as well as those on Mars. However, Martians have no real influence on the way humans interact with their computers, and in fact we have some difficulty articulating our ideas in a way humans refer to as "evangelizing." Therefore, despite its rational foundation, SAM continues to be shunned as a solution by Apple and by influential Mac pundits… Why?

There are several reasons, all of which are based in "tradition myth," and none of which outweigh the true virtues of SAM.

  • I need to be able to see windows of other applications so I can drag text from one to the other. No, you don't. Using Apple's Application Switcher (invoked by ⌘-Tab), it's a simple matter to select text in one application and drag it to a given window in another. Simply:
    1. Select your text.
    2. ⌘-Tab. While holding ⌘-Tab, select the application you want to drop the text in, using either your mouse or moving the cursor with an arrow key.
    3. Release -Tab and drop the text where you want it in the other application.
      Alternatively, of course, you can copy and paste rather than drag.
  • I need to be able to drag images or files from one application to another. This is a variation of the first myth and has the same solution.
  • I need to be able to see values (numbers, text, colors, images) in two applications at the same time. This is not a myth but is a real need that any solution to Window Clutter must address. Fortunately, virtually all SAM implementations make this relatively simple.
    • The base solution is to hold the Shift key while selecting a second (or third, etc) application from the Dock. Just hold the Shift key each time you need to switch from one application to the other while working.
    • Better solutions let you define which applications you never want to have hidden while using SAM or, better still (but requiring more configuration), define groups of applications that should remain visible together. Several applications that implement SAM offer this functionality.
  • Why bother when I can just use the "Hide Others" keyboard shortcut (Option-⌘-H) as needed? Well, my response is that if you want to use the keyboard shortcut each time you switch apps, then you should be using SAM. SAM is mainly a convenience, automating the task hiding other apps rather than adding the task to your regular workload.

Finally, the most insidious deterrent to the use of SAM is one that arises from ignorance or from age-old blinders that keep their wearers from seeing full 360-degree panoramas about the issue. To explain what I mean by this, I need to take a quick detour into some history about a relative of SAM's called "Single Window Mode."

From Apple's Archives:
Single Window Mode and the Dock
One of the Dock's Hidden Tricks

It's strange, but true, that the Mac OS X Dock has a "single application" mode of its own. To try it out, install Secrets, a GUI tool from Blacktree—the company that brought us the incredible open-source workhorse, Quicksilver. Secrets lets you enable the hidden Dock setting for "Single App Mode." You can also activate this Dock setting by typing these two commands in the Terminal (the second command restarts the Dock):

com.apple.dock single-app
killall dock

That the Dock has an implementation of SAM is curious, and it may be useful for some. However, it has several drawbacks from the Martian point of view:

  1. You have to use the Dock alone (read: click on Dock icons) to launch and switch apps, in order to make other apps hide when you do.
  2. Launching apps from Spotlight doesn't trigger SAM.
  3. Launching apps from the Finder—or from any other application launcher—won't trigger SAM.
  4. Switching apps using the Application Switcher doesn't do it, either.
  5. Curiously, you don't go into SAM mode even if you launch an app from a Dock Stack, such as one showing recently launched apps.

So, the Dock version of SAM is only useful if you use the Dock for all app launching and switching, which obviously isn't practical or efficient.

In the Beginning… Single Window Mode

Purple buttons for Single Window ModeAnother tantalizing remnant of Apple's flirtation with SAM is found in the graphics bundle that's been used by Mac OS X since day one. In addition to the usual red/yellow/green "stoplight" indicators at the top of every window, there's a purple one that's never been seen outside the few developers who worked on the earliest builds of Mac OS X… plus all those who saw Steve Jobs' Keynote presentation at MacWorld in January 2000, when Apple first unveiled its new Aqua interface.

For those of us who are fans of SAM, it's validating to listen to Steve extol the virtues of what was then dubbed "Single Window Mode." In fact, he spoke of it at length in a demo that concluded his entire presentation about the coming greatness of Aqua. During that speech, Jobs describes a solution Apple was building into Aqua in order to conquer the challenge of Window Clutter (see video of this segment below):

Let me go ahead and click a button that's on the right side of the top of the window pane. And this button is pretty cool. What it does is it says, "You know, when we have a lot of windows around on our system, it can get rather confusing for beginners, and even for pros.

If you're working back and forth between Illustrator and Photoshop or Photoshop and something else … These things can get very complicated on the screen.

What could we do to make life easier for our pro customers and for beginners? We came up with something pretty neat. You can click it from any window. You can turn it off and on.

And it's called Single Window Mode. So you just click this, and every other window on the screen is miniaturized. And when I click another window… Boom! They switch places.

It's very easy.

Wow… even from Mars we were impressed with Jobs' insight. Here's a guy who really understands user interfaces to software. He understands the needs of computer users, often even before they do. We had observed Steve Jobs and his return in 1997 to the promising company he helped found, and it was clear that this guy knows what he's talking about when he says things like, "Boom!"


What the heck is a wazoo? And what do people mean when declaring something is "out the wazoo?"

Hmmm… Does "wazoo" really mean "anus"? Now we're really confused! To clarify, I click on the little "More" button in the lower right-hand corner of the pop-up, and I'm whisked to the Dictionary app itself, which explains:

Sure enough, our early impressions of Jobs were correct, and he's clearly not only a transplanted Martian, but that extraordinary Martian who is able to mind-meld successfully with humans. Since then, we've been importing Apple products "out the wazoo," as you say here on Earth.

Sadly, however, Apple didn't pursue this initial idea for a Single Window Mode. From the snapshot we were given, it appears that SWM was somewhat flawed, and I'm not referring to its unfortunate acronym. If SWM worked the way Jobs demoed it, it would have minimized all the other windows in the current application, as well as those in other applications. Clearly, that's not going to work, which may be why Jobs was talked out of it.

As one of the major gurus of Mac-Think, John Gruber gave us a clear explanation for the opposition to SWM in those early days of Mac OS X. This excerpt is from an interview by Marcin Wicary, keeper of the marvelous website covering the history of computer GUIs, Guidebook Gallery, in July-August 2005:

Q: Was single-window mode such a bad idea? Moved from the purple button to the confines of System Preferences, wouldn’t it be useful for beginners or refugees from the Windows world?

A: It might be a good idea for some entirely new system, but I think it was incompatible with the existing Mac UI paradigm. The Mac UI was, and is, meant to revolve around multiple windows. If you’re only going to show one window at a time, what’s the use of even calling it a “window”? Just take up the whole screen.

TiVo, for example, effectively is a computer with a single-window UI paradigm. But it’s screen-based, not window-based. In the same way that it didn’t make sense for Apple to add a single-window mode to Mac OS X, it wouldn’t make sense for TiVo to add a new multiple-windows mode.

As for beginners and Windows refugees, I don’t think they need protection or shielding from the true Mac UI. What would – and does – help them is when the regular UI is consistent, obvious, and intuitive.

My current theory is that this antipathy for SWM has swallowed any official support SAM might have had all these years. And yet, SAM is the solution that SWM was not.

  • SAM is SWM evolved.
Getting Started With SAM

But perhaps the best reason SAM isn't more widely adopted is that, especially for experienced Mac users, it takes some getting used to. This is why I refer to it in the CrystalClear Interface Preferences as a "new paradigm." The rewards of embracing SAM are great, but embracing SAM also means unlearning certain behaviors, and learning new ones. If SAM were openly incorporated into Mac OS X, its adoption could be more seamless than it is, of course.

So, OK, say I want to try using SAM. Where do I start?

Step One: Select Your SAM Sidekick

Despite its relative obscurity, SAM is implemented as an option in a great many Mac OS X applications that have some application-switching functionality. Here are some of the apps I know of that offer SAM as an option. I've personally used Quicksilver, LiteSwitch, and DragThing for this functionality and ultimately settled on LiteSwitch as the best option.

I chose LiteSwitch not just for its SAM-ability, but for its many other irreplaceable virtues. I now use CrystalClear Interface for SAM, but I cherish LiteSwitch because it improves on the Mac OS X switcher in so many ways. Of particular relevance to SAM is LiteSwitch's inherent app-switching behavior.

Apple's switcher doesn't allow you to repeatedly and quickly toggle two applications with one simple ⌘-Tab shortcut. After you toggle once, it forces you to navigate (with arrow key or mouse) to the other application you want to toggle.

For me, this is key, since without the quick toggle, I end up doubling the toggling effort. LiteSwitch doesn't have this drawback, and I would be hard-pressed to do without it. (By all means take a look at the more in-depth review of LiteSwitch I wrote a few years back.)

I am pleased to see that Proteron, the company that built LiteSwitch, appears to be back in business after a 2-year hiatus. What a relief to know that it'll be available and supported once again!

Here's that list of SAM-capable apps I mentioned earlier:

Step Two: Adopt Some New Tactics
  1. Make the Mac OS X Application Switcher your best friend. Once this mode of switching apps is second nature, SAM will also seem completely natural (if it doesn't at first), and you'll wonder why you suffered so long with all those windows cluttering up your screen! To invoke the Application Switcher, use the keyboard shortcut ⌘-Tab to show all your running applications. As an alternative to Expose, you might also find it convenient to start using ⌘-Tilde, which toggles through the various open windows in your current application.
  2. Hold the Shift key to add windows of other applications to the visible mix. For me, this requirement pops up when I use an application like the delightful color utility iPalette, and want to capture colors from another window and experiment with them while keeping the source window in view.
  3. Get used to the idea that drag and drop is just as easy between two windows that can't see each other as it is between two that can (setting aside for a moment the notion that windows can "see"). Think of this technique as an analogue to the Finder's spring-loaded folders, where you drag a file from one visible folder to another that only becomes visible after you've passed through one or more folder "dimensions."

    Only, dragging from window to window is easier. To do this, just make your selection and start to drag. Then, switch applications using the Application Switcher (⌘-Tab) and drop the item into your document as you normally would. You can use this technique for dragging text, files, images, etc., just as you would if the two windows were visible at the same time.

    One thing that's even nicer about this approach is that you don't have to move windows around to set up the right view for dragging between visible windows. (What a drag that can be! "Oh, Martha, he thinks he's such a wit, don't he?") However, you do have to make sure that the target window is active in the the target application, since you won't be able to switch windows in the target app during the drag.
Step Three: Add Software To Overcome Certain Niggling Problems

As those of you who've tried to get used to Spaces know, many attempts to solve Window Clutter create new problems rather than really solving the old ones. This isn't true of SAM, because it really does solve the problem of Window Clutter. However, it does introduce some problems that need to be solved somehow. Fortunately, we Martians have found free and easy solutions to all of them!

Problem 1.
Many applications let you set a given window as "floating" so that it stays "on top" of your window hierarchy even when you switch to another application. Only problem is, the window's "floatiness" is tied to the visible window hierarchy itself rather than to your workspace as a whole. As a result, the supposedly "floating" window gets hidden along with its application when you switch apps using SAM.

Typically, this problem occurs with respect to user interface elements that you want to remain visible no matter what other apps are active. Apps in this category typically include:

  • Launchers
  • Sticky notes
  • To-Do lists
  • Monitoring tools (e.g., clocks, system info)
  • Interfaces with inactive apps
  • iTunes controllers
  • Screen capture tools
  • Automation tools (scripts/shortcuts/workflows)
  • Desktop customizers

These kinds of apps play a role similar to the one that the Color and Font panels play in an application. If you open them, you want them to stay open—and not to hide behind other windows or apps—while you're working. In the context of SAM, tools of the categories above are ones you want to remain visible even if you switch to another app.

Apple provides many such interfaces to its own applications, including the following:

What about iTunes?

Yeah, well, if you rely on iTunes' floating controller, and aren't willing to part with it, SAM won't work for you. Thankfully, there are dozens of free alternatives that provide more functionality than the iTunes floater, so if you're willing to give one of them a try, you can still use iTunes to the full extent, but control playback with something else. For some ideas, refer to an article I wrote a couple of years back on iTunes controllers. It's out of date now, but still worth a look. Some newer alternatives are listed in the table below.

Solution: Find applications that allow themselves to be removed from the dock and to appear without a Main Menu. Such apps are referred to in the Apple developer documentation as "agent" applications, and many of them make themselves available as a statusbar item. There are quite a few apps that can morph from a regular app to an agent as a user option, and many that are agents from the get-go. Here are some of the apps I've used that I always want to remain visible while open, and which can accommodate that need nicely with SAM without any special effort. (I've organized these according to the category of apps listed above.)

Note: The apps with links in the table are ones that are not linked elsewhere in the article. Other than that, I'm not making any kind of particular statement about them. :-)

Category Application
Launchers Quicksilver
Sticky notes Sticky Notes
Monitoring tools Growl
iStat Menus
To-do lists MenuCalendarClock iCal
Pluto Menubar
Persistent interfaces to inactive apps DevonThink Pro
iTunes controllers CoverSutra
YouControl Tunes
Screen capture Little Snapper
Mac OS X keyboard shortcuts
Automation tools Quicksilver
Desktop Customization Picture Switcher

Problem 2.
What about applications that don't offer an option to run outside the Dock and without a menubar? I have several such apps that I run daily or frequently, and SAM really wouldn't be feasible if I hadn't found an easy way to "bend such apps to my will," so to speak. Here are some of my "problem," essential apps:
  1. QuartzClocks. A freeware app, this is simply the best desktop clock I've ever seen. Sadly, its developer had abandoned it the last time I looked, but you can still download it from MacUpdate.
  2. MemoryStick. Even though I also use iStat Menus, this freeware app is an even better way to keep on top of your Mac's memory usage.
  3. Sticky Notes. There are oodles of sticky-note apps in the Mac universe, but this is one of my favorites. The feature that makes Sticky Notes stand out from the crowd is that you can bind individual notes to particular applications. This is exactly what I want from a notes application… it's like putting a sticky right on the app itself! It's also perfect for SAM, because the notes are always there when the relevant app is open. The only problem arises for notes that aren't tied to a particular app…
  4. FlySketch. The very best app for annotating screen captures. Incredibly innovative… there's nothing like it.
  5. PixelStick. Great freeware for measuring screen coordinates when doing pixel-based design.
  6. iPalette. Terrific freeware for experimenting with colors. For developers, it's a great way to easily get RGB values for NSColor in your apps.

Solution: What you need is an easy way to toggle any app on your system between being a regular Dock/Menubar app and being an "agent" app that doesn't hide when you're using SAM. If you're a programmer or are otherwise technically savvy about the inner workings of Mac OS X, you could do this manually by editing a small file that appears in every Cocoa app's "bundle." But how much fun would that be? Although there aren't many utilities that will perform this feat automatically, there are a couple I know of, both free.

  • Dockless does precisely what you want. Dockless is reliable, simple, robust, free, and open-source! (Another cool thing about Dockless is that it also lets you go the other way: Make normally "dockless" (agent) apps appear with a menubar and Dock icon.) (For more words from me about Dockless, refer to my 2006 review.)
  • Configure Application Dock Tile has a trés ungainly name, but it can be more useful than Dockless for quick changes. The best way to use this app is to add it to the toolbar of Finder or Path Finder, and then use it as a "droplet." To toggle an app between having a menubar/dock and not having one, just drag the app to the toolbar icon for Configure Application Dock Tile (yuck!), change the checkbox state and save.
Problem 3.
If you use Dockless or Configure App… to eliminate an app's menubar, how do you gain access to the menubar when you need to? After all, most such apps have Preferences to set, or Help to access, or various functions that only appear in their menubar. Apps that offer a built-in Dockless mode take this into consideration and make their menu functions available in other ways, but apps that are coerced into running Dockless don't.

Solution: As with problem #2, there aren't many options that address this. But fortunately, the one I've used for ages still works great on Snow Leopard and, like Dockless, is free and open-source: StepMenus. By default, StepMenus provides a small floating panel that duplicates an app's main menu. You can position this menu panel wherever you like, or you can use the StepMenus System Preferences interface to exclude it from running in a particular application. (If you're a user of CrystalClear Interface, you'll undoubtedly see a similarity between the StepMenus preferences pane and the one for CCI. The similarity isn't accidental: I used some of the StepMenus code for CCI, since it was precisely what I needed for that app.)

Window Clutter: A Brief History

In the beginning, there was the very low resolution monitor for working with graphical operating systems, like the Mac and, eventually, Windows. For a very long time (in computer years), resolution was so low (600x800 pixels or less) that the only sensible way of working was to zoom each window to its maximum extent.

This hardly hindered one's productivity, of course, because it wasn't until the mid-1990s that computers had enough built-in memory to run multiple applications reliably. Still, you quite often needed to have two or more windows open in a given application—for example, in word-processing apps like Microsoft Word or WordPerfect. The number of windows you needed to work with doubled or tripled once sophisticated design applications like Photoshop and PageMaker came on the scene. At this point, working with multiple zoomed windows became a real pain, yet squeezing them to smaller sizes seemed to only make things worse.

For the longest time, it seems that a great deal of my time was spent repositioning windows so I could see what I was doing. Working in a word processor was one thing. Working in Aldus PageMaker was another thing entirely.

In a word processor, it's often desirable to see only one window at a time, as a way of reducing distractions. In fact, a few years ago it became de rigeur (at least in the Mac world) for such apps to enable a full-screen mode for composing text. This became a major selling point for rich-text editors like WriteRoom, and it soon became a standard feature of most apps that included a writing function.

When one is word-processing, having a single window consuming all of your screen real estate is not a bad thing, especially since you can specify margins so the text doesn't spread across the entire area.

As screen resolution rapidly rose through the 1990s, however, the habit of zooming every window to the full size of your monitor began to look pretty silly, and could actually dampen productivity. It's a known fact that humans read less efficiently when a column of text is too wide, because the eye has trouble making its way back to the left-hand margin while keeping each line in sequence. (For examples, see this or this in Google Books.)

When monitor resolution was 640x480, this was not a consideration. But on a 1024x768 monitor, line length in a word processor (or PDF file, web browser, or whatever you may be trying to read) becomes far too great to read efficiently. Still, zooming windows to the max remained the preferred, and expected behavior (especially on Windows)… readability be damned!

Application Switcher

The first great idea for dealing with multiple applications and windows on a PC actually appeared first in Microsoft Windows 3.x. It was then (and, I think, still is now) a feature known and used mainly by power users, but it was a brilliantly simple implementation. I refer here to the Alt-Tab keyboard shortcut, which displays a horizontal band of all your currently active apps and windows. The Windows implementation was fairly rudimentary, and it didn't change much (if at all) until the release of Windows Vista. To navigate the Windows switcher, you had to to everything with those two keys. In other words, you had to hold down the Alt key, press Tab, and then keep pressing Tab to navigate through the items (you could go backwards by throwing a Shift into the mix, but still had to keep holding Alt as well). This was useful, but seemed downright awkward after Apple finally implemented a similar feature in Mac OS X 10.3 (Panther).

Apple's innovations to the application switcher were not only visual (and it was very cool visually), but greatly enhanced functionality as well. You could navigate like in the Windows switcher, but you could also navigate using the arrow keys, select with the mouse, use the scrollwheel to navigate, drag items onto the applications to launch them, and hit Q to quit an application. There are a variety of other keyboard shortcuts as well. (See here.)

I understand that in Windows Vista, Microsoft has incorporated some of Apple's enhancements: You can now navigate through the items with arrow keys or your mouse. Unfortunately, from what I've read, the Windows switcher doesn't expand horizontally beyond its size in earlier versions of Windows; rather, it expands vertically in rows.

One of the most irritating aspects of the Windows switcher is that it displays both documents and applications. Therefore, it's not strictly speaking an application switcher, and there doesn't seem to be any way of making it so. (This is the main reason I can't bring myself to use Witch, an otherwise useful, once-free-but-now-shareware switcher alternative on the Mac. Witch has no way to limit its display to applications, either.)

Instead of displaying both windows and applications at the same time, Apple has sensibly separated the two, providing a different shortcut—⌘-Tilde—to navigate your open windows.

It wasn't long before monitors got bigger not only in resolution but also in physical dimensions. Can you imagine working on a 15-inch monitor nowadays? And yet, this was the standard size throughout the 1990s (unless you were very special indeed). With such a small monitor, most people didn't max out their screen resolution because at 1024x768, for example, screen type becomes way too small to read.

Soon enough, though, monitor size zoomed to 17-inch, then 20-inch, and now 24-inch as the expected standard for your basic computer system. Heck, the current model iMacs sport a 27-inch monitor in the top two configurations. (And here I thought my 23-inch Cinema Display of a few years back was so huge. And it is!)

For creative professionals, the problem of dealing with Window Clutter has long been handled by using multiple monitors. That's fine if you can afford it, but using multiple monitors introduces its own set of problems. I won't go into them now, but those of you who work that way know them all too well.

In the meantime, computer memory soared, so that what application developers, users, and hardware makers considered a baseline standard was an ever-shifting target. And no one ever seemed to get it quite right. Technical standards have simply moved far more swiftly than humans could adapt to them. (I wryly note that this deficiency is not shared by your Martian neighbors.)

It's sobering to actually review the timeline of the amount of random-access memory (RAM) that personal computers have relied on. As we all know, in 1984, Apple Computer introduced the Macintosh—the first commercially available personal computer with a graphical operating system. It was also the first computer to boast 128KB of RAM! By the end of the year, for only $10,000, you could buy AT&T's new microcomputer and luxuriate in a full 512KB of RAM.

The race for more memory had begun, but it seemed to remain in Lilliputian dimensions for a very long time. By the end of 1989, Apple's Macintosh was still in the lead, with its top-end system boasting 4MB of RAM. IBM and Compaq PCs maxed out at 2MB. A decade later, top-of-the-line systems still peaked at 512MB or 1GB of RAM, while consumer systems like the iMac were holding 256-512MB.

Since 2000, It was in the last decade that RAM size really took off. The amount of RAM a desktop computer can consume nowadays seems ridiculously huge, a reflection of the transition to 64-bit operating systems. My 2-year-old Mac Pro can hold 32GB, and I've got 16GB installed. To buy a consumer system with less than 4GB these days is to buy a computer that won't run modern operating systems or the latest versions of the most apps. Heck, the $599 Mac mini has 2GB, and the $799 model has 4GB! The standard RAM for Microsoft Windows-based systems is similar, starting at 2GB for entry-level computers and rising from there.

For the purposes of this article, the main impact of exploding system memory has been to increase the number of applications one can keep open at the same time. It has become habitual for a typical user to leave applications open indefinitely, and then to not understand why their system may be slowing down after a few days. :-) (For a followup to this discussion, refer to the earlier section of this article, How Bad Is Window Clutter, Anyway?)

Alternatives For Slaying Window Clutter

I still think Expose is a visually cool way to view your open windows, but I frankly have never used it much because it just doesn't work for me. Rather than spending many more words explaining Expose, take a look at the preceding link and let Apple do the talking.

Basically, Expose has three modes, with the following default keyboard shortcuts:

  1. F9. This displays all the windows of all active applications on your system. Curiously, however, this doesn't show windows of applications that are hidden. Therefore, if you're using SAM, there is no difference between F9 and F10. (Perhaps that's one reason I've never taken to Expose…)
  2. F10. This displays all the windows of your current application.
  3. F11. This hides all windows and displays your desktop.

A very useful feature of Expose (which may not be widely known) is that whether you start with F9 or F10, you can navigate through your other applications and their windows by hitting the Tab key. Each click of Tab takes you to the next application set. Within an application set, you can navigate using the mouse or the arrow keys.

Still, Expose is at best a useful way of finding windows on your Mac, and is neither a practical application switcher nor a solution to Window Clutter. After all, as soon as you exit Expose, your cluttered Desktop returns, like Cinderella at midnight, to its former unlovely self.

Virtual Desktops (Spaces)

Back in 2006, I opined at great length about why Virtual Desktops as a technique--and why Spaces in particular--are poorly suited as a solution to Window Clutter. Rather than repeat all those arguments and observations here, I invite you to read the article, "Leopard’s Spaces: Virtual Desktops for the Rest of Us?", which I wrote while having access to developer releases of Mac OS X 10.5.

Even after I discovered Hyperspaces, a marvelous enhancement to Spaces that adds all the features I felt were missing in Apple's implementation, the basic problems inherent in Virtual Desktops remain:

  • They simply create more confusion than they eliminate,
  • They make it harder for you to find your application windows, and
  • They aren't really practical since the idea of segregating your different kinds of work into different desktops is impossible if you have even modestly complex kinds of work involving more than one application.
Visual Differentiation

Apple has progressively enhanced the visual distinction between your active window (typically the one you're typing in or whose controls you're manipulating) and the others in your active application. Windows in inactive applications have a slightly different appearance than inactive windows in your active application. (Say that twice fast.) But practically speaking, it's impossible to tell them apart.

This is why those who don't use SAM either must use something like Expose or ⌘-Tilde, or forever find themselves activating the wrong window.

Even when using SAM (either with or without CrystalClear Interface), distinguishing between your top-level window and the others in your window hierarchy is very important. By default, Apple helps differentiate the active window by adding an extra-huge, 3-D shadow (introduced in Leopard), as well as hints in the button widgets (color vs. no color, or faded vs. active appearance, or bright vs. dim, etc.).

In addition to Apple's visual techniques, CrystalClear Interface lets you further distinguish windows by their transparency, which is completely user-customizable. By default, the front window is mostly opaque, and the inactive windows are 50-60 percent transparent. Utility windows (Find panels, Color panels, and the like) retain the opaque appearance of the main window and are distinctively themed as translucent black (HUD) panels. Besides setting default values for all inactive windows, users can also set the transparency of individual windows that have unique titles to some custom value, retained across sessions.

In addition, CCI provides the option of turning shadows off for your inactive windows. This just takes Apple's approach one step further: Rather than minimized shadows in background windows, you can remove shadows from background windows entirely.

The bottom line is that Visual Differentiation as a strategy of solving Window Clutter is absolutely necessary and quite helpful. However, it is not sufficient to eliminate the problem entirely.

And that explains why here on Mars, we use Single Application Mode as the solution to Window Clutter.

Glossary of SAM Speak
An application that does not show a dock icon or have a Main Menu in the menubar. This type of application sometimes has an icon for accessing its functions and preferences in the Statusbar.
An application that runs as an Agent.
The part of the System Menubar that extends from the Spotlight icon on the right to a point on the left that's not occupied by the current application's Main Menu.
System Menubar
The narrow strip at the top of the Mac workspace that contains the application's Main Menu and the Statusbar.
Main Menu
The part of the System Menubar occupied by the current application's menu items. The Main Menu usually starts with an item with the application's name, just to the right of the Apple Menu, and extends to an item named "Help" on the right.
Acronym for Single Application Mode.
Tear-Off Menu
An item from the Main Menu, or one of its submenus, that can be "torn off" and positioned as a free-floating window.
Auxiliar Panel
A window that contains tools used to change settings of various kinds in the main window. Such windows include the Font and Color panels, as well as Inspector panels such as those in Apple's iWork applications, or the ones in Preview and QuickTime.
Floating panel
A window that by default always appears above other windows in the application's hierarchy, except those that are also floating panels.
Single Application Mode
A Macintosh workspace configured so that only one applications windows are visible at any one time. Other application's windows can be configured to be temporarily visible as well. Any open windows of Agent applications also remain visible.
Single Window Mode
A Macintosh workspace configured so that only one window is visible at any one time. SWM exists in concept only.
Active [Window/Application]
The Active application is the one the user is currently working in. The Active window is the window of the Active application the user is currently working in, using either the mouse or the keyboard (or some other input device).
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
November 3rd, 2009

ComputerWorld Pits Snow Leopard Against Windows 7 (Again)

Smackdown: Windows 7 takes on Apples Snow Leopard. Now, this is more like it! Whereas the earlier ComputerWorld reviewer basically called the OS's an even match (while exposing a lot of his own ignorance about Mac OS X), this fellow understands completely. In his closing remarks, he concludes:
As an IT professional, I support both operating systems at work. But I have Macs at home; after all, who wants to troubleshoot computer problems on their own time? My final verdict in this smackdown? It's not even close: Snow Leopard is the better OS.
I couldn't have put it better myself. :-)
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
June 23rd, 2009

WebKit Introduces Styleable Scrollbars

Surfin’ Safari - Blog Archive » Styling Scrollbars. I've been so busy I missed this... it's another in the WebKit team's aggressive expansion of the possibilities for user interface development using the basic stuff: HTML, CSS, and JavaScript. The brief article on the Surfin' Safari blog has a pointer to an interactive demo.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
June 18th, 2009

Mac | I Love Code

Mac | I Love Code. This is a terrific collection of tutorials on software development, covering various languages and platforms including Mac OS X (Cocoa), HTML/CSS, JavaScript, PHP, and iPhone. Just the things I'm interested in! The tutorials are contributed by some very smart developers from across the world.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
April 19th, 2009

Another Windows Guru Falls For A Mac

Living on Air: A Windows guru spends two weeks with a Mac. In this case, said Guru had avoided trying out a Mac for 25 years and finally took the plunge, only after being assigned to do so. Lucky him, he got to play with the latest model MacBook Air, but his article spends more time explaining why he now understands the appeal of Mac OS X. Though he does get a number of things wrong (heck, he only spent 2 weeks with the OS, but sadly writes as though he's now an expert on it), I think we can count him in the Switcher camp.
  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
March 12th, 2009

280 Slides - Web Presentations Made With Cocoa!

280 Slides - Create & Share Presentations Online

OK, this has to be the coolest web app I've yet encountered. So desktop-like you forget it's running in your web browser! Part of that must reflect its software foundation, which isn't javascript or flash or Air, or any of the other possible languages for Web 2.0-style apps. No, it's Cocoa--the same language (a derivative of Objective C) and framework Apple uses for its desktop apps!

The framework used is called Cappucino, a fairly new open source project that "makes it easy to build desktop-caliber applications that run in a web browser."

I'm all over this... definitely!

  • del.icio.us
  • Google
  • Slashdot
  • Technorati
  • blogmarks
  • Tumblr
  • Digg
  • Facebook
  • Mixx
February 21st, 2009

Taking a Snapshot of the Semantic Web:
Mighty Big, But Still Kinda Blurry

title text

It's still somewhat difficult to get a handle on exactly what is meant by the "Semantic Web," and whether today's technologies are truly able to realize the vision of Tim Berners-Lee, who first articulated it back in 1999. From what I've read, I think there's general agreement that we aren't even close to being "there" yet, but that many of the ongoing Semantic Web activities, technologies, development platforms, and new applications are a big leap beyond the unstructured web that still dominates today.

There is a huge, seemingly endless amount of work being done by thousands of groups all trying to contribute to making the Semantic Web a reality. In my few weeks of research, I still feel as though I've just stepped my toe into that vast lake of semantic experimentation. Partly as a result of the many disparate projects, however, it does become rather difficult to see the entire forest for all the tiny trees. That said, these thousands of groups do appear to be working more or less together on the basis of consensus-based open standards, and they have set up mechanisms to keep everyone abreast of new ideas, solutions, and projects, under the general leadership of the World Wide Web Consortium (W3C)'s Semantic Web Activity. Semantic Web Stack As Envisioned by Berners-Lee As a starting point for exploration into this topic, the Wikipedia article that describes the Semantic Web Stack is quite good. Among its good overview and many useful links, the article includes the original conception of the Stack as designed by Berners-Lee. Besides cataloguing the sheer number of different projects all tackling different aspects of building a Semantic Web, it's important to distinguish ongoing projects from those that expired years ago—a distinction that's not always readily apparent to those peering in from the outside. Even excluding these, there are far too many projects to read up on in a few weeks, so this snapshot is necessarily incomplete. But after having the content reviewed by some Semantic Web experts, I'm confident it includes all the most significant threads of this new web, which, as Berners-Lee envisioned it:
I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize.
In my tour of the Semantic Web as it exists today, it's interesting to note that most of the projects are geared not toward machine-to-machine interaction, but rather to the traditional human-to-machine. Humans being by nature anthropocentric, the first steps being taken toward Berners-Lee's vision are to build systems that are semantically neutral with respect to human-to-human communication. Once we can reliably discuss topics without drifting off into semantic misunderstandings, then perhaps we can start teaching machines "what we mean by" ... This paper is an attempt to assess the current state of today's steps, while compiling a list of resources that would prove useful to someone thinking about building a Semantic Web application in 2009. Challenges to Building Semantic Web Applications The process of applying concepts from the Semantic Web to build richer, more knowledge-oriented applications presents developers with several, somewhat challenging prerequisites:
  • Taxonomies for the content being published,
  • Ontologies for the content, based on the developed taxonomies,
  • Content tagged using the developed ontologies,
  • Database tools for storing and serving RDF and/or OWL ontologies,
  • Database tools for connecting ontologies with the content they describe,
  • Application server specializing in querying and formatting semantic content,
  • User interface tools to present semantic content in optimum, not necessarily traditional, ways.
Ontology standards One of the base specifications for ontologies, RDF (Resource Description Framework), is a well established standard based on XML and URIs. that is the basis for all the news feeds and podcasts one can subscribe to today. DAML (DARPA Advanced Markup Language) is one of the early ontology standards built as an extension to XML and RDF. Still widely used, DAML is also the precursor to OWL. OWL (Web Ontology Language) is a sophisticated framework built on top of RDF and is perhaps the most well known and most adopted of such ontology languages. OWL is the standard adopted by the W3C (the official standards body for web specifications). At the moment, there are several different flavors of OWL, which makes adopting OWL more challenging than using RDF.
Each of these requirements present a fairly steep learning curve to developers who have not previously worked with the technologies to build Semantic Web applications. Solutions for aiding with some of the requirements exist, but it's not clear how effective they are at this stage. For example, I have listed some tools that assist in extracting semantics from unstructured documents, and others that do something similar with content stored in relational databases. On the other hand, the process of tagging unstructured content appears to have no good automated solutions. The process of building an ontology can be quite time-consuming, unless there happens to be an existing ontology you can reuse. There are several extensive online libraries of ontologies that can help. One fly in this bibliographical ointment, however, is the difficulty one may face in choosing among different, perhaps conflicting, ontologies on the same topic. It's important to emphasize that one of the first steps in building an ontology is to build a taxonomy. Although ontologies are not taxonomies, they use taxonomies as their jumping-off point. Therefore, one has to be ready and able to build a taxonomy for a subject before one can build an ontology. Many of the tools and projects included here are designed to assist with building and browsing a web of Linked Data, rather than true semantic data. Some of the demo browsers for linked data don't strike me as being particularly relevant to most end-user requirements for knowledge management. However, linked data is quite useful in integrating content from across the web, and projects built around it typically make heavy use of RDF, SPARQL, and other related specifications. Websites that make use of linked data represent the vanguard of the application of Semantic Web concepts, and their number appears to be exploding at the moment. Well-known examples of the use of linked data are websites built as "mashups," such as Google Maps. Use of Microformats and RDF Triples is also a typical component of websites that expose their content as linked data. More powerful tools exist in the form of integrated application server suites, such as the OpenLink Virtuoso server, Cyc Knowledge Server, and Intelligent Topic Manager. The first two have open source versions that can be used by developers to "dip their feet" into the task of building a Semantic Web applications using sample data. Of the two, I was most impressed with the breadth of tools in the OpenLink project, as well as with the range and vibrancy of the Virtuoso developer community. Virtuoso also comes with a rich set of user interface "widgets" that can be of great assistance in presenting semantic information appropriately. A Possible Approach To sum up, the landscape of the Semantic Web is still quite fuzzy and volatile, with many mountains of activity building up rapidly and eroding with nearly equal speed. Which landforms will remain once the evolution is complete is impossible to say here in 2008. However, the landscape is exciting to watch and flush with tantalizing experiments that will undoubtedly inspire more experimentation in the years ahead. Obviously, given all of the preceding caveats, the decision to engage in a Semantic Web experiment cannot be made lightly. One must have a clear idea of the knowledge management/presentation problem that such an experiment is designed to solve, and an understanding of the resources that will need to be devoted to the project. Although the maturity of tools, standards, and processes for such a project is quite young, it would definitely be in the interests of an organization with suitable candidate data and sufficient resources (including time) to begin an experiment of its own as a learning exercise.
What is an ontology? An ontology is a systematic description of concepts, in detail and thoroughness such that a machine encountering the concept could "understand" it. In this aspect, ontology development is closely related to research into artificial intelligence. In the past, humans have relied on complex taxonomies to describe the way abstract ideas and concrete individuals relate to one another. Ontologies differ from taxonomies in the complexity and thoroughness of describing the relationships between the elements of a taxonomy. A typical taxonomy is a tree structure that arrays terms as categories and subcategories. However, no subcategory has any notion of its relationship to its siblings, nor to any other categories elsewhere in the tree. An ontology can describe these relationships, thereby enriching one's understanding of what a given category means. Further, each category (or "concept", or "class") in the tree can have its own distinct properties. Properties describe the relationships between and among individuals in the ontology. Individuals are the specific instances of each class that the ontology needs to be able to describe. Properties are characteristics of a class that help distinguish one group of individuals from another. For example, if we have a class "job" in our ontology, with a subclass "administrative" and a further subclass "computer specialist," we could distinguish all the individuals who are computer specialists by defining the job's characteristics (properties). A computer specialist "writes software programs," "performs desktop support," "manages databases," "builds web applications," and so on. With an ontology, we could very richly define a group of individuals using such properties. This is a simplistic overview of properties… OWL provides a vast array of ways to describe properties and of the types of properties one can describe.
I would advise against a major expenditure for such an experiment, however. As noted, given the state of the technology, it strikes me as being unwise to invest a large sum in any commercial product to use as an application platform. Most of the tools that exist for building Semantic Web applications have open source licenses, so it makes sense to restrict experimentation to such tools for now. The data store chosen for such an experiment should ideally be one that currently suffers from being both fragmented and unstructured, existing in incompatible file formats and stored in different locations within the organization's Intranet—all factors that make it difficult for users to locate specific information. Given the uncertainties surrounding such an experiment, the data store chosen should also be one that is not so volatile that time pressures can cause discontinuities in content over the course of the project. Whoever undertakes such a Semantic Web experiment needs to be prepared to conclude that the effort required to bring their experiment to fruition is too great to justify the added value. Even if this were to prove true in 2009, I'm confident that the impressive swirl of activity taking place now will coalesce into truly usable techniques and tools within a few years. The standards on which the Semantic Web will be built are still evolving, but they are much more mature than the methods developers have built to turn those standards into working applications. Therefore, having gotten one's feet wet in the state of things this year will undoubtedly provide a solid foundation for building Semantic Web applications in coming years. The bulk of this report consists of a compilation of resources on various aspects of the Semantic Web and developing Semantic Web applications. The resources are divided into the following categories:
Ontology Development Tools
  • Comes in two "flavors": Version 3.4 handles both OWL and RDF ontologies, while 4.0 is geared toward the latest OWL standards only.
  • Impressive software for creating OWL ontologies.
  • User interface is well organized, given the complexity of the objects and properties you're dealing with. The interface also must handle multiple views of the information, and it does so quite well.
  • Numerous plugins for Protege make specific task work easier. There are many more plugins for Protege 3.4 than for 4.0 at this time.
  • One plugin enables database connections, with which you can import entire databases or tables, including their contents. Tables typically become OWL objects, and columns become object properties. Impressively, this tool also creates a complete form with which you can enter new instance information. Each form field can also be customized after creation.
  • Protege can also export ontologies to "OWL Document" format, which is a browsable HTML representation of the ontology.
  • Stanford is developing a web-based version of Protege. The beta URL is at Web Protege.
Protege Plug-Ins
  • OntoLT. The OntoLT approach aims at a more direct connection between ontology engineering and linguistic analysis. Used with Protege, OntoLT can automatically extract concepts (Protégé classes) and relations (Protégé slots) from linguistically annotated text collections. It provides mapping rules, defined by use of a precondition language that allow for a mapping between linguistic entities in text and class/slot candidates in Protégé. (This plug-in is only available for Protege 3.2.)
  • There are a wide array of plug-ins for Protege 3.2, and a much smaller set for 4.0. This page from the "old" Protege wiki has good links to the full library of Protege plug-ins.
  • Ontowiki is a tool providing support for agile, distributed knowledge engineering scenarios. It facilitates the visual presentation of a knowledge base as an information map, with different views on instance data. It enables intuitive authoring of semantic content, with an inline editing mode for editing RDF content, similar to WYSIWIG for text documents. Ontowiki is built on the Powl platform. I have downloaded and installed an instance of Ontowiki on my home computer; the installation and configuration was quite simple.
Application Development Tools
The list in this section is just a small subset of the tools now available for building Semantic Web applications. There are several complete, continuously updated lists on the web, including those at SemWebCentral and the Semantic Web Company. Developer Resources
  • SemWebCentral is an Open Source development web site for the Semantic Web. It was established in January, 2004 to support the Semantic Web community by providing a free, centralized place for Open Source developers to manage Semantic Web software and content development. Another purpose is to provide resources for developers or other interested parties to learn about the Semantic Web and how to begin developing Semantic Web content and software. SemWebCentral has the following major portals:
  • Web Tools by category, a list of 148 projects organized by topic and a wide variety of other attributes.
  • Code snippets, an archive of code snippets, scripts, and functions developers have shared with the open source software community.
  • Learn About the Semantic Web, a collection of overviews, tutorials, and papers covering Semantic Web topics.
  • Programming With RDF is part of the RDF Schemas website. It has links to repositories of programmer resources by programming language, showing the kind of documentation, code, and tutorials covered by the repository.
  • Semantic Web Tools is a comprehensive list of over 700 developer tools now available for semantic-web-related projects. There are several such lists on the web, but this one is particularly good since it breaks the list down by category and language, making it much easier to narrow down the list you're interested in. This site is hosted by the Semantic Web Company.
  • Developers Guide to Semantic Web Toolkits collects links to Semantic Web toolkits for different programming languages and gives an overview about the features of each toolkit, the strength of the development effort and the toolkit's user community.
Frameworks Sesame
    • Extensions and Plugins
    • Rio, a set of parsers and writers for RDF that has been designed with speed and standards-compliance as the main concerns. Currently it supports reading and writing of RDF/XML and N-Triples, and writing of N3. Rio is part of Sesame, but can also be downloaded and used separately.
    • Elmo is a toolkit for developing Semantic Web applications using Sesame. Elmo wraps Sesame, providing a dedicated API for a number of well known web ontologies including Dublin Core, RSS and FOAF. The dedicated API makes it easier to work with RDF data for the supported ontologies. Elmo also offers a set of tools related to the supported ontologies, including an RDF crawler, a FOAF smusher and a FOAF validator.
  • Sesame is an open source Java framework for storing, querying and reasoning with RDF and RDF Schema. It can be used as a database for RDF and RDF Schema, or as a Java library for applications that need to work with RDF internally. Sesame is extremely flexible in how it's used and can work with a variety of data stores, including relational databases and native RDF files. It can be deployed as a server, or as a library incorporated into another application framework. For example, Sesame can be used simply to read a big RDF file, find the relevant information for an application, and use that information. Sesame provides the necessary tools to parse, interpret, query and store all this information, embedded in another application or, if appropriate, in a seperate database or even on a remote server. More generally, Sesame provides application developers a toolbox that contains all the necessary tools for building applications with RDF. Commercial support for Sesame is available from Aduna Software.

    Sesame also has a large ecosystem of addons and related toolsets. The following are the main links to these.

    Jess is a rule engine and scripting environment written entirely in Sun's Java language by Ernest Friedman-Hill at Sandia National Laboratories in Livermore, CA. Using Jess, you can build Java software that has the capacity to "reason" using knowledge you supply in the form of declarative rules. Jess is small, light, and one of the fastest rule engines available. Its powerful scripting language gives you access to all of Java's APIs. Jess includes a full-featured development environment based on the award-winning Eclipse platform.

    A Jess Plugin for Protege is available, integrating Jess development with your ontology.

    • ARQ, which is a query engine for Jena. ARQ supports multiple query languages (SPARQL, RDQL, and ARQ, the engine's own language), and besides Jena it can be used with general purpose engines and remote access engines. ARQ can also rewrite queries to SQL.
    • Joseki, an HTTP server-based system that support SPARQL queries. Joseki features a WebAPI for the remote query and update of RDF models, including both a client component and an RDF server. The Joseki server can run embedded in an application, as a standalone program, or as a web application inside a suitable application server (such as Tomcat). It provides the operations of query and update on models it hosts.
  • Jena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDF, RDFS and OWL, SPARQL and includes a rule-based inference engine. Jena is open source and grown out of work with the HP Labs Semantic Web Programme. Important tools related to the Jena framework include:
The Owl API
    • RDF/XML parser and writer
    • OWL/XML parser and writer
    • OWL Functional Syntax parser and writer
    • Turtle parser and writer
    • KRSS parser
    • OBO Flat file format parser
    • Support for integration with reasoners such as Pellet and FaCT++
  • The OWL API is an open-source Java interface and implementation for OWL, focused towards OWL 2 which encompasses OWL-Lite, OWL-DL and some elements of OWL-Full. The OWL API was used to build Protege 4.0 and was developed by Co-Ode, the company that works with Stanford University on the Protege project. It encompasses tool for the following tasks:
    Powl is a web-based platform for building applications designed to support collaborative building and managing of ontologies. It supports many of the features of mature tools like Protege, but for web applications that can be used for team development of ontologies. Powl is an open source project that uses PHP and various RDBMS systems on the back-end. Ontowiki is an example of a collaborative application built using Powl.
Visualization and Query Tools Jambalaya OntoVista
    The University of Georgia, as described in the next section of Semantic Applications, has built a large number of interesting semantic software. OntoVista is a particularly useful ontology visualization, navigation, and query tool based on Jambalaya. OntoVista is adaptable to the needs of different domains, especially in the life sciences. The tool provides a semantically enhanced graph display that gives users a more intuitive way of interpreting nodes and their relationships. Additionally, OntoVista provides comfortable interfaces for searching, semantic edge filtering and quick-browsing of ontologies.
SWRL (Semantic Web Rule Language)
    SWRL is intended to be the rule language of the Semantic Web and is based on OWL. It allows users to write rules to reason about OWL instances and to infer new knowledge about those instances.
    Pellet is an open source, OWL DL reasoner in Java that is developed, and commercially supported, by Clark & Parsia LLC. Pellet provides standard and cutting-edge reasoning services. It also incorporates various optimization techniques described in the DL literature and contains several novel optimizations for nominals, conjunctive query answering, and incremental reasoning.

    Pronto is an extension of Pellet that enables probabilistic knowledge representation and reasoning in OWL ontologies. Pronto is distributed as a Java library equipped with a command line tool for demonstrating its basic capabilities. It is currently in development stage—more robust and mature than a mere prototype, but less mature than a production-level system like Pellet.

    Pronto offers core OWL reasoning services for knowledge bases containing uncertain knowledge; that is, it processes statements like “Bird is a subclass-of Flying Object with probability greater than 90%” or “Tweety is-a Flying Object with probability less than 5%”. The use cases for Pronto include ontology and data alignment, as well as reasoning about uncertain domain knowledge generally; for example, risk factors associated with medical conditions like breast cancer.

OWL Ontology Validator
  • This online tool, developed as part of the WonderWeb Project, attempts to validate an ontology against the different "species" of OWL. Any constructs found which relate to a particular species will be reported. In addition, if requested, the validator will return a description of the classes, properties and individuals in the ontology in terms of the OWL Abstract Syntax.
Seamark Navigator
    Seamark Navigator is part of the commercial Information Access Platform from Siderean. Navigator is the relational navigation server component,which discovers and indexes content, pre-calculates relationships and suggests paths for data exploration. Its primary architectural components include a metadata aggregator, a scalable RDF store, and a relational navigation engine, all within an industry-standard Web services interface.
Unstructured Content Mining Tools Calais
  • The Calais Web Service automatically creates rich semantic metadata for the content you submit – in well under a second. Using natural language processing, machine learning and other methods, Calais analyzes your document and finds the entities within it. Calais goes beyond classic entity identification and returns facts and events hidden within your text as well.
Cortex Competitiva Platform
  • Cortex Competitiva employs collectively both state-of-the-art text mining technologies and consolidated techniques in data mining. The main modules of the platform are Information Collection, Information Organization and Collaboration, and Information Use Analysis.
IdentiFinder Text Suite
    IdentiFinder Text Suite, a product of BBN Technologies, lets users quickly sift through documents, web pages, and email to discover relevant information. It helps solve the classic problems of text mining: First, how to identify significant documents and then, how to locate the most important information within them.
    DL-Learner is a tool from AKSW for learning concepts in Description Logics (DLs) from user-provided examples. Equivalently, it can be used to learn classes in OWL ontologies from selected objects. The goal of DL-Learner is to construc knowledge about existing data sets. With DL-Learner, users provide positive and negative examples from a knowledge base for a not yet defined concept. The goal of DL-Learner is to derive a concept definition so that when the definition is added to the background knowledge all positive examples follow and none of the negative examples follow. See also the Wikipedia entry for ILP (Inductive Logic Programming). What DL-Learner considers is the the ILP problem applied to Descriptions Logics / OWL.
Transformation Tools GRDDL
    GRDDL is a mechanism for Gleaning Resource Descriptions from Dialects of Languages. It is a technique for obtaining RDF data from XML documents and in particular XHTML pages. GRDDL provides an inexpensive set of mechanisms for bootstrapping RDF content from XML and XHTML. GRDDL does this by shifting the burden of formulating RDF away from the author to transformation algorithms written specifically for XML dialects such as XHTML. A repository of transformations is available.
    The Simile project has developed a large number of "RDFizers," which convert various file formats into RDF. This page also contains links to the many RDFizers developed by other organizations to handle even more document types.
Database Tools
Query Languages and Tools SPARQL Query Language for RDF
    SPARQL is a w3c specification for querying RDF repositories. It can be used to express queries for native RDF files or for RDF generated from stored ontologies via middleware. he results of SPARQL queries can be results sets or RDF graphs.
    Owlgres is an open source, scalable reasoner for OWL2. Owlgres combines Description Logic reasoning with the data management and performance properties of an RDBMS. Owlgres is intended to be deployed with the open source PostgreSQL database server. Owlgres’s primary service is conjunctive query answering, using SPARQL-DL.
    D2RQ is a declarative language to describe mappings between relational database schema and OWL/RDF ontologies. The D2RQ platform uses these mapping to enables applications to access RDF views on a non-RDF database through the Jena and Sesame APIs, as well as over the Web via the SPARQL Protocol and as Linked Data.
Conversion/Transformation Tools OntoSynt
    OntoSynt provides automatic support for extracting from a relational database schema its conceptual view. That is, it extracts semantics "hidden" in the relational sources by wrapping them by means of an ontology. The approach is specifically tailored for semantic information access, enabling queries over an ontology to be answered by using the data residing in its relational sources. Its web interface accepts an XML representation of an RDBMS schema, which can be generated using a tool like SQL Fairy.
    Relational.OWL is an open source application that automatically extracts the semantics of virtually any relational database and transforms this information automatically into RDF/OWL ontologies that can be processed by Semantic Web applications.
Triplify SQL Fairy
    SQL Fairy is a group of Perl modules that manipulate structured data definitions (mostly database schemas) in interesting ways, such as converting among different dialects of CREATE syntax (e.g., MySQL-to-Oracle), visualizations of schemas, automatic code generation, converting non-RDBMS files to SQL schemas (xSV text files, Excel spreadsheets), serializing parsed schemas (e.g., via XML), creating documentation (e.g., HTML), and more.
Application Servers
OpenLink Virtuoso Universal Server
  • Virtuoso, developed by OpenLink Software, is a complex product that appears to be a total solution for hosting Semantic Web applications, among other uses. In the company's words, from a recent release: "Virtuoso enables end users, systems architects, systems integrators, and developers to interact with data at the conceptual as opposed to the traditional logical level. Data about customers, suppliers, invoices, and orders, stored in existing ODBC- or JDBC-accessible database systems such as Oracle, Informix, Ingres, SQL Server, Sybase, Progress, and MySQL, can be presented in RDF form for use in Semantic Web applications."
  • Virtuoso is also available in an Open Source Edition, a very active project that includes a large number of modules for use with various content management systems. The main difference between the open source and commercial editions of Virtuoso is the Virtual Database Engine, which essentially enables an application to incorporate multiple data servers in its queries.

    Also available as open source from OpenLink is its OpenLink Ajax Toolkit (OAT), which comes with a wide range of user interface and data widgets, as well as complete applications for building data queries, designing databases, and designing web forms. The OpenLink Data Explorer is one of these standalone OAT applications. Widgets that are part of OAT include:

    The standalone applications running on the Open-Source Edition all incorporate widgets from the OAT to create quite robust, desktop-application-like tools (the username/password for all of these is demo/demo):
  • OpenLink also provides OpenLink Data Spaces (ODS), which run on the Virtuoso server, either the commercial or open-source editions. ODS enables developers to create a presence in the Semantic Web via Data Spaces derived from Weblogs, Wikis, Feed Aggregators, Photo Galleries, Shared Bookmarks, Discussion Forums and more. Data Spaces thus provide a foundation for the creation, processing and dissemination of knowledge for the emerging Semantic Web. ODS is pre-installed as part of the demonstration database bundled with the Virtuoso Open-Source Edition. Existing ODS modules include:
Cyc Knowledge Server Intelligent Topic Manager
  • Intelligent Topic Manager (ITM) is a commercial semantic software platform that enables a wide range of applications in enterprise information systems. ITM is designed to help organizations leverage, organize and model content and knowledge, to manage business reference models and taxonomies, to categorize and classify content, and to empower search. The platform consists of the following components and functionalities:
Oracle Semantic Technologies
  • Oracle Spacial 11g is an open, scalable RDF management platform. Based on a graph data model, RDF triples are persisted, indexed and queried, similar to other object-relational data types. Application developers can use the Oracle server to design and develop a wide range of semantic-enhanced business applications.
Asio Tool Suite Available from BBN, the Asio Tool Suite is focused primarily on building Semantic Web applications by integrating an enterprise's existing databases and systems without the need for complete reengineering. Designed to address the volume, variety, and exponential increase in enterprise data, the Asio Tool Suite supports information discovery via Semantic Web standards and provides for data accessibility via queries posed in a user’s own ontology. The suite further enables integration of systems by building bridges in semantic meaning from one system to another. The suite consists of the following components: Parliament
    Asio Parliament, released as open source, implements a high-performance storage engine that is compatible with the RDF and OWL standards. However, it is not a complete data management system. Parliament is typically paired with a query processor, such as Sesame or Jena, to implement a complete data management solution that incorporates SPARQL standards. In addition, Parliament includes a high-performance SWRL-compliant rule engine, which serves as an efficient inference engine. An inference engine examines a directed graph of data and adds data to it based on a set of inference rules. This enables Parliament to fill in gaps in the data automatically and transparently, inferring additional facts and relationships in the data to enrich query results.
    Asio Cartographer is a graphical ontology mapper based on SWRL. It utilizes the core functionality of BBN's Snoggle open-source mapping tool to assist in aligning OWL ontologies. It lets users visualize ontologies and then draw mappings between them on an intuitive graphical canvas. Cartographer then transforms those maps into SWRL/RDF or SWRL/XML for use in a knowledge base.
    Asio Scout provides semantic bridges to relational databases and web services that let an organization keep their existing systems in place for as long as necessary to, for example, support ongoing operations. Scout's semantic bridges act like any passive data consumer, but unlike other counterparts, their functionality— in concert with Asio Semantic Query Distribution's high-level perspective—enables consolidated knowledge discovery that wasn't previously conceivable. Scout can be used for web portals, standalone desktop applications, or web-enabled applications.
Semantic Application Demos
Browsers and Search Portals
  • Disco - Hyperdata Browser is a simple browser for navigating the Semantic Web as an unbound set of data sources. The browser renders in HTML all information that it can find on the Semantic Web about a specific resource. This resource description contains hyperlinks that allow you to navigate between resources. While you move from one resource to another, the browser dynamically retrieves information by dereferencing HTTP URIs and by following rdfs:seeAlso links.
  • Umbel Subject Concepts Explorer is a lightweight ontology structure for relating Web content and data to a standard set of subject concepts. Its purpose is to provide a fixed set of reference points in a global knowledge space. These subject concepts have defined relationships between them, and can act as binding or attachment points for any Web content or data.
  • Openlink Data Explorer is one product developed from the open-source version of the Virtuoso Universal Server product. This is the platform used by the DBPedia project, including the demos on the DBPedia page. The demo below shows the XHTML view option of a Data Viewer ontology query.
  • Zitgist DataViewer lets users browse linked data on the web, starting from an RDF or OWL ontology URL.
  • The Sindice Semantic Web Index monitors, harvests existing web data published as RDF and Microformats and makes them available under a coherent umbrella of functionalities and services. Its index of data is presented as a search portal much like Google. Sindice is created at DERI, the world’s largest institute for Semantic Web research. It is based on DERI’s unique cluster technology which indexes and operates over terascale semantic data sets (trillions of statements) while also providing very high query throughputs per cluster size. Leveraging unique cluster technologies, Sindice performs sophisticated reasoning which dramatically enhances data reusability, search precision, and recall. It obtains data by focused crawling methods which detects and focuses on metadata rich internet sources.
  • The RKB Explorer is an application built using awards data from the National Science Foundation (NSF). It has used this data to build ontologies around NSF grants, and users can search and browse the data through the Explorer. All URIs on this domain are resolvable, and search results deliver HTML or RDF, depending on the content. The browse interface provides viewing and navigating using RDF triples, and the query interface provides access using SPARQL. I discovered this useful application through a search on "NSF funding" using Sindice.
  • Marbles Linked Data Browser is a server-side application that formats Semantic Web content for XHTML clients using Fresnel lenses and formats. Colored dots are used to correlate the origin of displayed data with a list of data sources, hence the name. Marbles provides display and database capabilities for DBpedia Mobile.
  • The Cyc Foundation Concept Browser lets users search and browse the content of the OpenCyc knowledge base.
  • Brownsauce is a Semantic Web browser that lets users browse RDF files on the web. It runs as a local Java client and has a built-in Jetty web server. Brownsauce uses the Jena Semantic Web framework.
Ontology Viewers and Query Tools
  • DBpedia is a community effort to extract structured information from Wikipedia and to make this information available on the Web. DBpedia allows you to ask sophisticated queries against Wikipedia and to link other datasets on the Web to Wikipedia data. DBpedia is one of the projects developed/sponsored by AKSW. A wide variety of articles and publications about DBpedia have been published (see the Resources section of this report).
  • jSpace is a WebStart java application that demonstrates how one might search and query a given ontological database. There are several example database available to download for use with jSpace. jSpace's development was apparently inspired by mSpace. (mSpace was an innovative, but now defunct, project that attempted to merge the power of Google with the powerful interface of iTunes. Although the mSpace demo of a classical music explorer is not accessible now, it's well worth checking out the video demos of it.)
  • Owlsight is an innovative web application that uses the Google Web Toolkit and the Est JavaScript library to let users navigate OWL ontologies, browsing the relationships between classes, properties, and instances. Owlsight uses the Pellet ontoloty reasoner.
  • OpenCyc for the Semantic Web is both a project and an OWL ontology browser. Using this tool, users can access the entire OpenCyc content as downloadable OWL ontologies as well as via Semantic Web endpoints (i.e., permanent URIs). These URIs return RDF representations of each Cyc concept as well as a human-readable version when accessed via a Web Browser.
Knowledge/Content Management
  • The KiWi wiki project proposes a new approach to knowledge management that combines the wiki philosophy with the intelligence and methods of the Semantic Web. (KiWi stands for "Knowledge in a Wiki.")
  • DeepaMehta is a software platform for knowledge management. Knowledge is represented in a semantic network and is handled collaboratively. The DeepaMehta user interface is completely based on Mind Maps / Concept Maps. Instead of handling information through applications, windows and files, with DeepaMehta the user handles all kind of information directly and individually.
  • Semantic MediaWiki and SMW+are extensions to the MediaWiki platform, described elsewhere in this report.
Application Repositories
  • MIT's Simile project has been extremely creative and productive in applying concepts of linked data, RDF, and the Semantic Web generally to demonstration applications, all available as open source. (Simile is an acronym for "Semantic Interoperability of Metadata and Information in unLike Environments".) Some of its projects are included elsewhere in this report, but here is a list of some others relevant to the Semantic Web:
    • Longwell, a server application that applies concepts of faceted browsing with visualizing RDF stores.
    • PiggyBank is a Firefox add-on that enables users to develop "mashups" of web data by using "screen scrapers." The software also allows users to tag information found and embed RDF into their content.
    • RDFizers, described elsewhere in this report.
    • Referee, a server application that creates browsable RDF files from web server logs.
    • Welkin, an RDF visualizer built as a client-side java application. (Note: I couldn't get it to run on my Mac, even though MIT makes a Mac OS X disk image available.)
    • Fresnel, a vocabulary for displaying RDF.
    • Banach, a collection of operators that work on RDF graphs to infer, extend, emerge or otherwise transform a graph into another.
    • Data Collecton, a project that aims to develop a collection of RDF data sets that are generally useful for the metadata research and tools community.
  • DERI (Digital Enterprise Research Institute) International is the collection of bi-lateral agreements between like minded institutes working on the Semantic Web and Web Science. Its mission is to exploit semantics for people, organizations, and systems to collaborate and interoperate on a global scale. DERI conducts and funds research in Semantic Web technologies, conducts projects that have led to numerous prototype applications, and develops ontologies. The following are a few interesting links from DERI's Irish branch in Galway:
    • Research Clusters covering such topics as eLearning, Semantic Reality, Semantic Web Services, Industrial and Scientific Applications of Semantic Web Services, and Social Software. Each cluster has its own website and projects.
    • Research Projects, a lengthy list of ongoing projects.
    • Tools, a lengthy list of software tools available for download, typically from SourceForge.
  • University of Georgia's Large Scale Distributed Information Systems has a wide array of semantic applications available. The online repository has descriptions, downloads, and online demos. The applications cover such functions as visualization, ontology queries, ontology browsing, web services, and more.
  • 10 Semantic Apps To Watch From the ReadWriteWeb site, this is an intriguing list of new semantic-web-related applications that are now available out there. The article gives first explains what they mean by a "Semantic Application," and then briefly describes each application's innovative use of this new technology. The ten applications listed are:
  • It's also interesting to read the comments at the end of this article, many of which are from readers pointing out other semantic applications they have discovered.
Semantic Website Enhancements
Semantic Web Crawling: A Sitemap Extension
    This specification allows website managers to provide an RDF sitemap which would be visible to users browsing the Semantic Web.
    Triplify is an open-source, light-weight add-on to web applications that can read the content of the application's relational database(s) and expose their inherent semantics. According to the Triplify website, for a typical Web application a configuration for Triplify can be created in less than an hour. Triplify is based on the definition of relational database queries for a specific Web application in order to retrieve valuable information and to convert the results of these queries into RDF, JSON and Linked Data. A "triplified" web application can then provide its data to other applications on the web, enabling use of its information in "mashups."

    The Triplify project already has configurations for a variety of widely used content management systems, such as OpenConf, WordPress, Drupal, Joomla!, osCommerce, and phpBB. (The page that has links to these configurations also has a great list of other Semantic Web resources.) Triplify is one of the applications developed by AKSW. (I plan to download Triplify and integrate it in an instance of WordPress on my home computer.)

    Microformats are orthogonally related to the Semantic Web through their use of RDF-like attributes in CSS Class elements. Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards. They are highly correlated with semantic XHTML, sometimes referred to a "real world semantics", or "lossless XHTML." Microformats are designed to enable more/better structured blogging and web publishing. The Microformats site provides an array of code and tools for use in producing markup in microformats.
    RDFa in HTML is a proposed W3C specification that enables markup of RDF-like syntax into XHTML content. RDFa in XHTML provides a set of XHTML attributes to augment human-readable contenta with machine-readable hints. It enables the expression of simple and more complex datasets using RDFa, and in particular turns the existing human-visible text and links into machine-readable data without repeating content. The goals and approach of this specification are similar to that of Microformats, but it extends XHTML by use of and RDF-like syntax rather than using CSS classes.
    Exhibit is a three-tier web application framework written in Javascript, which you can use with various kinds of data files, including JSON and RDF, to produce knowledge-enhancing "mashups" like Google Maps. Exhibit creates interactive user interfaces displaying record data sets on maps, timelines, scatter plots, interactive tables, etc. Exhibit is one of the projects in knowledge management developed by MIT, partly with NSF funding.
Semantic MediaWiki
    Semantic MediaWiki (SMW) is a free extension of MediaWiki – the wiki system powering Wikipedia – that helps to search, organise, tag, browse, evaluate, and share the wiki's content. While traditional wikis contain only texts that computers can neither understand nor evaluate, SMW adds semantic annotations that bring the power of the Semantic Web to the wiki.
    SMW+ is Ontoprise's production version of the open source Semantic MediaWiki + Halo Extension software, which was originally developed as part of the 2003-04 Halo project for scientific information discovery. SMW+ makes the process of annotating wiki content much easier by adding a variety of useful interface tools, and it also helps writers research information by using the wiki's built-in ontology browser. SMW+ is designed to enable and enhance knowledge collaboration in organizations. It's available as a free download from Sourceforge, or as a reasonably priced bundled version for Windows. Ontoprise also offers service contracts for the product. The impressive detailed list of features on the Ontoprise website gives a good overview of SMW+ capabilities. These include:
    • Semantic Toolbar: Lets users create, inspect and alter semantic annotations in the wiki text without knowing the annotation syntax.
    • Advanced Annotation Mode: In this mode, wiki pages are displayed in the same way as they are displayed in the standard view mode. However, users can easily add annotations by simply highlighting the word or passage they want to annotate.
    • Ontology Browser: Allows easy navigation through the wiki's ontology without the need to access individual articles. It helps the user to understand the ontology and to keep an overview about it.
    • Question Formulation Interface: Normally, making queries against the semantic wiki involve knowing and using a complex syntax. The Question Formulation Interface provides a graphical interface that lets inexperienced users easily compose their own queries.
    • Auto completion: This tool greatly simplifies users' ability to generate annotations. With auto completion activated, users don't have to care about correct spelling of an article’s or property's name, because the tool extracts possible completions from the semantic context. For example, it checks what attribute values are possible for a particular attribute and show only these to the user. This tool is used in the wiki text editor, the semantic tool bar, the query interface and the combined search.
      ARC is an API for LAMP-based (Linux-Apache-MySQL-PHP) websites. Its goal is to reach out to the larger Web developer community, to enable the combination of efforts like microformats with the utility of selected RDF solutions such as agile data storage, run-time model changes, standardized query interfaces, and mashup chaining. ARC tries to keep things simple and flexible. All features are backed by practical use cases. One of the underlying premises of ARC is that RDF is a productivity booster that can make website implementation much faster if it's used pragmatically.

      ARC includes the following capabilities:

    • Parsers for RDF/XML, Turtle, SPARQL + SPOG, Legacy XML, HTML "tag soup," RSS 2.0, and others.
    • Serializers for N-Triples, RDF/JSON, RDF/XML, Turtle, SPOG dumps.
    • RDF Storage using MySQL with support for SPARQL queries
    • SemHTML RDF extractors for Duplin Core, eRDF, microformats, OpenID, RDFa
    • Use of remote stores, allowing the website to query remote SPARQL endpoints as if they were local stores (results are returned as native PHP arrays)
    • SPARQLScript, a SPARQL-based scripting language combined with output templating
    • Light-weight inferencing
    ARC applications and websites. Of as much interest as ARC itself are the numerous applications and extensions that have already been built with it, many of which are useful for semantically enhancing websites on their own. The following are a few examples:
      • Trice - A Semantic Web framework (still in development).
      Calais Marmoset
        Marmoset, one of several Semantic Web tools from the OpenCalais project, is a simple yet powerful tool that makes it easy for publishers to generate and embed metadata in their content in preparation for Yahoo! Search's new open developer platform, SearchMonkey, as well as other metacrawlers and semantic applications. Marmoset uses the OpenCalais web service, which can provide search engine crawlers with rich semantic data to consider when they index a site's pages. Yahoo!'s search engine can analyze this semantic data, provided in Microformats, and other search engines are likely to follow. As a result, users accessing a Marmoset-enhanced website through search engines will get better targeted results.
      Other Resources
      Ontology Libraries One of the best features of ontologies is their design for reuse. It's not clear to me what happens when you encounter a dozen ontologies for "person" or "job", etc., in the ontology libraries on the web, but it's certainly useful that you can search for existing ontologies and bring the objects you want to model into your own ontology. There are a few ontologies for commonly used objects that are nearly defacto standards now: The following is a list of other resources available for finding ontologies on specific topics:
      • Simile Ontologies This library includes those developed by MIT as part of the Simile project as well as a list of others that have been used by the project.
      • Swoogle Swoogle is a research project being carried out by the ebiquity research group in the Computer Science and Electrical Engineering Department at the University of Maryland
      • Google Google can restrict its search to files of type "owl", as this sample search shows.
      • OntoSelect Ontology Library This library has an ontology search system with several unique and innovative features, including use of Wikipedia topics as the basis for one type of search.
      • BioPortal BioPortal is a sophisticated web application for accessing and sharing biomedical ontologies. It features several advanced search and visualization tools, as well as tools for mapping concepts between different ontologies.
      • SchemaWeb This is a comprehensive directory of RDF schemas which, in addition to typical browse-and-search interfaces, also provides an extensive set of web services to be used by software agents for processing RDF data.
      • Watson This link points to Watson's terrific web interface, which is one of the best for searching out ontologies that match your topics of interest. Watson also has a Protege plugin, but I haven't been able to make it work. The plugin, when working, would let a developer search and add classes to their ontology directly from within Protege.
      • TONES Ontology Repository This repository is primarily designed to be a central location for ontologies that might be of use to ontology tools developers for testing purposes.
      • Ping the Semantic Web Developed as a free web service by Zitgist, a company "incubated" by OpenLink, PingtheSemanticWeb (PTSW) is an archive of recently created/updated RDF documents on the web. If one of those documents is created or updated, its author can notify PTSW that the document has been created or updated by pinging the service with the URL of the document. PTSW is used by crawlers or other types of software agents to know when and where the latest updated RDF documents can be found. This dynamically updated library displays the 25 most recently updated ontologies, in real time. Using PTSW's data store, you can retrieve data on all RDF files by namespace or by class, with the option to download the files.
      Papers, Projects and Documentation
      • W3C Semantic Web Activity This portal can be thought of as the Semantic Web's "Home Page." It brings together a vast amount of primary source documentation of the Semantic Web's languages and other standard specifications, including OWL, RDF, RDFa in XHTML, and SPARQL. In addition, this portal gathers all the major ongoing projects involving the Semantic Web and the groups conducting them. The page also lists a large number of publications and presentations on Semantic Web topics.
      • Rich Tags This paper describes a proposal/project for developing a system that uses semantic tags for enhancing the searchability of web pages. (The proposal sounds similar to the W3C specification for RDFa in XHTML.)
      • Building A Semantic Website This article is a little old (2001), but has a good overview of the steps and components of building a web application using RDF ontologies.
      • TONES TONES is a European Union research project into the design and use of Thinking ONtologiES. Begun in 2005, it is scheduled to complete its work in 2008. The TONES website has links to all of the outputs of the project, including software tools and research papers. This PDF contains a 2006 presentation overview of the TONES project.
      • RapidOWL This methodology for developing OWL ontologies is based on the idea of iterative refinement, annotation and structuring of a knowledge base. A central paradigm for the RapidOWL methodology is the concentration on smallest possible information chunks. The collaborative aspect comes into play, when those information chunks can be selectively added, removed, annotated with comments or ratings. Design rationales for the RapidOWL methodology are to be light-weight, easy-to-implement, and support of spatially distributed and highly collaborative scenarios. This methodology is implemented in the OntoWiki software project.
      • Linked Data Comes of Age This very useful article clearly explains what is meant by linked data based on RDF and how it fits into the overarching vision of the Semantic Web.
      • Zitgist's Papers and Reports This is a useful list of resources on subjects relevant to Semantic Web research. The Zitgist Lab site also has a good page of documents on Best Practices for RDF.
      • RDF Schemas This site has a clear explanation of the various "vocabularies" used to develop ontologies: RDF, RDFS, OWL, and Dublic Core. The site also has a terrific list of resources for programmers.
      • Nodalities Magazine Sponsored by Talis, this free, bimonthly online magazine (released in PDF format) tries to bridge the divide between those building the Semantic Web and those interested in applying it to their business requirements. The magazine is supported by the Nodalities blog, podcasts, and Semantic Web development work.
      • DERI Papers and Reports This site contains a large collection of research papers and technical reports produced by DERI International.
      Business Resources This list includes companies I've encountered that appear to have substantial expertise in applying Semantic Web technologies to practical business requirements. BBN Technologies
        BBN is a technology company with a broad range of expertise, services, and products—including support for Semantic Web application development. As an indication of the impressive expertise of this company, BBN was the prime contractor for DARPA (Defense Advanced Research Projects Agency) in development of DAML (DARPA Agent Markup Language), which then led to their development of OWL. BBN also provides the Asio Tool Suite for third-party development and the open source Snoogle and Parliament tools.
        Cycorp is a leading provider of semantic technologies that bring intelligence and common sense reasoning to a wide variety of software applications. The Cyc software combines ontologies and knowledge bases with a powerful reasoning engine and natural language interfaces to enable the development of novel knowledge-intensive applications.
      Clark & Parsia
        Clark & Parsia is a small R&D firm—specializing in Semantic Web and advanced systems—based in Washington, DC. They have expertise in a range of semantic-web technologies, including OWL, RDF, reasoning at scale, and ontology development. They offer commercial support for Pellet, a best-of-breed Open Source OWL DL reasoner in Java, and related systems.
      Semantic Arts
        This company helps companies (medium/large with 1,000 to 10,000 employees) migrate to semantically-based SOAs (Service Oriented Architectures).
        Zitgist has a number of interesting products for viewing and querying the Semantic Web, as well as offering services for ontology development, content conversion, and web services. They also provide several open-source products for both consumer and corporate use in furthering use of the Semantic Web.
      Semantic Web Company
        The Semantic Web Company (SWC), based in Vienna, Austria, provides companies, institutions and organizations with professional services related to the Semantic Web, semantic technologies and Social Software. They provide services in consulting, education, and project management, among others.
        Talis has developed its own application development platform—the Talis Platform—and also builds Semantic Web applications for other organizations. To date, Talis' applications have been geared to meeting the needs of libraries and academic institutions.
        Semsol offers a wide range of Semantic Web-related services, from consulting and data modeling to interface design and production. Semsol is a pioneer in bringing Semantic Web technologies to widely deployed server and database environments. Semsol is the company behind development of the open-source tool ARC, as well as for several of the applications built on top of ARC, including Trice, SPARQLBot, and paggr (referenced earlier).
        Cortex's software platform and consulting business is based on their Competitiva system. Cortex’s technology proposes to mine unstructured data on the Web, using Competitiva's intelligent system to automatically convert pages and documents to a semantic format (i.e. RDF). Cortex has an R&D team working to bridge the Semantic Web gap by automatically enriching text with semantic content for themselves and their customers.
      • del.icio.us
      • Google
      • Slashdot
      • Technorati
      • blogmarks
      • Tumblr
      • Digg
      • Facebook
      • Mixx
      February 2nd, 2009

      Best Web 2.0 Applications for 2008

      Welcome to Webware 100 Awards 2008

      This is WebWare's rating of the best of 2008's Web 2.0 offerings. Nicely organized by functional category.

      • del.icio.us
      • Google
      • Slashdot
      • Technorati
      • blogmarks
      • Tumblr
      • Digg
      • Facebook
      • Mixx
      Posted in:Web 2.0Tags: , |
      February 2nd, 2009

      A Huge Directory of Web 2.0 Sites

      Go2Web20.net - The complete Web 2.0 sites directory

      Billing itself as the "Complete Web 2.0 Sites Directory," this Web 2.0 site certainly does have an amazing cast of characters!

      • del.icio.us
      • Google
      • Slashdot
      • Technorati
      • blogmarks
      • Tumblr
      • Digg
      • Facebook
      • Mixx
      January 16th, 2009

      Very Clear and Useful Article on Cocoa Debugging and Dead-Code Stripping

      seriot.ch - Removing Cocoa Dead Code Using Code Coverage

      Very glad I found this one... now I hope I remember I've put it here in my Cocoa bin!

      • del.icio.us
      • Google
      • Slashdot
      • Technorati
      • blogmarks
      • Tumblr
      • Digg
      • Facebook
      • Mixx
      December 3rd, 2008

      Review of Six Alternative Web Browsers

      Too good to ignore: 6 alternative browsers

      Computerworld goes beyond IE, Firefox, and Safari to take a look at six lesser-known and -used web browsers for both Mac and Windows. It's interesting to note that three of the six are based on WebKit, the core engine used in Safari.

      • del.icio.us
      • Google
      • Slashdot
      • Technorati
      • blogmarks
      • Tumblr
      • Digg
      • Facebook
      • Mixx
      Posted in:Reviews, Web BrowsersTags: |
      November 7th, 2008

      A Treasure Trove of iPhone eReader Software Part II:
      13 Apps for Managing Documents

      iPhone Readers illustration. Based on a photo courtesy of the U.S. National Science Foundation.

      This second part of my report on the iPhone application marketplace covers the class of software that, while still falling squarely in the overall eReader category, is designed primarily for storing and managing documents. The primary distinctions between this class and the one covered in Part 1 are that the eReader apps discussed here:

      1. Handle a wide variety of common file formats found in the workplace, rather than just text and proprietary eBook formats,
      2. Don't include controls for customizing fonts,
      3. Don't let users do full-text search on documents,
      4. Have good embedded browsers and follow web links,
      5. More easily let users move files to and from their iPhones, and
      6. Typically let users organize and rename files and folders within their interface.

      It still surprises me how rapidly this market is evolving, and that evolution makes keeping tabs on the capabilities of each application--and even on the entire set of applications--quite challenging. As I was finalizing this report, a new application in this class came to market that,

      Once again, another new iPhone app was released just as I was preparing to publish this report, which would make the 14th eReader in this category. It's too bad, because Discover is one of the best document-manager apps available. Best of all, it's free! I plan to add it to this review when time permits.
      it turns out, I've found to have among the very best features of any that came before. I have no doubt that many of the applications reviewed here will continue to be refined, rendering this snapshot fairly obsolete fairly quickly. But the observations here accurately reflect the current state of iPhone eReaders. (As mentioned in Part 1, all of these applications work equally well on both the iPhone and iPod Touch. For simplicity and brevity, therefore, I'll use "iPhone" to refer to both devices.)

      This second installment covers 13 applications:

      1. Air Sharing
      2. A.I. Disk
      3. Annotater
      4. Briefcase
      5. Caravan
      6. DataCase
      7. File Magnet
      8. Files
      9. Folders
      10. iStorage
      11. Mobile Studio
      12. TextGuru
      13. TouchFS

      As was the case for the applications primarily for reading text, none of the eReaders designed primarily for managing documents fully satisfies all of the requirements I've specified for them. Nearly all of them show red blocks in the matrix of capabilities that follows this introduction. There are also too many "light green" blocks in the requirements designed as key (those in boldface with the shiny highlight). If I could conglomerate the best features of each application, however, I'd have what I consider an ideal eReader, one that would satisfy all of the following requirements (in no particular order):

      • Handles most native file formats (including documents with images)
      • Formats HTML documents appropriately
      • Can organize documents into folders or categories
      • User can add bookmarks within files
      • Handles both portrait and landscape reading modes
      • Follows web hyperlinks
      • Lets user manage files and folders on the iPhone
      • Works offline
      • Easy to read and navigate documents
      • Easy to add documents
      • Provides a "full screen" mode
      • Resizes content automatically for both portrait and landscape modes
      • Remembers where you stopped reading

      Because their orientations are quite different, the set of requirements for these "Document Manager" applications differs as well. Most of the above requirements are pretty self-explanatory, and I explained some of them in Part 1 of this review.

      As noted in Part 1, any application that fully succeeds as an eReader must be able to read, navigate and appropriately format HTML documents. Whereas most of the applications covered in Part 1 could do that, only two in this list can. By "appropriately," I refer to the ability to wrap text lines while maintaining a given font size. HTML isn't PDF, and shouldn't be formatted as such. Most of these apps do this "appropriate" formatting for Word documents, and there's no reasons why they can't/shouldn't do this for HTML. That said, if an HTML file has been formatted using a rigid table structure, or if its text elements are set to specific widths using Cascading Style Sheets (CSS), an eReader can be forgiven for not parsing such files into device-agnostic HTML. (However, eReader software should check to see whether an HTML file has a separate "print" CSS style, which typically removes such formatting and can be re-wrapped with a decent font size for the iPhone.)

      Unfortunately, nearly all of these applications have a file-size limit, and I used one long test HTML document (about 700kb) that consistently crashed them. The exceptions were applications like TextGuru, which warned me that it couldn't handle such large files rather than trying to load them and then crashing. The file size limit seems to be much higher for some file types (e.g., PDF and web archives) than for others.

      By "Easy to read and navigate documents," I mean the extent to which an application presents a document's text at a readable type size, and to which it provides appropriate navigation controls. Relying solely on the iPhone's native "tap" and "swipe" gestures isn't usually sufficient, since such gestures don't necessarily translate into navigation actions. For example, it's typical for a double-tap to mean "expand text view to fit the display," yet some of these programs also expect such a gesture to move a document forward or backward a page. Confusing the two makes navigation pretty difficult. Similarly, some of these applications use a tap gesture to mean "unhide navigation controls" when a user is in full-screen mode. If this is the case, and the user can only navigate by tapping, the full-screen mode becomes worthless. For navigating and reading documents, the best apps in this list are Air Sharing, Briefcase, File Magnet, and Files.

      Since a major distinguishing factor of this group of applications is their ability to let users manage documents, it's pretty important that they provide ways for users to do just that. This means not only being able to move folders of files from your desktop computer, but also being able to rearrange and rename files and folders on the iPhone. Otherwise, the software doesn't really work optimally as a document manager. The best applications for this feature are A.I. Disk, iStorage, and MobileStudio.

      One of the tantalizing possibilities that these applications offer is the ability to not only browse the web from within their interface, but also to be able to save web documents to the iPhone. Sadly, only one of these (Caravan) can actually do that at this time; hopefully others will take up the challenge eventually. That said, several of the apps have well-designed, integrated web browsers that let users follow links to the web and easily find their way back to the starting document without having to leave the application's interface. Those that have mastered this trick so far are Air Sharing, A.I. Disk, Caravan, iStorage, MobileStudio, and TouchFS.

      A general complaint I have about these application is their inability to display PDF files appropriately in either portrait or landscape mode. In both cases, the display should focus on the text or page margins, not on the page borders. Not doing so makes PDF files difficult to read and navigate. The only app that handles PDF files well is Annotater, which specializes in that format. Annotater (yes, it's really spelled that way) at least eliminates the irritating "page border" and focuses on the page margin. It also automatically resizes PDF files in landscape mode, another important factor in PDF readability. PDF readers could be improved, however, by providing a "zoom" feature that would adjust the display to the text, rather than to the margin. It's difficult to do this by pinching, and after that, navigation can suffer if the document display slides off to the right or left.

      As the matrix that follows this introduction shows, all 13 of the reviewed applications have something to recommend them. For specialized uses, nearly any one of them would work well. The only ones I can't recommend at this time are Folders, iStorage, TextGuru, and TouchFS. Of these, iStorage has some remarkably good ideas, but they aren't all well executed in the current release. TextGuru is designed primarily as a text/code editor, and its file-management and eReader features clearly haven't been the focus of the developer's attention.

      For overall usability as a tool for reading and managing documents on the iPhone, and other textual material, Of the 13 applications reviewed, I found three that are clearly superior, and three others that, while not as good as the top three overall, are certainly good enough to recommend:

      Followed by:

      If you already have an account with Apple's MobileMe service, or with any other WebDAV service such as Box.net or MyDisk.se, A.I. Disk is an obvious choice. Not only does it integrate seamlessly with such services, but it comes the closest of this group to meeting all of the requirements for applications in this category of eReader. In fact, it is the only one that doesn't fail a single requirement. Incidentally, A.I. Disk is made by the same company, Readdle, that released the excellent ReaddleDocs application, which I rated as one of the top eReaders in the "text reader" category in Part I of this report. (It's worth noting that A.I. Disk was released after I had nearly finished this review, and in fact its release ended up delaying the review so I could include it.) The main weakness with A.I. Disk, however, is that it relies solely on external WebDAV servers for file management, and can't move files directly from your computer.

      Web-based Distributed Authoring and Versioning, or WebDAV, is a set of extensions to the Hypertext Transfer Protocol (HTTP) that allows users to collaboratively edit and manage files on remote World Wide Web servers. The group of developers responsible for these extensions was also known by the same name and was a working group of the Internet Engineering Task Force (IETF).

      The WebDAV protocol allows "Intercreativity," making the Web a readable and writable medium, in line with Tim Berners-Lee's original vision. It allows users to create, change and move documents on a remote server (typically a web server or "web share"). This is useful for authoring the documents that a web server serves, but it can also be used for storing files on the web, so that the files can be accessed from anywhere. The most important features of the WebDAV protocol are: locking ("overwrite prevention"); properties (creation, removal, and querying of information about author, modified date, etc.); name space management (ability to copy and move Web pages within a server's namespace); and collections (creation, removal, and listing of resources). Most modern operating systems provide built-in support for WebDAV. With a fast network and the right client, it is almost as easy to use files on a WebDAV server as those stored in local directories.Courtesy of Wikipedia

      Air Sharing makes the top cut on the strength of its terrific navigation tools and overall ease of use. Those and its ability to share documents directly with other iPhone users overcome its biggest weakness: Air Sharing doesn't let users manage their files and folders directly on the iPhone. Rather, you must set up folder structures and populate them with files on your computer and then sync with the iPhone. Hopefully, the developer will address this problem in a future release.

      MobileStudio (originally known as MobileFinder until Apple asked the developer to change it) excels at just the task that Air Sharing leaves out: Creating, moving, copying, and renaming files and folders on the iPhone. MobileStudio was also the first app in this class that lets users create and edit text file. It can even read and write .zip files, and you can set specific permissions on each file or folder--all within its interface. However, MobileStudio is weak in document navigation. Although it offers a full-screen mode, its lack of navigation options in that mode make it functionally useless. (For more information on this, see the detailed description of MobileStudio.)

      The next three applications in the recommended list (these are designated with a light-green background in the summary matrix) all have some excellent features that may trump those at the top, depending on the weight you place on each requirement. Files is easy to use and makes reading documents pleasant, but it can't manage files on the iPhone and doesn't have an embedded web browser. File Magnet has the best reading environment of any of these apps, as a result of its innovative "tilt scrolling" and "auto-scroll" mechanisms. Its biggest weaknesses are lack of bookmark support and inability to manage files and folders. DataCase has good built-in navigation controls and automatic "full screen mode." It's also one of the easiest to set up and move files to and from the iPhone. However, it doesn't let users create, rename or rearrange files and folders, it's not particularly good at displaying HTML or handling web links.

      The remainder of this report consists of a summary matrix showing the various capabilities and usability features of each application. In the matrix, a green block indicates that the app fully meets the requirement, and light green means a partial score. A red block indicates that the app fails the requirement, and light red means if partially fails. The gloss overlay highlights the core requirements for this category.

      Following the matrix are separate descriptions of each application, organized into lists of "Special strengths," "Special weaknesses," and "Other notes."

      Summary: e-Readers for Managing Documents (Table 1)

      Air Sharing

      A.I. Disk


      Brief- case



      File Magnet


      Handles native file formats, including images

      Formats HTML documents appropriately

      Can organize documents into folders or categories

      Has password protection or supports encrypted files

      Includes search tool

      User can add bookmarks within files

      Provides a table of contents

      Handles both portrait and landscape reading modes

      Follows web hyperlinks

      Can browse and download files from the web

      Lets user customize font faces and sizes

      Lets user manage files and folders on iPhone

      Can create and edit text files

      Works offline

      Works without external web account


      Easy to set up

      Easy to read and navigate documents

      Easy to add documents

      Provides a full screen mode

      Resizes content for both portrait and landscape

      Remembers where you stopped reading

      Transfer Methods

      Includes dedicated desktop software to transfer files

      File transfers from documents stored on the web

      File transfers from computer via FTP/Bonjour/WebDav

      Overall Rating

      Summary: e-Readers for Managing Documents (Table 2)




      Mobile Studio




      Handles native file formats, including images

      Formats HTML documents appropriately

      Can organize documents into folders or categories

      Has password protection or supports encrypted files

      Includes search tool

      User can add bookmarks within files

      Provides a table of contents

      Handles both portrait and landscape reading modes

      Follows web hyperlinks

      Can browse and download files from the web

      Lets user customize font faces and sizes

      Lets user manage files and folders on iPhone

      Can create and edit text files

      Works offline

      Works without external web account


      Easy to set up

      Easy to read and navigate documents

      Easy to add documents

      Provides a full screen mode

      Resizes content for both portrait and landscape

      Remembers where you stopped reading

      Transfer Methods

      Includes dedicated desktop software to transfer files

      File transfers from documents stored on the web

      File transfers from computer via FTP/Bonjour/WebDav

      Overall Rating

      Air Sharing

      Version 1.0.3, $6.99 Home Page

      imageSpecial strengths
      • Document lists can be resized by pinching
      • Features navigation menu by clicking the top toolbar
      • Can connect and share files directly with other iPhone users
      • Handy navigation controls overcome some of the limitations of the click/double-click method. The next/last page buttons on the toolbar are especially helpful in navigating PDF files. Air Sharing also has an icon in the top toolbar that takes you back to the beginning of the file� really helpful for long files!
      • Air Sharing remembers where you left off reading, and on launch returns you to the folder of the document you were reading last.
      • Excellent web browser integration: If you link to a web page, you can continue browsing as needed and then use Air Sharing's back/forward buttons to return to where you started. However, you can't download web pages as you browse them.
      • Automatic full-screen mode.
      • Very useful built-in Help.
      Special problems
      • Support for RTF documents is still very iffy. Often, opening one crashes Air Sharing. When it doesn't,
      • formatting can become goofy--for example, everything starts to become underlined, and hyperlinked words or phrases get changed to "hyperlink." However, Air Sharing's documentation lists RTF and RTFD as supported formats.
      • Doesn't follow links in PDF files
      • Air Sharing doesn't let you set up files and folders on the iPhone, or move files or folders around within the folder hierarchy. To set up folders, you need to design the hierarchy on your desktop computer and then synch with the iPhone.
      • Has a little difficulty switching between landscape and portrait modes, often getting stuck in between modes, or changing very slowly.
      Other notes
      • Air Sharing supports the file formats that Safari does (including .webarchive files written from Safari), as well as Microsoft Office formats supported on the iPhone. Support for iWork files is limited to the file preview embedded in the file package, and support for RTF/RTFD isn't reliable. One extra class of formats Air Sharing supports is source code, which it can display with appropriate syntax colors.

      A.I. Disk

      Version 1.0.1, $7.99 Home Page

      imageSpecial strengths
      • Developed by Readdle, makers of the excellent ReaddleDocs reader, A.I. Disk is extremely easy to set up if you have an account with one of the supported WebDAV servers. Out of the box, A.I. Disk can connect to your MobileMe, Box.net, or MyDisk.se accounts, and you can add whatever other WebDAV servers you may use.
      • A.I. Disk makes it quite easy to create new folders and to move documents and folders around within its interface.
      • You can easily follow hyperlinks to web pages using the build-in browser, and A.I. Disk maintains back/forward buttons so you can find your way "home." Like most other apps in this category, however, you can't save web files to A.I. Disk.
      • Supports adding bookmarks within your files.
      • You can add an extra layer of security to your document store by setting a separate passkey.
      • A.I. Disk offers a handy slider for moving quickly through large files.
      • The software adds an "automatic bookmark" to return you to where you left off reading a document, though it always defaults to show you your root library folder when starting up.
      • You can email documents from within the software's interface.
      • In addition to Microsoft Office, HTML, and PDF formats, A.I. Disk offers full support for Apple-specific formats like those from iWork as well as Safari web archives. Curiously, it can't read RTF files, though.
      • For relatively short files, A.I. Disk does an excellent job at resizing to fit both portrait and landscape mode, and it also reformats HTML files appropriately to fit the display (excluding files that have pre-formatted tables or CSS styles).
      Special weaknesses
      • A.I. Disk doesn't handle the display of large documents very well. It seems to take an unusually long time to finish loading such files, although it starts to display some of it fairly quickly. I found the early display more frustrating than endearing, since I couldn't use any of the controls or otherwise navigate the document until the entire file was loaded.
      • On a related note, although you can manually activate full-screen mode, the change can take quite awhile for long documents, and equally long switching back. In addition, when in landscape view, the control for restoring the navigation bars disappears, so you have to switch back to portrait mode to close the document or do anything else.
      • One of A.I. Disk's biggest weaknesses is its inability to transfer files from your computer. If you want to get such a file to A.I. Disk, you must first upload it to your favorite WebDAV account, and then download it to the iPhone.
      • It would be nice if A.I. Disk offered a way to upload files to your WebDAV servers, but it doesn't at this point.


      Version 1.2.619, $4.99 Home Page

      imageSpecial strengths
      • Annotater is unique among the current crop of eBook readers for iPhone in that it is based solely on the PDF format, for which it has the best support. It is the only app that includes full-text search of PDF files, and the only one that supports PDF bookmarks (or the table of contents you can set up in Acrobat).
      • Another unique characteristic of Annotater is that it supports PDF annotations, including drawing (in various colors, with your finger), text notes, and bookmarks.
      • Annotator is the only application that does a good job of eliminating the screen-real-estate-wasting border that seems to be the default way of presenting PDF files.
      • Synchronization through Annotater's desktop "Annotater Service" application is automatic and very fast. Once done, you can browse the files and decide which ones to keep. Whenever you launch the app, you can resynchronize, or add new folders to transfer. If you add more files to a desktop folder, you can have Annotater Service "reindex" the folder, making the iPhone aware of the new documents.
      Special weaknesses
      • The desktop app only accepts folders to synchronize with the iPhone, not individual files. The folders, however, can be deeply nested if necessary. You cannot change the folder structure on the iPhone, or in the desktop app. The organization must be set up on your file system. Annotater will only synchronize any PDF files it finds in the folder structure
      • To use other file types, you need to first convert them to PDF, as Annotater cannot read HTML or any other native file types.
      • Annotater does not support encrypted PDF files.
      • No full-screen mode, although Annotater's settings let you define the toolbar's transparency, making it possible to read through.
      • The application provides no navigation controls while reading documents.
      Other notes
      • Annotater relies on a wireless, Bonjour-aware desktop application ("Annotater Service") that supports only Mac OS X (at the moment). The restriction to Mac OS X support probably reflects the fact that any file on the Mac can be "printed" out to a PDF file.


      Version 1.1, $4.99 (Lite version, free) Home Page

      imageSpecial strengths
      • Briefcase is the most impressive application so far with respect to ease of connection to your computer and the ease of transferring files back and forth. You literally have to do nothing but log in. Briefcase identified any Bonjour-enabled computers on your network and presents them instantly in its interface. You have the option of having Briefcase remember your password, but the app warns you to use the iPhone's password-lock tool if you do.
      • You can not only connect to local computers, but also to any remote computers on which you have accounts. Even more useful for most users, iPhone users can transfer files among each other, assuming they have appropriate permission to do so.
      • Downloads that are interrupted when you quit Briefcase will be automatically resumed the next time the software is started.
      • Briefcase remembers where you left off reading and returns you there. But it doesn't remember which file you last had open or offer to reopen it.
      • For Mac users, Briefcase offers a plethora of special features for uploading files to your Mac, including:
      • Adding image files to iPhoto
      • Adding audio files to iTunes
      • Opening files automatically on the Mac
      • Setting images as your desktop background
      • Selecting specific folders to upload files, which you can bookmark in Briefcase for quick access later
      Special weaknesses
      • Although you can download folders from your computer to Briefcase, there's no way to move files to folders, create new folders, or rename files or folders from within Briefcase.
      • In a typical first-release symptom, Briefcase's interface remains in portrait mode when you switch to landscape, making navigation and bookmark-setting awkward. Also, bookmarks you set in landscape mode don't take you to the same location when in portrait mode.
      • In the 1.0 release, I found Briefcase frequently ran out of memory and started acting erratic or bumped me back to the iPhone screen.
      • Many of Briefcase's special features are only relevant to Mac users. That doesn't make them any less special, but from the perspective of a Windows user, it makes Briefcase less useful. As the developer explains in his FAQ for Briefcase,
        While Briefcase was designed to work optimally with Macs, Windows users (with a solid amount of technical knowledge) can use Briefcase as well. Windows does not support any open standards for remote login out of the box, including SSH which Briefcase uses. This means that one must install and set up an SSH server under Windows before Briefcase can connect.
        Presumably, a Windows user would also need to install Bonjour for the automatic network detection to work.
      • Briefcase has a good built-in web browser that lets you follow links without leaving the app. Two problems, however, that hopefully will be fixed in a future release:
        1. Once you follow a link, there's no way to get back to your previous page (or to the Briefcase document you started with), and
        2. You can't save documents you browse to into Briefcase.


      Version 1.3, $2.99 Home Page

      imageSpecial strengths
      • Caravan is another impressive iPhone app, which provides among the best integration between web, iPhone, and computer desktop. For connectivity to the desktop, Caravan relies on Bonjour and FTP. (Windows users will need to install Bonjour for Windows on their systems in order to use Caravan.) Unlike Mobile Studio, though, Caravan presents your file system on the iPhone, and lets you browse and download contents from within Caravan.
      • Using the same Bonjour connection, Caravan also lets users transfer files from the iPhone back to your computer's file system.
      • Caravan has among the best embedded web browser solutions in this roundup. Not only is the browser truly "embedded," so you can browse without leaving Caravan, but Caravan provides a "Download" button for every page you visit.
      • Caravan has an excellent interface for creating and editing folders on your iPhone. In addition, when downloading files, the user can browse to the correct folder--or even create it--before saving the file. Once downloaded or created, file and folder names can be changed as needed.
      • Caravan also lets users create and edit text files within its file system. These files are searchable.
      • Caravan has a related feature called "Edit as Text," which can be used to make changes to text files (including HTML) you download from your PC or from the web.
      • In addition to Microsoft Office formats, PDF, HTML, .webarchive, and text files, Caravan can also store and play audio and video files, and supports picture viewing.
      • A nice feature missing from too many others in this category is that Caravan follows HTML bookmarks within files. (Often, other apps try to reload the entire page to the bookmark which can cause your session to be transferred to the iPhone's web browser.)
      Special weaknesses
      • Caravan doesn't let you move files to or from folders once they're created or transferred.
      • The "Edit as Text" feature, though great in concept, can destroy Word files if you try to use it with them. In fact, the main weakness in this feature is that it appears as an action for all file formats� even videos and images� whether or not they're actually "editable."
      • Caravan has no support for RTF or iWork file formats.
      • The application does not have any facility for adding bookmarks or other annotations to files.
      • Caravan has no full-screen mode and provides no in-document navigation tools.


      Version 1.1.1, $6.99 Home Page

      imageSpecial strengths
      • Connects to Mac or Windows through Bonjour, setting up a drive in Finder or Explorer. Users can drag files to the drive(s) like any other folder on their system. This occurred without any action on my part.
      • In DataCase, you set up drives on the iPhone, and each drive can have a separate set of permissions, including read/write/browse. You can also set the drive as hidden and can have the contents of the drive backed up via iTunes' normal iPhone backup.
      • In addition, you can use a web browser to browse Database's content on the iPhone, using the iPhone's IP address at port 8080. Or, you can connect to DataCase's file store using FTP.
      • DataCase lets you filter file your document library by type, and it supports in-document bookmarks.
      • DataCase remembers where you left off reading a document, but not which document that was.

      Bonjour iconBonjour, formerly Rendezvous, is Apple Inc.'s trade name for its implementation of Zeroconf, a service discovery protocol. Bonjour locates devices such as printers, as well as other computers, and the services that those devices offer on a local network using multicast Domain Name System service records. The software is built into Apple's Mac OS X operating system from version 10.2 onwards, and can be installed onto computers using Microsoft Windows operating systems (it is installed with iTunes, for example).Courtesy of Wikipedia

      Special weaknesses
      • Built-in navigation support is OK, with forward/backward and end/beginning buttons in the top toolbar. However, these aren't available in "full screen" mode, and DataCase doesn't support navigation of HTML files in this mode except by swipe. Further, there's no way to initiate full screen mode� it just seems to happen when you resize HTML to fit the display. I couldn't get full-screen mode to activate in PDF files at all.
      • Follows web links in files, but doing so takes you outside of DataCase. This will close DataCase's connection with your PC, but DataCase warns you that this will happen.
      • DataCase takes a long time, and often freezes, when trying to load long HTML documents. In general, the app is just not reliable for viewing HTML.
      • A bug causes the DataCase interface to get confused now and then, with some buttons appearing where they shouldn't, etc. This requires closing and restarting the app.
      Other notes
      • Supports standard Office documents (Word, Excel), PDF, HTML, audio, video, and images. (I had no luck with video files, however). It doesn't read RTF files, nor .webarchive files saved from Safari.
      • For PDF files, DataCase resizes content when switching from landscape to portrait mode, but doesn't do this for HTML.

      File Magnet

      Version 1.1, $4.99 Home Page

      imageSpecial strengths
      • Very sophisticated and innovative navigation options, including a (for now) unique feature called "tilt scrolling." Using this method, you just tilt the iPhone to scroll the text� the more you tilt, the faster the scroll. File Magnet also includes a nice "page down" button that animates the text down one page, as well as a horizontal slider for moving quickly through the document.
      • File Magnet has a very good embedded web browser that will follow hyperlinks within Word and RTF documents, including links to external PDF files. Within the browser, you can navigate to other web pages, but you can't get back to the document you started with from within this interface.
      • File Magnet's file/folder list is better than most, since it provides very good icon previews as well as subtitles indicating file type.
      • Though the application doesn't appropriately size text in HTML files, it does do this for RTF and Word documents.
      • File Magnet has a very robust, automatic full screen mode, and it resizes documents automatically when switching from portrait to landscape mode.
      • File Magnet remembers where you left off reading in all file types it supports, and it also remembers the folder you were last in. Most of the time, it also automatically re-opened the last file I was reading on launch.
      Special weaknesses
      • No support for PDF bookmarks or hyperlinks.
      • Doesn't support bookmarks within documents.
      • File Magnet doesn't support any kind of file or folder organization on the iPhone. Likewise, you can't rename or create files or folders. All of this must be done before adding files through File Magnet's desktop application.
      Other notes
      • Uses a simple desktop application, available for both Mac OS X and Windows, for moving files and folders to the iPhone.
      • Supports jpeg, gif, tif, png, html, rtf, rtfd, doc, txt, pdf, iPhone compatible movies and audio files. Now also supports native Excel, Powerpoint, and iWork files, as well as .webarchive files.


      Version 1.1.1, $6.99 (Lite version, free) Home Page

      imageSpecial strengths
      • Files does an excellent job at handling a very wide variety of file formats. Although it doesn't resize HTML content to fit the display correctly, it does preserve HTML formatting, images, and CSS styles quite accurately. Besides handling the usual baseline of PDF and Microsoft Office formats, Files also fully supports Apple's iWork formats (Numbers, Pages, and Keynote), as well as web archive files.
      • Files remembers where you left off reading� an unusual gift in this category of eReaders. However, it doesn't remember which file you last had open or give the option to start there.
      • Files has good navigation features� in particular, providing a page up/page down button is useful for content that a user has resized with a pinch-type touch. This keeps the page from sliding left or right and maintains a steady reading view. Files also has "go to page" and bookmark navigation options, and users can move quickly up or down a document by holding the page up/page down buttons rather than tapping them.
      • Although Files doesn't win any special points for readability in general, reading PDFs in Files seems to be especially practical. For whatever reason, text in PDF files are very sharp in Files compared with some other apps. That said, it's disappointing that the app doesn't automatically resize PDFs or HTML files when switching from portrait to landscape view.
      Special weaknesses
      • Users can add files and folders to Files when uploading from their computer, but there's no way to modify the folder structure or file names on the iPhone. Users can, however, delete files from the iPhone.
      • Files can follow web links in HTML and Office documents, but not in PDF or other file types. Further, following links takes the user out of Files, making it difficult to continue reading your original document.
      Other notes
      • Files runs a WebDAV-enabled server that users can connect to from their desktop PC. Files provides the WebDAV URL on startup, and connecting to it is a simple matter (apparently a bit more complicated from a Windows PC than from a Mac). Files allows you to start and stop the server from within its interface. Once connected, the Files document store appears as a folder in the Finder or Explorer, and you can move files to the iPhone from this interface.
      • To access Files on the iPhone, you must authenticate with a username and password. This security setting is optional and can be configured in the Files options window. In addition, you can optionally password-protect the Files store itself.


      Version 1.4, $1.99 Home Page

      imageSpecial strengths
      • Users can add folders and change the names of files (but not folders).
      • Folders provides a built-in web browser that offers the capability of download HTML and other documents from the web. (However, see entry for this function in next section.)
      • Folders lets users password-protect individual files and folders� in effect, "hiding" them from intruders.
      Special weaknesses
      • Downloading files from web is a great idea but is buggy and not very usable. The app reports an error with each file you try to download, and seems to download some of them multiple times. It wouldn't display a .txt file, but did display a .pdf one. The .html file I tried to download never made it.
      • Many screens display a "tool" icon that doesn't work.
      • Folders provides no way to transfer files to or from your computer, except by running your computer as a web server and connecting to that. The software description on iTunes speaks of being able to export files to your computer with WiFi, but I found no built-in way of doing that.
      • Sometimes you lose the navigation icon back to your "home" list of folders and documents.
      • You can't move files from one folder to another, nor can you add nested folders.
      • Folders provides nothing in the way of in-document navigation.


      Version 1.0.4, $5.99 Home Page

      imageSpecial strengths
      • iStorage has the best tools of any of these apps for connecting to network file systems and servers, navigating them, and uploading or downloading files. You can set up numerous network drives, which can read FTP sites, your iDisk (and other WebDAV servers), nearby Bonjour devices (such as other iPhones), and any computers on your local network you have access to. You can define and have iStorage remember the connection information for each server for later use.
      • With iStorage, you can bookmark files and/or folders on any of these network drives for quick access later on. The bookmark feature also applies to web pages you might encounter. This capability is unique among these apps, and it's almost enough to overlook iStorage's lack of in-document bookmarks.
      • Although the rest of the application's interface is confusing, inconsistent, and just plain buggy, the home screen is very nicely set up and very easy to use.
      • It's easy to create new folders (and subfolders) in iStorage and to move files into them.
      Special weaknesses
      • iStorage has a number of excellent ideas, poorly executed. It's not clear what kind of application it wants to be. For example:
      • You can download HTML files just fine, but you can't view it except as source code. (You can, however, edit the source.) The HTML view provides good tools for zooming in text, but no control over font color (white) and background (black). In any case, since you have to read source code, what's the point?
      • iStorage has a nice built-in web browser, and a setting that lets it "Switch To Downloads." However, the interface provides no way to download files using the web browser.
      • iStorage has terrific connectivity to various document stores, but every document you try to download generates an error. Even if a document downloads, often the downloads are incomplete.
      • The application has poor navigation and toolbar functions. When browsing a network drive, it's easy to completely lose a way back to iStorage's home screen, for example. Likewise, when viewing a document list, there's both an "Edit" button, which only lets you delete files, and an unclear icon on the bottom toolbar, which you must use to move files into folders; as in other similar apps, these should be combined. Finally, one of the icons just duplicates the action of selecting a file from the list.
      • iStorage's file format support is weaker than most. In the latest version, I could now read Word and Excel documents in addition to PDF and images. However, that leaves HTML, RTF, .webarchives, and iWork formats, among others, that it can't help you with. Even text files I created on the iPod couldn't be viewed in iStorage.
      • Prone to crashing fairly frequently.
      • When you follow a hyperlink from a Word document and then close it to return to iStorage, the application returns you to document directory rather than to the document you were reading.
      • iStorage doesn't remember where you left off reading, loading each document from scratch on each access. I also found it annoying that you have to go through a set of menu choices when clicking on a file, one of which is to open it. The choices are great ("Info," which is how you'd change the file's name among other things, and "Upload," which lets you move the file to a server), but since I hardly ever used them, I'd rather have my choice of defaults (which would be "open").
      Other notes
      • iStorage does a great job with switching from landscape to portrait mode when viewing documents, but it doesn't support this mode when traversing directories or using any other parts of the top-level interface.
      • iStorage supports full-screen mode, but it's a manual process that's not totally intuitive.
      • iStorage can follow hyperlinks from Word documents, but not from any other file type at this point.
      • iStorage has a search feature that lets you search on filenames in a directory.
      • For Word documents, iStorage resizes the file content when switching from portrait to landscape modes, but it doesn't do this for other file types that it can read (e.g., PDF).

      Mobile Studio

      Version 1.1, $1.99 Home Page

      imageSpecial strengths
      • One of the many impressive features of Mobile Studio is the ease with which users can copy, move, create, and rename files and folders, without relying on a desktop application.
      • Mobile Studio is also one of the only apps reviewed that lets users create and edit text files within the Mobile Studio hierarchy.
      • Mobile Studio also supports zip files. It can decompress zip files, and it can also compress files into zip format.
      • This application has excellent security features. It lets you lock the application with a password, in addition to the password lock available for the iPhone itself. In addition, Mobile Studio lets users define whether a given file is readable/writeable/executable, effectively letting you "hide" files from external sources.
      • Although it cannot download files from the web, Mobile Studio has an excellent embedded web browser, which lets users browse websites without leaving the app, as well as navigating backwards and forwards among the web pages they visit. Mobile Studio can follow hyperlinks in Word and HTML documents, but not in PDF or iWork files.
      • The application provides a very responsive slider control for navigating long documents.
      • Mobile Studio remembers where you left off reading (though not which file you last read).
      • This app has unique tricks like importing images from your photo library with the option to resize and/or crop them before placing them in MobileStudio. Cool!
      • Another unique feature of Mobile Studio is that it maintains a "trash can" that contains all the files and folders you delete� thus letting you restore files if necessary before deleting them for good.
      Special weaknesses
      • Mobile Studio does a good job of appropriately resizing Word and plain text document content to fit the iPhone screen, but it fails to do the same with HTML files.
      • Users have no way to add bookmarks within their files, and there are no search or sort options.
      • Setting up Mobile Studio for file transfer is harder than necessary, and is perhaps the most difficult of this group of apps.
      • Navigating documents (I confirmed this in HTML, Word, and PDF) is a bit of a pain, since you can't use any kind of tap gesture to move back or forward. Doing so takes you out of full screen mode to use the slider. For HTML, this is also a problem since a double-tap gesture usually resizes the text to full width if it isn't already there.
      • Mobile Studio has a handy "Home" button on the bottom toolbar, but every time I used it I ended up with a black screen and had to exit the application to actually return "Home."
      Other notes
      • Mobile Studio relies on FTP (and an FTP client) for transferring files to the iPhone. The app has built-in instructions for doing so from Mac OS X, Windows XP, and Windows Vista.


      Version 1.0.7, $4.99 Home Page

      imageSpecial strengths
      • Reading PDF and native Office documents with TextGuru is very good, with both landscape and portrait modes supported. Both of these modes offer full screen view and a slider for fast navigation. (The slider works better for Word documents than for PDFs.)
      • TextGuru is first and foremost a text editor, so many of its greatest strengths pertain to those functions. Though irrelevant to its use as an eReader, TextGuru's ability to edit (including search and replace, cut and paste, etc.) HTML and text files is remarkable. Other file formats (such as a test Pages document) can be viewed/edited as ASCII or HEX.
      • This application offers full-text search across your document store, and it can also do search and replace for editable files. For editable files, TextGuru navigates to the first instance of the search term and highlights it. However, there's no way to navigate to the subsequent instances.
      • TextGuru not only remembers where you left off reading, it remembers which file you last had open and takes you there first by default. You can change this setting in the Settings pane.
      • TextGuru is the only application in this review that by default reformat HTML content to a font size appropriate for the iPhone display. (Except, of course, where the HTML content is inflexibly formatted using tables or CSS styles.)
      Special weaknesses
      • No landscape mode for HTML files.
      • No support for adding folders or editing document names. TextGuru's otherwise nifty FileServer software (available for both Mac OS X and Windows) also cannot share folders.
      • The interface can become a little confusing as you switch from document viewing to document editing to document searching. Another confusing aspect is in the search feature for editable files. Doing a search here launches the "Search and Replace" screen, but the implication is that if you just enter a search, the term will be replaced with nothing if you don't enter a "Replace" term. (In fact, that doesn't happen, but this could be much clearer.)
      • The search feature promises more than it delivers, in two respects:
      • It delivers some false results (for example, a PDF file showed up in a search for the word "bold", but I determined that the word does not in fact exist in that file).
      • It doesn't display the instances of the search text in the files when you open them. In the case of files of more than 1 or 2 pages, this renders the search feature less than useful.
      • TextGuru reads neither RTF nor web archive files, and to read HTML files you must first bring the file up into its text editor, and then switch to a web preview mode.


      Version 1.2, $14.99 Home Page

      imageSpecial strengths
      • TouchFS can follow hyperlinks in Word and HTML documents (but not in PDF files). It has an excellent implementation of an embedded web browser that doesn't take users outside of the TouchFS interface. The interface also lets user navigate backwards and forwards while they are browsing the web.
      • For HTML files, TouchFS follows in-document bookmarks as well as external links.
      • TouchFS lets users set up a username and password to authenticate against to protect access to the iPhone document store.
      Special weaknesses
      • TouchFS offers no ability to annotate or add bookmarks to your files on the iPhone.
      • Users can't change the names of files or folders, or create or move them within the TouchFS interface.
      • TouchFS has no built-in navigation tools to help users while reading long documents. All navigation relies on swipes, which don't work very well if you've enlarged a particular document (as you frequently want to do with PDF files.) Lack of navigation aids also hinders reading of HTML files, since a double-tap changes the page zoom as often as it causes a page scroll.
      • The file list is difficult to use, since icons are so small you can't always tell what file type you're loading, and filenames typically don't display completely with the very large font size.
      • TouchFS has no full-screen view.
      • TouchFS resizes PDF files when switching from landscape to portrait view, but doesn't do the same for HTML. Like most of the apps in this category, it also doesn't attempt to appropriately format HTML to fit the screen with a readable font size.
      • Expensive. Considering how many other, better eReaders there are in this category--all for much less money--TouchFS is clearly overpriced. It's by far the most expensive of the bunch ($14.99, almost twice that of the top-rated app here, A.I. Disk, at $7.99).
      Other notes
      • TouchFS supports display of PDF, Microsoft Office documents, HTML, and text files The application will display image files, but won't play audio or video files. It supports iWork formats using the document's PDF preview.
      • Like some of the other apps reviewed here, TouchFS uses WebDAV and Bonjour to connect the iPhone to your PC. The user connects to the iPhone server, which sets up a folder in Finder or Explorer from which you can add files and folders.

      The summary table below uses some advanced CSS techniques that aren't yet possible with your browser. WebKit, the open-source browser engine underlying Apple's Safari browser (for both Windows and Mac), has implemented numerous features of CSS 3.0, as well as pioneered some candidates for new graphics functions using CSS. (For more information on these, see the Mars article on the subject, or visit CSS3.info.
      In particular, the table uses CSS border-radius (which produces the table's rounded edge), CSS box-shadow (which gives the table a drop shadow), CSS gradient (which produces a gradient in the table headers), and CSS background-size together with background-attachment and background-clip (which lets me automatically resize a small tiled image-- --both horizontally and vertically to fit the various-sized table cells).

      Here is a screenshot of how the top part of a similar table looks in Safari:

      Screenshot of table utilizing CSS techniques not available except in Safari
      • del.icio.us
      • Google
      • Slashdot
      • Technorati
      • blogmarks
      • Tumblr
      • Digg
      • Facebook
      • Mixx
      Posted in:Reviews, eReaders, iPhone/TouchTags: |
      October 14th, 2008

      Discover a Treasure Trove of iPhone eReader Software
      Part I: Eight Apps for Reading Books

      iPhone Readers illustration. Based on a photo courtesy of the U.S. National Science Foundation.
      Updated 11.14.08 to update information for Evernote, Instapaper, and Stanza to their latest versions. Updates to Bookshelf, Bookz, eReader, iSilo, and Readdle are forthcoming.

      The iPhone application marketplace now offers a tantalizing variety of tools that can be used as eBook readers and file managers. As I concluded in the September 2008 report, "Without Even Trying, Apple's iPhone Takes the eBook Reader Sweepstakes," the iPhone and iPod Touch hardware finally enables truly practical eBooks, and the software now available for the iPhone platform just clinches the deal.

      Having worked with the growing number of these applications since the first started appearing in June, I've concluded that the market is clearly divided into two major objectives:

      • Applications designed primarily for reading text (books), and
      • As I finalized this report, a 20th eReader for the iPhone was released, but is not included here yet. Libris is an application specializing in text reading and has features similar to eReader. Its interface is--how shall I put it?--quite ugly, and so far I've found it rather annoying and somewhat difficult to navigate. However, it does seem to do the job and has a desktop application that's much better than Stanza's for converting documents to PalmDoc format and transferring them to the iPhone.
      • Applications designed primarily for storing and managing documents.

      As I compiled notes and usability data on this group of applications, it became clear that trying to cover all 19 different applications for the iPhone that can serve as e-document readers in one article (a 20th was released just as I was finalizing this report) would be a bit much--for me as well as for readers. As a result, this will be the first of two installments of the overall report. (Note: All of these applications, with one exception, work equally well on both the iPhone and iPod Touch. For simplicity and brevity, I'll use "iPhone" to refer to both devices going forward.)

      This first part covers the following iPhone applications, which are primarily aimed at reading text and HTML documents:

      1. Bookshelf
      2. Bookz
      3. eReader
      4. Evernote
      5. Instapaper
      6. iSilo
      7. ReaddleDocs
      8. Stanza

      The second installment will cover applications that specialize in enabling document repositories on the iPhone: Air Sharing, Annotater, Caravan, DataCase, File Magnet, Files, Folders, iStorage, Mobile Finder, TextGuru, and TouchFS.image

      It's important to note that like any categories one devises for grouping things, theses two categories of necessity form a Venn Diagram. Some of the applications discussed in this article have characteristics that also make them useful for managing documents, whereas some of the applications that are most useful for managing documents are also quite good at reading text. Hence, my use of the qualifier "primarily" in the article title.

      Venn diagram
      From Wikipedia, the free encyclopedia

      Venn diagrams or set diagrams are diagrams that show all hypothetically possible logical relations between a finite collection of sets (groups of things). Venn diagrams were invented around 1880 by John Venn. They are used in many fields, including set theory, probability, logic, statistics, and computer science.

      Although most of these "Reading Text" applications are quite good--especially given how little time they've been in production--one of the frustrating aspects of this crop is that there is no single one that incorporates all of the potentially desirable characteristics. Some of the lacking abilities are, admittedly, optional. However, once you encounter the ability in one app, its absence in others becomes noticeable.

      Again, because their overall orientation differs significantly, I found it fairer--and more helpful--to draw up separate sets of basic requirements for the two groups of applications. I'll go into the requirements for the "Document Manager" applications in Part II, but here are the requirements for those reviewed this time (in no particular order):

      • Formats HTML documents appropriately
      • Can organize documents into folders or categories
      • Includes search tool
      • User can add bookmarks within files
      • Handles both portrait and landscape reading modes
      • Lets user customize font faces and sizes
      • Easy to read text
      • Easy to add documents
      • Provides a "full screen" mode
      • Resizes content automatically for both portrait and landscape modes
      • Remembers where you stopped reading

      I think most of these are pretty self-explanatory, but let me elaborate on a couple of them.

      To traditional publishers of eBooks, use of HTML as a document format has been troublesome for a variety of reasons, not the least of which is the difficulty of protecting copyrighted content using HTML. HTML is also perceived as being unable to easily handle included images, which some eBooks require. However, both Apple and Microsoft have developed archival formats for web pages, which encode the text and images into a single package. Although the package itself doesn't securely protect the content (there are "un-archivers" for both formats freely available), doing so is probably not beyond technical feasibility.

      Sadly, only one of the applications in this review can handle .webarchive files (which you can create by saving web pages from Safari), which is a shame because this is the ideal, unlicensed format that preserves not only text, but also text formatting, tabular material, and images.

      Still, a non-negotiable requirement, as far as I'm concerned, is the ability to read and appropriately format HTML. Fortunately, most of the applications in this list can do that.

      By "Easy to read text," my main consideration is giving the user some control over the size of type that's displayed. If you can also change the typeface and/or display colors, that's a nice bonus. All of the applications in Part I provide this feature, and it's a major distinguishing factor compared with the applications in Part II, none of which provide any sort of font customization tools.

      Finally, after some use I've determined that any e-Reader I'll use must work even if I have no wireless or other network connection. It's simply unreasonable to expect that Internet access will be available during my backpacking trip to Sequoia National Park or while taking in some rays at a remote beach on St. John. And those are just some of the places I'll want to have a good book along with me. A book that simply "stops working" is obviously no good, is it? As a result, I can't recommend some iPhone applications that have otherwise terrific features. My books must work offline. (Frankly, even if you do have wireless Internet, I've found that sometimes the servers hosting my online books report that they're unavailable. When was the last time a book you were reading told you it was busy and couldn't be read right now?)

      As the matrix that follows this introduction shows, all 8 of the reviewed applications have something to recommend them. For specialized uses, nearly any one of them would work well. The only exception at this time is iSilo, which is just so badly designed that it's not only hard to navigate, but impossible to use in any practical manner.

      For overall usability as a tool for reading books and other textual material, I've found five of the eight good enough to recommend:

      Bookshelf and Stanza are both excellent choices for general text reading, though they're quite limited in the range of document formats they support. Stanza has superior annotation capabilities, as well as full-text search that Bookshelf lacks, but Bookshelf makes it much easier to get content onto the iPhone and does a superior job of converting documents. Unfortunately, Stanza's desktop application, still in beta, is unusable for converting non-text document formats (particularly HTML and PDF) to text files, yet it leads users to believe that it can. To use files with Stanza, you really need to convert to plain text format before opening in Stanza Desktop, which is the only way to get personal/business content onto the iPhone.

      One of the major weaknesses of both Bookshelf and Stanza is their lack of integration with any kind of commercial e-bookstore. This reflects their current inability to display DRM (digital rights management) content, which of course is the security wrapper commerical bookstores use to protect copyright. This means that your book choices are pretty much limited to public domain classics and other free books. I, however, want a reader that will easily let me buy the latest novels by my favorite authors, and that's the reason eReader is among the recommended applications. eReader has allowed me to completely eliminate reliance on paperbacks and other tree-killing book forms for casual pleasure reading. It's delightful and very reliable for this kind of reading, even though it lacks some of the primary requirements noted earlier. To purchase a book, I log in to the eReader bookstore and buy a book online. This places the book in my online "shelf," and when I launch eReader on my iPhone, the new book is there, waiting to be downloaded.

      Readdle is on the recommended list because it's a terrific cross-breed between the text reader category and the document-storage category. Readdle can handle many kinds of native document formats as well as HTML, it excels at folder and file organization, and it has a well integrated web browser with which you can download files to your Readdle library. Readdle users also have an online account, which is a password-protected repository of their files. The repository accepts files through a web form, from email, or, for Mac OS X users, from a simple, drag-and-drop desktop application. Readdle lacks some of the standard features of the best text readers, such as customizable fonts and the ability to remember where you stopped reading. This latter weakness is mitigated, however, by Readdle's excellent bookmark support.

      With its latest improvements, Evernote is now one of the applications I recommend in this category. Like ReaddleDocs, Evernote spans the "text reading" and "document management" categories, and it's chock-full of great features for gathering and managing a document and text collection that most of the other applications lack. Besides handling your everyday work or personal documents, Evernote can clip web content (similar to Instapaper) and, using its desktop or web interfaces, be used to create and edit content for the iPhone. Previously, its signature weakness that prevented me from recommending Evernote was its inability to work offline. However, you can now designate "Favorites" to be stored on the iPhone. Unlike any of the other eReader applications for the iPhone, Evernote's desktop software adds greatly to its overall value, with features approaching those of a full-fledged personal information manager. Still, it's not perfect: Evernote doesn't remember where you left off reading, so it isn't good for long documents. In addition, it doesn't support bookmarks or landscape viewing.

      I really like Instapaper as well, but its use is limited to clipping web content and can't be used for storing/viewing personal or business documents. That said, Instapaper excels at saving web content for later use, and its ability to specially format HTML content for the iPhone is remarkable. For clipping full articles to read later, nothing beats Instapaper at the moment.

      The remainder of this report consists of a summary matrix showing the various capabilities and usability features of each application. In the matrix, a green block indicates that the app fully meets the requirement, and light green means a partial score. The gloss overlay highlights the core requirements for this category, and red blocks show which application fails to meet those requirements.

      Following the matrix are separate descriptions of each application, organized into lists of "Special strengths," "Special weaknesses," and "Other notes."

      Summary: e-Readers Primarily for Reading

      Book- shelf



      Ever- note

      Insta- paper





      Handles native file formats, including images

      Formats HTML documents appropriately

      Can organize documents into folders or categories

      Has password protection or supports encrypted files

      Includes search tool

      User can add bookmarks within files

      Provides a table of contents

      Handles both portrait and landscape reading modes

      Follows web hyperlinks

      Can browse and download files from the web

      Lets user customize font faces and sizes

      Lets user manage files and folders on iPhone

      Can create and edit text files

      Works without external web account


      Easy to set up

      Easy to read text

      Easy to add documents

      Provides a full screen mode

      Resizes content for both portrait and landscape

      Remembers where you stopped reading

      Transfer Methods

      Includes dedicated desktop software to transfer files

      File transfers from documents stored on the web

      File transfers from computer via FTP/Bonjour/WebDav

      Overall Rating


      Version 1.2.1309, $9.99

      imageSpecial strengths
      • Excellent for reading text and HTML files, since the Bookshelf reader reformats them for the iPhone display and lets the user select font and font size for viewing.
      • A recent update added welcome support for RTF files (but not for RTFD).
      • Excellent navigation tools. Besides the usual click up and down to move from page to page, Bookshelf now includes a nice slider that lets you skip multiple pages forward or back.
      • Has a customizable auto-scroll mode.
      • Easy to use bookmarks function, and remembers which document you were reading and where you left off.
      • Excellent website support and bug-tracking/feature enhancements section.
      Special weaknesses
      • Only supports HTML and text formats, plus some eReader formats (e.g., PalmDocs). Bookshelf tries to convert Word documents, but doesn't do so well enough to be useful.
      • Hyperlinks in HTML files do not work.
      • Doesn't support image files (in the documents I transferred).
      • Although you can organize files into folders prior to transferring them to Bookshelf, after that you can't change the file names, or move them to folders, etc, on the iPhone Touch.
      Other notes
      • Uses free Java QuickStart desktop app to move files to iPhone (through a wireless Bonjour connection).


      Version 1.3.2, $4.99

      imageSpecial strengths
      • Remembers where you left off reading
      • Integrated full-text search
      • Has cool page-flip animation for turning pages.
      • Excellent support for bookmarks and tags.
      • Portrait or landscape mode, but must be changed manually with the toolbar button (not by tilting device)
      • Very readable with good customization for colors, fonts, and margins.
      • Well integrated web browser includes support for bookmarks.
      • Useful navigation widget lets you see, by percentage, how much of the document you've read and then use the slider to move backward or forward.
      • Provides fine-grained customization for click control. Bookz lets users divide the display into 9 quadrants, each of which can be set to handle next page, previous page, toggle full-screen mode, show bookmarks, or add bookmark.
      Special weaknesses
      • Supports only text files for now; displays only source code for HTML.
      • No facility for transferring files from computer. (The idea is that you'll get text files from web downloads or from libraries like Project Gutenberg.)
      • Can't add folders to device's library
      • Uploaded a .txt file to Google's Pages site, but the software wouldn't download it per the developer's instructions
      • Can't activate landscape mode when using the web browser.
      • Web browser offers to download "web pages," but then the application won't display it (except as source code).


      Version 1.2, Free

      Special strengths
      • Integrated search, including easy tool for finding next instance, and ability specify the starting page for the search.
      • Provides an integrated table of contents, from which you can select the desired chapter.
      • Remembers where you left off reading.
      • For books purchased from a compatible online store, eReader is the best application available today for overall readability.
      • Though it doesn't support the use of folders, eReader has built-in sorting tools for books by name, author, and date.
      • Excellent, customizable navigation controls and automatic full-screen mode (toolbars can be re-summoned with a small swipe).
      Special weaknesses
      • Besides its own and some other eReader formats, this app only reads HTML, .rtf, and .txt files, and it removes or simplifies formatting in the process.