📜 ⬆️ ⬇️

From concept to implementation: the story of the creation of AudioBrain or how we tried to improve our own cognitive abilities



As is well known, accidents are not random. A year ago, our tandem of thirty-year-old family uncles appeared - to implement the idea that was recently embodied in our first AudioBrain application, available for Android and iOS.

This article is a kind of post-mortem of our work, which affects not only the aspects of gaining positive experience and solving emerging problems, but also the experience of getting cones.
')
A little about us. My name is Alexander, I work in the marketing department of a large German company and deal with the frontent, design and “service” of our social networks. Previously, he worked as a screenwriter and game designer. My partner and friend is Alexey, a programmer, engaged in database maintenance (“Oraclelist,” as he calls himself ").

The article may seem long enough, but for me personally, it is “alaverdy” to all those authors who both I and my friend have read and read for years in habrahabr. For ease of reading, the article consists of nine parts by analogy with the process of conception, development and the emergence of a healthy child into the world.


1. The birth of an idea or the benefits of reading books

We have known Alexei for about three years. Prior to the project, our communication was reduced to a small consultation by e-mail and phone regarding work with databases, as well as rare meetings due to the workload of both in their work.

Once, after his three-month working trip to India, Alexey brought not only a tan and a bunch of photos, but also a small prototype of the site, which he wrote in his spare time and actively used to work.

He suggested that I try the service to get my opinion. Like any prototype written “on the knee”, it was rather raw and “ugly” ( no front end, in general! ), But it worked and performed its function, resembling an Evernote equivalent. The service allowed to save any information without restrictions in encrypted form. Subsequently, this “trick” led to the fact that we couldn’t decipher the piece of information I had stored in the service because of the glitch, so that it always remained “hanging” in my account with a silent reminder that this is a prototype.

Being engaged in the design and development of interfaces, I could not help but notice certain places for improvement. On my own initiative, I sketched out a small design for the site and prepared a few suggestions regarding the interface in order to show how it can be improved without major changes. During the meeting, Alexei admitted that he liked the style and direction, and since we both are very keen on minimalism in data visualization, there was a desire to implement my sketches. However, during our communication, another concept “surfaced” that, which we both had not yet suspected, would later form the basis of AudioBrain. Which in nine months will see the light in the form of a mobile application. For this reason, some time later, we began to consider that day as the beginning of the project start report.

During my story, I have already mentioned our application several times, but I still haven’t told what it does, what is it for, and for whom did we develop it? I will try to briefly answer all these questions at this place, without falling into an advertising courage.

AudioBrain is an application with the author's methodology aimed at developing the human audio memory and enhancing its cognitive abilities. In our case, this is realized by listening to the poems of such classics like Pushkin, Schiller or Shakespeare recorded by native speakers. Rhymed lines make it much easier for the brain to “tune in” to the rhythm of the text and “distribute” it on the shelves. They also contribute to a more rapid "recovery" in the memory of those lines of text that were not learned the first time during the first listening.

Technically, the principle of operation is very simple: the poem is divided into lines, which, according to our algorithm, are played in turn. The user listens to a piece, and then repeats out loud, before the next piece begins to play. Thus, like meat on a skewer, line by line is strung into the memory of a person, moving from a short-term memory to a long-term one during the lesson. Despite the seeming simplicity of the technique, it really works and makes the brain strain very, very much, which is especially felt after half an hour of sessions. At the moment, the only “side effect” of the technique has become “sticking information”. For example, everything that I taught more than six months ago, I can repeat at any time, and sometimes it scares. The only thing that comforts me is the knowledge that the nursery rhyme "A Christmas tree was born in the forest ..." also sits in many of the readers in their heads and for much longer than six months. In addition, this "side effect" is very convenient in the study of languages, which became for us the starting point for our next project, but about this another time and in another article.

It is important to make a small digression. Although the work on the application began after our meeting in a cafe that autumn Saturday of 2014, the idea itself had been in Alexey's mind for a long time before that, appearing after reading the autobiographical book about Nikola Tesla. It contained a small passage about the childhood of Nikola, who spent much time with his mother. Tesla's mother was a very smart woman, and she devoted a lot of time to developing little Tesla. One of the games she practiced with him was the repetition of words with an increasing number of them after each iteration.

Alexey decided to try this method and began to record small texts and poems on a dictaphone, and then let him go around in WinAmp. Despite the fact that the technique was just beginning to crystallize, it showed its viability. Alexey showed me that in a cafe, having read by heart a piece from Carmina 2 in Horace in Latin.

After a similar demonstration in a cafe and the subsequent heated discussion, we agreed that I would think about how this technique could be visualized and scribbled the interface, while at the same time preparing the frontent for service. At this we decided.

2. The first approach to the projectile

So, while I was sitting and preparing the front-end, while making sketches in parallel, work elsewhere was going on, which I did not even suspect ...

Alexey, when he lights up with something, he just sits down and tries, so here we are also alike. Just a couple of days after our Saturday meeting, he called me to check my mail. As it turned out, he didn’t put it off indefinitely, he decided to see “how this Android works” on his own, and in a week he figured out enough to write and compile the first version of AudioBrain.



"The evolution of design." The long-awaited transition from "eyes-my-not-can-to-it-more-without-tears-to-look" green to blue ... In addition, we are discovering new geometric forms.

A little, but pleasantly surprised by the received version, I decided to test it with some skepticism on myself. It was 11 o'clock in the evening, I was preparing to sleep with my wife, but I still installed the application on an old Samsung Note tablet, which I, by a happy coincidence, “won” at the New Year corporate party. For the sake of interest, I launched one of the “Oleg the Wise” poems available at that time, A.S. Pushkin and began to follow the "tips" on the screen. After a while, drowsiness began to go away, and my wife and I, repeating line by line, really began to “memorize”. When I woke up in the morning, I strained my brain, and ... the poem flew out of me, as if I was a small child, who diligently memorized it during the whole weekend on a holiday.

The same surprise was at the dean of my faculty at the diploma exam in politics, when I literally “shot” all the definitions. My experiment of that time showed that the technique works not only with the rhymed form, but also with the usual fragments of texts and definitions.

3. Visualize it!

Initially, a great advantage of our collaboration was the general views on design: minimalism. Perhaps this is due to such a concept as “programmer art”, when the implementation and the working version of the product are important, and its visual properties are considered to be of secondary importance, which can be thought of later.

For my part, given the fact that I am a very bad artist ( thanks to Photoshop and Illustrator, they can sometimes forget about it ) there was always a complete certainty that almost any design can be “laid” and presented with a minimal amount of graphics. The clearer the message of the application or product, the more accessible and understandable it is to the end user. For this reason, we tried to simplify everything that was possible. And when we succeeded, we tried again and again, each time cutting off what appeared to be not very necessary.


"Shazam'schina". First sketches and ideas.

As a result, a reasonable compromise was obtained between the intuitive design and the technical capabilities of both parties. Thus, the final product design turned out to be so simple that we seriously and seriously pondered whether it was worth adding a tutorial to it at all ... As long as my partner’s brother, without risking clicking on the big blue button, didn’t write “What do you need to do?”

With the tutorial between times, too, it turned out an interesting story. Initially, the thought of him was for us one big headache associated with the presence on the market of a huge variety of different mobile devices with different screen resolutions. Beforehand “anticipating” the problems associated with displaying “tutorials from images”, we thought how to “get around” them or at least “minimize”. The idea of ​​preparing assets for various permits simply drove us into a cold sweat ( me so accurately ). The next thought was about the size of the application, for which we “fought” very strongly, at least at the beginning. Therefore, we decided to take a chance and make a tutorial in the form of an html-page, which we originally planned to put on the server. We created a small test page, which, depending on the position of the device, displayed an landscape or portrait view of a picture with a tutorial. However, without the Internet, this “trick” turned out to be very uncomfortable: an error was generated and a message about the absence of a page was shown ( which is logical ). Having thought it over, we decided that practically the entire palette of today's mobile devices is able to display the simplest html page that we wrote on the tables for security ( hi layout for email distribution ), so we placed it right inside the application. Thus, we freed both ourselves and our users from the dependence of the availability of the Internet.

In the last part I mentioned that initially, at an early stage of development, the application was called “LearnPoem”. This name was, in our opinion, not “kosher” enough, and did not quite reflect the goal that we wanted the application to achieve. Therefore, they began to look for an alternative.

While we were thinking about the new name, taking into account all the tips and recommendations that we found both at habrakhabr and other specialized resources, I sat down to sketch a logo for the application. In principle, as with the name, logo creation is both a simple and complex task. Deciding not to be too original, but without going to extremes, I decided that we should have a brain, because the application is aimed at improving it. After reviewing other applications and a lot of icons and pictures with the brain, I sketched out a few of my own. There was even a typographical version of words and letters, but decided that it was too “complicated” for our application. Therefore, we stopped at a simple contour of the brain. The second element was to be the symbol of sound. There were variants with headphones on the brain (a sick fantasy, isn’t it? ), Variants with convolutions of the brain twisted into notes and an ingrained treble clef, from which the convolutions began to branch thickly in different directions ... Of course, it was all fun, but time went on. So, we settled on a neutral variant: a blue brain with a treble clef in the center and a few gyrus.


Early version of the logo became the basis for the final version

Of course, the final version cannot be called a “logo-building” masterpiece, but it met important criteria for us:


The appearance of the logo has made the issue with the name of the application even sharper. According to what we have read, it is highly recommended to give the applications names bearing the necessary keywords ( keywords ). Therefore, we have compiled a list of words and started them, like Lego cubes, trying to cling to each other, and see what happens. According to our rating, the phrase “AudioBrain”, along with several others, was included in the common top, but, checking the options on Google Play and the Apple Store, we ran across similar names all the time. What was our genuine surprise when it turned out that the phrase “AudioBrain” as the name of the application simply does not exist ( just two or three weeks before the release to Google Play, an application with a similar name came out! We were very pleased with this fact ... ). So, we approved the name and, with joy, we thought that we could get a domain with the same name. Here we were in for a surprise. The domain has been registered by a company engaged in producing and audio services for many years. This sobered us up a bit, and we wondered whether to leave the name. However, after a short dispute, we came to the conclusion that we are: a) in different weight categories b) in general different categories of services and c) if we become so large that such a whale drew attention to us, then we will be ready for defense . Thus, we had a bundle of logo with the name and name for the domain to which we added the word app. Although, it would be possible to add and get ahead. Cheap and angry.

