📜 ⬆️ ⬇️

TIZEN Developer Summit & Hakathon 2013: A View from New York, Seoul and Vladivostok

The reason for writing this article was a trip to the conference on TIZEN, held in Seoul in mid-November. Developing applications under TIZEN is part of my immediate professional responsibilities, so the decision to attend this event was quick and decisive. I live and work in Vladivostok, not far from here, 2 hours of flight with the testing of fiery Korean cuisine - and I am in Seoul. Directly about TIZEN in the Habré has already been written at least here , here , and directly about the development also here , so in this article I will describe the event itself in the style “tested on itself”. The article is intended as an introductory series, the process is described from scratch. Considering the largely sad experience of the Tai'Den neophytes, when a lot of nerves and time are spent on the war with the IDE , sufficient attention will be paid to installing and configuring it. All interested in asking under the cat.


THE CONFERENCE

The event was very ambitious. The room, equipment, stands, snacks - all at a very high level. From the very beginning, the question naturally arose as to who and why it was necessary to sponsor with such a scale for the time being that little-known platform. The general excitement and many well-known brands in the world of mobile development only fueled interest.

The conference was divided into several parts. The reports of the first part (in the morning) were of a general nature, in which many intelligent and important people told us what TIZEN is, what it is eaten with, and why it will help us to come to a bright future.
')


Another glance: Alexander Gazarov, New York:
“The journey to Seoul began with the fact that I received an invitation to a conference on TIZEN under the auspices of Intel and Samsung. Of course, like all new incidents in the mobile world, I was very interested, and a few days later I found myself in the center of Seoul, in the chic Ritz Carlton hotel.



The whole event was divided into two days. The first day began with several large presentations and a panel discussion on what TIZEN is, why it is needed and where everything goes. The main focus of the presenters was that TIZEN is a platform for applications using web technologies, and this would supposedly help make applications cross-platform. However, I have to admit: when I asked the question how it would be possible to write such applications, if TIZEN is designed to work with applications for HTML5, and there are no other platforms, I never received an adequate answer to it. As well as the question of another person was left without an answer about when exactly the first commercial devices will appear on the freshly baked system. As it turned out, the person who asked this question is my compatriot from Vladivostok, Yuri, with whom we quickly met . "

The second part was divided into sections, and had to choose where to go. Moreover, there were many things to choose from: general development issues, porting applications from other platforms, security aspects, etc. I was already a little familiar with TIZEN development, I still don’t understand anything about security, but porting existing projects to TIZEN is interesting and may be able to be applied in work.

Alexander:
“ In the second part of the day, the lectures were divided into several streams at once, which were conducted simultaneously, so it was basically impossible to catch everything. Yuri and I decided to attend a more technical stream of lectures. The first two presentations were devoted to converting existing applications to Android under TIZEN. Both presentations had the same outline, namely launching Android applications in a Dalvik machine ported to other platforms. The difference was, by and large, only in the conditions on which companies provide their services. The last, third presentation was devoted to such a wonderful tool like Marmalade, which greatly simplifies writing native code that should work on several platforms at once . ”

In general, the event turned out very interesting, although it raised more questions than answers. There is a whole arsenal of tools, an open multi-purpose platform, interest from large market players and ... it is not clear to whom and when to sell the final product, i.e. applications. On the other hand, the value of any conference is not reports, but networking :) Reports are just a good reason to talk with fellow craftsmen (or Art, if you will), get out of the box and broaden your horizons. As mentioned above, here I met Android-developer Alexander Gazarov, with whom we later formed the core team on the hackathon, and upon arrival from the conference we prepared this article for the attention of respected readers. I would like to express special thanks to Renat Nyazhemetdinov and Ilya Vereshchagin for their assistance in publishing.

Immediately after the conference on the evening of November 11th, DevLab and the hackathon were waiting for us.

Devlab

DevLab, as I understood it, was intended as a kind of event aimed at introducing invited participants to the development process as quickly as possible, therefore the organizers were very succinct. The tour was dedicated to TIZEN SDK and what it is eaten with: where to download, in what languages ​​and what types of applications to develop, where the documentation lies. I want to mention the documentation in particular: it is included in the TIZEN SDK distribution kit (i.e., you can work in offline mode) and covers almost all aspects of development (there is no need to go to Google and call for help on the forums). The IDE out of the box supports the following types of applications: Tizen Native Project and Tizen Web Project. The first type is native applications, the second type is web applications and hybrids (some kind of cheesecake from C ++ with filling from JS). Native development in TIZEN IDE implies Eclipse CDT, instead of the good old gcc newfangled clang, however, in order.

First of all, install the SDK. To do this, you need the Install Manager installer, download here: https://developer.tizen.org/downloads/tizen-sdk

