Are you ready for the 2010 XAF roller-coaster?

Recently (and maybe not so recently as all that too), customers have been voicing worries about the direction we've been taking eXpressApp Framework (XAF), some even going so far as to say there is none. Roman, Gary, Oliver and I had a long chat via email about the situation and decided that what was needed was a post about what we're doing, about the support in the company for it, and what you can expect in the near and middle future. In short: very rosy indeed.

First, a little historical background to understand where we're coming from. XAF development was started in early 2004, based on some work done on an insurance line-of-business project written in Delphi. From the start, then, it has been geared to real-life projects. The first goals were simple: create a persistent object framework and a WinForms MVC presentation framework. For one reason and another, the persistent object framework had to be done first — in essence building XAF from the bottom up — so that we could then test our MVC and business object layers as early as possible. When it was good enough for our purposes, we decided to release it as a separate product: eXpress Persistent Objects (XPO).

After that, obviously, XPO started to live its own life. It got its own team (the original designers, in fact), and much effort was invested to respond to feedback and to satisfy requirements from all customers, not just from the XAF team.

By late 2005, DevExpress' R&D were suffering from some growing pains: the developers were being spread far too thinly across all our product lines. We reorganized what we were doing, reevaluated what products we should concentrate on for the short term, and revamped the targets for the following year. As a result, the XPO developers were moved back onto the WinForms team and, in time, they became responsible for new WinForms products. It was at about that time that Oliver joined us.

In early 2006, the XAF architecture was pretty much established, all the basic components were implemented, and so we released a CTP to collect feedback on what we'd done. The feedback was, to put it mildly, rather positive. Also in early 2006, an internal team successfully used XPO as a base for our internal systems (ClientCenter, sales system, SupportCenter), and used XAF as the backend UI. (In other news, I joined DevExpress right about the same time. Coincidence?) By the end of 2006, XAF was released as a part of the DXperience v2006.3 release.

During 2007, from v2006.3 to v2007.3, the XAF team were working on implementing various feature requests from customers who were trying to use XAF to create real apps. Also in the final release of the year, XAF got design-time support. In 2008, the team released various new small and medium-sized features and XPO finally got its own team back. Roman decided that the XAF architecture needed to be changed in order to abstract XPO, so the Domain Components (DC) approach could be possible. He started working on designing the DC technology describing what we needed to do as a series of posts (1, 2, 3, 4, 5, 6, 7). The first major refactoring, the type information system, was completed for v2008.3. I'd have to say that our original goals for XAF were finally met in 2008: make the simple things simple, and the complex things possible.

Also, at around that time, a year ago, I would say that XAF support and maintenance levels reached full bore. Some of our customers had reached the final cycles of their app development, so now we were getting a full range of support questions from the beginner to the advanced XAF developer.

At the end of 2008, we took stock of the situation:

We had some strong momentum in the customer take-up of the product. Reviews and feedback were favorable.

XAF needed many more improvements at every level in order to become a better business app framework.

Even with its current feature set, we barely had enough resources to add new features, due to the support/maintenance bottlenecks.

The team's desire to help out and implement customer suggestions often led to local hacks instead of beneficial changes that improved the overall architecture. (Roman's current WAG is that 30% of XAF code can easily be removed without any loss of functionality.)

So, changes were needed in 2009. The first steps were organizational, and mostly happened in the v2009.2 timeframe:

We hired more developers. We currently have 24 people over both the XAF and XPO teams. (This number includes tech writers and support engineers too, note.)

We put everyone in XAF on the same floor of the building. (Like, duh.) Everyone is now within reach of everyone else in the team.

We split the XAF team into several subteams — Core, UI, Base, Data, App — to make code ownership easier and create better architectural boundaries.

Andrew, one of our most senior developers, joined the XAF team in the summer. He spent quite some time with the new developers we were hiring doing research efforts on MVC and XAF so they could learn how we work, what we do, and what needs to be done and how.

We started a series of design review sessions where the whole team analyzed what should be changed in order to reach new goals.

Now we all know that adding more people to a project or team does not immediately help. In fact, it does the exact opposite: it slows everything down at first. That's why XAF progress has been slight over the past couple of releases: lots of minor changes, no real major changes. Our main goal was to make v2009.3 the best version of the "old-style" XAF: that is, don't break anything, make many smaller improvements, and keep the radical changes for 2010. Since code freeze, we've been making many simplifying refactorings for v2010.1, basically anything and everything that will reduce complexity without losing functionality. XAF is now poised to take advantage of some stronger momentum.

With regard to 2010, we have to deliver on Roman's DC plans. The team is poised and ready, but this will inevitably mean breaking changes along with the new features and functionality. At PDC, we also demoed our first cut at the support for WPF in XAF: still a way to go, but a good first step (another that we didn't show off was an ASP.NET MVC proof of concept). One thing is certain, though: 2010 will be a faster ride for XAF than 2009 was. Are you ready to strap yourselves in and grasp the grip bars?