4. We do not need text!

Taking into account what we discussed, the application should have turned out to be simple and with a minimum number of chips, one of which was the bonus system ( achivka ). In principle, achivki were not planned initially and appeared only because I once mentioned them during the discussion, how we can motivate users, and Alexey again wanted to try "how it works" ... Well, when I tried, we decided that there was no need to disappear ...



And it was like this: the circle “crazy hands” unexpectedly intruded into my thoughts with a call from Alexey, who, to his great joy, said that, “picking” for the sake of interest in how Google Play works, he realized that achievements ( achievements ) are very simply realized and we can easily add them to us. And, in general, we will add them. It was like hitting a bag of flour on the head (of course I did not try it, but I suspect that the effect is comparable ). Achivki pulled a new images, new texts, new logic and sensitive shift deadlines.

That is why, when the basic design elements were screwed up, and the achievements were drawn and inserted, I rolled up my sleeves and began writing texts for both the students and the application itself. Working alternately with Evernote and using the service, which Alexey wrote for himself in due time, I gradually increased the necessary sections with “literary meat” and slowly wrote a press release and answers to FAQs (frequently asked questions). To be the most “objective”, I mentally asked questions to myself, asking me so that I wanted to know when confronted with our application. Thus, for some time I had more than twenty-five pages, including also texts for achievements. My partner and I have added a little bit of this ... Still, it was a question of application with a minimal amount of text. Taking into account the fact that we planned to release the program in seven languages ​​( initially, until Swedish, Latin and, literally a week ago, Italian were added ), all texts should have been submitted for translation, which grew into a significant financial mine.





