Unfortunately, bugs do creep in sometimes, and I somehow managed to introduce one in the few minor tweaks between the Time Out 1.6b1 beta release and the 1.6 general release. How embarrassing.
Anyway, I got concerned when I got a couple of people saying that Time Out's breaks stopped working after upgrading to version 1.6. One person may be a mistake, but more than one is a big red flag. So I investigated, and found a bug that could prevent breaks from running, and also prevent some of the break menu items from being active. This didn't affect everyone, but it is potentially widespread, so an urgent fix was needed.
Thus, version 1.6.1, a day after 1.6. For those affected, I am very sorry for the inconvenience!
Everyone, please download Time Out 1.6.1 now!
I'm pleased to announce the general release of Time Out 1.6, my free break reminder tool.
This release is much the same as the previous beta release, though has some minor fixes. It is a recommended update for everyone, except those still on Tiger (which is no longer supported). It remains completely free, too!
Here are the full release notes:
Time Out Free on the Mac App Store will be updated once Apple has reviewed it.
I'm pleased to announce the general release of Simon 3.2, my app to monitor websites and servers for changes or failures.
This update includes Lion compatibility and many other fixes and improvements:
Hey look, a Time Out update!
Not the long-awaited version 2 yet, sorry... but a 1.6 beta. It adds some much-requested enhancements, though, and (importantly) fixes support for breaks during full-screen apps on Lion.
That was a tricky fix; displaying overlay windows on full-screen apps is something that has stumped several developers in the dev forums, but I discovered that using an agent (separate helper app) made it work. Which almost led me to wait for version 2 to solve this, since that does use an agent for the break (and for the scheduler, so the app doesn't have to be running in the Dock). But I wanted to get a solution out there as quickly as possible, so decided to do an interim 1.6 release, and bring forward a couple of 2.0 features as a bonus.
So, since Time Out is now split into two app processes, there is some risk of misbehavior. But it all looks fine to me... now over to you brave beta testers! (If you're not feeling brave, you can wait for the general release, probably in a week or so, depending on whether anyone finds any problems... but if you don't mind running beta software, please help test this update!)
Almost ready for the Simon 3.2 general release!
Here's probably the last beta release before that, with just a couple of quick changes:
I just released a quick update to Caboodle, to bring it to version 1.4.1.
It appears that I accidentally set the minimum OS requirement at 10.6 in the 1.4 release, so it refused to run on 10.5. Which is rather ironic, since 1.4 also included a note that the 1.4.x releases would be the last to support 10.5. I could've just declared that 10.6 is the minimum after all, but I wanted to support 10.5 as stated, so here's 1.4.1 to correct that.
This release also includes updated French localizations, which weren't done in time for the 1.4 release. All localizations are now up-to-date.
If you already have version 1.4 and don't use Leopard or the French language, you can safely skip this update. For those affected, sorry for any inconvenience!
I'm pleased to announce the general release of Caboodle version 1.4, my lean clean snippet machine.
It has a number of great improvements:
This release has just a couple of date-related changes. Thanks to beta tester Bruce for reporting the Lion bug:
Mac OS X 10.7, more commonly known as Lion, was released last week, and has been very popular. Dejal customers have been very quick to upgrade.
So, I thought I'd report on the current OS usage stats, and the status of each of my apps.
Mac OS X 10.4 "Tiger" was released over six years ago on April 29, 2005.
Simon: Version 2.5.7 was the last to support Tiger; with the major 3.0 upgrade I made Leopard the minimum OS version. Despite that, there are less people using Simon 2 on Tiger than those who are eligible to upgrade to Simon 3 but haven't gotten around to it yet. About 4% of the user base are on Simon 2 on Tiger.
Time Out: The current release of this app still supports Tiger, but only about 2% of users are still on Tiger.
Caboodle: Version 1.3.7, the current release version as I write this, still supports Tiger, but the next release, 1.4, which is currently in beta, raises the minimum to Leopard. But only 3% of users will have to stick with 1.3.7.
BlogAssist: The current release, 2.2.6, still supports Tiger. Only 2% still need that, though.
Mac OS X 10.5 "Leopard" was released almost four years ago, on October 26, 2007.
Simon: Current releases of Simon require this OS as a minimum. 15% of Simon users are on Leopard.
Time Out: If I do another version 1 release, it'll require Leopard as minimum. 16% are on the spotty cat.
Caboodle: As mentioned, the 1.4 release requires a minimum of Mac OS X 10.5. 13% are on Leopard.
BlogAssist: The next version of BlogAssist will require Leopard. 7% are still on this OS release.
Mac OS X 10.6 "Snow Leopard" was released almost two years ago, on August 28, 2009.
Simon: Most Simon users are on Snow Leopard currently, at 61%... though people are quickly moving on to Lion.
Time Out: Again, a majority of customers: 66%.
Caboodle: Interestingly, more people have moved to Lion than are still on Snowy for Caboodle: 16%. Version 1.5 will require Snowy.
BlogAssist: But back to the majority here: 65%.
Another implication of Snow Leopard was that the PowerPC (PPC) processor started to get phased out; Snowy no longer supports it. How many people are still using PPC machines?
Simon: Still supports PPC, and will for at least the rest of this year, perhaps longer. Currently 11% of Simon users need it, so I want to maintain PPC support for a while yet.
Time Out: Still supports PPC, but version 2 will no longer support it. Only 2% would be affected by that.
Caboodle: Still supports PPC, for just 3% of customers, but version 1.5 will no longer support it.
BlogAssist: Still supports PPC for now, for just 2%.
Mac OS X 10.7 "Lion" was released about a week ago, on July 20, 2011.
Simon: In just a week, 24% of Simon users have moved on up to the latest big cat. The current general release (3.1.1) mostly works fine on Lion, but version 3.2, currently in beta, adds full screen support and has some fixes for Lion compatibility. Please help test version 3.2!
Time Out: This app appeals to a wide range of people, including those typically not early adopters, so it's not too surprising that Lion adoption is lagging behind the other apps, at only 16%. Still, that's not bad for a week. Time Out does have a known issue with Lion: breaks don't currently appear over full screen apps. I'm not sure why that is yet, but will see if I can fix it. I am working on Time Out 2 (with lots of interruptions for other work), but if I can solve the full screen issue for version 1, I'll release version 1.6 with that fix and some other enhancements. If I do that, version 1.6 will require a minimum of Leopard or maybe Snow Leopard.
Caboodle: This has the fastest Lion adoption of all my apps, at 32% in just one week. The current release version, 1.3.7, works fine on Lion, but version 1.4 is in beta testing, and includes full screen support on Lion and some other improvements.
BlogAssist: I haven't noticed any problems with Lion for BlogAssist. Currently 25% of users are on Lion, which is a pretty decent adoption rate. I'll probably do a 2.3 release in a month or two with some minor tweaks for Lion, but otherwise it's all good.
If you find any issues with any of my apps on Lion, please let me know. Or if you have any questions or concerns about dropping support for older OS versions or PPC, I'd certainly like to hear from you. You can reply to this blog post, post in the forums, or contact me privately (via web form or email).
Of course, it should go without saying, but the current versions of all apps will continue to run on your current OS versions and Macs, and you will not be forced to upgrade to newer versions.
I don't plan on any further changes to Simon 3.2, so you can expect a general release in a week or so, once my trusty localizers have worked their magic.
In the meantime, I'd appreciate it if you'd give this beta a try, and let me know if you experience any issues, either with Lion or usage in general. Thanks!
second third beta release of Caboodle 1.4.
This release includes fixes for Mac OS X 10.7 (Lion) compatibility.
Update: Added full screen support on Lion as well!
It also restores PPC support, which was accidentally omitted from the first beta. It's an ongoing struggle to maintain PPC support in my apps; Apple is trying hard to eliminate it. Which brings me to an important point: I've decided that to be able to move to the new Xcode 4 development tools, and leverage some of the great new stuff in Lion, this version (and any 1.4.x bug fix releases) will be the last to support PowerPC (PPC) and Mac OS X 10.5. Version 1.5 will require an Intel-based Mac and Mac OS X 10.6 (Snow Leopard) or later.
Considering only about 3% of the Caboodle userbase are still on PPC machines (and most of them on Tiger), hopefully this won't be too inconvenient; those people can continue to use version 1.4 until they're ready to upgrade (or 1.3.7 if they are still on Tiger). As for Leopard, that's currently about 12% of the Caboodle userbase currently, but I expect it'll decline by the time 1.5 is out.
It's always difficult to drop support for old OS versions or machines, but it's a necessary part of software development, especially when Apple keeps pushing things forward and dropping support for older technologies in their development tools. Time marches on!
I've just released a beta of Caboodle 1.4b1, my handy snippet keeper.
Note that this update drops Tiger support. If you are still on Tiger (10.4), you'll need to stick with version 1.3.7.
This update includes:
This release includes the following changes:
As always, please give this beta a try and let me know if you find any issues, or if there are any issues that are not fixed and should be.
Please see blog posts on DejalActivityView.
I've committed a minor update to the DSActivityView open source project for iOS. See the DSActivityView introductory post for more information, including a video demo.
This update adds support for splitting the label over multiple lines for the DSBezelActivityView variation. This change was contributed by Suleman Sidat. Thank you!
To use multiple lines for the label, simply include one or more
\n sequences in the label text, e.g.
[DSBezelActivityView newActivityViewForView:self.view withLabel:@"Split over\nMultiple lines..."]
Similarly, to display an activity view with just the activity indicator, and no label, simply specify a blank label:
[DSBezelActivityView newActivityViewForView:self.view withLabel:@""]
DSActivityView is compatible with iOS 3.0 and later, including iOS 4 (and I believe iOS 5), on iPad, iPhone and iPod touch.
You can get the project from my Dejal Open Source Subversion repository via this Terminal command:
If you make any enhancements to DSActivityView, please contribute them back to me so I can share with other developers.
What is Simon Free?
It's a simplified and streamlined edition of the full Simon application. Instead of having several different kinds of customizable services, filters, notifiers and reports, Simon Express and Simon Free have just a few of the most popular ones. Simon Express is a paid app that enables an unlimited number of tests, so is great for people who want to check lots of websites. Simon Free is restricted to 5 tests, which is enough for people who only want to check their own site... and is completely free.
So what happened?
Although both Simon Express and Simon Free were submitted and approved when the Mac App Store first opened, when I came to do the 3.1 update, the Free edition was rejected. The reviewer felt that it was just a demo. I tried arguing that it was a fully functional app for people with modest needs (and it is), but they weren't convinced. So I submitted an appeal to Apple's App Review Board. In due course, they called me (with some phone tag), and we discussed the issue.
They said that they didn't like that it'd alert you if you exceeded the 5-test limit, and said to disable the New Test button when the limit is reached.
So that's what I did. I also removed the Setup Assistant from Simon Free, since it isn't all that useful for that app. With those changes, they quickly re-reviewed and approved it.
Although having an app rejected is never a pleasant experience, and it's very frustrating for me and the thousands of customers who have downloaded the app, the reviewers were polite and helpful throughout the process... and all's well that ends well.
Uh oh! I received a couple of reports from confused people yesterday, which confused me too: they said that the Web (HTTP) plug-in controls weren't showing up, and other wacky behaviors. I couldn't figure it out until one helpful person sent me screenshots and log information today.
It turns out that when I stripped out the PPC code for the Mac App Store editions, I accidentally stripped it out of some of the plug-ins for the standard edition, too. Oops! So I've fixed that. I'm very sorry for the inconvenience this may have caused.
I also removed the license agreement window. I decided that it doesn't really serve any useful purpose, and is just annoying to have to click through on each update. The license agreement can be viewed online.
Finally, I updated the Simon Help to reflect the above change, and to match the online edition. It now also clarifies that if you add an Upgrade license, you need the base license from the previous major release, too.
If you're using an Intel machine (as the vast majority of Simon users are), there's no need to update to this release, though no harm in doing so. If you're using a PPC machine, this is an essential update.
Simon version 3.1 is now in general release. A rather short beta period, but all seems well with it.
The standard edition of Simon version 3.1 is available for download here. Updates for Simon Express and Simon Free for the Mac App Store have been submitted to Apple, and will be available as soon as they've done their review.
Changes in this release include:
defaults write com.dejal.simon MaximumActiveChecks 1".
I previously discussed a rather ambitious Simon 3.1 update, where I was refactoring the data model to use Core Data, and many other related changes. Pretty much redesigning the core of the application, including splitting it into multiple processes. But that turned out to be too ambitious for my current time constraints. It was taking a long time, with a significant risk of data integrity. So I recently decided to postpone that for a future update.
Therefore, I put that code aside and went back to the 3.0.2 codebase, and implemented a more modest set of enhancements for the new 3.1 release:
I will come back to the Core Data etc refactor in a future update, probably next year. But in the meantime I have a bunch of smaller updates planned (as I always wanted to do after the big 3.0 upgrade), that will have more immediate benefit for my customers.
As you know, I publish this blog on the Dejal website. It has been around for many years, and has discussed all kinds of topics. Dejal product news, of course, plus general Dejal topics, and posts for other developers with open source and code tips.
I've been wondering if the more personal topics are really appropriate for a business blog, though. Looking around at other indie Mac and iOS company blogs, some do post random topics, but most stick to app update announcements, tips, and other core topics.
What do you think of this diverse mix of blog posts? Do you like getting to know your app developers a little better, or would you prefer developer blogs kept to discussing their products?
Should I create a separate blog for non-Dejal-related topics?
What about the Dejal Twitter and Facebook accounts? Should they stick to Dejal news too, or is general life stuff okay? I'm not all that verbose with tweets, with often only a few tweets per day, sometimes none. But the vast majority of the tweets aren't about Dejal topics. Should I use a different account for personal tweets? (I do have a personal Twitter account, @dejus, but don't currently use it.)
Plus, I have a poll! Take a moment to vote.
I've been working on the next update for Simon, my flagship app to check websites and servers for changes or failures. Version 3.1 is quite a big change, but almost all of it is "behind the scenes".
The biggest change is a redesign of the data storage. Previous versions store all tests in a single XML file, which is read in at launch and written out periodically. This is simple, but can be a little slow when there are lots of tests. Similarly, service, filter, notifier and report data each have their own XML file.
In version 3.1, I've redesigned this to use Apple's high-performance SQL-backed Core Data framework. So now it loads much faster, and only needs to write out individual tests when they are changed, rather than all of them.
Not only is this faster, it also enables planned future functionality, like splitting the app into multiple processes to avoid using up resources with lots of active tests, the ability to edit settings for multiple tests at once, and much more. It's an investment in the future.
But because migrating Core Data models can be a hassle, I also write out the tests etc as file packages. The data folder now includes folders for Tests, Services, etc, each of which contains a file package for each individual test etc. The package is actually a folder (which can be examined via the Finder's Show Package Contents contextual menu item), containing an XML file and a folder of logs, also stored as XML.
This means that when I change the Core Data model, Simon can simply discard the Core Data cache, and read in the file packages instead. Updating the XML format is much easier to remain backwards compatible. And since Core Data knows when individual tests are changed, Simon only needs to write out the XML in the packages when a test actually changes. I've measured it, and that adds a negligible amount of extra time to saving (still way faster than writing out all tests each time), and gives the migration benefit, plus enables storing larger data in the package, and in the future will have other benefits like Spotlight searching, sharing data, and more.
Anyway, if you're still reading after all that somewhat technical detail, you might be someone I'm looking for! Since changing the data storage is a big deal, and has involved a lot of changes to Simon's internals, I would like to get a few keen Simon users to help test the update before I unleash it on the world.
So, if you are interested in helping me test Simon 3.1, please contact me. The alpha release of Simon 3.1 will only be made available to a few people, but I expect interest to be limited, so don't hesitate to volunteer.
Worried about risks? It's pretty safe. Simon 3.1 doesn't touch the old large XML files of 3.0 and earlier, so worst case the new data files can be thrown away and you'll revert back to the state before upgrading to 3.1. So the only risk is that you could lose changes made in 3.1. Plus, of course, the risk that you could get spurious notifications, or miss notifications, if something goes wrong. But everything seems to work okay in my testing, other than a few minor issues I'm still tidying up.
Once Simon has had some more testing, I'll do a public beta release, probably in a couple of weeks, depending on the amount of testing the alpha gets, and what issues may turn up.
I'm looking forward to hearing from you!