Way Behind On Aperture

October 27th, 2005

I know I'm way behind on this but there's one thing I noticed at the end of Macword's "Close-up on Aperture":

• By the way, there’s no Save command in Aperture. As you make changes, those changes are recorded in a SQL database.

Expect to see a lot more of that as applications take better advantage of CoreData and/or provide built-in versioning systems for their files. When you think about it, why should you have to remember to save instead of just having the ability to undo as far back as you like?

Remember The Milk

October 27th, 2005

For the past month or so I've been organizing my work life with Remember The Milk, another in the growing line of AJAX todo list implementations. It's "in beta" (what isn't?) and shows it at times with the odd glitch. Generally though it's very nice to use, is free and allows you to set due dates on items.

It's idea of being able to send you an instant message on any of the networks, email or SMS to notify you when a task is nearly due is great, but unfortunately completely undependable so not yet useful in practice.

The worst part of it is a boneheaded interface decision where when you select a different task it's added to the selection instead of becoming the single selected task. This frequently leads to me changing multiple tasks at the same time. Fortunately they thought to provide an undo facility so it's easy to fix.

The other thing I've noticed is that you shouldn't create a webapp that never refreshes the page - it means that minor errors that occur along the way build up instead of being rectified when the page refreshes. A couple of times I've had to refresh the page manually to clear things up but I intuitively want to just switch to a different page and back so that I can be sure that refreshing doesn't cause the previous action to be done again.

I'm a big fan of the fact that you can enter due dates as "today" or "tomorrow 3pm" etc in a very loose, user friendly syntax. Oh and you can email yourself tasks as well.

Basically, lots of potential but needs some more polish yet. I'm also not sure how they plan to make money off of it - there's currently no ads.

Jacob Nielson Rapidly Losing Credibility

October 18th, 2005

There was a time when the word of Jacob Nielson was undoubtable right and everyone must bow down before it. Fortunately it appears that time is well and truly over. His latest article on blog usability completely misses the point of blogs, the target audience of most blogs and often passes a simple reality check.

  1. No Author Biographies

    • Let's face it, no one really cares about you. Unless your an A or B list blogger the vast majority of your traffic comes from search engines. Most of the time your readers are just looking for the solution to their problem. They don't need to know whether or not your reliable or intelligent, they just check to see if your proposed solution works.
  2. No Author Photo

    • You're a geek - no one wants to see your photo. Also, see item 1.
    • If the point of your blog is to make people recognize you in the street then you should:

      1. Try acting, singing or Funniest Home Videos - you're more likely to succeed.
      2. Post your photo on your blog.
    • Otherwise include it only if it benefits your design and doesn't distract people. They want your content, not your photo.
  3. Nondescript Posting Titles

    • This ones a good point if you want search engines to pick you up.
    • If you're not targeting search engines though, use titles that are most likely to lure in your readers. Go browse the front cover of your average magazine for good examples, or say something controversial or insulting - you know, like "Jacob Nielson Rapidly Losing Credibility".
  4. Links Don't Say Where They Go

    • Good advice.
    • It should however be noted that in context the link does quite clearly say where it's going. It's only bad if your target audience is skipping from link to link.
  5. Classic Hits Are Buried

    • Nope, classic hits are the top item in search engines. People don't visit your blog looking for classic content they've already read. They find your blog by being linked directly to a story they find interesting or by finding it in a search engine.
    • Most blog content rapidly goes out of date. It's a time based medium and is navigated differently to the rest of the web even though it uses the same technologies (ie: hyperlinks).
  6. The Calendar is the Only Navigation

    • Most blogs have categories, most people don't use them.
    • Again, people don't care about previous postings very much, they want to read the article that was directly linked to.
  7. Irregular Publishing Frequency

    • RSS and Aggregation. Most of your readers are notified when you post a new entry or it turns up on a Planet aggregator or similar site.
    • Other users get their by search engines or because they followed a link from another site. In either case they don't care when you publish, just that the article they want is still there.
  8. Mixing Topics

    • It's my blog and I'll do what I want.
    • From the anecdotal evidence I've seen, you can post on quite a range of topics and not annoy people. It's just so easy to skip over an entry and besides which, most of your readers are coming from search engines and links. Are we noticing a theme here yet?
  9. Forgetting That You Write for Your Future Boss

    • Good point. You should always remember that what you write in public is, you know, in public. Behave yourself.
    • Of course if you don't provide an easy Rants category your future boss will probably not bother to read all of your entries and everyone knows that people occasionally have a bad day.
  10. Having a Domain Name Owned by a Weblog Service

    • Good point.
    • Not as bad a mistake as Jacob makes it sound though. Remember how most of your readers find you via a search engine? Yeah, the search engines work out that you've moved eventually.
    • Also, redirects are your friend, but aren't always simple or even possible to set up with hosted services. Any links to my old URL on intencha.com still get you to my blog at its new URL today.

The rules for what is good and bad on blogs differs for each and every blog. It all depends on the target audience. It's also important to remember that making your blog popular is about being ranked highly on search engines and getting other bloggers to link to you. Building a successful business blog is about building a successful relationship with your clients, not reaching the most people. Maybe for you, blogging is just about having a place to dump your thoughts and seeing what other people have to say about them. Maybe it's just a place to rave and rant about anything you want. Whatever the purpose of your blog, measure it's success by how well it meets those goals, not by what some idiot pimping his training sessions tells you.

Oh and yes, this entry is the start of my push to make "over-use of lists" the number one blog design mistake for next year, it's kind of my "I have a WYSIWYG editor with awesome list support and I'm not afraid to use it" statement. I've probably also thrown in a few extra apostrophe's just for Greg (note link not telling you where it goes - oh I'm so naughty).

How To Make Java 1.5 The Default On OS X

October 15th, 2005

I'm getting sick of running around web boards posting this over and over again so I thought I'd post it here to try and get people to stop breaking their OS X systems by following bad advice.

First up, the golden rule:

Never modify anything under /System. Any instructions from anyone but Apple that suggests you do this is wrong.

So if someone tells you to modify the symlinks in /System/Frameworks/JavaVM.framework/Versions don't. It's not supported by Apple and it will cause you problems when you install future updates to either Java, the OS or other software.

So how do you do it? It depends on where you want the default to apply.

Default For Applets

To set the default JRE for applets in Safari:

  1. Open /Applications/Utilities/Java/J2SE 5.0/Java Preferences
  2. Select J2SE 5.0 from the drop down labelled "Use version:" under the "Applets" heading.

You can't change the JRE for Internet Explorer, it always uses Java 1.3.

For Mozilla variants, they use Java 1.3 by default but recent nightly builds include the Java Embedding Plugin by default which uses Java 1.5 by default automatically.  You can install it in previous versions of Mozilla-based browsers as well by following the instructions on that site.

Default For WebStart Applications and Application Bundles

You can specify the default JRE for WebStart applications and Java application bundles by:

  1. Open /Applications/Utilities/Java/J2SE 5.0/Java Preferences
  2. In the "Java Application Runtime Settings" section, drag "J2SE 5.0" above "J2SE 1.4.2".

Note however that you don't need to do this if you deploy your application via Java WebStart.  Instead for WebStart applications developers should use multiple j2se tags in the resources section of your JNLP file. This approach has been suggested by a number of people on the Java-Dev list, see this post by Greg Guerin (quoting crucial parts of Scott Palmer's earlier post) for information on how to do it. This has been tested and does work on OS X 10.4 such that it will load your application using Java 1.5 if available or Java 1.4 if 1.5 isn't installed. You can even specify different sets of jar files to load for different JREs.

