Ask HN: I've built a front/back end performance profiler, is there a market?

10 points by tonyarkles ↗ HN
Hello, all! I'm currently finishing up my M.Sc. thesis and am thinking of commercializing some of the work that came out of it. I'm trying to judge whether or not there would be a decent market for it.

I've developed a tool for doing multi-system profiling for web apps. You've got some JS code for the front-end of your app, some PHP/Python/Ruby/whatever on the back-end, and a database or two that actually store content. Maybe you've got a more elaborate setup (async task queues, a NoSQL document database, whatever). Your application isn't fast enough, and you're not sure how to speed it up.

The tools I've developed help solve this problem. There's a Firefox plugin and a number of backend plugins that do performance tracing and aggregate it all together. For a given user action, you can see how long everything involved took to serve it: which HTTP requests happened, which Javascript code executed, and which backend code executed, which database queries executed, etc. Once you've profiled it, you can drill down into the specific slow parts to figure out what to fix.

I've used it on a few open source projects to prove to myself that it works and I'm just getting ready to do a few case studies with local companies to demonstrate that it's actually industrially useful.

Right now it's not sufficiently polished to sell as a product, but it's good enough that I can consult with it: bring me in for a few days, I'll sit down with your team and help identify and fix the most significant bottlenecks in your application.

So here's my question for HN: Do you think there's a market for performance consulting like this?

13 comments

[ 3.7 ms ] story [ 52.2 ms ] thread
There's always a market, but this is not something new, there already exist tools that do these things and consultants that sell those services. I guess it depends how passionate you are about it, and if this is what you really want to do with your talent.
There is definitely a market for the consulting, not sure about the market for the tool.
That's what I'm thinking too. Most of the other tools in this space (Firebug, XDebug, Speedtracer, etc) are all free and I don't expect people to suddenly start paying for performance tools when everything else is open source. Since this is thesis work, I have to publish the techniques I'm using to build this tool (although I don't have to publish the source code).

For consulting, though, I've built up a pile of expertise over the last two years. I've developed very strong skills for identifying and fixing performance problems, and this tool is just a way to make my life easier.

One possible approach I've considered is to open-source the tool. This has a few benefits and a few disadvantages:

- Benefit: this type of tool enters the broader developer eco-system. People start to recognize that focusing on single components is a bad way to solve performance problems.

- Benefit: other people can contribute to make the tool better.

- Con: competition. If other people are using the tool, then I end up with a fair bit more competition for the consulting services.

Re: Open sourcing:

- Benefit: Releasing as open source automatically brands you an expert.

- Benefit: Far increased exposure

I would consider open sourcing the tool then selling your time as "the" expert. Resig's never hurting for jQuery consulting work when he wants it, I'm sure.

I wouldn't consider open sourcing it a net negative at all. You will get it out there, and as more "advanced" users start to use it and sing its praises, you will have more than enough to keep yourself busy helping out those who are too pressed for time or just have money to burn, or just can't figure it out on their own.

By not releasing it open source, you will have a much harder time branding yourself as a "proven" performance expert.

Compare these two "resumes":

"Original author and lead developer of the PerfPlus open source project, used by thousands of developers worldwide to benchmark and improve their applications."

vs.

"I'm a new college graduate with a few references and a custom tool I wrote that's worked well in a handful of cases."

I can tell you which one I'd be more willing to hire (if I had money :-)

Yeah, this is very true. Probably the route I'm going to go, just need to finish my thesis and clean the code up beyond "academic grade" :)
Make it easier to get installed/running rather than cleaning up the code for its own sake. Something working and out there is superior to the alternative.
Yes, sorry, that's exactly what I mean about "clean it up". No more 30-step dance to get all the individual pieces up and running :). Right now I'm using "screen" to launch the different pieces and keep them running, and then restart them as I make code changes.

The download-build-use cycle is pretty brutal at the moment, but shouldn't take all that much work to get it in better shape.

You're not going to sell to individuals, but companies are perfectly willing to pay for profiling tools if they're better than the open source alternatives. You can sell it on the basis that it's going to save a company X many developer hours/year.

There are free Java and C++ profiling tools, that doesn't stop Rational Quantify or JProfiler from selling.

Tonyarkles, that sounds very cool -- do you have a beta that I can check out? I don't care if it's not done/polished.

For what it's worth, I'd been looking for a tool like this and was excited to read this. Previously, I'd been mostly just looking at performance on the frontend using Firebug and whatnot, and I wanted to know if there were a way to figure out bottlenecks on one of my sites with AJAX. I couldn't figure out a good way to figure this out -- didn't seem to be a good tool to kinda bridge both frontend and backend -- at least that I could find.

Not sure if there's a market, but with so many AJAX apps these days and seemingly a lack of apps to measure performance bridging front and backend, seems like it may be promising. Have you talked with other web apps developers?

Hopefully I'll have something more suitable for demoing in the next few weeks. Right now it's all sitting as a huge blob in an hg repository. There were a few performance problems that I've just finished fixing in the last 24 hours.

It sounds like your problem is exactly the problem I'm trying to solve; I started working on it because it was a problem I was having working industrially and couldn't find a good solution. Turns out there was a researcher at the local university that was also interested...

I've talked to other local web developers and have had mixed results. Some were pretty excited about it (and I'm getting ready to do some case studies with them for my thesis), but others didn't really seem to think it was something they needed.

Cool --- shoot me an email when you're ready. elizabeth [at] shinyorb [dot] com. Thanks!