Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts tagged Quay

Re: Quay vs. 10.5.2

No comments

Over 20 days since my last post on the subject, and Quay 1.1 is still a few days from release! But, thankfully, so is Mac OS X 10.5.2… I suppose they, too, ran into some last-minute snags.

Well, at least I can confidently report that the feature set and the user interface – at least on the popup menu side, which is generated by the background application – is now stable, and it looks pretty good even if I say so myself. Here’s a screenshot:

Let’s explain details from the top down.

The first line of course reminds you of which icon you clicked on, which is useful as the name disappears as soon as you click on it – and it also informs you about how many items there are in that folder.

The second line tells you in what order the actual items below are sorted (with the black arrow indicating ascending or descending). You can select quite a lot of keys for sorting: by name, creation date, modification date, Finder label, file size, default application for that file, file kind, and lastly you can get the list unsorted – meaning the strict alphabetical order that items appear in the file directory.

Then we have the actual items, and at the end an extra item which allows you to show the contents of the folder in the Finder.

Notice that most lines have right-aligned, disabled comments; in the screenshot, only folder content counts are being shown, as indicated by the heading in the second line. In the interest of speed (more about that later) these counts are of all first-level items only. Notice that this may include invisible items, so at first glance the counts may look wrong if you elected not to show such items in the list below.

You may elect to show on each line the Finder label color (indicated by colored dots to the left), file size, creation date, modification date, file sizes or folder counts – and you can elect to always simply show the key that the list happens to be sorted by at that moment. Don’t worry, all these options work together to show you just the right amount of information without clutter. Ah, and the date displays use the “short form” you set in your International preference panel.

Moving down, notice the funny-shaped overlay over the icon in the Dock. While I could, at this stage, reproduce the little triangle at the bottom of the standard Dock menus, I opted for using a visually distinctive state to emphasize that these menus are NOT generated by the Dock, but by Quay – this distinction hasn’t been properly absorbed by some users in the past. The dark-to-light/transparent-to-opaque gradient has been carefully designed and tested to be visible over a wide range of desktop pictures and Dock themes. It also furnishes a convenient clicking target for closing the menu again.

Finally, on the bottom of the screenshot, notice that the Quay icon is way over on the left side of the Dock; among the applications, in fact. Yes, you can now have Quay icons on both sides of the Dock! But, you will ask, can I now drag files onto these icons, as everybody requested…? (Sharp-eyed observers will also notice the 4,294 unread items in my NetNewsWire icon -no time for reading!)

Well, yes and no. No, the old-style Quay icons, which are built by the old-style two-step method of dragging a folder to the Quay window, then to the Dock, still won’t accept drags – but you can have your cake and eat it too! Just look at this preference menu you get by option-command-clicking on the Dock divider strip:

Right, starting with this upcoming version 1.1, all Stacks you have in your Dock can automatically show Quay popup menus and continue to accept dragged-on files as Stacks do. Just don’t check “Never” on the preference menu. Of course, this also means the two-step drag is now obsolete.

Obsolete, that is, unless you want to change the icon’s appearance instead of having the jumbled-up contents graphic. Well, that isn’t possible yet – at least with this combination of Quay 1.1 and Mac OS X 10.5.1 – but let me reassure you that you’ll have a pleasant surprise when 10.5.2 comes out.

Quay 1.1 has been, as I’ve said in past posts, Yet Another Complete Rewrite. The old ‘fake-file-starting-a-background-app-when-clicking’ could no longer do what I wanted, and of course, anybody could do that, right? So now I went to a completely new method. All clicks work transparently just like they do on the standard Dock, only the Quay popups appear instead – and you even can momentarily get the standard Stack displays by option-clicking – but you usually won’t notice.

Neither does the Dock itself notice anything; I’m still not hacking the Dock itself. “No magic” is still the mantra here, although I must admit that in 1.1 there’s some pretty complex technology substituting for it – and while I’m still not using any private API for that, I also must admit that I had to depend on the Dock’s implementation details quite a bit.

There’s lots of extra little Quay quirks (sorry) I don’t have time to explain. This post is already too long. But why isn’t it out yet? Well, basically installation has been changed completely, so I now have to rewrite that too, and I still have to redo the main Quay application to account for the left-side Dock option, and of course there has to be a completely new help documentation too.

So please folks, hang on for a few more days and check this blog, or use Quay’s “check for updates” facility, soon.

Update: oops, forgot to talk about speed. Well, the popup is now really fast; you won’t notice any delay unless your folder has over 1,000 items, and even for that case it won’t take more than a couple of seconds. Trust me: fast.

Re: Quay vs. 10.5.2

No comments

First post! This year, that is. Wow, time flies.

