Due Diligence

02 July 2008

Now that we've opened our new office in Glendale, I find I'm traveling there quite often so that I can participate in the minutiae of office life, be videoed, have face-to-face discussions about development, support, documentation, marketing and all the other myriad issues that need to be sorted out.

The cheapest flight -- about $200 cheaper than the nearest rival, in fact -- from Colorado to the Bob Hope Airport in Burbank (10 minutes away form the office) is a Southwest flight with a short stop-over at Las Vegas. Total time in the air: about 2.5 hours. Boredom factor? Way high.

Since I have an iPod Classic and an insatiable desire to catch up on good British TV series from the last decade or so, I decided to find a DVD-ripper that could rip the DVDs I buy from Amazon.co.uk to the iPod and then watch them on these flights, especially on the ones coming back.

A few googling moments later, I'd found lots of them. Pages upon pages of them. I clicked sponsored links with gusto, squandering the AdSense pennies with glee. Marketing phrases abounded:

  • "Convert DVD movies to iPod movies with the same quality"
  • "FooBar is the best choice for you to rip DVD and convert video to any format!"
  • "BarFoo is a revolutionary new program for converting video & DVD files"
  • "Wotsit is different"
  • "Rip your entire DVD collection at a single click"
  • "Hyperspeed conversion without any loss of quality"

I must admit those last two were most persuasive. Hyperspeed? Warp Factor 9, Mr Sulu! And ripping my entire DVD collection with a single click? Do I pile all the discs onto the DVD player's drawer and hope for the best? Yeah, riiight. And the marketing genius who came up with "Wotsit is different" can write his own salary check the next job he has, providing it's less than the tea lady's.

But, you know what? I ignored all the marketing crap. Good, bad, laughable: I didn't care. I wanted something that would

  • Rip a DVD: even the protected ones.
  • Convert it to an iPod-compatible movie file: in doing so it should use all the CPU cores I have but not lock me out from doing other things.
  • Batch the conversions: TV series usually have three or four episodes per disk.
  • Be easy to use: I wasn't really interested in tweaking the output, so the default had to be good.

Other people might have different priorities, but those were mine. And so one weekend afternoon, I set about downloading trial-run versions and trying them out. If a manufacturer didn't have a trial-run, bad luck, I struck it off the list. If it failed to do what I wanted, zap, gone. If the result wouldn't play on my iPod -- yes, there were some! -- ditto, into the trash.

In the end, I found the one I wanted, the one that worked for me. I've now spent many an hour ripping DVDs and watching them on my iPod, a very happy customer. In the end, I spent about $50 on the product. The comparison work I did was totally and utterly worth it.

Yet I'm regularly baffled by developers who don't do this when they're selecting a UI control suite or a persistence framework. Or who want someone else to do it for them. Or who want a nice checklist comparing competing products. If I can do it for a $50 product, why can't others do it for a product that's going to cost 5, 10, 20 times the amount? And let's face it: a product that is going to affect their development lives day in day out for the next few months or years? That's just nuts.

Yes, you guessed it: I reckon about once every couple of days, I'll get an email or phone call that says "why should I buy your product instead of FooBar's?" Search me, dude. I have no idea what you're trying to do, what your level of development expertise is (or, heck, plain old .NET expertise for that matter), what end-user experience you're trying to achieve, what familiarity you have with third-party tools in the past, what other application you're hoping to emulate, nothing. Also, believe it or not -- even me, the DevExpress CTO -- I find I'm continually learning about our products. Yep, I don't know everything about the stuff we sell and yet you expect me to know enough about our competitors' products that I can make a recommendation that ours is better? Wow. I certainly don't want to be the person you blame when something goes wrong because you didn't do the work in the first place.

That's why we have as company slogan, Download, Compare, Decide. I'll admit I disliked our old one, Improving the Developer Experience, because it was so generic and pretty meaningless. It's like those signs you see on the Interstate: Drive carefully. Of course the state is asking you to drive carefully (they'd hardly say the opposite after all), and of course we'd tell you that we'd improve your developer experience (we'd hardly say the opposite: Degrading the Developer Experience, although it has a certain ring to it).

But our current slogan I can get totally behind -- we're not even saying that you'll choose our products, although we hope you do. But we reckon that, if you do some due diligence and draw up your list of must-haves and should-haves and don't-give-a-damns, download the trial runs from the vendors, verify that your list of needs is satisfied with each, we'll be at the top, your first choice.

(Some bonus links:

)

7 comment(s)
Nate Laff

I would have recommended AnyDVD and CloneDVD by Slysoft. Great products. Use them regularly! :)

2 July, 2008
Julian Bucknall (DevExpress)

Nathan

*cough*AnyDVD*cough*Handbrake*cough*.

Cheers, Julian

2 July, 2008
Brendon Muck [DevExpress MVP]

I've also been using the AnyDVD/Clone DVD combo for a few years now, although not for copying iPod-compatible videos.

2 July, 2008
Dan Arnold

I agree you kick some Winforms butt.  However, compared to the other big component vendors, your documentation is inferior.

Having a knowledge base is great, but trying to tout it as documentation, which your support group often does, is weak.

It's hard to find articles. (Due to no google indexing) and it is just way to time consuming. Especially for newcomers to your product line.

The other problem with knowledge bases is they cause confusion due to articles that are no longer valid due to their age (and the product version they were written for).

