[HN Gopher] An app can be a home-cooked meal
       ___________________________________________________________________
        
       An app can be a home-cooked meal
        
       Author : mkeeter
       Score  : 177 points
       Date   : 2020-02-15 02:14 UTC (1 days ago)
        
 (HTM) web link (www.robinsloan.com)
 (TXT) w3m dump (www.robinsloan.com)
        
       | spiderjerusalem wrote:
       | Putting the 'personal' back in computing, this is great!
        
       | gklitt wrote:
       | "Home-cooked" software is such a lovely analogy. I've used the
       | same comparison to explain my unease about ad-hoc spreadsheets
       | being replaced by domain-specific software [1]. Often the new
       | software is "better" just like restaurant food is "better" than a
       | home-cooked meal, but it's also great when people can build
       | small-scale, super flexible software that works perfectly for
       | just their own needs.
       | 
       | 1: https://twitter.com/geoffreylitt/status/1177607448682582016
        
         | myself248 wrote:
         | I loved TFA's callout to HyperCard, like your own argument
         | about spreadsheets being "flexible generic tools".
         | 
         | I feel like IFTTT is approaching the same level of utility,
         | though it exists in a space where it's incredibly vulnerable to
         | change against its users' interests.
         | 
         | A few more tools like spreadsheets and HyperCard, and a whole
         | lot of people with home-kitchen level of software competence,
         | could free us from a lot of expensive restaurant dining. And
         | we'd be more self-sufficient, to boot.
         | 
         | What's it take to get HyperCard back? Or something like it? Not
         | just functionality, but ubiquity -- being a tool that every kid
         | is one click away from, nothing to install, no permission to
         | ask, just start learning...
        
           | vertex-four wrote:
           | The problem is that the tasks we ask of our software are
           | harder - we now expect them to talk to other computers, not
           | all of which really want to be talked to by random people
           | writing one-off bits of software.
        
       | ChrisKnott wrote:
       | Imagine a world where the ability to make a personal app like
       | this is actually as easy as making a home-cooked meal; a skill
       | passed from parent to child in the natural course of growing up.
        
         | FearNotDaniel wrote:
         | That's pretty much the way life was for me in 1982. Of course,
         | you couldn't make an app 'like this' in the 8-bit days - no
         | networking, no onboard camera, no touch screen - but my Dad & I
         | sat literally at the dinner table and wrote home-cooked apps
         | together. We learned to code together, but he taught me how to
         | make the computer do _useful_ things: as a language teacher he
         | created quiz games that he could take in to use in his high
         | school classroom. I seem to remember designing custom fonts to
         | get the accents right on the French words (did I mention, no
         | Unicode?)
        
         | saagarjha wrote:
         | Cooking is orders of magnitude harder for me than making an
         | app, so I'd think we're already there...
        
           | machtesh wrote:
           | Gosh I wish it was the opposite to me! Cooking seems fairly
           | easy and making apps seems daunting.
           | 
           | I started a newsletter with very quick tips on cooking if you
           | ever want to learn. It's easier than you think!
           | https://aldente.substack.com
        
           | nine_k wrote:
           | You normally finish cooking within a few hours.
           | 
           | Making a worthwhile mobile app in a few hours is still mostly
           | a dream.
           | 
           | When cooking, you make a fresh copy of a meal according to a
           | recipe. A fresh _copy_ of an app is of not much use; it 's as
           | if you needed to invent a new recipe and then cook it.
           | 
           | Cooking really tasty dishes takes experience; but the same
           | holds for software engineering.
        
           | mattkrause wrote:
           | Do you want to learn? If so, here's some advice.
           | 
           | 1. Start with an "easy" cookbook. There's a whole genre of
           | cookbooks for people starting out in their own or newly
           | single dads. One of my first was "Dad's Own Cookbook", which
           | has decent recipes that aren't a huge production. After that,
           | get the "Joy of Cooking", which has a huge number of recipes
           | from many cuisines. Also, take a look at Julia Child's
           | "Mastering the Art of French Cooking". You may not be
           | interested in many of the recipes (e.g., aspic) or even
           | French food, but I found it very helpful to see how a
           | "master" recipe could be forked into many different dishes.
           | 
           | 2. When you make something for the first time, follow these
           | rules. - Read the ENTIRE recipe carefully before you start.
           | 
           | - Follow it _exactly_. Don't substitute anything or "add your
           | own twist". You gotta eat every day, so you'll get a chance
           | to do that soon.
           | 
           | - Prep everything in advance. Dice the onions and put them in
           | a bowl. Open up the can of tomatoes. Peel the carrots, chop
           | them, and put them in another bowl. Measure the spices out
           | into a shot glass. Yes, you will have to do a few more
           | dishes. Yes, you will have some dead time while the oil heats
           | up or the onions soften. When you've more experience, you can
           | start interleaving things but in the meantime, you'll avoid
           | burning things while you learn how much time and attention
           | various things take.
           | 
           | - Clean as you go. Having a cramped, cluttered counter
           | stresses me out and often leads to mistakes.
           | 
           | - Try new recipes out under low-stakes conditions, not when
           | you're hosting your boss and girlfriend's parents.
           | 
           | 3. Get a decent knife and learn how to use it. You don't need
           | a $500 Japanese Santoku, but get something decent and keep it
           | sharp. There are standard ways to dice an onion (etc). Do
           | them smoothly first and the speed will come. If you've got
           | friends in food service, they might be willing to help.
           | (Exception: tourne is fairly silly)
           | 
           | 4. Have fun and don't take this too seriously. If all else
           | fails, just order pizza.
        
           | sevencolors wrote:
           | Dunno what you learning style but some folks appreciate this
           | site
           | 
           | http://www.cookingforengineers.com/
        
           | gwd wrote:
           | I've cooked _lots_ of tasty, nutritious food in half an hour,
           | and I rarely spend more than an hour cooking. I can only
           | dream of a world where I could write an app in an hour that
           | would be as enjoyable to use as the food I can cook in an
           | hour is enjoyable to eat!
        
             | notduncansmith wrote:
             | I think game jams probably get closest to this proportion
             | of work:enjoyment in software.
        
           | 101008 wrote:
           | I think the hardest part of an app is distribution, sharing,
           | etc (I am not talking about being popular, but signing the
           | app, upload to a marketplace, etc). I think theere could be
           | an analogy about cooking for yourself in your ktichen
           | (developing local, the app works on your phone), or cooking
           | for a lot of people in a enviroment which you dont know (a
           | friend's kitchen, etc). You know that i fyou don't use your
           | utensils, or your favourite pan, or your hoven (you know
           | exactly the times and temperature), it won't be the same.
        
         | brundolf wrote:
         | With kids today playing with things like the Swift Playground
         | on iPad, I don't think we're far from it
        
       | z3t4 wrote:
       | I've been wondering lately if there is any business opportunity
       | in personal IT... More and more technology is entering our
       | homes... We hire people to do plumbing and electrical
       | installations, maybe we should also hire people to do the
       | software...
        
         | jon-wood wrote:
         | Its nowhere near the level of everyone hiring plumbers and
         | electricians, but if you're really interested hunt down some
         | home automation companies (or start your own). If you can find
         | the right clients you can easily make five digits a job setting
         | up Home Assistant to run someone's new house.
        
       | userbinator wrote:
       | _roughly half of that time was spent wrestling with different
       | kinds of code-signing and identity provisioning and I don't even
       | know what._
       | 
       | It's worth noting that in the early era of personal computing,
       | companies did not view users as idiots to be herded and
       | restricted by their technology, and computer magazines contained
       | source code listings.
        
         | samatman wrote:
         | It's also worth noting that in the early era of personal
         | computing, viruses which caused considerable data loss were a
         | commonplace occurrence.
         | 
         | These days, ransomware and other malicious software are very
         | much an ongoing concern. I welcome efforts by OS providers to
         | limit the damage these can cause; the minor annoyance it causes
         | developers is more than made up for by the increase in security
         | for the end user.
        
         | the-dude wrote:
         | TV's and radio's used to contain their schematics on paper.
        
           | orf wrote:
           | And at a certain complexity level it's not with printing out
           | reams of minute schematics about the thousands of components
           | inside a modern flat screen that nobody will ever read.
           | 
           | Go get them via PDF on the internet, if available.
        
             | myself248 wrote:
             | The "if available" part is the problem. I'd be 100% fine
             | with electronic delivery, if they were simply available.
             | 
             | Having to go to dodgy websites with my browser in paranoid
             | mode just to find documentation to try to keep my gizmo out
             | of the e-waste stream a little longer, is suboptimal.
             | 
             | Learning and fixing should not feel like a crime.
        
             | mopsi wrote:
             | Have TVs become more complex? I recently peeked into mine,
             | and it had only two major boards, one for power, the other
             | for AV stuff. Not mine, but similar:
             | https://i.imgur.com/1uHsfYI.jpg Hardly anything there, and
             | very easy to replace a blown capacitor or a whole board.
        
             | Nextgrid wrote:
             | I think his point is that back in the day manufacturers
             | were happy to provide the resources needed for users to
             | repair their products (or delegate it to a third-party of
             | their choosing).
             | 
             | This is not the case anymore. You are not going to find a
             | manufacturer-approved source for schematics for most modern
             | consumer products. The only way these schematics surface on
             | the web is by being stolen and leaked by factory workers
             | and this could take considerable time from the release of
             | the product.
             | 
             | Manufacturers also try to corrupt the law to their
             | advantage by lobbying against bills such as the right to
             | repair with completely insane arguments (often involving
             | safety, etc - the typical "think of the children" nonsense)
             | which sadly work against clueless senators (or whatever the
             | people at these hearings are called in the US). You can
             | check out Louis Rossmann's YouTube channel for recent
             | examples of this.
        
             | yc-kraln wrote:
             | Modern flat screens are actually far more simple than the
             | TVs of yore; that actually makes them more difficult to
             | repair. You will typically have a power supply (and if not
             | an LED backlight, then a high voltage one as well) and a
             | "T-Con" board, which usually has one honking big SoC on it
             | which is both Vendor and TV specific. There isn't that much
             | to repair aside from the power supply, and honestly you
             | don't really need a schematic for that to repair it.
        
         | orf wrote:
         | It's not necessary about considering users idiots. As with
         | anything, once a critical mass of users was reached people
         | started creating malicious software, and code signing is a way
         | to help prevent that.
         | 
         | Of course you can run your own self-signed APK on your own
         | phone, nobody is preventing you. But use the Apple App Store as
         | a delivery medium? Come on. Code signing is a bare, completely
         | responsible minimum.
        
           | dvfjsdhgfv wrote:
           | > Of course you can run your own self-signed APK on your own
           | phone, nobody is preventing you.
           | 
           | Unless you have an iPhone - it's becoming a bit more
           | difficult then.
        
             | orf wrote:
             | Took me about 5 minutes after installing Xcode on my Mac.
             | What's so difficult?
        
           | saagarjha wrote:
           | Nit: this app was distributed via TestFlight, not the App
           | Store. (It still has similar signing requirements.)
        
         | brundolf wrote:
         | Please don't ruin a heartwarming post with a rant. HN has
         | enough of those.
        
           | dvfjsdhgfv wrote:
           | Well, the quoted sentence comes from the article. Of course
           | with time it gets easier, but the first time you submit your
           | app to App Store an awful lot of time is spent on the
           | provisioning aspect.
        
             | brundolf wrote:
             | I'm not saying it's wrong, I'm saying it gets brought up
             | plenty and is tangential to the point of the article
        
       | jayd16 wrote:
       | I do miss the haphazard personal website of yore. That said, it's
       | probably quite a bit less secure to run this stuff yourself.
        
       | Apocryphon wrote:
       | Now, this is wholesome.
        
       | sevencolors wrote:
       | I really identify with his home cook metaphor. I love cooking for
       | folks and often get compliments that I could be a chef. Mostly
       | because I've been cooking since I was a child. Ironically I've
       | become a "software engineer" in a similar manner, 10 years of
       | just trying things out and making things for friends and family.
       | I do agree we're getting to a space in software development
       | that's making it a bit easier to play and experiment with ideas.
       | I think it would amazing if folks could get a BlueApron like
       | expenience and make an app that would be useful
        
       | ramoz wrote:
       | I like thinking about coding with these type of metaphors.
       | Coding, imo, is more like a puzzle. I get cooking but it's a bit
       | too abstract for something as deterministic as most coding is. I
       | do see it applying to the experimental side.
       | 
       | Relating to puzzle...                 - Design: you "know" what
       | you want your outcomes to look like       - Software: you "know"
       | the type of pieces you're dealing with (there can be variants)
       | - Compile: pieces can only fit to exact tab/blank structure(per
       | piece variant)       - Iterate: your entire design is systematic.
       | In complex puzzles, your early decisions can greatly alter future
       | state. How you progress and build in later states is important
       | to.         - Can be good, eg like puzzle-solving strategies that
       | are very specific in the beginning, but enable rapid/seamless
       | building in the future.         - Can be bad, eg it may seem like
       | you're mostly complete in the later states, however, there are
       | holes and holes left ignored are a liability for the acceptable
       | state. You might find that you've incorrectly placed pieces that
       | seemed viable in the past, but leave you in conflicted situations
       | in the future.
        
       | brundolf wrote:
       | Something about the personality of a programmer draws us towards
       | that ever-fleeting siren of The Infinite. Infinite scalability,
       | infinite reusability, infinite growth. It's this lust for the
       | Bigness that our code _could theoretically reach_ that causes
       | most of us to pass right by the myriad of opportunities for
       | small, more meaningful, more human software.
        
       | jrochkind1 wrote:
       | I remember the fantasy that more and more people would be able to
       | develop simple basic apps for their own very personal customized
       | needs. It was a vision of a more accessible and democratic
       | compute infrastructure, where we'd all be 'makers' creating the
       | compute environment we lived in. Things like hypercard were part
       | of this vision.
       | 
       | Those days are gone. The article doesn't explicitly mention the
       | fact we all know: Very few people have the capacity to create a
       | 'home-cooked meal' like the OP, for their own use.
       | 
       | In fact much fewer than could create a little hypercard app. It's
       | a world where there are pretty large barriers to most people
       | being software 'makers', and instead we are just consumers who
       | can choose from what is offered to us by various companies trying
       | to figure out how to monetize our needs and desires.
       | 
       | Part of it is the increased complexity of app development. Part
       | of it is the walled gardens of our suppliers.
       | 
       | > I distributed the app to my family using TestFlight, and in
       | TestFlight it shall remain forever: a cozy, eternal beta.
       | 
       | Indeed. Because the very infrastruture ignores the needs of one-
       | off "home cooked meal" apps, it assumes they don't exist, you
       | have to pretend it is some kind of "beta" of a mass market
       | commodified product instead (and be glad our suppliers still let
       | you do that for 'free'). Our computers (increasingly the
       | phone/device is people's primary computer) are no longer ours to
       | do with as we will.
       | 
       | It is sad. If those who created the computing revolution 30 years
       | ago (including prior versions of us) could see where it wound
       | up.... the level of technological sophisitication of our pocket
       | audio-video-geolocated-self-surveilling-communicating devices is
       | astounding; the lack of 'empowerment' or control we have over
       | them is utterly depressing.
        
       | akavi wrote:
       | Maybe dumb question: How does he specify whom the message is sent
       | to? Or is it broadcast?
        
         | brundolf wrote:
         | I assume it's hardcoded to broadcast to all users
        
       | kgraves wrote:
       | So an internal tool?
        
       ___________________________________________________________________
       (page generated 2020-02-16 23:00 UTC)