Sad current state of development of Springy

Dragan, posted Feb 5th 2010 at 8:00PM

The cause for this blog post is not a pleasant one. Not pleasant at all. Its main goal is to inform you about the near future of the Springy project, but also to admit that I didn’t seem to be quite serious about it, at least not when it comes to keeping its sources and resources safe enough.

About one and a half month ago I had burglars “visiting” my home on a nice December, Saturday evening, while I was out. Among other things, they stole two laptops, including my MBP, which was my primary development machine. But they also stole external hard disk hosting my Time Machine backup, as well as one pretty ugly and unattractive small PC box running FreeBSD, which served (among other things) as my Git repository server. I haven’t had the latest versions of Springy source code anywhere outside my home on any distant server. As a result of all this trouble, I don’t posses the source code for Springy any more! This also means that at the moment I cannot maintain it properly!

I didn’t rush to inform about this tragic incident as I wanted to see if there were any chances for the police to get my things back, or at least to plea to the burglars to somehow give my important data back. But now, after more than a month, I’m pretty sure there’s nothing that can be done about it. All Springy source code is gone for good.

I also spent some time browsing some older backups hopping I might find something useful. It appeared the latest Springy source code backup I had outside my home was that of a version 1.3.3, just before I switched to Leopard and started using Time Machine and Git as a version control system. As much as that old source code is useful, that’s far from enough to be able to continue smooth development of Springy; many features have been added meanwhile, and possibly even more things were completely redesigned, improved and overly changed. I may recover some of those by trying to remember what I did, browsing some old sketches made on paper and trying various reverse engineering techniques, but I don’t see it as a very useful and eventually successful process. Therefore my general conclusion is that the complete source code for the Springy project is irreversibly gone.

This whole story leaves the question about the future of Springy application. I have spent quite some time recently thinking about how to proceed and whether to do so at all. The idea of redoing everything and going through all known problems over again wasn’t very appealing at all. On the other hand, I think Springy is a very good archiving utility, with the right concept defined from the very beginning (everything must be done inside the application itself, no command line tools running inside NSTask and doing the real processing in the background, like so many other archiving utilities on Mac do), and decent implementation. Off course, it can always be better and the whole process of developing Springy was continuous improvements of the implementation, as my coding skills got hopefully better. Not to be neglected, the number of people who purchased it already and who probably use it on a daily basis for the tasks very important to them, they expect a decent support in case they encounter some problem, or find some bug. And only for those reasons, and for the fact I really enjoyed developing Springy, I decided to start it all over again and continue its development.

Unfortunately, the first results of that decision won’t be available soon. There are more reasons for that. The main one is that Springy was side job/hobby project from the very beginning. I have full-time job (unfortunately, it has nothing to do with Mac software development) and a private life to live, so the time I can dedicate to Springy is rather limited. It’s usually 12 – 22 hours per week, depending on a situation. This was also the reason the development of Springy so far wasn’t as fast as it could’ve been. I’d really like to transform Springy into my main job and dedicate full-time to it, but at the moment the revenue I get from it is far, far from what I need to pay my bills and still live a normal life. If at some point this situation changes, I’ll definitely consider my options, but I don’t see it happening in any near future.

The second main reason why the first results of new Springy development won’t become available any time soon is that I don’t want to just redo it from existing code (version 1.3.3) and add some more things on top of it. Even while developing/maintaining the current version, I’ve already wanted to change, redesign and refractor much of existing code. I learned a lot of things in the process, but Apple has also come up with a lot of new technologies in the meantime, and as I’ve tried them on some test projects, I’ve never had enough time to fully embrace them and incorporate into Springy code. While it will require probably less code to write, it doesn’t automatically mean less time as I really need to fully incorporate those technologies and since I haven’t done it before, I do expect to have some problems, questions and doubts over the correct way of doing things.

