484 karma · joined January 13, 2010
https://www.hogbaysoftware.com
At the same time I make Mac apps and I've got to adopt liquid glass to keep my apps looking alive/updated. How to do this without making my apps UI worse?
I would love to see some "how to fix Liquid Glass" type articles. List out the problems, list out potential solutions.
Anyone run across articles like this? Please share relevant links.
> Curious to know what sustains people.
It allows me to work on what I am interested in, for me that's the key. For whatever reason I've decided that text productivity apps are really interesting, and worth my time to build. So that's what I do. It hasn't lead to great riches, but I wake up pretty much every day excited to work on what's next. Pretty fun!
SwiftUI is new future according to Apple, easy to start, but also unpolished compared to Cocoa. Cocoa is old and polished, but maybe eventually a legacy technology. I'm personally still in Cocoa world, but parts of SwiftUI are interesting.
Right now Bike is very much a text editor, while notational velocity is more database of text files. At some point I hope to add a "workspace" aspect to Bike where you can open a directory of Bike files, but this is a long way off. For now the focus will just be to improve the text editor aspect of Bike.
menuItem("Format:Bold", 0.2)
type("Efficient")
press("⏎")
When I came up with this feature in Bike I was pretty proud of the idea and it seemed original. Then a few weeks later I came across your post on StackExchange UX... everything already been invented I guess :) I'm curious how you came with idea? Also have you come across other editors that implement it?
For me I new that something bothered me about rich text editing... always seemed more painful then required. I was also aware of the idea of split cursor from Humane Interface book. And also aware of affinity idea from text cursor position in wrapped text editor lines. Bike's typing affinity came from combining those ideas.
Anyway would love to hear any related thoughts or ideas.
I guess you could popup a list of all possible matching "correct" words as you type, but that would likely get old fast for normal writing. You would always see the popup. Generally autocorrect (fixing typos and spellings) happens once you have finished typing a word. At that point the word is checked, and maybe autocorrected.
I think that basic design is good. Finish word, then autocorrect if there's a high quality match. The place where I think problems happen and maybe a better design can help include:
1. Clear indication of what has been autocorrected
2. Easy way to revert autocorrections
3. Don't pop up to much UI during this whole process
The affinity is just treated as a new character position. When caret moves through that position is doesn't "move", but instead draws tail differently. So it's just normal arrow key with one extra state to move through. That extra state only happens at formatting boundaries, so generally the cost isn't too much.
Well that's really at the core of my question. Why do you have it disabled? What need to be improved so that you don't disable it.
I think almost everyone would agree that if you type "teh" or other common typos it would nice for computer to automatically correct them. But many people (myself included much of the time) disable autocorrect. I think this is because the UI isn't ideal.
I'm looking for ways to fix that. Maybe it's not fixable, but if you can enumerate specifics on why you disabled autocomplete on macOS I might come up with some solutions. Thanks!
For links I just decided to leave out. Seemed blue was enough, and especially since link interaction in Bike only happens through link button. For general formatting I left out because underline formatting seems to be falling out of favor as a standard and when I asked in my forum most users said they didn't need it. Eventually I would like to read/write Markdown from Bike and underline isn't a part of standard Markdown.
One feature that I do like about this design is it's pretty generic. For example in the future I could imagine detecting dates and then insert a button after the detected date to interact with calendar. I think the general idea of inserting simple interaction button in text can be quite useful.
Correct. For that you need to use Formatting pallet (also in video). I did initially build it so clicking link would open a pallet with option to follow link or edit link (Pages.app) does that. But in the end felt better to make following link fast and add/edit links slower.
Up/Down could work, but I think it would break text editing movement/consistency more than I would want. For example if you were down arrowing to navigate you document and then randomly hit a link it would be frustrating to see link editor instead of keep moving down.
Bike does have a keyboard shortcut for expand/collapse, but truth is I don't remember what it is without looking. Instead what I do is always exit to "outline mode" with escape key, and then use left/right arrow keys.
Outline mode is inspired by vim, it's a mode where there is no text input, so you can use typing keys for other purposes. Right now it does very little, mostly just expand/collapse and delete. I hope to expand on this in future, but right now I'm more focused on text editing fundamentals.
Thanks for the autocomplete links. I maybe didn't explain well in my question... but I think I'll leave the actual autocomplete logic to macOS. I want to integrate with their autocomplete system so users will have consistent experience that way.
I'm more interested in UI problems of indication that correction has happened and easy undo when corrections go wrong. In this regard I think macOS is pretty poor.
For example on macOS if you type "hello " then after the space it will be corrected to "Hello ". If that's not what you wanted then there aren't really easy options to undo. Of course you can undo... but that will remove the space and then select "hello". Then another few keystrokes to get back to what you wanted. On the other hand in Google docs all you need to do is backspace and it undoes the autocorrect. I like that and will probably copy, but am looking for more autocorrect systems to learn from.
I've been doing indie Mac software since around 2003. Mostly full time with some consulting mixed in. I've had varying levels of success. Generally business grew into (enough to support me and three others for a few years) until around 2012. Then down down (with very little bumps of success in-between). Since 2012 it's been just me. I make less than I would in a "real" job. Sometimes quite a bit less. Even with Bike's recent success I'm mabye making less than average US programmer.
Some of this is likely due to indie being hard. Much is also due to me being mostly programmer driven, not business driven. I am doing many stupid things business wise. But I also get to work on exactly what I want to work on.
For autocorrect I'm talking about corrections that are less predictable such as spelling or grammar errors. They can be very useful because they mean fixes happen without any extra work, and mean you don't see lots of red spelling errors in your document... but it's also a case where computer is doing automatic work that sometimes might be wrong. So needs good way to indicate that correction has happened and easy way to revert.
Currently there is no way to add multiple lines to a row. I "think" I would rather solve this problem by adding multiple row types (maybe heading vrs notes) and then use some sort of filtering. That's still on todo list.
- https://codemirror.net - https://prosemirror.net - https://xi-editor.io
While I have the eyeballs I hope you don't mind me asking...
I'm in process of adding autocomplete to Bike. Problem is that I generally find macOS autocomplete painful and unpredictable. I both disable it and have many typos. I'm not talking so much about the suggestions, but about the surrounding UI.
I'm looking for ideas/links for how to make autocomplete better and more predictable. I know Mac apps, I do know much else. What are your favorite autocomplete implementations past or present? If you could have a "fixed" macOS autocompletion what would it look like?
What I would love...
Take a look at Bike's file format, it's just a subset of HTML. Would love to someone to write a web based editor for Bike's file format. Then you could edit Bike files anywhere you want... and also have cool native experience on Mac.
Also note that Bike does read/write .txt and .opml.