Live data from Hacker News

Wildcard: Spreadsheet-Driven Customization of Web Applications

geoffreylitt.com

31–40 of 55 posts

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#31

I don't think this can work. It seems to rely on a willingness of the company owning the data to disclose their full data set up you. Currently, with things like GraphQL, we are moving in the opposite direction in that the server only sends you those columns that are absolutely required to fill the fields in your GUI. Since they used it as the example, I don't see any incentive for AirBnb to let random people on the…

You're absolutely right that limited data access and pagination exclude certain types of modifications.

So far, we've decided to defer thinking about that limitation, and first focus on other questions like getting the spreadsheet interactions right. We're making new site adapters every week and finding that we can build lots of useful modifications for ourselves which work even with only one page of a paginated list. For one example, see my demo of modifying HN front page [1], which I find useful even though it only loads the current front page articles.

At some point, we're considering adding more features around fetching subsequent pages of a table (as explored in Sifter [2], which sorts an entire list of search results across pagination boundaries) or scraping each detail page from a table (as explored in Helena [3]).

[1]: https://twitter.com/geoffreylitt/status/1229251217118892032

[2]: https://doi.org/10.1145/1166253.1166274

[3]: http://helena-lang.org/

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#32
Spreadsheet-Driven Customization is a great way to enable non-technical users to customize and configure software.

I used that technique for a one-off Java application back in 2011. The Java application did not do any live synchronization with the spreadsheet like Wildcard does. It just read the spreadsheet at application start-up to get configuration data needed to drive the application logic.

Spreadsheet-driven customization allowed the application's users to edit the spreadsheet to grow and maintain the dataset that drove the application logic.

I would not be surprised if others have done something similar before me.

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#34

Wow, I absolutely love this concept. It is messy and overly ambitious, but promises something like a return to the "view source" mindset of the old web - where data was in plain sight and anyone curious and a little tenacious could reshape the web for their own needs. I have gone partway down this path for a related concept, and browser extensions are really the only way to go. The biggest risk and hassle is a relian…

Thanks! "View source mindset" is a nice word for what we're trying to promote with this project.

Brittle site-specific logic is indeed a challenge. So far we've started with the simplest thing possible of programmers manually writing scraping code, so we can focus on how the system works once you have the data available. That has been enough to test the system out and build lots of useful modifications ourselves.

I think eventually some degree of automation will be an important way to help end users use this tool with any website. The "wrapper induction" problem has been well studied and there are lots of working solutions for end-user web scraping, so I expect to be able to integrate some of that work.

We're also interested in a community of shared scrapers, but as you point out there are security considerations. I'm considering trying central code review from the project to approve new site adapters and make sure they aren't doing anything obviously malicious. Another solution could be carefully restricting the expressivity of our scraping system (eg only specify CSS selectors, no arbitrary code) but I doubt that would be sufficient for all cases. Would appreciate any suggestions here.

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#35
post #26

I don't get it. We have custom web frontends because we feel our problems can be solved more efficiently in UIs different from a spreadsheet, don't we? Granted, not every custom UI is better than its spreadsheet version would be. But thats a different problem. Otherwise, there are a lot of react datagrid and spreadsheet components to use if you feel that would be the best UI solution for your app. Am I missing someth…

The goals of the site builder and the end user are unfortunately not always the same. Airbnb doesn't want the user to have too much control (sorting by dollars), Facebook and Google also come to mind (being able to easily filter out ads would be great).

This browser extension is targeted at the end user.

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#36

This absolutely blew my mind. However, aren't these sorts of custom views limited to things which work well as rows and columns?

Yes, you're right! In practice, though, we're finding that many useful customizations can fit into that framework. For example, the Expedia demo in the paper shows a "1 row table" to represent an input form. It's worth thinking about how many different things people use spreadsheets for...

I think another useful analogy for thinking about abstract data representations is text streams in UNIX. It turns out many types of data can be represented as newline-delimited text, which enables you to use a suite of generic tools with that data. Inevitably, some data doesn't fit into that format, but it's perhaps surprising how much does.

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#37
post #15

I've been following this lab's work for a while and actually suggested to them that the implementation for this be based on an RDF style data model. Ontology languages are the level of abstraction up from a spreadsheet and are an atomic unit in semantic web technologies. It looks like the way this fits in to the existing architecture is that the site adapters would extract data as RDF triples. Professor Daniel Jackso…

Thanks for the recommendation, I just picked it up from amazon! I was expecting an expensive textbook but it's surprisingly cheap, only $6 for a paperback copy

Just FYI, the version on Amazon is a draft preprint, and he's currently revising it towards the actual publication.

(But even the draft version is a fantastic read!)

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#38
post #26

I don't get it. We have custom web frontends because we feel our problems can be solved more efficiently in UIs different from a spreadsheet, don't we? Granted, not every custom UI is better than its spreadsheet version would be. But thats a different problem. Otherwise, there are a lot of react datagrid and spreadsheet components to use if you feel that would be the best UI solution for your app. Am I missing someth…

It’s not really true that we have custom front-ends because they are best for the user. Consider the example of AirBnB in the article and the fact that in 2012 they stopped allowing ranking by price: one has to assume that if a feature has been absent for eight years there’s no intention to reimplement it (presumably because it behooves the company to have it absent). I’m guessing that AirBnB knows/believes that the absence of this feature leads users to choose slightly more expensive properties and this generates more income. The spreadsheet intercept allows the user to regain control.

Re: Wildcard: Spreadsheet-Driven Customization of Web Applications

#39
This is very cool!

While I'm biased [-], I think this only scratches the surface of what spreadsheets can do.

What if spreadsheets could be used to create all software? Could the software be of the same quality & sophistication as that built with code?

To fellow readers on HN -- what do you think, is it possible?

[-] Founder of MintData, https://mintdata.com

Post reply on HN