My primary postings are now on Twitter, please follow me there: @ianlandsman
You Can Never Look Back
If I had to do it all over again I would change nearly every function call, class, and line of code in HelpSpot. Now that I'm able to see the product as a whole there's so much I would do different. Places where code could have been reused better, code could be faster, code is unnecessary. Sometimes it's hard to let this code be. I thought it was hard before I launched HelpSpot and I knew there were some things I would do different, but it's even worse now. However, I've come to realize that you just have to ignore this code.At the end of the day it's running well and doing what it's supposed to do. Is it perfect, no. In some places is it not even clean, yes. That's life. The choice is move forward making new features customers need and want or look back and spend months re-factoring code just to see disappointment in your customers eyes when your new releases don't seam any different. Sure, the reports page runs 20 milliseconds faster, but they won't notice.
So my advice is simply to never look back. Now sometimes, you have to re-factor code to move forward or the opportunity presents itself to do so in order to smartly add new features and those opportunities should be taken but re-factoring for it's own sake should be avoided like the plague. All it does is slow down your forward motion, which is something all small ISV's desperately need to cultivate at least in the first year.
Created on 02.27.2006 12:02 pm · Comments (4)
Forta vs The Spammer
CF guru Ben Forta has had a very interesting email correspondence with a blog spammer. It's pretty amazing the spammer actually replied to his email. Make sure to read to the end for Ben's interesting solution.Created on 02.26.2006 9:02 pm · Comments (2)
HelpSpot in the Wild: Purple Stork
It's not just technology companies purchasing HelpSpot. Purple Stork specializes in the design and creation of baby announcements and cards. Over the past month I've been working very closely with the team there as they have some very interesting needs.
Their workflow requires them to accept huge email attachments from their clients, generally full size high resolution baby pictures. They don't use the public portal, in essence they use HelpSpot as a back end for their ecommerce system. In the first two weeks alone their HelpSpot installation imported more than 1.3 GB of images via email. Far and away the largest number of any current HelpSpot customer.
They've had many good ideas for improving HelpSpot several of which will be in the next release, including a very snazzy feature which lets you tie other actions to your predefined requests, such as setting a category, making a note public, changing the status and so on.
It's always interesting to see your product used in a fashion you never envisioned. I'm discovering that is usually the case more often than not.
Created on 02.26.2006 9:02 pm · Comments (8)
The Making of Mint
Workshop has changed to a later date and best of all to Boston. Could be worth the $500 bills. http://www.carsonworkshops.com/dev/inman/06APR2006.html-----
Created on 02.24.2006 2:02 pm · Comments (0)
Average Sales/Licenses
One of the things you don't have much time for when you're bootstrapping a company is all those nice back office type things like reports. I've been dying to do some sales reporting, but there just hasn't been time. So last night I set aside an hour and did some basic reports for HelpSpot. The numbers are interesting so I thought I'd share.The average sale is $667. This however includes beta users who received a 50% discount and a fair number of non-profits who get a 15% discount so the true average is higher (but I didn't have time to work it out). More important is the average number of licenses per sale which is 5.22. So given the current cost of a license, the average transaction should start to work it's way up to $895 (179*5).
I'm pretty impressed that it's working out this way for me. In my planning for HelpSpot, now over a year and a half ago, I really thought getting an average of 5 licenses per sale would be a sweet spot for UserScape. At least for the first year or so. It's a big enough sale to provide good income, but also not so big an organization that it would require a tremendous amount of time in support and pre-sales calls. These assumptions have held true so far. I'm hopeful that they will continue to do so while I work on more features for HelpSpot and really bring it up to the top tier of help desk offerings in terms of feature set.
While there are several large customers in the 20+ license range I think HelpSpot is still missing 1 or 2 features which will put it over the top for these larger sales. The next release will address the most egregious omissions and should open up more time for marketing work going forward.
Created on 02.23.2006 10:02 am · Comments (9)
Software as a Service
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]Created on 02.22.2006 9:02 am · Comments (5)
PHP is Junk Meme
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.
Created on 02.21.2006 10:02 pm · Comments (20)
Ajax in your App
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.
-----
Created on 02.21.2006 9:02 pm · Comments (0)
Pro-PHP
Harry with a nice Pro PHP rant.-----
Created on 02.21.2006 9:02 pm · Comments (0)
Transparency at Work
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.Created on 02.20.2006 8:02 am · Comments (3)
Russ Doesn’t Get MySpace
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.
Created on 02.17.2006 1:02 pm · Comments (3)
Seth on Consumers
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.
-----
Created on 02.16.2006 6:02 pm · Comments (0)
Excellent Rails Rant
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.Created on 02.15.2006 7:02 pm · Comments (4)
Leaving Features Out …. Again!
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.
Created on 02.14.2006 10:02 pm · Comments (2)
Scary Rebuilding Project
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.
Created on 02.14.2006 9:02 pm · Comments (2)
Why Your Knowledge Base Doesn’t Work
I just put up a new "In Depth" article on the UserScape site about why traditional knowledge base software doesn't work well for your customers and why HelpSpots knowledge books are the way to go. I thought it might be of interest to some.knowledge base software article
It's also an example of using content to drive sales, which has been under discussion over on the JOS forums.
Created on 02.12.2006 7:02 pm · Comments (2)
Time to Clean House on my Feeds
I don't feel like there's as much interesting stuff in my newsreader as there used to be. There used to be tons of great stuff, now it's littered with dead sites, uninteresting sites, and sites I don't even know why I'm subscribed to. I need some injections of new ideas, I just feel tired of these old feeds. So I'm going to trim my 192 feeds down to 80 or so. Hopefully that will make space for some of my new subscriptions to get read more.Update: Got down to 89, though 1 is mine and 8 are generic search feeds so I did make it to 80 actually individual blog feeds. Sorry to say alot of ISV's had to go. They simply didn't update enough to warrant their spot. Hopefully some new ones will popup to take their place.
Created on 02.12.2006 12:02 pm · Comments (9)
Mint, Piracy, Encrypting your Code
Last night I moved my real time stat tracking from StatCounter to Mint. So far I'm pretty happy with it. What I found most amazing about Mint is that it only uses 2 tables and one of those is for prefs, so tracking data is all in one table. While this limits a few of the things it can do, I imagine it allows it to be very fast, even in high volume sites. I'm looking forward to seeing it's speed once it's got a few months of data in there.The other day Shaun Inman (creator of Mint) posted about rampant priacy of the Mint code. Mint is a PHP app and Shaun distributes Mint with complete source code. I feel for him, because he's in a very tough spot.
With HelpSpot I have it pretty easy because my customers are 100% business users. Having to use the Zend Optimizer hasn't been a big barrier, most deal with much larger barriers when installing the competition or other business apps in general so installing Zend is nothing. In addition, they're mostly paying me for support and upgrades, so stealing the code isn't really worthwhile. They could use free request managers as it is, they purchase from me because they like the product and just as important, they know it's supported and they'll receive upgrades, support, etc. Heck it's pretty easy to decompile encrypted source if you really want to, there's just not much reason to with HelpSpot.
Shaun is in a totally different boat. His client base in large part non-corporate. Lots of individuals, bloggers, and so on. They just want to use the software and many have the free time and inclination to decode the software if he did encrypt it. Selling web apps to individuals has got to be a real pain!
It sounds like he's working on a decent plan. I'm pulling for him, since he's made an incredible app that is a steal for $30.
Created on 02.12.2006 9:02 am · Comments (8)
MySQL Fulltext Math
Interesting post: Dissecting MySQL Fulltext Indexing-----
Created on 02.11.2006 9:02 pm · Comments (0)
iPaperback
I wish apple would come out with some type of book reading thingy. I'm tired of purchasing books, especially fiction books which are purely entertainment. I almost never reread a paperback book. I don't like having to pay $6-$10 for a book I read once and then have to store. I want to rent my books from Apple. If a TV show is worth $2 how much is a book worth? I think for a book that's in paperback $2-$4 is fair. I'd pay it in a second and I'd most likely buy many more books than I do now since I could browse more easily and buy more easily and best of all not have piles of books around.Created on 02.09.2006 1:02 pm · Comments (10)