As long as I'm the person up the front of the roller-coaster, I don't want Robert being sick on me!

But seriously, Yeeewwww!! +100

Now all we need is the Silverlight XAF prototype...

30 November, 2009

Greffith Ponce

+1000

Give me more reason why I need to renew my license.

30 November, 2009

Luc DEBRUN

+1 You still have our support, but it has been a little bit dampened.

Before doing anything fancy:

Please please make sure that all old controls' features are integrated into XAF (ie. Scheduler reminders or RTF control for example).

Please please make sure that all your new controls are integrated from the day they are out.

I also favour leveraging your own components like you did with the Analysis module. When a Gantt Chart module combining task object with a chart for example?

Looking forward to 2010.

Luc

30 November, 2009

Abalioglu Holding A.S.

+1

please improve report module to support reports having JOINs and other multi-table reports (and linq queries having parameters) and a better report wizard to use this new feature easily

30 November, 2009

Steve Sharkey

Having not felt I could use it in a production application I had decided on the next renewal to back off on my subscription - It is a way off yet and that decision could yet be reversed but I currently feel that I have been funding the development of a "nearly but note quite" product....

1 December, 2009

Martin

Nice to have the background but could the plans for the future be more concrete (roadmap etc.)? 'Just wait and see' is not an option when trying to decide wether or not to spend time and money in the current version of XAF if in 3 months time a completely new (breaking changes etc.) version will see the light.

1 December, 2009

Jascha

XAF WPF eh? Do the team see any commercial advantages in WPF over winforms as a target UI? Dare I mention SL?

1 December, 2009

drew..

Were any outside consultants with real-life app experience brought into the new team? Are basics up on the table? Will we have a re-evaluation of the areas that many are pointing out as weak links in xaf (ie aggregation handling)? There are so many questions that can be asked that can be easily surmised by the efforts of FAB input and repeated themes within the forums. Now seems like the time to ask your clients what is needed.

1 December, 2009

Gary L Cox Jr [DX-Squad]

@jascha, WPF is going to be what is today known as WinForms. Microsoft has made it pretty clear that winforms will one day be what VB6 is today.

1 December, 2009

Steven Rasmussen

Have been hoping for this for a while. I've been riding the kiddie-coaster hoping it would turn into a real roller coaster some time :)

1 December, 2009

Mohsen Benkhellat

Happy that there is some feedback. I started having doubts.

As for XAF/XPO, I would love to have a silverlight UI but more important to me is having multi-tier ability with support for asynchronous operations.

Integrating a BRE would be perfect for me but I understand that it needs to be a priority for most customers to be in.

I hope this mountain does not bring forth a mouse, let us hope.

Mohsen

1 December, 2009

Roman Eremin (DevExpress)

Luc:

We will try to shorten component integration cycle - this has been mostly a resource problem.

Cafer:

Yes, reports improvements are on the table.

Steve:

I hope to give you more reasons to renew next year.

Martin:

We'll have annual company summit next week, and all roadmaps will be decided there.

Jascha:

I don't see a commercial advantage of fat WPF client. It was done to ensure that our WPF controls work well in XAF environment. SL requires rich app server layer and we are working on it.

drew:

I would say every second developer in XAF team has been working on real-life LOB app before joining DX. We don't have real XAF-based consultants in the team. But we did read all forums, we have your presentation, we did reviewed products you suggested :-). For every issue we tried to find it roots. So I believe we will address most of them next year.

Since we’ve changed our old framework (in the middle of 2007) from now we’re really productive with XAF, thinking in a pessimistic percent we are at least 40% more productive, and robust

Thanks Julian and also for your team

1 December, 2009

Robert Fuchs

Roman,

speaking of Silverlight: you probably know that Silverlight 4 will come out for Windows Mobile 7 next year.

I hope that this time you don't exclude this platform, imagine that XAF will be a killer framework by being able to produce apps for 6 platforms, 3 with Silverlight alone (In-Browser, Out-Of-Browser plus Mobile), plus Winforms, plus WPF, plus ASP.NET(MVC?)

1 December, 2009

Mike_Grace

I am hoping for more tutorials and documentation. I still find XAF impenetrable.

Also, I use Advantage Database Server and the lack of wizard support for creating an XPO layer for existing databases has stopped me using XPO as well.

2 December, 2009

Kreso

There are several things I would like to see in XAF 2010, as well:

1. Support for Windows Workflow Foundation. It was hyped during the beta period and it was a thing that originally got me interested in XAF. However, sometime before the release it was dropped and postponed for some later date. It has been more than two years now and still no WWF support in sight.

