Solipsism Gradient

Rainer Brockerhoff’s blog

Re: Drat!

No comments

I posted the bug-fixed XRay today as 1.0.9. Bumping the version number was the best way to alert people that something had changed, and sites like VersionTracker (XRay@VT) and MacUpdate (XRay@MU) are geared to changing version numbers too.

Here’s the usual routine which I follow for publishing XRay, in case someone’s interested.

1- Check and rewrite the internal log I keep of all changes. Also check and rewrite all the help files, including the many screen shots.

2- In Xcode, “Clean all Targets” (which will delete the application and subsidiary things like the XRay Contextual Menu and the Developer Plugin).

3- Remove the old copies of XRay, preferences and whatnot, to simulate XRay being installed on a pristine machine.

4- Build in “Development” mode and run under the debugger. Should anything untoward happen the debugger should show me where.

5- Quit and run again. Everything should be OK.

6- Quit, remove preferences and so forth, mount the disk image of the previous version and run XRay once from there to generate old preferences. Quit. Unmount the old image.

7- Run the new version under the debugger to simulate XRay being upgraded on a user’s machine. Quit again.

8- Copy XRay into /Applications, switch to a non-admin user account, and repeat most of the steps above again.

9- If some bug appeared at any step, rinse and repeat; if not, “Clean all Targets” again and build in “Deployment” mode. This mode builds a smaller, faster program without debugging symbols and other encumbrances.

9a- Currently, a bug in Xcode also builds a program without several essential components, which have to be copied in by hand. Curse and repeat until OK.

10- Copy the built program into /Applications, run just to make sure.

11- Run again from a non-user admin, just to make sure.

12- Fire up the trusty ol’ iMac DV/400, with its Mac OS X 10.2.8, and check if everything works there too, JTMS.

13- On the iMac, copy & paste texts from the help files into the text files that I put on the finished disk image. This has to be done under Jaguar because if I do it under Panther the resulting texts will contain URLs that won’t be readable by Jaguar users.

14- Build a disk image with all the requisite items on it. I use a mixture of tools to do that and I’m still not quite satisfied with the process.

15- Upload the disk image to my site via FTP.

16- Download it again, mount it and try to run from there, JTMS.

17- Edit all HTML files on my site that mention XRay, change the version number and the link to the new disk image, copy the release notes and other text that has changed with the requisite format changes.

18- Upload the HTML files to my site with FTP and check all in the browser, JTMS.

19- Go to the XRay support forum, close out the topic on the old version and open a topic for the new one. Check that all links point at the correct disk image etc., JTMS.

20- Go to the VersionTracker site, post an interim message that the new version is being published, remove obsolete messages referring to the old version.

21- Log in at the VersionTracker site (yes, a different login) and post the changes that will appear in the header and main text. (This time I was extremely surprised that someone at VT already had seen the update on my site and done most of my work for me! Thanks!)

22- Do same steps on the MacUpdate site.

23- Remove the old disk image from my site, at this point downloaders will already get the new image.

24- Loop over the VT and MU sites until the changes are published, then remove the interim messages.

25- Write and send out the press release concerning the new version.

26- Sit back and watch the dough roll in. I wish.

Well, all of this usually takes several hours and is extremely tiring. Unfortunately it’s very easy to forget and skip some of the steps, and of course Murphy is always ready to slip in a bug at that point. The last few releases I always either skipped a step, or inserted one I shouldn’t have: make a last-second change to some source code line or another. Thankfully, if that happens, some kind user always writes in and I get a chance to fix it fast, before too many people download the buggy version…

I also try to experiment with release dates, unless it’s one of those gotta-get-this-out-fast-before-they-notice releases like this last one. It seems that Friday noon (local time) is the best time to release new software; it still makes the news on Mac sites, but very little new software comes out afterwards, so XRay will stay on the front pages over the whole weekend. This also smooths out the first download spike, when most of the registered or regular users get wind of the update and download it; today (a weekday) there were something like 2000 downloads in the first four hours!

Now to get some sleep…

Re: Drat!

No comments

Rainer Brockerhoff wrote:

As Curly (of the Three Stooges) said, “I’m trying to think, but nothing happens!” icon_confused.gif

Some thinking happened, at least…

A few users sent in crash reports, I poked around various routines that get called when the window is closed, and there was a premature call to free the window’s memory. So I removed that, and it seems to work. I’m still waiting for confirmation for some of the users who complained, but I’m reasonably confident that that might be the correct fix.

The question is, if this is wrong, why does it work in Panther? Go figure…

Anyway, if all goes well, I’ll post a revised build of 1.0.8 sometime tomorrow – unless some other crash report comes in. I’d hate wasting a release number just for a small bug fix – well, I did a few other very small fixes too, but nothing serious. On the other hand, users won’t be alerted by a version change… hmm…

Drat!

No comments

As the German proverb goes, “there’s no rest for the godless”. Just when I thought I could relax a little, several users found a crash in XRay 1.0.8 when running under Mac OS X 10.2.8. So, there we go again…

…let’s hope my Digital IQ will be enough for fixing this. I actually had a similar crash happen a few weeks ago, but I thought I’d fixed it…

Big fat clue just came in: it crashes when closing a window with either the red close button or command-W, but never when using the “Close Window” menu command. This should probably lead me straight to the offending line in the program, but so far, nothing occurs to me.

As Curly (of the Three Stooges) said, “I’m trying to think, but nothing happens!” icon_confused.gif

