Ian Landsman

Founder & Dev. HelpSpot / Larajobs

The PHP is junk meme seems to be rolling around the over the past week. Harry addresses it well in the link I posted in the last post. The thing I find interesting, but not surprising is that most of the stones seem to be thrown by folks who have never built a production app in PHP. Mostly "real" programmers who use "real" languages.

I was a little sad to see one of my favorite "real" programmers enter the fray. Ian Bicking seems to be a really smart guy and is certainly a superior programmer to myself. I love reading his blog even though I don't know Python. However I must say he has lots of errors and poor assumptions in his post.

I won't go through them all, but there are two that stand out. First is that PHP has horrible database support. I love PHP's DB support. I have a product that supports 3 distinct DB's (Postgres, MySQL, MS SQL Server) all from one SQL base. I see very few apps of any type in any language that do so.

Second, is "PHP gets by with nearly everyone using Apache, and it does well -- the constraint is a feature. Less to think about.". Again, my product has over half its install base running under IIS. People are handling thousands of requests with PHP under IIS and things are running great. Not just under IIS but IIS in both CGI and ISAPI.

So here's a quick rundown. HelpSpot, a 100% PHP application, is currently known to run with 3 different DB's, on at least 3 different web servers (IIS, Apache 1.3/2.0, Lighttpd) in no less than 7 different configurations if you count both CGI and modules, on 4 different operating systems (Windows, Linux, Unix, OSX) with probably 15-20 different configurations if you consider various Windows builds and Linux flavors.

Doesn't sound too bad for a language that's been given no proper thought, is poorly designed, and is no good for serious development.

Get future posts via email

Stay updated with our latest content.

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

Harry with a nice Pro PHP rant.

Get future posts via email

Stay updated with our latest content.

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

Dimitris has an interesting point about using Ajax in your apps. Using it in a few carefully selected places can really improve the experience. HelpSpot uses Ajax in 5-6 places I think and there's some more coming in the next release. My current favorite is a little flag that lets you mark a request as being unread, providing yourself a reminder to go back and check on it. Before Ajax, this would have been a page reload and really annoying. So annoying that I'm sure I wouldn't have even added the feature.

On the other end you really do need to be careful. I've been prototyping the addition of Ajax to the request form, allowing full submission via Ajax along with queue switching via Ajax. These should be better with it, but in practice they aren't or at least in my current prototype they aren't. They load in ways you don't expect that are jarring. Also, you run into URL issues and being able to easily link or open up new tabs with separate URL's and so on. It really is playing with fire.

Get future posts via email

Stay updated with our latest content.

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

More evidence why companies like buying products like HelpSpot which they can host themselves. Of course there's a market for SAAS as well, but it's not the universal solution some seem to think it is. [hat tip to Jeff]

Get future posts via email

Stay updated with our latest content.

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

Sometimes when you're transparent about your operations the competition gets a heads up on what they're doing wrong. That's OK though, I'd love to see my ideas on knowledge bases take off in the market. Right now they suck. In any event, HelpSpot is not primarily a knowledge base tool, but a request tracker so there's plenty of room for Kyle and me.

Get future posts via email

Stay updated with our latest content.

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

Russell Beattie doesn't get MySpace. Here's why it's popular Russell. It's because it's anti The Man. All kids look to be outside the norm, outside of what they're supposed to do or how they're supposed to look. Rock-n-Roll in the 70's or Rap in the 90's, etc.

Sure if you're a kid you can go put your photo's up on flickr. It's beautiful and neat and all us web pro types love it and the design is great and all that, but where's the freedom? I can't make it look like me or like my personality? I don't care if what I create looks horrible, I want to convey a part of myself to the community and all these pretty apps don't let me.

So instead I go to a place where I can have a cascading background image of $50 bills, 3 embedded videos, a background song that comes on when you enter, and all my text in white which you which you have to highlight to see since my background image has lot's of white in it. Best of all my parents can't even figure the thing out and have no idea that you have to scroll 8 miles down the page to find the message board where I talk with all my friends.

That's why it's popular. Now of course even those things don't really matter because it's transcended cool and is now simply assumed that you have a MySpace page. EVERYONE is on it, hence you must conform even though the whole point was to not conform and round and round it goes. In 2 years it will be old news and the next big site will come up and we'll all be wondering what the kids see in it when there's so many better tools out there.

Get future posts via email

Stay updated with our latest content.

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

A great Rails rant over on JOS. Nice to see some negative stuff now and then just to keep us all honest. I actually hit several of these issues in the 10 minutes I played around with Rails.

Get future posts via email

Stay updated with our latest content.

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

Seth Godin with a short, but powerful post.

I'd add that in my experience this is 100% true. And to bring it a little farther, if you can accomplish those right 3 for your customers you'll make a heck of alot more money than by using the get rich quick, "cheap and easy" route.

Get future posts via email

Stay updated with our latest content.

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

As some of you may remember, before I launched the HelpSpot beta I was forced to make a tough call about web services. I really wanted them in, but in the end there just wasn't enough time to do everything so I had to leave them out of the beta. Well, poor web services are getting pushed aside again.

I've had talks with several potential customers and large organizations and one of the things I've known I'm missing is turning out to be a big problem. HelpSpot needs a way to set rules to create reminders and do other tasks automatically. This has been on the drawing board from day one and I was planning on doing it after HS 1.2 comes out with web services, but now I've swapped them and I'm going to do rules/SLA management in 1.2 and push back web services. I really hate to do it, but the rules/SLA stuff is just a glaring omission that needs to be addressed. Web services have already waited 6 months, I suppose they can wait a few more.

Get future posts via email

Stay updated with our latest content.

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

I've begun the redesign of the HelpSpot IMAP integration code and I'm flat out scared! The code actually works great for the most part, but there's one customer who's having a hard time with it. They're doing a few odd things with forwarding that are not working as intended. Beyond that though, it currently relies in the pear Mail_IMAP abstraction code which is practically impossible to work with. Lots of hugely nested arrays, a new version which is incompatible with the old, and so on. Also that code is officially the oldest code in HelpSpot, being the very first thing I wrote (that's how core it is to HS).

The new version is lean and mean. It should be alot faster than the old code and hopefully will address some of the odd nested mime issues the current version has trouble with.

As a side rant, whoever developed the message format of email is a sick dude. The format is insane and decoding multipart messages is a complete mess. You'd think someone would have been able to introduce an XMLified version of the spec and make it stick by now.

Get future posts via email

Stay updated with our latest content.

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