2. Support for NTier frameworks, DataAbstract to be specific. If DevEx would integrate with it (via XPO provider maybe?) that would be great. However, if DevEx would come up with its own solution that would be just as performant, I would not hesitate to use it.

3. Some time ago, Oliver wrote that there will be built in support for batch processing, numbering, etc. built in XAF. We haven't heard anything about it since.

I am sure I can come up with some more questions but these issues are most important for me.

WPF and SL support would be nice, but I could live without it for some time, maybe for one or two years.

Best regards,

Kreso

2 December, 2009

Brad Smillie

If you are looking for an Async middle tier for SL, look into RIA. It looks like a great way to abstract away the middle tier issues.

2 December, 2009

Roman Eremin (DevExpress)

Robert:

Unfortunately development of XAF UI parts does not scale well - 6 platforms could just kill us. I still praying that MS will finally merge SL and WPF, so we can use single codebase.

Brad:

Yes, we are looking at RIA and will reuse as much as possible from it. RIA is not dynamic - once built, you cannot, say, add one more column to list view - so XAF needs slightly different app layer.

2 December, 2009

Mike Siegel

Excellent - I'm looking forward to some good additions. Make sure you continue the demo applications like Gary's XAF Project Managerment Application. It's really helpful to learn about what I can (and can't) do with the toolkit.

3 December, 2009

Adam Leffert

Gary,

> @jascha, WPF is going to be what is today known as WinForms. Microsoft has made it pretty clear that winforms will one day be what

VB6 is today.

You say "Microsoft has made it pretty clear..."

I read this as "Microsoft said..."

Just because Microsoft said it, doesn't mean it's true, or even anywhere close to true.

The more clearly they said it, the more they want us to believe it. Saying it more clearly doesn't make it any more likely to happen.

The transition from VB6 to VB.Net happened in the past.

The alleged transition from WinForms to WPF will happen in the future, if ever.

Pointing to the VB6 to VB.Net transition is a nice metaphor for what Microsoft and you think will happen to WinForms.

There are numerous examples of "Next Great Things" that MS said would replace old things and never did.

In the old days, some writers supposed MS did this on purpose, to keep third-party app developers busy learning new stuff while MS grabbed dominant market share for Excel and Word.

MS is forced to create new things, or people tease them. Doesn't mean all these new things are at all useful.

So why are you bothering with XAF anyway? It's MVC I guess, so why does it not scale?

2)Why should 6 platforms kill you?

You alread have Winforms and ASP.NET, that's two.

WPF is in the works, that's three. Silverlight is planned, that's six (In-Browser and Out-Of-Browser and Mobile)

3)I hope MS will *never* merge WPF and SL.

What will we get? Either a crippled WPF which can't replace Winforms for rich clients or a bloated SL which nobody will download?

3 December, 2009

Adam Leffert

Roman,

> I would say every second developer in XAF team has been working on real-life LOB app before joining DX. We don't have real XAF-based consultants in the team. But we did read all forums, we have your presentation, we did reviewed products you suggested :-). For every issue we tried to find it roots. So I believe we will address most of them next year.

As I've often said, there's a lot of deeply-felt love for DX and XAF in the community, and a lot of missing pieces we all keep pointing to.

2010 is to be the year of XAF transparency. If you were a betting man, would you bet that the voting system will see the light of day in the next six months?

Dennis has already told me, in no uncertain terms, that he has absolutely nothing to say on the subject. Not now. Not ever. No siree.

If the voting system is a real thing (not vaporware), wouldn't you think it could sneak out the door in the next six months?

Adam Leffert

3 December, 2009

Howard Roberts

We are excited for the increased energy and resources around XAF/XPO and are looking forward to great things in 2010.

3 December, 2009

Kreso

Are there any plans to support Windows Workflow Foundation?

3 December, 2009

Yann

I absolutely LOVED XAF when I first encountered it. Unfortunately, the lack of real-world-ness (some of the most basic functions were difficult, if not impossible, to do), the very steep learning curve (for me anyway) & the often unhelpful (though admittedly well-meaning) support (language difficulties anyone?) meant that I had to abandon it as a potential development platform.

I keep hearing the same things over & over though. "We hear you", "We're listening", "We're adressing your issues/concerns", "We're getting better", "You're going to love what's coming". Years later, same old rhetoric. I'd love to see XAF fulfill its vast potential, I really would, but I'm afraid, at the moment, I remain highly doubtful it'll happen any time soon. I hope to be proven wrong though.

3 December, 2009

Hemant

I Love XAF, I am very ergar to know all new features of XAF 2010

So When you are u planning for RC Release

Thanks

Hemant

4 December, 2009

Glynn Davies

Just want to add some love for XAF. Keep it going boys!!

