Abandonware and PTSD: Why I’m a Polymer Enthusiast

appwriter_logo

.. of course my son thinks I’m crazy, because he’s still coding in the same language/ecosystem he learned coming out of college…

Photo credit: louis tricot

Abandoned.
Too Many Times

I wrote my first meaningful UI in a green-screen app in 1985, in what was then, a fantastic system called FilePro, but I was left abandoned when I could no longer deploy it on any up-to-date systems.

Really? I had built some really helpful software, which I used every day for running my business. Now I just have to throw it away?

1995-2015 I repeated this abandon and re-create process to various degrees, with …

  • MS Access (yeah, I know – but it was 1995)
  • Visual Basic, VBA
  • JSPs
  • JCorporate Expresso
  • Struts 1
  • Grails
  • Swing
  • probably others, to a lesser degree. It all becomes a blur.

You don’t think it will happen to you, until it does, a few times.
You learn a skill-set, write a few apps.
The market moves on. Throw it all away.

And now I’m supposed to guess which one of React, Vue, ReactNative or (…. you pick) will not be abandoned next, so I can learn yet one more system and APIs? Only to throw away virtually everything I will learn, when the next one becomes so much better that I can’t use this one any more?

PTSD is nothing to joke about if it’s real – and maybe having your software made obsolete time and time again doesn’t qualify. Yet the loss is still real, even if you’re too young to have experienced it, or too robust to care.

At 64 years old, wasting that kind of time is not a strategy for success.
Imagine how screwy it will be to find out at 71, when I retire, that everything I did since I was 64 is again throwaway, merely more abandonware.

Nope.

Time to do some research and calculations. Can I dodge this bullet?

Enter: Polymer

Like a shining light from the heavens, Polymer Project emerges, and offers a chance to write long-lived software that will deploy everywhere.

  1. None of the above
    Polymer’s primary objective is sometimes described as to not exist.
    Somehow, somewhere, sometime, HTML/CSS/JS will be enough. We’re not there yet, but we’re inches away.
    Yeah, it’s weird. #useThePlatform
    Scratch head. Huh?
  2.  Temporary
    Code implementations, decreasing in scope with each new version.
    From Polymer 0.5 to Polymer 1 to Polymer 2 to Polymer 3 to Polymer/Lit 1, the Polymer codebase just keeps getting smaller and smaller, providing less and less as JS and browser standards get more and more capable.
  3. Components & pieces, not frameworks
    Polymer thinks in terms of Web Components, or pieces. Excepting for that minor issue of React eschewing standards in favor of proprietary code and API, it’s most like React, in that sense. Totally unlike Angular or other systems that provide everything, top down. In Web Components, you build in pieces, from bottom up.
  4. Ultra-light
    As with #2 above, Polymer shoots for a very small codebase, so that it downloads fast and works quickly. Again, compare to something like Angular which has to download the internet to your app, before your app starts working.
  5. PWA
    If you haven’t figured out that you can now code and deploy one version of software to the web, mobile, and desktop, I’m not going to convince you here, but you have some serious catching up to do, on the technology front.
  6. Smart
    I’ll take well designed software to overly clever software, any day.
    Hang out on the polymer slack feed for a few years, if you want to see how really thoughtful people think a design through to completion.

For all of these reasons, plus a false sense of confidence that the Google Chrome team seems solidly behind it (google+, anyone?), I’m betting that Polymer/Lit has the greatest chance of not being obsolete by the time I learn it.

May the force be with us.