Friday, August 28, 2009

Snow Leopard: It's Built for the Future.

[If you parle français, then congrats on being a polyglot! Also, you may have already read this interview I did with MacGeneration.com. For those of us stuck with Americanese, I've asked if I could post the original version here.]

Florian Innocente [MacGeneration]: From the user's perspective, what can they expect from *your* software once you have optimized them for Snow Leopard ? If any kind of optimization is planned. I mean, is there any room for visible improvements, be it in the interface or at the code level of your app (making it snappier, faster, using less RAM or CPU ?). What does 64-bit, Grand Central and OpenCL mean to your apps ?

Me: I'll certainly be optimizing Delicious Library for Snow Leopard. There are a lot of cool things in Snow Leopard for developers; it's really a release for us and for Apple, to clean up and modernize the underlying layers of OS X.
  • Grand Central is used all over in Snow Leopard, so it's hard NOT to use it if you're doing new development. In general, Apple has noted that processors can't get much faster – the energy they use, and thus the heat they create, goes up as the square of the processor speed, so we've hit a barrier where they'll burn themselves up the second you turn them on if we go any further. To counter that Intel and others have started bundling multiple processors on a single chip – imagine a kitchen with many cooks, instead of one cook who you keep asking to work faster and faster.

    But, like a kitchen, if you have many cooks you need to _manage_ them well, or most of them will sit idle and useless while a couple are tearing around hogging the blender and over or what-have-you. Grand Central makes it simple for mortal programmers to keep all the cooks busy; other operating systems (Windows, Linux, etc) have notions of "multiple threads" but leave it to the programmer to manage them manually, and threaded programming is VERY, VERY hard to get right. (OmniWeb 2.0 was one of the first commercial very-threaded programs, and believe me it was a BEAST to code.)

    In Delicious Library 2, for instance, I use a few threads (cooks) already - when you scan a barcode with the videocamera the decoding work is done on a different processor, and when you look up items or publish your collection to the web the network code is handled on a different processor, as well.

    With Grand Central Dispatch I can go a lot further with a lot less effort – for instance, I could have it so each frame from the videocamera is handled by a different processor when scanning for barcodes (instead of all of them being handled by one processor), so I could process a lot more frames per second on machines with a lot of processors. (Right now I just skip frames if I run out of time processing the previous one.)

    This gives us a great foundation against Windows in the future - as machines get 4 cores (processors) and then 8 and then 16, apps written for Snow Leopard and beyond will continue to be faster and faster, with no changes, while Windows programmers are going to be struggling to make their apps work at all.

  • 64-bit is great, because it requires very little work on my part for a lot of win. First off, it turns out that applications that are recompiled for 64-bit end up running about 15% faster, right out of the gate, just because of efficiencies gained at the processor level. I did the initial 64-bit port of Delicious Library 2 to 64-bit in about two days -- while I still have to beta test it and all that, it's pretty amazing to spend two days and get a 15% speed-up in software.

    The funny thing is that this speed-up is kind of a side-effect; the real impetus to go 64-bit was memory limits. In a 32-bit program, the maximum amount of "virtual memory" your program can use is theoretically 4GB – which means, unless the programmer goes to a LOT of effort, the user can't work with data files bigger than 4GB, no matter how much RAM and/or disk space she has available.

    And, in fact, the real limit isn't 4GB - the system frameworks and the video display memory are subtracted from that limit, so you actually get to use only about 2.5GB, ever, under 32-bit. (Under 64-bit, you can use essentially unlimited RAM and unlimited virtual memory.)

    So, for instance, loading in a 3GB image, or even three 1GB images, isn't possible (without a bunch of extra code), which is important as images get larger and richer.

    With Delicious Library 2, we have users who have tens of thousands of items and have assigned each of them a hi-res cover, and their collections have grown beyond this barrier, as well. With a Snow Leopard-optimized version of Delicious Library, collection size would only be limited by the user's available disk space!

    In a related issue, even if you have 4 or 8GB of RAM in your machine, a single program can't use more than 2.5GB of it at once under 32-bits (both RAM and virtual memory are limited by 32-bit addressing). So, for instance, if you pack 8GB of RAM in your machine, thinking, "Man, now my huge collection in Delicious Library will really scream," you're going to be disappointed under 32-bit. Under 64-bit, you're going to be blown away.

  • OpenCL is going to be harder for me to take advantage of, because it's a new language for me, and requires extensive rewrites. But, with graphics processors gaining in power MUCH more quickly that main processors, it's another very smart move for Apple to make it relatively easy for programmers to take advantage of them for general use.

    In Delicious Library 2, we might see a version of the barcode scanner that is even MORE sensitive because it runs on the graphics chip, and thus has the power to do more transformations on each frame in an attempt to wring a sensible barcode out of it.

FI: There's a lot interrogation among our readers regarding what Snow Leopard will bring in the short term for them and in their daily apps. Som expect a lot, others fear to be disappointed. It would be interesting to have your take based on the future revisions of your own products.

Me: I think short term most users aren't going to get a ton out of Snow Leopard, to be honest. It's a VERY important release that redoes the very heart of the operating system, but intentionally doesn't add a lot of features or chrome.

It's like the user is getting a new engine in her old car, that's much more efficient and much easier for mechanics to tweak in the future. It's not going to make a huge difference out of the gate, but over the next ten years it's going to be invaluable.

Or, to use another analogy, I think of this release as like going from incandescent bulbs to compact-fluorescents or LEDs - tomorrow you're still going to have light, but it's a light that's future-friendly, and every year that goes by you're going to be more happy you made the switch.


Tuesday, August 11, 2009

The time has come...

...to update to Delicious Library 2.2. As of August 15th, 2009 (that's in four days!) Amazon is requiring all users of their data (us) to digitally 'sign' requests for information.

In English that means Delicious Library is no longer going to work unless you update to 2.2 (or 1.7 if you're still using Version 1.)

When you next launch Delicious Library (1 or 2) it should prompt you to update. Do it! If for some reason you need to download the update directly, you'll find them below.
-----
Download Delicious Library 2.2: DeliciousLibrary2.zip
Release Notes for v2.2: Delicious Library Version 2.2
Release Notes for v1.7: Delicious Library - Release Notes
-----
Good luck, and if you have any problems, let us know!
Terry

Labels: , , , ,

Tuesday, July 28, 2009

Third beta's a charm

Now that we've moved the company down to sunny (hah!) San Francisco and we've got most of our stuff out of boxes (or at least hidden in closets), we're back to improving Delicious Library 2!

Tonight we released Delicious Library 2.2 beta 3 which contains some major improvements over Version 2.1.

Mainly, DL 2.2b3 is now compatible with Snow Leopard--something we thought might be useful with the new OS coming out soon.

In addition, after August 15th, Amazon is requiring all users to use signed requests. We've included code in 2.2b3 to meet these new security requirements so that users can continue to look up items in Delicious Library 2. This means that if you do not update to Delicious Library 2.2, you won't be able to scan in or search for any new items. The only way you'll be able to enter new things will be to type in all the information by hand (who wants to do that--update!)

Last (that I'm going to mention here) but not least, we've fixed the largest (but still rare) crasher in 2.x--the "recommendations" bug. The handful of you who experienced this bug should no longer be plagued by the annoying crashing. Sorry about that.


Just an FYI, we are still offering a $100 reward to anyone who finds a regression bug in the current beta that we feel is important enough to fix. That means if you find a bug in this beta that wasn't present in the last 2.x release, we'll send you a check for $100. It's pretty easy--I found one yesterday. If you think you've found one, select 'Send Bugs and Feedback' from the Help menu and title the bug report "REGRESSION (beta build)". We'll check it out and get back to you about it ASAP.

Download Delicious Library 2.2b3 here: http://delicious-monster.com/downloads/Delicious%20Library%202%20Beta/DeliciousLibrary2.zip

Full Release Notes for Delicious Library 2.2b3 here: http://delicious-monster.com/downloads/Delicious%20Library%202%20Beta/DeliciousLibrary2.html

Thanks, and enjoy!

-Terry

Tuesday, April 07, 2009

Wanna be the first to use our iPhone app?

Our iPhone application is in its final stages of production, and we are going to need some beta testers for it. Don't worry if you've never beta tested an application before, what we need is real users who are willing to spend some quality time using our app.

We won't be able to give everybody copies of the application, so I'm putting together a small list of people who are enthusiastic about being able to use this and give us feedback.

If you're interested, fill out this questionnaire and send it to me at jessie@delicious-monster.com

1) Do you have a name? If so, what is it?

2) Is your iPhone edge or 3G?

3) About how many items do you have in Delicious Library?

4) Do you use shelves and/or smart shelves?