Winding down from the strains of pushing out a new version, and from the nerve-jangling effects of a late-night wedding party with 130 dB-plus music, I stumbled upon a Digital IQ Test pointed out by the stalwart J-Walk Blog. It turns out that:

You are a digital ace, expert in both practice and theory, and you take full advantage of digital tools. Some might call you a nerd

Wow. You don’t say… really? 😆

Actually, I thought my score was too low because there were several PDA-related questions and I don’t have a PDA (actually, I do have one of the first Palm Pilots around somewhere, but it’s broken) and because some of the questions are somewhat Windows-centric. 43% of test-takers scored in the 110+ category; surprisingly, 14% ranked below 50 (“Are you sure you’re really interested in the digital world?”). It beats me how someone with so low a digital IQ would stumble upon this test – much less being able to click all the way through it.

Also, clicking mindlessly on reply #1 for all 62 questions elicits a score of 175, which shows that the questions weren’t properly designed.

Posted by taliesin’s log:
taliesin’s log linked to this post

X-Ray. Creativity. In Style. (OS X Panther)

Rainer’s not only decidedly got past that developer’s block.

Whew. XRay 1.0.8 is out.

Here’s what the finished batch panel looks like, to contrast with the first version mentioned below:

Much better, huh?

Everything was delayed nearly a full day, while I implemented some other stuff based on feedback from beta testers (thank you!). A puzzling crash led me to try to plug some memory leaks, but after messing around for some hours I decided not to tackle this right now; at least that particular crash could be fixed.

Then Xcode decided to go north on me, neglecting to copy parts of my nib files and not executing my copy phases; and this only in deployment mode, in development mode everything worked. After trying the usual things – quitting, cleaning, rebuilding etc. – I copied the @#$%^ things by hand in order not lose any more time…

Then, in the middle of transferring my updated files to my site, my provider goes off the air… after about an hour, it was back. Whew, as I said.

Now for dinner and some sleep… icon_wink.gif regular blogging may resume soon.

So here I was, practically all known bugs in XRay 1.0.7 fixed… just coasting a little before diving into the boring part of reviewing the online help files and updating the screen snapshots prior to publication… writing the part of the release notes explaining why (once again) no new plug-ins would be released with 1.0.8… writing e-mail to a user explaining (also once again) why 1.1 wouldn’t have a batch mode… piece of cake, really. Reviews were positive, but sales not really. How should I generate more user enthusiasm?

…when suddenly the proverbial light bulb flashed on and I thought, hey, if I do a simpler batch mode with a batch plug-in, keyed to work on all the contents of the folder being XRayed… hmm… I’ll work around all the arguments saying that I don’t have a proper user interface for doing arbitrary file lists.

So, off I go making a batch plug-in for XRay. First of all, of course, one must design the T-Shirt!

Hehe, just joking. First of all, a real Mac programmer spends at least one day – maybe two – designing the product icon:

…meanwhile, ye olde subconsciouse is chugging along, working out what the user interface might look like. Then, off we go into Interface Builder and try to build an actual user interface out of those musings…

Got it? The left column of checkboxes enables the items to the right. First, there’s a section with assorted items… looks rather jumbled-together and empty on the right side, hmm. Then, there’s a copy of the UI elements from the Type/Creator/Extension panel… then it would be nice to tell the user how many contained items there are in that folder… then we’ll need the recalculate/stop button from the main info panel… then it would be nice to affect files, folders, or both, and only on the first level… then we need a “Reset All” button to clear everything…

Oh my. This doesn’t look all that good, but writing some code usually will clear everything up. So I get to work, inserting outlets and actions and making sure all the little connections go to the right items. Then I see that my standard plug-in example code is outdated and I spend a day or so cleaning that up, and getting used to all the new fancy Xcode options for plug-ins. Cleaning up the .plist, compiling an empty plug-in to make sure it loads and all the options are right, and finding out why the Finder doesn’t show the new icon. OK, ready for some real action.

After a couple of days of trying to reuse some existing code and not getting anywhere – and moving stuff around in the window and making it even worse – and puzzling out the logic of the actual batch operation (which options apply to folders? Which to files? What if such-and-such?) – I concluded that it all was a big mistake. Would some user really wish to mark all the contents of a folder, to all levels, as “Purple”? 🙂 (Well, probably someone somewhere is just waiting for an utility to color his entire “/System/Library” folder and its contents purple, but should I really help this person further his/her/its wicked ways?)

After a sleepless night, I concluded that what users really need (as opposed to want) is just changing type and creator of a bunch of files inside a folder. So there. So let’s just imitate the way that the Permissions panel lets the user specify which permissions should be changed for contained items, but in this case with the type/creator fields and popups. Simple and direct.

So, that’s what I’ve been working on, instead of updating this weblog. I was going to post a screenshot of the current panel, except that – while capturing the image – I saw a way to simplify it even further! So, expect XRay 1.0.8 out in a few days, with (tadah!) limited batch mode. Isn’t it fun? Now excuse me, I need to oil my “delete” key…

Re: Sterling qualities

No comments

Thankfully, Bruce Sterling’s weblog now has a RSS feed! And he’s linking to great stuff… I especially recommend Levitated.net (by Jared Tarbell & Lola Brine), which also ties in with my previous post about interactive webpages. I’m not into Flash, but if you are, there’s lots of interesting source code here.

According to Boing Boing, Bruce also points at the Perpetual Ocean gallery; I couldn’t find this reference, but it’s well worth a visit, too; especially the Digital Image Gallery.

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