@Jeff T An opinion:
The direction of the new framework is making it less usable and 'friendly'.
I feel it's also going to eat into the productivity that Dave talks about.
For historical reasons, RB/Xojo has for the longest time avoided changing its syntax. I often cite this 2002 source code I exhumed in 2013 that went into the MAS with probably no more than ten lines changed.
Problem is, new frameworks do require namespaces, and evolving the language as well. I will risk again a comparison I made during iOS beta with mixed appreciation. Until the new framework, it was amazing how many users switched to Xojo from VB6. Fact is, to evolve, a modern language does need namespaces, as well as higher data coherence. Microsoft made the switch back in 2002 already with
VB.NET which, like our new framework, used namespaces and new syntax. VB users where less lucky than current Xojo users, as they had to move directly to the new framework. Xojo Desktop and Web still use the classic code, and will as I understand, do for a a very long time.
New framework only eats productivity when used. Or when discovered. If one simply uses Desktop and Web as ever and does not need new framework things, no need to learn : it is the good old tool. My famous 2002 code still runs unchanged. And I have no intention whatsoever to rewrite it for the new framework until the writing is on the wall. At which date the app will probably be obsolete anyway.
Even if iOS did not use the new framework, it would require a learning curve : smaller screen, different controls, different UI concepts. Lest not forget either wrapping techniques such as XojoiOSWrapper I was glad to see mentioned by Paul Lefebvre in his XDC presentation. I was able to use most of the code of a 2013 app just wrapping new functions in the syntax of the classic framework, instead of rewriting all. That is a valid way of keeping assets, while making the transition to the new framework.
Now, for the "usable and 'friendly'", I will concur with Xojo engineers. Being too friendly is like not telling a friend his laces hang. He will fall to his face eventually. Too much tactfulness is sometimes not the best service. The classic framework string and its encoding quagmire being an example. Text requires a bit more work, but does away entirely with the hateful question mark in a lozenge. Functions that return incorrect values because they are too 'friendly' is another one, like a friend who tells you what you want to hear. Then ensues difficult to find bugs because instead or going up in arms, the thing swiped the problem under the rug.