Default for Command Line

Just like with every other major OS, which version of Java you get on the command line is controlled by your PATH environment variable. If you have /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands on your path before /usr/bin (and any other versions of Java) you will get Java 1.5 when you type "java" and any of the other java commands.

Apple provides documentation on setting the PATH variable, including how to set it automatically for every session. There's also a ton of information on this around the web for different shells.

Where Can I Find More Information?

There's a ton of information in the list archives for the Java-Dev list. This post probably misses a number of questions developers have, so I'll try to update it over time. If there's something extra you think should be here please drop it into a comment below and I'll merge the key comments into the main post.

Not Just The Name That’s Better

October 15th, 2005

Scoble:

One thing I totally agree with Joe on is that Apple is WAY WAY WAY better than Microsoft at coming up with names. "Apple Front Row" certainly beats "Microsoft Windows Media Center Edition 2005."

It's not just the name that's better though, it's the fact that Apple is shipping it with every new iMac. I have no idea if the software is better or not but at least people know about it and will try it out. Geeks seem to know about Windows Media Center but few other people seem to. Everyone who buys a new iMac will know about Front Row and will probably use it at least once.

Now to be fair, Microsoft can't do this - they don't make the hardware. Even so, Microsoft could have bundled the media center features into the standard version of Windows. Some may claim that the anti-trust lawsuits would prevent this, but I don't think they would if it were an optionally installed component. Internet Explorer is not an optional component, neither is Windows Messenger as far as I know. IIS is optional (and not installed by default these days) and I haven't heard of any anti-trust rumblings about it.

