Development

InCode Bundle Problem Fixed

Some of you may have had some rather annoying problems with .incodebundle files not being transferrable through iTunes; it turns out this was a bug where an iPad app’s bundle types are not automatically visible to the connected Mac.

To make sure they can transfer, just download the automator droplet from the
InCode page and install it in your Applications folder; everything should just work. As always, contact us if they don’t.

Open Letter to Steve Jobs - Apple Design Award

Steve,

I was excited to see that WWDC ’10 has finally been announced, but noted with dismay that the Apple Design Awards are no longer being offered for Mac applications. This is extremely disappointing, as Mac developers form the core of the Apple developer community; many of them are the same ones who develop iPhone and iPad software. The Apple Design Award is the crown jewel of Mac/iPhone/iPad software development. Excluding this from the Mac eliminates something to look forward to, a motivation that, though rarely achieved, nevertheless helps drive developers to continue making better and more innovative software.

I certainly hope that the decision to cancel this award will be rethought. Although it may be too late to reinstate it for WWDC ’10, I look forward to WWDC ’11 and hope to see the Mac version of the Apple Design Award back in its rightful place.

Thanks for your time.

Justin

AquaPrompt 1.2.2 Released

AquaPrompt 1.2.2 fixes a bug where opening a new file and discarding an old one would result in an epic fail. Download it at the AquaPrompt page, or just let AquaPrompt automatically update itself as usual.

New Menubar Utility Soon!

Those of you who use a lot of menubar utilities, we have something for you! One of the problems with small screens is that sometimes your menus cover the menu extras. Need to access the Evernote clipper menubar icon while in Mailplane? If it’s covered up by the Mailplane menus, you have to switch to the Finder, which has shorter menus. We’ve found a better solution. We’ve been held up for a while by exams, but we’ll be releasing this menubar marvel as soon as we can!

AquaPrompt 1.201

We have a bugfix release: 1.201. This fixes a problem that caused new license files to not be recognized. It turns out the problem was an extra period in the code. If you had already installed your license file prior to the 1.2 update this doesn’t affect you. If you purchased AquaPrompt recently and discovered that upon launching the license file the text area was filled with gibberish, then this fix is for you.

Compilers

Announcement: NovaStorm products are moving to a new compiler!
llvm-logo

What, nobody’s excited? Well, we are. Here’s why. We’re using the new Clang/LLVM compiler which features the latest and greatest technology. It won’t have much direct effect on you besides a slight speed increase, and in our apps the code is so highly optimized already that you probably won’t notice much of a difference. And yes, that’s the official logo at the right! Who could refuse a compiler with that cool of a logo?

It will, however, have an indirect effect in that it will allow us to debug our apps and strip out errors easier and faster. Any time we can have the compiler tell us that our code may cause an error, that’s one less error that has the potential to find its way into a shipping product. Technology like this allows us to innovate faster and more efficiently. So the end result is a better product simply because of the help it affords us.

The first product to be built by the new compiler is the upcoming AquaPrompt 1.2 release.

AquaPrompt Save and Load

The feature is finally on its way! Saving and loading for AquaPrompt is in the works. And it’s not only a concept — it’s real. It’s alive! Below you can see an image of the warning dialog and just a bit of the code that does the heavy lifting!

Screen shot 2009-11-25 at 1.12.41 AM

Of course, it has the ability to detect if the document has been modified. And it’s really smart. If, for example, you completely retype the document, AquaPrompt will still know that it’s the same document despite the fact that you retyped it and will not bother to re-save what’s already there.

The new version 1.2 will be available within a couple weeks, but there’s no way we’re putting a set date on it — we learned several times that set dates can backfire when you least expect them to, especially for a small company with limited resources. But we do promise it’ll be relatively soon.

Extending Proof

I just wanted to let people know where Proof stands as a platform. This does get a bit technical, but I’ll keep it as simple as possible.

The Proof architecture revolves around a central controller that manages different preview subcontrollers. Each subcontroller has its own code and views to handle specific types of files. If necessary, Proof could easily be expanded to support chaining, so a single subcontroller would have its own set of subcontrollers.

The benefit of this is that I can easily implement advanced preview features. One example is LaTeX. While Proof supports viewing the source, it doesn’t view a finished product (unless you export to a PDF first). But if I wanted to add live LaTeX previews, all I’d have to do is add a subcontroller to the text viewer module that would take control of .tex files. When asked if it could handle the file, it would check if TeX was installed. If not, it would simply ignore the file and it would be handled by the normal previewer, with full backward compatibility.

So that’s the next plan. LaTeX live preview support is coming, thanks to an anonymous contributor showing me the right commands to execute to generate the preview. Now I just have to figure out how to work them in (and learn the ins and outs of NSTask in the process). So while it may take a little while, expect this neat feature sometime in the future!

The really cool part about the Proof platform is that it can be easily opened up to third-party viewers. I don’t have much experience with actual plugins and security issues surrounding them (if anybody knows how to easily allow plugins to be loaded without any major trouble, let me know!) but a relatively easy way for me to do it would for developers to send me their viewer modules for me to integrate into the original application. I’m also considering making Proof open-source, although I’ve never handled that kind of thing before and I have no idea what’s really involved, so it’d be more of a trial thing, but I’d really like to keep it open. I’m considering using GitHub but if anybody knows which one works best or how best to manage something like this send me an email.