Рубрика развивается при поддержке

Telegram объявил конкурсы для разработчиков и дизайнеров с общим призовым фондом в $150 тысяч Материал редакции

$125 тысяч для разработчиков и $25 тысяч — для дизайнеров.

В закладки

Telegram объявил три конкурса для разработчиков и дизайнеров, которые пройдут с 10 по 24 марта. Сообщение об этом мессенджер распространил с помощью канала служебных уведомлений.

Разработчикам нужно создать систему, которая будет на одном экране отображать четыре графика на основе данных от Telegram. При этом нельзя использовать сторонние библиотеки, весь код должен быть написан с нуля. Призовой фонд в $125 тысяч будет разделён между создателями лучших приложений.

Пример работы системы, которая нужна Telegram

В первом конкурсе для дизайнеров участникам нужно придумать новое окно чата и меню прикрепления файлов для Android. Лучшие авторы получат часть призового фонда, который составляет $15 тысяч.

Во втором конкурсе для дизайнеров нужно придумать простую анимацию для интерфейса Telegram. Она должна помочь объяснить пользователю, что у мессенджера есть десктопное приложение или что двойная галочка означает прочитанное собеседником сообщение. Призовой фонд для этой задачи составит $10 тысяч.

{ "author_name": "Андрей Фролов", "author_type": "editor", "tags": ["\u043d\u043e\u0432\u043e\u0441\u0442\u044c","\u043d\u043e\u0432\u043e\u0441\u0442\u0438","telegram"], "comments": 93, "likes": 57, "favorites": 37, "is_advertisement": false, "subsite_label": "services", "id": 60675, "is_wide": false, "is_ugc": false, "date": "Sat, 09 Mar 2019 20:24:26 +0300", "is_special": false }
Облачная платформа
Основа для цифровизации бизнеса
0
{ "id": 60675, "author_id": 14066, "diff_limit": 1000, "urls": {"diff":"\/comments\/60675\/get","add":"\/comments\/60675\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/60675"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }
93 комментария
Популярные
По порядку
Написать комментарий...
154

Блин, телеге нужно только одно дизайн решение по интерфейсу:
— разделить чаты с людьми и каналы в разных вкладках.

Ответить
–25

есть ряд причин, по которым это не нужно

Ответить
7

Это можно было дать возможность включить, а по дефолту отключено, например. Эдакая опция «для разработчиков»

Ответить
28

А прикуриватель где?

Ответить
6

Не нашёл нож-открывашку 🙁

Ответить
1

с ридором перфокарт конечно загнули)

Ответить
4

Почему? Мне часто не хватает

Ответить
0

это типа плохо?

Ответить
0

Да нет же, лучшее что вообще могло быть на рынке! (нет)

Ответить
–2

хмм... и что плохого, если бы такой девайс реально существовал?)

Ответить
0

Блин, а когда-то ж мы действительно носили телефоны на шнурках ...

Ответить
0

Нет возможности заливать 92 или 95 :( Только Самсунг!

Ответить
0

I like the iOS / Android switch!

Ответить
0

прикрутить колеса к нему и выйдет r2d2

Ответить
5

есть ряд причин, по которым это не нужно

Огласите весь список, пожалуйста.

Ответить
4

основная — одна, из которой остальные вытекают. Причина простая — это сместит фокус в сторону чатов, и далее активная аудитория каналов будет падать. Да, это честнее по отношению к рядовому пользователю, но большой минус для владельцев каналов и рекламодателей

Ответить
2

Да оно одно на самом деле, это сократит прочтения, а тг максимально заинтересован в замыкании трафика на себя и увеличение вовлечение пользователя

Ответить
1

например?

Ответить
0

Собсна, где хотя бы одна?
Upd. Увидел ветку ниже.. пойду гляну

Ответить
0

И какой же этот ряд?
Если все смешивается в кашу и, что делать, если я не интроверт и имею более, чем одного воображаемого друга, когда обычных пяти «пинов» не хватает?

Ответить
5

Для себя я нашел решение - удалил все каналы, кроме двух, которые реально читаю.

Ответить
4

трафик на каналы и прочитываемость может упасть

Ответить
1

Команда телеги об этом и писала, что экосистема каналов и ботов пострадает. Сейчас это каша заставляет людей тщательнее сортировать контент и более равномерно распределять внимание между каналами и людьми.

Может я привык, первый год тоже бомбило)

