Objectives of the Project
The objective of our project was to design a book scanner which is easy to carry or store and suited for different sizes of books with a sufficient quality at an accessible price. The scanner, made of simple materials, has to be easy to build and to use. It was meant to allow people to get a pdf file from a book (photo album, novel, family recipe book, handwritten notebook, etc.) with a satisfying quality, relatively quickly and without too much complications. It can be for common people who just want to scan a book from time to time as well as for more specific applications like archives scanning, as long as the book is not too fragile. Once the book is scanned, the main advantage is that it can be stored on a portable device and easily carried around, for example on a trip.
The scanner was designed to be simple, do-it-yourself, easy to carry and practical to use. It is made of simple materials that are meant to be easy to find. The only restriction to use it is to have a smartphone. Once built, the scanner can easily be used by anyone from children to elderlies and can even be shared among a family or with friends.
A first idea was to try do a scanner that would not take a picture of every page but continuously film the book while turning its pages. The point of it was to make the scanning process more fluid. This idea was abandoned because we considered that though filming provided readable pictures, the loss of quality compared to taking pictures was too important. Moreover, the software part would have had much more information to handle and would have been much more complex and thus much slower.
One of the biggest challenge pricewise was the camera. The camera had to be relatively cheap, easy to implement on the set up and easily available but it also had to have a relatively good quality. This is why we came to the simplest solution: not implementing any camera in our set up. The solution was to use a camera readily available for mostly everyone today, the one of our smartphones. The scanner could than simply be paired with an app which would make its use much simpler than if it had required the use of a computer.
Our project was therefore composed of two main parts: the hardware and the software. As none of us knew how to code an app two members of our team completely focused on that part of the project, learned app programming and did the app. The rest of the work consisted of designing the scanner, building prototypes of it and working on the conception of the app together with the programmers.
Design & Conception
The scanner device is composed of different parts: the adjustable phone holder, the light, the stabilizing basis, the book holder and the pedal. Here is presented a prototype whose components are not always exactly the ones finally chosen but it is enough to provide a clear idea of the final product. The total price of the device is estimated around 50 CHF.
Note that on this prototype plastic on wood is used (blue part) where the final idea is to use aluminium (though it can be replaced by any material solid enough on which the succion cup holds).
At first we thought of using a v-shaped support because it causes less damage to the book and we thought it might allow the user to turn pages faster. But after doing some tests, we realized that unless two cameras oriented really perpendicular to the page are used, the middle of the pages is barely readable when using a v-shaped and this effect is worse at the very beginning or the very end of the book. We therefore decided to just hold the book flat under the camera and thus take both pages at once. The support itself only consist in a desk pad on which a wood stick is fixed. The books binding is pushed against the stick to hold book in place throughout the scanning process.
A first version of the scanner had to be fixed to a table using a clamp. The main advantage of it was that it made the scanner smaller. This was changed for a large stable bas made of wood which takes more space but is lighter and make the use of the scanner more flexible and adapted to any kind of surface. To overcome the size inconvenient, the base was conceived foldable. This was achieved using hinges and a system of elastics keeping the structure opened when desired.
The phone fixation is simply a system found on the internet for approximately 5 CHF. It is usually used to hold phones on the windshields of cars (for example to use the phone as a GPS). This device fits with any size of phone and is fixed to the structure using a venting cup, which means it can be moved along the structure to fit the book size. The arm itself is flexible for final adjustment. The piece of structure on which it is fixed shouldn’t be made of wood, on the prototype it is made of hard plastic but the suggested material would be a piece of aluminum.
The lightening is there to ensure good picture quality in situations where the surrounding light is not enough. The main challenge of it was to minimize the shadowing of the farthest parts of the book. The solution of using a battery supplied lightening system was considered but it was found to be rather limiting and not have main advantages. Different lamps were considered and a halogen lamp found for 4.90 CHF one was found to be sufficient.
After multiple considerations, it was decided to use a pedal to trigger the pictures. This would low the user to be comfortably sitting at the table using his foot for the pedal and having both his hands free to turn the pages and hold the book opened. The first pedal prototype is simply a selfie stick which can be connected to the phone via Bluetooth.
Our approach was to start with the simplest thing possible and to add complications one by one. The priority was to be able to quickly take the pictures one after the other and to obtain a PDF file of it at the end of the manipulation. The next is managing the different projects and only then all that concerns automatic cropping of the picture according to the first image.
Languages & Compatibility
The app is coded using XML and Java on Android Studio. We had to choose between Android and OS which are obviously not compatible. Considering market statistics in order to respond to the maximum demand and incidentally also according to our smart phones to be able to make some tests, we decided to create a first Android-type version for this semester project which could be adapted for OS in the future.
In its complete version, the app would allow the user to manage his different books, scan new ones, store them, re-scan some pages etc. Ideally, the user would take the first page, do the adjustments manually, mainly cropping the image and the position of the middle of the book and the app would then memorize those choices and apply them automatically to the next pages. Once fully scanned, the book could be exported to PDF. It would be possible to continue a project (book) that was started but not finished, start a new one or edit one, rescan some pages if the user is not satisfied with them, or add some he would have skipped.
The main objective of the app is to be very intuitive in order to correspond to the global ideology of the concept which is to create a device accessible to all. The interface plays an important role in this aspect because it is the link between the user and the software. In this optic, we created as least as possible tabs. When opening the app, the user will arrive on a page on which his different projects will be listed. He will be able to manage, edit or continue existing projects or to start a new one. Then the screen appears as the one of a standard camera. Once the picture is taken, a tab “picture saved” appears and the next picture can readily be taken. Finally, even if the created files are accessible with a computer, it is also possible to open them on the phone through the app at any time.
Main Problems Encountered
The first programming problem encountered was how to simultaneously work on the program. After some research, Google Cloud platform has been found to be a good solution allowing us to do so. We also had a problem with the first version of the app which was using the existing camera manager. The user was asked to confirm each picture before being able to take the next one. This obviously was a problem as we wanted to have a fluid scanning process. We therefore had to implement our own algorithm to manage the camera directly in the app, which required a lot of time. Finally, the manual first picture Crop option has been proven to be much more difficult than expected with a time consuming programming part. The programming of this option is still in progress.
The actual device is satisfying for the expected use but some improvement could be done. First it could be done more presentable by simply buffering some angles and painting it for example. It could also be made even more user friendly by working on the pedal. Until now the selfie stick as simply been used as it is but it could be turned into a real pedal with simply a few pieces of wood and a spring. Another option considered was to build the pedal from a Bluetooth remote, but it was not received on time to further investigate this option.
Furthermore, the device could be revised in order to make it even more compact and light. Other adjustments to better fit bigger books could also be investigated, for example adding a second lamp.
A first list of material & plan was done but this would also need to be redone in order to have really clear instructions to build the scanner easily.
Concerning the app, some more features are conceivable without any material implication which leaves a huge potential for improvement. The manual crop option first be implemented as described above, but one could also imagine it for example being replaced by an automatic one recognizing the undesired edges with an optical process.
The project management part of the app could also be improved to make it even more practical. The scanning process could also be paired with a text recognition bot on the resulting PDF.
The presentation of the whole thing still needs to be improved before it can be spread to the public. A final prototype, painted to be more presentable would have to be built to provide good illustrations for the building instructions. As mentioned before, the building instructions themselves would need to be done clearly. Finally, the two of them would need to be put together, the option “building the scanner” or something alike would have to be added to the interface so that when the user clicks on it he has access to the instructions.