« FeedDemon 1.5 is here! | Main | Dexter Cartoon for Feb. 11, 2005 »

Thursday, February 10, 2005


Feed You can follow this conversation by subscribing to the comment feed for this post.

Very cool! Thanks Nick...

Prattle on! I would like to hear more about your development process.

Thanks for taking the time to share.
More development related posts would be much appreciated.
As an active developer, I'm always interested in hearing what others do.


Always interested to hear more on how you accomplish your amazing work...

This is very interesting. Thanks for sharing.

Btw, if you do load objects at startup, how do you manage their 'positions'? What happens when user resizes their Topstyle/FeedDemon window? Do the Delphi components do heavy lifting OR you have coded it yourself? I am interested in knowing because you might know that in VB it's kind of pain to create these kind of App which 'scales' along with window size and screen resolution.


TRS-80! Wow!

I remember writing assemby language stuff for the Commodore64, Load X, Load Y, all that good stuff. I thought I was a dinosaur for this, but I think you've got me beat by 6-7 years, in terms on ancient technology.

Did you have a cassette drive, too?! ;-)


I cant speak for Nick, but Delphi has always had excellent capabilities for creating resizable windows with no code required. This is another of the things we say to .NET programmers "I've been doing that since 1995". :-)

Bring on the development related posts!!

Thanks. I still use (pre-Macromedia) HomeSite to manage the SiteMeter.com code although at some point I suspect I'll switch to Visual Studio. And your TRS-80 comment got my attention. You may remember a game I wrote back in those days called "Volcano Hunter".

Alex, yes - I did have a cassette drive :) BTW, this was a TRS-80 Color Computer, which was out about the same time as the C64.

How do you test your applications? Do you have a team or use and automated tool?

Nick has lots of eager users to beta test for him ;)

Excellent post Nick I am not a developer but it is still very interesting to read.

I work as a Network Admin for Xerox in the UK howeve I have been toying with the idea of learning a 'simple' language such as VB.NET just to make life as an admin easier (at the moment I rely on Windows Scipting Host using VBS files). I have never even seen Delphi code before so it was pretty cool reading your post.

As for testing, I have wondered if you do have a group of users who test FD for you or if you do the testing yourself?

Ugh. Better you than me. I thought writing XHTML and CSS using Topstyle was a pain. It's becoming clear to me that there are programmers, and there are users of programs. I'm a user...most definitely a user...

L-SHIFT-O,8,1 BABY!! Keep writing about the development stuff!

Excellent post. Even though I'm a c++ developer I still gain a lot from what others use. Case in point: timing. We've been looking for something at work for timing VB6. It's one thing to read a review on the product site, it's another thing entirely to read a recommendation from someone who actually uses it for decent development.

Outstanding Post.

I love hearing how other developers work.
One question if you do not mind.
What version of Delphi do you use (obviously 7 from the pics), but Enterprise/Personal Architect.

Also, who sells it the cheapest ?



Yes, keep the development posts rolling. I'm one of the folks that have probably asked you a half dozen times over the years (since the HomeSite 1.0 days) what tools you use for various things (being a Delphi dev myself).

Curious though, I see that FeedDemon was loaded into D7, but was shocked to see that TopStyle was only in D4. Really? TopStyle hasn't been moved up to at least D7? Right now all of our stuff is in D6, and I'm considering making the move to 2005 once all the 3rd party controls catch up. (I mainly use the same set of 3rd party apps you do, so I feel good about my decisions )

...ah yes, and I also would like to hear if you currently use the Enterprise or Pro versions of Delphi. (And if you plan on making the move to Delphi 2005, and if so, which level)

Thanks for the post.

One question . . . do you use databases? XML stores? files? How do you handle the storage/persistence sde of things?

Great read Nick - you should consider putting this stuff into some focused articles. I'm a Java guy but it's DOA as far as the desktop goes - and I'm not keen on the .Net runtime either - maybe Delphi is the way to go!

Very interesting, specially the comments on how and why you do what you do :)

And about beginnings... SYS 64738 :D

Oh the luxuries of a Commadore 64 - I started on a Vic 20 without tape drive! Hours of typing in code from Byte magazine, seconds of run time, then *poof* gone. Then I moved up to the tape drive. Ah, fond memories of "could not load"...

Despite that, I'm not really a programmer (I'm safely confined to a bit of PHP and JavaScript). So my question is, how long does it take to create a program like TopStyle? I realize that is a bit tough to answer, so how about from concept to "working" model to beta to release candidate?

Thanks for sharing that. Yes, more developer related posts would be great! :)


What do you use for source control? Do you keep off site backups as well?


Humberto: How do you test your applications? Do you have a team or use and automated tool?

Nick: I've never had much luck using automated testing tools with GUI applications. Instead, I rely on open betas for a large (and varied) group of testers. I also "eat my own dogfood" by using my own software every day, which really helps uncover usability issues.