Ответить
0

СОРТИРОВАТЬ???
Вглядываться внимательнее заставляет — это факт. :-\

Ответить
1

Если 4-8 каналов и они в тихом режиме, то проблем нет. У меня с алертами только пара чатов и близкие люди. Захожу и читаю сразу все важное, даже на аватары не смотрю, глаз цепляется за зеленые счетчики.

Охотно верю, что если каналов овердокуя, то наступает беда. На мой вгляд проблема настолько очевидна, что ее давно бы решили. Значит есть веская причина, подтвержденная какими-то метриками. Еще вариант, что разделение выкатят, но позже

Ответить
1

Сейчас многие предпочитают вовсе отписаться от канала. С сортировкой же канал будет "болтаться" в своей отдельной вкладке.

Ответить
1

А лучше в разных приложениях. Зачем объединять необъединяемое? Личные сообщения, авторский контент, уведомления от сервисов - зачем всё это в одном месте? Этакий швейцарский нож по подобию китайских мессенджеров-комбайнов. Для школьника может и самое то, а для делового общения не подходит

Ответить

Комментарий удален

0

да не только это, на самом деле

Ответить
0

Зачем им убивать главную фишку сторонних приложений?

Ответить
0

Разве это не повлияет на просмотры каналов? Мне кажется, они сильно снизятся

Ответить
30

Спасибо за новость, у нас тоже есть телеграм:D

Ответить
0

не всем такие уведомления приходят сразу

Ответить
7

Если вам показалось, что 125к на три платформы — это жирно, уверяю вас: это нормально и задача далеко не хелловорлд, по крайней мере для ведра :)

Ответить
1

Не хелловорлд, но и выглядит как просто подзадача обычной дипломной работы программиста, так потренироваться, чем реальный вызов

Ответить
12

но и выглядит как

если не разбираться - всё выглядит просто.

А если разбираться - становится понятно, что телега зачем-то хочет сэкономить. Конкурсы - это возможность очень дешево получить море некачественной информации. С нее, конечно, пользу можно извлечь, но такой подход больше характерен для крафтовой булочной. Ок, я в курсе про дизайн-девелопмент-конкурсы и от международных корпораций, но всё это популизм и шоу на публику, нежели взвешенные решения для широчайшей аудитории совершенно различающихся стран.

Ответить
0

А какие там подводные камни для андроида?

Ответить
0

Нельзя использовать сторонние библиотеки.
А значит:
- писать JSON-парсер самому с нуля
- рисовать графики самому вручную
- учитывать все особенности разных андроидов и девайсов
- что-то ещё

Ответить
1

писать JSON-парсер самому с нуля

Ну вообще в системе есть стандартный парсер, его брать не возбраняется

Ответить
0

Если выполнить первые два пункта, а это легко, то третий отпадет.

Ответить
0

Легко? Джуниор детектед...

Ответить
–1

Junior или нет, нормальный парсер написать легко, по крайней мере тем, кто внимательно читал книгу дракона. А нарисовать графики с помощью Vulkan или, в крайнем случае, OpenGL ES, может любой школьник, даже Junior не нужен.

Ответить
2

Парсер json написать изи, тем более никто не запрещает смотреть в готовые либы. Тем более что ваши ссаные кривожопые парсены на продакшене никому не нужны, никто их юзать не будет. На них даже смотреть при оценке не будут

Note: you may not use specialized charting libraries. All the code you submit must be written by you from scratch.

