1
09
2011
In case you missed it, I released Mori 1.6.12 for users who were on Lion to deal with changes that were not compatible with previous versions of MOX. It’s a pretty substantial update, as most of the code was originally slated for 1.7. But I don’t believe many would dispute that these changes were overdue.
However, as 1.6.12 has been out for nearly two weeks, at least four significant bugs have been found which merit an updated Mori 1.6.13 ASAP.
- A crasher that sometimes occurs when windows are closed.
- A crasher in background process for Spotlight indexing.
- Documents of the previous session not being opened on Leopard (10.5.8) when Mori restarts.
- Search not functioning on Leopard (10.5.8).
Now, what is the prize for putting up with that kind of excitement? How about these new features:
- Compatible with Lion (but doesn’t yet provide for Lion-specific features).
- LinkBack-client support added. Saved docs now reload with LinkBacks intact. Select multiple LinkBacked items and begin edit sessions for them by clicking one menu item.
- Titles can now be fully displayed, taking up multiple rows in the Source and Entries lists.
- Users can now set different font styles for source and entry lists. Currently this setting affects all docs being displayed.
- Notes can be zoomed in and out either via a pop-up menu on the footer, the new “View > Zoom” menu (and corresponding shortcut keys), and the pinch-to-zoom gesture on supporting devices.
- The background color of notes can be changed in the font panel.
- Searches can be performed with simple partial terms or an advanced term syntax.
- Entries can be sent to Mori from the Terminal app or any shell/BSD invocation.
- Added gestural support: pinch-to-zoom for Apple devices.
- Added gestural support: swipe to navigate entry hierarchy (from any of the three main views).
- Users with a 3Dconnexion SpaceNavigator can use it to zoom the content view larger and smaller.
- Mori supports document type plugins for importing files dropped into a notebook.
- Entry icons can be customized in the Inspector.
- Added Dutch localization work by Thijs Zandwijk.
- Mori now accepts links to entries in other Mori documents dropped into notes.
- Items dragged into notes keep info related to their originating files, so you can double-click them and have them opened in their default editor or viewer application (similar to LinkBack). Changes aren’t yet reloaded into notebooks in this release. However, they will be in an upcoming one.
- Holding down the control key now creates link(s) instead of copying items dropped into a notebook.
- Updates to the Spotlight and internal search indices now occur in the background, using Daniel Vollmer’s SIWorkManager classes, so they no longer slow down your workflow.
- Status message window no longer pops up into foreground, interrupting you. It is now an activity window that you can show or hide.
Feature Improvements
- All URLs dropped at once into an entry are now accepted.
- New entries are created for every URL dropped at once into the source or entries lists.
- Added files to types of data accepted from services.
- Added code to load the default system icon for those types of documents whose icons are lacking in Mori.
- Entries can be copied and pasted in more ways, both in outlines and notes.
- Updated the General preference pane.
- Handles closing LinkBacks better.
- Added check to Smart Folders to allow matches on any or no tags.
- Better reporting of errors occurring in the Cocoa framework.
- Smart/tag folders auto-update their results when entries are changed.
- Trash folder no longer first selected entry when a notebook is opened.
- Dropping files into a notebook creates separate entries for each with the entries being either the files’ contents or a link (made by holding the control key when the files are dropped).
- Extracting an entry from a section of text will now provide a default title for it taken from the start of the text (works like dropping text into the outline).
- The sheet for titling the extracted text now displays the extracted text in a hide-able view.
- Purge data related to deleted entries when the Trash is emptied just in case “Check notebook” is run.
- Added a “Missing Plugin” message if the appropriate one isn’t found for an entry’s content.
- Warning on beta status only displayed once on newer releases for license holders.
- Crash Reporter Enhancements – Works on Snow Leopard; sends multiple reports; User-settable anonymization reporting; changed all localizations.
- Added column name for table/outline cells’ tooltip display.
- Pre-release now stores Spotlight metadata in a folder separate from the release version.
- Added critical alerts for incorrect number of internal directories in a notebook.
- Branded services menu items so Snow Leopard users can tell which ones are provided by Mori (Oneill).
- Initial credits for developers, testers, localization, etc.
- Added recording/reloading multiple selected entries.
- Added auto-display of the horizontal scrollbar in the content view when the content scales wider than the view.
- Software Update window can now be dismissed with the escape key.
- Changed the behavior of the new up/down multitouch swipe gesture. It now makes the entry which is up a level (the parent or its successor) the current entry when the sibling boundary has been reached.
- Added the missing “Actual Size”, “Fit Width” and “Fit Note”.
Now about the price change. When I started putting together some comparative feature charts as part of an analysis of the competition and where Mori stood, it was pretty plain in which areas Mori was deficient and where it excelled. It isn’t a notepad app, although you can create notebooks which are just filled with notes. Mori isn’t an outliner, although you can create outlines with it. Several, in fact, inside a notebook. The same is true for address book, todo lists, contact loggers and other apps of the Personal Information Manager persuasion.
Now, I admit Mori lacks calendar- and date-specific tools powerful enough to compete with calendaring apps like iCal and Google Calendar at this time. And it lacks the fake notebook paper look and syncing among devices (coming in Mori v1.8), but there’s a reason for that. When Jesse developed it, his focus wasn’t on making a computerized copy of a physical notebook nor replicating the stereotypical functionality of PIMs.
Mori’s minimalist interface belies the presence of a set of tools that let you create notebooks according to your own workflow needs and habits. You’re not tied to just one kind of notebook, be it a notepad, todo list, address book or what-have-you. Smart folders and tag folders aren’t a pre-selected set, locking you into what the developers decided you’re going to have. Nor is the Source List, allowing you to arrange its contents as folders only, entries only, or folders and entries, in any order and with as many columns as you like. You can even hide the Source List. The Entries List too. Give them a staggered arrangement like Mail or widescreen like Address Book. Or even hide them. Selectively.
 A Mori notebook window in its default configuration.  A Mori window configured to display its three panes in its widescreen configuration.  A Mori window configured to only display its source list.  A Mori window configured to only display the entries list.
