Wednesday, June 30, 2004

WWDC Reactions

For those that haven't seen it, go see the preview of Mac OS X Tiger right now because that's what I'm talking about.

So I'm here at WWDC and I'm hearing all about Tiger. I've already gotten some questions about MacJournal's support for some of the new features. It's reasonable to assume that a lot of these features will be making it into MacJournal in the future. Tiger doesn't come out until next year, so I have some time to get up to speed on it. In particular, I'm looking at Spotlight to supplement MacJournal's searching abilities. I was looking at some Panther-only searching technology before WWDC, so I'll have to see how this fits in with that now. Another goodie is the Sync framework that is new in Tiger. I've gotten a lot of requests for iSync-like syncing of MacJournal data between multiple computers. Now, with this new technology it can be integrated into the same place that everything else is, which is huge. There's also Automator, which is a new kind of drag-and-drop scripting application. I'll have to see what kind of support MacJournal can offer for this new application. I never did get AppleScript worked in, but I'll see what I can do about both of them at the same time perhaps. There's also Core Image, but I don't think MacJournal needs a ripple transition run entirely in the graphics card in between entries. :-)

Saturday, June 26, 2004

HTML Exporting Improvements

I had some free time today and ended up cleaning up a lot of HTML exporting stuff and making it a lot more powerful. This also applies to Blogger and LiveJournal. The end result should be a lot more standards compliant as another benefit. I made a really complex entry, exported, and it came out as valid XHTML 1.1. Always nice.

So, here are some of the new text features that the HTML exporter supports:

- Fonts
- Subscript
- Superscript
- Underline
- Strikethrough
- Text Shadow

In addition to what was already there:

- Text color
- Background color
- Bold and Italics
- Links

Thursday, June 24, 2004

Localization Update

Localization efforts for MacJournal 2.6 are coming along. I have gotten updated localizations for Japanese and Korean back already. Also, a first for MacJournal: a complete Italian localization! We may not get all previous localizations updated for the 2.6 release, but hopefully more will fall into place for a 2.6.1 release. New help documentation is also along the way for 2.6. I will release beta 3 with the 3 new localizations and a few bug fixes next week at some point (probably later in the week or the weekend).

Sunday, June 20, 2004

How to activate hidden preferences (i.e. the Metal App)

MacJournal, like most apps, has a few hidden options that you can use. These are things that I think don't really fit into the overall design of the app, but might be useful for a limited few. The most notable (and newest) is the option to make MacJournal a metal application, like Safari or the Finder (in Panther). To activate this option, quit MacJournal and open Terminal. Type (or paste) this in:

defaults write com.DanSchimpf.MacJournal UseMetalWindow YES

To break the down, defaults is the name of a tool that Apple provides for modifying an application's preferences from the command line. write is the operation you are performing; type man defaults on its own line for more details on what operations are available. com.DanSchimpf.MacJournal is MacJournal's domain. This is the unique identifier string for MacJournal in the OS. UseMetalWindow is the name of the preference itself, and YES is the value you are setting it to. You can substitue NO to reverse the effects. The next time you open MacJournal, it will magically be a metal application!

Another good example that popped up in 2.6 is SimpleInterface. Try this one out if you pine for the simpler days of MacJournal 2.1.

Here are some others for 2.6:
  • DisableNumericCommandKeys (YES or NO) - Setting this disables the new behavior for Command-1 through -9. If you want to use those command keys for something else, you can set this so MacJournal won't grab them away.

  • HideDrawerButtons (YES or NO) - A less drastic version of SimpleInterface (YES or NO): this just hides the new buttons that rest at the bottom of both drawers in the application.

  • UseShortDateFormat (YES or NO) - When set, this will always use the shorter date format, even in cases where the longer one would be used.

  • AlwaysShowSummaryEntry (YES or NO) - Whether the journal is expanded or collapsed in the drawer, the summary entry will be shown (default is to only show it when the journal is expanded).

  • StoreAttachmentsExternally (YES or NO) - This is a very experimental setting that stores the files you drag into the text view outside of the main data file. This has the benefits of decreasing save time by several orders of magnitude, the ability to play music and video files after you quit, and you can drag the files back out of the text view as well at any times. However, consider this very experimental at this time; you might want to wait for beta 3 as well: I'm looking over this code for the first time in a while tonight. This only applies to new files dragged in.

  • InsertDateAndTimeFormat (e.g. "%X %x") - replace the "%X %x" between the quotes (but leave the quotes) with a string made up specifiers from this page on formatting dates. This is the date and time format for the "Insert Date and Time" menu item.

  • ShortDateFormat and LongDateFormat(e.g. "%X %x") - Similar to the last item, this is the date formatting for the rest of the application, in both long and short modes (long mode is for exporting, short mode is for the drawers).

