Archive for the 'Software Development' Tag

The Joy of Download Site Reviews

Saturday, August 20th, 2005

A couple of days ago, I wrote to extol the virtues of supportive users whose valuable feedback helps make software better for everyone. I decided to omit mentioning my pet hate, which is people who take the time to post terrible reviews of your software on download web sites without bothering to take the time to get in touch with you first. I should have, because a couple of days afterwards it happened again.

Take this review on MacUpdate:

My Podcast feed is up on my server and I’m now at episode 12, so I know the feed is alright and works, however when having feeder download the xml file it will always fail.

Such a shame, I looked like a useful piece of software. (8/18/2005, Version: 1.2)

…. and 1 star for everything: Features, Ease of Use, Value and Stability.

Developers don’t get notified when people post reviews of their software, although both VersionTracker and MacUpdate have recently started providing RSS feeds for your products’ ratings. These are only updated when the rating changes, some people post comments without ratings and in all cases you have no way of getting in touch with the reviewer personally to try to get to the bottom of it. Indie developers need to have a thick skin about this stuff and as such I don’t always reply, but this one was so petty that I did:

There could be lots of reasons for this: the feed could be invalid or the wrong format, the URL entered could be incorrect and it could be a bug, but since it works for most people it’s obviously something peculiar to your feed.

Unless people get in touch with developers about problems like this, there is no way of us knowing and thus no way the situation will be remedied.

Also, this is clearly a convenience feature and hardly sums up the entire functionality of the application.

It does indeed work most of the time, but I know of a few things that prevent Feeder from downloading feeds that I’m fixing in Feeder 1.2.1:

  • Feeder can’t seem to decode the compressed feed returned by FeedBurner right now. Update: It turns out that no matter what you try to set for the Accept-Encoding HTTP header when using NSURLRequest, it will be ignored and “gzip, deflate” sent instead. I’ve reworked much of Feeder’s feed autodetection and download code for 1.2.1 and somewhere along the line have solved the problem of dealing with compressed data. Thanks also to Eric (see comments) for getting in touch.
  • iTunes feeds with invalid iTunes categories can’t be read by Feeder 1.2.
  • Feeder can’t always autodetect feeds on non-XHTML web pages.

I only know about these problems because people have got in touch, I have quick and easy workarounds for anyone who falls foul of them right now. Maybe if this person had done the same I would have another thing on my list and they would have a workaround.

If their feed was invalid I would have fixed it by hand and sent it back – Feeder can’t parse invalid XML because Apple’s XML parser bales out, but that’s perfectly reasonable. Ironically, Apple’s own iTunes is pretty liberal about this stuff, much to the horror of the people out there who care, because it helps propagate exactly these sorts of problems. Also Feeder can’t parse RSS 1.0 (RDF) or Atom feeds because they are completely different formats to RSS 0.9x and 2.0.

Screenshot of Feeder's Send Feedback feature

If anyone has a problem with Feeder, they can send feedback from my site or within the app and be assured of a quick response, often within the hour and usually no later than 24 hours. Unlike an anonymous comment on a download site, that really does help everyone.

The Joy of Support

Tuesday, August 16th, 2005

Always after a big and hectic release, such as Feeder 1.2 at the end of last month, there is tons to be done. I always say to myself that I’ll try to take a few days off to restore sanity and I’m lucky if I get a single day of a weekend. Of course time is spent promoting the new release and there is Real Life, where I need to catch up with all those things that have needed doing, but I couldn’t find time or inclination. I also have to reacquaint myself with friends and make time with my family – not that it’s work, but sometimes you need total downtime.

So, immediately after a release is actually the worst time to consider a break, no matter if you think you need one. Inevitably support emails and other feedback floods in – a lot of this can be positive comment, which is fantastic and I always try to respond. While most of the rest can be dealt with quickly requiring no fixes, two things persist in being big issues with Feeder.

FTP remains the thing that needs the most support due to the myriad differences between various systems, configurations and user understanding. That is hotly followed by people needing help with their feeds, almost always malformed or invalid feeds from other applications. I do my best to make these things easier and Feeder has a host of features to filter out crap. There are improvements I can make to the way Feeder works with different FTP configurations, but I doubt the invalid RSS issues will go away in a hurry. Top tip: if you have a feed on your site, check it out with FeedValidator. You’d be surprised at the applications and systems that have problems.

I should mention that the people who write in with support queries can’t be more helpful. They’re always willing to answer questions and try stuff out. I simply don’t have the resources to test every configuration of every FTP server, for example, so in the world of Indieware it is these people who help make products and life better for everyone. Whether it’s questions on how something should work or positive feedback, it all helps developers to know what’s good and where improvements could be made. I think all good developers agree with this. Here’s to you, Mac-using community!

That Intel Announcement

Wednesday, June 8th, 2005

Sadly, I couldn’t attend WWDC this year – I was about $3500 short (i.e. all of it) and not being overly keen on spending $999 on leasing the transition kit I’m going to need an Intel Mac in the next 18 months or so, which means I can’t really expect to be going next year either. Always good to know where you stand!

