this post was submitted on 04 Jul 2023
3 points (100.0% liked)

Programming

13385 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

Hi! So, I have a serious problem with tab hoarding. And now I want to write a browser extension - a bookmark manager. I've already attempted it once, and even got to MVP, but then didn't really use resulting program, was a bit too clunky, and also I realized that this is not the solution to the problem.

Now, few months later, after reevaluating my approach and also finding an imperfect solution that actually works (using Toby as my bookmark manager and closing about 400 chrome tabs), I now have an itch to try again. In a nutshell, it's a bookmark manager (i.e. having good categorization, unlike read-it-later apps like Pocket) oriented on read-it-later functionality (i.e. having a separate read-it-later list, quick saving and quick deletion of tabs from either main library or read-it-later list, unlike most bookmark managers)

For context, I am senior android developer with 7 years of experience, specializing on Kotlin (so that's why I'm searching for kotlin-based solutions, like Kotlin/JS and ktor), but my webdev experience is limited by last time I attempted this, and a half-year class in my uni almost ten years ago. And now I have ideas of doing this as a self-hosted app, to avoid limitations of both IndexedDB, and Kotlin/JS, and also to allow sharing bookmarks between browsers (and, if hosted online, between computers). But I haven't done stuff like this before (had no need), and only approximately understand things like Docker and stuff. But I'm a quick learner.

So, after some (pretty shallow) research, I got an approximate idea how it would work:

  1. Extension written in Kotlin/JS, using Compose for Web + Kobweb Silk (adds containers like Row/Column and Modifier) - That's the part I'm familiar with, I've already learned from zero how it works last time
  2. Ktor server that handles business logic - Never needed ktor in android development yet, so a new area for me
  3. Parse-platform server - Never worked with it either, but looks useful

Not quite sure if I really need three layers, or if I should just use a database and access it with sql queries. Or maybe the other way round, to move business logic to extension, and access parse server from it

So, I'd like some feedback on how dumb am I, if this even a good idea, how should I fix flaws with my plan, or is it fractally dumb, and I should quit programming altogether for coming up with ideas like that without even doing proper research?

top 1 comments
sorted by: hot top controversial new old
[–] while1malloc0 1 points 1 year ago

I don’t think it’s a dumb idea at all. There’s a bunch of different ways to solve the technical problems that come with making a bookmark manager, and they all have different trade offs. When I’m personally evaluating different solutions, I use a few heuristics, and the main one I reach for is “run less software.” All things being equal, running the least amount of software is usually how I come up with the most maintainable solutions. Through that lens, I would probably go with some combination of 2/3 solutions you mentioned: either a WebExtension frontend talking to a ktor server, or that same frontend talking directly to something like parse (which may not make sense, I’ve never used parse, but the point was just an extension talking to some sort of managed service).