Archive for the ‘Technical’ category

Firefox Download Gotcha

April 22, 2008

Learned about this one the hard way. I was testing to make sure that the latest release of CaptionIt! had been uploaded correctly to the website by clicking on the download link. I went ahead and ran the install and was very surprised to discover I had just installed an out of date version of the software. I immediately thought I had messed something up and had uploaded the wrong version to my server and that everyone else was downloading this old version as well.

I fired up my test VM and performed a download and install and it was actually the correct version. Puzzled I performed another install on my dev machine and it was the wrong version. I finally realized that Firefox was caching the download URL and giving me a local copy of the install program from a few days ago instead of the latest on the server. I would have expected that Firefox would always force a download of something you click on but it isn’t the case.


Working on new CaptionIt! features

October 27, 2007

CaptionIt! is making steady progress on the sales front. Making enough to support my sushi habit at least. It is interesting to see the ebb and flow of visitors and sales. Some days see a lot of traffic and downloads, and other days barely a peep.

I’ve been hard at work improving and reworking the CaptionIt! interface. The next update, which I am estimating at a mid-November release, will add a Microsoft Powerpoint style interface that lets you drag and drop captions on your image. This is a much more natural and intuitive model than the fixed caption placement system in the current version. I’m also adding an exciting feature which I think users will really enjoy. I’ll have more to share once I have some images to go with it.

Changing the interface to an existing program is always a tricky thing. Users grow accustomed to using software a certain way, and can find it confusing or irritating to have things changed on them. In my case I think revising CaptionIt!’s interface is worth it since being able to manually drag a caption around on a picture is a very natural way to position it.

Using Java for a shareware application

October 5, 2007

I recently posted a question on the Joel on Software forum asking what others experiences have been when using Java as the implementation platform for their shareware application. See the post here .

To deploy a Java desktop application on a customer’s computer requires that they have the Java Runtime Environment (JRE) installed. The JRE is certainly not as widespread as some other platforms, for example the Flash plug-in which everyone needs to check out the latest YouTube video. Every time you add a step to a potential customer’s shareware installation, you set up a barrier, or at least a speed bump between customer and your software. In this case, the speed bump involves downloading an additional 14MB for the JRE. This may not be too bad in the age of widespread broadband, but it then walks the user through a wizard asking them to make certain choices. If the user balks at any of these steps and cancels, you’re sunk. However, my current product, CaptionIt!, pays the same runtime tax except to Microsoft since it uses the .NET 2.0 framework and that’s a beefy 23MB download. This has caused far fewer problems than I expected, so I believe the same will hold true for a Java based app.

Several people also felt that Java GUI’s don’t perform well or don’t look as good as native GUI’s. Java has fought a torturous uphill battle to shake this image, and I suspect it may never truly succeed. The initial Java 1.0.2 release came with a GUI library known as the Abstract Windowing Toolkit or AWT. This AWT, it was not so good. Both from an API perspective as well as interface experience, it had very poor performance and was very difficult to work with. As they say, you never get a second chance to make a first impression. So now, more than 10 years later, people still complain about Java GUI’s being to slow and ugly. The reality, and I speak as someone who has cranked out Java Swing apps for the last 6 years is that they are now quite snappy, use hardware-accelerated operations for drawing, and can look pretty slick with some tweaks here and there.

Probably one of the most convincing things mentioned was that with minimal effort, your app can run on Windows/Mac/Linux. Now the Windows user base may be far larger than the other 2, but why artificially limit yourself? I suspect that for next product I will have to think long and hard about moving to Java.

Added Forum Support with DotNetNuke

September 24, 2007

I am currently using as my website host. They are cheap and are pretty generous in terms of bandwidth and storage. Their web site could certainly be cleaner. They make just about every pixel link to some great deal they have for you, but judicious bookmarking let’s you skip right over the worst of it. Performance could be a little snappier when you hit your website, but it good enough for now. I suspect I will outgrow it in the not too distant future.

One nice feature they offer is automatic installation of DotNetNuke (DNN). DNN is a pretty serious Open Source ASP.NET application that can be used to create community centric websites. I was looking for something that would provide some straightforward forums for support and suggestions from users. Installation was a snap, and actually configuring DNN wasn’t too bad using the guide at their website. I did however manage to lock myself out of my own forums. On the Admin Site Settings page I set the Login and Register pages to point to Home, thinking that it meant they should redirect to the home forum page once you have logged in or registered. DNN actually intends for you to specify alternate Login and Register pages. The result was that every time I wanted to login I got redirected to home and couldn’t login as admin to change this.

Luckily, I am not the first person in the world to do this and John Mitchell’s blog has a post describing how to call your virtual locksmith to let you back into your own forums.