[HN Gopher] An app can be a home-cooked meal (2020)
___________________________________________________________________
An app can be a home-cooked meal (2020)
Author : distcs
Score : 757 points
Date : 2024-01-05 10:03 UTC (12 hours ago)
(HTM) web link (www.robinsloan.com)
(TXT) w3m dump (www.robinsloan.com)
| koliber wrote:
| Your writeup, the idea of the app, and how you executed it is a
| breath of fresh air. The idea of building for a TAM (total
| addressable market) that is in single digits is a nice contrast
| to pretty much everything that's out there. Such an app is one
| step higher than a learning project, with oodles of utility,
| albeit for one or a few people. But those are the most important
| people in your life, so its much more fulfilling!
|
| Comparing it to cooking a meal at home for your family is a
| perfect analogy.
| rchaud wrote:
| TAM-driven development is at odds with the spirit of the
| minicomputer era, where it was expected that people would be
| making applications for themselves first.
| globular-toast wrote:
| Is this iPhone? How did you distribute said app?
| vivty wrote:
| In the text it says: "I distributed the app to my family using
| TestFlight, and in TestFlight it shall remain forever: a cozy,
| eternal beta."
| aziaziazi wrote:
| TestFlight is mention in the article so I guess yes, iPhone.
| wrikl wrote:
| I'm actually surprised that TestFlight was available for
| this, since I recently worked on a private app and did a bit
| of research into how to distribute it - everything I read
| implied that TestFlight apps will be reviewed by Apple
| employees and must be apps that intend to eventually be
| distributed more widely (e.g. beta versions). I got the
| impression that an app for family or friends that wasn't set
| up with a plan for release at some point would be rejected.
| lawgimenez wrote:
| Based on the blog post, it was created February 2020 where
| the rules you mentioned was not enforced yet. But around
| that time I believe you can also export an ipa file so
| anyone can install but you have to include your target's
| UUID in the app signature.
| ceejayoz wrote:
| It's a more cursory review, and missing features are fine.
| Would be easy to slip through.
| m463 wrote:
| Hopefully legislation will fix this.
|
| People are able to do things in their own home without
| asking Amana or GE permission and having their recipes
| examined and reviewed.
| willcannings wrote:
| You can distribute to "internal" testers (people you add to
| your developer account) without any review process. The app
| is only reviewed if you want to distribute to external
| testers.
| davidb_ wrote:
| I had the same question. He says TestFlight, but he's
| handwaving some of the headaches of that. TF builds expire
| every 90 days.
|
| The other option would be an adhoc certificate, but then you
| have to collect everyone's apple id.
|
| Apple makes this kind of app distribution process more painful
| than it needs to be.
| rockostrich wrote:
| It should hopefully be easier in the future when side loading
| is possible on iOS.
| davidb_ wrote:
| Sideloading is still blocked in the US in their new
| releases. Only allowed where mandated (EU)
| multjoy wrote:
| With four users that's not as onerous as it sounds.
| Foreignborn wrote:
| This post significantly influenced me back when it was first on
| HN, and helped me articulate what I was already doing
| subconsciously.
|
| I started a homelab years ago like a lot of folks here, and
| slowly that's changed to being a hobby of building and
| selfhosting applications for my "users" of 5-15 of my family and
| closest friends.
|
| I've written so many little apps for them (e.g movie night
| scheduler) and integrations into our group chat for whatever
| someone can think of. It's really blossomed into something that
| has made us all talk and hang out so much more.
|
| Even distant friend groups that don't know each other have now
| met in person (without me!) and gone to baby showers, weddings,
| etc.
|
| If anyone has a group of friends like that, consider making
| something for them!
| thebricklayr wrote:
| Ironically, this is a great way to build actual products (if
| you're open to letting them grow).
|
| Three years ago I created a simple app for my family and
| friends to share recipes together. I kept adding features they
| requested, and after about two years, the app was apparently
| good enough that people started sharing it by word of mouth.
|
| By October, the app had grown big enough that I had to start
| charging new users to cover server costs. I'm now contemplating
| a future where I work on it full-time.
| samstave wrote:
| I love writing little tools - but I tend to do so for others,
| than myself.
|
| My GF and her Sister kept a running tab (Beans) between them -
| and always were having issues reconciling who owes what for
| when etc...
|
| These are smart and capable women, but for some reason their
| personal tab between eachother was a headache - so an "app" I
| made was just a smarter spreadsheet in google docs they share
| and they enter their info each month and it tallies who owes
| what.
|
| I forgot about it for over a year or so - and so I asked my GF
| is they were still using it
|
| "We use it all the time - its been such a lifesaver."
|
| Its literally just how one would use any spreadsheet... these
| are high-paid, highly successful people, and were struggling to
| just get a 'tab' thing going.
|
| One of the things I did, was have it load pics of their shared
| dog on each new tab (a tab per month) and they loved that.
|
| Silly, stupid, took me 15 minutes and they have been using it
| for the last couple of years and love it.
|
| But yeah - build little tools for a small circle.
| j1elo wrote:
| I love all the comments that I'm reading here, but for most
| of the cases that are being presented, I'm having a hard time
| imagining myself needing to do the same, because for the most
| part there is always an app that already covers that need.
|
| For example, your use case sounds like the ideal scenario for
| Settle Up. Me and my 2 closest friends have a running group
| where we annotate expenses and there's always a clear picture
| of who owes what amount and for what reasons.
|
| Of course, tiny customizations like a dog's picture per
| month, are not possible to do with a 3rd party app :-)
| samstave wrote:
| It wasnt more about solving a $ issue as to morphing their
| interpersonal behavior over a tab between sisters... (and
| my personal friction) ((have you met any sisters who are
| both close and highly successful in different fields)) -
| sometimes, you just need to leave the room... this was my
| method of exiting the room of financial "settle up" types
| of comments - and I had the mortar of dog pics.
|
| So, yeah - but micro tools are a thing.
| siva7 wrote:
| > When you liberate programming from the requirement to be
| professional and scalable, it becomes a different activity
| altogether, just as cooking at home is really nothing like
| cooking in a commercial kitchen.
|
| What if you have never cooked at home but all the time in a
| commercial kitchen? That's the reality for most of us here so it
| is a bit difficult to relate to this article.
| althea_tx wrote:
| I think you are incorrectly extrapolating to the entire
| community based on your personal experience. You are assuming
| that most of the readers at this site are working in a similar
| professional context that you do. You are also assuming, but
| all of those people who work in a professional context, do not
| also "cook at home."
|
| It's OK if you did not relate to the article. But I certainly
| did!
| pcthrowaway wrote:
| For what it's worth, I think HN audience by nature of
| spending their free time learning about interesting techy
| things is more likely to be doing their own "home cooking".
|
| I agree with the sentiment of the poster above if applied to
| the majority of professional software devs though.
| distcs wrote:
| > What if you have never cooked at home but all the time in a
| commercial kitchen? That's the reality for most of us here so
| it is a bit difficult to relate to this article.
|
| Really? I'd hazard a guess that the majority here (> 50%) have
| never worked at a commercial kitchen!
|
| I'm honestly curious to understand why you think most people
| here must have worked at commercial kitchen and never cooked at
| home?
| rcxdude wrote:
| The poster is speaking through the analogy: they mean most
| people here have coded professionally but not at home. I'm
| not sure I agree with that, I think a lot of programmers have
| done hobby projects, even if only when they were starting
| out.
| distcs wrote:
| Thanks for clearing up my confusion! That comment makes
| total sense now and not as baffling as it first looked.
| JohnFen wrote:
| > they mean most people here have coded professionally but
| not at home
|
| The idea that there are devs who did not do fairly
| extensive home coding is so alien to me! I don't personally
| know a single dev like that, and it would never have
| occurred to me that they exist.
|
| TIL
| klibertp wrote:
| It's never too late. You can start coding after work even right
| now. You can serve a well-cooked app to your friends and family
| instead of shipping a feature you don't care about to an
| amorphous mass of users (that you don't care about) - it's an
| experience worth knowing.
|
| Fun fact: that experience will likely change you, and your
| commercial kitchen co-chefs will also appreciate you more
| afterward.
| 082349872349872 wrote:
| I would recommend trying home cooking if only for the reason
| that, in a commercial kitchen, you have a role, but cooking at
| home means you will have/get to do everything yourself: from
| ingredient sourcing to dishwashing (and even front-of-house
| stuff like table service).
|
| Carver Mead, in a hardware context, described the "tall, thin
| person" as someone comfortable at all layers: with their feet
| on the (rubylith!) layout and their heads in the architecture.
|
| (I have read that in the days before email, it was customary to
| let the owners' kids sneakernet those manila "interdepartmental
| mail" envelopes as a summer job, because it brought them into
| contact with all the facets of an enterprise)
|
| > _Making the landlord and the tenant the same person has
| certain advantages, as that the tenant pays no rent, while the
| landlord does a little work._ -- GKC
| ruune wrote:
| Well, try it. Use an awful language you like, break
| conventions. If you don't like it, just scrap the project.
| After all, noone is waiting for you. It runs like crap and
| looks awful? As long as you like it, your whole userbase is
| fine with it
| Glench wrote:
| I like that you shared this post. I imagine for someone who has
| only done corporate programming that making a home-cooked meal
| (in programming terms) would be very refreshing and liberating!
| whywhywouldyou wrote:
| Some easy answers:
|
| 1. Not all articles will be relatable to everyone, and that's
| perfectly fine.
|
| 2. Your "what if" scenario is trivially surmountable: write
| some code at home, for yourself, for something you enjoy, or
| for someone you care about.
|
| I don't understand how someone could read this and not only
| have the takeaway that you did, but come here to mention it.
| codersfocus wrote:
| I've been wanting to make something along this spirit.
|
| A personal social network. No influencers. No ads.
|
| It rides on existing messaging rails (email, SMS, IM...) for
| distribution.
|
| You just post stuff to your feed, and your contacts get a
| notification when appropriate.
| andrewstuart wrote:
| That's a WhatsApp group.
|
| Which is exactly what various factions of my family use for
| shared messaging.
|
| It's the purest social network..... people and messages.
|
| Ironically owned by Facebook.
| wousser wrote:
| Like Monica, Contact Journal or the Apple Journal app?
| https://www.monicahq.com/ https://socialcontactjournal.com/
| https://www.apple.com/ae/newsroom/2023/12/apple-launches-jou...
| yaky wrote:
| IMO the technical part of this is easier than the social part.
| I've been hosting a Matrix server for years, and use it to talk
| to my wife and one friend.
|
| One relative tried it but would ignore messages (iOS
| notification system design is bad, but their home screen is
| disorganized too), and would constantly revert to
| iMessage/SMS/MMS. Two other relatives who are in a WhatsApp
| group with me pretty much refused with "But I can talk to you
| on WhatsApp just fine?", or "Who am I going to talk to on
| there?". Ironically does not stop them from downloading Viber,
| Instagram etc. Thankfully, the WhatsApp bridge + Matrix client
| works for 95% of the use cases.
|
| Thus, I am happy that the author's efforts found good use and
| were appreciated.
| parasti wrote:
| This is an amazingly refreshing view of programming. I am envious
| of anyone who can apply first hand their programming skills to
| the world around them. I can program, but real life and
| programming just seem to occupy entirely different realms of my
| brain, unable to cross over.
| jddj wrote:
| Fascinating. Sometimes I think I might lean too far in the
| other direction.
|
| I can't help but imagine-architect software solutions to my
| meatspace problems and nonproblems if I let my mind wander. I
| have to remember to ask myself, sure I want to build it but
| would I really want to use it?
|
| By the time someone has finished telling me the awkward thing
| they had to do today I've got an idle loop in my brain spinning
| (silently) on finding a "better" way.
|
| Admittedly, not many of these get built because time is
| limited, all software takes ongoing care and many cures are
| worse than their associated disease.
|
| Some do, though. Particularly internal tooling for work which
| can be measured in $ and some projects which scratch a
| community itch which can be measured in positive interactions.
| 082349872349872 wrote:
| see https://xkcd.com/974/
| block_dagger wrote:
| Nice write up. I like building small apps like this as well, like
| gigtablet.com which I made for my band to use. It has us 7 users
| and we're happy with it so that's all that matters.
| SturgeonsLaw wrote:
| Nice article and lovely concept. I'm not a professional dev, but
| use programming to enrich my quality of life, and it's nice to
| see some of those thoughts put into words.
| ssgodderidge wrote:
| > I burned some incense and threw some stones and the gods of
| Xcode allowed me to pass.
|
| Gave an audible chuckle at this one. I've done many a battle with
| those gods; they be beasts.
| keithalewis wrote:
| Lovely article but this made me sad/mad. How did we get to the
| point where this is acceptable? MAGA (Microsoft Apple Google
| Amazon) have a stultifying effect in our software sharing lives
| now.
| joshspankit wrote:
| Agreed. Devs are somewhat of an isolated segment of society
| and so there are few politicians thinking about the
| stultifying effects of App Store distribution or the fact
| that even the devices themselves are hostile to shared
| personal projects.
| brk wrote:
| >How did we get to the point where this is acceptable?
|
| IMO, bad actors.
|
| 40 years ago we didn't need much in the name of cyber
| security, restrictions, controls, etc. You most likely
| personally knew the vast majority of other people that had
| any kind of access to your systems, or that you exchanged any
| kind of electronic data with.
|
| As the aperture of users and developers has opened, risks
| have increased. There is probably some analogy here similar
| to how the value of network increases exponentially with the
| number of connected devices, the risk factor increases
| exponentially with the number of users and potential software
| developers for an ecosystem.
| jwells89 wrote:
| Exactly. Even major "trusted" third parties like Adobe
| can't actually be trusted to keep their fingers out of
| parts of the system they have no business poking around in.
| Time and time again it's been proven prudent to treat third
| party devs as hostile parties by default, with trust being
| hard-earned.
| david422 wrote:
| I'm curious if Apple actually uses they software they write.
| Surely they must right? And if so, then how do they not
| improve it. Or if they don't ... perhaps they don't use other
| software so they don't understand how things could be
| different?
| rockostrich wrote:
| The author of the article, Robin Sloan, is an author that's
| written a couple of novels and a bunch of short stories (as
| well a great monthly-ish newsletter). I highly recommend giving
| his first novel, "Mr Penumbra's 24 Hour Bookstore", a read if
| you liked that line.
| markemer wrote:
| Yeah, I've said in many interviews that I know a lot about
| signing Apple products, all learned entirely against my will.
| chrisweekly wrote:
| I love this. Insight, warmth, humanity....
| caipira wrote:
| This is poetry. I have been working on a personal project for the
| last 10 years that replaces every other app I used to use -
| E-mail, calendar, and all the others we all use on a daily basis
| - and every time someone sees me using it they ask "Wow, this is
| amazing, how do I download it!?", and the answer is always the
| same: you don't.
|
| There's a beauty to engineering something having yourself as the
| target user, and no one else. I'm 100% convinced this project
| single-handedly keep my mental wellbeing in check, and it
| provides me with a constant source of hopefulness and happiness
| to the future - that no company/salary could ever offer me. My
| exclusive, differential, unique characteristic against the world,
| my joker card.
| factorialboy wrote:
| Would you be open to sharing screenshots? I'm curious about the
| mental-sanity claim, do you not have your email + calendar
| setup on your phone?
| HKH2 wrote:
| Not OP, but how often do you have an app that is exactly how
| you want it? You might just shrug off the small annoyances,
| but you could fix them and make the app something that
| becomes second nature. The UI won't suddenly change, so you
| won't have to relearn how to use the app, just like you don't
| have to relearn physical interfaces.
| ParetoOptimal wrote:
| The above are all reasons I use emacs.
| dingnuts wrote:
| for REAL. when I started using Emacs, everyone told me
| Emacs was old and I should use Sublime Text II or Atom.
| Now they all tell me Emacs is old and I should use VS
| Code. I wonder what they'll tell me to use instead of
| Emacs in ten years :)
| david422 wrote:
| I've used some horrendous software in the past and it's
| nice that - even though I can't fix that software - I can
| write my own software and make it behave exactly how I want
| it to.
| marssaxman wrote:
| This is (largely) why I do all my coding work in an editor
| of my own creation. It suits me perfectly, and it never
| changes unless I want it to.
| kmarc wrote:
| Similarly, albeit with much less effort, I configured (neomutt)
| into the most beautiful and best, rapid UX mail client ever. I
| use it at work and for private purposes.
|
| People are impressed when looking at it. A handful of them
| asked for the config. Don't think any one ever got used to it.
| lambdaba wrote:
| please share this, I'd like to check it out
| hiq wrote:
| How did you configure neomutt? I mostly have the default
| configuration, with some other tweaks I've forgotten about
| (like changing mailboxes using a function key). What am I
| missing out?
| behnamoh wrote:
| What about SSO? Sadly, none of the terminal-based email
| clients I tried supported this, but since you said you use
| this at work, maybe it supports SSO login to your work email?
| grinich wrote:
| How would SSO work for a terminal? What would it do?
| rustyminnow wrote:
| In this case it's easier to bypass SSO with a set of
| oauth2 creds, but the aws and azure clis support SSO
| login by opening a browser to authenticate and generate a
| short-lived api token that gets passed back to the cli.
| So it's definitely possible for terminal apps to support
| SSO.
| rustyminnow wrote:
| It's a bit of a trek to get there, but here's how to work
| around SSO...
|
| 1. Go to the Microsoft/Google developer console with your
| work account and create an "internal app" for personal use
| 2. Generate a set of oauth2 creds under the app 3. Use a
| program like mbsync or offlineimap to sync your mail down
| to a maildir. Iirc mbsync was more reliable but required a
| shim script to convert oauth2 creds to an api token. 4.
| Point your email client to the mail-dir.
|
| I had this set up when I used gmail at work, but AIUI
| outlook should work roughly the same.
|
| There's a ton of blog posts out there of people setting
| this up, unfortunately too many variations to have "one
| true" guide, so sorta have to pull from several places.
| supertron wrote:
| > There's a beauty to engineering something having yourself as
| the target user, and no one else.
|
| 100%, I'm following a similar approach to you with _yet another
| notes app_ solely for my own use.
|
| Have you written more about your personal project anywhere?
|
| One thing I only realised once I started building my own tools,
| is that you become - from day one - an _unmatched world-class
| expert_ in using that tool. This seems obvious and
| inconsequential on the face of it, but how many pieces of
| software do you use where you can say with 100% certainty that
| you know _every single thing_ about it?
|
| Every feature, every shortcut, how it all works internally...
|
| It's only when you use something self-crafted that you realise
| what this actually means. If it's a tool that you use for work
| or productivity - you can become exceptionally productive with
| it due to this from-day-one "total mastery".
|
| This compounds if you iterate. Using the tool daily and feeding
| back in little fixes and optimisations as you go. The tool
| grows with you and molds to your use of it over time.
|
| It's obvious that the tool is going to be well suited to your
| needs if you built it - but it was less obvious to me ahead of
| time what benefits the side effect of "total mastery" would
| also bring.
|
| For me, my notes app is now used as my personal knowledge base,
| project management tool, todo list, daily planning tool and for
| journalling. Because I built it, I'm extremely effective at
| using it - and it's lean and fast - only with the features that
| I know I need.
|
| In addition to being a very fulfilling project - it has created
| a degree of leverage and efficiency that I didn't expect!
|
| My conclusion is that we should all experiment more with
| creating our own tools.
| caipira wrote:
| > Have you written more about your personal project anywhere?
|
| No, I've had plans to create a blog to write about it or make
| a YouTube video, but haven't come to it yet.
|
| > One thing I only realised once I started building my own
| tools, is that you become - from day one - an unmatched
| world-class expert in using that tool
|
| This is something that I've also realized - a lot of times
| when we interact with software we kinda just fly by its UI to
| accomplish a goal, not paying much attention to its secondary
| features, options, quirks, etc - But when you write your own
| software, you have a map of everything in your head, and you
| don't have to guess what exactly a button does, how it does
| it or where you need to go to do that.
| calamari4065 wrote:
| One of the worst things in the world is explaining how it
| works to someone else, then watching them use it poorly.
|
| I have a convenience tool I made for myself, but shared with
| my coworkers. I deeply regret sharing it because nobody knows
| how to use it effectively
| rchaud wrote:
| I remember recommending a non-iPod MP3 player that had a
| ton of customization options directly on the device. I
| regretted it because the person that bought it expected it
| to work exactly like an iPod plus the bells and whistles I
| recommended.
| appplication wrote:
| If I recall correctly, this approach was what led to Apollo's
| success before Reddit murdered it.
| infinitebit wrote:
| I've made a poll/group decision making app for my family and
| friends, and i'm _this_ close to starting some sort of
| collaborative note /list making app because apple notes
| causes us so many headaches
| robofanatic wrote:
| Its like your own self built cottage in the woods.
| rchaud wrote:
| I like this parallel, it connects to other metaphors like
| "digital gardening", aka cultivating information and cross-
| pollinating (adding links) to related pages.
| hiq wrote:
| > I have been working on a personal project for the last 10
| years that replaces every other app I used to use - E-mail,
| calendar, and all the others we all use on a daily basis
|
| Would you be willing to describe how it works / record a video
| of how you use it? But maybe that goes against your last
| sentence:
|
| > My exclusive, differential, unique characteristic against the
| world, my joker card.
|
| ?
|
| I guess the idea is that you integrated all the apps with each
| other, such that you can create an event from a text message,
| forward an email to a Signal contact, this kind of things?
|
| I quickly write scripts to automate things I do several times,
| but I didn't go as far as integrating all my scripts into a
| single one. Having things decoupled reduces the maintenance
| burden, such that I'm not sure I'd want to go that way either.
| caipira wrote:
| > Would you be willing to describe how it works / record a
| video of how you use it?
|
| I'll definitely do it in the near future and post it here on
| HN.
|
| > My exclusive, differential, unique characteristic against
| the world, my joker card.
|
| In the sense that, if one day money becomes short, I could
| extract a few SAAS out of it and make some money or even sell
| it.
|
| > I guess the idea is that you integrated all the apps with
| each other, such that you can create an event from a text
| message, forward an email to a Signal contact, this kind of
| things?
|
| Yes, the main app has standalone apps, where each app
| integrates with each other whenever possible, like listing
| contacts in the email app, and one of the apps is "Flow",
| where you can create IFTTTs between apps.
| helboi4 wrote:
| I'd love to read a post about this. I started making
| something similar actually before I got my most recent job.
| But it was with less pure intentions. I did have various
| personal requirements that I wanted to see if I could
| impliment in a singular organisation system, since I am
| chronically disorganised. However, I started actually doing
| it just so I could practice my java and have a complicated
| java project on my github since I was applying for jobs.
| That's really why it's died a bit afterwards.
| hiq wrote:
| I assume you choose the services you depend on wisely, to
| make sure it's possible to integrate with them? E.g.
| thinking of common apps like Facebook, WhatsApp, some email
| providers: they don't necessarily provide an API that you
| can call into, and sometimes you rely on a library a 3rd-
| party developed but which breaks regularly.
|
| Looking forward to your post on HN!
| distcs wrote:
| Tell us more about your project! Did you start it from scratch?
| Or did you use another opensource app as starting point and
| developed it further for yourself? What language is your app
| written in? Where do you run it? In CLI? or desktop GUI? The
| more you can share about it the merrier. I am sure others want
| to learn more about this too.
| caipira wrote:
| It's basically like the Google suite of apps or Next Cloud, I
| have the main app where you can manage your account, backups,
| etc, and it links to a bunch of other apps, each one living
| in a subdomain. The apps that already exists are:
|
| - Password manager - Finances - Contacts - Account (Backup,
| Restore, private keys, etc) - Authenticator (OTP, TOTP) -
| Email - Photos - Movies (2 parts, one is an IMDB like manager
| and the other is a Netflix homepage look alike for viewing
| content) - Flashcards - Link tracker
|
| And I have the following apps in the development pipeline:
|
| - Calendar - Drive - Notes - URL Shortener - RSS Reader -
| Tasks - Books - Musics & Podcasts - Timelines
|
| It started just as an MySQL database that I used to track my
| expenses and budget, later I started also storing passwords
| in it, quickly I realized that I needed a user interface,
| then I slapped a bootstrap theme on it (this was back when
| Angular 1 was all the rage), then it went through many
| iterations as across the years and the current one started
| back in 2020, it uses VueJS 3 and used to use ant design, but
| I had to create my own UI library to accommodate the sheer
| complexity of the custom UI needed. It runs on a raspberry pi
| with docker.
| spenczar5 wrote:
| "Every program attempts to expand until it can read mail.
| Those programs which cannot so expand are replaced by ones
| which can." - Zawinski's Law
|
| :)
| sotix wrote:
| I like that law! My law for the past few years has been
| every app expands until it is beyond bloat, which is
| recognizable when it has the feature du jour, which can
| be found across every popular and unrelated app. At the
| time, that feature was stories, which could be found in
| Snapchat, instagram, Facebook, WhatsApp, Uber eats, and I
| think even Venmo at one point.
|
| Once you got away from social apps, it was clearly
| feature creep. That was my indicator for when there was
| probably a better alternative app for accomplishing the
| app's original purpose, but it was often too late to
| switch due to the network effect.
| nxobject wrote:
| And now it's microblogging, sadly (well, it very nearly
| was a digital wallet.) I think an AI chatbot's only a
| matter of time...
| fuzztester wrote:
| There ought to be a law ( _or n ..._ ) about JavaScript
| frameworks.
| bberenberg wrote:
| I wish more people would take stuff like this, oss it, and
| disable PR requests and issues. Let others use it / learn /
| build on it with the clear expectation that feedback and
| contributions are unwanted.
| lobsterthief wrote:
| To be fair, when you do that you would approach coding the
| application differently, which adds to development time.
| Also, it can change the whole mentality of developing it.
| Probably why more people don't do that, though I agree it
| would be nice.
| bberenberg wrote:
| Can you elaborate on what you would need to do different in
| terms of dev? The only thing I would do differently in this
| scenario would be to ensure no secrets or anything gets
| into the code which is a minor lift but also probably for
| the best.
| rthomas6 wrote:
| In python I do horrible things like the following when
| nobody else is going to see it: [[[foo(x)
| for x in y] for y in bar_vec if baz(y)] for bar_vec in
| bar_mat if bar_vec != []]
| Arelius wrote:
| I dunno, that seems to be just shame instilled by the
| toxicity of certain programmer culture.
|
| I mean, it's not the clearest thing to read but labeling
| it horrible seems to be a judgement call that's
| unwarranted. And as software developers, we should create
| an environment that's less hostile to people who write
| things in ways we wouldn't.
|
| And honestly, that set of list comprehensions has a bit
| of a lispy functional vibe, which could quite frankly be
| applauded in certain contexts.
| __MatrixMan__ wrote:
| I have my secret perversions as well, so I've got no
| judgement for you, but I do have to wonder how our
| editing styles differ if you find that easier to navigate
| than the equivalent nested for loop.
| arolihas wrote:
| Maybe I'm telling on myself but this doesn't seem that
| bad at all.
| nicbou wrote:
| This is fine. I make all of my stuff open source, but
| I'll be honest with people about being the only user that
| matters to my development work.
| quickthrower2 wrote:
| You can ossify it (ha!) after you have done all the work
| and it is mostly complete. git remote add
| origin ... git push
| fuzztester wrote:
| Time to coin a new word - enossification - like
| enshittification - which I came across here recently, but
| without the negative connotation of the latter.
| pech0rin wrote:
| I disagree with this. If you are truly building for yourself
| there is no criticism, no prying eyes, it is well and truly
| yours. Even with PR and issues closed people read it, maybe
| comment about it on social media or hackernews. There is
| beauty in a creation that is complete private.
| kodablah wrote:
| Unfortunately you almost have to do this in secrecy with a
| homemade scraping app lest its popularity causes the site owner
| to take action
| yowlingcat wrote:
| I love it. I have a couple similar projects I've worked on in
| the past (a couple of which were what got me into engineering
| in the first place) and the clarity of vision you can achieve
| when you're really truly building something just for yourself
| is unparalleled. What follows is also a very unique sense of
| fulfillment; as you've eliminated all the societal contributors
| to the sense of fulfillment (which are of course fickle), what
| you're left with is something that by definition had to be made
| to make you and only you happy, and it lasts over time in a way
| that is durable and pure.
|
| My greatest regret these days is how often it feels like I lack
| the time to do such projects -- but that of course is a cop out
| on my end! The hard part is only getting started and being
| consistent; you don't need to do that much on a week to week
| basis to get to somewhere really meaningful after a few years.
| broscillator wrote:
| Not an app, but this is how I customize my OS and workflow in
| general, and think Linux for making it possible and even easy
| at times.
| Rehanzo wrote:
| Why would you want to combine it all into one app? Having
| seperate apps for those things (maybe besides having calendar
| and email together) sounds proper to me. Seems odd to put it
| all together into one.
| __MatrixMan__ wrote:
| Proper so that people who only want to use part of it don't
| have to use all of it. But if your user base is one person
| then why not go seamless? If you dislike that part of the
| app, just delete it.
| importantbrian wrote:
| I have often thought about creating an everything app for
| myself. Do you have it as a desktop app, or is it a web app you
| host somewhere? Would love to read a blog post about it if you
| have one or would like to write one.
| whompyjaw wrote:
| Curious, how deep does the DIY go? I am curious what tools you
| currently leverage to support your tool? For example, instead
| of using ripgrep, did you create your own easy-grep program? Or
| anything in that similar vein? Just curious of anything you'd
| like to share :)
| j7ake wrote:
| For a small group messaging each other, at what point is simple
| SMS superior?
| kqr wrote:
| I can see two main objections:
|
| 1. SMS do not support group messaging. An SMS with multiple
| receivers is just multiple copies of a 1-to-1 message. The
| other recipients don't know about each other.
|
| 2. SMS do not support images or videos.
|
| Maybe you're talking about MMS, but I've always found that
| clunky. I'm not sure why. Part of it is that it goes over a
| seldomly-used separate type of connection (at least with 3G and
| earlier technology) which isn't as reliable as plain TCP.
| xprn wrote:
| Once SMS itself becomes a more modern way of communicating.
| Currently every 160 (IIRC) characters costs, sending images
| (and god forbid videos) is barely worth it, not to mention the
| lack of security. Comparing to food, I would say this is as
| good as saying "Why not just buy a bag of chips instead of
| cooking a meal"
| sgt wrote:
| Most people don't actually use SMS though, despite thinking
| that they use SMS. My mom still thinks she uses SMS, despite
| it just being iMessage in the end. Messages can be long,
| video, images etc are easy and we have about 4-5 different
| group conversations going at any given time in my family.
| worksonmine wrote:
| "Most people" do not own an iPhone or use iMessages, maybe
| in your bubble, but not in the real world.
| sgt wrote:
| My family does... also, like 9 out of 10 teenagers in
| some places like the US, do.
| piperswe wrote:
| The people that don't use iMessage probably use RCS, not
| SMS.
| worksonmine wrote:
| Yes, which was rolled out recently, and when these talk
| to each other it falls back to SMS, there's
| Messenger/WhatsApp/or whatever people are using today.
|
| That's not the point I'm disagreeing with though, it's
| just a reminder that the claim that "most people" own an
| iPhone is delusional. It's just as ridiculous as someone
| only hanging out with billionaires claiming "most people
| fly private jets", and it can be healthy to consider the
| rest of the world from time to time.
|
| I live in Europe and while iPhones aren't uncommon they
| don't have the status they (seem to) have in the US and
| most people use Android.
| flobosg wrote:
| (2020)
| wkjagt wrote:
| Lovely idea. I've been thinking of "small scale web things" a lot
| recently, as I've been growing more and more tired of the planet
| scale web. I live in a small village in Canada and it would be
| nice to have something "village scale" that is only of interest,
| and as such perfectly adapted to only our village. Because it's
| so small scale (we're only a couple thousand), it can run on
| something in my closet. If it goes down for some reason, there's
| no being angry with some large corporation behind it because it's
| just me, and we mostly all know (of) each other here. If it's
| temporarily down because or a power outage (which happens quite
| regularly here, especially during snow storms), even that will
| feel local: there's a good chance users will have the same power
| outage. I'm probably being idealist and I'll never do anything
| like this. Part of me also knows that most people will just
| continue using Facebook groups etc anyway.
| d1sxeyes wrote:
| While I am very much aligned with you that the "planet scale"
| stuff is tiring, I think you're falling into a trap I myself
| often find myself in of "I want to create _something_. What can
| I create?"
|
| It doesn't actually make any sense for anyone except you,
| because fundamentally you've not actually got a product, you've
| only got a market.
|
| Bear in mind that it's perfectly legitimate to scratch your own
| itch and just build something for the sake of building it, and
| that's a home-cooked meal too.
| Glench wrote:
| This feels very related to the larger research project of
| "malleable software" that lets everyday people modify and author
| the software they use for their own needs:
| https://malleable.systems/
|
| My friend Geoffrey Litt is heading the malleable software group
| at Ink and Switch: https://www.geoffreylitt.com/
| helboi4 wrote:
| Never heard of this concept but got would it be great if things
| were more maleable. There are a lot of services that I would be
| way happier to use if it was possible to remove or change
| features.
| murph314 wrote:
| I love this sentiment. I built a beer inventory app exclusively
| for myself + guests picking a drink to try when when they're over
| at my house. I'm up to 26 "users" over the past few years, but
| most of them just browse on my phone when they need another
| drink.
|
| When I talk about the app, some people immediately jump to other
| inventory problems in their own lives: Can you make it work for
| my wine fridge? Could I keep track of my kids' ever-changing
| wardrobe? I'd love to manage my Warhammer collection this way! It
| certainly seems like there could be a consumer product to help
| tackle those problems, but it's not gonna be my app.
|
| Edit: In more of a work context, I think internal tooling for
| specific users or teams can feel similarly empowering. When you
| have an intentionally-constrained set of users, finding product-
| market fit and making sure the solution actually works for their
| needs becomes the only goal. And with so few users, it's easy to
| keep tabs on what is and isn't working for them.
| brindy wrote:
| Is your app open source? If not, have you considered that? You
| could just say in the readme, "fork it if you want it to do
| something specific". Sounds like it could be a good starting
| point for a bunch of things. :)
| ElevenLathe wrote:
| > In more of a work context, I think internal tooling for
| specific users or teams can feel similarly empowering. When you
| have an intentionally-constrained set of users, finding
| product-market fit and making sure the solution actually works
| for their needs becomes the only goal. And with so few users,
| it's easy to keep tabs on what is and isn't working for them.
|
| I've seen a few of these and they always fall into
| (non-)maintenance hell once the dev (it's always just one,
| because the business can't spare a whole team for something
| like this) leaves, or until the next re-org (read: almost
| certainly less than two years from any random point in time)
| when the responsibilities of the team it was built for are
| divided among other teams, or outsourced to a body shop like
| CapGemini that won't use it (because they can replace the
| functionality with an army of managers with spreadsheets, all
| of which they can bill for).
|
| In short, I think it's largely a fantasy to develop custom
| software for small userbases on economic grounds (at least for
| nontechnical users using typical "real" stacks -- spreadsheets
| and "programmer tools" are a different story), which is kind of
| the point of this piece.
| supertron wrote:
| I enjoyed the "Colophon" page almost as much as the article
|
| https://www.robinsloan.com/colophon/
|
| I love the built-in style guide. I'm totally stealing some ideas
| from that...
| _fool wrote:
| If you liked that, check out also his newsletter and his
| fiction writing - both are stellar (his is the only newsletter
| I read, even though I pay for other ones!)
| akling wrote:
| Great read! This reminds me of a macOS app I made for my wife a
| few years back. It keeps track of the opening hours of all her
| favorite shops, and she can click a menu bar icon to see how long
| until each one closes today. It also warns if it's currently
| peak/rush hour for the shop, since she prefers to go when it's
| less crowded.
|
| It's a simple Qt app that uses a text file for data storage. I
| wrote it after noticing that she had trouble remembering which
| shops are open when. I asked her what to call it, and she said
| "Gladiolus, like the flower" so I named it Gladiolus.
|
| I can say for sure I've never had a more appreciative client as a
| programmer than the one user of Gladiolus :^)
| tomcam wrote:
| What if a store's hours change?
| ttrrooppeerr wrote:
| You change the file. Simple!
| tomcam wrote:
| I like it. I of course was running through all kinds of
| scraping scenarios... which is why you got the app done and
| I didn't,
| klausjensen wrote:
| This resonates with me...
| PawgerZ wrote:
| Just to let you know, that wasn't the original commentor,
| so it could stil involve scrpaing (which is what I
| expected, too).
| andiareso wrote:
| I would guess using Google's Places API. They have busy
| time reports and hours that are most likely updated by
| the business owner. No scraping needed
| kridsdale1 wrote:
| Busy Time is actually not available to the places API.
| It's one of the top request features though. There's a
| legal/PII dimension to the issue.
|
| Open Hours though are easy to read from the json
| response.
| darkwater wrote:
| Not a Googler but I would expect busy hours graph being
| generated by Android Location Services data.
| samstave wrote:
| Talk to the Manager and tell them their change has broken
| your application.
| toasterlovin wrote:
| This is incredible, thank you for sharing.
| apwell23 wrote:
| This is why I feel really uneasy about LLM/AI stuff. It feels
| like cooking now requires commercial quality equipment only
| available to the Michelin star restaurants.
|
| It used to be possible like showHN posts go on to become smashing
| success. But Dropbox like posts seem like an impossibility now.
|
| I've been having serious mental crisis from this realization.
| argiopetech wrote:
| And yet, the vast majority of cooking is still done at home on
| relatively cheap equipment. Go build things that interest you
| using the tech stack you have and ignore the hype.
|
| Try to satisfy yourself, and maybe that will lead you to a
| commercial kitchen with a Michelin star. I know nothing else
| will.
| selestify wrote:
| > It feels like cooking now requires commercial quality
| equipment only available to the Michelin star restaurants.
|
| Why does AI make you feel this way? It feels the opposite to me
| -- like meals that formerly required a master chef to make, but
| soon anyone can make for themselves at an acceptable level of
| quality with meal prep kits
| speff wrote:
| A few months ago there was a post on HN about catching up to
| the current state of LLM dev and learning how to use it. In
| it there were recommendations for hardware - the lowest tier
| being a 3090/4090. When looking at the decision tree for even
| cheaper options, it basically said to find another hobby.
|
| Not sure if that's changed but ever since seeing that line,
| I've been put off of that world. I still occasionally click
| on HN links advertising new methods which can be run on
| "consumer" cards and every time it's just a 3090/4090...
|
| I don't have that much money.
| ParetoOptimal wrote:
| For training or inference?
|
| The p40 was on the inference side of the tree and you can
| get one on eBay for $200 or less.
| kube-system wrote:
| If we're still entertaining the above analogy, a home
| kitchen costs more than a PC with a 3090/4090.
|
| But when I got into software in the 90s, it was about $4000
| for just a run of the mill desktop PC, which is about $8000
| in today's money. And it didn't even have 3d acceleration.
|
| In the grand scheme of things, a 3090/4090 is not
| expensive.
| apwell23 wrote:
| My feeling is that only big tech can now create any good apps
| since they all require massive compute now.
|
| Yes writing a todo list app is now faster with copilot and
| stuff but thats now what i meant.
| anymouse123456 wrote:
| Please don't be discouraged by whatever "Big Tech" is
| doing.
|
| Products that we build today represent many millions of
| decisions and trade-offs.
|
| If you believe something should exist, please build it and
| don't worry about what anyone else is doing or saying.
|
| I was working on an application in the early 2000's and
| learned that Gigantic Inc. launched something to solve the
| same problem. I immediately bowed out, and they immediately
| let that first-launched beta languish for more than 10
| years with less staff than we had.
|
| In the intervening years, another startup built a similar
| competitor and sold for hundreds of millions of dollars.
|
| As another example, I eventually worked at Gigantic Inc,
| and the org that I was part of had been failing to deliver
| a useful product to the public for about 7 years, and
| continued to fail for many more. This was an organization
| with hundreds of people and many hundreds of millions of
| dollars of budget, and they were being absolutely clobbered
| by a combination of their own unbelievable incompetence and
| the brutality of the market around them.
|
| One of the biggest lessons I've learned in my career, is to
| never assume that just because Big Tech has some budget,
| that they also have attention or competence.
| JohnFen wrote:
| > since they all require massive compute now.
|
| They do? How so? I can only think of a small subset of
| applications that require large amounts of compute.
| epups wrote:
| For me it's the opposite. Taking on a personal project like
| this one would be incredibly frustrating, because some
| relatively small steps would be huge time sinks. Now with
| LLM's, I am much faster, I just focus on the aspects I want or
| that I am good at.
| jclardy wrote:
| Same for me. I just launched my first full stack side project
| (I'm a mobile dev by day.) I was always technically capable
| of it...but using LLM's I basically was able to skip the "how
| do I do X in node" steps and significantly speed up the
| backend side of things, while I still learned a ton in the
| process.
|
| Now it feels like I have these incredible capabilities to
| apply LLMs in novel ways. I've had a personal project (an
| expense tracking app) where now I can see a path to easily do
| things like scanning receipts accurately, automatically
| categorizing CSV imports, etc. They were always within the
| realm of possibility - but would have taken so much more time
| to build as a one man shop. And we are just at the tip of the
| iceberg right now.
| yowlingcat wrote:
| Don't fall for the apocalyptic doomsday narrative. It is in the
| interests /of/ the 900 lb gorillas in the space to make it seem
| like it requires so much investment that you may as well not
| bother.
|
| But there's a thriving community on HuggingFace and Reddit
| showing what you can do with the lo-fi versions. In particular,
| the evolution of lower bit inference (and I believe training as
| well even) has reduced memory requirements and because of that
| hardware requirements considerably. There is a lot you can do
| with your own local gen AI model running on your personal
| machine.
| noduerme wrote:
| Really cool. I love that this is a modern rejection of threaded
| posts, or things that gluttonously try to steal your attention.
| The choices (irreversibility, privacy, lack of mediation) are the
| same as what you get if you actually sit in a room with someone
| and talk.
|
| I was quite sure I'd set it up for myself and family before I
| read it required AWS .. I wish instead of buckets and lambda
| functions... well... perhaps it's worth replicating the whole
| thing in Nodejs and sqlite which would be the highest praise of
| all ;P
|
| [edit yeah yeah there'd have to be a bucket-like storage blob
| somewhere.// or would there?]
| Glench wrote:
| If I were doing something like this now I would probably try to
| use https://val.town It lets you just write and deploy
| typescript lambdas by typing into a text box :) The easiest way
| I know of to deploy an endpoint. It also has SQLite or blob
| storage access.
| aledalgrande wrote:
| Pretty sure you could slap that change in in like a couple of
| hours. There is no high availability or traffic requirement.
| Then run it from your NAS.
| jwr wrote:
| Really happy to see that!
|
| One thing I'm always worried about when I develop one-offs myself
| is what happens if I'm not there to service/update/maintain the
| thing. For some apps (like family photo archives) this matters a
| lot.
| aledalgrande wrote:
| Not very home cooked, but once I was working on a project/startup
| of mine that involved tracking degrees of freedom/trajectories
| and it was very manual/empirical testing, so I made a second app
| that would plot everything for me in real time, receiving data
| via socket. This was before iOS had any AR frameworks and just as
| Metal was released. Nothing existed to test AR, so I made it
| myself, with my data format, exactly like I wanted it and it was
| such a quality of life feature.
| camillomiller wrote:
| Robin Sloan is a treasure. His newsletter is also top notch
| content.
| rockostrich wrote:
| As are his short stories, books, and olive oil.
| mbork_pl wrote:
| Wow, thanks! I read it a long time ago, and later wanted to find
| this exact article, but couldn't.
|
| I also have quite a few tools like this, although on another
| platform (Emacs). I _love_ the whole concept of "home-cooked
| apps".
|
| And btw, the first project like this I made - for myself and my
| family - was a database-like app on a Commodore 64 over three
| decades ago...
| wiradikusuma wrote:
| At the same time, I feel the gap is widening between these and
| professional apps. It's easier to write apps, and it's harder to
| write "real" apps (for the masses).
|
| I'm writing a book (https://opinionatedlaunch.com) over the
| course of 3+ years and I have to keep updating the "Mobile"
| chapters. Not because of some fancy new framework, but because
| both Apple and Google keep adding "requirements."
|
| Sure, they're for the better (e.g. more strict access to phone
| GPS, etc) but if you don't keep up, eventually you'll find your
| apps removed by the platform at some point in time. In this
| sense, there's no "done".
|
| You probably can still distribute that little program you wrote
| in 1990 in Pascal. I don't know the equivalent for mobile apps.
| (Distribute, not run. You can run it easily on your old phones).
| manifoldgeo wrote:
| > there's no "done"
|
| I'm totally with you re: Android and Apple being walled-garden
| ecosystems with ever-changing rules. But, don't you feel like
| this is true of most software (that it's never "done")? In my
| experience, there aren't many categories of software that can
| be truly feature-complete unless they are fully decoupled from
| popular culture. Maybe GNU units or grep can be called "done",
| but most apps have to change with the world around them.
| JohnFen wrote:
| > don't you feel like this is true of most software (that
| it's never "done")?
|
| The problem is that "done" is a subjective term. Most of the
| software I use on a regular basis is "done" as far as I'm
| concerned. If it didn't meet my needs, I wouldn't be using it
| on a regular basis.
|
| This ignores security issues, of course, but most of the
| software I use on the regular doesn't have a networking
| component, so that's not as much of an issue.
| jes5199 wrote:
| I've been thinking about this a lot, and I have two solutions:
|
| * distribute on Testflight and never actually do a real release
|
| * make an HTML app that works well on mobile, and can be cached
| for offline
|
| Gradually I think I'm coming to prefer doing the HTML version
| __MatrixMan__ wrote:
| Considerations like these have lead me to Nim. I don't have it
| working yet, but the vision is that if I constrain myself to a
| simple enough UI then I can then compile the same code to
| Objective C for iStuff, C++ for Android and desktop, and
| Javascript for web. Those apps can each then evaluate arbitrary
| nimscript in a platform agnostic way. I've log ago forgotten
| what the app I wanted to build was, but if I remember it,
| nobody will be able to stop me from running it anywhere. I
| hope.
| tschumacher wrote:
| Loved your comment. Sometimes we can get lost in the
| technology but that can be fun in itself.
| vinc wrote:
| This happened to me. I wrote an Android app many years ago for
| my own need and after a month or two it was done. I have
| nothing to change, it works exactly as I want. But at some
| point Google decided that it didn't keep up and needed to be
| removed from the store. I'm not complaining, I can still
| install it with `adb` but nobody else can anymore. I'm not sure
| I can still build the binary though, probably not.
| JohnFen wrote:
| > I can still install it with `adb` but nobody else can
| anymore.
|
| You don't need adb to sideload applications. If you enable
| sideloading, you can copy it onto the phone and run it that
| way.
| kjkjadksj wrote:
| Depends on your audience. In my field all the cutting edge
| tooling is used in script or interactive command line. Writing
| for that sort of interface is so much faster and easier than
| making a gui even with modern libraries. You can still get
| plenty of users writing for a command line audience. There are
| like 40 million conda users for example.
| philip1209 wrote:
| This is great.
|
| I have a little internal app for my company. Just an isolated
| Rails app. It touches no internal business systems, but whenever
| I need somewhere to put a little code - it goes there. It has my
| growth chart, a little search engine for some internal data, a
| couple scripts to remind me about recurring actions, and some
| random integration tools like an RSS->Email script for the blog.
|
| I recommend everybody just have a "miscellaneous" app separate
| from customer data for non-core code. Having a low barrier to
| building fun things liberates the mind. Not all code has to be
| high-stakes business work.
| FergusArgyll wrote:
| I may have made a very simple app for someone to get around their
| filter on their laptop....
| sss111 wrote:
| i recently had to split a lot of transactions among friends. I
| realized that all the commerical apps out there(splitwise etc)
| weren't gonna split the taxes evenly. So I made my own bill
| splitting app and have been using it ever since!
|
| Another recent app I made happened when I moved into a new
| apartment. I realized tha the doors were very soundproof so if
| someone knocked at the main door, there was a good chance I
| wasn't gonna hear it. So I put up a QR Code at the door, pointed
| it to a webapp and that basically functioned as virtual bell.
| Where I would get a notification on my iphone and apple watch
| everytime someone "knocked"!
| sandos wrote:
| This reminds me of my app "Delayed" which I started writing when
| Android phones were new, and I was commuting by train in
| Stockholm, Sweden. I worked about a 2 minute walk from the train
| platform, but I still wanted to know if they were delayed, also I
| wanted to avoid the proprietary platforms' slowness. I wanted to
| be able keep working until I knew the train was about to leave.
|
| The mobile networks at the times were abysmally slow and
| unreliable, the API I was using was slow, basically loading times
| were unacceptable, I needed the info without delay. No, actually
| pre-fetched even so that it was working even when offline. I
| ended up scheduling my app using Tasker so that when I was likely
| commuting it started updating the timetable in the background.
| Now I always had instant info available, as good as I could at
| least.
|
| Plan was to release the app but I eventually realized I would
| never polish the app to a releasable state, but it still worked
| 100% for my exact usecase. So I never did get further than a beta
| test on the Play Store.
| bryancoxwell wrote:
| Wowzers I loved that.
| citruscomputing wrote:
| > In a better world, I would have built this in a day, using some
| kind of modern, flexible HyperCard for iOS.
|
| How much we have lost.
| toyg wrote:
| To be fair: this app would not have existed on the desktop. Our
| families don't like to sit at a desk for hours, fighting with
| imaginary concepts, like we do.
|
| The mobile world brought the masses to computing in a way that
| desktop never could. Unfortunately, the company with the best
| intuitions in the space also happened to be the most closed,
| paranoid, and sociopathic entity in the market.
| nxobject wrote:
| Once a while we get a post where everyone has an excuse to gush
| about Delphi/Lazarus/Free Pascal etc. in the comments, but no
| one's quite sure about the iOS story and no one really has the
| time to check up on it...
| enobrev wrote:
| When I first read this post, it helped me decide not to try to
| adjust my home automation app for the masses.
|
| I have a single JavaScript file that runs all the automations in
| my house. Everything runs on Mqtt and this file handles all
| timers and temperature adjustments and turning everything off in
| the house when the right button is pushed and checking that the
| doors are locked and keeping the front porch lit when the sun is
| going down and dimming as the sun comes up, and heats my office
| when I'm in it and it's colder than the rest of my house, but not
| otherwise, and notifies us when the washer or dryer are done or
| when it's time to change the automated cat litter.
|
| Adding a device takes about 5 minutes. Changing a timer takes
| less. I've ssh'd in and changed things from my phone when lazy on
| the couch.
|
| The commit history is practically useless. The code isn't ideal
| for a team. It could use a UI. But I love it. And my family is
| happy with how it all seems to work without much hassle.
| rustyminnow wrote:
| That's fantastic. Sounds so much simpler than using Node-RED or
| something. How do you monitor the laundry? Like is your
| washer/dryer "smart"? or do you have some sort of
| vibration/current/noise sensor to determine when they finish?
| enobrev wrote:
| I'm using the power monitoring feature on a "heavy duty"
| z-wave power switch (zooz zen-15) to track the power usage.
| When it jumps over a threshold for at least a couple seconds,
| I assume the appliance is on, and then when it drops to zero
| for at least a couple seconds, I assume it's "done".
|
| Same goes for the kitty litter box, although that's just a
| standard z-wave power switch, not a "heavy-duty" one. That
| one gets some false positives, so our counter gets a bit
| higher than the real one, but the discrepancy isn't a huge
| deal. Looking forward to debugging this one eventually.
| mcculley wrote:
| He writes that there is no login system and "It already knows
| exactly who's using it."
|
| Is there a way to get back a user ID from TestFlight?
| chse wrote:
| From what I gathered, he means the app doesn't have any user
| authentication period because only 3-4 people can even download
| the app to begin with since it's restricted with TestFlight.
| blitz_skull wrote:
| My biggest sadness is wishing that it was easier and more
| accessible to build stuff like this on iOS. Making things and
| distributing to the App Store is an absolute nightmare. Of course
| that's also what makes it so much better than almost every other
| App Store. But they still let trash in.
|
| I'm not sure what the right balance is, and maybe this is the
| right balance.
| rrr_oh_man wrote:
| On a much smaller scale:
|
| This was my exact sentiment some time ago after remapping a bunch
| of keys, along with "why didn't I think of this _sooner_ ".
|
| It still feels magical to this day and removes 90% of annoyances
| when typing.
|
| Using standard keyboard layouts is like riding a toy sized
| tricycle now.
| nop_slide wrote:
| What are some of your favorite remaps?
| erikerikson wrote:
| (2020)
| BenoitEssiambre wrote:
| I always wondered if there would be a market for smaller scale
| apps. I'm thinking something sold through an app "farmer's
| market". This could be a Patreon/Etsy style platform where maybe
| app devs would do streamed live coding or Q/A sessions every
| Saturday morning, ideally wearing denim overalls.
| rrr_oh_man wrote:
| How would a "smaller scale apps farmer's market" be different
| from random freelancing?
| palemoonale wrote:
| I'd rather home-cook and take regular walks around the district,
| than having to spend even more time w/ tech after for work. Work
| is already kind of fulfilling, even as a manager, when you still
| can dabble with lower-level things and tools work. But spending
| your pasttime on more tech? Thats so sad, seriously.
| jhartwig wrote:
| What a fantastic blog post!
| jimbokun wrote:
| > In our actual world, I built it in about a week, and roughly
| half of that time was spent wrestling with different flavors of
| code-signing and identity provisioning and I don't even know
| what. I burned some incense and threw some stones and the gods of
| Xcode allowed me to pass.
|
| This resonated with me.
|
| This is a major source of friction to "scratching your own itch"
| in modern software development. Makes it extremely painful to get
| started. And runs against an engineering mindset, as it's not
| understanding principles of computing or composing components in
| a sensible way to build a useful new thing. It's just banging
| your head spamming incantations found through Google until
| something finally works.
| JohnFen wrote:
| Indeed. The #1 thing I need from my platforms is that I don't
| need to get anyone else's permission to develop and install any
| programs on it that I wish. That basically rules out Apple and
| Microsoft.
| yonatan8070 wrote:
| I say this as a Linux user
|
| What do you mean by ruling out Microsoft? You can install and
| run your own software on Windows?
| JohnFen wrote:
| Unless it's a driver. Windows wants those signed by
| Microsoft. There are ways to get around that, but they're
| not wonderful.
|
| This bit me a month or so ago at work. I don't use Windows
| at home.
| david422 wrote:
| > It's just banging your head spamming incantations found
| through Google until something finally works.
|
| Yea, all the while hoping you don't mess up something even
| worse!
|
| I feel like Apple has made some strides in this area - having
| Xcode manage a bunch of profiles + key signing and whatever
| else it does when I click "Yes, make it easier for me". But it
| also randomly forgets settings and breaks etc. which is fun to
| re-troubleshoot.
| ranting-moth wrote:
| It's spectacular how awful Apple's signing/certs/profiles dev
| UX is.
| shrimp_emoji wrote:
| Apple is for cattle in gilded paddocks; what do you expect?
| darkhorse222 wrote:
| This is where a pi web server along with cloudflare tunnel and
| a website really shine. You don't need to ask anyone to run
| that service. I'm running a custom todo app off my pi without
| exposing my router. It's incredibly freeing.
| jessekv wrote:
| Another way could be host it on a Tailscale network, then it
| can only be accessed by your own devices.
| frankdenbow wrote:
| Love this. I recently started working on two apps with this same
| mindset: I just want to create an app for myself (todo with
| limits, group chats with content limits). It feels great and is
| enjoyable even if it doesnt get a million users.
| _1tan wrote:
| Does anyone have a tip for "some kind of modern, flexible
| HyperCard"?
| JohnFen wrote:
| This is the way, for those of us who have the ability and
| inclination. Software you create for your own use, and the use of
| your friends and family, is software that is customized for your
| particular needs and software that you can trust.
| kgritesh wrote:
| Lovely article and loved the analogy of home cook to making an
| app. Being a professional programmer who loves programming, I
| never thought about programming like this. But there is a catch
| here, I would wager that trying cooking at home is far easier and
| accessible as compared to making simplest of apps. Most of the no
| code low-code tools are focused on helping companies make
| software for their use and not focused on individuals making apps
| for themselves.
| joshspankit wrote:
| In order to help unblock everyone from sharing their "home-cooked
| meal" apps, I've submitted an Ask HN to make space for sharing
| stacks: https://news.ycombinator.com/item?id=38878837
|
| The idea is to allow people to "share ingredients" of internals
| of projects without the requirement of sharing the code
| namuol wrote:
| I love writing bespoke software! My little bonus Christmas gift
| to my parents this year was a kind of Jeopardy clone that uses a
| dataset of questions from thousands of shows.
|
| Watching Jeopardy is a new nightly tradition, but they always
| complained that they wish they could see the category when the
| clue is on screen, which is what inspired the project. It's a
| full screen PWA and my mom likes to mirror her phone screen to
| their smart TV to play. There's no score tracking or sound
| effects or "multiplayer" because it's made for the way they like
| to play.
|
| Of course, I can't distribute it publicly either for copyright
| reasons, but I wouldn't want to anyway.
| noahjk wrote:
| A lot of the time, the hardest part for these things is finding
| the dataset (and the hardest part of personal projects in
| general). How did you curate yours?
| namuol wrote:
| You're spot-on. I may not have started the project if I
| didn't know there was a specific decent dataset available. I
| already knew of a dataset of Jeopardy questions that is
| somewhat popular in ML circles so I just used that. I believe
| it's based primarily on the excellent fan-maintained
| j-archive website. It's unclear if the dataset was created
| with the permission of the j-archive maintainers.
|
| I don't do any real "curation", I just cache the entire
| dataset with a web manifest file and do some simple
| processing on it to find a game with a full set of questions.
| bhpm wrote:
| This post changed my mind about sideloading on iPhones. Before I
| read it I was firmly in the camp of "lock it down, so grandma
| doesn't get hacked." But now I just think it stops people from
| making home cooked meal apps like this.
|
| I also think it propagates the notion that computers are magic
| and should only be programmed by magicians. But no software
| developer I have ever met has felt this way. I don't feel this
| way.
| chuckadams wrote:
| I think grandma-mode should still be the default, but with some
| arcane startup ritual to enable sideloading that you only have
| to do once, with said process being replete with "HERE BE
| DRAGONS" warnings. Basically make it more like a mac or a
| typical chromebook. Pixel phones still let you root them, don't
| they?
| supriyo-biswas wrote:
| You should check out the arguments in Epic vs Google, where
| an arcane process to sideload apps was used as a data point
| against Google. By disallowing any exceptions, Apple can make
| the case that this is simply not a supported feature of their
| product.
|
| The EU DMA and the resulting competition may cause Apple to
| release a lower priced tier for apps with a smaller
| distribution, and I look forward to that.
| dns_snek wrote:
| > By disallowing any exceptions, Apple can make the case
| that this is simply not a supported feature of their
| product.
|
| I know that's what the ruling essentially implies, but that
| doesn't sound like a reality we should be encouraging or
| even entertaining, IMO. It's a failure of the US legal and
| antitrust enforcement system if this line of reasoning is
| accepted, blatantly so in this case.
|
| I, for one, hope that Apple is eventually forced to open up
| their platforms to sideloading worldwide.
| jwells89 wrote:
| Yes, I don't know exactly what it'd entail but enabling
| sideloading really does need to be something that's
| sufficiently scary to the non-technical to help curb social
| engineering by fake "Microsoft support" and such.
|
| It's somewhat painful and inconvenient but the old desktop OS
| model where arbitrary code can not only be run at a whim, but
| also gets free reign to do whatever it pleases simply doesn't
| scale to the masses. It was a problem even prior to
| smartphones but has only gotten worse as larger swathes of
| the population have come aboard.
| __MatrixMan__ wrote:
| Not only does Google let you root Pixels, but they don't
| appear to be interested in interfering with GrapheneOS, which
| is specifically for Pixels and lets you run all of the google
| stuff in userspace so that it has to ask your permission
| before doing things.
|
| Google is plenty evil in their own ways, but they're at least
| not anti-tinkering.
| eddieroger wrote:
| I think that's where the TestFlight "external beta" is genius.
| If there was a route for me to be treated like an enterprise
| for my friends and family, I would have years ago, but with
| TestFlight being so easy and the audience size so large,
| there's no barrier for me anymore. I just wish that was a route
| I'd have realized a while ago. And even though there's a cost
| barrier, I don't think it's that high given the tax to have a
| Mac in the first place.
|
| You're right about the notion that computers are magic, but
| distribution isn't the cause of that. I think it's a shame
| people don't seem to want to do more with their computers. I
| remember my parents using pretty barebones database apps and
| stuff on a 386 back in the day, and somewhere since then the
| machines have become bigger and scarier, and they're less
| inquisitive. Maybe age, but maybe we've made the machines less
| friendly to new code.
| kjkjadksj wrote:
| The only reason they lock it down is the 30% take from the app
| store. Grandma is more likely to lose her savings over the
| landline with good old fashioned social engineering over
| anything with that phone. If they actually cared about security
| and spam beyond profiting from app store or the repair
| situation, they'd have at least lifted a finger with imessage
| spam by now.
| Glench wrote:
| > Update, February 2022: Two years later, my family still uses
| BoopSnoop every day. I have added one (1) feature, at my mother's
| request.
|
| What is that one feature I wonder? Robin, you around to answer?
| onetimeuse92304 wrote:
| I maintain a whole set of services for my family I either
| implemented myself completely or glued from other sources.
|
| We have our own no nonsense chat desktop, web and mobile apps for
| ios and android. Our own calendar for family events as well as to
| coordinate daily operations. Our own forum. Our own pages with
| resources and even our own documentation bot that you can ask
| pretty ambiguous questions and it can point you to the past
| posts/documents/chat threads that are relevant (when you don't
| remember where it was mentioned but you can describe what you are
| looking for).
|
| Even a wall mounted ipad with couple tools that we find useful.
| Shopping list where you can add stuff for the next shopping run.
| Voting for meals. Calendar which is especially useful to kids
| because they can book our time when they need something or they
| can see when I plan to do my training sessions or when I am or I
| am not available (I work remotely and don't have set day plan).
|
| Recently started spending time with my eldest son to add more
| features -- any way to get kids hooked up to programming is a win
| IMO.
| wackget wrote:
| Do you still need to pay Apple's extortionate $99/year developer
| fee if you're only developing apps for private/personal use?
| boxed wrote:
| Yes.
|
| And it's explicitly not allowed to publish in the app store for
| such a small audience.
| rhodysurf wrote:
| Technically you dont need it to develop and app for yourself.
| Practically the cert expires every 7 days without a dev
| license so its very annoying without one, vs being able to
| distribute to people you care about on test flight
| wackget wrote:
| > I know I ought to pay it forward and publish the code for my
| app. Even if it doesn't work for anyone else as-is, it might
| provide a helpful guide -- one I would have been grateful to
| have. But the code is marbled with application-specific values,
| well-salted with authentication keys.
|
| Meh. Pretty disappointing excuse. Wouldn't take long at all to
| separate secrets and would make the app inherently more secure
| anyway.
| kaonwarb wrote:
| On the truly lightweight end, I find Apple's Shortcuts to be
| effective for ad-hoc personalized creations. I wanted a simple
| journaling app which allowed me to just talk, transcribed what I
| said, and stored it with a timestamp in a text file. Realized I
| could do all of that quite easily with Shortcuts: I trigger it,
| talk as long as I want, tap the screen, transcribes (I call an
| API for better quality), then appends the result to a note with a
| timestamp. Fast, easy, and it's been reliable. No in-app
| purchases or ads, either.
| darrinm wrote:
| This article has been such an inspiration for us at Hatch
| (https://hatch.one/)! We founded the company as "Personal
| Software" and we're working hard to lower the barriers for this
| kind of creation. The opportunity shouldn't be limited to people
| who know how to code. Several pieces of the puzzle are in place
| with more in the pipleine. Here's quick video of getting started
| creating a web app in 60 seconds:
| https://www.youtube.com/watch?v=HQMFFkCHrdo
| Amorymeltzer wrote:
| Always relevant, always worth reading, but for the two main past
| discussions here:
|
| 2020: 556pts, 132 comments
| <https://news.ycombinator.com/item?id=22332629>
|
| 2022: 186pts, 51 comments
| <https://news.ycombinator.com/item?id=32800518>
| mooshx wrote:
| Love this topic, thanks OP! Many years ago I created an iOS bread
| dough calculator that basically hard-coded the ingredients in
| percentage form. I used it personally for years to make pizza
| crusts, etc. all in a scalable format. Once, my wife and I hosted
| a big "make your own" pizza party and I used the app to create
| enough dough for 30 or so personal pizzas.
|
| Eventually I pushed it forward (thanks to the Unity Engine at the
| time) and made it a "real" app on the App Store. As others have
| noted, there's a large gap between bespoke, home-cooked software
| and commercial choices. As a full-time developer this was a side-
| project and still suffers, imho, as an under-invested commercial
| app. The app has had very modest success (pays about the
| equivalent of one espresso a week) but I still love it.
|
| When an app is "just yours" there's an aura of fun about the
| project that can get stripped away when the trajectory becomes
| more commercial.
| jerojero wrote:
| Some time ago I took a sudoku app and added some features that I
| wanted. It was a great learning experience, my code introduced
| some bugs and it's not perfect but the whole thing felt really
| good.
|
| Wish android development was a bit more straightforward, I always
| find it kind of difficult just because of the amount of things
| that might go wrong. Kinda like coding videogames I guess.
| martinclayton wrote:
| Dated WBM link to the Clay Shirky blog post in the article:
| https://web.archive.org/web/20051129091414/http://www.shirky...
|
| Must have been taken down from shirky.com since so WBM's last
| capture is a 404.
| JZL003 wrote:
| I know it's probably in rough shape but I'd like to use this
| myself, even if it takes a lot of code to modify. I guess I'd
| need an android app too tho
| totalhack wrote:
| A friend and I recently created an app to track realtime scores
| for a high school reunion fantasy draft (we drafted teams with a
| few friends and you get points if the person shows up).
|
| With AI helping it really lowers the barrier to personal or one-
| off apps you wouldn't otherwise have time for. We did the app in
| the framework he was comfortable with, which I hadn't used, and I
| wrote all my code with AI.
|
| I got smoked in the game though.
| bsnnkv wrote:
| I love seeing whenever this is (re)posted.
|
| This article had such a huge impact on my life and led to me
| creating many pieces of software[1][2][3] that were hyper-
| specific to myself and my needs at the time, which also later
| found an audience in others who think and work in ways similar to
| me.
|
| [1]: https://notado.app - a "content-first" internet bookmarking
| and highlighting service which has been my second brain since
| 2020 after growing frustrated with Instapaper, Pinboard and
| Readwise. Eventually I expanded this to allow for RSS feed
| publishing on specific topics in an attempt to solve the
| "firehose" problem when following other peoples'
| bookmarks/shares, and at the end of last year I added what is now
| my most used feature of image generation from highlights for
| sharing on image-first/text-hostile social media platforms.
|
| [2]: https://github.com/LGUG2Z/komorebi - tiling window manager
| for Windows. There wasn't really anything fit for purpose on
| Windows when I started, and I was too spoiled by bspwm and yabai
| on Linux and macOS that I just had to write something before I
| could become a truly productive Windows user. I'm astonished that
| this now has 50k+ downloads.
|
| [3]: https://kulli.sh - I use this to aggregate comments from
| HN/Reddit/Lemmy/Lobsters on an article I'm interested in in one
| place to read. This has helped me find some interesting niche
| communities on Reddit and Lemmy who share and discuss things I'm
| interested in that I otherwise wouldn't have found.
| kube-system wrote:
| It is kind of amusing to see this presented as a novel concept.
| This is how all software development worked once upon a time.
| Computers used to ship with BASIC interpreters, not app stores or
| package managers.
| Rehanzo wrote:
| This is super interesting. Took me until nearly the end, when he
| started talking about how he wouldn't last as a professional
| software engineer, to find out he isn't one.
|
| Great way of looking at programming. It really is just another
| way to create, akin to drawing or writing, and it feels as if we
| almost desecrate it by treating it the way we do. Inspiring
| article.
| alin23 wrote:
| I do this too, I write scripts, and one-file apps that solve
| issues that only I think I have. Like I've been running an
| _InternetReachable.swift_ [1] manually at the CLI for months to
| have a nice visualization of when my internet connection is not
| _actually_ working. I travel a lot by train, and some regions
| have spotty 3G. I got tired of looking at `ping 1.1.1.1` output
| lines until the connection came back.
|
| But for whatever reason I get the urge to polish the thing, make
| a pretty icon for it and publish it in the hope that others might
| also have the same weird specific need as me. That script above
| just turned into an app called IsThereNet :
| https://lowtechguys.com/istherenet
|
| I'm not sure why, but I get a little dopamine hit when I see
| people learning a thing or two from my experiments. I guess
| that's why we still do the kind of open source that doesn't ask
| for money.
|
| [1]
| https://gist.github.com/alin23/e15b6ffc62a85790096f0228c54fd...
| 2freedi wrote:
| Thank you very much. A few times I've been out on site and
| someone will told me that "the internet has gone down." I can
| easily spend hours offline programming, so this app is perfect
| for me to keep an eye on it.
| m3kw9 wrote:
| I made a couple apps that only I use and is very niche because
| probably only I would use it but very helpful.
| Semiapies wrote:
| > But let's substitute a different phrase: "learn to cook".
| People don't only learn to cook so they can become chefs. Some
| do! But many more people learn to cook so they can eat better, or
| more affordably. Because they want to carry on a tradition.
| Sometimes they learn because they're bored! Or even because they
| enjoy spending time with the person who's teaching them.
|
| This is actually why I think more people should learn some coding
| (and why there should be more HyperCard-like environments for
| non-professionals). It makes the computer or phone a tool to do
| the things _they_ want, not just what some programmer in SF
| wanted to write and try to market.
| fuzztester wrote:
| Related 'Ask HN' that I posted about 3 weeks ago, and that got
| over 780 comments, with many apps mentioned, which was quite
| unexpected, but fun:
|
| Ask HN: What apps have you created for your own use?
|
| https://news.ycombinator.com/item?id=38623695
|
| Still haven't checked all the replies with links to their apps,
| which many gave, but plan to.
___________________________________________________________________
(page generated 2024-01-05 23:00 UTC)