📜 ⬆️ ⬇️

CloudShot - DropBox Screenshot

image
I thought for a long time how to call this post as a result I had to.

What I want to talk about


This post is about the program.

A very small program that I wrote primarily for myself.
About a small screenshot that can integrate with Dropbox.
But I do not want to promote anything; screenshots are full, full screenshots are much better than mine.
The purpose of this post, to make out mistakes.

')

About the idea


The programmer must solve problems not only public, but also his own.

At work, we constantly use a great program for taking screenshots of gyazo.
Our version of gyazo uploads screenshots to the company's internal server and then I can’t manage them anymore.
I also wanted to be able to control the lifetime of the screenshots and at the same time just as easy to fumble them by url as gyazo can , but since I actively use dropbox with him and it was decided to be friends.

Error number 1: Inattention


The screenshot will upload the screens directly to the dropbox server.

Conveniently, because I can install it on a computer on which the dropbox client is not installed, while all the screens will fall into the desired folder in the dropbox.
I downloaded DropNet and the first version of the screenshot screenshot was ready in a day. An exact copy of Gyazo, but integrated into Dropbox.
Everything would be fine if it were not for this dropbox restriction.
image
The program worked fine with AppKey for developers, but it did not go up = =

Mistake number 2: complication


I realized that the problem with the dropbox must be solved from the other end.

Then I removed the authorization form and made a field in the settings to enter the userId user.
The user had to copy the public link and paste it into this field.
I ripped out the userId link and could form a public link.
The solution is clumsy, complex and repulsive to users of its curvature.

Mistake number 3: Dependence on stereotypes


image
I want to take a screenshot of a region, window, or full screen.

Having studied various screenshots, I decided to do as everywhere, three hotkeys and a window-helper with buttons for each type of screenshot.

The decision is stupid. You need to think once again what type of screenshot you need and choose one of the options.

Another mistake


I want to be able to take screenshots of the menu and tooltips.

Most of the screenshots work on this principle:
  1. We press hotkey
  2. choose what to photograph
  3. take pictures

The problem is that at the stage number 2 we have the opportunity to skins the menu and tooltip, because they will be lost due to loss of focus = (

I decided to enter a delay in seconds, until the screen capture takes place . Those. the user must click something like the “Delayed Screenshot” button and in a short time bring the workspace to the desired state.
The decision is wrong. What if the user does not have time? What if it does everything very quickly and you have to wait until the program takes a screenshot? Yes, this is just a few seconds, but it will be annoying if you need to take a few tultips in a row.

Error N: Impatience


I want the public screenshot to open automatically in the browser

The error was that after saving, I immediately opened the url in the browser and the user saw Error 404, because dropbox client has not had time to upload the file to the server.

I'm already tired of writing about errors


I want to talk about the solutions found.



The program has a few more convenience, such as viewing a list of recently taken screenshots and the ability to change the basic settings.

Those who read


The project decided to do open, t.ch. everyone can see my shoals in the code =)
Link to the project page on codeplex
At the moment, it is distributed as a ClickOnce application, but I can also make an installer.

PS
Many thanks to my colleagues for interesting ideas and help in testing.
Surely there are mistakes in CloudShot, do not kick for them much, but better write it down and I will correct them as far as possible;)

Source: https://habr.com/ru/post/127815/


All Articles