We’ve been working on a browser-based Link Graph (osint) analysis tool for months now (https://webvetted.com/workbench). The graph charting tools on the market are pretty basic for the kind of charting we are looking to do (think 1000s of connected/disconnected nodes/edges. Being able to handle 1M points is a dream.
That's a cool project! Just checked out the workbench. I should be upfront though: ChartGPU is currently focused on traditional 2D charts (line, bar, scatter, candlestick, etc.), not graph/network visualization with nodes and edges. That said, the WebGPU rendering patterns would translate well to force-directed graphs. The scatter renderer already handles thousands of instanced points - extending that to edges wouldn't be a huge leap architecturally.
Is graph visualization something you'd want as part of ChartGPU, or would a separate "GraphGPU" type library make more sense? Curious how you're thinking about it.
Really fantastic work! Can't wait to play around with your library. I did a lot of work on this at a past job long ago and the state of JS tooling was so inadequate at the time we ended up building an in-house Scala visualization library to pre-render charts...
More directly relevant, I haven't looked at the D3 internals for a decade, but I wonder if it might be tractable to use your library as a GPU rendering engine. I guess the big question for the future of your project is whether you want to focus on the performance side of certain primitives or expand the library to encompass all the various types of charts/customization that users might want. Probably that would just be a different project entirely/a nightmare, but if feasible even for a subset of D3 you would get infinitely customizable charts "for free." https://github.com/d3/d3-shape might be a place to look.
In my past life, the most tedious aspect of building such a tool was how different graph standards and expectations are across different communities (data science, finance, economics, natural sciences, etc). Don't get me started about finance's love for double y-axis charts... You're probably familiar with it, but https://www.amazon.com/Grammar-Graphics-Statistics-Computing... is fantastic if you continue on your own path chart-wise and you're looking for inspiration.
Thanks - and great question about direction. My current thinking: Focus on performance-first primitives for the core library. The goal is "make fast charts easy" not "make every chart possible." There are already great libraries for infinite customization (D3, Observable Plot) - but they struggle at scale.
That said, the ECharts-style declarative API is intentionally designed to be "batteries included" for common cases. So it's a balance: the primitives are fast, but you get sensible defaults for the 80% use case without configuring everything. Double y-axis is a great example - that's on the roadmap because it's so common in finance and IoT dashboards. Same with annotations, reference lines, etc. Haven't read the Grammar of Graphics book but it's been on my list - I'll bump it up. And d3-shape is a great reference for the path generation patterns. Thanks for the pointers!
Question: What chart types or customization would be most valuable for your use cases?
Most of my use cases these days are for hobby projects, which I would bucket into the "data science"/"data journalism" category. I think this is the easiest audience to develop for, since people usually don't have any strict disciplinary norms apart from clean and sensible design. I mention double y-axes because in my own past library I stupidly assumed no sensible person would want such a chart -- only to have to rearchitect my rendering engine once I learned it was one of the most popular charts in finance.
That is, you're definitely developing the tool in a direction that I and I think most Hacker News readers will appreciate and it sounds like you're already thinking about some of the most common "extravagances" (annotations, reference lines, double y-axis etc). As OP mentioned, I think there's a big need for more performant client-side graph visualization libraries, but that's really a different project. Last I looked, you're still essentially stuck with graphviz prerendering for large enough graphs...
Ha - the double y-axis story is exactly why I want to get it right. Better to build it in properly than bolt it on later.
"Data science/data journalism" is a great way to frame the target audience. Clean defaults, sensible design, fast enough that the tool disappears and you just see the data.
And yeah, graphviz keeps coming up in this thread - clearly a gap in the ecosystem. Might be a future project, but want to nail the 2D charting story first and foremost.
Thanks for the thoughtful feedback - this is exactly the kind of input that shapes the roadmap.
You may enjoy Graphistry (eg, pygraphistry, GraphistryJS), where our users regularly do 1M+ graph elements interactively, such as for event & entity data. Webgl frontend, GPU server backend for layouts too intense for frontend. We have been working on stability over the last year with large-scale rollout users (esp cyber, IT, social, finance, and supply chain), and now working on the next 10X+ of visual scaling. Python version: https://github.com/graphistry/pygraphistry . It includes many of the various tricks mentioned here, like GPU hitmapping, and we helped build various popular libs like apache arrow for making this work end-to-end :)
Most recently adding to the family is our open source GFQL graph language & engine layer (cypher on GPUs, including various dataframe & binary format support for fast & easy large data loading), and under the louie.ai umbrella, piloting genAI extensions
my 2 cents: I'm one of these people that could possibly use your tool. However, the website doesnt give me much info. I'd urge you to add some more pages that showcase the product and what it can do with more detail. Would help capture more people imo.
We’ve been experiencing the same thing. On further inspection, we discovered that the owner of the data centers was Tencent. So we blocked them at the ASN level across countries.
This was after web had to geo block China & Singapore some weeks earlier.
These AI scraping guys are destroying the web for normal folks in these countries where they run data scrapers.
Did they really have to geo-block entire countries? I think the blocks of unrelated users is what's really affecting normal folks and that's the choice of operators.
It's like if you had incidents with a few violent drunk Brovanians in your town, then saying it's those few peoples fault that Brovanians are now being discriminated against and are being banned from entering shops just because they come from the same place as the vandals.
Site operators arbitrarily blocking entire countries due to a few botters (albeit with a lot of bots) causing issues aren't without responsibility in the loss of an open web.
You have a choice in how to respond and where to draw lines. We can't just throw up our hands and blame the botters.
the service is a suite of online vetting and due diligence tools for website flippers, Fb marketplace sellers/buyers and Tiktok shoppers
The domain has an interesting backstory. I acquired if it n 2022 from Epik after they stole the $10,000 I had deposited into their Escrow service. The money was meant for acquiring a newish stable diffusion hosting website that was competing with civit.ai. When the Epik issue was discovered, the seller pulled out.
Acquiring that website could have changed my life.
One thing this really points out to me is how no one really believes in anything. Bernie Sanders position today is markedly different from this 2011 position only because of current party affiliation
As someone who has primarily used Laravel for almost 10years, this makes me sad. Laravel being venture backed will put all sorts of pressure on the company and force the project to be modified in so many ways to justify the capital raised. From my knowledge, the company was churning along quite well. I wonder what the money raised will be used for.
You can already do this on PC using the Windows Subsystem for Android. The major issue surrounding WSA was that it was too technical to setup for most PC users so we built an app for our non-technical users to solve this. Right now, Google building a standalone app for only Android games (people use Android apps fairly on par with games on PC) and then insisting on a slow rollout will most likely make the product go nowhere.
Calling this now. This is a likely candidate for the Google graveyard.
Windows 10 (v2004)
Solid state drive (SSD) with 10 GB of available storage space
IntelⓇ UHD Graphics 630 GPU or comparable
4 CPU physical cores (some games require an Intel CPU)
8 GB of RAM
Windows admin account
Hardware virtualization must be turned on"
But really, there's already a wealth of android emulators for Windows.
The purpose of this release, from Google's point of view, is to displace BlueStacks. For as long as I remember, BlueStacks would sell developers all sorts of ecosystem toxic services, like triggering the emulators to download Google Play games to boost download counts.
The automation in bulestack and sorts are pretty great for time saving and farming rewards in Android games. It helps to skip the grinding and let u play the interesting bit. Not sure if google supports that
ASW is actually pretty bad on Win11. I've bypassed and side loaded normal stuff but it doesn't have Google play services so most things fail to properly function. Other than that it runs like a dog on a machine with a 5800x, 64gb ram, 6750x GPU. it's not really ready for prime time.
Does Windows Subsystem allow you to log in with your Google account? That's a big thing here - not just Android compatibility, but the fact that it's part of Google Play Games, so I assume cloud-saved savegames and the like will be working here.
Really love WSA compared to other emulators. Fully integrated into OS - including notifications.
Was looking at some way to get good openstreetmaps app on windows tablet (pretty much all windows mapping apps sucks), and with WSA i can run good old osmand or organicmaps. Needs better way to install APKs, though. And proper settings interface with permissions management and etc.
Last I checked (early this week) you couldn't use WSfA officially with the play store, only a small store and it was useless for me. There were some hacked versions that supposedly worked with the play store but you had to install a .exe from a YouTube video which doesn't seem that safe.
What's sad is that this Android support on Windows Mobile was actually really good. I had a demo device with an experimental build and Android apps were only as sluggish as... well... Android. A Microsoft run by a CEO with more backbone wouldn't have caved and started selling Androids.
> A Microsoft run by a CEO with more backbone wouldn't have caved and started selling Androids
Maybe Microsoft shouldn't have filed an Amicus brief in aupport of API copyrightability (lower court Google v. Oracle) while implementing Androids APIs.
If the Supreme court had ruled the other way, the brief itself would have been Google's first exhibit for willful infringement. Granted, Microsoft filed adopted the opposite view in their Amicus on the appeal to SCOTUS
Are you saying that because Google wont be invested in this and trying to figure out how to make money off it, that will be what kills it in the end? Seems right.
What I’m saying is that the product landscape is already quite mature. The product adds nothing new or spectacular to the landscape. They will struggle with internal motivation to maintain an also-ran product.
What are the current products in this space? I am aware of Bluestacks, I used to use that a while ago. Have not kept up with competition, so this looks like a good starting point for me to get back into it.
I agree, as someone who uses emulators to play mobile games often I don’t see any compelling reason to migrate from my current setup to use this. I’d probably just lose some functionality like the ability to record macros
It looks like they work by patching the WSA installer to get root ?
There's a leap of trust needed, as we'd be putting our google credentials into it, but I guess that's par for the course for what is kind of a jailbreak.
While it's not necessarily a jailbreak (the OS itself isn't the one preventing you from messing with these files) it's very close to injecting Google Play into an Android ROM that doesn't come with it (like custom ROMs, or maybe Chinese import phones).
Google Play isn't just an app you install, you to give it quite a few system level permissions for it to work right. Without root access and a patched system image, Google Play simply can't work right.
Compare it to getting Apple's iPadOS store to work on macOS or iOS. You can't just extract an .ipa and install it like with other apps, you need to modify the surrounding system and drag over some support libraries or the entire thing won't even be able to start. Or try installing Windows 11's file explorer on Windows 10, you'll need the same level of messing about with dependencies and system integration.
One major difference between the unofficial method and the Google method is that there's an API Google uses for remote attestation (SafetyNet) that requires root access to sort-of bypass, but can't be bypassed entirely. If Google's package contains the code to certify the PCs running it, that'd make DRM compatibility possible without hacks upon hacks.
My mental image was closer to a system framework, like adding node.js with npm, assuming that it wouldn't come with the more security restricted parts (NFC access etc) either way.
Yeah it isn't straightforward and you put trust in the community sort of thing. I've forked a previous version of one of the repos that has a GitHub workflow to build it automatically and have gone through that to make sure it's clean. I can make suggestions as to a repo to use but mine is private since they get DMCA notices I believe.
If you go back in the commit history far enough you can find when the actions workflow files were deleted. I used that (and other repos found via search) to set up the auto builds on mine.
I found that just installing the APKs necessary for a Fire 10 HD works (services, frameworks, etc). You can't use the true Google Play Store but Aurora store seems fine. I only tested this on an ARM64 device so perhaps it falls flat on x64 systems.
BlueStacks has recently ramped up the number of ads. It seems like the management know their days are numbered and are seeking to maximise remaining revenues.
We’ve been working on a browser-based Link Graph (osint) analysis tool for months now (https://webvetted.com/workbench). The graph charting tools on the market are pretty basic for the kind of charting we are looking to do (think 1000s of connected/disconnected nodes/edges. Being able to handle 1M points is a dream.
This will come in very handy.
reply