By his strong-willed decision, Alexey read the entire document and “randomly” cut out the pieces, reducing the entire text to ten pages. At the same time, in his own words, "it was painful to cut, because there are so many good things." At that moment, we still naively believed that the Russian text that fell "under the knife" would be used somewhere else.

5. We are ready. Nearly.

And then we were faced with the principle of “Pareto,” which had the effect on us of a comparable meeting of a car with a truck in the oncoming lane. Approximately on version 1.47 and seeing our progress, I naively offered to finish off on version 1.50 those little things that we thought were left. And run ... In order not to write even more text, I will say that we were released with version 1.79, and at the time of publication of the article version 1.85 was released. So what were we doing at this time?

Content: In our application there are more than 130 poems from more than 40 authors in ten languages ​​read by native speakers. Before this all appeared, we looked for and picked up the content, trying to get it:


And, of course, so that we like the poems ourselves.

After all the poems were selected for each language, we saved them in separate documents and sent for recording. The first Lithuanian poems were recorded in one of the recording studios. As a result, expensive, plus the result is not very pleased us. Subsequently, we turned to freelancers who recorded the remaining languages ​​much better and cheaper. Fact! After we received the next portion of recorded poems, I checked and prepared them for our application using Adobe Audition and several other small programs.



At the same time, the graphics, icons and other small but important graphic elements were minimally refined. In addition, a tutorial was prepared, translated and finalized. For the convenience of the end user, we decided to give him the opportunity when starting the program to choose: to start work or to view before this a small tutorial.



Texts: For each achievement, a small text was written that should encourage the user and encourage him to continue “learning.” In addition, the application has been embedded FAQ with answers to basic questions. During testing, one of our friends told us that the text was written too small, so we added the possibility of increasing the text in the subsequent version. When all texts were written, checked and sorted, we sent them for translation.