Taking all this into account, I don’t expect the new version of Springy to appear before mid 2011. Normally (with full-time dedication), it’d take a couple of months, but due to all the things explained above, the time frame expands considerably. Knowing this, it’s good to make a comment of the current status of Springy, as of version 1.6.1. The current implementation seems to be pretty good and stable, at least judging from the amount and kind of user complaints and bug reports. The most commonly reported problem is that Springy application sometimes crashes for some users while browsing archive and it can be traced down to icon preview generation. As that feature can be switched off very easily, I don’t see it as a really big problem (more about this you can read here and here). But there are some bugs which directly affect the functionality and they deserve a mention here:

1. This bug is related to SpringyCM contextual menu plug-in, for those users still running Leopard and Tiger. When a ZIP archive is extracted using SpringyCM, the plug-in doesn’t properly clean all of its traces afterwards (a handle to the archive file stays open). The consequence is that one cannot easily delete extracted archive by moving it to the trash and emptying the trash. The system will report that the file is still “in use”. Doing “Secure Empty Trash…” in FInder will however close the open handle and permanently delete a file. I’d rate this bug more as an annoyance, as it doesn’t really cripple the functionality of Springy in any way.

2. This one is more severe; ISO disk images can’t be created using Springy application, only using SpringyCM plug-in in Leopard and Tiger, and “Archive in ISO” service form the System Services menu in Snow Leopard. If one tries to select “ISO Image” from the pop-up button in save dialog in application, Springy will actually create an archive of type of the previous selection! This came up as a consequence of some NIB file editing I did in the last moments for version 1.6 and which I apparently didn’t test good enough. I know probably not many people use Springy to create ISO disk images, but still this bug is quite disturbing. Unfortunately, nothing can be done before the new version comes out. For those who need to create ISO images, please use “Archive in ISO” service form the System Services menu in Snow Leopard or SpringyCM plug-in in Leopard and Tiger.

3. It seems creating ZIP archive using “Archive in ZIP” service from the System Services menu (Snow Leopard only) is not completely reliable! For some reason, only sometimes, the preparation phase of archiving process is not done completely so some files are missing in the archiving phase. The consequence is the resulting archive may not contain all the files you’d expect it to. I really don’t have any clue why this happens. It was reported to me by a user and I managed to reproduce it myself. It doesn’t happen always and is very inconsistent in behaviour. For example, I’ve managed to correctly archive a bunch of files this way, than I did some other processing and then tried to repeat archiving of the same bunch of files again and it failed (some files were missing from the resulting archive). This can be very annoying, but I won’t be able to do anything about it before the new version comes out. If you find yourself in a similar situation and encounter this behaviour, please use Springy application directly (not “Archive in ZIP” service menu) to create ZIP archives. For other archive types, everything works as it should.

I really hope people will be able to live with these bugs, as I really can’t do anything about them in a short notice for all the reasons explained above.

I’ll post regularly over here about my progress with the new development of Springy. I’ve also created a new Twitter account springyapp (the name springy is already taken). While I’m not very much of a “twittering” person, I’ll try to use the account to update interested people about the progress more often, but in very short messages.

Needless to say, I’ve already started making full Time Machine backup to external hard drive again, but also I now make regular daily backups of selected folders to two remote servers, as well as keeping my Git repositories locally but also on two remote Git repository servers. It’s a pity I started appreciating all this precautions the hard way, once I lost all my source code, photos, music, movies, mails and many other very important documents and files. But it’s still better ever than never. I hope some people reading this may learn from my experience and prevent anything similar happening to them.

Dragan

 
 
magrolino wrote:
08/02/2010 22:55:12
 

Wow, that is sad news, I am so sorry about the loss! I really hope for you that your lost data shows up at some point (not only for the source but for the pictures and mails, ..).

Good luck and thanks for the decision to develop Springy, it really is the °1 packer on osx for me!

Angela Aki wrote:
12/02/2010 13:31:13
 

very sad. i hope you outcome this problem. ive bought a mac recently and i was considering out to buy a license because it was the best till this moment.

i really like to see a full >SL full 64bits packer in the future. good luck with your projects!

Caue Rego wrote:
12/02/2010 15:56:34
 

Well, this is too late already since you haven’t done any kind of online backup, but I’d highly advise using the cloud more from now on.

I love dropbox, there is also the highly advised carbonite and even google docs. Get an online backup, dude!

And for your next computers, at least install this: www.preyproject.com

