StrokesPlus.net
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Rob  
#1 Posted : Saturday, May 23, 2020 5:50:45 PM(UTC)
Rob

Rank: Administration

Reputation:

Groups: Translators, Members, Administrators
Joined: 1/11/2018(UTC)
Posts: 684
United States
Location: Tampa, FL

Thanks: 13 times
Was thanked: 155 time(s) in 134 post(s)
Someone contacted me about a citation for their thesis as a creative source, so I put this together excerpt for them. I figured it would be useful to post here as well, for historical purposes.



History

2004 - 2009
I discovered the mouse gesture program StrokeIt (https://www.tcbmi.com/strokeit/, by Jeff Doozan) and was amazed by how great it was to use gestures. It was something I simply could not stand to use a computer without from that time until today.

Throughout the years, Jeff would be missing from the StrokeIt forum for months or years at a time. There would be issues due to Windows updates or releases, and the forum users were left to their own devices to try to come up with workarounds. There would also be many requests for additional functionality which were never acknowledged or implemented in a timely manner, if at all.

I was a developer at the time, but just Visual Basic and Classic ASP – nothing low-level like C++. I wanted to make my own gesture program to offer more functionality and provide support to the users, since these were lacking in StrokeIt. However, I had absolutely no idea how to even begin to think about how I could make the logic to recognize gestures, so there was simply nothing I could do. I tried to look around for gesture code examples, but nothing was any good in comparison to StrokeIt.

March 2009 – August 2009
I came across HighSign (https://archive.codeplex.com/?p=highsign, by Dylan Vester), which was an open source application written in C#/WinForms. The gesture recognition algorithm Dylan created was simple, fast, and very accurate – plus, it was in source code form so I could actually understand how gesture recognition worked (to some degree, that is!). I joined him in working on the application for several months.

One of the biggest complaints was by folks who examine how much RAM (computer memory) .NET applications use. StrokeIt would use less than 500 kilobytes of RAM since it was a native C++ application, whereas HighSign used many megabytes of RAM. Since HighSign was still in early development, I tried to convince Dylan to switch to a native application format instead, but that was not the direction he felt was the best going forward.

I ported the C# gesture recognition code to C++ and began prototyping an application in C++, just to see if I could conceptually see if it would work. It did and I sent it to Dylan so he could see it was feasible, but it still was not something he was interested in.

July 2009 – October 2009
I parted ways with Dylan and HighSign to make my own StrokeIt alternative, I settled on the name StrokesPlus to keep it familiar with StrokeIt users – plus, the domain name was available. Having much respect for Jeff and StrokeIt, as well as Dylan and HighSign, I did not aim to make a direct competitor to either application. I instead wanted to make a far more powerful, albeit equally more complex, mouse gesture program. I would use a Lua script engine and create very granular hooks and configuration options to allow the user to completely customize their experience in whatever way they chose.

This was a massive endeavor, requiring me to learn a lot about low-level Windows API usage and C/C++ programming. I spent months just working through things to make a functional concept just to handle the events in a way which did not interfere with the user when not trying to make a gesture.

Late 2009
Jeff with StrokeIt finally released an update after several years, including a “pro” version which supported Lua scripting.

I decided based on this to abandon my StrokesPlus project.

2011 - 2013
Windows 8 pre-releases were revealing StrokeIt had some issues and needed to be updated. However, as was usual, Jeff was not responding to those complaints nor releasing any StrokeIt updates to address the issues.

I decided I would revive my development efforts and went full steam ahead. By the end of 2011, I had a fully functional beta version released. In January 2012 I released version 1.0 and listed StrokesPlus on various forums and software list sites. Over the next few months, user count picked up and growth continued.

March 2013
I had moved to a new city and went from working at home to working in an office. A lot was going on in life and I felt I could not keep up with StrokesPlus enhancement requests. I released the source on GitHub and posted in the forum (https://www.strokesplus.com/forum/topic/671/its-time).

May 2013
After a couple months, I decided I had been a little hasty in my previous decision. I deleted the repo, copies still exist by others (I’m guessing bots) for example https://github.com/minyoad/StrokesPlus.

I posted in the forum (https://www.strokesplus.com/forum/topic/691/okay-fine) that instead I planned to do a complete rewrite, as many of the challenges were the amount of effort in making new features with the complicated C++ and native WinAPI project structure. Additionally, the app was not written to support international users, when the language was not Latin-based, things behaved inconsistently.

There was no easy way to correct that without a rewrite, and I figured I would be more likely to keep up with the app if I moved to a more developer friendly platform (C#/WinForms).

March 2016
I posted on the forum (https://www.strokesplus.com/forum/topic/1168/a-new-era) about the realization of the rewrite concept, including some details and screenshots.

April 2016 – November 2017
StrokesPlus.net development continued, though not full-time. I tried my best to position the app and code in a way that supported growth and extendibility.

I chose ECMA script (JavaScript) using the Chrome V8 engine since JavaScript is globally available and easy to find endless resources on the Internet, as opposed to Lua. Additionally, ECMA script inherently supported Unicode, as does C#.

I also found Microsoft ClearScript (https://github.com/Microsoft/ClearScript) which provided a bridge between the ECMA scripts and StrokesPlus.net code, along with the ability to expose much of the .NET Framework to the script engine. This greatly increased the power and flexibility of the application, it also meant that the user community could get very advanced to handle just about anything they wanted to do, without me having to get involved (remember March 2013).

December 2017
StrokesPlus.net 0.1 released with great reception, though it took several months for the user base to grow.

January 2018 to Present
Numerous StrokesPlus.net enhancements and continue support. As of May 2020, over 12,000 people has downloaded the application and 229 users have opted to sign into the app, which allows them to keep their settings in sync via the StrokesPlus.net website.

The StrokesPlus.net forum (https://forum.strokesplus.net/) is thriving, with many users assisting each other. People are developing scripts and plug-ins for others’ requests and generally being helpful to each other, which also relieves me from the support pressure, so I do not get overwhelmed.

thanks 1 user thanked Rob for this useful post.
ML12 on 5/24/2020(UTC)
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.