They are not in the charting nor data business. It's nice to have it all but I like the focus on execution and pricing.
Agree, I'd much rather have IB focus on low commissions and trade execution rather than charting. There are 3rd party charting platforms and market data available if others are not satisfied with IB's included offering.
It is the responsibility of the trader to find the best broker for his/her needs. It's not IB's responsibility to provide whatever feature or pricing structure that someone desires. Personally, I don't borrow on margin so I don't care what IB charges for their margin rates. I do appreciate that I get paid at least some amount (currently around 1.6%) on my idle cash. My bank doesn't do that. I also appreciate that they don't charge for exercise and assignment beyond the typical cost of executing a stock / ETF trade. I can't find another broker that does that. I also can't find another broker that offers a very extensive API for free to all it's users. I'd much rather have that because then I can do whatever I want with the data vs. being limited to how my broker thinks I should view price. If you want something like TradingView, it's available for free and I use it daily.
That said, things I think IB could fix and probably would not cost them much time or resources:
-Better historical data. Even on SPY, I see one or two instances where it traded higher than thousands of $ in 2007. Everyone sees that (if looking at daily bars). Why not fix the obvious errors. (Although I made a simple Java-based adjuster that does this. Happy to share the code if others are interested, only useful for offline post-processing, not for viewing data in TWS.)
-TWS is really slow to load. After loading, it's fine. I have a quad core Intel i5-8350U laptop with 32 GB of memory and it takes a much longer than expected time to load. Some will blame this on Java and as a Java programmer, I know that Java is not the problem (TOS is also implemented on Java and loads faster). If someone gave me the TWS source code and a month, I'm sure I could make it more efficient.