Monday, February 25, 2019

QuacScript

I quickly understood Quac is basically an always-on desktop version of a mobile app (width of 360px, mobile has usually 320px, so it fits nicely), permanently active. There's a lot of potential.

For games, a modding community can sometimes create an unbelieveable new experiences for gamers, and some mods even evolved to standalone titles (like Counter-StrikeDayZDota 2PUBG and more). So I'm aware of importance of customizability.

Everything is in config, even some entries may be kept undocumented.

JS Extensions for timeline stuff: mouse drag scroll, keyboard control. Extensions market.

DLL plugins, dynamic loading of plugins, internal API for the app. Plugin market.

The most “revolutionary” idea for Quac I had is the purpose of DLL plugins to manipulate with items in the timeline. Most common scenario is adding new items after refresh, but it could also filter items, sort items etc. Therefore I wouldn't have to implement all of these into the app itself and user could enable whichever he/she wants.

Monday, February 18, 2019

QuacFeatures

After my decision to use HTML instead of WPF for Quac timeline it occured to me, that would be possible to display the timeline in web browsers as well, e.g. in a sidebar, as I had before. I was really excited about this possibility, so I started to elaborate on this feature.

It would be nice, if Quac would act like a headless engine for generating the timeline for browser to show it. Therefore Quac would need to know, when the browser got the timeline, which may be tricky for a static file. But why bother, when I already knew how to create a web server in C#?

It's really nothing difficult, there's HttpListener class for that, so the whole WebServer class has about 100 lines. I got it up and running in no time. Quac will sit in the systray and when the update comes, the notification icon lits up and user displays the timeline in a browser. The request from browser will tell Quac to mark that update as seen and to turn off the notification icon. Simple as that.

Speaking of the notification icon, it will be dynamic and change itself according to the situation it wants to broadcast – like there's timeline update, there's an error, a warning, time's up, you got mail or such. I'll probably leave them just as .ico files, so users would be free to mix and match icons as they wish.

Plugins will have the ability to change it, so if somebody creates an online thermometer plugin and shows the current temperature in the icon, it will be possible.

Monday, February 11, 2019

QuacOAuth

I've always had a worry about implementing OAuth, because everywhere I looked they wrote how difficult and hassle it is. But now I had no other choice, because without OAuth it works only for the dev account and I don't want to force my users to create a developer account :-)

Twitter OAuth not that difficult, use PIN for now, until website is complete.

Monday, February 4, 2019

QuacTweetsSend

…label border radius found a nice answer on StackOverflow and another for auto-height textbox.