5) Do you use the friends features on Delicious Library (checking items out, viewing other libraries)?

6) What is your favorite iPhone app, and why?

7) Is there anything else I should know about you?

Don't worry too much about my questions, I'm just trying to find a nice variety of beta testers =) Depending on how many emails I get, I'll try and respond to all of you when I have more information on our beta timeline.

The application is going to be a Delicious Library 2 viewer that wirelessly syncs your library onto your iPhone, so you'll have to be a DL2 user for the application to really work. iPod touch users welcome also!

UPDATE: Our beta list is full right now. Thank you to everyone who applied!

Saturday, December 27, 2008

Macworld 2009

Ah, December! As most of us are winding down from the holiday season, we here at Delicious Monster are gearing up for the biggest holiday of them all: Macworld Conference & Expo (Jan 5-9).

We've chosen quite a clever theme for our booth this year: Delicious Library (like, an *actual* library-- get it?). Packed with shelves, books, a team of Delicious Librarians, and a handful of other Library-ish gimmicks, our booth will be something you don't want to miss. And though Steve may not be there this year, we can guarantee that the Delicious Librarians will be much hotter.

Wait, what was that?
You really want to come see us at Macworld?
Aww, we would love to see you there too!
If you're going to be in the area, but don't have a pass to the expo, send a request maja@delicious-monster.com, and we'll give you a pass. Because we like you.

