Adem, please introduce yourself to the community. What’s your background?

I originally was a researcher in bioinformatics. I studied bioinformatics as I really liked the combination of studying a living system/organism (biology) and dealing with computers to solve problems (informatics). However, my interest in informatics was always bigger than for biology. I could clearly see my future self doing more development than data analysis. I always had some development-related side projects going on and I wanted to make a living out of them in the long run. I am now living my dream as I became independent last year in March and it is going really well so far. My main interest is at the crossing between blockchain and mobile development as I believe that mobile platforms are key elements for mass adoption.

Elastos Unity is one of the platforms developers can build upon in the Elastos ecosystem. Can you please describe the difference between building on Unity and Trinity?

The main goal of both projects is to provide useful tools for third party developers to implement mobile dapps on the Elastos platform. They both have advantages and disadvantages. For example, Trinity is running a complete runtime, whereas Unity is dependent on the existing APIs and SDKs. However, Unity provides a better mobile experience as it relies on native element of the different mobile platforms (iOS and Android). With Elastos Unity, it becomes very easy to create a new mobile dapp as the developers will have all they need to start working on their app without worrying about the whole blockchain part. The idea is to provide developers with a boilerplate mobile app that already contains all that is needed to connect to the Elastos blockchain. Therefore, developers only need to worry about the UI and creating nice and useful mobile Dapps.

What attracted you to joining the Elastos ecosystem?

I heard about Bitcoin about 6 years ago. I was following a programming oriented blog and they had a message stating that they were accepting Bitcoin donations. At the time I didn’t give it much attention (I should have…). From that day on, I always had the blockchain keyword in my head and wanted to do some development work related to that interesting technology that, later, I’d studied in detail. I was already working on mobile app developments so I thought I could join a blockchain project looking for a mobile dev. That’s how I started working on the QRL project to develop the mobile wallet for iOS and Android. However, I always believed that blockchain is more than cryptocurrencies, and I got interested in social media and sharing platforms oriented blockchain projects. The first time I heard about Elastos was on Reddit (the r/reactnative subreddit) where KP had a post and announced that they were looking for React Native developers to work on a new framework for Elastos. After doing my own research and talking to KP, I was convinced that I could bring my expertise to such a great project and create something helpful with other amazing developers.

How did you become the lead on the Elastos Unity project?

We started the project in October 2018 lead by KP. The project was initially under the control of the Elastos Foundation. The team was composed of ~4 core developers and more people were joining. However, at the end of the year KP announced to us that the project was going to end because of a lack of funding… I thought we might not work on the RN framework again and even started to develop a new mobile wallet for Elastos using what I learned so far from the project (don’t tell anyone, that’s a secret :p). One day, Kevin Zhang contacted us again via Telegram and asked about the status of the project. He was following the project and even created a simple proposal to get funding for the development of the React Native framework (original name of the project). He really motivated one of us to write a detailed proposal to the CR to continue the project. Unfortunately, KP didn’t have much time to continue leading the project and the team thought I could be a good fit. That’s how I got the task to write a detailed proposal to hopefully get funded and continue the project.

What is the timeline for Elastos Unity? Any exciting milestones coming up?

The project was split in 2 main parts: beta and release candidate. As of last week, we completed the beta release and developers can already use Elastos Unity to create new mobile Dapps. So far, we support the carrier and wallet functionalities. If it all goes well I am planning to write a new proposal that includes DID and HIVE in the near future. We are now working on the website and a command line interface (planned for the release candidate). So stay tuned 😉 

So far what are the challenges involved for you working on Elastos Unity?

Unity is more than creating an app. We are building the core system that developers will use for their mobile dapps. We have to rely on the existing SDKs and APIs developed by the core team. The main challenge in Unity was to bring the native functions to the JavaScript developers. The native libraries are usually written in low-level programming languages (C and C++) for better performances. With Unity we allow developers to use these native functions directly from JavaScript. We created bridges to allow the communication between JavaScript and native code. We thus had to deal with multiple programming languages and needed to pass data and convert the variables properly between each of them. In the end, a React Native developer will be able to call createWallet() function very easily without worrying about what is happening in the backlog.

How long have you been coding for?

I started coding almost 10 years ago with HTML and CSS (so not really coding, I have to admit…). I quickly switched to Python and R as these were the best for data analysis at the time. Then, for mobile development I used Objective-C (for iOS) and Java (for Android) until I discover React Native (JavaScript). I both really like and dislike JavaScript. It’s a great language that one can use almost everywhere (front-end and back-end) but it is lacking some features and therefore sometimes very difficult to debug. The JavaScript community is aware of that and are working hard to bring solutions such as TypeScript and Babeljs.

What other projects are you currently working on now or interesting ones that you’ve done in the past that you’d like to share with the community?

We recently launched the mobile wallet for the QRL project, it’s available for iOS and Android on the different appstores. I really like developing the wallet as it gave me a nice overview of the whole process for sending a transaction and communicating with the blockchain. I am also involved in the development of the mobile app for the Sapien Network project a Web3 social media platform. As a side project I am working on a new Elastos mobile wallet based on Unity, and if I have enough time I might submit it to the different app stores and make it available to the community… 

What will it take to recruit and retain great developers like yourself into the Cyber Republice ecosystem? What does CR need in order to succeed?

Thanks for the kind words.  First, I think more developers should be aware of the Suggestions section of the CR. If Kevin didn’t contact us I would have never heard of it and never wrote a Suggestions. It is a great resource and we should definitely let more people be aware of it. 

Second, I found the entry barrier a bit on the high end for developers. The different repositories need more documentation for beginners, or at least simple translations of existing documentations (often in Chinese). We are talking about a very big project here, so it is definitely not something easy to realize, but the community is growing and I believe that by helping each other we will provide great resources for newcomers. The recent creation of the Developer Experience (DX) team is one big step forward for Elastos mass adoption as I believe that to attract more users, we need to create some useful tools/apps first.

What type of hobbies do you like to do in your spare time that’s outside of the tech/crypto  space?

I am a big coffee lover, not only a drinker, but really–a lover! I like to know the coffee I am consuming, such as choosing the blend, the origin, the roast level… I love to choose the coffee machine and the coffee grinder I use. I am a beginner latte art maker, can draw some nice hearts (maybe even the Elastos logo soon)! 

I also like reading books, any kind of book; I am not picky. You first have to grab a book and start before judging whether you like it or not. It is just so mind opening to read other people’s thoughts, and it helps to try to understand the World around you.

I would like to thank the CR press team for having me on the platform and for all the great work they are doing to support the Elastos and CR projects. You da’ real mvp!

LEAVE A REPLY

Please enter your comment!
Please enter your name here