Keep in mind that one of the reasons that these are only accessible via the command line is that I'm not guarantying that these will work after this version. Some of them (like the date format specifiers) will hopefully make it into UI in the future. Others are conveniences for this version and might be removed in the future if they conflict with something else.

I should also note before I get a lot of angry mail that MacJournal is not a metal application! Text editors do not belong on metal; it violates the rules for metal apps even by the loosest interpretation. So that's why it's a hidden option: for those that want it, they can try it out. However, it is not the official appearance for MacJournal.

Thursday, June 17, 2004

MacJournal 2.6b2 has been released

Welcome to the second beta of MacJournal 2.6. There are a lot of fixes, but no real new features, so what's there should be very solid. All known issues have been fixed. Please let me know as soon as possible if you have any problems, but be sure to check the "Report a Bug" window for the Known Issues first. Here are some of the changes:

- Tweaks and improvements to the new toolbar items for font face and size
- Fixed crash when unencrypting journal with incorrect password
- Fixed drawers not remembering their open state between launches
- Fixed exporting to MacJournal format on Jaguar systems
- Changed the way topics are set for entries created via the "New Entry With Selection" service to include the application name and Safari URL (if appropriate) or Mail message subject (if appropriate)
- Release notes will now open in a new window instead of in your current journal
- Moved the command key equivalent that was errantly assigned to Customize Toolbar to its rightful home on "Show/Hide Toolbar"
- Added Undo support for the Find panel for Jaguar systems (it's already there on Panther)
- Added temporary menu item for reverting the checkbox format so you can open your data in 2.5.
- Fixed errors importing a text file and parsing it to discover entries therein.
- Improved file importing for most cases to not create an entry empty entry with new journals
- Hold the Option key when clicking on the Lock button to unlock all the journals with the same password (you could already option-click it to lock all journals; this is the logical converse).

Other enhancements are noted in the Version History.

As always, install and use developmental software at your own risk! Be sure to back up your data before each new build just in case. Just for fun, MacJournal itself will back up your data with each new build that you install as well.

This is an alpha build, which means features are still in flux, as well as the interface. That means that no localization updates should take place. When the first beta comes out, the interface will be frozen for 2.6 with no exceptions this time!

Please let me know of any problems that you have with this build. Visit to download the beta.

Beta 2 Out Tomorrow

No promises, but the second beta should be out tomorrow. You can get a sneak peak at the changes right now. Basically, a lot of fixes, no new features (but no new bugs hopefully). Localization kits will also be out with beta 2. I've tried to limit the number of nibs affected and I will provide a list of strings that have been changed and/or added to each localizer to aide them in their efforts. Hopefully the only major changes made after beta 2 is released will be adding localizations as they become available.

On a semi-related note, I'll be at WWDC this year. That is Apple's annual developer conference. I say semi-related because this means that the final release for 2.6 will probably have to wait until after the conference, however I will be contact the whole time and making any necessary fixes and updates. Hopefully by the time WWDC is over, I'll be ready to enter the Final Testing Phase of 2.6 where I basically do everything that I can think of to break the app. This is also known as the least enjoyable part of software development. :-)

So, more news tomorrow (if all goes well). It could be Friday though.

Tuesday, June 08, 2004

MacJournal 2.6b1 Reactions

Beta 1 was posted (very) late Sunday night and reaction has been very positive overall. It's probably the most stable and problem-free build over all as well, which is good because a lot of people downloaded it and have started using it for the first time. The only major problem that was discovered is with unlocking an encrypted journal with an incorrect password causes a crash. For those developers out there, goto-ing past a variable declaration is bad! But this has been fixed for the next build. As soon as I can manage it, I'll have a localization kit out there and we'll start folding in updated localizations into new builds. Builds from this point will only have bug fixes and new localizations in them; any new features will have to wait for the as-yet-unnumbered next release. As always, you can use the "Report A Bug" menu item in the Help menu to get the most up-to-date listing of known issues in whatever build you have.

Another thing I started doing from the first alpha of 2.6 is expiration dates. Using old builds is a Bad Idea, so they have a hard expiration date of 60 days after release when they will refuse to launch. I have gotten e-mails from people using development builds of 2.5 more than a year after it was released, so this is a way to prevent this. In general, you always want to be on the latest build, but usually the releases are scheduled so a few builds can work at once just in case. I think alpha 5 is expired, but everything after that still works. Please let me know if there's a reason that you can't move to a newer build so it can be fixed before your build expires.

Sunday, June 06, 2004

MacJournal 2.6b1 is out!

Welcome to the first beta of MacJournal 2.6. This release marks the beginning of the end of the development of MacJournal 2.6. All that remains now is the localization and minor bug fixes. All outstanding bugs have been fixed as of this release, and any more are bound to be squashed before the final release. Here are some of the changes:

- Fixed loss of unsaved data when journals encrypt in memory
- Folder importing improvements
- Fixed problems with exporting certain entries to HTML or Blogger
- Hitting "New Entry" in a locked journal will prompt to unlock the journal first
- Various fixes to hopefully solve issues with creating entries from web text via the Service and with the Keywords sheet
- Fixed text encoding when sending to LiveJournal
- Locked journals will display without the "0 items" in Combined mode in the Journals drawer
- Fixed "Restore from Backup"
- Now disabling a bunch of menu and toolbar items when appropriate
- Fixed the iTunes button in the LiveJournal sheet
- Added two new toolbar items: Font Face and Font Size

Other enhancements are noted in the Version History.

As always, install and use developmental software at your own risk! Be sure to back up your data before each new build just in case. Just for fun, MacJournal itself will back up your data with each new build that you install as well.

This is an alpha build, which means features are still in flux, as well as the interface. That means that no localization updates should take place. When the first beta comes out, the interface will be frozen for 2.6 with no exceptions this time!

Please let me know of any problems that you have with this build.

To download, go to the Development section.

Saturday, June 05, 2004

What is new in MacJournal 2.6?

I spent some time today trying to come up with a good short list of changes in MacJournal 2.6. If you feel I've left something off, let me know; it's probably just an oversight. I might trim it down for the final release.

  • Enhanced Exporting:
    • export any set of entries or journals
    • export journals with one file per entry
    • export entry to Word documents (Panther only)
    • HTML exporting now supports more styles and colors
    • checkboxes can be exported to any format
  • Improved Importing too:
    • Import or drag folders of files in
  • New Service to append selected text in any application to any entry in MacJournal
  • LiveJournal enhancements:
    • iTunes button to get the currently playing song in iTunes
    • Change who can view the entry as you upload it
  • Performance and stability enhancements, especially for large data sets
  • Interface improvements
    • Greatly enhanced contextual menus for both drawers
    • Mail-style Add and Action buttons
    • Use Combined view in the Journals drawer (previously only seen in the Entries drawer)
    • Lots of small improvements to enhance user experience
  • More workflow options
    • Preferences to automatically close journals that you aren't working in
    • Use Command-1 through -9 to jump to that entry in the current journal (like Safari does)
    • Hold down the Option key to bypass most warnings on a case-by-case basis
    • Copy a style in some text and then select some entries in a drawer and use Paste Font to paste that style onto the selected entries
    • Drag some text onto an entry and wait: that entry will become current so you can drag it into its text (a.k.a. spring-loaded entries)
  • Improved Keywords sheet
  • Improved Undo functionality
  • Improved options for setting the default text and topic for entries (including font and color)
  • You can set a background picture (as well as randomizing through a whole folder)
  • Improved Taco.

Wednesday, June 02, 2004

Beta Scheduling

Talking about betas, MacJournal 2.6 will be declared beta this week with some important fixes over the last alpha. If I had to guess, I'd say Thursday, but that's subject to anything that might pop up. At that point, I'll go through and prepare a localization package to send to all the localizers by this weekend so we can get that process started. I'm hoping to minimize the amount of things that will need to be relocalized, but we'll how successful I am at that. Localization is something that the Mac platform seems to excel in right now in general, but the facilities for updating existing localizations seem a bit bare. There's nibtool and not much else (from Apple, at least). I'm going to look into some of the third-party solutions and see what they offer in order to keep the amount of work to a minimum for the localizers.

Tuesday, June 01, 2004

NetNewsWire and Atom

(btw, I enabled titles in my blog. There is still no way to transmit titles over the Internet, but you can post them manually. It's a learning process for us all).

So NetNewsWire doesn't support Atom directly in any released version. I found this beta version that adds support for Atom. It's apparently a pre-release of 1.1.

Update: The next release of NNW will indeed support Atom and the release should should be a lot bigger than the 1.0.9 tag the release linked to above has (or the 1.1 tag that the page also talks about). I know how long it takes to get releases right, so more power to them.