Amusingly, Apple is quite possibly doing to Microsoft what Microsoft originally did to Apple (though they are unlikely to achieve as dramatic a success). I don't know for sure which product is better, but I suspect at this point that Microsoft's media center is probably the better option, even if Apple's offering does turn out to be easier to use, purely because Apple's offering is young and is probably missing some important features. Note: I'm totally guessing here. The interesting part is that it probably won't matter too much. Apple is getting their software out to users much more effectively than Microsoft is, even with Microsoft's monopoly power. Maybe the XBox 360 will change this, but for now Apple has the distribution channel and Microsoft is going to struggle to keep up even if they have the better product. The downside of this for Apple of course is the huge reserves Microsoft has so that they will just keep working at it and probably eventually succeed, and the XBox 360 which looks like an excellent way to deliver media center functionality - in fact it looks a lot better than Apple's method.

It's also interesting to note the diametrically opposed approaches here.  Apple is bundling media center features into a standard PC, because Apple's strategy is all about the PC as a digital hub. So instead of releasing a set-top device for a media center, Apple bundle it into the iMac.  They didn't even bundle it into the Mac Mini. Why? Because Apple want people to replace their TV with their computer. Crazy but quite possibly very effective, a lot of geeks already do this. What about the big screens? Ever noticed how TVs are LCD and Plasma screens these days? Ever noticed how your computer has been using LCD screens for years? The reality is that HDTV requires better resolution from TVs, which computer screens already have, requires digital IO, which computers already have and requires digital decoding techniques, which computers already have. With HDTV your TV will be a computer, the question is, do you want a TV that has limited computing facilities or a real computer? (Related question: can computers be made user friendly enough that they can provide TV facilities to the unwashed masses?) 

Microsoft on the other hand, are providing a new device that is designed to plug into your TV and make it do more. ie: Make the TV more of a computer. This has the advantage that people automatically go out and buy a TV, usually before they think about buying a computer for the house. So it's better leveraging the installed base of TVs as well as the common thinking about TVs. It has the advantage for Microsoft that for the first time, they are in control of the software and the hardware - a major component of Apple's secret sauce. The downside is that the XBox is mostly marketed as a gaming device and that a significantly smaller target market than TV watchers. I suspect it's also a smaller market than people with a PC at home, but I'm not at all certain of that.

It should be very interesting to watch the different strategies pan out (assuming they do pan out this way). If there's anyone who can make a computer work simply enough to replace the TV, it's Apple. In fact, Apple made a point of showing how much simpler Front Row's remote control was to a standard TV remote - they may actually make something that's simpler than current TVs. Let's not forget that a huge number of people can't program their VCR today and most people never work out what all the buttons on their TV remote does, let alone how to hook it up to their VCR, digital camera, etc. Having said that, Microsoft's ability to leverage their Windows installed base is huge, and they look like they'll get some big wins here with the XBox 360. They really just need to find a way to start marketing the XBox 360 as a home media device instead of a gaming device with media functions without losing the war with Sony and Nintendo.

Fun times ahead.