Archive for the ‘Software’ Category

Gorilla platform APIs: let your “partners” figure out new features

Wednesday, June 25th, 2008

Last year I wrote about the brilliance of platform APIs for the big guys:  let your app developers figure out what the market wants, and then incorporate those into your system.  Most API terms prohibit you from suing the platform provider, effectively giving them a non-exclusive license to everything you do.

Now, we have examples of Facebook absconding app features.  From VentureBeat:

Facebook has a history of mimicking the functionality of hot services around the web. Your status updates weren’t always there, you used to have to go to Twitter to do that. Then Facebook rolled out that functionality in a way that looked eerily similar to Twitter in some regards. 

“Your old software is no longer supported”

Saturday, May 3rd, 2008

I was cleaning last weekend, and came across my college 12Mhz PC/AT. It has a 40Mb Seagate hard drive ($425, new!) and monochrome Hercules graphics. We used that computer into the late 90s; eventually, it’s sole purpose was to run DOS Quicken. We still miss that version — it was fast, minimalist, focused, and did the job very well. If they had added Internet statement downloads, we’d probably still be using it.

Now, Quicken drives me nuts — we’ve “upgraded” a few times, only because Intuit has stopped supporting our old versions. Rarely have we gotten any features we actually want; usually all I get is Kellie’s (justified) complaining about learning a new UI.

This is the core problem with the old software model: the publisher is incented to keep selling you new versions, even if you don’t really need them. I’m still using Office 2000, and in my view, it’s “feature complete”. Office 2008 doesn’t have anything I need or want.

Adobe’s PhotoShop Elements is the worst offender: I bought 3.0, 4.0 and 5.0 an then gave up. In successive versions, there were few new features, lots of gratuitous UI redesign, and in some cases, features taken out!

Subscription models are the future, clearly.

Safari on Windows (beta) - fast, fast

Saturday, March 1st, 2008

I do have a few Windows machines left around the house doing utility duty, and it seems each update of Firefox runs slower and slower.  Maybe Web browsers are like the government: inevitable bloat. 

I’m trying the beta of Safari (Apple’s Web browser) on Windows.  It’s got some quirks, but it’s quite zippy (esp. on a fiber Internet connection) — very promising.

Use screencasts to learn/teach new products

Thursday, January 10th, 2008

Way back when, I thought I was a PowerPoint jock. Until I worked on a presentation with Bob Weinberger, and realized how little I really knew.  I wanted to reach back and redo years of presentations.

Like many users, I avoid reading manuals (and fewer apps actually have manuals). I stumble around and figure out enough functionality to get by, and get stuck in that starter “box”, rarely learning new features until some need pushes me.

Until now; with on-line video becoming more widespread, tutorial screencasts are a great way to learn new apps.  I forced myself to go through the tutorials for OmniOutliner and Lightroom, and I’m glad I did — I’m getting much more out of each app than I would have just stumbling around.

For app developers:  if you don’t have tutorial screencasts, you’re missing a huge opportunity to educate your users!  Please keep them short (3-5 minutes each), single topic, and update them when you revise the software.  You don’t even need a camera, just a microphone and screen capture software (I use SnapzProX for the Mac).

Recommended: OmniOutliner (Mac only), dedicated outline tool

Wednesday, January 2nd, 2008

Like many users, 99% of my app usage has settled into Firefox+Word+Excel+PowerPoint.  Most of the new “apps” that I use are Web-based.

So, using a new app like OmniOutliner is a rare event, and adopting an entirely new category of app (a dedicated outliner) is an extremely rare event.

At the core, I’m a hierarchical thinker and I love outlining.  I usually start a new project by writing down every bit I can think of as quickly as I can, then going back and organizing & refactoring into something coherent.

Word’s outline mode is great, but OmniOutliner has a few features that make it worth having a dedicated tool.  One of the biggest (for me) is columns:  you can add columns of various types, and have the app automatically total/summarize them for you.  For example, if you are outlining project tasks, you can have a column for “effort” (e.g. “6hr”, “2d”) that OmniOutliner will automatically total for you up the outline hierarchy.  Here’s the video tutorial page with many examples.

Thanks to Pito for the suggestion.

(Sorry, Mac only).

Which came first, the app or the platform?

Thursday, December 13th, 2007

I was having a jam session today with Steve Kane and Keith Bostic (just before the storm), and we got to talking about platforms.

I think most platforms have evolved from a successful app, where someone woke up and said, “wow, let’s generalize this and build some APIs.“  Can you think of a successful platform that didn’t come about this way?

