Category: Blog

  • Weight off my mind.

    Phew, last night I killed a bug in CaseDetective 2.0 in less than 30 minutes of development that had been bugging me (pun intended) for well over 4 weeks!

    And what’s more, 30 minutes later after re-activating another feature that I’d disabled because I had a bug in that code that had also been bugging me for well over 4 weeks was also fixed, without me making any further changes!

    I hate (love) it when that happens! ๐Ÿ™‚

    The annoying thing is, my code for the first feature is virtually the same as before last night’s edits, I’d almost got the bug fixed before in that I’d whittled it down to a very specific block of code that I could hard-code around to get the results I wanted, but couldn’t get the proper solution to work, even though it looked absolutely right. I worked and worked on the area, making sure I fully understood the all the properties and events of the classes involved, but alas the solution failed to reveal itself.

    Out of frustration I switched one parameter to a function that should have absolutely no effect from “true” to “false”, fully expecting that the problem still existed. It fixed the problem. Fantastic! But also very very annoying. I can only assume it’s either a very subtle bug in the framework, or more likely me not quite fully understanding the event interactions of a couple of classes.

    I tell you, it feels great to have fixed these two problems, they were two great weights stopping me from progressing in important areas of CaseDetective, and stopped me from being able to efficiently concentrate on my work.

    A great weight has been lifted off my shoulders, full steam ahead!

  • Status Update 2007-11-19

    Availability

    A couple of weeks ago I was supposed to write a post about my availability for hire, having just completed the year (and a bit) long project for my last client. I guess I was too busy either enjoying some relaxed quality time with my wife and daughter, or getting in some development time on CaseDetective 2.0 and missed the opportunity.

    Anyway, today I started a new contract I bid for and won. It’s just a 20 week one, for the very same client I’ve recently finished up with, but this time doing system analysis and design for a brand new system. It’s a great project, in fact a whopping great big project of huge importance for the client, but I’m relishing the challenge.

    CaseDetective

    Although CaseDetective 1.3.2 came out a couple of weeks ago with support for FogBugz 6.0 password formats, it turns out there were other more problematic database schema changes that will cause problems for many CaseDetective users.

    As such, I’m going to have to say that CaseDetective 1.3.2 is unlikely to work for most FogBugz 6.0 users, not that it ever officially supported FogBugz 6.0 anyway. For FogBugz 6.0 support CaseDetective 2.0 will be required, which we’re hoping to have released early next year.

  • FogBugz Ecology Wiki

    Just a quick note about the FogBugz Ecology Wiki page that I got started over on the Fog Creek support website.

    Michael Pryor asked whether I’d fancy getting a community wiki page up and running which pulls together links and descriptions of all the scripts, demo source and third party applications that work with FogBugz. I jumped at the chance.

    It’s very much a skeleton page at the moment, but I expect it’ll quickly fill out once people start publishing more and more examples and applications that work with the FogBugz API. I predict that the new API in FogBugz 6.0 is going to have a very positive effect on the FogBugz ecology.

    I’ll be keeping an eye out for any new scripts, example source code snippets and applications that work with FogBugz and adding them to the wiki, but I hope others will too.

  • CaseDetective 1.3.2 for FogBugz released

    A new version of CaseDetective for FogBugz hit the ‘net last night, just a little bug fix release.

    First bug: In very rare cases switching the graph to show Release or Priority could cause a crash with a “NilObjectException”, this slippery little sucker has now been squashed.

    Second bug: If you change your password within FogBugz 6.0, or are using a new account created in FogBugz 6.0, the password will be encrypted and stored in a new format, this new format is now supported by CaseDetective.

    FogBugz 6.0 introduced a new password format, and I didn’t know about it until a customer got a dialogue about the unsupported password format (sure am glad I coded that up).

    It must be noted that this doesn’t mean CaseDetective 1.3.2 fully supports FogBugz 6.0, it doesn’t. What it does mean is that the “classic” filters you created in FogBugz 4 & 5 will still work, and any new ones you create this way too, but the new “search” style filters will not work. The new search axis style filters will be supported in CaseDetective 2.0 and CaseDetective On Demand when they are released, hopefully by early 2008.

    The inbuilt buy mechanism has also been given a little love, so you can now buy CaseDetective for just $69 from within the trail version to be instantly upgraded from both the Windows and Mac OS X versions.

    As always, CaseDetective for FogBugz can be downloaded from http://www.casedetective.com/ for both Windows and Mac OS X.

  • How’s it going with this Flex stuff?

    I think itโ€™s sometimes a good idea to conduct a thorough hard-hitting interview with yourself about a subject to fully explore said subject. There now follows an interview between you (U) and me (I), where I pose and answer the questions I think you might ask of me, and Iโ€™m not going to hold anything backโ€ฆ

    U: A little while ago you talked about redeveloping CaseDetective with Adobe Flex, is that still happening?
    I:
    Sure is.

    U: Great! How are you finding Flex then?
    I:
    I’m loving it.

    U: Care to expand on that, it’s not going to be a great interview if you don’t give me proper answers!
    I:
    Oh, OK then, sorry.

    I’m really enjoying developing with Adobe Flex, it’s name is very apt, the flexibility you have while developing is fantastic. Just being able to drag and drop a number of controls in Flex Builder’s great looking design view, and then switch to source view to add a few extra details is wonderful. The xml like nature of the mxml format makes this a breeze, especially with Flex Builder’s code hints and completion.

    ActionScript (Flash Player’s and therefore Flex’s scripting language) is very clean and familiar, being based on the ECMAScript language specification. Anyone with even a smattering of experience in Java or any other modern object orientated language will get on famously with ActionScript. It’s deeply object orientated, it’s amazing what you can do with it, especially as the Flex and Flash libraries are pretty solid, and easy to extend.

    U: It looks as though Flex Builder 3 is coming on strong, have you looked at it?
    I:
    I switched to using Flex Builder 3 beta 1 a couple of months ago!

    U: Isn’t that a bit risky, developing on a non-released development platform?
    I:
    Some might think so, but in this case it works for me.

    I started off with Flex Builder 2, bought it (and lot more from Adobe), and it does the job. However, when I saw some of the great new features in Flex Builder 3 I had to take a look.

    I spent a good few weeks continuing main development in Flex Builder 2, and then checking out to Flex Builder 3 to see how it handled it. I had no problems at all.

    When I played with the new AdvancedDataGrid I knew I couldn’t stay on Flex Builder 2, I wanted the multi-column sorting and grouping functionality the AdvancedDataGrid has to offer.

    When I had good long think about it, I realised that I’m not planning to release CaseDetective 2.0 until early next year, which coincides quite nicely with the planned release schedule of Flex Builder 3. So for me it’s a strategically positive plan to develop with the better functionality available in the beta releases and submit any problems to the Flex Builder team, than to carry on using a version that doesn’t give me all of the whiz-bang features I want and that I’d want to upgrade around the time of CaseDetective’s release anyway. Better for me to get ahead of the game and be familiar with the new version of Flex Builder and the Flex SDK than to have to catch up later.

    U: You mentioned the AdvancedDataGrid as a feature you’re really enjoying in Flex Builder 3, anything else you’re liking?
    I:
    The other Flex Builder 3 features that I’m totally and utterly in love with are “Mark Occurrences” and Code Refactor support.

    Mark Occurrences highlights every occurrence of a class, function, variable etc that matches the one your cursor is currently on. It’s sounds like a very simple feature, but believe me it’s a really intelligent and very useful one. When your cursor is on a variable name for example, every usage of the variable is highlighted in a nice blue colour, and in the right hand gutter is a little blue block that shows where the occurrences are across the whole file. If you click on one of those gutter blocks the code window moves to show it, which is great for quickly navigating from the declaration to the use of a variable etc. It’s hard to explain, but it works very well and has really sped up navigating source files when editing. What’s particularly nice is that it understands scope, so it knows that the same variable name declared in multiple functions is not the same variable.

    The new Refactor contextual menu is very handy when you’re zipping along with development and find you could have named that class, function, variable etc better. Pick refractor -> rename, give it a new name, select Preview to see all the places that it’ll get updated, from the declaration to all the uses, hit OK and the jobs done. Wonderful, saved me a barrel load of time, and what’s more removes all reasons for keeping a rubbish name, making code much easier to read.

    Flex Builder 3 Beta 2 was released just a few days ago, and having those two features has made this week one of my most productive and committed development weeks for a long time!

    U: Thanks for giving us the time for this interview Ian, much appreciated.
    I:
    You’re welcome, enjoyed it.

  • Neat FogBugz In Depth Movie.

    Here’s a quick link to the “FogBugz In Depth Movie“, which is an entertaining run through of the new stuff in FogBugz 6.0, and re-enforces some of the reasons FogBugz works the way it does.

    Well worth a look if you’re thinking about trying FogBugz, or even if you’re an existing user.

  • Will the iPhone be on Vodaphone in the UK?

    I just called Vodaphone to check up on something on my latest bill only to be told that they couldn’t get any info on my account as their systems were being upgraded. The rep said someone would call me back when their systems were available, it would be about an hour and a half. That was just before 9am.

    There’s a London Apple event happening at 10am. This might be a complete red herring, a total coincidence, but could all the rumours about O2 getting the iPhone be wrong? Could it be Vodaphone?

    Fingers crossed!

    Update: Oh crap, it’s O2, the one carrier I vowed never to use again after some seriously bad experiences with their customer reps!

  • Quick FogBugz Tip: Activating Community Users

    If you decide to activate the community users functionality in FogBugz 6.0 so that people can create an account that keeps proper track of your discussion groups, don’t forget to actually allow registration!

    To make sure community user accounts can be registered, go to Settings > Site from the top right menu, and then select the Authentication tab.

    Make sure the New User Control drop down is set to “Anybody can create a community account”, and the Community Users feature is on.

    FogBugzCommunityUsers.jpg

    Once you click the OK button you’ll have a little “Register” link in the top right of your FogBugz page when it’s visited by someone who’s not logged on.

    I missed that “Anybody can create a community account” step first time round, so thought I’d share it.

  • FogBugz 6.0 for Windows released.

    Excellent news, FogBugz 6.0 for Windows has been released.

    It’s no secret that I and many others have been using the betas for some months now, and boy am I happy with this release!

    There’s a tonne of cool new shiny things to play with in this new release, you should definitely check out the What’s New page.

    My favourite new features and improvements?

    1) Super Duper API!
    It may be the penultimate item in the list of new features on Fog Creek’s list, but it’s number one on mine! I don’t have to duplicate all the search/filter functionality of FogBugz in CaseDetective any more. Woohoo!

    2) Super Duper Search!
    The search and filter mechanism has been totally overhauled, you can now search by many different axis, in any combination, and then search within the results of a filter. This feature is going to make a lot of existing FogBugz users incredibly happy.

    3) Resolve and Close.
    It may not sound like much, but being able to resolve and close a case I opened with the press one button is going to save me countless hours.

    There are so many other great features introduced and improved in FogBugz 6.0, such as the Wiki functionality, Evidence-Based Scheduling, automated timesheets, community users and many more.

    It really is a stonkingly good release, my hat goes off to Fog Creek for delivering such a great product in FogBugz 6.0.

    So, now I have to work like crazy to get CaseDetective 2.0 out the door. Thanks a bunch Fog Creek! ๐Ÿ˜‰

  • The IMiJ Software forums are now closed

    I’ve had enough, SPAM on my company’s forum has got way out of control.

    Day and night SPAMers are registering new users and attempting to post to the forum, meaning I’m having to do heaps more admin than I should, banning users and deleting the odd post that gets through the Akismet filtering. Not fun.

    So, considering the forums haven’t really been a success anyway, I’ve stopped new user registration or any new posts. I’ve also deleted all users with no posts, which may have caught the odd genuine lurker in the cross-fire, but seeing as no one can post anymore, this can’t be much of an issue.

    Forums are one of those topics often discussed in the world of the microISV, as they have many pros and cons.

    Some of the pros being the potential for reduced support costs as common questions will be answered via a quick search of the forum, users can support each other in many cases, and a thriving community centred around your software can be a wonderful thing.

    But there are of course negatives, the chief of them being that if the forums are quiet it can reflect badly on your products, people can get the impression that the product isn’t doing well, whether it is or not.

    My forums have been very quiet, and the users of the forums haven’t really got into any kind of discussions, so there isn’t even a fledgling community there. Closing them seems like the most sensible thing to do at this moment in time.

    The forums are going to remain up for the time being, simply because there are a couple of links to content in them from external sources as well as my own sites. But come the release of CaseDetective 2.0 I expect I’ll be removing them. I may replace them with a FogBugz style discussion group in the future, but there’s a good chance I’ll wait until I have too many requests for forums that I can’t ignore it, and am reasonably sure they are going to be used. That may be once I have more than just CaseDetective as an offering.

    And yes, I’m very aware that I haven’t linked to the IMiJ Software forums from within this post, that’s totally intentional! ๐Ÿ™‚