[HN Gopher] No-Code and the IKEA Effect: Software lock-in evolve...
       ___________________________________________________________________
        
       No-Code and the IKEA Effect: Software lock-in evolved to make us
       never churn
        
       Author : maguay
       Score  : 66 points
       Date   : 2020-10-31 13:57 UTC (9 hours ago)
        
 (HTM) web link (capiche.com)
 (TXT) w3m dump (capiche.com)
        
       | qwerty456127 wrote:
       | I don't use Ikea furniture because I have to assemble it. It's
       | just, cheap, reasonably good, easy to find and get. The idea of
       | having to buy a non-Ikea desk scares me because I have no idea
       | where to buy it (I'd have to spend time googling, analyzing and
       | coping with uncertainty), I believe it's going to be expensive
       | (which also implies I'll spend the rest of my life worrying about
       | damaging its surface) and heavy. With Ikea I just go there and
       | get whatever I need (+ an awesome Swedish dinner and best coffee
       | ever).
        
         | ky3 wrote:
         | > I buy Ikea furniture not because I have to assemble it. I buy
         | it because it's cheap, reasonably good, easy to find and get.
         | 
         | Ftfy
        
       | benjaminjosephw wrote:
       | > We may have complained for decades when software locked us in;
       | now, we're happy to stay.
       | 
       | Being willing to trade-off higher costs and less control in order
       | to use new technology is commonplace in consumer tech. Nobody has
       | ever been "happy" about this vendor lock-in, why would no-code be
       | any different?
       | 
       | The current proprietary tools are valuable but they don't allow
       | users to export their creations between vendors offering the same
       | functionality - that means they are more locked-in then ever.
       | Users have the added emotional element of having to abandon their
       | creation and accept the sunk-cost if they want to switch. I'm
       | quite sure that nobody is happy about that fact.
        
         | yowlingcat wrote:
         | > I'm quite sure that nobody is happy about that fact.
         | 
         | Indeed. I think the original post may have mistaken effect for
         | cause. We can look across the course of human history at many
         | cases of authority figures and those who interact with them,
         | but generally, forcing any kind of lock-in has weird second
         | order effects, and sometimes "the cure is worse than the
         | ailment" -- so too I think it could be here.
         | 
         | What would be needed to show this? Portability, for one. The
         | open-core model exists for a reason. Software lock-in needs to
         | be voluntary to be defendable. If you don't make it easy for
         | your users to switch, you have no proof that they are staying
         | with you because you are the best option, not just what they
         | are forced to use. This can be very dangerous for an
         | organization which takes its incumbence for granted, which is
         | basically every large B2B sales-led SaaS org, almost by
         | default.
         | 
         | It means that when an upstart figures out how to out-execute
         | you, you will have ossified into a living fossil whose organs
         | they will consume from the inside out all in one go, rather
         | than getting advanced notice ahead of time while you can still
         | course correct. Convenience is great and all, but on a long
         | enough corporate lifecycle/lifespan (and they seem to be
         | getting shorter and shorter these days), un-sustainability
         | eventually takes its toll.
        
           | ozim wrote:
           | https://en.wikipedia.org/wiki/Data_portability
           | 
           | There is data portability in EU and you can get all your
           | data... But it probably is useless or at least not as useful
           | as in context of the SaaS you were using.
        
             | wizzwizz4 wrote:
             | There's a legal requirement for data portability. That's a
             | different thing.
        
       | wintorez wrote:
       | I've come to the conclusion that code is temporary, and is meant
       | to be discarded after a while. Hardware change, requirements
       | change, people change. The things that are permanent are data and
       | methods.
       | 
       | That's why I think as long as you have documented and defined
       | your methods (i.e. business logic) well, and your data is
       | portable, you shouldn't worry much about vendor lock-in in the
       | long run.
        
         | monkeydust wrote:
         | The only thing that remains from code are the real world
         | decisons and actions that come from it
        
         | rvense wrote:
         | > I've come to the conclusion that code is temporary, and is
         | meant to be discarded after a while
         | 
         | Interesting, my gut feeling is the opposite. I think code is
         | being written today that will remain running for something
         | approximating "forever". Stuff will work and people won't want
         | to change it - or things will be so intermingled that they
         | won't dare to.
        
           | corytheboyd wrote:
           | Out of curiosity what is the context behind the code you
           | think will have a long lifetime? As someone who works on
           | "webcrap" as they say, I don't think anything I contribute to
           | will work for more than a few years.
        
         | dustingetz wrote:
         | Big data is permanently in AWS
        
           | wintorez wrote:
           | Asking this out of my ignorance, but there're no ways of
           | exporting and extracting big data out of AWS?
        
           | WJW wrote:
           | As long as you keep paying, of course.
        
           | goatinaboat wrote:
           | _Big data is permanently in AWS_
           | 
           | Egress costs make sure of that!
        
         | goatinaboat wrote:
         | _That 's why I think as long as you have documented and defined
         | your methods (i.e. business logic) well, and your data is
         | portable, you shouldn't worry much about vendor lock-in in the
         | long run._
         | 
         | That's a huge big IF. In many if not most cases the only
         | reliable documentation of a system is the running code itself.
        
         | rufus_foreman wrote:
         | As Tom Kyte said:
         | 
         | "I take the view that applications come. Applications go.
         | Applications come again and go again. But - the data, the data
         | - oh, it stays and stays and stays and is used by application
         | after application after application. And if you store your data
         | perfectly for "the first application", it'll not be good for
         | the future ones. And I don't see tons of data that isn't used
         | by many applications (need many views of the same data). See,
         | my goal is the data - knowing that applications are like
         | Mayflies but data is more like a tree."
        
         | Ma8ee wrote:
         | In most cases, the only reliable documentation and definition
         | is the code itself. It's is rare for most of us where it is
         | hard to figure out _how_ to do something. In general the only
         | hard part is to figure out exactly _what_ needs to be done.
        
           | sltEvas wrote:
           | Actually, code isn't what does that. It's true that code is
           | one of the things that keeps it "all". However, it's not the
           | best place for documentation or even storage of that
           | knowledge. Code changes.
           | 
           | Tests are what you need to invest in. When you test all of
           | you business use cases in an abstract (perhaps even no-code)
           | way, you are truly independent. You can rewrite the system
           | very quickly, if you had a test-suite that allows for quick
           | iteration (TDD style) and does not depend on implementation
           | details.
           | 
           | Given just the code? Well good luck migrating to another
           | cloud vendor. You will probably introduce one million bugs on
           | the way.
        
             | ironSkillet wrote:
             | What are some techniques you use to test business use cases
             | in a code independent way?
        
         | m463 wrote:
         | Taking the 10,000 foot view that "code is temporary"...
         | 
         | I think "business logic" is indeed temporary. With very few
         | exceptions, most code you write for someone else will not stand
         | the test of time. In fact, most of the companies I've worked
         | for do not exist or have greatly changed over the years.
         | 
         | MIT/BSD software is a little better.
         | 
         | And strangely - GPL software does stand the test of time.
        
           | wintorez wrote:
           | I think my usage of the term "business logic" was a bit
           | misleading. What I meant was more the methods and ways which
           | we expect the data to be processed; more like requirements
           | than anything.
        
         | teddyh wrote:
         | > _you shouldn 't worry much about vendor lock-in in the long
         | run._
         | 
         | You should _always_ worry about vendor lock-in. Vendors only do
         | it because they gain something by it, namely reduced
         | competition. Reduced competition is _always_ bad for the
         | consumer.
        
           | cle wrote:
           | Not necessarily, and vendors don't _only_ do it to reduce
           | competition, and not all vendors do it either.
           | 
           | As a consumer, having 50 nearly-similar options to choose
           | from is arguably worse than having only a few. With 50
           | choices you'll get an entire sub industry devoted to
           | "helping" you make a choice, and you'll likely miss out on
           | certain economies of scale.
           | 
           | As a vendor, it's a lot easier to understand, support, and
           | build products for your customers if they are only using your
           | products.
           | 
           | There are obviously negatives to vendor lock-in, but framing
           | it as entirely negative is misleading.
        
             | msla wrote:
             | Indeed:
             | 
             | Ideally, there would be one car. Ford. Ford would be the
             | only vendor for cars, and Ford would be the only car
             | vendor. We'd have the technology approved by Ford and all
             | of the technology approved by Ford, including black paint,
             | carburetors, tetraethyl lead, and, through a special deal
             | with Radio (formerly RCA), AM radios tuned to Radio, the
             | only Radio company and station in the world.
             | 
             | These vehicles would be simple to maintain, in that the
             | only maintenance option is to ship them to Ford, and simple
             | to customize, in that you cannot.
             | 
             | And anyone who attempts to modify their Ford would be
             | subject to legal penalties, up to and including bomb-
             | making, just as if they'd tried to destroy any other
             | institution.
        
               | cle wrote:
               | Wow, that's not at all what I'm saying. Did you notice
               | how I offered no prescriptive nor normative statements?
               | I'm just observing that there are tradeoffs involved--
               | there are some beneficial properties that emerge as the
               | number of choices decrease (along with a bunch of
               | detrimental ones). Pretending like those don't exist does
               | nobody any favors.
               | 
               | Since you asked, my opinion is that there's a healthy
               | tension between too many choices and not enough choices,
               | and we should strive to maintain that tension. Which
               | requires an objective understanding of the tradeoffs,
               | instead of knee-jerk reactions to the phrase "vendor
               | lock-in".
        
         | core-questions wrote:
         | > you have documented and defined your methods (i.e. business
         | logic) well
         | 
         | Wishful thinking, though, in many cases. When software dictates
         | the workflow, the code _is_ the business process documentation.
         | Add a new function to the code? Did you go and update the docs,
         | too? Takes serious diligence, takes bigger teams, hard for a
         | small business systems department to keep up with that. That's
         | why they use low-code platforms, aside from the skill gap (i.e.
         | once you can really code, you tend to not want to write
         | business systems stuff anymore)
        
         | pachico wrote:
         | Not only that. Good code should be easy to throw away without
         | major effort.
        
           | wintorez wrote:
           | For me, writing code has became like making a sandcastle. I
           | sure put a lot of time and effort in it, but I never try to
           | preserve it. It's pointless. What I preserve is the lessons I
           | learned while building it, and applying them to build a
           | better sandcastle next time.
        
         | Edmond wrote:
         | Agreed.
         | 
         | The primary reason the software development field has evolved
         | to be preoccupied with saving/re-using/inter-op code is because
         | of the difficulty of building even the most trivial piece of
         | software.
         | 
         | Unfortunately code hoarding is simply a reflection of the age-
         | old human flaw of wanting to recoup sunk cost, you assume if
         | you've invested a lot of time into something, it must be worth
         | holding on to for as long as possible :)
         | 
         | If software was as easy to make as a piece of office stationary
         | is easy to write on, no one would care about code
         | reuse/saving/interop...you don't see anyone saving post-it
         | notes or even excel docs for indefinite reuse.
        
           | feoren wrote:
           | I see Excel documents that have been reused hundreds of times
           | for dozens of different purposes over the last 20 years. I
           | see that all the time. "Too many styles", VBA macros from the
           | 90s, hundreds of items in the Name manager that refer to
           | long-forgotten hard drives or #REF!. It's everywhere.
        
           | wintorez wrote:
           | I couldn't agree more. A personal anecdote; I used to think
           | about what would be my legacy as software developer? Anything
           | that I write would be obsolete in few years. Nothing I wrote
           | back then remained working. This thought was depressing me.
           | 
           | Then I realized that what I'm actually creating and
           | maintaining is not code. It's the mindset behind the code,
           | and the skillset to convert ideas to working pieces of
           | software. My legacy would be to learn through experimenting,
           | and to help others learn the same.
        
             | bonoboTP wrote:
             | Who has a legacy anyway and why would a normal person
             | expect to have one? A tailor's clothes get worn out, a
             | farmer's food is eaten, the cook's dish eaten, the hotel
             | cleaner's "output" gets messy again, the architect's
             | apartment block torn down etc.
             | 
             | Who has a true legacy outside a small minority of
             | philosophers, artists, scientists and political leaders?
        
               | wintorez wrote:
               | I think even the idea of having a tombstone is a sort of
               | legacy. People made cave-paintings to leave something
               | behind. We all want to cling to existence somehow and
               | want to leave a mark on world when we leave. The simplest
               | way maybe is to have children, so your gene would live on
               | after you.
        
               | AstralStorm wrote:
               | Most of the paintings get lost, even sometimes
               | masterpieces.
               | 
               | Bloodlines die out or change enough to not be
               | recognizable.
        
               | mathgeek wrote:
               | > We all want to cling to existence somehow and want to
               | leave a mark on the world when we leave.
               | 
               | Not everyone wishes to leave a mark on the world after we
               | are gone. There are entire philosophical branches
               | dedicated to the idea of embracing mortality and
               | accepting that which makes us human.
        
       ___________________________________________________________________
       (page generated 2020-10-31 23:00 UTC)