I tried to watch the YouTube video but the UX popped in and caused me to click on some other random link.
Anyone have any experience of doing this for a complex and long-life app?
Sounds like a nightmare that would increase friction and decrease development fun by x10 because of the huge overhead and tedium of having to keep your features and tests in sync across platform for every change you want to iterate on, and requiring developers be proficient at multiple stacks.
I get the usual complaints about bad webview implementations, but separate native codebases sounds like a prohibitively enormous tradeoff if most users only perceive the UX as being a little better than a good webview implementation. I feel like I'm missing something that native codebases is suggested as if it's a simple alternative, or this is coming from people that aren't actually involved in this?
When it comes to native stuff it get’s tricky. As always it really depends on the use case of the app. In our case we develop a navigation app using a native SDK to show a map + turn-by-turn nav + offline maps etc. This is probably the most non ideal use case for a hybrid app. We developed a few plugins to share data between js /native to initialize the map etc. However, the idea of sharing business logic is long gone. There’s so much stuff that’s happening natively and each time we implement it on Android, we have to switch to iOS and implement the Swift version of it.
Some others have also mentioned that a single person now has to know three platforms (iOS, android and Cordova (in our case with ionic + angular). This is true and the real downside. I’m quite familiar with iOS and android yet I’d never call myself a native iOS / Android developer. Yet, I’ve to write so much native code regarding permission handling, geolocation, threading (Ui/non-ui) and there’s always a ton to stuff happening from version to version (e.g. 16 KB Page Size on Android, iOS support for rotation the device/adaptive layout on iPadOS, etc). This is where a lot of time is lost. And the time is not only lost there but also with unmaintained outdated community plugins you suddenly need to understand and fix.
I agree with most of the article, but this part keeps me thinking. Scheduling to contribute later will almost never work. Either I do it now or never. The task is lost in a list of infinitely many tasks. Also, contributing to a dependency (if I understand this correctly) is always something that helps at least two: yourself - doing something good, helping to improve someone’s work, getting something done - and the person who works on the dependency project. The other gets (positive) feedback and knows someone uses their product/software/library
Ideally this would just be a simple browser plugin.
But the app requires major accessibility permissions so that it can access the API it needs to see into the Android apps, something that doesn't even exist on iOS. Just to do what should amount things like deleting a ".reels" component.
That said, props to OP for figuring out how to build such a feature for mobile. Most of the Show HN's in this space are desktop-only thus kinda useless.
Native apps can in many ways be better than web apps but they definitely lack the client side control that a web app (or any website) comes with. The user is sadly just a consumer and the product at the same time without an opinion.
What I also don’t like are companies that more and more push the user into using the native (I.e. installed) app over the website. I use almost all apps in browser (YouTube, LinkedIn) and the LinkedIn website has a “this content is only visible in the LinkedIn app” banner that is so prominent, it’s disgusting. You’re unable to see details of people changing their job / completing a degree and you’re unable to see the list of “visitors of your profile” (even though this is a silly feature).
On iOS I use YouTube in the browser for a single reason: ads are not shown and/or skippable by reloading the site. Sometimes I use the YouTube app on an iPad and the advertisement experience is so bad. I highly recommend using YouTube in browser (Safari).
Since I’m also somewhat addicted to short, but only use YouTube, I’ve built a chrome+safari extension that allows me to watch X shorts (for longer than 1sec) before closing the page and redirecting me to a different page (whatever you want). This is quite helpful. You can check it out [here](https://chromewebstore.google.com/detail/youtube-shorts-trac...). I also use it on iOS via the Safari extension but I haven’t published it yet.
That's ADHD for you.
A former coworker of mine lamented this - "I start so many projects or hobbies, but just when I feel like I've learned a lot I lose interest". I had to point out to him that his hobby isn't - whatever, sheep shearing or book bindery or underwater basket weaving - but rather his hobby is learning things. That's a common thing for ADHD people, absorbing all you can in a rapid amount of time, devoting every minute of thought to something, and then suddenly completely forgetting it exists until you get the domain renewal notice.
At least you (seem to) have (some degree of) acceptance of the circumstance and recognize the benefits of this behavior rather than just focusing on the drawbacks; too many people have this behavior and think it's a personal failing, when really they just have a different hobby than they think they have.
I wrote a short blog post on this a few weeks ago: https://baduiux.de/posts/opportunity-fear-of-missing-out/
And FWIW, your (our) paranoia is justifiable. As mentioned in another comment, GoDaddy is historically-notorious for front-running domain searches. ICANN tried to make that a bit less practical, but I just assume that they (and other sketchy registrars) still do it.
If you search directly through whois (i.e. from the command line), you should be OK. That's been my strategy, and I think it works.
I however have a similar but more expensive problem, I develop side projects to an MVP and leave them up for literal decades with no one but myself using them, paying for the domain and hosting. I can't let things go.
I rewrote a number of things in Go recently so they could scale down to zero on Fly.io and save me some money.
For example though I have been developing a note keeping SaaS for fifteen years. It fits my own needs perfectly and I use it every day, but everyone I have ever had try it has bounced in a couple minutes. I literally removed the sign up after GDPR scared me in 2018 and never put it back. I should put it back, everything is client side encrypted and I don't keep any PII.
I have an ad free emojipedia-esq tool, a tool for making API controlled README badges, a tool for converting MIDIs into print outs of colored sheet music for children's keyboards, a joke API, so much more.
I did accidentally let the domain expire for my Wordle knockoff where you guess the soup based on the ingredients. It never worked very well anyway.