I’m glad to report that my back is all cleared up and I’ve been working away at the upcoming Quay update. And yes, it’s another complete rewrite, at least where the background application is concerned. So far it looks like I’ll have either a beta or an intermediate version out over the weekend.

The main feature on this will be that, for normal Stacks, the whole drag-to-window/then-drag-to-dock procedure will be gone. Quay will work automagically (but optionally) on your Stacks! The positive side-effect is that you’ll also be able to drag stuff to them; the negative side-effect is that, for now, you won’t have custom icons. You can of course still build the old-style Quay dock items, with not much new for those.

The final version of this must await the launch of Mac OX 10.5.2. Not that I can comment on what exactly is changing on Apple’s side, but I’d like to reassure all Quay users that Quay will continue to offer significant extra functionality. In fact, I’ll be repositioning Quay as “the Leopard Dock enhancer utility”.

However, this raises the usual question: what do you do when you have some shareware on the market and suddenly someone – either Apple or a third party – comes out with a free solution to the same problem? There are some freeware utilities out that purport to do more or less what Quay 1.0 does, and there are 10.5.2’s rumored capabilities, but of course I’m confident that the new version will be sufficiently more powerful and polished to merit wide adoption by the market.

Something similar just happened in another segment of the Mac market: Newsgator’s NetNewsWire, the premier RSS reader for the Mac, is now free. There are some interesting comments out there. I do know a few developers that have RSS readers in the works, and no doubt they’ll have to rethink if they should continue or not. I don’t know if free RSS readers have had any impact on NetNewsWire sales in the past, and of course they’ve always had their own free “lite” version. It also seems that Newsgator’s decision was based more on their network business than on the Mac shareware market as such, so this probably isn’t a canonical example.

Still, developers entering the Mac shareware market nowadays should really think twice about such a possibility. If something seems easy or obvious to do, better to release it outright as freeware; it may not help the bottom line, but it helps build experience and buzz around your name.

Re: Quay vs. 10.5.2

No comments

Just after I posted here a week ago disaster struck, by way of a pulled muscle in my lower back – courtesy of 4.5 hours in a non-reclining airplane seat.

While nothing irreversible seems to have happened, during this week I was unable to stand, sit, lie down, work, sleep and so forth for longer than a few minutes; too few to count as useful for any given activity. The pain is finally starting to recede and hopefully will allow some work over the weekend.

I have quite a lot of preliminary work and testing done on Quay 1.1. I can’t give any details yet, of course, but the changes purported to be in Mac OS X 10.5.2 will, at the same time, make things easier in some areas and harder in others.

During the week I’ve also had time to think about installation and deployment, and decided on a new approach to those. Not surprisingly it will need Yet Another Complete Recode™. Still, I’m confident that it’ll be a better user experience. Details over the weekend (I hope).

Quay vs. 10.5.2

No comments

Just saw these screenshots about upcoming changes in 10.5.2.

I haven’t finished downloading the developer’s seed for 10.5.2 yet, and even if I had, I couldn’t confirm or deny anything about it because of NDA’s; I just want to say that the upcoming Quay 1.1 release will have several new capabilities. So if you, gentle reader, registered Quay, don’t worry; the upgrade will be at no cost, and your investment is safe.

Expect news about this sometime between Christmas and the new year; it takes several days to do final testing, and polish installation, documentation and so forth.

Fast status update.

A couple of recent documentation and sample code releases by Apple have finally offered me the opportunity to implement a significant portion of everybody’s wishlist for Quay. In particular, I now have code running that does an exact imitation of the Tiger clicking behavior – open on left-click, pop up menu on right-click – with the option of inverting it. Early tests of allowing dragging files onto the Quay icons also are positive. Several other frequent requests from users are also being implemented, and I have some significant new functionality waiting in the wings, so to speak.

So what’s the downside, and when will it come out?

The past week has seen a sudden peak in non-related problems that had to be solved offline; also my ADSL connection has been hit by some instability. I haven’t been able to log onto AIM with any reliability, and I’ve even had to resort to dial-up now and then. No idea when this will normalize; if it’s due to the seriously unstable weather, it could go on for months.

In addition, I’ve had to return to do work, whenever at all possible, on my Objective-C 2.0 book which is now behind schedule. I’m grateful to my Gentle Editor for not emitting any too-drastical threats, but I agree with him that I need to seriously catch up. In addition to all these considerations we’re way overdue for a trip; there’s been no opportunity for any significant travel this year, and now we’ll be finally off this coming Sunday.

It’s going to be a short working vacation though: a week-long Amazon Cruise on the Iberostar. And I’ll be taking my old iBook G3 to work on the book… as usual I expect to make excellent progress. We’ve been to the Amazon twice before, so we won’t feel obliged to do all the excursions.