Translation: Not trusting ourselves, we decided to give the texts to professionals for correct and high-quality translation. The first Russian text went away for translation into English. This was a crucial step, since the translation into English had to subsequently serve as source code for translation into other languages. Therefore, we decided not to risk it and took advantage of the built-in “service” to Google Console, which “offered” us the firm and the “amount” for the transfer. We were satisfied with the quality, although the price was a bit “bitten”. Having a positive experience of writing poems by native speakers, I suggested that other translations of texts be done by freelancers as well. Only one incident saddened the work a bit: the programmer, as it turned out later, undertook to translate into Spanish, who considered that for a “high-quality” translation result using Google Translate, it would be more than enough. Of course, he was wrong. One of my colleagues is from Brazil, so the “shoals” were found very quickly. I checked the German texts myself with my good friend, and the rest with the help of colleagues, friends and acquaintances, as well as ( surprise! ) Google Translate. Its capabilities are quite enough to understand whether the idea of ​​the original text was transmitted at all.

Version for iOS: Approaching the completion of work, we increasingly thought about what to do with the version for iOS. Attempts to find on-site specialist from friends and acquaintances, to our great regret, were unsuccessful. Those who started to do something or could not go far, or they had their own affairs and problems. Therefore, somehow did not grow together. So, after long discussions, they decided to order another freelancer, but already a programmer ...

In fact, this is a separate story. Suffice it to say that the programmer was from India, the project was made not in four, but in five weeks, plus he didn’t screw in the tools and even little things. So the revision of the version was done by Aleksey himself, who by that moment had a joyful event - the birth of his daughter. For this reason, he “fell out” for a while, taking leave from work. This allowed, however, to tightly control the work of the freelancer, sitting out with him for hours on Skype or even sometimes working with him on parallel programming. This led to the fact that the work was completed, although the version for iOS and today looks like a "poor relative" version for Android. It is fair to say that, despite all the deadlines and “shoals”, we were satisfied with both the cooperation and the quality of work (The price turned out to be comparable to the order of writing poems for three languages ). But this story had another pitfall. Not daring to let a developer who is unfamiliar to us in the developer console, we ourselves could not add in-app purchases to the iOS version as it was implemented in the Android version. Therefore, we were forced to release two versions for iOS: free with limited content and paid with full content. In addition, in versions for iOS there are no achievements, which are versions for Android. This was the price of third-party development.

Bugs : As I wrote above, we were released with version 1.79 ... To avoid surprises, as it happened, it is worth saying that we very carefully approached the testing application, which was carried out both with the help of cloud services and with the help of friends. This led to the fact that we again and again revealed new bugs or trivia, which we promptly tried to eradicate, releasing a new version until there were new bugs already in the new version, and the cycle did not repeat again. At this stage, one of the worst things was the desire to add or fasten something else. However, this “feature mania” we strangled with our own hands, and, starting from version 1.48, we limited ourselves to writing down thoughts and ideas in a separate document “for the future”.



"Frequency" version updates

Another interesting development episode is the appearance of the splash screen . Today it looks quite simple and functional:



The need for its appearance is associated with the technical embodiment of some of our ideas. When you first start all the processes are “prepared” and if on powerful devices it happens almost imperceptibly, then on slow ones, like my old tablet, it turned into a minute wait. Initially, we “borrowed” the idea from McDonnalds and decided to display greetings in different languages ​​at launch.



It looked like it was not bad, but then we got an unexpected bug, which, unfortunately or fortunately, we could not detect and fix. On my tablet in portrait mode, the lower half turned out to be empty ... Here is such a disgrace.



, Evernote , , , ( ). 1.46 splash screen c «» «blinking brain, progress bar and dynamic text» ( 1.46 ).

: . , , Flurry Google Analytics .



, . , , , , . , , , , . , «» . , , , , :

!

, , , . .

, , « » .

. , 1 .

, !

, , xxxxx@xxxxx.xx

Respectfully,
xxxxx.xx


6. , …

. , , . , , , , , .



- , , , . «». , , 10 ( 15 ), . 4 6 , - . , , «» , . -, , . , , .

, . , , Google Play , , , , , .

7. , iOS?

, « », , . , , , , iOS, . , , , , .

Xcode. , iOS. , – . , , .

-, . , , , , ( AppMethod, PhoneGap, Titanium ), . , , – , . , , – .

, - . , , , . , , , — . , , iOS, , , . . .

8.

– , , . , , , presskit, landing page .

: , - , . , , . , , , , . iOS , , iOS, Android. , .

AudioBrain , . , , Google Play Apple Store, . AudioBrain .

9. , !

, , . , Apple, iOS. . , , «» .

, Apple, ? , : , . - , , - . … « » - ( $59 ). - !

Google Play , Apple Store «» : , . .

iOS 8.4, , , , , . «», , .

, Apple , , Google Play. , , ( ), . , 8 , , . .

, , . AudioBrain, , , … , , , , .

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


All Articles