So what of the switch to Intel? Naturally, I gasped in horror when the rumours proved to be true, but after some deep breaths and even longer spent in a darkened room I’m warming to the idea. I haven’t seen Mr Jobs do his thing yet, so it can’t be RDF, unless it’s seeping subliminally through my RSS feeds. Overall, and performance issues aside (consider the lack of optimisation, PPC emulation and no AltiVec support), things should be no different. Mac OS X will still be Mac OS X and it won’t (officially / legally, at least) run on anything that hasn’t got an Apple logo stuck on it. RISC chips such as PowerPC may perform much more efficiently at lower clock speeds than CISC chips, but try telling that to the marketing department. Additionally, I would imagine almost everyone has had enough of seeing PowerPC roadmaps redrawn on an annual basis because of manufacturing problems, corporate meltdowns, Mercury retrogrades, etc.

Like many other developers my applications won’t need anything particularly special done to them apart from recompilation, packaging and testing on the aforementioned Intel Mac. I can see a few issues, but nothing devastating. The developers most affected will be those who do low-level funky stuff that will be affected by a change in architecture (big-endian vs. little-endian, for example). The cross from 680×0 chips to PowerPC was almost a seamless experience and this should be similar but different. Similar in the sense that you would have emulation of the “old” chip on Intel and different in that the hardware transition will take much longer and could start from the bottom up rather than the top down thanks to deficiencies in Intel’s 64-bit SMP (Symmetric Multiprocessing) support and a lack of G5 laptops. I also think it will be much less painful than the transition to Mac OS X, which felt like being a full-time beta tester for the first year or two.

So is this simply Apple abandoning over 10 years of PowerPC (incidentally it was my interest in the introduction of PowerPC that made me buy my first issue of MacUser UK, back in ’94) or could there be advantages beyond the ones that only interest accountants? Well yes, if you consider that the Mach kernel (upon which OS X runs) is designed to run multiple operating systems simultaneously (think Classic) and that Windows would require no hardware emulation to run on a MacTel. I think you will agree that would make switching to Mac a whole lot easier and considering the endless troubles PC users seem to be having with the security and stability of Windows, Apple should have a captive audience there. What’s more, things that are low-level and funky might not be quite so difficult to port from other Intel-based platforms to OS X.

Overall it’s a big announcement, which by its very nature can send your MacEmotions into a spin, but in reality it won’t make much difference. The transition will be “fun”, could cost some people quite some money, but it will be nothing compared to the transition to OS X.

Feeder: The Story Behind the Insert Image Icon

Friday, April 15th, 2005

Feeder's Insert Image Toolbar IconThe great thing about this blog is I get to write about things in my applications that would otherwise remain shrouded in mystery and pretend that they are important.

Take the “Insert Image” toolbar icon in Feeder – you’d be amazed the lengths we at Reinvented Software will go to source an image. The icon is actually a scaled-down and cropped version of the photo shown below, taken at the beach in Corona Del Mar, Orange County, California in Summer 2002.

Corona Del Mar, Summer 2002

When it came to doing this toolbar icon, I was looking for a real photo to use and originally wanted a sunset or something similar to iPhoto’s icon. Although I have similar shots, some also from the same location, none of them seemed to work as well as this.

Isn’t AppleScript Marvellous!

Wednesday, April 13th, 2005

Script Editor application iconI reckon that one of the most underrated features of the Mac is (still) AppleScript. If you don’t already know, using AppleScript you can record and automate tasks, extend existing functionality, tie applications together and – using AppleScript Studio – even create proper standalone applications.

Here’s how it helped me lately and re-whet my appetite for adding AppleScript support to Feeder (I know, it should have been there in the first place, but it got postponed).

With Feeder, a common support problem is the FTP publishing. Not once since I replaced the CoreFoundation FTP stuff with cURL has one of these problems been an actual bug; it usually comes down to whether or not FTP Passive Mode is in use or something that I will politely term “user misunderstanding”. 😀

A big part of support is to get information from log files (e.g. your Console log or a crash log) to work out what is going on. With the FTP stuff, you don’t want to be logging all the time and Feeder doesn’t have a transcript window like real FTP clients, so I added a hidden preference to enable and disable this logging as needed.

You may already know that you can view and change an application’s preferences using the “defaults” command in the Unix shell. For example:

defaults read

AppleScript iconUsing the command-line is a bit scary for many users, so I wrote a quick AppleScript to toggle Feeder’s “FTPDebug” hidden preference. You can download it here.

The script was saved as an application, so to run it you just double-click its icon. If you’ve never seen AppleScript and would like to see the code, just drag it to the Script Editor’s icon in your /Applications/AppleScript folder. You will see that it is almost English.

Yes, there’s stuff like VBScript and you can write Unix shell scripts, but I don’t think any other platform has anything as easy and powerful as AppleScript.