Hello! I want to tell you how we did the automatic issuance of 70 mobile test devices, and stopped wondering "who has the pink iPhone 6".
Previously, the test gadget had to be searched for in a notebook or electronic document, which is long and inconvenient. But we defeated the problem with the help of the application and a special cabinet with devices that has been successfully working for some time in the mobile development team. So it's time to share the recipe. Under the cut all the details and links to GitHub.
A little introductory: all devices are assigned to testers from the mobile development team. Now we have about 70 devices, their number is growing in proportion to the activity of manufacturers.
All test devices are now located on DIY racks in the cabinet. Each smartphone or tablet has its own numbered place and its charging cable. For accounting, the Windows 10 application is used on a tablet with a skip scanner connected.
In order to take / give the device you need:
attach a badge to the reader
After that, the gadget is assigned to the employee or detached from him in the case of delivery.
Convenient search for the desired smartphone - as a bonus.
Thanks to the application, each employee can take the devices on their own, and we get up to date usage statistics. So it is easier to understand the workload of the stand and make a plan for the procurement of new devices.
The latest version of the stand.
Of course, this was not always the case, and some year ago there was no automation and technical beauty in our pool of test devices.
When the testing department was incomparably smaller, we had a notebook for self-recording: who took what for the test and when. The gadgets themselves were stored in a regular three-drawer cabinet — one per platform. This, in fact, the order and ended.
Photoconstruction of old days.
Plus: accounting did not require any gestures from mobile development.
Minus: it is inconvenient to see how many devices are in the hands of colleagues, have you forgotten to return something.
Over time, devices and employees became more and more, and the usual notebook could no longer adequately respond to the challenges of the time and needs of testers. Therefore, it was digitized and transferred to a page in Confluence, where the real dictatorship of the tester proletariat began. If you want to take this smartphone, first find a free tester who will issue everything. In addition, each tester always has “Release is coming!”, And here they are also distracting.
But even if it was possible to find a person, the quest did not end. Often it turned out that the desired gadget is discharged or already busy. But if it was lucky here, the tester would add an employee’s full name to the Confluence page in front of the devices taken.
Plus: you can easily understand how many devices are used by colleagues from other departments.
Less: Testers spent too much time on such minor tasks as receiving and issuing and recording the status of each device.
But we are a dynamically developing company, so the stand with gadgets also received a dynamic development.
What questions we wanted to solve:
all devices must be constantly charged, and the charge itself should not take more than a couple of hours;
Gadgets must be placed so that they are easy to take and return to their place without creating a jumble of wires and mess.
Immediately, I note that the solution described in the article implies full confidence in the employee. That is, we did not set ourselves the task of somehow additionally protecting ourselves from theft or substitution .
Ordinary USB hubs and hubs are not suitable for this purpose, because they have only 1-2 ports that can more or less normally charge devices. A separate plug for each device - ugly and uncomfortable.
But then, by the way, I found a suitable Anker production unit:
This black bar allows you to simultaneously charge up to ten devices with a power of ~ 1.2A each, and the form factor is ideal for the location of such gizmos on the shelves. For example, on one of them we have 30 phones charging.
For a convenient arrangement, we ordered an iron cabinet with blinds doors “ DiKom ** KD-144 **” : it is locked, the doors-blinds do not interfere with anyone in the open state, and the small gaps between the shelves and walls allow us to conduct wires for charging It remains only to drill a small hole in the back wall for the extension cord.
But just putting the devices on the shelves is guaranteed to get a mess on the very first day, so for each of them you need to make a separate rack.
Successful racks turned out from a penoplex - it is rather dense, easily cut with a clerical knife and widely available. The first version of the rack successfully served a year and did not lose its properties.
Tip: it is better to buy penoplex 3 cm wide, then it is suitable for both phones and tablets.
What eventually happened:
Neat rows of smartphones, each on the charge, there is no tangle of wires.
Very soon, each device will have its own wire - we have already ordered them. And for the final fenshui, these clips with double-sided tape on the site came in handy:
It is easiest to order them all at the Chinese trading floor.
As for the plans for improvement, a more solid design of the racks comes to mind, since initially we considered the penoplex as a temporary solution. If you have experience in creating such structures - please share in the comments.
We have divided this task into three subtasks:
Identification of an employee using his badge . For this we bought a reader for passes: ST-CE01EM. The principle of the reader is simple: we connect it via USB to a laptop (the reader also works with Android devices via an OTG adapter), open a notebook, attach a badge, and the pass number is entered character-by-character. We can determine the user by entering his data into the database or through the API.
Device identification For the pilot version, we chose QR codes due to the speed of implementation. It is enough to print and paste a QR code with the device identifier for each device.
But QR codes in the process of use revealed several shortcomings. In our application, the user reads the code using the front camera of the tablet and may not notice the message that the device is added to the “basket” if it covers the screen with his hand. Our closet with mobile phones also stands near the window, so in the morning it can be difficult to scan QR codes if you do not pull the blinds beforehand. Therefore, now we are moving from QR codes to RFID tags with a sticky base - instead of scanning the code, it will suffice to attach the device to the pass scanner.
A UWP application runs on phones, tablets and a PC with Windows 10. By the way, we are planning to make a separate post about developing UWP applications for Windows 10. If this topic is also interesting for you - write in the comments.
All this sounds beautiful and looks, but surely many will want to repeat some elements of our stand, so as not to reinvent the wheel - for example, colleagues from another service are already using our solution in a similar situation. In general, welcome to the Yandex.Money repository on GitHub .
First of all, you need to make a fork on GitHub and build the project in Visual Studio 2017. Then you need to find a PC to start the application and a skip scanner, and also fill out the employee base.
skip reader - for example, ST-CE010EM . The main thing is that the device simulates a set of keys on the keyboard. To test, connect the reader to the computer, open the notepad and attach the pass to the reader. The pass number should appear character by character.
The application expects a 10-character skip length by default: 000 + PASSAGE NUMBER, for example, 0001234567. If during skip scanning you do not have zeros at the beginning, you can reprogram the reader or edit the badge number parameters in MainViewModel.cs.
The application database in the sqlite format is stored in the root of the TestStand project.
Next, bold highlighted required fields in the table, the rest can be filled as needed. The fields not listed here are not necessary to change - they will be filled in automatically:
Id - device number (QR code contains just the device id);
Model - gadget model;
Family - device family: iOS / Android / Windows;
OsVersion - operating system version;
Type - device type (Phone / Tablet / Wearable);
ScreenSize - screen size;
ScreenResolution - screen resolution;
IsContactlessPaymentsSupported - whether contactless payments are supported on the phone (0/1);
If you have the opportunity to receive data on the pass through the API, you can write an extension for the application. Vadim Novoseltsev has already written about extensions in detail in his article , for which he thanks a lot!
In our application, work with extensions is carried out through ExtensionsService.cs. The extension itself is used in EmployeeService.cs (default name: com.extensions.yamoney.teststand):
BadgeId - badge number ;
FirstName - name of the employee ;
But if you have no such possibility, then you can fill in the table manually.
The QR code should contain the device ID from the Devices table. Generate the code itself can be online , or pick one of the many utilities. Glue codes on gadgets - and you can use.
The application has been working in test mode for about a month, and the improvements in the work are noticeable to the naked eye. For example, more devices appeared in the booth - it seems to me that this is due to the fact that there is no need to keep the devices at home for several days. Easier and safer to return the gadget to the stand and take it in the morning again. But I want to believe that colleagues simply like to use the application.
The main advantage is that now we don’t waste time registering the devices themselves, but on the basis of the statistics obtained we can:
See the load on the test bench. We understand which devices are most often used in other teams: with which OS and screen diagonals.
Maintain the current range of test devices. From item 1, we have a rationale for the purchase of new devices.
There are a lot of plans to improve the stand in my head: for example, to make a physical blocking of devices or sound notification of a device being taken without authorization. I also want to try out the new technology of scanning the retina in the new Surface, as an alternative to passes.
If you have your own thoughts and know-how on organizing a stand for issuing devices or other equipment - be sure to tell us in the comments.
Source: https://habr.com/ru/post/324624/
All Articles