danhett / ch-hostapp Goto Github PK
View Code? Open in Web Editor NEWThe host application for the Cornerhouse Scribbler installation project, created for Cornerhouse Manchester.
License: MIT License
The host application for the Cornerhouse Scribbler installation project, created for Cornerhouse Manchester.
License: MIT License
There are a bunch of settings that it's likely we're going to need to adjust as the project takes shape - it'll be easier to maintain a configuration file somewhere that will allow us to override the app's settings. This will include things like timeouts for spam filtering, database details, and possibly even a killswitch of sorts so we can block the app from updating while we're doing something with it.
This will give us profanity checking, and rate limiting.
App should create required directories if none are found, and app should also push to a none-printing folder for testing
{
"_id": {
"$oid": "54a813059ecaa3082cbc77b5"
},
"hasPrinted": true,
"submitDate": "3rd January 2015",
"submitter": "Dan Hett",
"message": "Favourite thing about the Cornerhouse? COFFEE!"
}
Currently long hashtags and other words cause graphical artefacts. Fix!
High volumes of repeat messages must not be allowed from the same twitter account or unique device (techniques for uniquely identifying devices is still up for debate). The actual timeout period is planned to be externally configurable.
Still possible to do the line break bug, experiment further!
Certain accounts (for promo purposes) shouldn't trigger prints
Self explanatory, textfield display needs to update when lines are pushed into it. Something like textfield.scrollV = textfield.maxScrollV
If the machine is booted up, the app (and any of it's dependencies) should start up in one clean action for the user - currently I see this as being the executable and also a script monitoring a folder of images to be printed, which should also start up automatically and run.
For completeness, incoming tweets should be added to the database and logged as regular entries. This will ensure we have a single clean reference point for the messages and eliminates a reliance on a twitter feed - in other words, tweets should be incoming messages but Twitter itself should not serve as an archive
Additionally the app must ensure that we're not pushing the same tweets into the DB repeatedly.
Something kills the app when starting up, looks related to connection state. Check into it and catch appropriately! (probably the mongoDB stuff)
Currently the phrase "cornerhousescribbler" is searched for - it should be the full hashtag
Currently it looks like tweets are being pushed twice, and it's possible this is happening while it's doing tons of requests. Needs testing!
When set to test/live, app should point at different directories and databases! Test data should go to ch-test, and should output to a test directory. Configurable via config.xml
Traces all over the place, no good
This thing will be running for ages, and probably over wifi - it definitely needs some handling to reconnect properly in the event of a dropout.
Suggest having some clear connection status 'lights' on the UI - certainly for wifi connected state and database connection state. Also considering setting up some alert system in the event that the app encounters many drop-outs over a given time period.
Messages can currently be formatted oddly by users who insert line breaks, these should be removed before the scaling happens.
Before pushing tweets into the DB, use Rick's profanity check to see if they're sweary or not.
In order to ensure incoming messages are not duplicated, we need to ensure that we can robustly check the DB for the entry if it already exists. I see this as being a search for both incoming username/deviceID (for tweets and regular messages respectively) plus the message content itself. This will prevent false positives for scenarios where we get the same message from different people ("hi cornerhouse!")
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.