
A Desktop App Idea That You Can Develop and Even Sell - nickjj
I often hear people saying they don&#x27;t know what to build, so here&#x27;s a desktop application idea that solves a real problem for people who create screencast style videos.<p>Rather than explain it, I&#x27;ve demonstrated the problem on video (~3min):<p>https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=pUmGFiAZA0s<p>The TL;DR is when your desktop resolution &gt; recording resolution you lose a lot of common Windows functionality and have to manually pixel align windows inside of recording tool constraints. I&#x27;m sure there&#x27;s Windows APIs and methods to restrict windows operations to a customized rectangle, and that&#x27;s the app you could potentially build.
======
MrLeap
I used to love writing stuff like this back in highschool, when I "knew" c++.

Now, if you were one of my customers I'd just write you an autohotkey script
to solve your problem. Monetizing 20 line AHK scripts seems sketchy, so I'll
just try to help.

Here's handy documentation that'll help you achieve what you're after.

[https://autohotkey.com/docs/commands/WinMove.htm](https://autohotkey.com/docs/commands/WinMove.htm)
<\- the main function that you'll use for window adjustment. Can bind it to a
hotkey or whatever you want. Look at events if you want it to be automatic.

[https://autohotkey.com/board/topic/54443-box-ie-draw-
simple-...](https://autohotkey.com/board/topic/54443-box-ie-draw-simple-gui-
based-boxes-on-screen/) <\- would help visualize your snap box

[https://www.autohotkey.com/docs/commands/Gui.htm](https://www.autohotkey.com/docs/commands/Gui.htm)
<\- So you can configure your snap area.

Should be an hour or two job if you're reasonably familiar with AHK.

~~~
kilian
The fact that something is a 20 line AHK script that takes you two hours
should never keep you (or anyone doing this) from monetizing the result.

~~~
MrLeap
I mean, I'd happily charge 100$ an hour to write this for someone, but to set
up a web page / stripe or whatever / splash webpage, bleh. Something in me
wants the a solution I sell to take more effort to create than the checkout
aisle.

I get what you're saying though. My attitude definitely stymies my earnings
potential. Maybe someday I'll meet a partner to aggressively monetize things
that I do that would normally be helpful freebies on the internet ;)

~~~
nickjj
I'd be down for paying you $100 to do this if you can get it to work
flawlessly as per the specifications of the explanation video. I'd also be
cool with hopping on a Hangouts to go over a more formal spec list and
expectations.

The only stipulation I have is it needs to be released under an MIT license. I
wouldn't monetize it, but I would like to openly share and distribute the
script with others (giving you credit of course).

If you're interested email me at nick.janetakis@gmail.com.

~~~
geoah
That was 100 per hour, not 100 for the whole thing.

------
Zekio
Never experienced this with OBS(1) since you can just capture each Window and
position them in OBS then have different scenes bound on hotkeys.

1: [https://obsproject.com/](https://obsproject.com/)

~~~
nickjj
With OBS it's even easier because you can down sample your 2560x1440 desktop
to 1920x1080 in real time at record time.

That's how I ended up recording my entire screen in the explanation video.

My main problem is I really don't like using OBS for pre-recorded content
since the work flow to record a video is much less efficient than with
Camtasia. Also when editing the video, Camtasia really chokes compared to
using its format as a source file and you lose out on being able to highlight
your cursor.

~~~
lichenwarp
Speaking of 1995, just turn on mouse marquee.

~~~
nickjj
Good call, and also make sure you turn on the jungle sound effects.

------
ken
I foresee two problems.

1\. It's a feature, not a product. The only use described, or that occurs to
me, is screen recording. You could spend the time to make the best possible
fit-windows-in-a-rectangle application, and the Camtasia folks could build it
in to their application and make it fully integrated (align with their magic
recording rectangle), and all your effort was for naught.

(In the Apple world, this has a name: "Sherlocking".)

2\. Resizing a window is literally a single command -- at least on the Mac,
and I assume also on other modern platforms (wmctrl, etc). I've got a bunch of
these in the "Release" folder of my application for positioning windows for
automated screenshots:

    
    
        osascript -l JavaScript -e 'Application("Safari").windows[0].bounds = {x: 100, y: 100, width: 1200, height: 800};'
    

It's not as easy to use as "click a button" but I bet I could position 3
windows faster than you could buy and download an app online. I can queue up
preset sizes/positions of windows before a screencast, too, and change them
during the recording. Unless you specifically want to show off the
maximization animation ("Welcome to 1995!"), you can just segue over it ("Now
let's look at something else...") while you double-click that shell script
off-screen.

(I say this not to suggest that everyone using a GUI app should just write
shell scripts, but to point out how easy it would be for competitors. This
would be the opposite of PG's "run upstairs" advice.)

I know what software should be written, but, like this idea, they're usually
specific features of existing software that I don't have the source code for.
What I have trouble figuring out is something to build which also has a viable
revenue stream attached.

~~~
nickjj
1\. True but Camtasia could also never release that feature.

For me personally I don't mind spending $20 or whatever if it solves a problem
that affects me on almost a daily basis (my business involves recording
software development related screencasts).

2\. Resizing is only half the battle. I already rigged up an AHK script months
ago to position things initially, but in a live coding session you often want
to be able to move windows around freely or switch between layouts (editor,
editor + terminal, terminal, editor + browser, etc.). This is where things
fall apart because it's so easy to move them out of the recording zone or end
up with a recording where a window has like a 2 pixel gap and looks off.

I suppose I could wire up about 6 or 8 hotkeys to statically position and size
those different layouts as a last resort. It's not important that people see
the animation or me resizing windows manually.

------
slashink
Interesting problem and a good video describing what you are looking for!

Although i think this is solved by using a dual monitor setup, keep your notes
on the secondary monitor and just capture the first monitor. That way you get
all the windows helpers.

~~~
nickjj
I do have dual monitors.

With the way I have everything set up, it would be very uncomfortable to
record my second monitor's screen (it's positioned in a bad spot relative to
my mic), but it would also be really bad for reading notes off of since it's
so far off to the side of where I am looking.

I could always drop my native res from 2560x1440 down to 1920x1080 on the main
recording monitor and that would 100% work, but I really like having my notes
3 inches away from where my eyes are facing when I do live coding or am
explaining something. It really makes a difference when you're recording for
~100 hours (less neck strain, less eye strain, easier to ensure good mouth to
mic positioning, etc.).

------
arendtio
Maybe you should try using a VM with special recording settings.

------
__m
Is it really a problem that hasn’t been solved though? Seems like a big gamble
to build a complete screencapturing app around a minor feature that’s easily
implemented by your competitors

~~~
nickjj
> Seems like a big gamble to build a complete screen capturing app around a
> minor feature that’s easily implemented by your competitors

It wouldn't need to record or compete with existing screen capturing tools.

It would just be something that restricts windows sizes and your mouse cursor
from being able to escape a rect of your choosing. The tricky part would be
also supporting built in Windows functionality like maximizing and splitting
windows.

It would be something you'd use in addition to existing screen recording
tools.

------
dabockster
This doesn't seem like a software problem, but an editing one. You could cut
to different recordings of the screen using a fade effect in whatever NLE
you're using to edit the video. No need to write a program for this.

Basically film the portion in the rectangle, stop, expand to full screen, then
start a new recording where you left off. Bring it all together in a video
editor like Premier or Resolve.

~~~
nickjj
Way too much effort. I'm recording for hundreds of hours, things really need
to be streamlined.

Another strategy would be to record at 2560x1440 (the full screen) and then
zoom / pan into a specific region when editing but this comes with its own set
of other problems. Mainly recording at 1440p uses a ton of disk space and
drops frames on my box.

------
wruza
If I got the idea right, I used MaxTo to easily position windows and restrict
their maximization to specified rectangles. Unfortunately, it is $20 and I’m
not used to pay on random sites, neither have throwaway paypals or cards.

Edit after watching video: not sure about full-size vs split-view in that
window, but probably achievable with alt-layout, I didn’t test it. Otherwise,
it is for you exactly.

~~~
oldsklgdfth
I made a tool like this in C# a few years ago. I made it cause at the time I
was using 4k displays with lots of real estate and the snap tool was limited.

It's not really something that's worth $20. How much would you throw at
something like that?

~~~
wruza
I don’t know since I’m not really their client (and also rarely buy such
microtools). It is nice when you position windows at predefined grid, but
moving to linux+i3/awesome/etc would be a huge gain even against $1. I’m just
too lazy until it becomes a real hassle. Also my coworker has no drivers for
linux and managing that would add extra costs.

That said, I’m not in “you have to earn hard” camp. If something solves a
critical disadvantage, then it is worth a hundred in that particular case.

------
Jaruzel
To do what you want, you'd hook the windows resize messaging hooks, and
override them. I'm not sure you can get the application to 'look' maximised
though, as you'd probably have to abort the maximise event, and override with
a resize to your constraints event.

Additionally, it's possible to lock the mouse inside a defined rectangle on
the screen, using the Windows API.

------
ploy_XIV
...or, just change your desktop resolution for the duration of the recording.
Unless your recording resolution is smaller than 1080p, I wouldn't expect this
to create usability issues with a common operating system.

------
mindfulplay
Sysinternals has this exact tool iirc....

[https://docs.microsoft.com/en-
us/sysinternals/](https://docs.microsoft.com/en-us/sysinternals/)

------
sanlyx
It seems to me it would require to hook the window procedures of all
processes, which is an ugly hack at best.

------
jamexcb
Or you can use two monitors. One to record, and other to something else!

------
amazert
Make a kick ass app and sync it with desktop app. it will sell like fire.

------
some1else
Also, you could make an app that helps hungry people get a free meal. The
software would align all the desktop windows to pixel perfect layouts, and
funnel all the profits to soup kitchens.

Edit: To clarify, I've tried streaming with OBS and never experienced this
problem. I can use the trackpad and resize handles effectively. From the
business side of things, I think the scale of the problem is so minute, there
isn't a viable revenue flow to support a single developer working on this.
Seriously, let's have a count of everyone who would purchase this app. Reply
with commitment to buy if you're interested.

