Over the past week or so there has been a definite sea
change in the way we’ve been working on the project. Up until now we’ve been
focussing on getting the major functionality implemented, collecting user
feedback through the early access programme, and using remote usability
sessions—sometimes with hilarious results—and then making changes based on that
feedback. But now we’re definitely in release mode, and looking hard
at what we need to do, and what milestones we need to hit, to get the product ready to ship. The change is subtle but definite.
The first milestone will be an
official beta of ANTS Profiler 4. This might not sound like a particularly big
deal, because we’ve been releasing early access builds regularly since the end of
May, but up until now we've done no QA specifically targeting these builds, except to try and pick those that don’t crash in some really obvious way. We
certainly weren’t expecting release quality from any of them. I should say that
we have done plenty of testing, just
not the kind of testing we do leading up to a release. The exception is that
our installer has been much more thoroughly tested than would normally be the case at this point. I’m hopeful this will pay dividends in a few weeks by
making release testing a lot less painful than usual.
We've implemented most of the major functionality:
- Timeline
and events bar.
- Call
tree, showing the most expensive stack traces through the application.
- Methods
grid.
- Call
graph, allowing you to focus your analysis on a particular method in
terms of what it calls, and—just as importantly—what calls it, and
the relative contribution callers and callees make to its execution time.
If you haven’t seen the call graph yet, here’s a screenshot (click on the attachment link at the bottom for a larger, clearer version):

It’s well worth having a play with, so go and get the latest
build—at the time of writing this is around ten days old—from:
http://www.red-gate.com/messageboard/viewforum.php?f=80
Our last early access build will go out on Thursday or
Friday this week. As usual, we’ll announce it in the forum. It will incorporate
printing support for call graphs, along with a lot of bug fixes. It will also—hopefully—include the new Visual Studio add-in, which supports Visual
Studio 2005 and Visual Studio 2008. You should should see an
improvement over the old add-in because for many applications you won’t need to
go through any further setup steps, and even if you do, it’s just that one step
setup dialog, as opposed to a four step wizard. We no longer support Visual Studio 2003, although you can still profile .NET 1.1
applications; you’ll just need to
start the profiler manually and run your application from there.
So, subscribe to the RSS feed and grab the last build later this week:
http://www.red-gate.com/messageboard/viewforum.php?f=80
Once that’s done, we need to add a few more things before the beta:
- Saving
and loading projects.
- Saving
and loading results.
- Performance
counter selection.
- Some
context menus.
- Getting
the memory profiler working.
- Putting
in all the context sensitive help, which is being written right now.
- Loads
more bug fixes.
- Licensing; there
will be the usual 14-day evaluation period, but to continue after this
with the beta you’ll need some sort of license. We haven’t decided whether
that will be a version 3 license, or whether you’ll need a version 4
license. In the latter case, if you have a support and upgrades contract
your existing license key should work.
The beta should be functionally complete, and contain no
known major bugs, although that’s potentially contentious because it really
depends what you think constitutes “major”. Like the early access builds, it
will be timebombed, and should expire around the time we release the final version. If all goes well, we’ll get the beta out
sometime around the beginning of August. If all doesn’t go well I’ll find some
weaselly way to interpret that sentence as meaning there’s no possible way that
anybody could have expected us to get a beta out at the beginning of August,
and no justification for interpreting it as a commitment to do so. Just you
watch me. ;)
After that it all starts to look very much like any other
Red Gate product release, in as much as there is a typical Red Gate product release any more. Increasingly, the development
and release cycles are tailored for each product, to suit our evolving
understanding of the market, customer needs, and the risks involved, which—by
the way—we’re still learning to do. You probably think that’s a really
obvious thing to do, and you’re probably right, but if that's the case you do wonder
why it isn’t done that way more often by more people.
Anyway, I digress.
A couple of weeks after the beta, there should be a release
candidate, unless something really heinous happens. Unfortunately, this is software, so that's always a possibility, but when it does appear it won’t contain any bugs that we intend to fix for the final
release. None that we know about anyway. If anything serious comes up we will fix it, and if it's that serious we may even do another release candidate before the final release.
Ideally we’ll release the final version ANTS Profiler 4 into the wild roughly one calendar month after the beta. And then we’ll have a breather.
But not
too much of a breather, because next on the agenda is a new version of the
memory profiler, and like the performance profiler, this won’t be a minor
facelift: it will be a complete transformation. Now Bullfighter's just whinged at me for using the word transformation ("Not a bad word, but a transformation refers to extensive change, and consultants are ridiculed for using words like 'transformation' for pretty much anything. Like sticking a motor on a Bianchi bicycle and transforming it into a Harley Davidson."), but hey, I'm not a consultant, and in this case I think it's entirely justified.
So, take home message: we want to release ANTS Profiler 4 as
soon as we can. We know a lot of you are waiting for it, so we’re focussed on getting a solid beta out. Our last
early access build will go out at the end of this week, so get it whilst you still
can. Here’s that URL again:
http://www.red-gate.com/messageboard/viewforum.php?f=80
Finally, I want to say a big thanks to everyone who has been involved in the early access program and provided feedback to us, particularly those of you who've taken part in the usability sessions, which have been absolutely brilliant. They've helped in two massive ways:
- They've largely validated the UI design, which was already based on incredibly extensive customer feedback. We wanted these sessions to either show us we were doing the right thing, or show us we were doing the wrong thing early enough to do something about it without having over-committed. We were always willing to go back to the drawing board if this happened. This has worked really well.
- They've shown up a number of problem areas, along with a few omissions, that we've been able to correct fairly easily because we got the feedback early enough in the development cycle. I cannot overemphasise the importance of this. It's made the project roughly a month longer than anticipated, but I think it's been worth it to make the right product. If we hadn't run the EA program, and had got this feedback later on (say during the beta) it's likely we wouldn't have been in a position to make some of the changes we've made.
I'd also say that actually watching somebody using your software is a really good antidote to getting too precious or possessive about it, because you can objectively see whether something works well or not.
Thanks again!