As of developing for living, well, I have no expertise on that, but I’d guess it’s because the specific area of your software is too small for a market on its own. Maybe you should try doing something else, or selling this to a company that can afford you a job over it (hopefully apple? :P)

And sorry for sounding as smart pants after all your loss! Sincerely wish you the best.

Alex Angas wrote:
14/02/2010 04:02:54
 

I’m in total shock about this. You never kept an off-site / cloud-based backup? For a product that you maintain and sell? This is nothing short of completely irresponsible.

On 17 January I purchased this product, happy to put my money towards an ISV with a quality solution. Now I’m extremely pissed off that there is no hope of support requiring code changes or a new version for 1.5 years because they didn’t have an adequate backup solution.

I notice you have provided no details in this blog post for people who would like their money back given this event. Can you please update the post with this information or contact me directly.

Thank you.

Dragan wrote:
24/02/2010 12:22:19
 

Alex,

First of all, let me apologise for a very delayed response to your comment. The past 10 days were very frenzy on both professional and private front, which made it impossible to address your concerns (and anger) earlier. Besides, I used that period to set up the infrastructure for (new) Springy development, including all things necessary for online out-of-the-house backup to two remote servers, and two remote Git repositories. Even more, some initial development pre-phases were also done and I’ll be ready to start working on Springy 2.0 full pace (as much as possible, as already explained in the blog post) next week.

I completely understand you anger and I fully agree I was utterly irresponsible. I’ve never thought of such an outcome, I was hoping having in-the-house backups would’ve been enough to cover all disaster scenarios. I hope to learn from my mistakes, I certainly will from this one.

I also understand your concerns over future development of Springy. I realise 18 months for an update sounds long, but there was a similar update period (10 months) between versions 1.4.2. and 1.5. Considering 1.4.2 and 1.4.1 were just bug fixing releases, the update period from 1.4 to 1.5 was 14 months. Nevertheless, there are some quite popular shareware applications on the market which experienced even longer update periods (2 – 3 years) and are still being actively developed.

And no, I don’t plan to offer a refund to everyone who requests it just because the update cycle will be longer this time. You said yourself you have been happy to put your money towards a quality solution. I think that’s what Springy is and I believe vast majority of people who purchased it think the same. I also want to make everyone rest assured that waiting for version 2.0 will be worthwhile, as I plan to implement a lot of new features and significantly improve existing ones.

Adrian Bolt wrote:
26/02/2010 14:51:02
 

Sorry to read about your unfortunate visitation by low-life. I run a parallel back-up system: SuperDuper! and Time Machine. SD! also has the benefit of making a bootable clone of my internal hard disk so that I could be up and running immediately. The SD! drives are kept somewhere out of the way, though off-site would be better. Your experience has convinced me that I should back-up remotely as well.

Most users will be patient and understanding. I, for one, have no problem with waiting until next year for version 2.0 as I’m confident it’ll be worth the wait. Best wishes.

Alex Angas wrote:
27/03/2010 02:52:44
 

I’m following your Twitter feed so look forward to when you can come back with what will hopefully be an awesome archiving app.

Marc Salvatori wrote:
09/07/2010 08:23:22
 

Nobody is perfect, and Life can be cruel about revealing them. However, your attention to application detail is very good. I am relatively new to Mac and am evaluating your wonderful work, with all intention of making a purchase. Your product is heads above anything else I reviewed; so, it really does not matter to me if it is two years before I see an enhancement.

Dragan wrote:
13/07/2010 10:11:27
 

Marc, thanks for this nice comment above, I really appreciate it.

24/08/2010 13:08:15
 

This sad news prompted me to pay for the shareware right away, for surely a piece of quality software like this needs that kind of encouragement, especially when you have met a set-back like the one you just met.

I am using it now, to move files bigger than 4GB to a Windows system, something which requires segmenting – a feature your software has, and in a very visible way. Thank you! :-)

 
 
 
 
Are you sure you wish to delete this topic?
Are you sure you wish to report this topic as spam?
Are you sure that this topic is not spam?
Are you sure you wish to delete this post?
Are you sure you wish to report this post?
Are you sure this post is not spam?