4 December, 2009

Andrew

After looking at the release for 2009.3 I can understand why this post was made as the feature set has hardly changes. Reading between the lines the message is a sorry we havent much to show but maybe we can keep you interested by what sounds like a major rewrite in 2010. Don't get me wrong I love the product although it does have some basic issues in real world business apps (distributed architecture and web performance) it is very well put together. Come on guys get your act sorted out and published some firm plans and deal with the basics (AJAX, abstracting the datalayer from the presentation, performance)

4 December, 2009

Julian Bucknall (DevExpress)

Andrew: One reason I couldn't say too much concrete about what's coming up first is that we're having that kind of discussion about all our products this week, including XAF.

Cheers, Julian

7 December, 2009

Julian Bucknall (DevExpress)

Andrew: One reason I couldn't say too much concrete about what's coming up first is that we're having that kind of discussion about all our products this week, including XAF.

Cheers, Julian

7 December, 2009

Hemant

I am excited for 2010, I am waiting for XAF web inhancement over AJAX. I think it will be great breaking change for all XAF Developer

8 December, 2009

Garry Lowther

I have used numerous 'application frameworks' during my development career and have the following comments.

Application frameworks are good for developing applications quickly to a fairly low level of sophistication i.e. they can build 80% of the app in 20% of the normal development time.

However, when building a complex business software application, using an application framework like XAF will not suffice because it will not be able to tackle the complex remaining 20% which will take 80% of design and development time. What is worse is that it will work against the designers/developers because it will have hard-wired it's concepts into the foundation of the application thus preventing real-world complexity modelling from being implemented.

I have seen many companies try and fail to realise this and I would urge DevExpress to consider whether you are really are in the 'application framework' business or not. You have a great set of highly integrated component tools designed for professional developers. Don't drop the ball.

My experience has taught me that 21st century software development is as much about assembling comprehensive, highly functional, uncoupled software components as it is about good solid design principles outlined in books such as the Mythical Man Month.

DevExpress cannot create an application framework which can/will be used by all developers, but it can certainly provide the components to help us deliver great, robust and highly functional applications. Please give us what we want, not another limited app framework like all the rest.

8 December, 2009

Holger Kammerer

I fully agree with Garry Lowther: We also need robust and highly functional components which we assemble to very specific applications. For my opinion, you lost the focus from the components. Many useful requested features are not available till now. And the WPF-Suite is far away from using it in a real world application.

We were very satisfied with you products the last few years and our customers also like the power of the controls. But when we go to use WPF/Silverlight in 2010/2011 we have to compare DevExpress with <redacted>.

I really want to use DevExpress in all of my applications - now and in future. Your tools, your support and even your humor are great. But please don't spend so much time on XAF - use it to develop complete components - like you have done in the past....

8 December, 2009

Holger Kammerer

Hi DevExpress,

why do you redact the name of another vendor from my posting? Do you really think, any of the developers who are familiar with your components don't know about the other players on this market?

There is no need for it, self-belief in your strength! The others cannot beat you, if you deliver what the market needs in the qualitity we know from you.

I have tested many tools over the last years, but none of them are as good as yours (look at component-source, i was one of the first who rated your components).

Holger Kammerer

CIO Nettroplis AG

8 December, 2009

Bryan Dredge

Hi Julian, as a long time user of your products, I am extremely happy with the functionality they provide. I have been watching XAF with interest, it shows promise but isn't there yet. By way of faith, I have recently upgraded my subscription to Universal so as to include XAF, so am looking for progress in 2010. Some of the existing videos are not as easy to undestand as they could be. It seems like sometimes the simplest of things to do, becomes quite complex on XAF. What we need is more simplicity, more wizards, support for the basics and greater breadth of subjects covered in different video training sessions. The XAF Application Structure with Amanda presenting, hits the right level.

11 December, 2009

Gavin Horne

What Garry said:

"However, when building a complex business software application, using an application framework like XAF will not suffice because it will not be able to tackle the complex remaining 20% which will take 80% of design and development time."

... is indeed my experience with the majority of my XAF-based applications. Ok to be fair, it is POSSIBLE to tackle most of the remaining 20%, however this almost always involves an inordinate amount of time, hair-pulling and delay-inducing exchanges with DE support (with the occasional 'this is by design' roadblock thrown in to make things even more interesting).

As it stands, for a new large-ish project iit would be a coin-toss between using XAF or porting a framework I'd previously developed (using DE components) for Delphi into C#/.NET (and using XPO).

28 December, 2009

Joe Hendricks

Exciting news for 2010 indeed !

The DX TV Channel has really been a lifesaver in learning XAF for me.. would also love to buy a sequel to Kimmer's excellent book covering XAF and XAF-testing for Asp.Net!