Under review

Hi, does anyone think the new tabs implementation is horrible?

Rob 6 years ago updated 6 years ago 5

With the new tabs feature a new tab opens each time you open and edit a file or only open a file from the quick open menu. This effectively force you to close each file you open, like on a desktop, which to me seems pretty annoying. Previously each new file replaced the old one. Also I'm on a mini and would appreciate that screen space back.

I understand that someone would want tabs, that's ok. But shouldn't the normal way to implement this be to add a plus button, like in safari, so if you want an additional tab you create it as you wish, or not?

I tried to tell Alex about this, but he seems very contrary to reconsider his thinking (?) or even add an option to disable the feature. 

Also, since he added the forced tabs, should't there be at least keyboard shortcuts to switch between them or quickly close them?  >> A close all one? <<  The shortcuts lack a lot and you always have to use the hands.

What do you think?

All this situation seem very messy to me. I'm not trying to be critical or pretending that he does what I wish; I just don't understand why I'm not able to get this point to him or recieve a plausible expaination beside "I say so". It seems he shut down any negative feedback, yet many of his decisons don't really make sense. Wouldn't being able to adjust your assumptions make your app better? I feel he's very stubborn for no particular reason.

Here are some other issues I'd like others' opinion on:

-The lack of a trashcan: better not delete the wrong file, it's gone!

-Does anyone use the swipe gesture to move the caret (by one character each time!) or would prefer the traditional swipe right gesture to reveal the sidebar, at least on the iPad? 
With ios12 swiping on the spacebar will move the caret as you wish... both on phone and pad. (on never having this gesture Alex is "unmovable")

-Having a quick open menu like in Ulysses:
You can navigate it from the keybord and search through all the files, in all folders, AND their content.
Currently not even a shortcut to quickly open the "quick open" menu.

-What is the point of searching only file names in the current folder? it's quicker reading through them all.. and why the search bar have to be open all the time instead of being pulled down like any other app? It takes away a raw.

-No option to disable automatic indentation, why? driving me crazy..
-Anyone would like to use all the system fonts?
-Having a backup options of some sort? even just a zip archive to dropbox would do.. (I can do that manually..)

-Generally speaking, what is the point of replicating ios features? Tabs will be implemented with ios13 like are now on the mac, caret gestures are alredy implemented in the system keyboard etc.. isn't it a massive asted effort?

Just some ideas... Rob

Under review

Just a few quick points:

Pythonista uses the "+" button to add new tabs. The problem with this is that when I'm currently working on a file and I'm opening another file, if I forget to tap the + button, the file is replaced with the file I open. Instead, I'm doing something very similar to what desktop code editors like Sublime Text, Visual Studio Code, Atom and TextMate do: in those apps, files are opened in a new tab, but the tabs are only kept open if you double-click them. This is done so that you don’t end up with many, many tabs when you are just browsing a project. I don't think the browser model works well in a text editor. See https://www.textasticapp.com/v7/manual/viewing_editing_files/tab_bar.html for details.

I put a lot of thought into this, tested a lot of ideas and looked at what other apps are doing. I tried out many things and this is what worked best for me. I get it that you don't like the implementation, but I do. I can't just change the implementation afterwards. I have received very little criticism for the tabs implementation, so it can't be that bad/wrong.

I often use Textastic to load an open-source project from someone else and browse the project. For this use case I find it very useful that I can keep files open in a tab that I want to look at and be sure that they are not replaced when I open another file. I also like the transient tab that gets replaced when I tap on another file so that I don't end up with many, many tabs. 

That's also where the new fuzzy file search comes into play: I navigate to the root folder of the project (which can have many files in many subfolders) and then I can search for file names in all subfolders. I only want to search in that project, not in all files in all locations.

There are keyboard shortcuts to switch between tabs: Ctrl-Tab and Ctrl-Shift-Tab. You can close the current tab with Cmd-W. See https://www.textasticapp.com/v7/manual/viewing_editing_files/keyboard_shortcuts.html for details. There is currently not keyboard shortcut to close all tabs.

By the way: In Textastic 7.0.3 I added keyboard shortcuts to navigate in the list of files, symbol list and search results with the cursor keys. I also added a keyboard shortcut to show the sidebar (always works, contrary to the swipe gesture you mention). This was in response to your feedback.

A trashcan sounds like a useful addition.

I implemented an "Open Quickly" command in Textastic for Mac that searches in all folders added to the sidebar, and in iCloud. It sure sounds like a good idea to have in addition to the "find files in folders" function, but I wanted to release version 7 eventually, so I haven't implemented it yet.

The same goes for a "Find in Files" function. Implemented in Textastic for Mac, not yet in Textastic for iOS. I started implementing it, but removed it to finish v7.

The search does not only search in the current folder. It searches in all subfolders as well.

I decided against moving the search field and sort options under the navigation bar for a few reasons: 

1. I did try to implement it, but there was a bug in iOS - I cannot remember exactly what the problem was, since this was quite a few months ago

2. people won't easily find the options when they are hidden

3. it only takes one file away from the list of files - for that reason, I prefer that users find the search and sort options

Honest question: when does automatic indentation get in your way?

Adding the option to select system fonts would certainly be a possibility. If more people request it, I'll surely implement it. I don't think this is a much-requested feature. Feel free to vote for it here: https://feedback.textasticapp.com/communities/1/topics/1978-font-selection-like-in-ulysses-app

