Home › Forums › Game Frame › General Discussion › Game Frame integration with build servers? (GitHub, TeamCity, ..)
Tagged: rest_api build_server
- This topic has 4 replies, 2 voices, and was last updated 6 years, 5 months ago by Christophe.
October 4, 2016 at 6:38 pm #2884
I’m planning to use the v2 Game Frame in our dev team open-space as a notification/dashboard connected to our various dev/test server infrastructure, and I have (a few) questions 🙂
Anyone has any idea how this could work in practice? I of course need to wait for the wifi module to be available, for this to work. And if there is some code to write for this, this should not be a problem (as long as we can call some rest api or custom url on the gameframe from outside).
We use things like GitHub:Enterprise, TeamCity and various other solutions that all have web hooks, REST APIs, and various ways to notify us of status changes (new build starts, build or tests fails, …) that can be used to tell the Game Frame to run various specific animations (build failed, build fixed, …). I can also have some timer that polls various metrics every minute, and tells the Game Frame to display them (basic indicators, scrolling test) on the frame.
Regarding sound, are there any solutions possible? Constant bleeps and bloops would be tiring after a while (I’m looking at you, damn musical x-mas tree lights!) but for “bad” events like build failed/test failed, it could be a way to attract the attention of people to the frame? (the one who breaks the build of course has to pay for the beer 🙂 )
Last question: does anyone have any experience with using a Game Frame in an open space work environment? I wouldn’t want it to be annoying (constant blinking thing in your peripheral vision)… Are there “idle” modes that let it fade in the background (by displaying a non blinking clock?), which would make it even more obvious to anyone when it starts blinking some alert or important event? What works best: on a wall? on a desk in full view?October 4, 2016 at 7:05 pm #2885Jeremy WilliamsKeymaster
Wow these are great ideas! I’m only on mobile right now but suffice to say just about everything you want can be done, and probably with the stock firmware I plan to ship. If not, I’ll work with you to add the features you need because this is exactly what I wanted to see.
For now take a look at the Particle REST API docs.
I have functions already exposed to play animations on demand. Also the clock can be setup to never play animations unless they are called as “alerts” from the Internet.October 4, 2016 at 8:28 pm #2888
That API looks very slick 🙂 Looks like it’s easy to call custom functions or push new events.
Does the device have the notion of a playlist/queue for animations? If multiple events come in rapid succession, is it possible to let the current animation finish, but maybe clear the current queue, and replace it with new events? Would need to be able to enqueue an animation, list the queue content, clear the queue or maybe remove some animations that have not played yet? This is to prevent symptoms like my crummy GPS interrupting itself mid-sentence “Turn left on..Turn..Turn lef..turn right on… turn left on Foo boulevard…” because it’s slower to handle voiceover than the speed of the car. It would be better to be able to do the equivalent of having it say “Turn left on Foo Boulevard. *Nevermind*, please turn right on Bar boulevard *instead*” which flows better. Not sure if I make myself clear 🙂October 4, 2016 at 8:42 pm #2889Jeremy WilliamsKeymaster
Excellent question. Currently the system ignores events (I call them Alerts internally) if an alert animation is currently playing, and starts listening for new ones when it finishes.
It’s possible to queue alerts but given the limited resources a better solution might be to send an event on alert completion to your server that tells it the display is ready for another command. What do you think?October 4, 2016 at 8:44 pm #2890
Yes, that would make the queue management very easy to do server-side.
- You must be logged in to reply to this topic.