В оригинале несколько неоднозначно. Думаю телеграму важно получить качественную и быструю реализацию графиков, т.к. годных бесплатных вариантов под мобилки мало, а те что есть видимо не устраивают по перфомансу.

А нарисовать графики с помощью Vulkan или, в крайнем случае, OpenGL ES, может любой школьник

Зачем так уныло тралишь?. Даже просто рендер на ES2 уже не самая тривиальная задача для человека, который этого не делал. Конечно не рокет саенс, но и далеко не формошлепство. Графики писать с учетом скейлов и анимаций не сложно, но муторно, скучно и потому не особо быстро.

Выполнить это задание качественно и за разумное время непосильная задача для подавляющего большинства Android-мидлов.

Ответить
0

Это я тролль?
Решил посмотреть OpenGL 2.0 reference, но он насколько старый, что страничка не открылась. Как бы это даже не 4.5, где можно в первый раз сломать ногу о все шейдеры, в 2.0 их всего два. Как это может быть нетривиальной задачей?

Ответить
4

Это я тролль?

Ну а кто? Ты даже читать не умеешь

Сам много мидлов знаешь?

Ты сам то много Android-разрабов видел? Это люди которые кроме ведра ничего в жизни не видели, у них нет бекграунда как у разрабов старой школы. Они знают как разметку с кнопками делать, знают как обходить косяки платформа. Но вот даже скомпилять код на плюсах для таких уже сложно. А ты им предлагаешь узнать чем unfirorm от attribute отличается, прежде чем треугольник нарисовать.

OpenGL 2.0 reference

GL 2.0 != ES 2.0

на работе занимаюсь разработкой драйверов и даже мне эта задача по силам.

Проорал. Иди пообщайся с разрабами за пределами плюсового комьюнити, там как бы качественно более низкий уровень. Любой C++ мидл в мире андроида это как 2-3 местных сеньера по скиллам.

Как это может быть нетривиальной задачей?

Нарисовать треугольник по примерам любой даун может, а вот сделать нормальный рендер с текстурами(хотябы кружочки на графике рисовать) и шрифтами и еще с нормальным перфомансом - нет.

Т.е грубо говоря за 15 дней нужно:
- Научиться писать рендер на GL
- Узнать че такое шейдеры
- чем отличается вертексный от фрагментного
- uniform, atrribute, varying
- узнать че такое матрицы, зачем нужны
- прошарить про систему коррдинат в GL и ведре
- узнать че такое вертексы, индексы
- узнать про батчинг
- узнать как правильно биндить шейдеры, массивы веркексов и т.п.
- всякие там VBO и прочее
- текстуры и все с ними взяанное
- рендеринг шрифтов
это вообще отдельная тема, взять хотябы то, что работать с векторными шрифтами типа того же .ttf не получится, freetype брать нельзя, а сам так быстро не напишешь.
- веселье с проебом GL контекста
- Нужно написать сам график
- скейлы, зумы, вьюпорты
- красивый автоскейл
- анимировать это все
- реалтайм обновление этого всего
- нужно учесть кучу разных разрешений девайсов, заодно размеры текстур и сюрприз шрифтов.
- еще нужно успеть беспалевно спизить всякую ерунду вроде json-парсеров. - а ну и да, тут явно потребуется пара рендеров (ES 2\3 и вулкан в котором еще веселее)

И не забывай что все это нужно писать на джаве и желательно так чтобы не агрить GC. Писать каждый чих new Float не прокатит.

Сделать за указанное время и в требуемом качестве может только человек, который уже все это когда-то делал и имеет нужный бекграунд. У остальных получится в лучшем случае рабочий прототип. Типичный современный Android-мидл даже рендер толком не напишет.

Ответить
1

A canvas в принципе не рассматривается?

Ответить
0

Рассматривается. Но не факт что он даст нужный перфоманс. Единственный годный бесплатный вариант графиков под ведро сделан на канвасе, возможно телегу как раз это и не устраивает

