Project Assistance

Feb 24, 2009 at 2:41 PM
Hi Dylan,

   First of all, I want to thank and congratulate you for developing the High Sign core.  I have used StrokeIt for the past 5 years now and can't live without it.  I'm quite disappointed in Jeff's abandonment of StrokeIt's development and his lack of at least opening it up since he's given up on it.  I could understand initially, but now that it's become unstable and dormant, I don't see him cashing in on his hard work anymore...

   Anyway, I want to let you know that I've downloaded the source and will be familiarizing myself with the structure and design style; I will commit to helping in the future development of High Sign in any way I can.  I am very familiar with the inner workings on Windows, I actually did some development for the Emerge Desktop SourceForge project (Windows shell replacement) and made a few crude attempts to make a StrokeIt replacement a while back, researching neural networks, etc.  :-)

   Thank you for getting the ball rolling on this project, I think it's high time that something like High Sign came along!


Robert Larkin
Coordinator
Feb 24, 2009 at 5:26 PM
Robert,

This is fantastic news, thanks for your interest in High Sign. I take the project very serious and am proud of what I've accomplished so far. With an additional developer, things can move a lot faster. I will definitely add you to the project. Was there a specific area you'd like to start on? Currently there is a desperate need for plugins. If you've had a chance to use the program for any time, I'd like to know your thoughts about the current state of functionality, also your thoughts on the GUI and placement of features. I believe the recognition engine I wrote works very well is accurate while maintaining a high fault tolerance. High Sign is productivity software, so usability is extremely important for me. I want it to work smart, so any suggestions you have would be greatly appriciated.

I have big dreams for the plugin system, I won't go into detail here what I'm thinking for it, but I think once the new features are completely implemented, that the type of plugins we can develop will have the abililty to do some amazing things.

Thank you big time for joining the project. I will try to be as transparent as possible.

Dylan Vester
Feb 24, 2009 at 6:39 PM
I agree, the engine works very well.  I also think you've done very well with the interface, it's clean, intuitive, highly usable, and aesthetically pleasing.  I'd be happy to work on plugins, seems like a safe and fitting area considering their external type of interaction with the core (well, an assumption still at this point as I haven't gone through the code just yet).

I would say the one obvious piece that appears to be missing is the chaining of actions as StrokeIt does, unless this is something that isn't obvious in the UI already.  For example, having an action that launches a program, enters a login/password, and resizes the window all in one gesture.

Also, the one thing that I would've done anything for in StrokeIt would have been a conditional action.  I know, sounds pretty complicated, huh?  But there were several times where I wanted an action to do something different depending on, say, the caption of the window for example.  The idea would be that the conditional action itself (or plugin) would reference the available plugins and maintain a sequence of what to fire depending on the result of the condition; including itself, so you could nest actions/conditions as much as you want.  I would imagine the plugin would include its own subset of modules for testing certain conditions, each one essentially a plugin to the plugin for flex/scaleability.  I haven't thought out the technical aspects, etc, but I think it would bring something to the table that no other gesture program I'm aware of even comes close to touching.  Of course, this is more of a power user feature, but I think that's the majority of gesture program users.

I'll have a chance to go through the code in-depth later this evening and get a feel for how things work.

Thanks again!

Robert Larkin
Coordinator
Feb 24, 2009 at 6:52 PM
Robert,

The chaining of actions is something I've been thinking about for a while, for example, when I first started High Sign the interface would of had the ability to chain actions. This was removed because at the time I wanted the interface to be really straight forward, "What'd you draw?", "What do you want to control?", and "What do you want it to do?". This has worked great up till now, but after using it regularly, there have been so many times when I've wanted to have multiple actions associated with a gesture. As for as the way I store gestures and actions, this is already in place. I think the interface just needs to change to accommodate adding multiple actions. Perhaps now that I've fixed all the issue in the issue tracker, I can start working on this piece while you expand the plugin library.

As for the conditional actions, this could actually be suplemented by having multi actions per gesture. Meaning, that if the user wanted an action to be executed once a condition is met, all we have to do is create a plugin that allows the configuration and checking of one or multiple conditions and then have a way for actions to prevent the next from running. That way, if the first action in the list is the one that checks the condition, and the condition was met, it would allow the next action to execute, otherwise it would stop the chain right there. I think it would actually be pretty straight forward.

I'll also be online later to night, if you have any questions. You should have read/write access to the codebase now.

Welcome to the Project!

Dylan Vester
Feb 24, 2009 at 7:01 PM
Sounds like a good solution.  I definitely think the action interface should start assuming no chaining, to maintain its simplistic nature, and perhaps have an "advanced" option or something to present the more complicated version of that UI.