Saturday, December 20, 2008

DL2: The Ultimate Gift


• It's on sale for $30 (that's 25% off)!

• You don't have to wrap it. Saves paper, saves money, saves time!

• Trust me, everyone already has a scarf.

• You don't have to ship it. No waiting in line at the post office, and no paying $20 to have it sent to your grandma in Tennessee.

• It doesn't take up any space, so she won't secretly resent you for cluttering her house with more stuff.

• It's Delicious and has no calories.

• Scanning stuff is fun, plus it's like, useful and stuff.

Monday, September 01, 2008

Delicious Library 2.0.3 Released

The big changes in this release are mostly around publishing and subscribing to friends' libraries, with some publishing methods being re-written from scratch, and every method being tweaked in some way. As well, a common issue where it would appear Delicious Library 2 is being extremely slow when in fact it was loading a friend's collection from the internet (often unbeknownst to the owner!) has been fixed, as well.

Automatic currency conversion works much better in this release, so users with collections whose values are in mixed currencies will now find that their items correctly sort by their real relative value. Delicious Library 2 is the only catalog application on any platform that automatically tracks the world's currencies.



Existing 2.0 customers will be automatically upgraded when they launch the app, or they can download the latest version from its usual home at http://delicious-monster.com/download.

Here are the release notes for 2.0.3 only, and the release notes for all 2.0.x releases together .

I'm pretty happy with this release — I've fixed some issues that were really ruining Delicious Library 2 for some users, and I have been feeling just awful about that. As always, if you have problems please check out our support pages.

-Wil