Coming back to Quay. The new schemes implied yet another significant recoding effort. Most everything has changed, including installation procedures. So I’ll be extra-careful with testing after I return, and I hope to have the new version ready around Christmas.

During my trip I’ll probably be offline most of the time, too – (it’s the Amazon, remember?) – so please be patient if you e-mail me.

So, somewhere around the beginning of this month I was resting a bit from writing my book (which I’ve mentioned in passing here), and it struck me that the complaints about Leopard’s Stacks weren’t dying down – if anything, they were growing more numerous. I hadn’t really used Tiger’s Dock popup menus much, but I really thought someone would find out a way around it soon.

But when I searched – not too intensely at first – for such a solution, I found that the existing ones were really quite (searching for a charitable word here)… feeble. They all depended on something outside the Dock itself. And this struck me as what Apple likes to call a “third-party opportunity”.

So while I was testing out some sample code for the book, a few days later, I thought I could play around with it and find out what could be done with the Dock. I immediately noticed that putting a proxy icon in the Dock might be doable, and popping up a menu from there might be too. In a few days I had a primitive version of the menu itself working – I decided it had to be a background/foreground application pair.

Up to then I hadn’t put much time in but when I tried to do the foreground application I began hitting some snags. On November 10 – 20 days ago – I decided to throw everything I’d done so far away and start over from zero. Two days later I had a working alpha to show to some friends, and on Nov.15 I decided it was good enough for a public beta. It took a day to make the necessary changes to my site, prepare listings on the various software sites, write a press release and so forth.

Response to the first beta was so good I decided to keep at it full-time; I also figured that, now that people could see how it might be done, competitors would soon appear. Anyway, on Nov.27 – version 1.0 came out, and today, exact 20 days after restarting the project, 99% of known bugs are fixed in 1.0.1. (In case you’re curious, double-clicking still doesn’t work satisfactorily.) And I still haven’t heard of any full-featured competitor… yes, the principle is easy, but the details aren’t.

So far I’m quite satisfied with the responses. One thing I hadn’t foreseen was the number of people not content with popups – many also want to drag & drop files on the Dock folders. And this didn’t crop up in the complaints I read, because you can drop files on Stacks! But I rarely or never did that, so it was a surprise to me.

The problem is, to the current Dock, every type of item is handled differently. An application goes into the left side. Files and folders go into the right side; folders become Stacks, and can receive drops; files can’t. On the other hand, files can be clicked on – that is, the application that “owns” them is notified – but for folders, nothing happens. I tried various combinations of packages and bundles to get a folder that could be both clicked and dropped on, but no luck.

Compounding the difficulties was my resolution to “use no magic”. I knew this would be a powerful positive factor; users are tired of side effects caused by applications hacking the system. However, this meant that the Dock would never know I was doing something around its functionality, and, since there’s no public API to get information into and out of the Dock, I was quite restricted in what I could do.

I was also surprised that, despite my explaining all that on the product page, and repeatedly in response to questions in the support forum, people kept writing in with suggestions that showed that, for them, Quay did hack the Dock somehow – or even was a plugin for it. That’s the downside of when your technology “just works”: people’s mental models of what you’re doing can often diverge severely from reality.

Speaking of which, here’s my favorite review:

Just been playing with Quay. Rainer is a mad man. It takes true insanity to hack the dock without actually hacking the dock.

None of this would have been possible without Cocoa; I can’t imagine writing such a complex (internally, that is) pair of applications in anything else in 20 days. Many of the pieces – regarding registration and serial number handling, especially – came from my work on XRay II. Some of the icon and file handling routines were also adapted from there. The flipping “About” window is straight from my Flipr code; as soon as I find time, I’ll rewrite that for CoreAnimation.

Looking over the code today I was struck by the diversity. The main Quay app uses mostly NSWorkspace and NSFileManager, but then suddenly dips into Carbon to handle icons and some menu aspects. The background app (QuayMenu) uses mostly FSRefs and some BSD stuff for file handling, but it’s of course written in Cocoa, too.

A great side-effect of Cocoa is that, once your infrastructure is in place and coded properly, adding most new features is just a matter of a few lines; when it requires more, it shows that the original design wasn’t powerful enough. A good learning experience.

Quay 1.0 is out.

No comments

Whew. Details tomorrow…

Re: Quay is coming…

No comments

Probably the final beta of Quay.

The great new feature is that the icon’s contextual menu now allows extensive coloring, badging and customizing; now every Dock icon will be easier to recognize or distinguish from the others.

I’ve never been a big user of application launchers or Dock popups myself, but Quay has now become my main application launcher…

Photos licensed by Creative Commons license. Unless otherwise noted, content © 2002-2024 by Rainer Brockerhoff. Iravan child theme by Rainer Brockerhoff, based on Arjuna-X, a WordPress Theme by SRS Solutions. jQuery UI based on Aristo.