Ответить
0

Но у телеги нет запрета на канвас и нет требования юзать OpenGL ES

Ответить
0

Верно. Но если джиельный вариант будет быстрее, то больше вероятность что он выиграет

Ответить
–1

OpenGL 2.0 != OpenGL ES 2.0

Ну хз, ниже скрин из Википедии. Я сам с таким старьем никогда не работал.

Знаю несколько Android-разработчиков, они все начинали с низкоуровневой разработки.

И по поводу твоего списка. Это же детский сад. Любой нормальный разработчик спокойно справится с ним за неделю.

Ответить
0

ниже скрин из Википедии

Как я уже говорил, читать ты не умеешь

Любой нормальный разработчик спокойно справится с ним за неделю

Ну сделай за неделю, посмотрим на твою кривую поделку

Ответить
0

Все понятно с тобой. Только орать про детский сад и умеешь. А как на деле доказать, так сразу минус и сливаешься. Траль.

Ответить
0

Работаю Android разработчиком последние шесть лет, много с кем общался - ни один не начинал с низкоуровневой разработки.

У кого-то из нас неправильная выборка.

Ответить
0

Ожидаю увидеть тебя в числе призёров.

Ответить
0

И в конце всего этого веселья нужно догадаться куда отправить результаты

Ответить
0

Я не хейтер, но влепил минус. Просто раздражает, когда человек, далекий от индустрии, начинает эксперта из себя строить.
Даже просто рендер на ES2 уже не самая тривиальная задача для человека, который этого не делал. Конечно не рокет саенс, но и далеко не формошлепство.

Тогда человек не разработчик.
Выполнить это задание качественно и за разумное время непосильная задача для подавляющего большинства Android-мидлов.

Сам много мидлов знаешь? Я на Android в общей сложности часов 300 потратил, на работе занимаюсь разработкой драйверов и даже мне эта задача по силам.

Ответить
0

Никто не говорит, что эта задача не по силам кому либо, кто может прожить 1000 лет и потратить на именно эту задачу год-два.

Тут вопрос, сможешь ли ты это сделать до конца поставленного срока. Ну хотя бы просо сделать, хотя бы не лучше других. Ну чтобы просто работала корректно и не вылетала. Пускай даже с дикими тормозами.

Ответить
0

Вагон и маленькая тележка. Зайди в группу, там пиздец творится

Ответить
0

А ты пилишь поделку?

Ответить
0

Уже сделал

Ответить
2

The criteria we’ll be using to define the winner are speed, efficiency and the size of the app.

проблема не в том что бы сделать чарт, а сделать приложение которое будет иметь максимальный fps, не будет жрать батарейку и при этом будет иметь минимально возможный размер приложения.

Ответить
0

> подзадача обычной дипломной работы

ну такие и не выиграют

Ответить
2

а кому так показалось?

Ответить
0

Жаль, что у них нет для .net программистов конкурсов. Плюсами со 2 курса универа не занимался

Ответить
15

А ещё чем не занимались?

Ответить
3

Конкурса для Delphi-программистов тоже нет. И PHP. И чего там ещё вы могли изучать зачем-то...

Ответить
0

Это к чему? C# 4 насколько я знаю по популярности. В отличии от того же delphi

Ответить
3

Это я к тому, что существует огромное количество языков и технологий, у которых есть свои поклонники. Но если вы хотите участвовать в конкурсах Телеграма, используйте технологии, которые выбрали разработчики Телеграма. Или ищите другие конкурсы. Раз си шарп популярен, значит и конкурсов должно хватать.

Ответить
0

очень глупо, языки выбираются из за возможностей а не из за популярности.

Ответить
–1

Куда результаты отправлять то?

Ответить
13

Отправляй мне в личку

Ответить
11

А это тоже часть конкурса. На сообразительность

Ответить
–2

google it, bitch

Ответить
2

