iink SDK Web

Answered

Pricing of requests with multiple fields

Are there recommendations for structuring a form with multiple text fields? Presently if there are 15 consecutive fields on the page which support MyScript recognition, my dashboard shows the user is able to burn through 15 requests in less than a minute by filling out the form.

So far I have come up with two solutions that are not very good:

1) I can create a central recognition field and the user selects which input it will target.The downside to this is it is extra work for the user they wouldn't otherwise have to do.

2) I can craft some sort of overlay that sits on top of a large recognition field which partitions it into fake inputs. However the downside with this is once the "convert" command is fired, the formatting is lost, and the converted text no longer aligns with the overlay.


Is there an effective way to keep the request count manageable for this type of structure? As it presently functions the costs would be prohibitive for the project.


Best Answer

Dear Remi,


thank you for your contacting us and your question.


For a form use-case we recommend proceeding as you are doing, i.e. for each field, you send a REST request to our server. In order to get the best accuracy, we recommend you customize the recognition: https://developer.myscript.com/docs/interactive-ink/1.3/web/advanced/custom-recognition/


Is it possible to learn more about your project? How many monthly requests are you planning?


Best regards,


Olivier


Answer

Dear Remi,


thank you for your contacting us and your question.


For a form use-case we recommend proceeding as you are doing, i.e. for each field, you send a REST request to our server. In order to get the best accuracy, we recommend you customize the recognition: https://developer.myscript.com/docs/interactive-ink/1.3/web/advanced/custom-recognition/


Is it possible to learn more about your project? How many monthly requests are you planning?


Best regards,


Olivier

Thanks for your help Olivier. So just to make sure I understand the process correctly, if the user makes a REST call on form completion and then needs to fix an error, that would be another REST call yes? I'm just trying to think of ways to be efficient with this. In terms of potential monthly requests, near term it would be between 10k to 100k. Rough math says that if I achieved 10% market penetration with anticipated use it would be approximately 18 million requests per month as it currently is designed. I'm hoping with some design changes I could reasonably reduce that to 3 or 4 million for the same number of users.

Dear Remi,


If I understand well, your form is interactive, i.e. written on a table or similar interactive device?


If so, then the REST API is not the best solution, and we recommend you use the webSocket instead. You can refer to the following sample that deals with several fields using 2 editors :https://github.com/MyScript/MyScriptJS/blob/master/examples/v4/multiple_inputs.html


Knowing your exact use-case, we will be able to provide with a more accurate answer.


Best regards,


Olivier

Thanks again for your help Olivier. 

To some extent I am being vague since this is a public forum, however the intent of having multiple editors is to mimic the experience of a paper form on a tablet. 

If for example the user fills out 10 sections with the following headers: 

-name 

-mobile number 

-favorite color 

-age 

-eye color 

Etc... 

The issue I have with the websockets is that 10 fields racks up 10 websocket requests minimum per use. For the field "mobile number" I use a subset knowledge that limits to numbers only. For "name" the SK includes no numbers. I have tried putting a common editor behind two labels of "mobile number" and "name", but then I can't use an SK. 

Also, when the covert command fires I do not see a way to modify the text jiix array to maintain coordinates in this case. Right now if I use an editor that spans the width of the page, and the left side has a label on top with "mobile number" and the right has "name", when I issue the convert command the user's writing all moves to the left side. 

Is this a better explanation or do you need code to better see what I am trying to do? Part of the difficulty in showing code is it is written in react and fairly modular with many components. I really appreciate all your help with this. Thank you.

I have attached a sample image of the format I am trying to achieve. Each grey box is currently a separate editor that automatically converts writing to text once the user begins writing in the next box.

image


Is there a way to efficiently consolidate this to avoid so many websocket requests?