Backup: I think it's the first time I read such a feature request. You can always upload your files to a remote server or use iCloud - then you get automatic backup and you can even restore deleted files from the iCloud website (similar to a trashcan).

I don't know what happens in iOS 13. iOS is very different from macOS - I don't think you can add system-wide tabs as easily on iOS since there is no concept of windows on iOS and the frameworks generally work very differently.

Tabs were necessary to implement the SSH terminal connections.

Please, you are welcome to add individual feature requests to the feedback forum: a separate feature request for each issue is necessary though. Then people can add their votes for it and discuss it. One large topic with many feature requests mixed into one does not work well.

Regarding tabs, there is one other point you need to consider: there are not only file tabs, but also SSH tabs.

When new tabs could only be added with the "+" button, what should happen when you have an SSH tab active and then open a file? I would never want the SSH connection to be closed and replaced with a file I open. Should this open a new tab then (even if the "+" button was not pressed)? Should it replace another file tab (which one?)? It wouldn't be consistent in one way or another.

Disabling tabs is not really an option for the same reason: if there is no tab bar, I couldn't open a SSH connection in a tab (at least if I want to be able have a file open and an active SSH connection at the same time).

Hi, I elabrate a bit more:

Ok, so the tab implementation works for you, how you use the app and is how you like it, but what I'm not able to explain to you is that it doesn't work for my workflow, and you can't just say suck it; you have to consider that too!.

My objection is that you made a general case for a single case scenario: how many time did you need a second tab but forget to plus it vs the time you don't need it but are forced with one? How many time you browse other people project vs work on your own?
A tab with an ssh connection can be a special case where another tab opens automatically vs the general case where it's like that all the time.

In my case I never need or want more than one tab: I open and edit each file then move to the next one, often in another folder (and that's why I'd love an improved quick open menu, usable from the keyboard!). So after a while I end up with dozens of tabs that I have to close individually one by one! In my opinion havin 40 tabs open that I cant even read, that I can't naviagte between, and that I never intended to have is an horrible result (for me). 

This is a case scenario too, it's part of the functionality of your application even if you don't use it, and you have to provide a workable solution for that too.

You say people don't care or complain, but by your own reasoning, that would be true for pythonista as well, yet you didn't liked it and created a different implementation. So you are a dissatsified pythonista user: wouldnt it be nice if it offered an option to accomodate your workflow too? wouldn't it be a better application like that?

The easiest way would be an option to have the tabs or not.. (you could reuse the old code when there weren't), even better a dynamic plus button which changes state by long pressing (switch from automatic tabs to regular one!); an option to close all open tab in one go (with so many open isn't it an obvious need?) you could differentiate better the conditions when a new tab is open vs not (es local files vs remote.. etc), create a maximum number or tab that are open automatically vs plussed (es after the second or third it doesnt open without explicit interaction) or whatever..  (I'm such an idea man.. ha!)

Either way, you have to consider all the possible uses, not just yours.
If in a scenario the user expreince sucks a lot (like in mine), you can't just leave it like that. Are you impling that I'm doing it wrong? 

For the rest:

The automatic indentetion is a problem for me beacuse often I write sentences with related points spaced in underneat them
  like this one
  and this one

for better readability, then pressing return it keeps that and often time I realize only after having written several lines and I have to go back and delete all the spaces..

The backup I alredy do manually, but its a chore.
iCloud isn't really a backup, because whatever you change or delete is changed there right away as well.

The other point I'm sure you can find an implementation if you want to add em (please the quick open menu!).

Cheers, Rob


@Rob, I have a similar workflow, but have no problems with managing tabs and indentation. No implementation satisfies every aspect of the way we would like to work, so we make adjustments. Because every developer is different, products that provide for such adjustments are what makes them great. In this case the minor adjustments are easy and have no effect on my productivity. I would prefer the developer not add time, money, and additional complexity to change something that really doesn’t need changing.

Textastic is one of the few real gems in the App Store. It lives at the top of my list along with Pythonista and Working Copy. The fact that the developer even has this suggestion forum — with real feedback and concrete improvements — is absolutely first class. Fixing minor inconveniences takes a lot of resources, resources that I’d rather see go toward expanding the capabilities of this app, like he’s done with app integration. I think it is not so difficult to learn to manage tabs and spaces, and let the developer work on greater ideas.

P.S. Thank you, Alexander Blach, for a wonderful application.

That's exactly what I'm saying: if no one-implementation can satisfy everyone, why have a one-solution-fits-all approach in the first place? That is what my objection is all about.

Regarding the automatic indentation, beside being a great problem of mine, is a user experience issue: you can make choices implicit if the behavour is what people expect, but have to provide an option or at least a clue when that is not the case.

Is having automatic indentation how people expect a text editor to behave? The answer is no, no desktop editor have this feature, and that's why an option would be needed (and why I always forget the damn thing is there).

A famous example is the network toggle in control center in iOS: when you switch the wi-fi off is it recconecting whenever it wants how you expect it to behave? No, and that's why many people, me included, hate it so much. Whats the point of turning it off it it alwas get back on? might as well leave it on all the time.

Of course there are some minor cases where that behavious could be relatively advantagious, but then leave it always on: why I have to do that if it's you that have the problem? The fact that that behaviour is conveniet for Apple and they want to force people into it is a different story.