Platform plays are seductive:  “hey, instead of fighting the war, let’s just sell the bullets!”.   The problem is platforms take all of the risks of a startup, and double them.  You have to not only build a successful platform, but you have to convince folks to build (or build yourself) successful apps.  You may enjoy some artificial success at first, but unless you have app builders enjoying sustainable success, your platform won’t enjoy sustainable success.

When I hear someone pitching a platform, I usually try to convince them to build a successful app first.  A platform play is an opportunity you earn the right to have.

Report: FlexCamp Boston 2007

Saturday, December 8th, 2007

img_8987.jpg I went to FlexCamp Boston yesterday. It was for Flash developers (which I’m not), with lots of code examples and live shots of dev tools. It was a good way to get immersed in what Adobe’s doing.

I think Flash is extremely interesting — it’s got a chance to attain the client-side, interactive, Web-component vision that Java never seemed to reach. Flash has succeeded, in part, because of great vector graphics and video support. Also, unlike Java, Flash came under Microsoft’s radar. By the time Flash became effectively ubiquitous, it was too late for Redmond.

The new Flash 9 Player puts Flash squarely on par with Java (technology-wise), with a high-performance JIT VM (AVM2), a real programming language (ActionScript), and a mature tool set.

Adobe’s working further up the stack (e.g. Flex, LifeCycle Data Services, ColdFusion, etc.), but the server-side technologies seem much less relevant. Adobe’s clearly trying to monetize the Flash franchise (in part) through server-side tie-ins, but there’s tough competition there from open source offerings. Of the examples I saw and developers I talked to, most “rolled their own”, using low-level protocols to connect to a simple, custom server-side infrastructure. Plus, a $20k single CPU license will be a hard sell, when the underlying hardware only costs $4k (or $100/month).

Bottom line: I think we’re going to see Flash used more and more. If you’re working on a project with a high-interactivity component, you should take a look.

Amazon Kindle’s “simple power”

Saturday, November 24th, 2007

I haven’t (yet) played with Kindle, Amazon’s new book reader. But it looks like they made a brilliant design decision: instead of connecting to the Internet through a host PC, the Kindle includes built-in wireless network access through Sprint’s EV-DO network.

This is a great example of “simple power” that I wrote about earlier. By eliminating the host PC, the designers removed an entire layer of complexity. There’s no Windows, Mac, or Linux desktop software to install and manage. Users don’t even need a PC, and there is no monthly account for wireless network access (charges are built into the cost of the device and content).

With the simplicity, users get more power: they can browse and purchase new content from anywhere, at any time. This is a dramatic upgrade from the typical iPod download-n-sync experience.

This suggests a design challenge: is there some element of your software or system that you can totally eliminate, making things both simpler and more powerful?

The QWERTY problem for software

Wednesday, November 21st, 2007

My friend Paul Baier was ranting about the new menus in Office 2007:  “they changed everything!”

It seems that widely used apps like Office have run into the QWERTY problem.   The QWERTY keyboard is not the best UI for touch typing — in fact, it was deliberately designed to minimize jamming problems on mechanical typewriters.  The Dvorak keyboard is generally acknowledged to be superior, BUT hasn’t been superior enough to displace QWERTY in the market.

There’s a lesson here for software designers:  if you have an app with a large installed base, consider that your current UI might be “good enough”.

Software design: please give me “simple power”

Sunday, November 18th, 2007

Think about the apps you use — the best are usually the ones that provide a lot of power and functionality with a relatively simple user interface. It’s a obvious point, but many most apps get things wrong.

Google is a great example: the UI is about as simple as you can get, but there’s a lot of power behind the UI. Also, I think Apple generally does a good job: many of the UI functions in OS X are much simpler than their Windows counterparts, but are equally powerful. (My favorite examples: the wireless connection manager, and backup/restore).

Unfortunately, bad examples abound. My virus scanning software provides endless UI chatter about downloading the latest updates, doing scans, and providing me with countless updates about what it is doing and has already done. It’s as if the software has low self-esteem, and needs to constantly remind that it is working for me. Why can’t it just lurk in the background, “do the right thing”, and involve me only when it really needs to?

I think most developers either (a) don’t care about interaction design, and/or (b) fall into the trap of believing that “value” is driven by “visible features”. That is, the more stuff the user can see, the more the software must be worth.

But I’m encouraged, because I think the software business has matured to the point where design matters. In the early days, users were appreciative of functionality, in any form. Now, functionality abounds, and users demand it in the simplest, most usable form.