soeren says

MenuTemperature 1.5.3

December 9th, 2006

…finally fixes MacBook Core 2 Duo support. The only reason this was broken to begin with was a typo on Apple’s part.

On November 8, Apple released the new MacBooks with a Core 2 Duo CPU. Typically, Apple takes weeks (sometimes even months) until they publish the developer specifications. With the MacBook, it only took two days. This enabled me to quickly slip in support in the 1.5.2 release.

Or so I thought. According to Apple, the new MacBook had a model identifier of MacBook1,2. It did seem peculiar that they didn’t call it the MacBook2,1, but I figured changes were maybe not notable enough to warrant such a major bump. In any case, I added 1,2 to MenuTemperature’s list, and released it. Over the next few weeks, though, I got reports that it wouldn’t work.

A quick web search confirmed my suspicion: there is no such thing as a MacBook1,2 (the results don’t represent the query), but there certainly is a MacBook2,1. The first person to report it received a replacement file from me, but never responded whether or not it worked. trac might be to blame, in that its notification of ticket changes is quite lacking.

In any case, 1.5.3 is now out, and hopefully, I actually get positive reports of it working now. Meanwhile, Apple still has yet to fix their specifications. Yes, I did send in a report.

Go get it!

Posted in MenuTemperature, Projects

Share | 2 Comments

MYSTlore newsletter

November 11th, 2006

Last night, as a sort of experiment, I submitted my first MYSTlore weekly newsletter. I’m not entirely sure if the format is any good, or there’s much use to it, but I do feel it was worth giving it a try.

I’ve also discussed the design a little more with Shoom’lah, whose pen-with-book design proposal is (aside from being the only one ;-) ) well on its way to become the new identity of ML. The logo is unique, recognizable, somewhat scalable and rather cute. It’s also reminiscent of Myst’s original icon (which, aside perhaps from a few slight tweaks, has been reused in Uru, too), and she and I agree on which of her four proposed color themes is the best (I’m deliberately not saying here since I’d rather have some additional, unbiased input!).

What else? No, that’s pretty much it. In the past 12 days, we’ve averaged 166.58333… contributions a day, which is very impressive and well above my expectations (which is generally the case with pessimists like me, but that’s besides the point :-) ).

The support namespace has barely been worked with yet, and we’ve added another (based on an idea of mine and Tay’s; yes, sorry Tay, I had it first, I just never got around to thinking about it much ;-) :-) ) namespace for walkthroughs.

This is extremely exciting for me.

MenuTemperature 1.5.2 is out too, now with French again, and already with Core 2 Duo MacBook support — Apple released the developer specs unusually early.

Posted in MYSTlore, MenuTemperature, Projects

Share | No Comments

Ship-ship-hooray

October 28th, 2006

I’ve just shipped MenuTemperature 1.5. At this point, many people have probably moved on to different apps. To say that the release is late is an understatement. Originally called 1.1, I had wanted it out by July, then August. Now it’s almost November.

A lot of the work on this release wasn’t even done by me, but by Sam Rushing (thank you). As I’ve argued yesterday, it feels a little like giving a child away, letting someone else parent it, then receiving it back. You still love the result, but somehow, it just isn’t the same. I think it’s important that I get away from that kind of thinking. Not in a “it’s just a piece of software” way, but in one where everyone can contribute.

With MYSTcommunity, I often felt similarly. Should I let other administrators make many decisions on their own? Or should I always have the ultimate say? Which is right? And which benefits the members more? Clearly, the members benefit more when the founder isn’t egocentric and knows when to step down. So eventually I did, and observed the project at more distance, only to return with regained strength. I think that was great. It could have made me feel disposable, not unique — any other person could be an admin. But that’s not really true: many others could be (hardly anybody), and each one of them would have done it slightly differently. Perhaps better, perhaps worse, but certainly not quite how I would have done it — and not necessarily in a way I would have approved of.

In other words, I don’t like everything MYSTcommunity has become, and I don’t like everything MenuTemperature 1.5, but learning to deal with that is an important lesson of life, and a good one.

Dealing with Rushing’s code and retrofitting it was not a reason for the delay. I didn’t do that. I don’t agree with everything he has done, but I won’t do his code the disrespect of changing it around just for the sake of changing it around. That would be the very egomaniac behaviour I described yesterday, and negatively so. Eventually, Rushing and I were done working on it; my last actual code changes were around September 9. What delayed it was a wrong decision of mine.

I try to make my version numbering as simple yet logical as possible. I don’t use 0.* versions, because I find that they are usually a give-away that the developing team as far too vague ideas of what 1.0 should be like. And, more to the point, I try to never add notable features in point releases (x.y.* ones). This is not just beneficial for users — they’ll immediately see that an update focuses on bugfixes or other minor changes, rather than actually introducing soething new — ; it also has major project coordination advantages.