You can run it in the web installer mode and hope that everything will be fine, but I just want to warn you that this is the path of loss. Any disconnection - and almost 2 gigabytes will be downloaded again. It's unpleasant, so it's better to download the SDK image first on the same page:
image
and then feed it to the loader (at the very first step of the installation, the Advanced button - you can specify the path in the file system to the SDK image):

image

The rest of the installation process is trivial (with minimal differences depending on the operating system), all the settings are left by default. Advanced installation implies additional specific modules that are not needed for acquaintance with the environment and are not included in the image (that is, they will be downloaded from the network for a long time):

image

The subsequent installation process at some points may not give signs of life - this is normal, you can go to drink coffee:

image

After installing the SDK itself, it is proposed to install some HAXM - in theory, a miracle cure from Intel, which will force the TIZEN-emulator to fly, if at the workstation there is an Intel processor with hardware virtualization support. In theory, because there are miracles, but not at all (more precisely, not at all OS), but this is not about today. Install:

image

Alexander:
“The thing is, in fact, very useful. Now it is mainly used by Google for Android to speed up emulators. With HAXM emulators work much faster than without it, which is very valuable, given the very strong sluggishness of standard Android emulators. Versions are under Windows, Linux and Mac OS X, and from the processor, by and large, all that is required is that the manufacturer is Intel, since there is hardware support for the necessary technologies in almost all of their more or less modern models . ”

So, the SDK is installed, run TIZEN IDE. At startup, it is proposed to select a workspace:

image

Here all new projects, user environment settings, etc. will be stored by default.

Then we are greeted by a welcome screen (you can close it), the next step is to set up a working environment diagram (this is how I translated the term Perspective). By default, the Tizen Web scheme is open, we add native development by clicking Open Perspective in the upper right corner of the toolbar, go to the Other tab in the context menu, and select Tizen Native in the window that appears:

imageimage

Reference data is easiest to use here:

image

using a very convenient and intuitive search:

image

Hooray, everything is ready for development!

Alexander:
“ As an Android developer, I had quite a few opportunities to help with the software code for the application, but I still wanted to help with something, so I started installing all the application development tools on my faithful laptop. Fighting is not very fast local Internet, I downloaded everything you need and launched IDE. The basis for the latter turned out to be Eclipse, from which I always expect a dirty trick. And for good reason: IDE briskly collected the application's workpiece, but flatly refused to install the program on the test device, courtesy of each hackathon participant as a deposit for his passport. Crawling through the wilds of websites and search engines, I discovered the right drivers, installed them, and sdb (a tool for communicating with the device, like adb for Android) assured me that the device is visible and ready for conversation. Victory? But this was not the case: IDE did not want to install the application on my device, and that’s it, even if there’s a lot of tesh on his head. As a result, I had to install the application through the console . ”

Applications can also be run on the emulator included in the SDK. The process is described in some detail here , from my own part I want to add that upon transition the emulator / real IDE device falls into thoughtfulness and does not want to deploy an application. This is treated by deleting the launch configuration file:

imageimage

Kaspersky Anti-Virus can also block the launch of an application on a device. I never managed to convince him not to touch my tayzen, although, frankly, I didn’t try too much - it's easier to turn off for a while.

Alexander:
“ The sticking point for me personally was the tool ansicon.exe, which Casper stubbornly considered to be a malicious Trojan. I solved this issue by adding the entire folder with the SDK to the Kaspersky list of exceptions . ”

Haqaton

Hackathon - started! Looking ahead, I want to note that some sense of unity, recovery and enthusiasm in general in a short march on the hackathon can not be compared with the usual software development, when the routine often absorbs the entire drive. You can not worry about the thoughtfulness and slimness of the architecture, the purity of the code and the tests, you can immediately do something - it inspires! Of course, then you have to “pay the bills”, God forbid, then someone will see this code, but then it will be later ... And now there are 24 hours ahead, on which you have to go all out, because the prizes turned out to be very tasty: $ 1000, $ 2000 and $ 5000 for the 3rd, 2nd and 1st places respectively.

image

I did not attach any importance to such an important issue as the choice of the team (in vain!) - I just sat down at the first table to a group of Koreans and offered to get acquainted. The activity of my future associates in terms of creating at least some plan was striving towards zero, so I decided to push a number of ideas on the subject of the project that I had formed at that time. Perhaps this is not the case in Korea, since they only 15 minutes later decide to ask if I am a mentor and why so much attention is paid to them. One of the possible reasons is that their English was no better than mine, or perhaps they were simply educated :) In fact, it turned out that they were still students and, as usual, were sent to the event for general educational purposes. Nevertheless, I quickly found a common language with a pair of intelligent guys (gentlemen Hyeongsu and Gwangdong - still can not pronounce), who knew what a git-repository is, and we got down to business.
At that time I already had some experience in developing native applications for bada / TIZEN, but I don’t understand anything in web development. Alexander did not work with TIZEN at all: he specializes in Android. In addition, he joined the team only the next day in the morning (the hackathon began on the evening of November 11th and ended on the evening of the 12th). Our Korean friends while studying at the university with all the consequences. Hackathon is not a time for learning fundamentally new technologies, so the decision was obvious: we will draw a native application.

