Griefs with the latest beta (14) and poor code/doc quality

First, I’m very happy with Ionic so far, it’s a great product, thanks to all those involved.

I just want to share my little disappointment with the last release. It’s still a beta, but I fell the quality went down from the previous releases.

I have straight deactivated the new view caching feature which is too likely to introduce bugs in my opinion. It’s great you thought about this feature and decided to give it a go, but not obvious to me if it should be activated by default, as it’s something that bites you if you don’t know what you’re doing. But this is just my opinion.

What disappoints me is existing components getting less usable than they were.
I had my ionNavBackButton simply showing an icon and no text, all relying on the template

<ion-nav-back-button class="button-icon icon ion-chevron-left">

Upgrading from beta 13 to 14, there’s the previous page title now appearing.
You decided that is the default: fair enough ! Why not. And here I am expecting a directive option to not show any text there…
Nope ! Nothing like this in the docs. I check the source: the directive is now parsing its body to find out if I wrote some custom text, and if not, it will add the previous title. Oh and it also parses its own CSS classes to decide if it should automatically set the left arrow icon, by checking… if one of the classes contains the string “ion-” or “icon” ! This is a surprisingly hacky way of doing things from a team that I know is capable of doing great things. It will get caught by custom classes such as “noiconplease” of course (contrived sample).

Further, why do you make it so hard to get rid of that previous title and icon ? If I want nothing in there, I’ll write nothing as the directive’s body. You are making a simple desire very hard to accomplish, and almost force a specific use-case into being the norm.

The doc was unhelpful but thankfully the forum search works fine and I found this post to help me…
Or at least to put me on the right track. $ionicConfigProvider was the solution, but the documentation was frustrating there too (no, $ionicConfigProvider.backButton.text, icon and previousTitleText methods do not return a string. They return the object itself which allows chaining)

I find that experience contrasts with my previous enjoyment of Ionic. Are you guys stretched too thin ? Are you trying to do too much too quickly ? I know building a framework is hard. I only hope that this drop in quality is just an accident.

My 2 cents for this specific issue: a directive attribute would be a much better fit for configuring the back button than the global config. Something that says: I don’t want automagic things, thank you, leave my directive empty if I write it so.

And once again, thank you for your work so far and sorry for the rant. I looked like a silly angry person but secretly, I am your supporter and wish you guys the best.


On a more positive note, this forum is usually helpful and the search functions and linked posts do a good job at finding answers. Good job on that !

I had a similar result when updating to beta 14, but I found the $ionicConfigProvider documentation provided a clear and simple solution. A single line in app.js got me back to the back button I had before: $ionicConfigProvider.backButton.text(’’).icon(‘ion-ios7-arrow-back’).previousTitleText(false);

Personally I’d rather that they make tough changes like this now, in order to get Ionic to the best possible place for it’s 1.0 release. And sure, the documentation has plenty of room to be improved, but it’s honestly pretty impressive for a beta project that’s moving as quickly as Ionic is, and will no doubt continue improving towards Ionic’s official release.

I understand bugs on new features and on a beta version.
What is more surprising (and annoying) are regressions such as clearing the history not working any more. Or the change as above that was documented only on $ionicConfigProvider, not on the nav bar button where most people will look first.

About the fact this is a beta, I’m not sure this is fair when you see the home page of ionic: all the buzz-words are thrown in (Rich, performance-obsessed, robust…) and there’s even a showcase to demonstrate what great apps are live today on the app stores - to me, this is clearly saying it is considered good enough for production, just like Gmail beta was for a quick example.
As another indication, the latest beta (14) was itself… beta-tested by people here in the forum before being released.

Now, again, I’m mostly very impressed with everything that is being built. The CLI tool seems better and better. I guess I just wish the JS library did not get so many new additions on every release, while it introduces regressions. It makes it more challenging to justify working on Ionic in a company today.