[HN Gopher] Offline-First PWA for Plotly Visualization of CSV vi...
       ___________________________________________________________________
        
       Offline-First PWA for Plotly Visualization of CSV via SQLite
        
       Author : lana-k
       Score  : 164 points
       Date   : 2021-05-15 13:48 UTC (9 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | jimsparkman wrote:
       | This looks really great, like a local version of redash but way
       | more in the way of charting options. Such simplicity to boot.
        
       | kwhitefoot wrote:
       | PWA?
        
         | code-is-code wrote:
         | Progressive Web App
        
         | rubiquity wrote:
         | Programmaz Wit Attitudes
        
       | rebhan wrote:
       | Why Plotly, isnt https://echarts.apache.org/en/index.html more
       | powerful ?
        
         | lana-k wrote:
         | Plotly has this: https://github.com/plotly/react-chart-editor.
         | Is there something similar for echarts?
         | 
         | Anyway, thank you for a hint.
        
         | akdor1154 wrote:
         | I can't tell, their lets-reimplement-scrolling-in-js gallery
         | page is breaking in my Firefox.
        
       | chunkyks wrote:
       | I was looking for something like this the other day. I ended up
       | just implementing functions directly in sql like
       | plot_bar(category, value), plot_points(xval, yval), which open a
       | popup with the chart.
        
       | technologia wrote:
       | This is great, your demo's music just made the task seem
       | hilariously easy.
        
       | hmsimha wrote:
       | This seems really neat. Curious if you saw this magic SQLite ->
       | Static file tool shared here a couple of weeks ago:
       | https://news.ycombinator.com/item?id=27016630
       | 
       | IIUC It would enable this tool to work with a dataset in sqlite
       | that could be recompiled as static files periodically, and the
       | relevant queries could be made on the front-end without having to
       | load the whole data-set or select a CSV file from the filesystem.
       | Would also lead to much better performance if you want users to
       | be able to host generated charts on a static file server,
       | presumably the output could be committed to git and then synced
       | to a github pages or something.
       | 
       | edit: It appears the author of that tool is using Plotly as well
       | in the demo website. An integration of these would be incredible.
        
       | klmadfejno wrote:
       | Perhaps a dumb question but why is offline stressed so much here?
       | Nothing in the underlying tech seems to suggest one should expect
       | it to not work offline?
        
         | EvilEy3 wrote:
         | Because you don't want your application to become potato on
         | each network hiccup?
        
         | aseipp wrote:
         | You need to use specific browser APIs (Service Workers) in
         | order to support "offline mode" for a webpage, including
         | support when there's no internet at all. This means the page
         | and its content is stored locally for later, separately from
         | normal HTTP caching.
         | 
         | Yes, if you loaded the page once into a tab and then never
         | closed it ever again, then it doesn't matter so much and you
         | could use it if your internet shat out, but in practice people
         | close and then re-open things later under varying network
         | conditions.
        
         | osrec wrote:
         | Browser based apps generally struggle to function well offline
         | (this is also true of certain native apps, but that's a whole
         | other discussion). Using the PWA "toolbox" you can have in-
         | browser apps stored locally via service workers so that they
         | work without needing to fetch anything via the internet.
         | 
         | It's rather useful, and can provide a much better user
         | experience, especially when you have a patchy network.
        
           | tmpz22 wrote:
           | What's an example of a large tech product that functions as a
           | PWA that users really love?
        
             | jononor wrote:
             | Dunno about "really love" anymore, but gmail?
        
             | osrec wrote:
             | There's Twitter's PWA, which isn't too bad in my opinion.
             | 
             | My product has approx 300k users and is a PWA:
             | https://usebx.com - our users seem to like it :)
        
               | dkarp wrote:
               | If you don't mind me asking, how does your product make
               | money?
        
               | osrec wrote:
               | We have a quota on the number of documents you can
               | create, after which you must subscribe. It's a very
               | generous quota, but we still have a good number of people
               | subscribing.
               | 
               | Our major income comes from larger corporate contracts
               | with medium to large businesses, that deploy our product
               | on-prem. Often these were people who used our SaaS
               | product, liked it, and asked us to deploy it internally
               | for their business. Much less hassle than running a
               | company that's purely SaaS based, and more stable income!
        
             | echoradio wrote:
             | I don't know if meets the condition of "users really love,"
             | but don't Google Docs have the capability of functioning as
             | an offline PWA?
        
         | lana-k wrote:
         | Other users have already explained the technical aspect of PWA
         | (i.e. you can install it and run offline as a desktop app). I
         | just want to add that by offline-first I also mean
         | confidentiality -- your data doesn't leave your device, whether
         | you're offline or not.
        
       | osrec wrote:
       | Really like the concept and demo. And it looks well made! Just
       | out of interest, is this something you did as a hobby/for fun, or
       | was there a particular use case you were addressing?
        
         | lana-k wrote:
         | It started as a collaboration with
         | https://pypi.org/project/Procpath/. For me as a frontend
         | developer it's an interesting challenge to develop, in fact, a
         | desktop app (with background workers running a database and
         | exchanging data with the main thread and so on) in the form of
         | progressive web app (PWA).
         | 
         | But in general I want to solve a problem: a lot of people know
         | SQL which is actually powerful to wrangle data to prepare it
         | for visualisation and analysis. It can't be simpler than drag-
         | and-dropping a CSV into a browser, producing a result set and
         | consuming it by the visualisation component (now Plotly, but
         | more to come).
        
           | osrec wrote:
           | Genuinely impressed! For me, the most impressive part is the
           | configurability of the charts. Did you implement each
           | configuration for each chart type individually, or were you
           | leveraging some library to help populate the chart
           | configuration parameters?
        
       ___________________________________________________________________
       (page generated 2021-05-15 23:00 UTC)