Tim originally shared this information with me via email. I replied and he felt I should share that reply on the forum:
That’s why I’m very careful to try to avoid falling into the trap of the vocal minority.
But I don’t think the trade-off of ease of use versus power is immutable. It’s hard to do both but it’s not impossible and well worth the effort. Apple proves this repeatedly. It just takes a LOT more work and care in design. You also have to be willing to throw out what isn’t good enough and replace it with what is. That might cause some consternation among some users but in the long run it’s usually worth it. I discovered this while teaching in Silicon Valley. I had an epiphany one day about how people learn and then spent weeks rewriting every class I taught around that. The result was that I had students telling me it was the best class they had ever taken in any subject. I don’t think how I was teaching was necessarily novel but it was a LOT more work to design the classes around it. Most teachers are just throwing new information at students who hopefully eventually are able to sort through it and connect it to what they already know. That’s not very efficient and leaves a lot of students who aren’t as successful at it feeling stupid for no good reason.
I regularly remind those designing features that we have to remember that EVERYTHING we put in front of the user makes Xojo more complex. That doesn’t mean we have to limit what we provide. It means we have to carefully design Xojo so that users aren’t exposed to things until they need them. That’s not easy at all to do but it CAN be done. It just takes a lot more effort.
I’m unafraid of change as I’m sure you can tell. I’m cognizant of the past of course and progress can’t happen at ANY rate of speed but it MUST happen regardless. We haven’t had printed documentation in many years. That caused some grief at first but no longer. The change to API 2 and Web 2 caused some grief at first (and that hasn’t tailed off entirely but it will) as did the new documentation at first. And I’m not saying we get it right the first time every time (we certainly don’t) but we are dedicated to getting it right eventually. The world will always change. To keep up requires accepting that.
I think the trap Microsoft fell into is that the engineers were measuring the wrong thing. If the most highly technical users were saying that VB was good, they believed they were doing the right thing. What they should have been measuring was user base overall. Certainly the average Xojo user is more like the average VB user as described in that quote. Those on the forum represent just a fraction of the total Xojo user base.
I came up with the idea for API 2 precisely because I believed the API was accumulating cruft. API 2 was a way to solve that. It’s not perfect. We made some mistakes but it’s a hell of a lot better than API 1.
Dana likes there to be data to back up every decision we make regarding product design. In the ideal world I would as well but we don’t live in the ideal world. My favorite example is that not one user had created a feature request for building web apps at the time we introduced that. Sometimes new features come simply from our vision and imagination and that’s OK. I know that one of the reasons Travis likes working here is that he knows that I report to no one. I don’t have a board filled with venture capitalists pulling me in the direction of the latest shiny object that has caught their eye. That allows us to keep to a specific vision for Xojo. I’ll keep repeating this: it’s not perfect. It will never BE perfect. But that won’t stop us from aiming for perfection. If you shoot for the stars, you usually at least land in the trees.
And as you can imagine, we started working on the web framework long before we released it. While it’s certainly possible that case was there before I searched Feedback, I clearly remembering doing so and not finding any cases related to building web apps. I remember being surprised by this because it seemed obvious enough to me. Though I could also see it seeming different enough that others wouldn’t make the leap. Heck, when I brought it up with Thom and told him how I wanted it to work, he said, “No one does it this way.” After he spent some time prototyping it, things clicked and he realized that what I was suggesting made sense.