Searching for information is more powerful in Mori too. Jesse made the sophisticated language present in the search engine available right in the search field. A lot of users don’t need that level of sophistication all the time, so I added some settings which have less flexibility. But even in those settings the ability to use that powerful language is still present.
Checkboxes don’t have a set meaning. They can represent anything you want, with a different meaning for each notebook. The same goes for Mori’s tags, flags, labels, and ratings. Combined with its smart folders, there’s almost no limit to the kind of system you can create with Mori.
But the clearest example of the power in Mori is the “Edit Notebook Columns…” feature, which makes the Core Data technology underlying Mori accessible to users. Edit columns to create specially-crafted notebooks best suited for a particular type of use. For example, I’ve created feature roadmap notebooks for my products with category, priority and target columns to indicate the part of the product (eg, user interface, import/export, file format) affected by the described feature (or bug), relative importance over other entries in the same category, and the version in which it’s expected to be present; three columns which aren’t normally required in all notebooks. Or the two fields, Director and Genre, added to the fictional Mori Movie notebook shown above.
All of these factors, and more, add up to the best reason to get Mori: the ability to create notebooks that conform to your own expectations. Where you make the final decision on what works, and what doesn’t. A very valuable proposition indeed.
Comments : No Comments »
Categories : announcement, corporate, marketing, mori
5
12
2010
Well I got email up and running on openSUSE, not yet caught up with all the mailing lists, notices and junk I’m subscribed to, but I have with the customers which is most important to me.
Once I got the Linux machine working, I began setting up the tools necessary to write software for the Mac, and to incorporate into that effort the files necessary to make Mori and the other Apokalypse products run on Windows, Linux and various mobile devices.
Apple’s insistence that we must purchase new hardware every 18 months is plainly greedy, consumer unfriendly and very environmentally-unfriendly. I refuse to unnecessarily chain myself to the system as Apple chooses to package it.
I had previously decided to move onto Cocotron, a cross-platform (compatible with a target which uses a different system than the host) framework which looks and acts like Cocoa to programs using it but in a way that permits them to work on Windows and Linux, once Mori 1.7 was released. But the failure of my iMac, Apple’s policies and the availability of other growth markets have converged to motivate me to integrate it into the same effort.
But Cocotron is developed on Macs and uses toolchains (the set of development tools which builds the programs) for a format suitable for the Windows and Linux platforms. What I wanted was the toolchain for Linux that targeted MOX.
But I discovered very little practical effort was made in this direction. So to make this effort a reality, I availed myself of an open-source compiler effort, llvm, and began modifying it to be part of a fully-functional cross-platform toolchain.
But since working with Cocotron would at least initially involve running on MOX, I once again took up the effort to install Leopard on my pc as many had reportedly been able to do, and which I attempted over 2 years ago. The day after Thanksgiving Day (here in the US) I got Leopard working on my PC, an Athlon64 (Venice) machine. Details of the process and required kexts coming in a follow-up entry. (Thus I didn’t need to relocate to Miami. At least not yet.)
I wasn’t able to migrate the stuff from my previous Mac work drive due to space limitations, so I decided to postpone the MOX situation until after I could clear up more drive space and install Snow Leopard. I resumed work on the cross-platform toolchain and once I got it to produce what might be compiled files suitable for the Mac (at least according to the Linux utility “file” which identifies them as Mach-O object binaries) I decided they needed to be tested in the Mac (Darwin) environment for validation and to complete any unfinished details for a working cross-platform clang-based toolchain. (I’ll write an entry and submit patches back to the clang project if successful.)
By this time I had already purchased a copy of Snow Leopard after the Tuesday, November 30th meeting of the North Florida Ruby Brigade (a great bunch of guys with a penchant for more than just Ruby-related tech. I really hope we can help achieve a critical mass for a high-tech community in the Big Bend area), so I set about researching to what extent it was possible and what was required for my four year-old pc.
Not much, as it turns out. I’ll post an entry with details on it later, but a lot of the online info is very obsolete. The work of those in the OSX86 community and the guys of Voodoo Labs has been outstanding in making installs quite simple these days. Install Chameleon, install MOX, replace the standard kernel if needed, and install kexts for your machine if needed.
So Snow Leopard booted on my pc yesterday, and finished migrating my data (more or less) today. It took less time to install SL on a freshly-formatted drive than it took to migrate my data (no way to skip the directory on my hard drive holding my music files? Really?).
There are some things I’ve yet to work out, but I can at least continue developing for Macs. I’m currently unable to test on PowerPCs and Tiger, which I will correct with replacement hardware eventually; but at least Xcode still builds apps for them.
Xcode is running well (apparently). I’ve compiled Mori and some other projects, and finding some of the SL-related problems users have complained about. I’m trying to fix those up for another Oneill release today. But whether I can correct all those bugs beforehand or not, there will be a new snapshot to see if this set up actually works.
One thing I can report after using a current Linux system during this time, which was evident even within a day, is it will in no way become the preferred desktop platform for users who regard computers as a tool for other work rather than a gadget to be played with for its own sake.
Comments : No Comments »
Categories : announcement, development, leopard, linux, mori, mox, open source, snow-leopard, xcode
16
11
2010
My sincerest apologies to anyone attempting to contact me recently. Close to two weeks ago, my iMac G5 began to shut itself off. What happens is that as it boots, sometime after loading its kernel extensions, it will power itself off. This has happened a couple times before, but not as long as this time. The last time, it had just turned Spring. Now that it happened when the cold weather set in here in North Florida, I suspect its climate-related. I plan on relocating to South Florida at the end of the month in hope that it will correct this problem, but it’s no guarantee that it will.
In the meantime, I’m using an old PC running Linux to access the Internet. And I’m really annoyed to find that a lot of sites have some terrible incompatibilities with five year-old browser technology. I cannot access my email, nor my Twitter nor Facebook accounts. So there’s now a customer service phone line, (626) 667-4285, for you to reach me in addition to leaving comments on this blog or the user forums. For now, these are the only means I have to respond to anyone’s attempts to contact me.
I’m attempting both to fully upgrade this machine to current versions of Linux and get a working installation of MOX so I can continue work on Mori for a release before the end of the year. I apologize for the inconvenience in delays once again, and will provide additional information as the situation improves.
Comments : No Comments »
Categories : announcement, corporate, mori, rant
23
03
2009
Update: I forgot to mention that I got help from the great folks at NSCoder Nights in San Francisco when mucking about the installer and Xcode files. Particularly helpful were Bruce Spath and Dan Grover. Thanks again, guys!
Here’s how you can install the iPhone SDK for 2.2.1 on a Mac running at least MOX 10.5.5:
1. Ensure you have at least 6 gigs of disk space available. If you have tried to install the iPhone SDK on the target volume before, it may state an upgrade will be performed instead of an install. Sadly, the only solution I currently have for this situation is to uninstall Xcode using /Library/Developer/3.1/uninstall-devtools.
2. Download the SDK disk image.
3. Mount the image by double-clicking it.
4. Copy the mounted volume to a hard drive.
5. Navigate to iPhone SDK.mpkg/Contents/iPhoneSDK.dist in the copied folder and replace line 340 which should be
start_selected = "isIntel() && hasRightOS() && agreedToSLA()"
with
start_selected = "true"
6. Run the installer, selecting either the default location /Developer or another directory name if you’re looking to preserve your current Xcode installation.
7. After a successful installation, navigate from the installation directory (default of /Developer) to /Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/Specifications/iPhone Simulator Architectures.xcspec, and make the following two changes.
First, replace
{ Type = Architecture;
Identifier = Standard;
Name = "Standard (iPhone Simulator: i386)";
Description = "32-bit iPhone Simulator architectures";
ListInEnum = YES;
SortNumber = 1;
RealArchitectures = ( i386 );
ArchitectureSetting = "ARCHS_STANDARD_32_BIT";
},
with
{
Type = Architecture;
Identifier = Standard;
Name = "Standard (iPhone Simulator: i386)";
Description = "32-bit iPhone Simulator architectures";
ListInEnum = YES;
SortNumber = 1;
RealArchitectures = (
i386,
);
ArchitectureSetting = "ARCHS_OLD_STANDARD_32_BIT";
},
{
Type = Architecture;
Identifier = Standard;
Name = "Standard (iPhone Simulator: ppc)";
Description = "32-bit iPhone Simulator architectures";
ListInEnum = YES;
SortNumber = 1;
RealArchitectures = (
ppc,
);
ArchitectureSetting = "ARCHS_STANDARD_32_BIT";
},
then, replace
{ Type = Architecture;
Identifier = i386;
Name = "Intel";
Description = "32-bit Intel";
PerArchBuildSettingName = "Intel";
ByteOrder = little;
ListInEnum = NO;
SortNumber = 105;
},
with
{
Type = Architecture;
Identifier = i386;
Name = Intel;
Description = "32-bit Intel";
"PerArchBuildSettingName" = Intel;
ByteOrder = little;
ListInEnum = NO;
SortNumber = 105;
},
{
Type = Architecture;
Identifier = ppc;
Name = "Minimal (32-bit PowerPC only)";
Description = "32-bit PowerPC ";
"PerArchBuildSettingName" = PowerPC;
ByteOrder = big;
ListInEnum = No;
SortNumber = 201;
},
{
Type = Architecture;
Identifier = ppc7400;
Name = "PowerPC G4";
Description = "32-bit PowerPC for G4 processor";
ByteOrder = big;
ListInEnum = NO;
SortNumber = 202;
},
{
Type = Architecture;
Identifier = ppc970;
Name = "PowerPC G5 32-bit";
Description = "32-bit PowerPC for G5 processor";
ByteOrder = big;
ListInEnum = NO;
SortNumber = 203;
},
Now go ahead and start Xcode and when you select the “File > New Project…” menu item, you should see a darling iPhone category for projects. Also, run the iPhone simulator in /(Xcode install path)/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\\ Simulator.app, it’s really mind-blowing to run it on your desktop, especially one Apple tells you isn’t able to run their iPhone SDK.
By the way, if you don’t feel like going through these steps yourself I’ve put together iPhoneSDKonqueror, an app which will handle these steps for you in a mostly automated manner. You should buy it. It’s only USD$5 and if you appreciate the ability to use your PowerPC Mac to write apps for the iPhone, it’s the right gesture to make to me.
Comments : 35 Comments »
Categories : announcement, apple, development, iPhone, leopard
27
08
2008
As you can see, another bevy of announcements all bunched up in one. Did you feel like it was time to unwind? Nope. Me neither!
First off, an announcement that I put off while other things had to be wrapped up: Apokalypse Software Corp. has acquired the rights and the code to bitShifter, the file encryption utility initially developed and marketed by MemSculpt and then ForgEdit. As with prior acquisitions, the current licensees’ purchases will be honored, updates will be made, etc. I’m still trying to understand what some of these licenses were (perpetual what, now?), but they won’t be problematic as the key is in gaining more licensees rather than bleeding the current userbase dry with the nickel-and-dime tactics I despise so much.
However, the name and logo will need to be changed, as the original developer cannot relinquish them…or something. (bitShifter is vague and ambiguous or too techie sounding, anyway.) It is being revamped, and will be re-launched shortly as an Apokalypse product. The price will likely remain $99 USD if I can figure out what type of license that bought. (Perpetual what, again?)
Now that Apokalypse has encryption technology, I’m putting Mori 1.7 out with encryption ASAP. Unfortunately, this means some of the really cool features I originally planned to incorporate in the release will be delayed until 1.8, including enumerated entries, and continuous text. What’s still in? LinkBack, customized labels, font settings for source & entry views, better keyboard navigation, outlining improvements, self-downloading updates, and now encryption.
I’ve also gone over the features of quite a few of Mori’s competitors, and realize how undervalued Mori is. So I’ll be creating a version with fewer capabilities at the current price to stay at the lower end, and the price of the full-featured version will be raised to $99.95 USD. On top of that, a Pro version will be released at $199.95 USD. Mori licensees will automatically be bumped up to the Pro license when the update is released; so as I promised you before, you won’t have to pay extra for the 1.7 upgrades. In fact, as I’m still planning to put out a 1.8 release, current licensees won’t have to pay for any 1.X upgrades.
Next on the list is the big project I had been working on when I purchased Mori and Clockwork from Jesse. It’s a programming system based on the Smalltalk programming language and it’s called Cocoalogue. What’s so special about it? It’s an interpretive system, with programs written in a shebang-prefixed text file like most scripting languages available on UNIX-like platforms. The Smalltalk-based syntax is virtually identical to Smalltalk-80 with extensions for declaring classes, methods and data types (with strong- and static-typing). It supports dynamic run-time features including blocks, automatic garbage-collection and data translation. And it has, as the name Cocoalogue would indicate, a bridge to Mac’s Cocoa frameworks. I’ll go into greater detail on these features and Cocoalogue’s current limitations in my next post. This product hasn’t been released yet, and will be priced at $129 when it is.
But I’m making the announcement now for a very good reason. You’ll be able to get a licensed copy of Cocoalogue today before it’s made available anywhere else, including the Apokalypse website, through the PMC Software Build Your Own Bundle program. Seth Dillingham, another indie Mac developer, has put together a special bundle where you can purchase Cocoalogue, Mori, Clockwork or a family pack at discounted prices. You could even get a discount on over 120 other fabulous programs from Mac indie developers as well! Not that you want to.
So go on to the bundle site, remembering that it’s the only way to get in on Cocoalogue now, and for the substantial savings you’ll get on Mori Pro 1.7 by getting a Mori license today.
And don’t forget: these sales are going to fund cancer research and treatment, so please don’t be stingy on what are already terrific deals. A lot of folks are counting on you!
Comments : 8 Comments »
Categories : announcement, bundle, charity, clockwork, community, corporate, development, mori, promotions, software
|