One became very visible once I had released 1.0: I was contacted by someone with a French localization. And then, after 1.0.5, I was contacted by someone else with a Traditional Chinese one. But if 1.0.0, 1.0.3, 1.0.5 and everything in between had had ever-so-slight differences in their feature set, it would have been necessary to revise, or perhaps completely re-do those localizations. That doesn’t just mean unnecessary work for the translators: it also means, as I have now found out, that you have an even harder time shipping an app when you intend to.

Because, once 1.5 entered beta stage, it was feature-complete — localizations could already be made; changes would only be under-the-hood, in areas not intended to be visible to users. So I contacted the French localizer, who assured me there would be a translation soon.

I don’t want to do him any discredit; he’s a very nice guy, and I genuinely and greatly appreciate the translation work he’s done. He’s probably just busy, or perhaps he forgot — it doesn’t really matter. The point is something completely different: I made the mistake of relying on someone else before shipping. That’s great when you have regular, frequent contact with them, but I don’t. I can contact Rushing several times a week, or amon-re, who does the occasional testing for me, or several others. But my localizers, for MenuTemperature as well as DashPrefs, are people I don’t know; they do their stuff, e-mail me, I respond back to thank them, and that’s pretty much it.

Bottom line: not only should you not rely on a deadline you’ve made yourself, because you won’t meet it anyway (cf. yesterday’s posting). You also should not rely, at all, on too unpredictable factors, and in this case, localizers who aren’t organized in a team and who you barely have any contact with are far too unpredictable.

So the end result, and I don’t really like it, is that 1.5 is shipping with fewer localizations than 1.0.6, which I’ve also released today. 1.0.6 does German, English, French, Dutch and Traditional Chinese. But 1.5, while having many more features only does German, English and Dutch.

When a release whose main rationale are new features lacks a feature its predecessor had, that’s quite ironic, and sad. It also means that some people using 1.0.x in French or Traditional Chinese will update to 1.5 only to find out that it doesn’t come in their language any more, and the downgrade is nowhere near as simple and automated as the upgrade.

Make no mistake: shipping an app is hard. No matter how prepared you are, you will make mistakes. And while writing this, yet another occurred to me.

Posted in Cocoa / Objective-C, Computers, MenuTemperature, Programming, Projects, Software

Share | 4 Comments

MenuTemperature 1.5b1

July 31st, 2006

Thanks greatly to the help of Sam Rushing, who did a lot of under-the-hood improvements that show especially in terms of performance, MenuTemperature 1.5 is near. Mostly, it has only been tested on two systems (Sam’s and mine), so I’m releasing a first beta to a limited group of people; namely, the readers of this blog. (Anyone can download it, but unless you read this, you wouldn’t really know about it.)

MenuTemperature adds many features that will be immediately obvious to you, such as the added display of the frequency — either next to or underneath the temperature, or even in place of the temperature. It extends the previous support of a 10-minute average value with a 10-minute maximum and minimum, as well as all the three for all-time values.

1.5 also provides an external window, giving you quicker access to all that data, which many have requested as a useful alternative view. This window lets you export the data by copying to the clipboard, or by saving to a file.

You have greater flexibility in changing the update frequency, replacing the slider with a text input field and a stepper. The preferences also now let you add or remove MenuTemperature from the login items easily, and they give a new option (the new default setting) for taking the preferred temperature unit straight from your International settings — if you generally use U.S. units, you’ll get Fahrenheit, and if you have Metric set instead, you’ll get Celsius. (You can still manually override this, if you like.)

Especially for Intel users, the improved installation and added deinstallation of the SpeedIt kernel extension will be of use. We now provide a LaunchDaemon that will start SpeedIt automatically; editing the /etc/rc file is fortunately no longer necessary. We also add an uninstall menu item that will easily remove the kernel extension (and the LaunchDaemon) as well as, optionally, move MenuTemperature itself to the trash.

Finally, we have completely rewritten the way gauging works, making it significantly more efficient both on Intel and on PowerPC, and have in the meantime added support for several more models. Even more model support is coming by the final, and additional support will be easier to add.

Despite all this, MenuTemperature 1.5 has remained virtually the same size as before. The 1.0.5 bundle takes up 940 KB, whereas the 1.5 Beta 1 one, currently lacking two localizations, is 888 KB, so it will likely end up at a very similar size in final.

It’s been about two months of work, and I’m thinking it was well worth it. It’s a solid update that adds many requested and other features, yet makes the application more efficient overall and doesn’t come with bloat. :-)

The 312 KB zip archive can be had right here. The usual beta caveats apply.

P.S.: Localizers, here’s your chance to have MenuTemperature translated to your preferred language in time for the 1.5 release!

Posted in Cocoa / Objective-C, Mac, MenuTemperature, Programming, Software

Share | 2 Comments

MenuTemperature 1.0.5

July 26th, 2006

This is a rather minor maintenance release:

Also, if things go as planned, this will be the last release on my site. Captire now provides a new home for MenuTemperature, which will eventually allow it to grow more.

So, go ahead and download it here. :-)

Posted in Appcasts, Cocoa / Objective-C, Mac, MenuTemperature, Programming, Software

Share | 1 Comment