* Omnigroup's suite of apps for macOS and iOS
* Craft
* Drafts
* Fantastical
* Hook
* Marked
* Mela
* Rectangle
* Scrivener
* Postbox
[1]: https://www.omnigroup.com/blog/omni-roadmap-2022
[2]: https://www.craft.do
[4]: https://flexibits.com/fantastical
[5]: https://hookproductivity.com
[7]: https://mela.recipes
[9]: https://www.literatureandlatte.com/scrivener/overview
[10]: https://www.postbox-inc.com
[11]: https://www.macstories.net
[12]: https://sixcolors.com
The most useful apps still come from the indie developers; it's just not as high profile as it once was. It's become more artisanal.
If you read MacStories [11], Six Colors [12] and other indie Mac websites, you'd see lots of innovative Mac and iOS apps.
iTerm2 is perhaps the best terminal app on any platform: https://iterm2.com.
- iTerm2 - it works right, it feels responsive. I don't have to futz with it but can
- Pixelmator Pro - it's what Photoshop used to be to me 20 years ago
- Omnigraffle - When I need to hand-layout a diagram it's my favorite ever
- Postico - It's weird that I like a single DB UI. But it's nice over just pqsl sometimes.
I have some handy utilities I like:
- The UnArchiver
- Flycut
- SwiftBar
- Disk Inventory X
- Amphetamine
- Skitch
- Magnet
I use Office 360 begrudgingly. But I do like it better on macos than Windows.
The rest of my GUI stuff is largely cross platform (and some electron)
- Firefox
- Chrome
- Notable
- Signal
- KiCAD
- Wireshark
- VirtualBox
- IntelliJ (I use less and less)
- Spotify
The killer app for me in a lot of ways is just Homebrew. I live in the terminal. I love having up-to-date dev tools. I hate maintaining it. Even with Linux it can be a pain to hit the sweet spot between up-to-date and DIY. I'm happy running a FreeBSD server, but I want my workstation to not require a lot of planning. I also love that I can install/update native apps from it. I always use it before I hit the App Store.
I've ditched making VSCode and IntelliJ like vim and made neovim like VSCode. It's glorious. I use git and text for almost everything I do, unless I can't or when a picture helps.
And I don't play games on my laptop anymore. Really just Minecraft on my tablet. Sometimes I let my kids play with me :)
You might want to check out pgcli sometimes if you find yourself using pgql on occasions. It does the same but includes various quality of life features such as tab-completion, syntax highlighting and improved table views
How does one go about getting the IDE features like autocomplete or source change tracking in NeoVim?
But the most recent major neovim release has lsp support + treesitter. Some Linux distros don’t ship it yet, but Arch and Homebrew on my Mac are up to date.
There are lots of examples out there for the configuration. I don’t think that mine’s great enough to share.
I’d just Google “neovim lsp config” or such.
I'm curious (since I very rarely use MacOS) what makes it better than say: Alacritty, kitty, or even something basic like xfce4-terminal?
In terms of responsiveness I can't think of something better than alacritty/kitty.
In terms of everyday basic features something like xfce4-terminal seems to cover everything. Does iTerm2 have features that make everyday usage more pleasant?
We believe implementing platform-specific APIs for each platform, e.g. Objective-C APIs for Mac leads to a better user experience but it is much more challenging to maintain. We're currently building a cross-platform UI framework with that philosophy. Hopefully it will make Mac development easier. Learn more here [1]
That said both stay out the way and cause me no issues but I'll pick Cinnamon/Linux over MacOSX ninety nine times out of a hundred anyway.
Its main rendering surface is not using the DOM, most of the work happens in other processes, it can even use native tabs in MacOS now. As a result it really feels snappy, unlike Slack and other common electron apps.
How many good options are there.
The only good option is to separate your UI and logic and write a new UI layer for each platform. It is hard work and there's no easy out. On a phone, the UI has to be touch only. On Windows you probably need to support touch and keyboard/mouse. Linux may lead you to develop a TUI and GUI. Your macOS version should probably be a GUI.
Then on each platform, there are significant differences for things like where the settings UI should be and where the settings should be persisted.
And you are seriously underestimating the cost of Electron (which isn't an option on some relatively big platforms like Apple Watch). Memory consumption, CPU utilization, and battery consumption are the key factors and a well written native app will always beat a well written Electron app usually by more than 20%, especially on battery consumption. If you are lucky and have millions of users, then multiply that across all the users and it's a tremendous amount of waste.
I can see why you might choose Electron if you have very few users or the app is essentially a web page.
People conduct serious business on phones. Mobile apps and sites are more important to products that we would all assume are “sit down at a desktop computer” type of products.
Any effort you put into a desktop-only app is basically leaving most of the money on the table, unless it’s a desktop computing specific niche (and if it is, it was probably already thought up 10 years ago).
(Windows PC)
Why is functionally so different between the native app, web and teams. How is this an industry standard?
I edited a table, moved a picture and changed a footer. How can that be complex?
On a daily basis you could never tell which method of extracting a document would or wouldn’t work. Sometimes they wouldn’t open at all. Or would only open on web, but not desktop (or the other way around).
I was working in PowerShell ISE today and was thinking "this has to go" the whole time. So if I have any PowerShell work in the future I'm going to try the VS Code tooling for that.
I knew at least one person at Capital One who was using it for their Spring Boot project instead of Intellij.
Not least because one of the apps I used to use -- Panic's Coda -- had really severe keyboard lag issues in some situations, on hardware that should have been fine with it.
In my experience VS Code is plenty quick enough, not least when I am editing something inside a VM or on a remote server using the Remote SSH mode.
It might show a bit of keyboard latency but the Remote SSH mode more than makes up for this, for me; the sheer flexibility it offers me as a developer means I am going to ignore a bit of general latency.
And we've put up with worse in IDEs and programmers' editors, for sure.
One thing I would observe about speed complaints in VS Code is that they come from people who navigate through text mostly through keys; people with a vi or emacs back-story.
There is no doubt at all that it repaints more slowly than some editors when scrolling down through code line-by-line or page-by-page with the arrow keys etc., because of all the code actions that fire off when the cursor moves.
But it is not noticeably laggy when scrolling with a trackpad, because the cursor does not move.
This difference probably explains people's very polarised and simultaneously valid responses to VS Code.
Once I have something working as i like, I will not update. It seems that long term stability and continuity became a dirty word and now we are forced to update every year because someone has new hardware to sell you or a new subscription service to push you into.
having to install 12gb xcode so i can convert my chrome extension to safari. or my local env/build system stop working because i update from catalina to big sur for a new uglier flatter design.
and why they have to give these stupid arbitrary names to their os, its all marketing, it makes it confusing to know what was previous and what next...
It's fiddly and annoying (and usually expensive) to license for a team (compared to SaaS subscriptions). It tends to be less "online" - more likely for work to exist only on staff laptops and more difficult to share and collaborate on work (compared to software where all of the "work" exists online and live collaboration is expected).
My work situation is just VSCode (which I'll probably use in the browser half the time going froward via codespaces), Chrome and whatever Terminal app comes with the OS. And 10 tabs open for email, chat, calendar, docs, video calls, project boards, version control, devops stuff etc. I assume that's pretty typical.
The reality is that the browser has become the OS that everyone targets. In many ways, this is a good thing. The apps I run on my Mac work just as well on Windows and Linux. You mention Microsoft/Apple dominating office software. But there's a whole new world built on top of things like Notion and Google Docs/Sheets now. Web apps are more than capable enough today outside of niche scenarios.
You can have my Sublime Text when you pry it from my cold, head hands.
Shoutout for Tower Git, Kaleidescope, and TablePlus as well.
I'm not going to buy any subscriptions. And luckily I don't need to, since the classic funding model in this space still brings better apps.
Well... the golden ages (which I'd say are the mid-90s to 2010-ish) are over.
- Business software has pretty much consolidated and the existing tooling from office suites to data warehouse and workflow stuff (i.e. SAP) offers so many options that it's incredibly hard for new players to gain a foothold - you need to identify some niche, build it out well enough to offer an actual benefit and market the hell out of your idea, and maybe in 0.1% you have a chance at lucking out.
- there are a bit of open-source efforts (e.g. Thunderbird, Mozilla, LibreOffice) but they lack funding so they struggle along, mostly used by those not wanting to spend money on the above-mentioned pay products
- Utilities from file management (Winrar, Winzip, Total Commander) over media players (Winamp) to task managers have been absorbed by the operating systems. These days, particularly Apple is known for outright ripping off ideas from popular App Store apps.
- the people who made the really innovative apps in the golden age were highschool and college students. These people have since found employment at big companies, removing both the time and the ability to work on side gigs (hard to do a side gig when you're staring at a screen for 40+ hours a week, and why bother with side gigs when your employer demands copyright even over stuff you do on your own time?). Today's young people aren't interested in programming any more, they're more interested in Tiktok or to fight on the political level.
- All major OS platforms have alienated developers. Microsoft with win32 -> .net/WPF -> UWP -> WTF, Apple with Cocoa -> WTF, and Linux never got around to settle on one way of packaging applications and dependencies or on window managers or on <insert long list of forks, disagreements and other crap that happens without a central steward here>.
- it seems like the flurry of cheap or free high-quality IDEs and the consolidation (basically it's VS Code, IntelliJ or Eclipse these days) directly coincided with the end of big-corporate desktop app developments. Basically when no one pays four figures for an IDE any more because no one wants to develop for desktop, it makes sense that the others go down in price (Visual Studio/VS Code) or vanish (Borland).
- Mobile, web-based SaaS and subscription based stuff lured a part of said alienated developers with better pay and actual innovation
- ETA: Games... that's a different beast. Can't argue that there is innovation present. But most of the attention of the major actors seems to be focused on console-exclusive or other walled-garden deals, and the mobile market draws in the f2p whales. There are rare gems (e.g. Factorio) that simply would not work on a console due to a lack of a keyboard, but that's it.
There are no LAN parties. Conventions are more corporate now. Nobody camps out in line for a Wii.
The 90s to early 2000s was the golden age of everything because of context. The substance is almost irrelevant.
All the corporate "Bring back 1996" releases fail because they just rerelease pieces. It's like telling people that drinking alone till you puke is the same as a party.
Even more businessy software is the same way. Programmers are no longer excited about tech. They just think it's a security risk and maybe secretly respect Kackzynsy's views
Why would they innovate even if they had time? The cool thing to do is interesting algorithms, blockchains, and minimalism. Nobody wants to make a super awesome GUI app. That's too easy and the new generation of programmers looks down on how the world is GUI dependent.
Everything it tech sucks because the culture in general manages to make it suck even though the actual tech is absolutely amazing.
It is worth considering that this viewpoint is age-dependent.
I feel this way instead about the mid-eighties to the early 90s, and I personally believe that games went rapidly downhill just after Quake, until the mid-2000s casual gaming boom. Everything went 3D and the fun was beaten out of every game concept.
Speaking from a British position, I think your problem with "entertainment" generally is very specifically the manifold outcomes of the US television network syndication model.
US TV companies make too many episodes of everything, because of that model, and that feeds inevitably into a particular story development concept that involves teams of people growing and feeding an addiction.
Not so long ago, a British Prime Minister (David Cameron) told Tina Fey that he wanted a more American model in British TV -- more episodes.
https://www.bbc.co.uk/news/entertainment-arts-48021899
"Come and convince our showrunners that they can't just make six episodes of things. Like you guys, they should make 200 episodes," she recalled him saying.
Fey rejected the request, however, explaining that US writers were, in fact, jealous of the less-is-more British approach.
The way this works -- that everything has to have a spinoff, everything has to have a multi-episode story arc, everything has to have a universe -- is also why cinema is screwed, because it is now a feeder for this system.
So my suggestion is: watch things that don't have more than ten episodes ever. Watch films that don't have sequels. Reject syndication culture.
In particular I think indie horror games feel well-crafted and original now even if they're cheap. Can't tell you why though.
I watched an interview from the 80's-90's in which a developer discusses the process of coming up with a concept for an arcade machine. They said something like "It's like trying to create digital drugs."
> the new generation of programmers looks down on how the world is GUI dependent
I personally think we have a good mix of GUI and terminal apps right now. They both have their uses.
> That's too easy
I feel like making a GUI app is harder precisely because of the added development work.
> Programmers are no longer excited about tech
I'm less enchanted with having to know several frameworks before getting a job, rather than simply understanding a language/paradigm well and being quickly onboarded, but that's probably just a sign that I personally shouldn't be a software developer.
I've never sorted or btreed or third normal formed or a* searched something. I've never designed a new machine learning model. I couldn't implement even a toy version of AES. I've never done a GPU shader.
I just find out who has, come up with a workflow model and UI that uses it, then track down all the edge cases that need a few if statements to handle, and maybe pack and unpack some bytes for a microcontroller.
I couldn't quite be replaced by a CRUD builder tool, because I'm doing embedded stuff, and a lot of CSS theming work... but it's not unimaginable.
And every new NPM dependency feels like installing a Russian hacker’s “free library” on my computer.
They still take security seriously, but not to the point of avoiding widely trusted dependencies or trying to push back on tech in general and use more analog things
I have to admit that, after starting my own product, I’ve found my thing (doing features with a bit of backend and a bit of product management…).
Regarding the developers alienation, it is incredible how the developer advocates keep changing and newer PMs are able to sell rewrites with a straight face, ignoring what they were selling at previous BUILD, WWDC, Google IO.
As noted, several app categories seem to have "matured" and/or ossified and are dominated by one or two players. For example, Microsoft and Apple dominate the "office" productivity software market on macOS.
Moreover, apps like Discord, Teams, VS Code, etc. seem to be cross-platform web apps which are clunky and unsatisfying compared to native apps. (Other web apps don't even have desktop versions and only exist in the browser.)
That being said, Adobe's offerings are expensive subscriptions which have opened up a market for Affinity as well as Pixelmator and Acorn.