Ian Landsman

Founder & Dev. HelpSpot / Larajobs

Looks like BarCamp NYC is on. Hopefully you all can make it, I'm looking forward to seeing some readers there. UserScape is a sponsor so come have a beer on me!

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

I've spent the better part of a week trying to figure out how to do UTF-8 in PHP with data stored in MSSQL, MySQL, and PostgreSQL and I'm here to report that it's just about impossible. First off you have PHP which is pretty much a mess when it comes to UTF-8 or really any character encodings. Some functions take charset params some don't, there's 2 different but similar charset libraries (mbstring, iconv) both of which have issues and neither of which is installed by default until PHP 5 and then only iconv, except on FreeBSD (or so I read). It's enough to drive you insane.

If you're building a custom application or an in house application there's enough there that you can make it work, but if you're trying to write a distributable application it's very very close to impossible especially when you factor in the database.

See each database handles things totally different. First you have SQL Server which doesn't even store UTF-8 at all. Instead it stores UCS-2 so right there you'd have to convert your nice UTF-8 to UCS-2 before inserting and when you do selects you'll need to convert it back. Then you have MySQL which as no support in the 3 series, no real support in 4 until 4.1 which is a pretty big limitation in terms of requirements. Finally you have PostgreSQL which I honestly barely got to look into. It seems that it stores UTF-8 so long as you compile it with support for it. I'm not sure if that's the "standard" way to compile it or not.

Hence, I've fallen back to fixing up some issues HelpSpot currently has with ISO-8859-X encodings and making sure things work well on that front. Hopefully at some point in the future these things start to come into line. The word on the street is that PHP6 will make unicode the native format and by that time perhaps Microsoft will have a better way to handle it in SQL Server and the install base of MySQL 4.1+ will be big enough to make the switch.

In case anyone else is looking to make the UTF journey with PHP here are a few links to some of the better resources I found:

  1. Great discussion of PHP issues with UTF-8
  2. Dokuwiki PHP UTF-8 library
  3. Some sample UTF-8 characters
  4. Textpatterns UTF page - they appear to have it mostly working though they note that sorting and indexing may not always work correctly. Probably not a huge deal in an open source CMS, but that's not acceptable for HelpSpot where sorting and filtering are perhaps the most important functions the system performs.

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

I've always used the command line tools for working with Subversion, but lately I've been checking out svnX. It's pretty cool, especially for quickly looking back at past comments and the like.

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

The Wall Street Programmer came back online today after causing a bit of a stir by going offline yesterday. Having had at least a minor role in his rise to fame (and forutune) it's good to see him back online. He's far and away the best and most entertaining blog out there. There are no less than 3 laugh out loud lines in his latest return post.

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

If you're a prospective ISV you should be checking out the IBM research projects. There's tons of great stuff in there and most have papers and other documentation on project details. Much of it is very useful stuff for ISV's like information management, email, and other down to earth topics that could spark an idea for a product.

I even found some excellent research which backed up some ideas I had for a future feature of HelpSpot.

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

I'm going to ETech in March. Looks like Joel is bringing his crew as well and there's a guy in the JOS forum trying to startup a JOS meet and greet. Hopefully some of my readers will be making the trip as well.

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

Over the past year or so I've worked diligently to get my site ranked well in Google for key terms in my industry and it's finally starting to pay off. The homepage for HelpSpot (https://www.helpspot.com) is now about #27 for the search: help desk software. Pretty good considering it's an insanely competitive keyword.

It's competitive because it costs about $35 A CLICK to get into the top spots in adwords. That's a lot of dough.

Of course to start really having an impact I'll need to get somewhere on the first page, but I'm alot closer now than just a few months back. I'm also happy to say I've managed this without spamming, which is something I don't think some of the products ahead of mine can say. Of course I wrote up my SEO tips awhile ago but I have a few more specific ones for the ISV market so let me share them.

  1. This one is really important! Pick the final URL for your products main page before you even write one line of code. What I mean is that I made the decision that the URL for my product would be https://www.helpspot.com very early on. Put your placeholder there are whatever. The key benefit of this is that as you build up interest and people link to information on your product you want them to be pointing to the final homepage of the product. Even though what's there now is a placeholder or a mailing list signup. This is critical, because once you actually put your product page up you'll instantly have all these links now pointing to real content. I see many apps who's temporary page is domain.com/mailinglist.php or whatever. Don't let that be you! You'll end up having to start all over getting links if you go down that path.

  2. Get a blog of course. I've had tons and tons of bloggers link over with things like: "hey look, this guy is talking about XYZ he's developing for his new help desk software" ahhhhhh. Love that, love it more than anything! Having the keywords you want in the anchor is key to good SEO.

  3. Put yourself in a few software directories that already have good rankings on your terms. So search through google and find software directories that are in the top 80 listings or so for your terms. Make sure they're legit! Don't go adding your product to some fly-by-night spam directory covered with ads (some ads are OK of course). Doing so could hurt as much as help.

That's about it really. I'm hoping this strategy can carry me the last few yards to page one. If you'd like to help please send a link ;-)

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

Looks like Kevin and his 600+ helpers are making good progress on TurboGears. The linked post talks about new i18n internationalization capabilities being baked into TurboGears. This is one area where PHP just stinks. I mean it's really bad. Sure you "can" internationalize your PHP app, but it's not easy. Heck there isn't even any real documentation on how, it's all in bits and pieces. An article on one aspect here, a function document there, a user contributed note someplace else. I really hope the Zend Framework everyone is talking about addresses some of this, though I think the issues are really more in the core of PHP and won't be so easily worked around.

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

During the Squidoo beta I picked up the ISV Squidoo page. I've just got basic stuff up there right now. I'm looking for classic articles that all ISV's especially startup ISV's should read. I'm also really looking for other discussion boards to link to other than the JOS, which are the only active ones I really know about. The Squidoo layout is hard to add lots of info to (I guess that's the idea) so we need to put up the really good stuff.

http://www.squidoo.com/isv/

Yes I could have grabbed help desk software or some such thing, but that just didn't feel like very much fun. I'll leave it for the spammers ;-)

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.

I've found it very helpful to my business to follow up with my trial users at specific points in the evaluation process. To me trial users are one of my most valuable assets. Of course they turn into customers, which is extremely important but they also are often the users who find problems first since they're taking a critical look at the system. They also tend to ask very good questions and offer suggestions for improvements.

The trouble is that they're often very busy especially in my industry where most trial users are in IT. Along with that, most will need to bring my product to upper management before it can be purchased. Hence I've found that providing the following reminders at different points in the review cycle has helped.

5 day follow up
The first reminder is at 5 days. This is simply a 'hope the installation went OK' type reminder. This can help catch people who had trouble but didn't ask for help and also people who got too busy to get it installed and this quick little note reminds them to get moving.

15 day follow up
At 15 days a note is sent which assumes they've spent a little time in the system. The note focuses on pointing out some of the more advanced features of HelpSpot along with links on how to use those features.

42 day follow up
I leave the customer alone for the rest of the time until day 42. As I said many customers will need management approval before a purchase so I like to send them a ' your trial is running out' email a few days early so they have a chance to get the required permissions.

45 day follow up
This lets them know that the trial is up along with information on how to purchase as well as an invitation to get additional help if they need it.

Get future posts via email

Stay updated with our latest content.

We won't send you spam. Unsubscribe at any time.