= Design + Software + The Rest

All Posts about Software

November 16, 2007
Sundial OS X Widget For Basecamp

Sundial OS X Widget For Basecamp

I found this OS X Widget called Sundial that allows you to post time entries to Basecamp (the project management system that we use at True). I installed it and was very disappointed when this very nice widget would fail to post my time. I imagine that something in OS X changed that caused it to stop working. I, however, was so determined to use this cool little thing that I opened up the source and fixed it. The patched version here works with OS X Leopard. I have not tested it on any other version.

Thanks to Clearwired for providing the original Widget.

October 31, 2007
Enoetic Launches Photology Software

For the last year we’ve been doing work for our friends at Enoetic. I use friends not in the colloquial sense, but in the literal sense – we’ve worked with them for years as contractors and co-workers at various companies and have developed friendships along the way. They’re basically the smartest people we know and have developed a very interesting and useful new product for people with lots of digital photos.

Most people take one of three approaches to organizing digital photos: tags, folders or not at all. Even the most anal photo-organizers will run into problems trying to find specific photos. Enoetic’s software, Photology, makes finding digital photos easy. You install the software, it indexes all photos on your computer, and then you tell it what you are looking for by selecting a combination of filters to “make the haystack smaller” (you know, like the needle in a haystack metaphor).

Photology

Let’s say you are looking for the picture of your daughter’s first steps. You remember that the photo was taken at a park, in the afternoon, and that she was wearing her favorite pink shirt. To find the photo, you click the filters for “outside” (since the park was outside), “afternoon” (for the time of day) and “pink” (for the shirt) and Photology quickly returns all photos that meet those criteria, making the haystack smaller.

Photology Color Filter

Enoetic has tons of experience in image processing and feature identification from their days of developing software for electron microscopes – the experience pays off because Photology does a really good job of finding your photos. Read these articles by JK if you are interested in how it all works:

Our part in all of this? We collaborated with Enoetic on the Photology logo, software user experience (how it is used), and user interface design (how it looks). Click here to see our work.

Get Photology

October 31, 2007
Mac OSX Leopard & Its Manifold Features

We ordered two new MacBooks last week, and found out from UPS that they were accidentally unloaded from an airplane somewhere in China. So while we wait for them to “clear customs,” Daryl and I thought it would be interesting to make a quick survey of the “300+ New Features” Apple is listing for their new operating system, which they are calling “Leopard” (I’m having a hard time not reading “Leotard” or “Leopold” every time I see that name), to see what exactly is considered a “feature.”

300+ New Features in Mac OSX Leopard

Let me preface this by saying that I am an avid Mac user and have been for years. I use lots of Apple hardware and software, and am generally very pleased with the quality and utility of the products. Also, of the 300+ new features listed for Leotard there are many useful and exciting improvements. It’s just that after reviewing the full list, Daryl and I feel like the new OS is being a bit oversold. With most of its marketing, Apple focuses on hyping the qualitative (nice design, simple, will make you cooler) rather than the quantitative (see, we have more than 300 new features, count them, be swayed to purchase). So this felt a bit strange – to basically count features and make that the thrust of their value proposition (by the way, “value proposition” is a phrase that I loathe for its utter doublespeakendess, but I cannot think of an alternative at the moment).

So, in honor of our favorite hype machine, here are our favorite “new features” in Leopold:

  • Apple Script now has Descriptive Error Messages - much better than the non-descriptive error messages in the previous version.
  • DVD Player Floats Above Other Applications – according to Apple, this lets you “watch a DVD while working in another application.” Now Daryl can watch Braveheart while balancing the company books.
  • Front Row has an AppleTV like interface – the description actually says “sit back and be amazed.” That’s the most Apple-like description in this list.
  • iCal lets you Turn Off All Alarms with a single preference setting – this seems a bit obscure, but I guess it qualifies as a “feature.”
  • iChat has More Smileys – this might be an incentive NOT to upgrade.
  • Mail now has Stationery – Apple says that this feature will let you “choose from more than 30 professionally designed stationery templates that make a virtual keepsake out of every email you send.” I’ve never really thought about making a “virtual keepsake out of every email” I send. Mostly I’m just hoping that I don’t come across as ignorant or offensive.

