I'm rocking a 8 year old laptop. I also use NoScript, which means I'm pretty aware of what code webpages are actually running on my computer.
What I've seen is that the things that make it really chug have very little to do with how much actual functionality the website has. Beautiful CSS animations usually aren't too bad, either, even on my old computer. The real performance hogs tend to be things like scrolljacking, telemetry, and dynamic ad placement.
The interesting outlier here is gmail. Gmail fascinates me, because it keeps getting slower and slower, without, as far as I can tell, actually gaining any new capabilities.
I want to visualize 1TB of single cell RNA seq data in a browser tab, then open a new tab, change some params, and share the link to a colleague. I want it to be instant.
In the non-multiomics world I also make browser based data visualization software (most recently worked on this, for example: https://ourworldindata.org/coronavirus-data-explorer). I want to load up 500GB and facet on multiple dimensions and then share the link and have it all run instantly.
I'm not talking about Gmail and Text editors here. M1s solved that.
But why? Wouldn't you be better suited writing a native application that would do this better? This seems like you're building a problem for this solution. Most people use a browser for Gmail and to read news. Your example already works really well on the browser on my phone
Because cancer is incredibly complicated and requires incredible amounts of data, analysis, and *collaboration*.
Maybe I'm missing something in your problem statement but are you downloading all that 1TB in your browser window and changing parameters? If yes Mighty has to download that data too and considering that each user is sequestered, someone you're sharing this with will have to download all that too. If you're not and the visualization is running somewhere else and the result streamed to your system how does Mighty solve that problem?
The idea that you're going to shove 1TB of data down to the client strikes me as slightly unhinged. Even if we assume you can achieve a sustained transfer rate of one gigabit per second, it's going to take over 2 hours to get a terabyte shoved down to the client. I'm guessing, though, that the actual vizualization is nowhere near one terabyte. Data's going to have to be aggregated somehow, because no computer monitor can display a terabyte worth of information all at once. Even a 4K monitor would fall short by many orders of magnitude.
It would be much faster, and, I think, simpler, to keep the data on a central server, have it generate the visualizations, and push them down to the client.
Yeah which is why I asked for clarification from them because it seemed really weird to assert that as a positive for the app?
> It would be much faster, and, I think, simpler, to keep the data on a central server, have it generate the visualizations, and push them down to the client.
Yeah I completely agree but in this case, Mighty would have next to no advantage over just loading the visualization on your own machine. Hence, again the confusion about asserting Mighty as a means to an end
But if you're the actual app developer, I'm just not seeing a good reason why you would want to deliberately incorporate this technology into your design. Why farm the sever-side rendering out to a middleman when you could just... do server-side rendering?
Distribution. There's only 1 magic platform that allows you to ship new versions at your own cadence to 100% of people.
Developing for just M1s is great, when all your users are on M1s.
How do browsers make something distributed? How are browsers the only "magic platform" that allow you this? How is Mighty contributing to solving this problem? How does M1 matter here
Mobile Gmail's not just heavy—it's broken. Whatever stupid, misguided bullshit they're doing with scrolling makes it register clicks where they weren't intended if I'm not super careful.
- mighty creates arbitrary APIs that allow more speed so now we have yet another build target
- it manages to become successful, so now competitors jump in and now we have multiple targets to build for.
- god forbid, competitors offer “free” versions that become even more invasive to your browsing
People already have a lot of power in their machines for their non-web apps, and it is enough to run web apps as well.