[HN Gopher] The 10 year old indie mobile app: what worked for th...
___________________________________________________________________
The 10 year old indie mobile app: what worked for the long haul
Author : taylorhughes
Score : 100 points
Date : 2023-01-06 18:16 UTC (1 days ago)
(HTM) web link (medium.com)
(TXT) w3m dump (medium.com)
| ahstilde wrote:
| Taylor, I really enjoyed this post, and I shared it with my
| engineering team and also group chats.
|
| At Wyndly, we're a software-enabled allergy immunotherapy
| practice (https://www.wyndly.com/pages/immunotherapy). I have a
| background in software engineering, and I had to learn that code
| wasn't always the solution. Better code doesn't mean better
| business outcomes for us! Sometimes I say "Every line of code is
| a liability!", because it's now something a small team has to
| support forever.
|
| Your three bullets on how to build are something I agree with so
| much! Arguably, this is something everyone outside of an at-scale
| product should build while finding product-market fit and growth
| channels:
|
| - Focus on building simple solutions that solve real, urgent user
| problems, in well-worn ways.
|
| - Use battle-tested software and platforms that are stable and
| don't change too much over time.
|
| - Only integrate with third parties when it's absolutely
| necessary for solving those real, urgent problems.
|
| Thank you for sharing!
| taylorhughes wrote:
| Thank you! Glad you enjoyed it!
| guessbest wrote:
| I have over 50 ios apps that are over 10 years. It is amazing how
| competitors come and go.
| kilroy123 wrote:
| I'm curious how profitable that has been over the decade?
| mattlondon wrote:
| Integration tests that fire up a local server are not that
| unusual I find. I don't think there is anything unusual or
| "wrong" about that.
|
| ... But if you are counting how long integration tests take to
| run in single-digit minutes then either your app is really
| small/simple or your integration coverage is low! :)
|
| I've worked on "state of the art" frontends at BigCos where
| integration/end-to-end tests are sharded across perhaps 10 test
| server instances ("local" in spirit, in reality technically not
| on the workstation), and even then it takes 20+ minutes to
| execute. They typically have to execute separately from the usual
| unit tests etc (which run automatically as part of the pre-push
| CD set up).
| taylorhughes wrote:
| It's fairly small, built by a team of 3 over the course of a
| few years. Probably less than 100 endpoints. Good coverage for
| the core, not for the rest. (Eg, zero tests for the main way
| the app makes money, photo books. )
| lordleft wrote:
| >What's changed the least? The "boring" technology. Postgres and
| Redis required zero hijinks to keep running. Even Django itself
| caused very little trouble when I upgraded from Django 1.5 to
| Django 4.0 in June 2022 -- I barely had to touch my Django views!
| Most of the Django changes were in configuration and routing, and
| the most difficult single thing was migrating ancient Django 1.5
| session data to the modern Django 4.0 format so users wouldn't
| get logged out during the migration.
|
| The older I get, the more I appreciate the value of reliable and
| relatively unchanging software components. Not that there isn't a
| place for innovation, but there's also a place for good things
| that endure.
| jmathai wrote:
| I have an 8 year old app that reminds me a lot of this article.
|
| Something that's worked really well for me was that I created a
| plugin feature and most new features are actually plugins. This
| lets me add capabilities without touching or adding logic to the
| core code.
|
| Last night I added SQLite support as a plugin. 2 code files and
| one is unit tests.
| https://github.com/jmathai/elodie/pull/443/files
|
| I don't know if this is the best approach but it's worked better
| than others in my 20+ years of writing software.
| [deleted]
| hobo_mark wrote:
| What do you mean with running App Engine locally? There used to
| be a local development server, but that did not survive the 2to3
| transition. GCP does ship a Datastore and a PubSub emulator, but
| no Cloud Storage for example (someone wrote this one [1], which
| sort-of works but it does not behave 1:1 like GCS, so ironically
| my tests have to work around bugs in the emulator...).
|
| [1] https://github.com/oittaa/gcp-storage-emulator
| taylorhughes wrote:
| I'm using dev_appserver.py, installed via brew somehow, which
| seems to still do the trick (I don't quite remember doing this,
| but something like
| https://stackoverflow.com/questions/40065497/cant-find-
| dev-a...)
| jmathai wrote:
| > Novelty and optimization are the enemy of durable, long term
| code.
|
| This sums up so much of what makes software rot in seemingly
| short time horizons.
|
| Oh, and 3rd party SDKs that he mentioned.
|
| Limit complexity and 3rd party SDKs like the plague.
| rpdillon wrote:
| Alan Perlis' version:
|
| > Optimization hinders evolution.
|
| Still my favorite of all his epigrams.
| giantg2 wrote:
| I have 10 year old android apps. Granted mine have few users and
| were never successful.
| smikhanov wrote:
| What a great article. When he mentions that Facebook and Dropbox
| were launching their own similar apps, it would be fun if in the
| end he would end up acquiring all of them, Pinboard style.
___________________________________________________________________
(page generated 2023-01-07 23:01 UTC)