Code Monkey home page Code Monkey logo

Comments (3)

claudiusraphael avatar claudiusraphael commented on September 26, 2024

Oh one more (technical) additional question:

The captured data, do you draw it directly or is it stored as raw data, so it might even be used for reproduction for example for automated testing of Apps in Virtual Machines and to enable statistical analysis over time?

from mousetracks.

huntfx avatar huntfx commented on September 26, 2024

Hey, the tracking is done per application window if a valid executable is detected (got from the AppList.txt file), or per screen if not. Each resolution is tracked separately as raw values in a numpy array, where the image generation process will upscale everything, merge it together, convert to the RGB values and downscale again (last 2 things may be the other way around, it's been a few years since I've looked at it).

As to your specific cases:

  • Remote desktop: The app window tracking only requires an executable file, so that's easily possible.
    eg. pcoip_client.exe: Remote Desktop
  • Browser tab - It's possible but not so ideal. You can filter the executable file with a window title (you can use <*> for a wildcard, v2 will switch to regex).
    eg. chrome.exe[Play <*> Stadia<*>]: Google Stadia)
  • Toolbox inside app - Won't be possible with my current code.

Also, you mentioned you are working on a next version - any blog/changelog/issue-tracker one can follow?

It's not issues holding me back or anything, it's just that my job involves a lot of coding, so when I finish work I don't have the motivation to do any more haha. I may post on reddit if/when it's done, but I plan to upload an executable of it for a Github release too, so I reckon the best way to follow is just click the watch button and forget about it until something pops up :)

Last question: How Python-specific is it - meaning are you using patterns/functions that are exclusive to Python or do you think it can be ported (halfway easily) to a Rust/WebAssembly/Node/Deno-Combo?

Without knowing the other languages, I would say it could be written in them as the concept itself is quite simple. The save files wouldn't be compatible though as they contain numpy arrays. A wiki post on how it works is something I'd like to do, but I'll wait until v2 is more fleshed out.

The captured data, do you draw it directly or is it stored as raw data, so it might even be used for reproduction for example for automated testing of Apps in Virtual Machines and to enable statistical analysis over time?

Even though it's raw data it can't be used this way, I designed it for visualisation and not accuracy. Since it's meant to be run for months/years on end, the older data is squished down when it reaches a certain threshold, and any new data overwrites the old data.

I added a very basic history feature as I thought it'd be interesting watching an animation, but it's only meant to store a few hours, and there's much better solutions for replaying actions anyway.

from mousetracks.

claudiusraphael avatar claudiusraphael commented on September 26, 2024

Wow, this is quite a complete answer to all my questions. Insightful - and i totally understand the difficulty of doing coding privately on top of doing it for business, so no excuses needed, lol. The details you gave will allow me to follow through and grasp the projects internals, so: much thanks for taking the time!

If you don't mind, i'd like to know what environment are you coding and testing in? I prefer to set up a vm/lxc with the preferred/tested host-OS and IDE used by the developer(s) of a project to get a feel for the thought-process/workflow drizzling into the resulting code. If possible please share those details as a reference-frame and feel free to close this issue.

Thank you!

from mousetracks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.