Integrate Virtual Reality experience in your apps

ExoPlayer has been a widely used library to implement customized video players into Android apps since it’s an open source library supported by Google. It is an alternative to Android’s MediaPlayer API providing many more out-of-the-box features as well as supporting a lot of video formats and sources. Hence, we can develop an advanced and tailored video player avoiding reinventing the wheel.

One of the many advanced ExoPlayer’s capabilities is allowing to integrate 360 video playback. This, combined along with Android motion sensors hardware, enhances VR experience in multimedia apps with no need for a special headset or peripheral devices; just using your smartphone or tablet.

Read the full article to learn how to implement a minimalistic VR app like shown in the video below with less than 70 lines of Kotlin code

You can also dig into the full source code, clone the repo and try it yourself.

Any question or suggestion is welcome.

Awarded project in CovidHack hackathon

FaithTech hosted a COVID-19-inspired online global hackathon held March 28th — April 4th, 2020, during the pandemic. Over eight days, 684 people from around the world made innovative technological solutions to address 10 challenges that communnities, churches and NGO were aching to solve. Teams submitted 55 solutions for consideration, ranging from social media chatbots to apps for food donors.
I had the opportunity to join people from Australia, Canada, UK and USA: Nathan Downey, Jana Owens, Jaya Brown, Kristin Sindorf, Iaan Osawaye, Jay Jordan Uy, Ashar Kandathil and Christian Lerrahn. All of us had very different backgrounds but the same burden: isolated and disconnected people in their communities. So we decided to work together with our tech skills in a project to solve this social problem, so here it comes Hello Neighbour app and a great team is born.

The Hello Neighbour team having the sync daily meeting

About Hello Neighbour project

We wanted to create something that would allow people to tap into the community that already existed around them but without barriers such as existing cliques, cultural differences and pressure of initiating conversation. We harnessed our diversity in nationalities, ethnicities, and age to discover a problem that can affect anyone – loneliness and lack of community. In settling on this problem, we wanted to make a platform that doesn’t attempt to solve issues directly, but rather uses technology to empower people in taking the initiative to foster community.
The project addresses the challenge to build a solution that identifies and supports at-risk geographical neighbours, including an easy method for checking in and helping their tangible needs.

How we built it

The team tackled a problem from initial idea to MVP during the hackathon. We walked through the design thinking process to define our problem. We conducted several meetings, brainstorming sessions, and public surveys to generate potential ideas for challenge we can tackle.
Once we entered the UI design and software development phase, we split the team into three teams of designers, mobile app developers and API developers. The teams re-synced daily to make sure that everything stayed aligned and integrated as quickly as possible between the different aspects. As was true for other projects at the Hackathon, the team had only 5 days to go from idea to a prototype.
The prototype used Flutter (Dart) for the front-end, the Python Flask framework, and XD to help with the design.

Mobile app source code is in a public repository at GitHub

The results

The Hello Neighbour project received the Community Award, as it is meant to be a tool to build and strengthen not only the church community, but the local community at large as secondary result.

The Community Award is given to the team that reflects the spirit of #covidhack, that is, overcame global challenges (The team had people in 5 time zones to coordinate), engaged online, encouraged other members, and built an excellent product!

Read more about the project in Devpost

For Such a Time as This

The Global Church has a great community of entrepreneurs in around the world. And during the devastating COVID-19 crisis, we began to innovate, take risks, and play our part with our unique talents to put on display the great love of Jesus Christ.
From all around the world, let’s keep up the innovation!

Jesus, in the Gospel according to Mark, spoke the following,

“Love the Lord your God with all your heart and with all your soul and with all your mind and with all your strength. The second is this: ‘Love your neighbour as yourself.’ There is no commandment greater than these.”

Mark 12:30-31

Read more about the hackathon in the Medium article

Advanced CI/CD for Android projects using Bitbucket and Bitrise

Nowadays with agile methodologies software development processes need to support frequent change, frequent builds (typically daily), multiple baselines, and multiple teams. When developing Android apps we have to detect bugs and issues as early as possible every time we integrate separate work developed by several teammates.  Furthermore we have to make it easy for QA testers to get the latest build for UAT, smoke testing, etc.  We have to thoroughly monitor the codebase’s integrity and the product’s outcome: an app that might be used by thousands of users that doesn’t like to have any software with glitches installed in their mobile devices. Bitbucket collaborates with CI/CD tools via webhooks to get instant feedback about any integration as well as triggering a build to deliver right away to stakeholders. Let’s see how easy it is to automate all this necessary workflow to save time and meet software engineers needs.

Read full article.

Or watch the video (spanish) along with the slides below:

Easy SQLite database debugging with Stetho

Mobile apps use to have their databases stored in the device in a SQLite .db file. So when debugging them we should have direct real time access to it with our development machine otherwise it could be painful and cumbersome. There’s a debugging bridge developed by Facebook team that enhances this task. Take a look to my post or watch the video.