Exciting things about XAF not exciting enough?

I've heard some criticism about the first post in my 10 exciting things to know about XAF series: apparently it's not exciting enough! Well, let me tell you: the day that we don't receive a single support request about the matters I mentioned in that blog post will be the happy day where I agree that this is a boring topic.

If you can honestly say that you understand everything I mentioned and you observe these practices in all your projects (or at least that you have spent a lot of time making a decision and you have good reasons not to follow the practices), then that's great -- more power to you! But... (a) the series is targeted at new users of the technology to at least the same extent as existing users, (b) there wasn't any overview like the one I created before and we get enough feedback asking for that kind of summarized "what do I need to know" information and finally (c), and I don't mean this condescendingly, the majority of our users are somewhere on the curve as opposed to at its end.

It's all about the learning curve here -- one of the comments we hear about XAF most is that it has such a very steep learning curve. To be honest, I don't really agree with that statement, since it is often made when people throw large independent "blocks of knowledge" in with their product-specific learning. Learning XAF is easy, assuming you have strong OO programming knowledge. It seems hardly correct to say that XAF has a steep learning curve if the knowledge that's really so hard to come by is largely not specific to XAF. But be that as it may -- my target is to help everybody get to the same level, and in order to do that we need lots of content in various different formats, we need to make it accessible and discoverable, and often we need to be repetitive as well.

10 comment(s)
Alain Bismark

Hi Oliver.

I think, that the approach of build a sample application (more complex than outlook demo) is a better way to show the XAF stuff. I dont know, if you have internals app, made using XAF, that you can show in this blog as best practices.

Focusing on XAF in n-tiers apps, using 3 phisical layers, distributed on 3 machines, 1-UI, 2-BO (or some distributed BO processing), 3-DB.

but, XAF is exciting by definition :)


21 May, 2008

I'm fully agree with Oliver. In my case, this XAF series are welcome and very useful... my purpose is be more productive in less time and effort. Like Oliver says, XAF requires OO programming knowledge... some programmers .NET is dismissing this point.

For me... welcome more article like this.

Thank you.

21 May, 2008
Oliver Sturm (DevExpress)

Hi Alain,

Building a more complex sample application... well, that also takes much more than 10 days. And then, what purpose does it have? If somebody is new to the product and the whole philosophy of it, then I doubt whether a more complex sample will help him much, because it'll be much harder to understand. OTOH, the more "real-world" the sample is, the less abstractable will the solutions in that sample be -- IOW, experienced users will see specific solutions to specific problems, which might be of scientific interest, but aren't very likely to apply to your problems. Anyway -- for what it's worth, we are probably going to do this sooner or later. But I'm pretty sure that many people will not find it to fulfill all the expectations they have from this.

Right now we have to stand before we can start walking. We are making efforts to meet our customers' expectations regarding additional documentation that also goes beyond the scope of basic product feature descriptions, new formats and so on. We have to start somewhere, and we decided to start at the beginning.

Thanks for your feedback, Alain, it is always appreciated!

21 May, 2008

I partially Subscribe to Alan's Observation to certain extent.

XAF learning curve is not steep. the issue is that there is no story to comfort the levels. Probably a initiation into OO could have been addressed. Many come from Legacy background. It would be easier for them to comprehend rather than talking completely on OO/Patterns/DDD/TDD. To comprehend Mark fowler's book will take some time.

The coverage was excellent to understand XPO and wanted to enhance the SetItemProperty method and Save methods to use the database features using extension methods.


21 May, 2008
Mark Krasnohorsky

Hi Oliver,

So far, reading #1 and #2, I wish this had been published when I started learning XAF (about 3 months ago) :-). You have touched on some very good points that would have saved some learning pains. This set of articles looks like great followup reading material to the Tutorials in the help. Perhaps the name should read 10 essential things to know about XAF.


21 May, 2008
Oliver Sturm (DevExpress)

Mark - perhaps it should, I'll consider changing it :-)

21 May, 2008
Robert Fuchs

> It's all about the learning curve here --

> one of the comments we hear about XAF most is

> that it has such a very steep learning curve.

I don't want to conduct myself as Mr. KnowItAll, but this misinterpretation of the term "Learning curve" has haunted me for years:

A learning curve is a graph with time on the horizontal axis, and gained knowledge/knowhow/wisdom/experience/etc. on the vertical axis.

This means: a steep learning curve is a good thing, because you gain more knwowledge in a shorter time, and not vice versa!

SCNR, Robert

21 May, 2008
Oliver Sturm (DevExpress)


A good observation :-) But my view of this is entirely compatible with yours - saying "a product has a steep learning curve" means to me that if I start out with the product and I want to become productive within a certain acceptable timeframe, then my learning curve will have to have some pretty steep inclines. Of course such a learning curve is a good thing from my perspective, if I can manage to negotiate the inclines, but I'll have an easier time with the product (or I'll become productive sooner - you choose) if the curve, for some reason, can be made to have a flatter shape.

21 May, 2008
Floyd DePalma

Thank you for writing this series. Having used XPO for some time, I was expecting something a little more 'exciting'.  But is a good summary of articles for those new to XAF. You already have good tutorial and documentation for beginners. More content please for advanced users.

21 May, 2008
Julien C

Thank you for writing this serie.

I think a more complex application could be great also, but when you're looking for a specific thing it's easier to find it in a series of organised articles than in a big application with many modules. And if you are a beginner, how do you know where you have to start ?

In fact just a big application will make it like learning how to use printf by looking in the code someone wrote... it's better to use the man ;-)

If you plan to write a more complex serie of article it could be interesting to indicate the level needed : beginner, intermediate, advanced.

Thank you

22 May, 2008

Please login or register to post comments.