Are there any particular plugins you'd like me to start on?  Obviously I'd like to start with a plugin having the widest appeal, but I'm not sure what/if you may have already started.  It's been a while since I used SVN/contributed, so I'll stay out of the codebase initially and have you review the first plugin to ensure it's in line with the rest of the project; then I'll set things up for SVN.


Thanks,

Robert Larkin
Coordinator
Feb 24, 2009 at 7:33 PM
I also think that the "two-part" action configuration is the way to go. As far as which plugin to start on, I'd like to see one for changing the volume, audio notification for successful and unsuccessful gestures, multi monitor plugins (switching an application between monitors), or perhaps a "cheat sheet" plugin that allows you to draw a gesture on an application and it will show which gestures are available for that application. These are just some I've had in mind for a while. The plugin development is pretty encapsulated, because each plugin is represented by one class, so it shouldn't interfere with anything I'm doing. You could always branch the project and then we can merge your branch after I have a look. That's the nice part about source control, nothing is permenant.

If you can think of any plugins that you'd rather work on, then let me know what you're thinking, and have a go at it.

It might be helpful if you give me a little background information on yourself (i.e. particular skills, experience level, platform affinity, etc...). That way I can guage what part you might work best on. What do ya think?

Dylan Vester
Feb 24, 2009 at 7:54 PM
Edited Feb 24, 2009 at 7:56 PM
I've touched a little in a lot of different areas.  But I would say my strongest skills are in VB.NET; I've done some C#, so I'm not concerned with the curve, especially since I will be able to emulate what you've done in other plugins.  As I said before, I am very familiar with the inner workings of Windows and its API (messages, classes, etc.), I've been working with Windows since 3.0 when it was new and since VB4.  I've done some quite extensive things with VB over the years (API, callbacks, subclassing, etc), so don't get the wrong impression  =P    The VB.NET tool that I started to make for gestures wound up being a multi-faceted program that would minimize windows to the tray, support key combinations to perform various function as StrokeIt does (sending messages to windows, resizing, sendkeys, handle multiple monitor functions, etc.) as well as an autohide address like bar that would retain clipboard history (like Ditto), accept calculation formulas, do conversions (like hex to int, etc), and a variety of other things... almost everything BUT handle gestures =)  I have done some C++ from time to time, especially for the Emerge Desktop project as well.

Robert Larkin

EDIT:  Oh yeah, I'll start with volume, seems like a fairly benign plugin  =)
Coordinator
Feb 24, 2009 at 8:04 PM
Sounds like you'll be a fantastic resource on the project. Once you kind of get up to speed on the project, I think it would help to have you take a look at some of the core pieces, such as the MouseCapture class, and the Surface class. Those are the pieces of the core that touch the windows API and perhaps there are certain things I can improve on. My strategy so far has been to get the core pieces working really well, and then I'd add plugins once I felt that the core was rock solid. But if we can do paralell development and hit this thing from both ends, then we could be ready for a beta soon. My weak point is the Windows API, but I've learned enough to get High Sign to were it is. I love working on the project and I think there are so many people that could benifit from it.

Note: Have a look in the ManagedWinAPI project, it's basically a wrapper for P/Invoke calls, it's got a lot of stuff in there (including volume stuff). Might be a good place to start.

Dylan Vester
Coordinator
Feb 24, 2009 at 10:50 PM
Robert,

Just wondering, do you have an type of instant messenger? MSN, Yahoo, Google, AIM?

Dylan Vester
Apr 9, 2009 at 8:58 PM
i want to contribute too. how can join.~3cbr /~3e
Coordinator
Apr 10, 2009 at 7:16 PM
firegift,

I always welcome new contributors to the project. If you could though, can you tell me a little bit about your background, and how you'd like to help on the project?

Dylan Vester
Apr 11, 2009 at 9:07 PM
i~27m a student studying comp engineerging.~3cbr /~3e i want do design the user interface ~21~21~21~3cbr /~3e ~3cbr /~3e i try to make a tool i use ~28i~27m using a tablet pc~29.~3cbr /~3e ~3cbr /~3e so i~22m trying to make the interface geared towards the pen~2c not just mouse. ~3cbr /~3e
Coordinator
Apr 14, 2009 at 11:33 PM
firegift,

Real quick, can I ask what's up with the "entities" in your posts?

Otherwise, I'd be great to bring a user interface developer on board!

Dylan Vester
Apr 15, 2009 at 2:17 AM
i dont know. something wrong with special characters not converting properly. only happens on this site.~3cbr /~3e