I would love to see DevExpress spend some time and money on quality documentation. The kind that reads more like a book than dry, simplistic and deficient API style documents.

I can't tell you how many posts I've seen that state: DevExpress is a good component suite, but their documentation is the worst, compared to the others. (which I will leave unnamed).

I think a good excersise for your documentation team would be to look at the other major vendors docs and see the quality difference for themselves. Maybe that would inspire them.

XAF is a perfect example of the problem. If you expect the masses to give it shot, you have to do a better job at describing the extensibility points and also the limitations where they exist. After all, we usually have to choose a product and go with it. I want to use XAF, but dont have the time to invest to grasp an overall feel for how versatile and extensible the framework really is.

We shouldn't have to read the source.

Thanks for listening.

BTW

Maybe Oliver Sturm should write white papers or articles that go in-depth, so real world developers can consider the product. The latest videos (blog posts) are very superficial. I hope they go deeper into the framework, and provide instruction on the advanced topics that are glossed over in the docs.

:-)

2 July, 2008
Robert Johnson

Dan has VERY good points. I found DevExpress controls to be better than competitors but the documentation falls short. There are many articles in the knowledge base that are old and outdated. I was hoping this next release would include better documentation with more code examples. bundling the source code of demos is good but not enough. This is something that seriously needs to be addressed.

3 July, 2008
Craig Brown

I would also like to agree with Dan. I seriously love your components but your documentation sucks to be honest. The tutorial examples and online demos are fine as far as they go but they don't cover every scenario (how could they?) and the examples are, by necessity I guess, a little simplistic compared to a real-world application.

Try working out how to do custom sorting or grouping or roll your own group summary text on the grid. There are complications and gotchas all over the shop that just aren't documented in the online reference (e.g. events that fire conditionally don't mention that they depend on the callback settings).

If the CTO is still learning about your products spare a thought for programmers like us - trying to deliver real and complicated functionality on tight deadlines while we reverse engineer the functionality of the grid.

I have found on a number of occasions that I have done something "the hard way" when there was a very simple way of achieving what I wanted using the grid properly.

The problem with the documentation as it stands is that it is often a bit thin and the way that it is structured I need to know what to ask or what event or property to look at before I can find out how to solve my challenge. However, I don't know where to look because I can't get a "big picture" view of how it all fits together.

I managed to migrate to ASP.Net from J2EE by studying a couple of excellent books cover to cover. I'd LOVE to see an e-Book on your components that covers ALL the functionality of the components cover to cover in real depth with discussion of the gotchas etc. Heck, I'd even pay extra for it to avoid the pain of the very steep learning curve I have endured over the last 8 months.

Please understand - I love your work and I will continue to subscribe to the updates because I agree that your tools are the best. I just want to be able to understand how they work so I can really make them dance!

Thanks for listening.

3 July, 2008
Julian Bucknall (DevExpress)

Dan, Robert, Craig

I would have to disagree that the knowledgebase articles or even support center articles are not part (or merely a weak part) of the whole documentation for a control. In fact, quite vehemently I disagree. Yes, it would be nice if everything were accumulated under one roof as it were, but in reality the best and quickest way for us to get out specific help or articles targeting a very narrow scenario is through the KB and Support Center mechanisms.

Heck, even the videos provide a documentation service: I can't begin to tell you the number of people who've come up to me to say that they learn best from seeing things done and not from reading technical documentation. Other people learn best from training-type courses with lab work so we're moving ahead with preparing documentation along those lines. Different people find out information in different ways.

There isn't a Stop sign that we're trying to reach and then slam on the brakes: like the software itself, documentation is always a moving target. We'll never be done. Obviously the "popular" or "favorite" controls will be the ones getting the most attention; it's the squeaky wheel syndrome. I also disagree that our documentation sucks. Whenever I've had to use it, I've managed quite well. I won't argue that it can be improved, what can't?

And, please don't take my confession that I'm always learning about our controls as any indicator that our controls are hard to learn. Give me a break. We support five platforms now with WPF and Silverlight. I don't write applications day in day out for just one of those platforms, or even for a living, that's not what my job description is about. Obviously I forget nuances and tips since I don't use the controls every day. But when I do, I use the documentation to find out how to do things. I play around with the demos until I see what I want to do, and then read the demo source.

Yes, I reject the notion that reading the source is somehow inferior to having text written in a help file. Reading the source is the one definitive way of finding out how software works. I've spent much of my programming life reading books and help (and writing some) and still I prefer working it out from the source. Of course, that's not to imply that just providing the source solves documentation problems once and for all. This is not a black-and-white, binary choice here.

And we supply lots of source of course, and we're about ready to launch our Code Central part of Support Center so that you can search our sample and KB source to find examples of how to do things.

Now, given all that, should the search capabilities be improved? Sure. I learned a trick when working at Microsoft: use Google to search your own help and documentation. In fact, Google used to (don't know if they still do) display a separate launch page that added a default "site:microsoft.com" to your query if they spotted that your IP address was one of Microsoft's. So use Google too: the first result from '"custom sorting" ASPxGridView site:devexpress.com' is a video from Mehul on how to do it.

And of course, part of any documentation is the support. We have the best support team I've ever met. Ask them. They'll be able to help or to escalate problems to the development teams. And if you find a bug in the documentation, let them know. They'll get it fixed for the next time.

Cheers, Julian

7 July, 2008

Please login or register to post comments.