[HN Gopher] Show HN: Bike - macOS Native Outliner ___________________________________________________________________ Show HN: Bike - macOS Native Outliner Bike's most original feature is the "fluid" text editing. Lots of text editors have animated some interactions (cursor movement, insert newline, etc), but I think Bike is the first designed from the ground up to support fluid editing. Give it a try, it feels different. (movie on home page if you don't have Mac) Other Features: * In text mode Bike works like a normal text editor. In outline mode rows are constrained to outline hierarchy. * .bike file format is HTML subset, so files are easy to parse and manipulate. Bike also supports .opml and .txt. * Scriptable via AppleScript. Javascript plugin API also expected in future, though no timing on that. * Architecture needed to support fluid editing also makes Bike faster/more scalable than most (all?) outliners and many text editors. I test performance using the Moby Dick Workout[^1]. Implementation Notes: * View is built using CALayers[^2]. * Animations are performed by Core animation and Motion[^3] lib. * View performance is determined by visible text, not document size. Model representation is interesting in that it's just a flat list of rows. Each row has a `level` property, outline structure is determined dynamically. View implementation requires that each row has a unique ID. I'm using OrderedDictionary from Swift Collections[^4] to store rows. This is Bike's performance bottleneck for large outlines. Eventually I may change to augmented b+tree and then should be able to work with gigabytes worth of outline. That will be fun, but not sure it's actually needed. Already probably fast enough for 99% of use cases as is. Hope you find Bike interesting. I'm happy to answer any questions. [^1]: https://www.hogbaysoftware.com/posts/moby-dick- workout/ [^2]: https://developer.apple.com/documentation/quartzcore/calayer [^3]: https://github.com/b3ll/Motion [^4]: https://github.com/apple/swift-collections Author : jessegrosjean Score : 430 points Date : 2022-05-17 11:49 UTC (11 hours ago) (HTM) web link (www.hogbaysoftware.com) (TXT) w3m dump (www.hogbaysoftware.com) | m1keil wrote: | Are there any limits to the unlicensed mode? Is it a shareware or | more in line with Sublime Text style? | jessegrosjean wrote: | There are some editor preferences that need a license and | AppleScript support requires a license. Going forward I expect | most new features will also require a license. For example I | hope to add rich text support next and that will require a | license. (same license will unlock all new features) | xanaxagoras wrote: | I can't believe this guy is writing software that runs on my | computer and selling it for money. Feels like the good old days. | jessegrosjean wrote: | Keep those good old days going. Get a license :) | reaperducer wrote: | Happy to see this available as both a standalone download, and | through the App Store. | | I'm a big supporter of indie software, but I've had some recent | bad experiences that make me gravitate toward the App Store | again. | | One of them is just a plain old boring MP3 Tag Editor. When I | migrated to an M1 MacBook, it no longer worked. I contacted the | author, and it took him a couple of months to respond. Once he | did, he said I used it on too many computers, so I can't use it | anymore. I used it: | | 1. The computer I purchased the software on, which I no longer | have and was recycled. | | 2. The computer that replaced the first computer, which I no | longer use and gave to my wife, who does not use the software. | | 3. The computer I replaced computer #2 with, which I used | temporarily until I got my current computer. The old computer is | now a headless media server in the closet. | | The author says there's no way to override his copy protection, | or to give me a new license key. "I don't have technical options | to resolve such an issue." | | Great. So I switched to another (more expensive) MP3 tag editor. | But this one I bought through the App Store, so I know it will | continue working, even if I upgrade my machine. | nopcode wrote: | I would consider dropping notion for this if there was a good | Windows cousin. | soci wrote: | I've been refraining myself to upgrade to MacOSX 11 in order to | not mess with my dev environment. Are you planning to release it | for MaxOSX 10.14 or lower? | jessegrosjean wrote: | Sorry I don't. So much still to do on Bike, I think my time is | better spent building up the app feature set. | Doctor_Fegg wrote: | Please do at least put the minimum required version on the | homepage (maybe in small text below the "Download" button or | something). | billbrown wrote: | I have been in the market for an outliner that outputs to open | formats so I am absolutely your audience. (My current top | contender is OutlineEdit, and I was days away taking the plunge | so thank you!) | | Two things I would love to see in any outliner: | | 1) Support Harvard and other outline format. I grew up outlining | in Harvard and this bullet list stuff is maddening. The developer | told me that OutlineEdit will not support it, period, so it's not | a deal-breaker. | | 2) Horizontal outlining. Sometimes it's nice to have a hierarchy | that expands and folds to the side. There was a Mac app called | Tree 2 that did this but it is long unsupported. | | Daily TaskPaper guy, so this is a great development. | jessegrosjean wrote: | Unlikely to be built directly into Bike editor. | | I have thoughts (no plans yet) about plugin API that can use | web view as output layer. The idea being that an outliner can | be used for many things. For example you can create a calendar | where the hierarchy is year/month/day. Neat, but not really a | perfect solution for a calendar. So the idea with plugin API + | Web View is that you could use that outliner calendar data to | generate a nicer view. This keeps the outliner simple and | uniform, but also gives you data specific view. | | I think that same solution might work for Tree style view, or | Harvard bullet list view. It would be sorta like a markdown | app, content on one side (the outliner), generated polished | result on the other. | | No promises, but that's how I think I would implement those | features in Bike. | geoelectric wrote: | I would _love_ a good replacement for Tree. I 've never found | another app that does what it does. | [deleted] | dchest wrote: | Finally! So many outliners think of each node as a separate text | field and add node movements on top. This one gets it. Great | work, Jesse! | jessegrosjean wrote: | Thanks, that's also a pretty key aspect of Bike. Maybe more | important than "fluid animation", but I expect hyping up the | fluid animation will get more clicks and people can discover | the unconstrained text editor after using it. | [deleted] | joshspankit wrote: | Let me know when I can have the same item under N nodes. | | Not a copy, but a leaf with multiple parents. | diimdeep wrote: | lelandfe wrote: | $30 for an outliner and 1 year of support does feel steep. | | I dig that it has AppleScript support, rare (and great!) to see | a new app supporting that. | vintagedave wrote: | It's funny how our expectations have changed. I am keen to like | this app simply because of who it's from, Hog Bay, who made one | of the first Mac apps that really inspired me to how different | Mac software could be back in the 2005-ish era. That was | WriteRoom, and I used it on my second-gen Intel running Tiger | and Snow Leopard. | | In 2007 it was $25: | https://web.archive.org/web/20070202002238/https://www.hogba... | (and crikey wasn't design beautiful back then? Look at that | snapshot of web design history.) | | That same $25 would, calculated by inflation, cost $35 now. | Which is the price of this app, Bike. | jessegrosjean wrote: | Thanks for history link, just spent 15 minutes looking | through my own website :) | BeautifulWorld wrote: | Won't run on my MacPro laptop because it's pre 11. Boo! | kstrauser wrote: | I'm fine with that. Newer OSes contain new features and APIs, | and I can totally understand a developer wanting to build on | top of some new feature instead of having to reinvent it | themselves. Sometimes that's inconvenient for me, although I | try to keep all my devices current. But if a dev wants to | require an OS version that's shipped with every M1 Mac that's | ever existed and chooses that as their cutoff, I get it. | amphitheatre wrote: | Can someone combine this concept with a task management/todo app? | That would be perfect. | Void_ wrote: | TaskPaper turns each item into a todo that you can check off. | jessegrosjean wrote: | That's the plan among other things. Get a license ;) | GaylordTuring wrote: | I use Taskpaper everyday, both for To-do:s and to take notes. | I'll gladly switch to Bike the day it can do most of the | thing Taskpaper can do. I'll eagerly follow the development | of it. | jdvh wrote: | We're working on an outline app with task management/planning | functionality. With end-to-end encryption and multiuser/teams | support (you can see other users type like Google Docs). Early | beta signup at https://thymer.com | zhaihuailou wrote: | First class job! | darren wrote: | Nice! Do you have any plans on adding a "library" sidebar (like | IA Writer) to allow quick jumping between multiple files? | jessegrosjean wrote: | I think yes, but no plans are really set in stone at this | point. I agree a navigation bar would help navigation in big | outlines. | dotancohen wrote: | Looks terrific! You seem to have implemented the some common org- | mode functionality, such as editing outline structure by moving | elements and headings. Does Bike do anything that org-mode does | not? | | Bike certainly _looks_ nicer than org-mode! | Exuma wrote: | I like it | sergiotapia wrote: | Lovely but unfortunately Mac only. | Jcowell wrote: | Is this available on the App Store ? (Not a super big deal if | not. Just like to manage all my subscriptions/purchases in one | place. So makes updating easier along with the privacy report | that makes recommending to friends easier) | jessegrosjean wrote: | It is available here: | | https://apps.apple.com/us/app/bike-outliner/id1588292384?mt=... | | Mac App Store version is subscription based. I know many people | don't like that, that's why my direct download version is not | subscription based... but for Mac App Store upgrades are a | pain/impossible. So subscription. | Jcowell wrote: | This is excellent . When I searched for it on the App Store | via "bike" I was unable to find it. I'll subscribe if it | means you can maybe buy App Store ads for keywords like bike | for better visibility. | jessegrosjean wrote: | Yeah, Bike's not a very good name for searches, but it's a | good name for what the app intends to be. | csilverman wrote: | Yeah, I wouldn't have considered this for a second if it was | subscription-only. The pay-once-and-pay-for-upgrades model is | very fair; I'd impulse-buy something for $30 once, but I | don't impulse-buy recurring payments. | | This is a very cool idea. Might make note-taking a lot | easier. I'm looking forward to trying it out. | user3939382 wrote: | This is cool! I currently use this app for this purpose and like | it a lot https://www.foldingtext.com/ | ubermonkey wrote: | Fun Fact: Jesse (OP) wrote the original version of that. | | see: | | https://www.foldingtext.com/blog/team/foldingtext_next.html | kall wrote: | This is an impressively well stripped down app. It's all I ever | wanted from OmniOutliner (remember when it shipped with OS X?). | | Unfortunately, I've been drawn in by the linking functionality in | Roam/Logseq and cannot go back to a simple outliner, though this | makes me want to. | | I don't think I'm a fan of the animated cursor while typing. It | somehow makes the typing feel slower, like it takes some physical | effort for the cursor to push forward. | lf-non wrote: | Yes, I am in the same boat. I started using Logseq when I | switched to linux as my primary workstation and could no longer | use OmniOutliner. | | I used to focus a lot on structuring and organizing things | _properly_ before. But after I started using linking, tags, ref | embeds etc. more I found that I was more productive by just | quickly dumping specific things into poorly organized isolated | notes, and adding headers, cross-linking /organizing/merging | them much later if they survive. | | I later learnt (to my surprise) that people had written whole | books about similar methodologies (zettelkasten etc.) but yet | to sit down and explore any of them. | jessegrosjean wrote: | It can feel that way for some people. Seems different per user, | there's a preference to change the speed in settings. | | Also yet need to remember that you don't need to wait for it, | sometimes you might just get mesmerized by it and then it feels | slow, but if you just type it will keep up with you. It's only | ever the "last" animation that fully completes if you are | typing fast. | marcuskaz wrote: | I'll have to try it again, I didn't realize there was a | setting for it. I uninstalled it because the typing felt | really slow and awkward. | | My two cents, default disable so it feels faster, it sounded | like speed and smoothness was one of the many selling points. | coldtea wrote: | > _Text editing should work as you expect. This is a nice feature | of Bike. Often outliner apps constrain text editing in various | ways. Bike doesn 't do that._ | | So, how do you add a "soft linebreak" - so that I get a line | break in a single node (so that I can have e.g. 3 paragraphs on a | node). | | The things I've tried (enter, shift-enter, etc) all create a new | node below - and the manual doesn't give any clue. | jessegrosjean wrote: | Sorry, just not supported right now. | OJFord wrote: | > An outliner (or outline processor) is a specialized type of | text editor (word processor) used to create and edit outlines, | which are text files which have a tree structure, for | organization. | | https://en.wikipedia.org/wiki/Outliner | | I'm not criticising use of the term, it seems familiar to (also | used by) several commenters here, I just hadn't come across it. | Guessed 'bulleted notes app' from the submission, which is close | enough I suppose. | [deleted] | giancarlostoro wrote: | Off topic and meta to HN: I had no idea you could do both a URL | and a text submission, is this a recent change? | | I think this format is fantastic for Show HN threads. | Leftium wrote: | Relatively recent: | https://news.ycombinator.com/item?id=30040235 | giancarlostoro wrote: | Thank you! I love that they do very small changes that have | positive impact. It really makes the most sense for Show HN. | [deleted] | Etheryte wrote: | I believe this changed a few months ago or so, and it's only | available for Show HN submissions afaik. It's a small change | but definitely a great improvement over the old way where you'd | post a link and then add a comment. | mpwoz wrote: | Surprised nobody has mentioned org-mode yet. It does everything | shown in the video: collapse/expand nodes, focus on subtrees, | ability to highlight across rows/nodes, etc. | | That said, the fluid animations in Bike look great, and the video | was very slick! Nice work. | ubermonkey wrote: | Well, you just did. | | OrgMode relies on emacs, which is not exactly in the same class | of software that this is. This is "one thing well" stuff. Emacs | and OrgMode are pretty much the other side of the continuum. | amcpu wrote: | I've been having good success with _basic_ outlining | functionality of Org Mode in VS Code using the "VS Code Org | Mode" extension. No need for emacs for this use case. The | built-in VS Code folding works really well and then combining | with GitLab which has rendering support for Org Mode when | committing/pushing commits. Plus, since everything I'm doing | is already in Org Mode syntax, I can move to other editors | later if desired. It's a good solution for my needs, at | least. | soapdog wrote: | This is a great outliner. I'm quite impressed by how fluid it is. | Great work! | | quick question: why you chose to go with HTML instead of making | OPML the default file format? I'm not judging, I'm just curious. | jessegrosjean wrote: | I want more structure in the file format. OPML is perfect for | plain text outliners. But if you want to support rich text then | you need to encode the HTML as plain text. This means it's all | of the sudden harder to process with web tools like xpath. | | Also (not sure this will happen, but I plan to try) I expect to | add different node types. For example right now every node is a | paragraph. In future might have ... A HEADING (innovation I | know). Again that maps really well to HTML, not as well to | OPML. | | Plus I just like the fact that .bike files are HTML. Makes me | confident that they will live and be readable far into the | future. | d3nj4l wrote: | Have you considered using the org format? I'm not saying | it'll be good (I've not seen an implementation outside emacs | that really _gets_ it) but org-mode has been the best | outliner I 've personally used. | jessegrosjean wrote: | I haven't looked too much into it. If someone really wanted | it and was motivated to help write I would (might, contact | me first) support, but generally the existing formats are | what I will focus on. | soapdog wrote: | I understand, thanks for sharing. I've seen some outliners | using node attributes to change how the content is | interpreted in OPML and thus being able to use them for | things beyond plain-text. I'm quite partial to OPML, but HTML | is cool too and easier to reuse. | | Anyway, congratulations on the impressive first public | release. The more outliners the better in my opinion. | psydvl wrote: | Why not to use markdown formatting? | | For example, Dynalist use this idea for their files | | And node itself is heading, while when they need paragraph | with heading they create _note="" attribute into <outline> | element | jessegrosjean wrote: | Markdown is great and I build another app, FoldingText, | around it. | | But for my own use I over time realized that was a mistake. | All the parsing and formatting adds complexity. I think | rich text (which to be clear Bike does not yet have, though | I will add soon) is a simpler way to work from user | perspective. Just issue commands instead of remember and | see formatting rules. It's cleaner and simpler for my uses. | jitl wrote: | Congratulations on the release! It's cool to see more outliners | with multi-item text selection. The "fluid" animations look | really delightful -- I'm jealous! I know you've shared some | details about the animation implementation, but I'm curious about | how much system stuff you take advantage of. Is your view | accessible through VoiceOver? What parts of the Cocoa text system | do you use (or, what do you use instead for layout and shaping)? | (https://developer.apple.com/library/archive/documentation/Te...) | | I think you started working on this around the time I was working | on multi-block text selection in Notion. I remember seeing a | preview tweet in a Andy Matuschak thread and thinking "great | minds!". When I started working on it, I was so surprised that | _no_ outliner I tested had multi-item text selection! It's a | unique fusion. I'm curious about how you handled deletions across | different indent levels... Do you know of any other outliners | with it besides Bike and Notion? | jessegrosjean wrote: | Thanks! | | Bike's editor is pretty much: | | OutlinerLayer RowLayers LineFragmentLayers | | I use CoreText to line break and render into each | LineFragmentLayer. A whole new level of performance is possible | if I knew more metal/opengl, but right now rendering text on | CPU and sending as line fragments to CoreAnimation. | | > Do you know of any other outliners with it besides Bike and | Notion? | | It's hard to define "outliner". This has been a main feature of | TaskPaper for a long time... but TaskPaper is maybe a bit more | "text editor" than outliner. Also tools like orgmode and | probably lots more are pretty much outliners and also have all | text editor features. | | But yeah, for tools that feel more like an outliner it's not a | common feature. In particular Bike even allows you too over | indent and movies lines around without moving children. I think | that's pretty unique, and goes together with multiline | selection in Bike's case. | burntcaramel wrote: | I imagine then you would had to reimplement behaviour for | text selection from scratch? Impressive stuff! | jessegrosjean wrote: | Yes, all the basic needed to be implemented. Impressive or | dumb or maybe just persistent. | jamesgreenleaf wrote: | This seems very similar to Workflowy, which is meant as a | compliment. | | Scriptability is a huge feature here, and something that WF users | have been asking about for a long time. | | If you could offer this on multiple devices & OSes, and provide a | sync feature, then I'd be very interested in switching. | cercatrova wrote: | > _What a computer is to me is it 's the most remarkable tool | that we have ever come up with. It's the equivalent of a bicycle | for our minds._ | | _Steve Jobs_ | | I like that the product references this quote for the logo as | well as the fact that's it's on macOS. | cjlm wrote: | I'm a big fan of Workflowy [0] but I've been keeping an eye on a | Bike-like outliner called Zavala [1] - written with Swift and | already has an iOS app. | | [0] https://workflowy.com/ [1] https://zavala.vincode.io/ | mpolichette wrote: | I've been using Workflowy for years now. I really love it. | | They been working lots of interesting features in but stick to | the basics that everything starts as a list. You would be | surprised what is possible w/ just a list! | andrew_ wrote: | Call me a curmudgeon, but I just use an editor and markdown for | the same fluid outlining. I guess this is more marketed towards | people who don't also fluidly use a markup/markdown syntax. | jessegrosjean wrote: | This nice think outliners can do that editors generally can't | do is Focus In / Out. Maybe not important for your thought | process, but for me I really like being about to start new on a | fresh "page", while still being in the same document. | rplnt wrote: | Code editors can do it. It should be possible to define a | syntax that would work well with this (no keywords, unquoted | strings, : and TAB to define scopes). | bsg75 wrote: | Running the last gen Mac Mini Server which Apple decided to not | support past Catalina. As a fan of TaskPaper, this appears to be | the point where Apple obsolesce hits me because macOS 11 is | needed for Bike and some other new apps I have tried this month. | | With 16GB RAM, and the HDDs replaced with SSDs it is a perfectly | capable desktop. I would upgrade macOS if I could, but it may be | time to move it to Fedora. That won't solve the root issue with | Mac apps - Intel architectures don't evolve so fast as a machine | with this performance capacity becoming unsupported. | mjturner wrote: | I have a Mini of the same generation and it runs Monterey very | well via OpenCore Legacy Patcher - | https://dortania.github.io/OpenCore-Legacy-Patcher/. Worth | considering if you haven't looked at it before. | bsg75 wrote: | I did not know this existed. Definitely giving it a shot. | skrtskrt wrote: | Just when I have mostly moved on to Linux - it looks incredible | and I wish the project luck, I would love to use this on Linux | one day | brailsafe wrote: | I like that you described some of the underlying APIs you used | and picked something to try and do well, and it seems like you | did. I also like macOS native software. | | I do struggle to understand the value proposition though. I've | been using Bear for outlining, admittedly smallish lists. It's | macOS native, supports things like pasting in images, video, | markdown, checkboxes, etc.. and is supported by a tiny | subscription fee or free. I've never run into performance | problems. | | Some people just want to work on massive outlines with either | text or links and nothing else, move those list items around | frequently, and to those people $30 might be cheap. As a product | it seems tricky to me, but I'd love to hear from anyone who's the | perfect customer, and how this hits the mark for you. As in, what | the hell do you plan day-to-day? | | Also I quite like the icon, and the nature of it being incredibly | simple. In a sense, it reminds me of the first version of IA | Writer. | jessegrosjean wrote: | I think Bike is more "tool for thought" than it is tool for | notes. It's more like a text editor with some magic features, | then it is like a directory of text files. | | So value proposition... It's a unique surface for your ideas. | The way that it "feels" is important and different than any | other app. If that helps you think then Bike might be fore you. | | In another comment I said Fluid = Animation... and it does, but | there's another aspect of fluid with Bike. If you try most any | outliner there are pretty rigid tools. A little hard to | explain, but they don't feel "fluid" like a text editor. There | are limits and constraints. Bike is different in that it has | all the capabilities of an outliner, but it also has all the | freedom of a text editor. You can select over multiple lines, | cursor moves like a text editor. | | Not sure that I've explained that last bit well... but try a | good outliner like Workflowy. Then try Bike, beyond the | animations (they can be turned off in preferences) Bikes core | editing commands feel different. | spython wrote: | I really like FoldingText that was also your development. Sadly, | it's been discontinued. Looking forward to see if Bike feels as | great as FoldingText. | nnwright wrote: | FoldingText was an absolute work of art, best outliner I've | ever used. It's one of those pieces of software I keep using, | long after it has been discontinued, holding my breath with | each OS release to see if this is the one that breaks it. That | will literally be the only thing that keeps me from using it. I | sincerely hope Bike adopts a lot of the same features! | jessegrosjean wrote: | Thanks I'm glad you liked it. Please note that I sold | FoldingText to https://doubledogsoftware.com and it's still | being worked on. I don't know full set of plans, but when I | sold last summer (right before dedicating fully to Bike) the | goal was to get the code into a modern state that would keep | working for years to come. | t235a wrote: | For those want similar on windows, try | https://innovationdilation.com/ | jb1991 wrote: | Regarding the website: having a video embedded with zero control | to mute or change it's audio volume is really insensitive UX. The | annoying background music is not even necessary to actually get | meaning from the video. | johnknowles wrote: | Strong disagree to both of these points. Nothing "insensitive", | save your comment. Devices have audio controls, no need to | repeat them in a video player-especially not one on a landing | page for a product. Background music for promotional material | is standard, and all too necessary. | jb1991 wrote: | > Devices have audio controls, no need to repeat them in a | video player | | You assume that the web page is the only source of audio | happening on a device. If someone is listening to something | on their machine while browsing articles and then needs to | stop whatever is playing because the website is taking over | the audio, that's very poor UX and is indeed insensitive to | the user. | | Suppose you have a screen reader and now you cannot hear it | because a video is unnecessarily blaring music that you can't | hide. 99.99% of all websites offer the user individual audio | control over playing content -- for a reason. | johnknowles wrote: | Making me think that maybe you should be insensitive to | certain users | jb1991 wrote: | > Making me think that maybe you should be insensitive to | certain users | | People with screen readers usually have an accessibility | issue, so you are advocating to ignore the visually | impaired, for example. | jessegrosjean wrote: | Sorry about that. I'm a one guy does many things. Maybe I | missed on video sound, but it's tricky trying to make a text | editor look interesting. I thought the music helped. | ask_b123 wrote: | The music does sound interesting, but I also wanted to mute | it. But at least there are some images later in the page. | humanistbot wrote: | I hated the music and closed my browser the second I couldn't | find a mute button. | GaylordTuring wrote: | Sorry, I might have misunderstood you, but can't you just | mute the audio of your device altogether? Or do you want to | continue to listen to music in the background or something? | throwaway675309 wrote: | I would've vastly preferred you narrating over the video | instead of generic sounding Kickstarter music, I immediately | muted it. | CiPHPerCoder wrote: | BIKE also stands for Bit-flipping Key Encapsulation | | https://bikesuite.org | dymk wrote: | It's also a two-wheeled vehicle powered by legs | twohaibei wrote: | I've been using workflowy.com - looks VERY similar. | lf-non wrote: | Workflowy is a truly category-defining solution that inspired | an entire generation of similar products. | | I wanted a (preferably open-source) alternative which I could | use with self-managed storage/sync without sharing any data and | found Logseq to be pretty good. | sh1mmer wrote: | This looks great. | | One small suggestion would be to add a "collapse parent" keyboard | shortcut since this is something I imagine using a lot after | scanning one or more items in a list. Perhaps Shift-Command-0 | might be a good fit for that. | jessegrosjean wrote: | I don't think I want to add to many specialized shortcuts, but | if you ask in the hogbaysoftware support forums I'm happy to | write an AppleScript to do this, and then that can be assigned | a keyboard shortcut. | | Also generally for collapsing items I use outline mode: Press | escape key, and then you can just use left/right arrows to | expand collapse items. Maybe not what you are after, but that's | how I find I'm always collapsing/expanding things in Bike. | pvg wrote: | In OmniOutliner, the collapse row shortcut will collapse the | parent which takes care of the specialized extra keybind. | What seems odd is OmniOutliner and Bike's outline/collapse | row keys are reversed with cmd-0 and cmd-9 doing collapsing | and expanding in one and expanding and collapsing in the | other. | sfaruque wrote: | Any chance you'll be releasing this on SetApp too (like | TaskPaper)? | jessegrosjean wrote: | Maybe, I'll have to see how it goes. My main goal is to sell | enough copies so I can keep working on it. Last few years I've | had to spend a bunch of time contracting. Hoping this will get | me back to full time independent. | dietsprite wrote: | Great job with this. Going to try it out now. Slightly off-topic: | What is the name of the song in the video? I want to play it on | loop as I work | jessegrosjean wrote: | Couldn't remember. Just found it: | https://audiojungle.net/item/the-snaps-claps-stomps-pack/363... | camgunz wrote: | In particular I love these features: | | - "respects your computer's memory and battery" | | - "uses open file formats" | | - "is scriptable" | | Feels like we should also think about these kinds of things when | we think about "organic" software. Kudos to the developer for | these. | jxy wrote: | How much memory and battery do all the animation use? | stevenbedrick wrote: | Probably very little if it is built on top of CoreAnimation, | since that set of OS APIs is extremely heavily optimized | specifically to enable animation-rich UIs that are light in | terms of CPU and battery use. | armadsen wrote: | Indeed. As far as I know, Core Animation was originally | created as part of work on the first version of iOS (nee | iPhoneOS), where the target device, the original iPhone, | was pretty severely memory and CPU constrained. | xattt wrote: | Here's part of the ArsTechnica article on Leopard that | discussed CoreAnimation: | | https://arstechnica.com/gadgets/2007/10/mac-os-x-10-5/8/ | | Of note: | | > [The] advent of Core Animation probably means that | we'll have to endure some amount of gratuitously animated | software created by "overly enthusiastic" developers. But | the same was true during the introduction of styled text | and color graphics. Mac developers learn quickly, and Mac | users are good at rewarding restraint and punishing | excess. | sudhirj wrote: | CALayer is part of the OS toolkit, so probably not much. It's | the same system the OS itself uses, so probably a shared lib, | and it's heavily optimised. Similar to animating your web | page with only CSS animations. It's all baked into the | existing rendering system already. | jessegrosjean wrote: | I think the architecture needed to support them means the | total package is less than most apps. For example consider | scrolling: | | In Bike it's fast enough that when you scroll it just updates | what you can see on the screen. This means you only pay | memory for visible text. For most macOS apps scrolling | performance is achieved by pre-rendering before and after the | visible scroll area. So you pay for that cache and you also | pay for the background processing required by pre-rendering. | | Also consider simple things like window resize. In Bike that | only effects visible text. If you open a large document in | TextEdit you will see that resize is quite slow and processor | and memory intensive. (you can test with | https://www.hogbaysoftware.com/posts/moby-dick-workout/). And | then after that resize there's lots of background processing | to refill a bunch of layout caches I guess. On the other hand | resize is instant and only does work for visible text in | Bike. | | I don't think the animations are expensive, but it's hard to | test because that work happens in Mac OS window server and | I'm not an expert there. If they really are a problem and you | are on battery then you can turn off animations in | preferences. | b3morales wrote: | Jesse is certainly one of the patron saints of open formats in | the Apple world given he invented TaskPaper. | telesilla wrote: | If this supported multi-user synchronous editing Google-docs | style I'd be thrilled. | jessegrosjean wrote: | Sorry that's not likely. I'm a single developer, not ready to | run a server. More likely (though still have many more basic | features on roadmap) is automatic merging support when a Bike | file is stored on something like Dropbox. | | In fact that would be a pretty great service (for someone else | to develop). "Dropbox", but for strutted data (xml, json, | whatever) that knows how to merge trees and make use if unique | ids. Maybe it wouldn't work, each merge situation needs a | special case solution. But for Bike files at least I think it | might work pretty well. | jitl wrote: | I think you could encode a "shelf" last-write-wins CRDT into | your HTML using data attributes without exploding your file | size. You would need to add a data-version attribute, and if | you want to support hand-editing or editing by programs that | don't understand the CRDT, a CRC32 or other parity as data- | parity so your loader can tell when a user might have edited | a row without updating data-version. | | Shelf is really simple - the JS implementation is tiny | (https://github.com/dglittle/shelf) and a walkthrough of the | algorithm here is a quick read: | https://bartoszsypytkowski.com/shelf-crdt/amp/ | | It wouldn't handle character level sync - but would let you | merge documents at a rows/items/blocks level. | jessegrosjean wrote: | Thanks for the tip, I'll keep a reference to this. I will | say that it's still unlikely that I tackle this myself | anytime soon. I'm a single programmer, and not all that | fast at that. Lots of more basic stuff to do on Bike, and | iOS version... going to keep me busy for a while. | nehalem wrote: | Did you have a look at [y-js](https://github.com/yjs/yjs)? | They claim to be suitable for p2p collaborative editing and | they have bindings for other languages as well. | jessegrosjean wrote: | Early in Bike's development I did try a few solutions, but | I want Bike to work on somewhat big files. See | (https://www.hogbaysoftware.com/posts/moby-dick-workout/). | Anytime I loaded such a file into a sync solution | everything blew up. | Void_ wrote: | YJS is one of the more performant ones. Wonder how it | would do with your example file. | jamil7 wrote: | Which other languages? | Leftium wrote: | Simplenote survived the Moby Dick workout. It lags a little | after paste, and hangs momentarily on redo. It may work | better with more structured data. (I used the markdown file | in the webapp; didn't test native/mobile versions.) | | So https://www.simperium.com/overview/ might be a low-effort | option to add syncing without managing your own server. | | > - Data transparently moves across mobile, web, and desktop | versions of your app | | > - Your users can read and write data even when they're | offline | | > - Multiple users can collaborate with the same data at the | same time | | > Simperium persists your data for you in buckets... Every | Simperium object is JSON data that is stored in a bucket. | | > Simperium does some basic conflict resolution for you | automatically... When two edits are made for the same field | though, Simperium supports automatic resolution for strings | (currently) and will merge the two edits together. | markroseman wrote: | Speaking as a daily TaskPaper user, this looks great! I totally | get why you're doing the things you're doing with this, | implementation-wise, and what you're able to achieve because of | it. | | Having said that, you know very well what a tough sell it is the | more general purpose a tool is, and this is very general purpose. | I hope having it out there spurs some ideas around how the novel | features of this infrastructure can be the basis for some more | concrete and easier to market solutions. | phlyingpenguin wrote: | First, I use and love TaskPaper so I'm interested in what you've | got going on. But on its surface, I don't see the differentiation | between the two products right now other than Bike having slicker | rendering and TaskPaper having more utility. It seems like | TaskPaper is a competent outliner that supports focus and other | features just fine. Can you comment to what the goals are that | separate them? | jessegrosjean wrote: | I've written about Bike's relationship to TaskPaper here: | | https://support.hogbaysoftware.com/t/how-does-bike-relate-to... | | I think core summary is: | | 1. Wanted to control own text editor. Building off NSTextView | was limiting 2. Wanted to use structured document format. Plain | text was limiting | phlyingpenguin wrote: | Interesting, thanks. It does sound like there's a lot to | build on there so I'll be interested in seeing where it goes. | Some of my best "productivity" memories are with the "free" | copy of OmniOutliner that came on my first Macs, and I think | you have the bones to bring that to the 2020s. | ryanianian wrote: | This is great. It feels very fast, focused, native, and | lightweight like all of HogBay's offerings. | | Is there any way to change the font? As a developer, non- | monospace fonts feel foreign for composing text. | jessegrosjean wrote: | Thanks, sorry not yet font option. I expect to add TaskPaper | like stylesheets in the medium future, then there will be many | style options. | billrobertson42 wrote: | A simple font selector would be nice. I have some seriously | impaired vision w/o correction and monospaced fonts really | help when I have to look at a screen that way. | | That and ability to zoom in/out or increase/decrease font | size. | jessegrosjean wrote: | Note that Bike does support changing font size already. | | I'm getting a lot of request for also adding changing the | underlying font. Will likely add that sooner then later now | since lots of people seem to need. | billrobertson42 wrote: | Awesome! | ilrwbwrkhv wrote: | Workflowy and Logseq already provide these features. Am I missing | something? | vvillena wrote: | As the post title says, it's a macOS native app, focusing on | fluidity. | ilrwbwrkhv wrote: | Mac native I get. But what is "fluidity"? The other two are | just as "fluid". | jessegrosjean wrote: | "fluidity" is a made up marketing term (by me) to mean | animation. | | But I think this animation is important. Bike is a "tool | for thought". I think the way that it "feels/animation" is | important. Bike's build built from the ground up to support | this. Check out the movie or better yet try the download. | Typing feels a bit smoother, text slides into place. | | And yes it can be turned off. And no it doesn't slow you | down, animations are canceled if you type again before they | finish. | criddell wrote: | > text slides into place | | I don't have a Mac to try this on, but _slides into | place_ sounds like what Microsoft does in Outlook and I | ended up turning it off. | | Maybe it's not the same thing though. In Outlook (and | some other Office programs) as you type the text seems to | appear a little more slowly and the cursor glides to the | right. To me, it always felt laggy and so I turned it | off. | jessegrosjean wrote: | They both provide many great features, but Bike provides some | unique features too. I think they are pretty well listed on | Bike's home page (features), but I'll add some notes here: | | 1. "Fluid" (smoothly animated) editing. You could argue it's | not important, but this is something new and unique to Bike. | Bike is a "tool for thought". I think how the app feels is an | important aspect. | | 2. macOS native app, of course this is a plus and minus. But if | you are on a Mac Bike will generally us a lot less resources | then those apps and integrate better with the rest of the | system. | | 3. Local files in open formats. Logseq has this of Course, but | I think there's something pretty nice about having your outline | just be simple HTML. Easy to parse, easy to work with, should | be able to view and make sense of as long as web's around. | | 4. Faster. Bike is designed to work on somewhat big outlines. | Moby Dick has been my test file. It opens instantly. I've just | pasted that into Logseq and my computer is working hard a few | minutes later. Not sure how workflowy does because it puts me | over quotas. | | Bike has a pretty unique foundation compared to other outliner | apps. It's also missing a lot of higher level features that I | plan to build out over time. | WillAdams wrote: | The one user interface element I'd suggest is adding the | ability to promote/demote nodes w/ the right-click menu when | interacting w/ nodes (you could show the keyboard shortcut | then to make it discoverable) --- also an option to delete | (maybe only if empty?) | | Also, when dragging-dropping, I found it way too easy to make | empty nodes which was disconcerting. | therockhead wrote: | I honestly don't understand comments like this, you know it's | ok to competition in this space? | ilrwbwrkhv wrote: | For sure, I have nothing against competition. Usually though, | there are some really unique product features which sometimes | get lost in the marketing speak, so if there is a product | that I am interested in, like this one, I like to verify that | since I didn't quite get that from the product page. | throwaway675309 wrote: | Counterpoint, I very much enjoy when commenters surface | competitors, because it makes the creator summarize exactly | what distinguishes their product. | phemartin wrote: | I'm in Dynalist camp! | jessegrosjean wrote: | Does Dynalist support OPML? Nice thing about OPML is you can | be in all camps at once. Or use Dynalist as iOS solution. I'm | still looking for best outliner to recommend for Bike files | on iOS until I get my act together and make iOS version of | Bike. | dcchambers wrote: | Wow - this so closely aligns with how I already think and | organize my thoughts with notes. Definitely going to give it a | try. Beautiful and fun demo video too. | jibbers wrote: | This looks awesome! Reminds me of FoldingText. | | Edit: I'm not able to force-click on words to look them up (but | right click > Look Up "x" still works). This would also be | helpful on URLs, too. | jessegrosjean wrote: | Thanks, added to my bug list. | pisipisipisi wrote: | I wish someone re-created Varatek B-liner ... https://www.mind- | mapping.org/index.php?title=B-liner_2002 | jrk wrote: | It's not exactly the same, but a similar left-to-right tree | outliner, specifically optimized for writing, is | https://gingkoapp.com | earthboundkid wrote: | I used to write everything in TaskPaper. I guess I stopped when | the iPhone came out? It was so nice back in the day. | elcapitan wrote: | I watched the movie on the linked website, but I really don't get | what "fluid" editing is supposed to be and what problem it | solves? (I've been using OmniOutliner for years and never missed | something like described there) | dchest wrote: | I made a tiny screencast showing the big difference: | https://imgur.com/a/u1QTns6 | | OmniOutliner feels like it has a separate text field for each | node. Bike feels like a text editor when you're editing a | document with nodes, which to me is more natural. | ask_b123 wrote: | I'd recommend using KeyCastr to show the keystrokes while | recording. | dchest wrote: | Yeah, sorry for the lack of keystokes. I usually use | ScreenFlow which also has this feature, but for this one I | used LICEcap. | elcapitan wrote: | Thanks! So this is more about seemless navigation than about | the actual editing, I guess. I've always used OmniOutliner as | a sort of "Excel with Tree" (multicolumn outline), so having | separate cells is kind of an obvious default or even main | feature for me. I can see now how purely longform-text cases | might profit from this version. | Exuma wrote: | If you don't see how that's fluid and why it's valuable then | that feature isn't for you. But it's certainly unquestionably | fluid unlike a lot of other trash apps. | samatman wrote: | Not recognizing what the word is supposed to mean in this | context doesn't imply any of those things. | mikeg8 wrote: | What a great non answer | nsxwolf wrote: | A killer feature for me that might sound silly, would be a | "distraction free" mode - which would just require being able to | center the content in the window in fullscreen mode. | | I have an ultrawide, and if I could work in this app full screen | and centered with just a click or two, it would be pretty great. | jessegrosjean wrote: | I made WriteRoom which coined "Distraction free writing". Good | fullscreen mode for Bike is on my list for sure. | nsxwolf wrote: | I bought WriteRoom :) It gave me a lifelong appreciation for | "distraction free" computing. | aosaigh wrote: | This looks cool. I just started using MindNode yesterday [0] | which is a similar tool (although it takes a very different | approach - it's more visual). I wasn't sure of the effectiveness | of these sort of tools as I usually just use text files + | Notability sketches but I have to say they are very useful in | helping to structure thoughts better. I'm interested to try this. | | [0] https://www.mindnode.com/ | jessegrosjean wrote: | Nice think about Mindnode and Bike is copy/paste between the | two works quite well. | wintermutestwin wrote: | Oh cool, I've been looking for a mindmap app. Oh wait - it is a | subscription? Why? That makes zero sense. | | <spews out vitriol> | lwn wrote: | I've been using the free version for years. Never needed any | of the premium features to create a useful mindmap. | wintermutestwin wrote: | I will never invest my time into an app that I might need | to pay for later if paying for it will require a | subscription and it is not an SaaS or cloud based app. | aosaigh wrote: | Ah I didn't realise. I have it through SetApp, which itself | is a subscription, albeit an easier subscription to swallow | as you get access to a number of great apps. | chipotle_coyote wrote: | While I'm sympathetic to that, I've (somewhat) come around on | the notion of "subscription apps" if the developers are | responsible with it. I've found that in most cases, new | features that would probably be held for major version | releases (e.g., "this is a feature that would entice you to | pay for the upgrade") just come out when they're ready; it's | essentially shifting the app to a rolling release model. The | traditional commercial model of "buy the new major version | and get free updates until the next major version that makes | you buy it again, hopefully at a discount" does always give | you the option of _not_ upgrading if you don't want the new | features, to be sure, but if you _are_ a regular user and | tend to buy upgrades as they come out, the price difference | tends to be minimal. | | Having said that, I'm not sure a subscription model makes | sense for an app like MindNode, since I'd bet a majority of | its users only work on mind maps sporadically That's | conjecture on my part, of course, and I could be absolutely | wrong, but I suspect people who do everything with mind maps | are fairly few and far between. Paying annually for Ulysses, | a writing app I really _do_ use every day, is one thing; | paying for MindNode, which I use maybe once a quarter, is a | big ask. | wintermutestwin wrote: | Yes, sporadic use is a major issue on top of the fact that | this is not SaaS and nothing lives in the cloud (which of | course I don't want of a document creation tool anyway). | | I am all for layers of features that cost money to unlock, | but never ever ever on a subscription basis. It's like | every developer out there heard that SaaS is where the | money is at and decided that applied to their project out | of dogma rather than a well reasoned business case. | selykg wrote: | Bonus is that Mindnode has a built in outliner view as well. I | use Mindnode for this type of thing 99% of the time. | iaresee wrote: | Another long time MindNode user here. I know the nested lists | and map views are essentially two visualizations of the same | structured data but my brain just finds the maps less | thought-constraining. I end up with more creative paths in | map view when I use it to plan. | | Horses for courses I guess. | | Bike looks neat though. | selykg wrote: | I'm generally in agreement, but when I need to share | something, the outline tends to be easiest to share with | others. I'm really happy it's there. Maps for me, outline | for others. | Void_ wrote: | It would be interesting to see MindNode approach applied to | PKM-style backlinks like in Reflect [1]. So not only visualize | connections between pages, but also the outline inside each | page. | | [1] https://reflect.app | innocentoldguy wrote: | How does Reflect compare to Noteplan 3? They both look | similar. | aareet wrote: | This is great! It has a lot of features I value about Workflowy, | but I've always wished Workflowy had a native app | WillAdams wrote: | Nice! | | Do you think you could add support for pandoc to export to other | formats and import things? | | Another option --- possible to set it up so that each node is a | text file (or other file format, see pandoc above) and they are | grouped using file directories? The nifty Tombo notepad worked | thus, and I found it really nice for keeping notes --- for bonus | points, multiple files in a directory which have the same name | would show as a single node, but have a toggle at the top to | select which file extension one is viewing, w/ an option for | "all" which expands them so that one can see all of them. | jessegrosjean wrote: | > Do you think you could add support for pandoc to export to | other formats and import things? | | Maybe, but not likely soon. Bike does already provide | read/write support for .bike (html subset), .opml, and .txt. I | think best route is to work from those file formats. | | > Another option --- possible to set it up so that each node is | a text file (or other file format, see pandoc above) and they | are grouped using file directories? | | I've long wanted to try something like that. It would be very | fun, but I don't expect Bike will do this. | WillAdams wrote: | Well, you could just work up a pandoc file to get to/from the | .bike format, then you'd get it all by supporting pandoc. | | If you do the Tombo.exe type thing, please let me know --- | I'd be delighted to have something like that on MacOS. | alephnan wrote: | What are your thoughts on this data structure? | | https://code.visualstudio.com/blogs/2018/03/23/text-buffer-r... | jessegrosjean wrote: | I've read that article a number of times, it's of course a | great data structure, though I haven't ever used it myself. I | think I like b+tree/rope better though for indexing lists of | things efficiently. | | I did a lot work using b+tree in a bigger project that I could | never quite finish. Finally gave up a year ago and grabbed | leftover code to make Bike. Bike is using a pretty dumb data | structure, but good enough for now. Hope one day to add back | the more performant b+tree stuff. | seanw444 wrote: | Well done on the smooth animations. Looks very satisfying to use. | smoldesu wrote: | Why would I buy this over Obsidian or Logseq, both of which are | free and support more platforms? | csilverman wrote: | I think the quote on the app page says it all: bikes, not | aircraft carriers. I use Obsidian, and really like it, but it's | an aircraft carrier. Bike is, well, a bike. | | I might, after using it, find that it's just too simple and I | need an aircraft carrier after all, but my impression right now | is that the Obsidian-vs-Bike comparison is not 1:1 enough to be | fair. | stinos wrote: | _but it's an aircraft carrier._ | | A cargo bike perhaps, but if you call Obsidian an aircraft | carrier already then there aren't much metaphores left for | software which does way more and is (feels) slower than | Obsidian. | criddell wrote: | If you need to run it on something other than a Mac, you | wouldn't. | jitl wrote: | If you want a super-fast, Mac-native quality app. | coldtea wrote: | It's super-fast, and Mac native, but quite basic. | criddell wrote: | For many of us, that's a positive. | coldtea wrote: | Could be, for not for $37. | | There are other, equally basic for $0 or $10. | Leftium wrote: | Bike is usable forever (opening, editing, saving) without | paying anything. | | You only need to pay if you want to change some of the | settings or use applescripts. | jen20 wrote: | None equally integrated into the macOS system for that | price though. Omnioutliner (the typical go-to native Mac | outliner) is more than double. | soapdog wrote: | Because you're looking for a native application which is a | classic outliner. The apps you mentioned are much more than | outliners. | kacy wrote: | Very cool and congrats on what you've built! This is something | I've been looking for. Any plans to do iCloud syncing and maybe a | mobile app? | jessegrosjean wrote: | I think basic iCloud syncing between Macs should already work, | just as part of the fact that Bike saves your outlines to some | Mac OS file (not database). I know I need to do iOS support, as | long as I stay financially viable I will do iOS support. But I | still need to work on a few more basics in the macOS app first. | | Bike will also read/write .opml files. You should be able to | share with iOS outliner that way I think. | jrslv wrote: | Very well done. An iOS app would be great, since people often | do outlining/thinking in the nature. | hilyen wrote: | The "movie" example music had me laughing at the similarity to | Bob's Burger Patty Cake scene. https://youtu.be/GfCkzqJZAR0?t=145 | mrmonkeyman wrote: | klohto wrote: | FYI, I submitted PR to add Bike into Brew casks - | https://github.com/Homebrew/homebrew-cask/pull/123908 ___________________________________________________________________ (page generated 2022-05-17 23:00 UTC)