Some others for which no commentary is required:

  • Empty Trash Button
  • Arabesque Screen Saver
  • Danish Spell Checker
August 15, 2007
Is Facebook Too Immature?

We began building Facebook applications a few weeks prior to the launch of the new platform. One of our clients was a launch partner. Part of the experience has been learning to react to the strengths and weaknesses of Facebook’s development process. I’ve commented to friends and posted my thoughts in the developer forums but today I found another developer who has experienced the pain of developing applications on the Facebook Platform.

Facebook’s platform has been much more fluid (to put it nicely) than most public API’s (Application Programming Interface). It has changed frequently, at times in seemingly arbitrary ways. One time the name of a parameter was changed to a synonym. I appreciate accuracy when naming, but once your API is released you probably shouldn’t change names merely because of preference. I don’t want to list all of the issues that I’ve encountered. I simply want to whole-heartedly affirm Shannon Whitley’s experience.

However, as sympathetic as I am to Shannon’s concerns, I’m not sure that these problems are merely a flaw with Facebook and their processes. I’m suspicious they may be the sign of a broader rift in the world of software development. This rift exists between those systems that can and therefore will tolerate downtime and bugs and those that can’t and won’t. However, the software process wars that are raging don’t seem to acknowledge this rift and as a result all focus on meeting the requirements of the most stringent systems. Agile software processes seem to accommodate projects with less stringent requirements, but they too still attempt to address the requirements of non failure tolerant systems. I don’t want to advocate Facebook’s apparently nonchalant approach to its release cycle, but I think the context in which Facebook is developing may be doing as much to drive its process as anything else.

Here are some observations that seem to give Facebook more freedom to continue developing as they are:

  • With the advent of Web applications the rules for delivering software changed. Prior to this time bugs in a product were much more difficult and costly to correct once the application had been shipped. One of the benefits of a web application is the extremely simple distribution model. Copy the code to the server. Distributed. Because of the new model the effort required to correct any given bug is often minimal.
  • Many applications just don’t matter. What I mean is that they are simply not mission critical to anyone, anywhere. Facebook is an example of this type of application. If it goes down for five or ten minutes, who cares? Sure some people will be a little inconvenienced but governments will not collapse, no missiles will be launched. 5 Nines (the nearly perfect uptime requirements of core systems) is not important in this world.
  • Users don’t get as upset about web application outages. Sure it’s nicer if they aren’t out. And if they’re out too long, I may just look for something else. But hey, it’s free after all. And, I’ve got a ton of other stuff out here to mess with. And, I’m not really sure if it is the web site or my internet anyway. They tend to go out a lot (except on Apple computers which use Airport rather than an internet) and I’m pretty sure the cable company has something to do with it. Sometimes ignorance is bliss for the enlightened too.

From a third-party developer perspective all of this is really no fun. You find yourself monitoring blogs and forums watching for changes. And, your clean development process gets all screwed up. But maybe it is just the reality of the fast moving, competitive throw-away web that we’re building on top of. Thankfully Facebook isn’t responsible for developing database management systems or operating systems. But, I have a feeling, if they were they would probably go about it in a completely different way.

August 7, 2007
LucasArts Unleashes New Simulation Software

From Travis (our copywriter) re: some interesting new technology that LucasArts is using in their yet to be released “The Force Unleashed” videogame:

“When you guys get a second, go to Game Info/Tech Info and read about DMM and Euphoria, these new technologies for creating real time reality-based simulation for AI and characters within video games. It was developed by LucasArts in association with Industrial Light and Magic (working together for the first time) and looks like it will revolutionize gameplay on the next gen. consoles. LucasArts has exclusive rights to it through 2008 and this is their first game (The Force Unleashed) that will employ the technology. ”

Make sure to watch the DMM and Euporia video demos. Most impressive.

forceunleashed.jpg