Impressions from the event: Hyeongsu Im, Seoul:
“ The hackathon was a great experience for me. It has been a great motivation for me to develop. Even though I’m a student, it’s a great place to look for a new OS. I am really thankful for the foundation of the Linux Foundation .

We decided on the type of application - now we need an idea. The application should be simple so that we can meet the allotted 24 hours and create the finished product. The application must carry a clear idea so that it is clear what we have done. Finally, the development process should bring pleasure and contribute to the team's cohesion, so you need to think through exactly how we will present our product at the presentation.

Teaser: I mean, I thought so. In the harsh reality, it was necessary to code without losing time. Immediately and many, preferably with a set of pre-prepared solutions, since the jury of the repository did not look, "honesty" did not check, etc. On the other hand, this time was very memorable - which is also very good.

I had an idea for such a small application a long time ago - after another campaign with friends in the taiga. In the detachment, the products that everyone should take with them are distributed by weight, not price. For example, 2 cans of stew are equal in weight to a kilogram of pasta, but they differ in price. It is logical that the finances should be spread equally, but no one likes to do these calculations. That would be a handy application if it were possible to make payments of each participant, and then immediately calculate who should owe how much ...
I didn’t talk about going to the taiga, but put my idea to the rest of the team in the context of going to the bar. Like, here's the situation: someone pays for everyone with a broad gesture, and then it turns out that he didn’t have cash on the taxi ... In general, the idea was accepted, and we started to implement it.

Alexander:
“ In the evening of the first day, the hackathon began, which was to continue for the second day. Initially, I did not know if I would go to him: I have a lot of experience in writing mobile apps, but alas, I don’t know exactly Tizen at all. However, the latter did not belong to Yuri, and therefore I did not hesitate to join him.
So, the team consisted of two Russians (Yuri and your humble servant) and two Koreans. Koreans were initially responsible for the graphical interface, but one of them was constantly asleep, while the other courageously created a net in MS Paint (at first). Therefore, I had to take over the “general management” of the schedule. Being an Android developer, I could hardly help with the C ++ program code, so my compatriot shouldered this part . ”

In fact, our Korean friends took part for themselves: Hyeongsu drew a cool icon, and Gwangdong localized the application into Korean. In addition, he slept very picturesquely - we went to take pictures all the time :)

image

Alexander:
“ Unfortunately, it was not possible to get to the very beginning in the evening on the very first day, because I still wanted to see the city. The very next day, when I came to the event, there was already a procurement of a new application. In Russian, it was called very succinctly and simply: “Let's count!”

The most interesting part was the presentation of our application. We decided to make a real performance, as if we really came to the bar. I am a waiter, I bring the bill to our fellow buddies. Yura, without thinking about the consequences (then we will be considered!) Pays for everyone, but one of our Koreans decided to add a little. And here begins the argument about who owes what to whom. Our Russian guy is shouting in Russian, the Korean guys are shouting in Korean, one of them is fighting with Yura, the other pulls off his companion, and the quarrel is clearly not going to stop. But here comes the waiter and declares a wonderful application that will reconcile all at once. “How much did you pay? Yeah, how old are you? Fine! Well, here you are so much each other should owe so much money, everything is in order, no need to argue! ”

image

Yes, the presentation of our product for me has become one of the most memorable events of the hackathon. Before going out, I was long for the Koreans to explain that they should be less shy and more expressive in conveying their thoughts to the audience. They understood me literally. In the sense, on my remark “Goni 20 bucks!” Hyeongsu decided to push me back for greater persuasiveness, and Gwangdong valiantly tried to keep him (although 2 times smaller than he was).

Despite the application “dopilnost”, we did not win prizes, I think, because we did not do anything particularly technological. But, as I said, we had a great time, and these 24 hours were very memorable. In addition, we gave quite a working product, which I, by the way, have already used. The step-by-step process of creating the “Benefit Society” (yes, we haven't come up with anything smarter) will serve as material for the next article. On Habré there are still few materials devoted directly to the development under TIZEN, and I hope to benefit the community.

For this, I’m finishing my story, thank everyone who has read this far :) I am ready to answer questions, I will help as much as I can. Successful development!

For now photos:
the conference
hackathon

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


All Articles