3:58:55 AM aristidesfl: rsms: I've been thinking about tabs lately
3:59:13 AM aristidesfl: I think you did an awsome job with the chrome tabs
3:59:52 AM aristidesfl: and I think they are the most beutiful and functional tabs I ve seen so far
3:59:54 AM aristidesfl: but
4:00:12 AM aristidesfl: I'm wondering if they are the best solution
4:00:15 AM aristidesfl: I mean
4:00:36 AM aristidesfl: They are pretty intuitive and they are pretty much the standard
4:00:55 AM aristidesfl: and they work pretty well
4:01:08 AM aristidesfl: (with a few files)
4:01:25 AM aristidesfl: but when we pass the 7 barrier
4:01:45 AM aristidesfl: they start to show their limitation
4:01:51 AM codykrieger: I rather like them, they're wonderful. Already loads better than TM's tabs...we just need a way to have them scroll.
jedivulcan_ [~jedivulca@wikia/majorthomme] entered the room. (4:01:56 AM)
4:02:58 AM codykrieger: Instead of the BS way TextMate does it with the little arrows, and no way to see what actual tabs you have open. Tab scrolling would be awesome.
mikemeyer left the room (quit: Quit: Computer has gone to sleep.). (4:03:09 AM)
4:03:27 AM aristidesfl: codykrieger:
4:03:45 AM aristidesfl: look at the user list of this chat room
4:04:05 AM aristidesfl: imagine that it what displayed horizontally
4:04:28 AM aristidesfl: it would take much more time to scan
jedivulcan left the room (quit: Ping timeout: 260 seconds). (4:04:41 AM)
jedivulcan_ is now known as jedivulcan (4:04:42 AM)
4:04:53 AM codykrieger: True, but I don't honestly think that you can ever be truly working with that many files at once. Not efficiently.
4:04:58 AM aristidesfl: because they are spread in a bigger area
4:05:31 AM aristidesfl: codykrieger: not with tabs
4:05:45 AM aristidesfl: codykrieger: not with tabs, you don't
4:05:58 AM codykrieger: I've definitely had that many things open before, but I've never actually worked on that many things simultaneously.
4:06:13 AM puls: has the way textmate or safari does it ever become a serious limitation? I say no
4:06:42 AM codykrieger: Right, I think that it forces you to be more reasonable, actually.
4:07:10 AM aristidesfl: the second reason the vertical disposition works better is because you can scan the initials of the names more easily
4:07:39 AM aristidesfl: right now
4:07:58 AM aristidesfl: you have to close and open and close and open and close and open
4:08:02 AM aristidesfl: often the same file
4:08:10 AM aristidesfl: because you don't have space
4:08:20 AM aristidesfl: and because it because unmanagable
4:08:23 AM aristidesfl: it's a limitation
4:08:25 AM aristidesfl: not a feature
4:08:27 AM aristidesfl: and
4:08:46 AM aristidesfl: it there are kinds of applications/projects where a few files are ok
4:08:58 AM aristidesfl: others are just to big and complex
4:09:31 AM codykrieger: Limitation can be one of the best parts of a piece of software with a vested interest in minimalism.
4:09:45 AM codykrieger: Limitation within reason, at least.
4:09:47 AM aristidesfl: can
4:09:53 AM aristidesfl: can be
4:10:29 AM aristidesfl: but that is a choice that you want to make yourself
4:10:50 AM aristidesfl: not because is to hard to handle many files
4:11:06 AM aristidesfl: Tabs have limitations
4:11:16 AM aristidesfl: firefox guys are the firt to admit it
4:11:27 AM aristidesfl: and they are currently searching for solutions
4:12:02 AM aristidesfl: I think we should at least give it a thought
4:12:14 AM codykrieger: Giving users less ways to shoot themselves in the feet is a good thing, though. I'd argue that since you can only have so many tabs open at once, without going to multiple windows, it forces you to work on less things at once. Multitasking is a killer of productivity in a lot of cases.
jgjay left the room (quit: Ping timeout: 276 seconds). (4:12:34 AM)
4:12:50 AM codykrieger: Yeah I'm not opposed to checking it out, but tabs seem like a great solution in this case.
4:13:01 AM aristidesfl: multitasking is having to think about managing tabs and coding at the same time
4:13:26 AM aristidesfl: that is multitaskin
4:14:10 AM codykrieger: Maybe. But what would happen to the sidebar? Would it become a dual-functionality kind of thing? Project navigator and open file navigator?
4:14:11 AM aristidesfl: the oposite would be don't care about closing the funcking tabs because you can actually manage them efficiently
4:14:31 AM aristidesfl: that is espresso aproach
4:14:37 AM codykrieger: Espresso has an interesting way of handling it.
4:14:41 AM codykrieger: Exactly, yeah.
4:14:59 AM aristidesfl: I found it weard at begging
4:15:08 AM aristidesfl: but now find it interesting actually
4:15:26 AM codykrieger: But then how do you navigate those files with the keyboard? cmd+[ and cmd+] aren't as intuitive, because you're not navigating left and right anymore.
4:15:40 AM codykrieger: Or shift+cmd+[ rather.
4:15:47 AM aristidesfl: even more if I could have the files organized by last use, like application swithcer in MacOS
4:17:21 AM aristidesfl: well, we could navigate by typing the name
4:17:31 AM aristidesfl: on the locationbar
4:17:41 AM aristidesfl: or by up and down arrows
4:17:45 AM aristidesfl: or any other shortcut
4:17:47 AM codykrieger: Why not just eliminate open file navigation completely at that point then?
4:17:56 AM codykrieger: And just use an open-quickly model?
4:18:10 AM aristidesfl: that is interesting also
4:18:27 AM aristidesfl: http://www.cs.brown.edu/people/acb/codebubbles_site.htm
4:18:29 AM codykrieger: That's more Vim-like in that it's closer to a modal interface.
4:18:32 AM aristidesfl: did you see this?
dyer_ left the room (quit: Quit: Away). (4:18:55 AM)
4:19:37 AM codykrieger: That is weeeeeeeiiiiirrrddd...
4:20:03 AM codykrieger: Interesting concept. That would really take some getting used to.
4:20:45 AM codykrieger: Considering Kod is supposed to be a text editor, I don't think we can get quite that crazy, but interesting nonetheless.
dyer_ [~dyer@unaffiliated/voxeojohn] entered the room. (4:21:24 AM)
4:21:53 AM alisdair: tabs are pretty silly really
4:22:05 AM alisdair: just load all the files in the project into memory
4:22:14 AM alisdair: and you can switch between them instantly anyways
4:22:54 AM codykrieger: That could be a potentially crippling thing, though. Where do you draw the line with which files to load into memory? Maybe I've got a 90mb log file in the project...don't want that loaded.
4:23:17 AM aristidesfl: yeah that's probably not the best idea ever
4:23:25 AM codykrieger: You could have some kind of filter, I suppose, like "don't load .log files into memory"
4:23:30 AM alisdair: 90mb is tiny though
4:23:32 AM alisdair: on modern systems
4:23:56 AM alisdair: i can have a video project open that's 1.5 gb
4:23:59 AM alisdair: with no problem
4:24:10 AM alisdair: i can't have a couple hundred mbs of text?
4:24:39 AM codykrieger: Yeah, but I think the second Kod starts taking up large amounts of memory upon starting up, it becomes more like a typical IDE in terms of memory usage.
4:25:22 AM aristidesfl: alisdair: but is not only about loading the text
4:25:29 AM aristidesfl: its about parsing
4:25:55 AM alisdair: well
4:25:57 AM aristidesfl: I'm sure your video software doesn't open in a couple of seconds
4:25:59 AM alisdair: you wouldn't preload everything
4:26:03 AM codykrieger: It wouldn't necessarily have to be parsed after being loaded into memory. That would be hugely inefficient on the part of the parser, which should really only parse visible text at once.
4:26:04 AM alisdair: you'd load lazily, on demand
4:26:07 AM alisdair: and parse on demand
4:26:27 AM alisdair: but tabs are just a poor way of organizing trees of data, like projects
4:26:31 AM aristidesfl: but then no advantage in loading into memory
4:26:48 AM aristidesfl: is just tiny text is loads fast anyway
4:26:54 AM aristidesfl: what takes time is parsing
4:27:04 AM aristidesfl: the real purpose of tabs is to provide quick access list of current working files
4:27:19 AM aristidesfl: right now
4:27:41 AM alisdair: right, what i really mean is that when you switch documents, don't discard the current doc, just load the new one
4:27:45 AM aristidesfl: and for that purpose I think espresso approach works better
4:28:01 AM alisdair: every file in the project should be considered a current working file
4:28:34 AM alisdair: if your source hierarchy is insufficient to provide quick access to files, then there's better ways to improve access than tabs
4:28:49 AM aristidesfl: alisdair: sure but a file that you used recently has higher probability of being needed again in the near future
4:29:08 AM alisdair: right, that's why you don't discard it, just keep it referenced but inactive
4:29:34 AM aristidesfl: sure but that implementation details
4:29:40 AM alisdair: the only reason we put up with tabs for quick access to documents is because firefox does it
4:29:48 AM alisdair: and no one has really thought about better ways to do it
4:29:50 AM aristidesfl: I was refering in the user point of view
4:29:59 AM aristidesfl: yes
4:30:02 AM alisdair: i am too, i think tabs are awful
4:30:13 AM alisdair: from a ui perspective
4:30:28 AM aristidesfl: and because tabs are a good real world metaphor
4:30:46 AM aristidesfl: they are not always aweful
4:31:11 AM alisdair: why don't we use a tabbed interface on the desktop then?
4:31:13 AM aristidesfl: but they become when the number of tabs exceeds a certain value
4:31:18 AM alisdair: why a window paradigm?
4:32:44 AM aristidesfl: http://☁.ws/崧
4:32:48 AM aristidesfl: look at this
4:33:22 AM aristidesfl: what I wouldn't give for vertical tabs
4:33:40 AM codykrieger: Vertical tabs, or an Espresso-like implementation?
4:34:03 AM aristidesfl: I like espresso implementation
4:34:34 AM aristidesfl: cause it just takes a little bit of space from the tree
4:34:59 AM codykrieger: As soon as you have that many things open, though, the whole tree is either gone, or you have to scroll a lot.
4:35:07 AM codykrieger: Both implementations have issues with having large amounts of files open.
4:35:14 AM aristidesfl: sure
4:35:37 AM aristidesfl: but espresso handles more
4:36:01 AM codykrieger: Depends on your window dimensions
4:38:13 AM aristidesfl: What if
4:38:18 AM aristidesfl: single files
4:38:29 AM aristidesfl: files open in tabs
4:38:40 AM aristidesfl: folders open in tabs
4:39:11 AM aristidesfl: if you open files from the tree
4:39:11 AM alisdair: what about instead of persistent tabs, you just keep the last n documents viewed in some sort of queue you can move around in?
4:39:27 AM aristidesfl: yeah
4:39:42 AM aristidesfl: we coud stiil keep tabs
4:39:58 AM codykrieger: Or maybe ditch tabs...Exposé approach.
brettgoulder left the room (quit: Ping timeout: 240 seconds). (4:40:03 AM)
4:40:36 AM codykrieger: Hit a key combo, bam, you're zoomed out and see a bunch of files you've opened with little previews and whatnot.
4:40:49 AM alisdair: yeah
4:40:55 AM alisdair: i think expose is much better than tabs
4:41:05 AM aristidesfl: well..
4:41:07 AM codykrieger: Move around w/ keyboard or mouse, pick your file, you're zoomed back in and focused on one file at a time, completely modal.
4:41:14 AM aristidesfl: I personally don't like expose
4:41:42 AM aristidesfl: I think it is slower than the application list
4:41:47 AM aristidesfl: or window list
4:41:51 AM aristidesfl: or typing
4:41:56 AM codykrieger: As cool as I think that idea is, it might be a little too different for the majority of people who are going to be using Kod.
4:42:14 AM aristidesfl: and there is another problem
4:42:35 AM aristidesfl: the reason expose works on mac is widows are different
4:42:43 AM aristidesfl: code windows are code windows
4:42:59 AM aristidesfl: onde they are miniaturized its hard to distinguish them
4:43:26 AM aristidesfl: what if
4:43:46 AM aristidesfl: each folder (project) has his own tab, and the files that belong to that project open in the same tab in the side bar a la espresso
4:44:16 AM aristidesfl: and if you open a single file that doesn't belong to the folder/project it opens in a different tab
4:44:33 AM codykrieger: I think that just adds unnecessarily vertical bloat to the window. I'd just open a separate Kod window for a separate project.
4:44:53 AM codykrieger: unnecessary*
puls left the room (quit: Ping timeout: 264 seconds). (4:45:05 AM)
4:45:07 AM aristidesfl: by vertical bloat wou mean?
4:45:35 AM codykrieger: The extra amount of vertical space taken up by the tab bar - 90% of people are only going to be working on a single project at a time, most likely.
4:45:38 AM sivel: if kod starts focusing that much on "projects" it will end up being just another code editor that no one wants to use. I think what is going to make this special is if it maintains itself as a simple minimalistic code editor
4:45:52 AM codykrieger: Right, that's what I think as well.
4:46:08 AM aristidesfl: ok forget the projects
4:46:16 AM aristidesfl: replace that with folders
4:46:27 AM aristidesfl: codykrieger: the tabs are optional
4:47:00 AM aristidesfl: if there is only one tab it could diappear
4:47:06 AM aristidesfl: and be only the window
4:47:48 AM aristidesfl: the advantage I see in having tabs instead of windows is that navigating between windows of the same aplication is not that fast
4:48:00 AM aristidesfl: not that organized
4:48:18 AM aristidesfl: that is why most people like tabs browsers
4:48:36 AM codykrieger: Right, but again, the focus is on the text editor, not necessarily Kod's ability to handle folders and projects.
4:49:48 AM codykrieger: It just first and foremost be a great text editor. Able to be used for a single file very easily, and also just as easy to open a folder with it and work on multiple files. But much past that I think is outside the scope of what Kod is.
4:51:05 AM aristidesfl: sure
4:52:27 AM aristidesfl: but you have already lots of fast text editors
4:52:34 AM aristidesfl: use text edit
4:52:37 AM aristidesfl: its fast
4:52:47 AM codykrieger: But it's not a programmers' text editor.
4:52:52 AM aristidesfl: use textmate
4:53:02 AM aristidesfl: use vim
4:53:09 AM aristidesfl: emacs?
puls [~pu...@c-69-181-30-70.hsd1.ca.comcast.net] entered the room. (4:53:50 AM)
4:53:54 AM aristidesfl: what I mean is
4:54:12 AM aristidesfl: everyone has their ones hopes about code
4:54:28 AM aristidesfl: and they want to see they feature fulfilled
4:54:40 AM aristidesfl: if they don't bring compromise
4:54:55 AM aristidesfl: I don't see any reason not to make them happen
4:55:32 AM codykrieger: It just seems too IDE-ish when that's not Kod's primary focus.
4:57:25 AM aristidesfl: come one
4:57:47 AM aristidesfl: it becomes an IDE because it can handle mode that one folder?
puls left the room (quit: Ping timeout: 240 seconds). (4:58:03 AM)
4:58:06 AM aristidesfl: http://☁.ws/䘶
puls [~pu...@184-194-202-37.pools.spcsdns.net] entered the room. (4:58:10 AM)
4:58:18 AM aristidesfl: 11 files
4:58:29 AM aristidesfl: vertical vs horizontal roganization
4:59:15 AM aristidesfl: tabs look better
4:59:21 AM aristidesfl: but try to find something there
4:59:42 AM codykrieger: Sure, but that doesn't handle the multiple folders thing
5:00:04 AM aristidesfl: it doesn't
5:00:29 AM aristidesfl: 2 different battles
5:00:49 AM aristidesfl: the 2nd battle is
5:01:03 AM aristidesfl: tabs really work well when there are not too many
5:01:17 AM codykrieger: Right, because like I said before, I'm not opposed to vertical navigation. But I do like the tabs.
5:01:26 AM aristidesfl: and so maybe it makes sense to use them to something else
5:02:01 AM aristidesfl: you could still deatach them
5:02:37 AM codykrieger: I think if we ditch tabs for files, we ditch tabs entirely. No point in keeping them just to add multiple projects functionality. That's the whole point of window separation.
5:03:44 AM aristidesfl: I think the main point of window separation if so be able to put them in different monitors or compare files side by side
5:04:10 AM aristidesfl: you could still use tabs
5:04:15 AM aristidesfl: when you open files manually
5:05:16 AM aristidesfl: vertical tabs would be working only when working on a folder and the sidebar is therefore active
5:06:10 AM aristidesfl: fuck
5:06:12 AM codykrieger: Then we've got two completely separate and distinct ways of managing files with Kod, which flies in the face of minimalism.
5:06:14 AM aristidesfl: 5 in the morning
5:06:21 AM codykrieger: lol it's only 11pm here
5:06:45 AM aristidesfl: that is true
5:06:52 AM aristidesfl: not very minimalistic..
5:07:10 AM aristidesfl: but then… remove
5:07:14 AM aristidesfl: the tree
5:07:22 AM aristidesfl: start removing things
5:07:32 AM aristidesfl: and it gets more minimalistic
5:08:03 AM aristidesfl: but I see what you mean
5:08:18 AM codykrieger: Yeah I mean that's really my biggest concern with an approach like that.
5:08:45 AM aristidesfl: the way I see tabs
5:08:54 AM aristidesfl: is just a whay of grouping windows
5:09:06 AM aristidesfl: you have different windows
5:09:24 AM aristidesfl: and you can actually put them on top of each other
5:09:26 AM aristidesfl: like tabs
5:09:44 AM aristidesfl: that is what a tab shoud be
5:09:47 AM aristidesfl: a window
5:09:50 AM aristidesfl: not a file
5:10:01 AM aristidesfl: files belong to the sidebar
5:10:38 AM aristidesfl: but that is just one aproach
5:10:52 AM aristidesfl: that I think has potencial
5:11:14 AM codykrieger: The issue then becomes, what happens when you hit cmd+t? Where does the sidebar open to by default?
damon__jones left the room. (5:11:50 AM)
5:11:56 AM codykrieger: All of a sudden cmd+t has a lot more meaning behind it, which could be totally unexpected by the user.
5:12:14 AM aristidesfl: well
5:12:19 AM aristidesfl: that is a ™ thing
5:12:23 AM aristidesfl: textmate
5:12:30 AM codykrieger: cmd+t no longer means just opening up a fresh blank file, it means opening an entirely new "project"
5:12:33 AM aristidesfl: in tabs world
5:12:41 AM aristidesfl: cmd tab means: new tab
5:12:54 AM aristidesfl: forget projects
5:13:07 AM aristidesfl: in a new tab you can open whatever you want
5:13:21 AM aristidesfl: file, folder, webpage,
5:13:36 AM aristidesfl: there are no projects
5:14:00 AM codykrieger: I'm using folder and project interchangeably - same difference to me.
5:14:37 AM aristidesfl: sure I'm just worried about the connotations the word projects brings attached
--
You received this message because you are subscribed to the Google
Groups "Kod.app" group. To unsubscribe from this group, send email to
kod-app+u...@googlegroups.com (More info at http://groups.google.com/group/kod-app)
And expose, are you kidding me?... Each time you want to switch
between files, you'd have to press a shortcut, look at miniatures of
files (which look the same from distance), move the cursor to one of
them and click it - how is that faster than pressing
Cmd+Alt+left/right? And if someone doesn't have two big screens, they
often need to switch back and forth between 2 or 3 tabs all the time
if they're working on 2 or 3 related files (like code and test)...
this is a very basic action and it needs to be fast and simple.
Also, I don't like the idea of opening separate projects in tabs and
then separate files of these projects in other tabs within those
tabs... that's probably too complicated. And loading every file from a
project into memory at startup is also obviously a bad idea - and even
if it wasn't, the purpose of tabs is not to limit the amount of data
that the editor has to load, it's to let you switch between a few
currently open files as quickly as possible.
And "you have already lots of fast text editors, use textmate" is a
bad argument - I think most people here would agree that what we're
looking for is something very similar to TextMate, just better. It's
not another Netbeans that we want, it's another TextMate.
(Sorry if I sound harsh, it's probably because I got woken up earlier
than I planned...)
JS
I like how in Xcode, by default, cmd-opt-Left and cmd-opt-Right used to go backward and forward in the history of opened files. They changed these defaults in a recent version so those keystrokes go backward and forward in the history of your editing position, which is more fine grained because you might jump around within a file any number of ways. I prefer the old way, so my Xcode has:
* cmd-opt-Left/Right = go to previous/next file in history (at the position where you were editing)
* cmd-opt-shift-Left/Right = go to next editing position in history
Note that the same file may occur multiple times in your history.
Between these keystrokes, the popup menu of open files, global search, and Open Quickly, I don't mind the absence of tabs in Xcode.
> * use temporary tabs
> I sometimes have to browse through several files, looking for a
> certain
> piece of information. In current editors, this leads to enormous
> tab-overload. An option to auto-close a tab would be great.
>
> Ane possible implementation: arrange the tabs by last recently used. A
> keyboard shortcut allows you to "browse" thru. Single clicks (or
> selection
> with arrow keys) in the project tree will open the tab (all left)
> temporally,
> a double click (or enter) permanently.
>
> This could be combined with the "at most X tabs" approach; just remove
> the
> ones on the right side.
Because Xcode doesn't use tabs, I never worry about tab overload, though I sometimes force-close files with cmd-shift-W to prune the files popup. Xcode has an "at most X files" option in the file popup menu, but I have it set to unlimited and it's never been a problem.
These are just suggestions. I think I would be pretty happy with a text editor that did things this way.
--Andy
Replying here because I can't understand the discussion tree with the new google groups interface.Have you heard of peepopen? While not related to gui, it relates to file opening: http://peepcode.com/products/peepopen
--
+1 Simple. Keep the tried and true tab metaphor. Make the files that
"fall off" available via something like TM Cmd+T or Intellij Ctl+E.
I think "open new blank tab" doesn't make much sense here - it's
essential in a browser, where you open a new tab when you want to go
to a new site, but not in the context of a programmer's editor that
has a folder of files open and only opens files from that list in new
tabs. I'd change Cmd+T to work like in TextMate, and move "open new
blank tab" action to a different shortcut, if not remove it
altogether.
JS
One thing I ran into was if I closed the last tab I lost my sidebar session. It would be nice to add a warning about closing the last tab.
-Dave
-Dave
Walter
On Dec 29, 2010, at 2:28 PM, Gordon Fontenot wrote:
> I think that the new-tab feature is useful too, I just don't think
> it's as useful as often as the "open quickly" command.
>
On Wed, Dec 29, 2010 at 10:12 AM, Pascal <pak...@me.com> wrote:
>
> Dr. Pascal LECLERC
> Anesthésiste-Réanimateur
> C.H.P. Claude Galien
> 20, route de Boussy
> 91480 Quincy sous Sénart
> 01 69 39 91 16
> 06 12 63 83 38
> pak...@me.com
>
Also for creating new files perhaps a more explicit input should be
supplied, just hitting return could cause new files to be created when
the user makes a spelling error so perhaps use ⌘↩ instead?
---------------------
Rhys Powell AKA _frog
http://frogbot.co.cc/
I gotta admit, I didn't really see the need to mess with tabs in Kod, but you do bring up some good points. And so does Stephen. I mean, if we want Kod to really make a splash, maybe we should step back and take a look at what we're simply taking for granted.
- Zach LeBar
Reed Stoner
Sent from my iPhone
All things to show more tabs, either make them devilish small, show a
drop down for all the out-of-bounds tabs (Eclipse, Safari) or even
multi-row tabs (Windows/Visual Studio), are hard to grasp, especially
if the algorithm to place the tabs in the active area is totally not
matching what you are currently looking for.
Hence I think the "vertical" tabs / workspace tree like in Espresso is
something to consider.
Regards,
Alex
Walter
One thing that bugs me about TM is that when I'm in the flow of
working, I may open up way more tabs than can fit. I don't like to
break my concentration by doing window management, yet I get lost with
the many related files in a Rails project, and find the overflow to be
difficult to manage. (Click and hold, then read each title, or --
hopefully -- look for the bullet meaning Not Saved.)
I think it would be great if the tabs that fit would be visible, and
if you got to the point where another would not fit, the oldest saved
tab would close, failing that, the oldest tab would close.
I'm not sure how I feel about the tabs shifting order though -- part
of the beauty of these real-world object maps is that they allow a
sort of short-term symbolic memory, so you don't have to do a full-
text search every time you want to switch to another file in your
project. (Second from the left, rather than somefile.html.erb.) If
auto-closing tabs changed that order, there might be too large a price
to pay for avoiding the overflow.
Walter
I like this Idea, but I think it can be improved. If you change the
metaphor from 1 tab = 1 document to 1 tab = 1
project/folder/workspace and then combine the sidebar in with the
editor. This would allow a different tree for each tab. We could then
use some sort of visual indicator, something like a different
background color, to indicate which files are 'open'. This would keep
the number of tabs to a minimum to prevent tab overload and keeps the
focus on editing.
This is would be similar in style to Xcode, where the project stays in
a single window and the file icons turn gray to indicate changed and
unsaved files. This would help with greatly when you have multiple
projects, or multiple instances of the same project open. Instead of
the mess of open project windows you could combine the projects into
one window with multiple tabs. Additionally this lets you pull out a
project as a whole into a separate windows and build your own, saved,
custom workspace from files located in multiple locations.
You could also take aristidesfl's suggestion of an Espresso style
'double click to add to workspace' feature or something like the
Finder/iTunes with collapsable sections for things like file
shortcuts, smart folders, and custom searches viewable in all
sidebars.
Reed
Point well taken.
One thing that bugs me about TM is that when I'm in the flow of working, I may open up way more tabs than can fit. I don't like to break my concentration by doing window management, yet I get lost with the many related files in a Rails project, and find the overflow to be difficult to manage. (Click and hold, then read each title, or -- hopefully -- look for the bullet meaning Not Saved.)
I think it would be great if the tabs that fit would be visible, and if you got to the point where another would not fit, the oldest saved tab would close, failing that, the oldest tab would close.
I'm not sure how I feel about the tabs shifting order though -- part of the beauty of these real-world object maps is that they allow a sort of short-term symbolic memory, so you don't have to do a full-text search every time you want to switch to another file in your project. (Second from the left, rather than somefile.html.erb.) If auto-closing tabs changed that order, there might be too large a price to pay for avoiding the overflow.
> Personally I love tabs and wouldn't go away from them for any price. I onlyAnd that wouldn't be possible if the tabs were vertical instead of
> use them as visual cues for the "second from x" or "somewhere in the
> middle-ish". The result of this is that I can easily handle a browser with
> 30+ tabs open and it doesn't get difficult. I don't really care what it says
> in there. Some sort of icon is enough. Don't care for the text.
horizontal?
Thats for browsers. In text editors, this task most likely the
> Another thing I do is group tabs pertaining to a particular "task" into
> windows, so I have many windows for the same text editor open and then I can
> just switch between them with expose.
project, and gets its own window right when you open its folder.
However, I don't think its a good idea to make a tab for each project
(like Reed proposed). In most cases, you will be working on only
working on one project at a time, switching rarely, and have at most 3
or 4 projects open. Its easy enough to manage those with features
already available in the system, like expose, minimization or the
"application windows cycle" shortcut. IMO, to use tabs for this would
be a waste of screen estate.
Also, how would we deal with files without projects? Do they get their
own project-tab? What if we wanted to view two files at once?
Supposing you're talking about this:
> And that screenshot someone posted was what I would consider the worst UX
> nightmare ...
http://dl.dropbox.com/u/4700116/screenshot4h56m45s.png
I'm pretty sure, the purpose of the screenshot was to show how
espresso manages to arrange the same project with the same open
windows much more clearly. The two windows were just overlapping for
better comparison.
> Personally I love tabs and wouldn't go away from them for any price. I onlyAnd that wouldn't be possible if the tabs were vertical instead of
> use them as visual cues for the "second from x" or "somewhere in the
> middle-ish". The result of this is that I can easily handle a browser with
> 30+ tabs open and it doesn't get difficult. I don't really care what it says
> in there. Some sort of icon is enough. Don't care for the text.
horizontal?
> Another thing I do is group tabs pertaining to a particular "task" into
> windows, so I have many windows for the same text editor open and then I can
> just switch between them with expose.
Thats for browsers. In text editors, this task most likely the
project, and gets its own window right when you open its folder.
This is especially handy when doing django development because mostfiles use one of five-ish different names.
This is really interesting, like it! :)
--
The expresso way gives you a quick way to jump back to previously opened files, but what I'm advocating for is a decoupling of the sidebar tree view and the file system so you can organize your files and folders however you want and pull in resources from anywhere.
You could drag whatever you want into the side bar, local folders, files, ftp folders, gists, anything someone writes a plugin for. Things would be displayed as folders or files, for example if a gist was dragged in that contained only one file it would be displayed as that file, but if the gist contained multiple files it would be displayed as a folder, the plugin would decide this based on the data at the url. Groups could also be created and would act like folders but would only exist in the sidebar for organization, like groups in xCode. The sidebar layout could be saved out as a project, but you wouldn't need to save it to get this functionality.
Tabs or an expresso style workspace would still be useful for quickly jumping to previously opened files.
2.In addition to files inside the working directory you could also have the possibility to drag into the sidebar external references that you might find useful or related to the project.
4.If you are not working on a folder and you still want to take advantage of the sidebar to keep references, you can, in a temporary way.(Although I fail in finding a use case in which this would be useful, other people might
5.I don't really see the lack of space in the sidebar a problem.The scroll seems to work pretty well in the editor, why not in the sidebar? We just have to scroll to the tree group if that is what we want to see.In addition to that the groups can be collapsable just like the folders.
6.It could feature a shortcut system a la Gmail labels to place things in groups and to access groups using keyboard.The possibilities with the location bar, abbreviations and autocompletion are endless is just a matter of imagination.
Hi aristidesfl, I have some observations about your (very interesting) post.
On Saturday, January 1, 2011 7:46:49 PM UTC+1, aristidesfl wrote:2.In addition to files inside the working directory you could also have the possibility to drag into the sidebar external references that you might find useful or related to the project.
This shows a limit of the relation between a directory and a “project” as envisioned by point 3. This is potentially very confusing! But could also be necessary.
4.If you are not working on a folder and you still want to take advantage of the sidebar to keep references, you can, in a temporary way.(Although I fail in finding a use case in which this would be useful, other people mightThis would introduce a mode, and a very dangerous one. An user could not be aware of which case he's in. Am I working in a folder? Am I not? In the latter case, information about the “project” might be lost without the user knowing.
6.It could feature a shortcut system a la Gmail labels to place things in groups and to access groups using keyboard.The possibilities with the location bar, abbreviations and autocompletion are endless is just a matter of imagination.Automating grouping et similia would be very nice indeed. But I pose you a serious question: how would you navigate between items of a group, and groups? Switching between items wraps around the group, then another shortcut to switch group? Tabs have the useful property of being flat and sequential in an univocal matter.
On a different matter: I'm a little concerned about Rasmus not taking
part in this whole tab discussion. Maybe I'm a little confused about
the whole project structure, but isn't he still the head developer of
Kod and gets the final word on how things are done? The current tab
implementation looks like something he intended to be one of the big
and distinguishing features of Kod. I think we either need his support
on this, or should consider to start or fork our own project.
so a simple strawman convention might be that in every folder where theres a file that kod has done stuff with there might be a ".kodata/" folder which has stuff like the urls for other directories that are in the same project, which dirctory has the "master" .kodata/ folder for that "project", plus local info like that files edit history and the like.maybe this is too flexible, but it doesn't force a shoehorned convention onto everyone.thoughts?
Subject change: We should probably create new posts for new subjects,
since this Thread is getting really long and off topic.
hey there
honestly why is a .kodata local directory required? this just clutters
directories, honestly I'm not missing any of those .svn directories
since switching to git - why not keep trie data, unlimited undo etc.
in Library/Application Support, sure - when the user moves a file
around we might not be able to get the data back, but using some
hashing algorithm or similar I suppose we could identify the file just
fine, even after moving around.
Also the open tabs should not be
stored in kodproject, because they are per user or not?
and I totally agree with Stephan that kodproject should be optional
and not automatically created or anything, because that's a thing I
like about TM - I don't need a project.xml or pbxproj to be able to
hack on some files...
on the other hand is a project file really
required? couldn't we just live with a sidebar which can be split
horizontally to display multiple structures? so e.g. on top it maps ~/
Projects/kod and on the bottom sftp://kodapp.com/didum/ and make use
of bookmarks (like a browser) to connect to remote filesystems.
hey there
honestly why is a .kodata local directory required? this just clutters
directories, honestly I'm not missing any of those .svn directories
since switching to git - why not keep trie data, unlimited undo etc.
in Library/Application Support, sure - when the user moves a file
around we might not be able to get the data back, but using some
hashing algorithm or similar I suppose we could identify the file just
fine, even after moving around.
Also the open tabs should not be
stored in kodproject, because they are per user or not?
and I totally agree with Stephan that kodproject should be optional
and not automatically created or anything, because that's a thing I
like about TM - I don't need a project.xml or pbxproj to be able to
hack on some files...
on the other hand is a project file really
required? couldn't we just live with a sidebar which can be split
horizontally to display multiple structures? so e.g. on top it maps ~/
Projects/kod and on the bottom sftp://kodapp.com/didum/ and make use
of bookmarks (like a browser) to connect to remote filesystems.
hey there
honestly why is a .kodata local directory required? this just clutters
directories, honestly I'm not missing any of those .svn directories
since switching to git - why not keep trie data, unlimited undo etc.
in Library/Application Support, sure - when the user moves a file
around we might not be able to get the data back, but using some
hashing algorithm or similar I suppose we could identify the file just
fine, even after moving around.
Also the open tabs should not be
stored in kodproject, because they are per user or not?
and I totally agree with Stephan that kodproject should be optional
and not automatically created or anything, because that's a thing I
like about TM - I don't need a project.xml or pbxproj to be able to
hack on some files...
on the other hand is a project file really
required? couldn't we just live with a sidebar which can be split
horizontally to display multiple structures? so e.g. on top it maps ~/
Projects/kod and on the bottom sftp://kodapp.com/didum/ and make use
of bookmarks (like a browser) to connect to remote filesystems.
--
> +1 for the espresso approach instead of conventional [horizontal] tabs. it takes getting used to it, but after using it for a while, i prefer it.
FYI, the same kind of approach is currently tested for Firefox:
http://www.azarask.in/blog/post/firefoxnext-tabs-on-the-side/
--
Luc Heinrich - l...@honk-honk.com