I have only tried it for stocks (not futures). The real time feed does seem to a lag quite a bit at times - well behind IB by several seconds. And there seems to be a lot of dropped ticks. So it couldn't be recommended for day trading. Might be adequate for swing trading depending on what you want. Or perhaps as a cheap backup feed.
The historical data for stocks seems OK. I'm using it to keep a database of about 8K stocks updated with 1 min data. Further back than a couple of years and the historical data is a bit dodgy and there are gaps.
I haven't tried it, but the historical tick data is supposed work. And there is supposed to be historical book data, which you probably won't get anywhere else.
I use the Java API (actually a different API from the "official" one, very kindly provided by one of the users). It is a nice piece of work and substantially better than the official Java API.