bry: I see that FeedDemon was loaded into D7, but was shocked to see that TopStyle was only in D4. Really?

Nick: Yep, really. I have no reason to upgrade TopStyle to D7, since that would result in a larger EXE with no real customer benefits. I use Delphi Pro.

Lauchlan: do you use databases? XML stores? files?

Nick: I try to use human-readable data files, since I've never liked the idea of locking customers in by keeping their data hostage. In FeedDemon's case, I use XML to store data wherever possible.

Tim: how long does it take to create a program like TopStyle?

Nick: That's hard to say, since so much work is done in my head before I "officially" start coding (ex: I designed TopStyle 3.0 in my head during many long, solitary bike rides and runs). If I had to guess, I'd say about six months from initial conception to actual working product.

TownDrunk: What do you use for source control? Do you keep off site backups as well?

Nick: I use SourceSafe, which has always worked well for me as the sole developer (but I have some SourceSafe horror stories when I did team development). I make regular backups onto an external hard drive, and every month or so I backup to CD and give the CD to a friend to hang onto in case my house burns down.

Very interesting stuff. I am also curious, what do you use for issue tracking? I have yet to find a decent web-based issue tracker that I can use and I really wish I had one.

Kevin, I use FogBUGZ (http://www.fogcreek.com/FogBUGZ/ ) for bug tracking.

Hi Nick, Re: DLL / installer / encapsulation - you might be interested in Thinstall (shhh. secret)

Nick, you have posted the providers of the components you use and I use some of the same too. However I am interested what kind of tab control do you use for the TopStyle documents. Is it custom build or is it from any of the mentioned providers?

Petko, that tab control is my own creation.

Nick, that was a nice little insight! I'd really appreciate more of this.

Are you using a code formatter? In not, why not? I for one cannot live without one any more, it's just great to hack away, press a button, and see everything indented nicely! :-)

Ohm and Kevin, I can recommend Mantis for web-based bug tracking. And JediVCS/FreeVCS for source control if you are a Delphi developer, but I might be biased on that one! ;-)

Holger, I don't use a code formatter - truth is, I write my code so that it's logically formatted to begin with. Most likely that's because I started programming before code formatters were all the rage :)

So, Nick, have you tried inline XP-style test cases? This has saved me a load of trouble in C/C++/C#.

I can't say I've tried using Delphi.. looking at that syntax hurts my eyes more than VB.

Hmm, I thought you were using Delphi 5 or 6 still, but I see you moved over to Delphi 7? Since when?

Nick, did you create the code editor component or purchased it? Do you know any third party component that offers syntax highlighting for xml files?

Nick -

As a Delphi developer who's quite a few miles behind you (grin), I really appreciate your openness and humility. You've been a tremendous encouragement to me -- and I suspect many others -- in more ways that you probably even realize.

I've had many of these same questions re: what you use, things you've learned along the way, etc., but have always figured you have enough questions in your inbox as it is... so I've generally abstained from asking. Thanks for responding to the others who were a little more invasive. : )

I'm posting this just so you'll know that there are many of us who appreciate the "experience-based developer findings" that you post, and to encourage you to continue to post them. Posts like this are worth their weight in gold.

Umm, are other budding developers listening? Note the elegant interface folks — it makes a difference.

You've got a lot to do so I really appreciate the time you've taken giving us this.

Some things that interest me (I work in .NET, so excuse any mindset differences in here!):

1) What do you do for source control?

2) If you take a break (say 1 week and 4 weeks) how long does it take to get back into the swing of programming? (Measured as days to full speed and estimated days lost!)

3) What technologies have you tried and found to waste time rather than improve the job?

4) What's your take on design modelling (UML....)?

5) Unit testing? and code coverage?

Cass, thanks for dropping by a letting me know that this has been a helpful post. Given the number of comments here, it looks like this is a popular topic - so expect to see more posts like this one in the future.

Really interesting! I would like to see more of this. As a developer myself I find it intereesting to see how other developers work and what they work with (which utlities, languages etc.). So keep on writing Nick :)

Definitely keep this kind of thing up. I think there are a lot of us who are interested how you go from idea to design to development to ship. Any chance of showing us some of the design documents and initial thoughts and ideas that eventually became FeedDemon?

I always thought it was interesting how other developers customised their environment.

Looks like you are pretty happy with the vanilla setup.

I've posted a couple of pictures of mine (very different to yours!).


Lee: Any chance of showing us some of the design documents and initial thoughts and ideas that eventually became FeedDemon?

Nick: Hmmm...that's a good idea, but I'd have to make some pretty serious edits. I tend to be pretty harsh about the failings of competitors when I'm writing my specs :)


More posts like this! I would be interested in hearing about your work habits. What is a typical programming day like, how many hours of that day do you actually spend programming, and how many days a week. Also, how do you organize your programming tasks--how do you decide what you are going to do each day. You maintain such a high level of productivity that it would be quite interesting to learn how you do it.

The comments to this entry are closed.