First, ExtJS, from a personal perspective, is a beautiful, rich, complex, and I've cut my teeth going from an intermediate to an advanced user with YOUR products. Kudos for the great work.
However, from a business owner, who has to make money, I'm appalled on so many levels. The jump from 3.x to 4.x was horrific and aborted after 2 months of work by myself. Our application was so monstrously complex and rich in 3.x, and this is not a bad thing, to make the jump to 4.x was so incredibly difficult. After 2 months I managed to get only a few of the major components of our app working. Then I got the e-mail from QA... "The app seems a little slower in IE"... I'm not even going there...
Now, on top of this you removed Pivot Tables from 4.x. Yeah, remember those??? Thought you would. Where are they? Did you think we wouldn't notice them being gone? We did, so did our customers. What were you thinking? Really? Here's the sales pitch, ready, "Upgrade to 4.x and have your customers lose functionality". It's perfect, you should air a commercial to that effect on next years Superbowl. Wait, was that the only item missing from 4.x ? I didn't even check because I couldn't even get that far in my work.
How you could ignore the business needs of your customers so much as to make a product so backwards incompatible is beyond me. I've heard the party line including:
Yeah, in an ideal world great, I wish I could write code that broke my customers' ways of doing things. After all we all know the best ways to do things. But, this is not how the real world works. And, if you don't know that, get out of the game now, please apologize and do something else.
- We document how to upgrade
- There are better ways to do things
- Try it this way
I am also bummed out on a personal level because I really do love ExtJS, the framework, the patterns, the code, it's a joy. You've taken that away from me. You've cost my customers, and myself money that we'll never reclaim.
On top of that we are stuck at 3.x, stuck, stuck, stuck. We refuse to upgrade, it would be a mistake.
If I could make one small unsolicited suggestion.
NEVER EVER AGAIN MAKE SUCH A GIANT UPGRADE LIKE WAS DONE WITH 3.x ==> 4.x
To further complicate matters your refusal to provide insight into your release schedule is well, polite language precludes me from expressing an accurate sentiment which resounds among these forums. Hello, we are not doing this stuff for fun--although it is fun--we are doing this at our customers' request? Let me explain again...
We use ExtJS in a business context at the request and need of our customers.
Wait, let me restate it one more time a little differently just so we're absolutely clear:
We use ExtJS to provide business with critical functionality.
I'm going to say it one more time, because I think someone up the chain of command is having trouble with this idea...
Our customers' lively hood, OUR lively hood depend on software not breaking. If we fail to achieve that then we will not make money, we will starve, have our houses foreclosed upon, our children taken away, and then we will turn to a life of crime so as to afford food, and then we will wind up in jail and be violated by the dregs of society.
When you keep us in the dark
When you don't post your release schedule concerning products that are failing
When you make upgrades a nightmare to implement
When you post performance results that are not true
When you remove widgets without warning
When your code is incompatible with every single plugin
We get upset. We don't want to use your product. We look for alternatives. We say bad and mean things about your company. We mock you.
Thank you for taking the time to write this post. I have escalated this internally.
Thanks. We really do like your products, I like your products. We just can't move forward, I have to advise against it at the moment. This is a tough position for me.
I did try to make this thread a little on the humorous side so as to not have it go too dark, but unfortunately I think a little dark is appropriate.
I'm not sure there's anything that I can do at the moment. Even if we wanted to upgrade, even if you guys fixed all the issues, even if there was a complete turnaround in how the SDLC worked at Sencha, our business just can't afford the time to take a second round at an upgrade to 4.x... It would detract too much from our attention in providing features and stability for our current set of customers.
The only hope I do have is: You continue to support ExtJS 3 and have that as a well maintained fork. I shiver when I think of newer IE versions.
I hope this helps to improve ExtJS and Sencha.
Hi there -- thanks for the insightful and colorful :-) feedback. This is one of those conversations where I have to say there's no great answer. Let met start by saying you're right: we didn't make the Ext JS 3 to 4 upgrade easy. We shipped a compat.js that helped, but for many people it involved a rewrite of their application. Ext JS 4 has a ton of benefit on top of 3.x, and it took a while to mature in terms of features and in terms of performance, but I'll spare you the marketing fluff here. We've been diligent to keep the APIs the same between the versions of Ext JS 4.x, making minor tweaks here and there (the bufferedrenderer plugin for Ext JS 4.2 being a great example of the kind and scope of change we make). We've committed (communicated in the blog) that we'll continue to support Ext JS 3.x for 12 months after we ship Ext JS 5 (whenever that may be). We also plan to make updates to Ext JS 3.x to support IE10 as part of that commitment to supporting Ext JS 3.x.
The experience around the upgrade for our customers has taught us a lot on how we manage APIs and compatibility and its informed a lot of our thinking about how the future of our products needs to be better about managing that compat. I should also add in since you mention it, we don't publicly communicate our schedules and that's an intentional decision. Yes, it can be frustrating but we'd rather not be in a place where we commit something and have our customers build expectations around it and then let them down. We try to be open and honest in communicating in our forums, but release dates and the like probably won't be as transparent as you'd like.
Like I said, no great answers here, but hopefully you'll see some great improvements with Ext JS 4.2, Touch 2.2 and more that shows why sticking with Sencha frameworks make sense for your business.
I appreciate your response and keeping the fluff to a minimum, I do, it goes a long way for me.
I would say in terms of supporting IE 10, it's too late, it's already out. People have this as their browser. Yeah, we bypass a lot of issues by controlling the doc-type served up, but it's disconcerting. Also, as I understand, updates to JS 3.x will only be supported with bug-fixing, ticketed updates. Is this true?
In terms of communicating timelines and schedules. I hear you, I do. But, not on all release types, that's not how people do business. It's reasonable to say, "Yeah, we don't know when version 5 is coming out". But, this isn't about communicating when version 5 is coming out. This is about communicating when updates will be released which fix critical bugs.
We aren't busting your chops about when that release with the 3 dimensional super positronic spinning chart doohickey will be available. We're busting your chops because your code was riddled with bugs, performance problems, and was missing features.
I would dare say that it is your civic duty, your ethical and moral imperative, your purpose as human beings on this planet (apart from procreation), to communicate when you're fixing a bug that's messing up a customer. Are you guys gonna mess this up at first? Yeah, of course. But, predicting when software will flow out the door is paramount in this business. Join the team, learn from your mistakes. Try.
Have I seen improvements in 4.x, yeah, it's great, it's clean, love the dependency checks, love the new patterns, the new ways to "do stuff". But, it literally doesn't mean anything if it doesn't work. If I can't depend on the company behind the product. If our customers can't use it.
Ext JS is not for a flashy web site, it really is made for Business Intranet type applications. It is made to view data, it is made to administrate, it shines in this area. And, it does look flashy yes... In my limited experience, the majority of users at businesses use IE. Moreover, they don't have a choice, it is a mandate. Yes, this is changing, but not as fast as it should and besides, when and how that changes is not the point. The point is your stuff needs to work well with the major browsers. I would argue that IE is of extremely high importance, and equals that of FF and Chrome. Not because it's a good browser, we all now its gobe, but because that's what people use. Do I like writing applications for IE, do I like testing my code in IE, frankly I'd rather hang by my eyelids--I hear some people like this now, so to be clear, I am not one of them. But, do I sit with that pathetic debugger, rocking back and forth while that element selector churns and I try and use that excuse of a stylesheet modifier? Hells yeah, because it pays the godsdamned bills. Would I rather be scripting in Chrome all day long, on a linux box in VI or Emacs, you know it bro. But, that's just not my reality, and I suspect it's not the reality of others also. But, someday, one can hope.
IE is hear to stay. And yes, while that brings tears to my eyes and fills us all with homicidal rage it pays the bills. It pays for our goomahs and excursions to vegas.
Provide a date with regards to at least minor bug-fixing patches being released.
As someone also stuck with a big codebase on 3.4, I'd like to add that I do think the ExtJS 4.x transition was necessary. Could it have been managed more smoothly? Yes. But it was in my opinion necessary to move to a proper MVC architecture. The 4.x line is structurally easier to develop on, even if it is a pain to migrate to.
However, I do feel the same way about the poorly handled transition. I have two major complaints that have existed since the 4.0 release:
- 3.4 support has been essentially non-existant, with releases coming so late we ended up having to do our own maintenance work to support new browser versions. I don't see the point in paying for 3.x support unless dedicated resources are put on it (in fact, we're currently letting our support subscription expire because of that reason).
- The communication about performance of 4.x has never been useful. I want to know one simple thing: how does it compare to 3.4 for common scenarios on the slowest browser (IE7)? Sencha does not tell me that, so I cannot know when 4.x is ready to migrate to without actually trying to migrate (we're waiting on 4.2 to give it a go).
Since you used passed tense in "took a while to mature", this implies that the performance has indeed matured.
Originally Posted by hyperionab
Has it been forgotten that the requirement for performance on IE for v4 is to be faster than v3?
Or has this been achieved but not announced?
Or has the performance promise been quietly removed?
We are also still stuck with v3.4 and until the performance issues are fixed find *no* business value at all in v4+
I have already advised at least two clients to not adopt ExtJS and will continue to do so because:
- Too large a gap between 3.x and 4.x causing upgrade paths to be unacceptable in terms of effort
- Undelivered performance promises on 4.x on IE
- No transparency of critical patch update schedule
- Limited support on 3.x
- Removal of key feature sets in 4.x
In short, the software is great, but from a business perspective this just doesn't float. You have literally made it extremely difficult and risky to use your products. You go tell the boss that the last 3 months of dev work doesn't work on IE7.
My advice, change out the management and bring in a team focused on providing an SDLC that delivers products and support businesses can trust.
Hi folks --
As usual, thanks for all your input and the feedback you've given (and continue to give!) on the topic.
A couple of comments re: performance. First, Ext JS 4.1 fixed a lot of the layout performance issues that existed in 4.x. The layouts are drastically faster compared to 4.0. In some cases they will be slower than 3.x and in other cases faster. In Ext JS 4.2 the new grid improvements with the bufferedrenderer will make the grids much much faster (try the beta, it's pretty stunning). We text Ext JS on every browser combination (IE, FF, Chrome, Opera, Safari), in quirks and standard mode, on various operating systems, etc, so I want to be clear that we don't ignore IE. None of us love it, but we all have to live with it: our customers are your customers and they live on IE.
Now, for 3.x bug fixes. Ext JS 3.4.1 was the last release and it was -- admittedly -- a long time ago. We're due for an Ext JS 3.4.2, and I'm sorry, but I can't commit to when it'll happen. I can let you know that we'll start work on it once we wrap up Ext JS 4.2.0 so we can have some of the dev team go back and work on 3.4.2. That's the best answer I can give you right now.
Testing in multiple browsers is a great thing, thank you. However, approving a release despite the fact that several browsers fail important tests, well let's just say that's a paradigm I'm not sure I'm familiar with.
I really don't think you guys get it, or the ones that do are towing the party line. It's obvious that the those pulling the strings just do not understand what it means to have a product line that is "Ready for Prime Time".
This isn't a hatefest here, you guys really messed up.