Ох, наконец то.. ну теперь я уж вам господа дизайнеры душу то изолью!

1) Надо разделить чаты не по дефолту на вкладки (с людьми и групповые) а дать возможность пользователю лично определять тот или иной чат в созданную им вкладку и задавать ей название самому!!! Так же организовывать самостоятельно порядок расстановки этих вкладок!!!!!

Во многие чаты мы заходим очень редко, а в другие часто. Но они ранжируются по принципу появления в них новых сообщений. Хотя я им не придаю веса, а заходу по редкой необходимости.

2) дать возможность закреплять вверху неограниченное кол-во чатов в той или иной вкладке, а не пять как это сейчас работает!!!

3) добавить возможность создавать и организовывать вкладки в избранном!!! Т.к. это сотни сообщений и толку что у меня они в избранном, я год листаю что бы что то откопать!!!!

4) Так же, давайте смоделируем такую проблемную ситуацию. Допустим мы общаемся в профильном чате с кучей специалистов. Многие вступают в чат и друг друга не знают. Допустим человек видит толкового спеца в чате который предлагает услуги свои. Я знаю что вскоре мне нужно к нему обратиться но не сейчас. Сейчас мне ему писать нет смысла. Хочу сохранить его контакт, и я не могу этого сделать.

А хотелось бы так же, внутри телеграма как и чаты, сохранять контакты профильных специалистов в созданные вкладки. Ну это было бы вообще волшебно. Мне кажется некоторые бы удалили по два ребра что бы откланяться вам за это.

Я это говорю вам не из фантазии, это реально боль.

Смотрите скрин ниже. Как по вашему комфортно работать с нынешней навигацией в моем случае или не оч?

Ответить
1

Есть альтернативные клиеныт телеги с разделением. Тот же Teleplus. В официальном клиенте никто так делать не будет, т.к. в таком случае ньюфаги каналы читать не будут вообще, да и в целом у каналов аудитория упадет.

Ответить
1

ньюфаги каналы читать не будут

Скорее вовсе отпишутся

Ответить
0

Ну в beta-версии на macOS эта фича была, но потом на сервер-side заблокировали. Значит ее тестируют и когда-то она появится.

Ответить
0

Значит ее тестируют и когда-то она появится.

Или что ее протесторивали и статистика каналов на ней оказалась удручающей. Это более правдоподобно

Ответить
0

Людей в канал налетело) По 10 человек в секунду подписываются

Ответить
–4

Ну такое

Ответить
–2

Так а куда код то скидывать?

Ответить
1

Мне в личку.

Ответить
0

А ты уже запилил рабочую версию, чтобы скидывать?

Ответить
0

Функция управления своими каналами нужна, со статой.

Ответить
0

При этом нельзя использовать сторонние библиотеки, весь код должен быть написан с нуля.

Note: you may not use specialized charting libraries. All the code you submit must be written by you from scratch.

В оригинале поста говорится о "библиотеках для построения графиков". Парсинг json мало того что тривиальная задача, так ещё и конкурс явно не об этом, а о создании вьюхи для визуализации данных. Имеется в виду, что "вьюха для графиков" должна быть писана с нуля, а не всё приложение

Ответить
0

Они там пишут про отображение одновременно четырёх графиков. Нарисовать как бы не проблема. Вот удобно ли это будет при использовании. В демо они показали один график с двумя показателями.

Ответить
0

Кто-то из здешних занялся писанием этой поделки?
Я только сегодня увидел. Но в принципе времени ещё, чтобы запилить годную поделку.

Ответить
0

Это... Дык из здешних зубров программинга, кто-то пилит поделку?
А то я вчера узнал, так запилил уже парсер файла адекватный и визуализацию уже сделал с цветами - пока без динамики...

Ответить
0

"пока без динамики"

Cобственно, тут вся соль именно в динамике :)

Ответить
0

Сегодня уже дописываю мини риалтайм движок, на котором начну завтра уже всё двигать ;)

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }