I’ve been looping back on myself a bit. I said in my last blog post that I’ll send out the newsletter. But then I decided to wait until the next Beta release.
The next beta release will include the log file, elimination of memory leaks, and a new location for the sample files in the user’s AppData directory as Windows Vista and 7 desire and other things. So once that is out, then I’ll send out a newsletter.
The price of $20 was a special price for Behold during alpha phase. I was intending to raise it to $30 for the beta and then to $40 for version 1.0. But I wanted to send a newsletter out announcing “a month until the price increase”, but it took so long to get the newsletter going that now the beta is getting too near to be done. So I’ll continue the special price of $20 for the remainder of the beta.
The real circle was the memory leaks. I planned not to do them yet, and they led me on a wild goose chase for awhile. I had to ask a question on StackOverflow, and I just couldn’t track down one of the leaks. It took until a few days ago, and then it all fell into place and I got rid of them all.
Partway through trying to figure out the leaks, there was something in my taglists leaking. My tags were based on a hash table system. I thought if I could temporarily replace the hash tables, then I could see if the leak was related to my use of them. So up came Generics that were just implemented in Delphi 2009. I created a TagDictionary Generic to replace the tag hash table. I spent a week learning about Generics and then another episode with StackOverflow to try to sort them.
Generics were neat. They simplified code. They were supposed to be fast using Hash tables, and for Behold I need fast. But then when profiling with AQTime, I was surprised to find they were over 3 times slower than the GPStringHash that I was already using. Since I also found out that GPStringHash was not the source of the memory leaks, I went back to GPStringHash.
So I went around a bit in circles, and am sort of where I was about 2 weeks ago, but a whole bunch of things have been done in the process. It will be hard to make my April goal for Version 1.0, but hopefully any delay won’t be too long.
Leave a Comment
Html2Text
- Wed, 17 Mar 2010
A good way to set up an e-mail newsletter is to use html formatting. Html is formatting to look more like web pages and you can make a very nicely designed newsletter with it. The unfortunate problem with that is many people turn it off or have it turned off, sometimes for security issues.
When html e-mail is turned off, the person sees the e-mail as text only. No images will show. No formatting will be done. And the textual parts of the newsletters are usually translated by most e-mail programs into text that is formatted in a very ugly manner.
Well I don’t want my newsletters to look like that. The solution is to send both an html and a text version of the newsletter in the one e-mail. That is a standard way of making sure that both ways of viewing the e-mail will have it look good.
Of course, I don’t want to write two versions of each newsletter, so I need an automated way of pulling the text out of my html and formatting it nicely.
Unfortunately my Simple PHP Newsletter System did not include an automatic Html to Text conversion in it.
Fortunately, there was one in PHPlist.
Unfortunately, it did not produce results looking as nice as I wanted it to.
Fortunately, the code was not very long and I could probably customize it.
Unfortunately, it was using Regular Expressions which are a beast to work with and would take me a week to get good at.
Fortunately, there were other Html2Text routines on the web, and I found and implemented a pretty good one.
So now its up to 3 weeks for the Newsletter system. We’ll see if I can send it out by the weekend.
Leave a Comment
Two and a half weeks it took. But finally, I’ve got a decent Newsletter system set up that should work.
I cancelled Dewahost (they were nice about it - but I still wonder why they never responded to my queries) and signed up with LuxSci’s High Volume SMTP service.
Then I went about trying to set up some newsletter templates for phpList to work with it. I complained about the user interface of phpList a few blog posts ago. Now I needed to customize the inner workings of phpList to work with my list my way. Then I realized it wasn’t just the user interface of phpList that was terrible. The code itself was just as bad. There was no way I wanted to work with it. Sometimes, this is what happens to Open Source tools, and it’s often better to buy one that one person develops and has a stake in.
So a bit of research and I came up with Simple PHP Newsletter System (SPNS). It’s smaller and simpler and has code I can read that I can customize where needed.
I converted its database over to use my user list, and hooked it up to use LuxSci. It took about a week to get that working. Apparently I hadn’t fully registered the Behold bounce email address with LuxSci, but once that was done, test newsletters started flowing.
Now I had to redo a template for the look of the Newsletter. This would serve double-duty and also be the template for Behold’s help file. SPNS pointed me to a very nice template that I looked at and fell in love with. I purchased it. But when I tried it out, the background and graphics file was made up of big graphic files. I wanted to minimize those in my emails. And I didn’t have the graphic skills to convert my website header into something that would work with that design.
So I took that template and used parts of it and ended up with a cross between the old newsletter, the help file and the new website. It’s simple and clean and keeps my light blue and yellow pastel backgrounds - which add a bit of softness. I think that is better than grey text which does the same thing but is harder to read.
Finally I had to change my subscribe, purchase and unsubscribe scripts to work with the new system. Then I tested the newsletter system and see that the bounce handling works.
It seems close to ready to go. Next I’ll write up my newsletter and send it out and I’ll be off and communicating again.
Leave a Comment