Posted by: Tharindu | January 31, 2023

Gifted iOS app for Digital Gift Cards

Gifted iOS app is a product of The Gifted Company AB. I’m happy about joining the Gifted team and being part of the mobile team while developing this iOS app. The mobile apps give a smooth digital gifting experience, including the ability to buy digital gift cards from the most prominent global brands, cinemas, and even local retailers. The app also enables customers to maintain digital wallets, add image & video greetings with gift cards, and share gift cards with friends, colleagues, and family instantly via messages.

Download Gifted on iOS store

Posted by: Tharindu | July 18, 2021

Sanhinda Sinhala Typing Pad for iPad and macOS

Sanhinda was the very first individual iPhone application I have built and submitted as an individual app for myself in early as 2011. The iOS app became the #1 iPhone app for Sri Lankan Apple App Store in December 2011.

Since then the app didn’t make much progress until I wrote the initially written ObjC code again in Swift recently with a Keyboard Extension. The motivation for the re-write was mainly due to a concern raised by one of my friend Thishya Weragoda regarding the privacy concerns over the widely adopted Helakuru Keyboard. We believed that the popular app retrieves quite a bit of personal information that is not quite required at all for a Keyboard app.



Thus, we believed that there should be major improvements for the decade old 100% Offline Sanhinda Sinhala Typing app for the users who are concerned about their privacy and personal information. There have been major improvements and bug fixes for iPhone app and published the app totally free of charge from its users.

Thereafter, I have worked on an iPad version of Sanhinda iPhone app and found that macOS version would be handy as same as a iPad version. Therefore I’ve used macCatalyst to build mac versin. The iPad app is optimized for larger displays and comes up with a full featured Sinahala Keyboard. The mac version works on any Mac with macOS 10.15 (Catalina) or later. iPad and Mac app is available for a modest 2.99 USD one-off charge.

Sanhinda Typing Pad iPad app Screenshots

Sanhinda Sinhala Typing Pad macOS app Screenshots

Posted by: Tharindu | October 22, 2020

Paylinks Android and iOS Apps

We have planned a quite an exciting app during COVID-19 pandemic at Vesess. The mobile app was called Paylinks and it enables users to quickly share payment links to get paid. Initially payment links can be paid either via Paypal or Stripe. We have also added support to print the links as QR codes and receive unlimited payments if you wish to, as well as partial payments. Since we wanted to deliver the idea into market in a quick time I have suggested that we would implement it with Dart programming language using Flutter SDKs. The execution was very smooth and we were able to get the native experience using Flutter SDKs.

For me I would recommend Flutter over React Native for a Hybrid mobile app development, obviously if you are not coming from a solid web development background. The main reason is that Flutter apps run as native apps without a java script runtime behind. Similar to a Game Engine flutter renders the dart code into a fully native app on both iOS and Android platforms. With the Google’s backing the documentation and support is really fascinating and executions are straight forward.

Following slideshow shows how the same flutter code renders app on iOS, and the next slideshow shows how it renders on Android OS.

Posted by: Tharindu | April 14, 2020

Survey Article on Blockchain Technology

I have been reading part-time for my Mphil degree since couple of years at University of Kelaniya, Faculty of Computing and Technology, while working full time for Vesess. My main research include working on developing a protocol to simplify management of cryptocurrencies, which is already in progress. The research started with a survey paper on blockchain technology. This has been my very first experience on formal scientific article writing in addition to usual writing I did for academic purposes during my BSc at University of Moratuwa, Faculty of Information Technology. After going through several revisions with the guidance of Kelaniya University mentors (Dr. HD Weerasinghe and Prof. NGJ Dias) and SN Computer Science journal review panel, I was able to get my publication online on Springer.

Within the survey paper, we have aggregated all the core concepts of blockchain technologies for future researchers and readers who are initiating their studies in the particular technology. Once we started researching this technology, many of the concepts were scattered on different sources such as academic journals, technical reports, books, and research papers. With this paper, we believe that we save quite a lot of time for future readers by presenting blockchain technological terms together within a single survey with heaps of useful technical details. The final publication is available at https://link.springer.com/article/10.1007/s42979-020-00123-0

Cite this article

Gamage, H.T.M., Weerasinghe, H.D. & Dias, N.G.J. A Survey on Blockchain Technology Concepts, Applications, and Issues. SN COMPUT. SCI. 1, 114 (2020). https://doi.org/10.1007/s42979-020-00123-0

Download citation

A Survey on Blockchain Technology Concepts, Applications, and Issues at Academia

I recently realized my Gmail is running out of space and I need to clear up some unused or large Emails, and clean up Google Drive space. I hardly used Google Photos. And most of my space was used by Gmail. In addition to standard 15 GB space I also had 2 GB additional free storage which was acquired by a security check up enabled by Google few years ago. Out of my 17 GB space only 1 GB was used by Drive, 0.02 GB for Photos, and nearly 15 GB by Gmail. I did few things that easily got me nearly 2 GB storage space re-claimed. I would like to list the steps I did, so it would be useful for anyone to quickly claim some useful space for Gmail emails.

  1. How to Re-claim space in Google Drive?
    1.1 Visit the following link to see your files listed from largest to smallest.
    1.2 Put files you don’t want in to the Bin with Right Click & “Remove”
    1.3 Goto Bin from left side navigation. Press Ctrl+A / Cmd+A (Mac) to Select All. Right Click & “Delete Forever”
    trash
  2. Read More…

Sanhinda iOS app was my very first personal app, which I have submitted into Apple AppStore way back in December, 2011. The initial version was written in Objective-C and the app helped to type in Sinhala using the English Keyboard on iOS devices. The app got huge attraction in 2011 and reached #1 rank in Sri Lanka Apple AppStore on 22nd December, 2011. The design for this app was done by one of my friend Julian.

After a while, I have totally forgotten this app and recently a person I have met got a requirement to type in Sinhala, but the existing apps on iOS lacked ability to type letters with yansaya (ex. ද්‍ය). What I noticed was my old app was not compatible on iOS 11 and also the app is not having the custom keyboard (This feature was later introduced on iOS 8). I thought I would re-write the app in Swift to support this requirement to help anyone wanted to type Sinhala properly on iOS devices. Therefore, I have re-written the whole app in Swift with an additional Sanhinda Sinhala Keyboard Extension, which could be used to add additional keyboard into iOS device keyboards list. As well as that you could also learn to write using Sanhinda iOS app and its helpful note pad.

To enable custom Sinhala Keyboard:
1. Download and Install Sanhinda iOS app from Apple AppStore.
2. Goto device Settings > General > Keyboard > Keyboards > Add New Keyboard…
3. Select සන්හිඳ Keyboard to add additional keyboard to type.
4. You can switch between keyboards using Globe icon in English keyboard.

 

 

I have started developing CoinTracker iOS app as a side project during my spare time, and I first published CoinTracker iOS app to the Apple app store on 28th. September 2017. It garnered a lot of interest very quickly and was loved by almost everyone who used it. Following positive customer suggestions, I have made a number of improvements to make a brilliant product even better.

One of CoinTracker’s strongest features has always been its simplicity and ease of use. It was designed from the start so that even novices could use it. CoinTracker users tell me constantly how much they appreciate being able to track their crypto-currencies without CoinTracker getting in their way. I truly believe it is this simplicity of design and function which sets CoinTracker apart from its many competitors.

And what of the future? Well the good news is, following initial success on iOS, I now have a friend working on producing an Android version as fast as he can. We have been working on the Android version for about one month and its gaining a lot of interest as well since its initial release just like for iOS app.

CoinTracker iOS app reached over 1000 daily active users yesterday 4th. January 2018 (within just over three months from initial release). I was so excited about the success within a short period. When it first reached 100 daily active users I was so happy and I have posted in Indie Hackers forum and got some suggestions on how to bring it to the next level. And those suggestions really helped too and the exponential growth in last three months was amazing. My friends also helped me with suggestions on how to improve the app too addition to lots of feedback came from CoinTracker users.

I would like to thank all CoinTracker users for helping this grow and we would work hard to make the app even better and we have certain plans to introduce unique features in next few months, which were never included with any crypto app before. Stay updated with my blog and our social media channels Facebook, Twitter for CoinTracker latest releases with these new and unique features.

CoinTracker (Cryptocurrency Portfolio Mobile App) has been my pet project for last couple of months and it has been very much appreciated by cryptocurrency users around the world since its first release in late September. As lots of requests came in I was very much excited to give new features for this app during last month. Very much CoinBase like beautiful hourly, daily, weekly, monthly, yearly, and all time charts was one of the many exciting features added during a small amount of time. The last main update with version 1.1.4 was to introduce an in-app purchase to expand the cryptocurrency set support to 1000+ full cryptocurrency list. I was so quick to release this exciting feature in Saturday (4 November) with one time payment of 0.99 USD to unlock full cryptocurrency set. Interestingly it was approved so fast just few hours waiting for review in queue. That was so fast, when I realized the receipt validation had happened against Apple’s Sandbox server. Soon after I have submitted an update 1.1.5 Saturday night itself but had to wait couple of days to get it approved on Tuesday (6 November). This fixed version unlocks portfolio tracking, beautiful charts and all other free features with a limited cryptocurrency set to a cryptocurrency set of over 1000+. I was able to have money for a coffee in a single day (appeared in iTunes Sales Reports) and so excited about encouragement given by its users.

   

   

 

Posted by: Tharindu | September 29, 2017

CoinTracker: Cryptocurrency Portfolio Mobile App

I always had an idea to build a Stock Tracker mobile app and started working on it on my spare time and suddenly had to give up, as there were no free public APIs to access necessary data in different stock exchanges. Meantime one of my Crypto interested friend suggested about this idea about lack of a good cryptocurrency portfolio iOS app, which resulted in changing that Stock Tracker design from light theme into a dark themed Coin Tracker iOS App. The research and development was pretty quick for the initial version and have got so many ideas to extend the basic version into much more sophisticated cryptocurrency app.

Meantime, you would love to download this interesting app from Apple AppStore with following link.

I have added couple of app previews and few screenshots to make you more interested about this app.


   

   

   

The guide for Gitlab Android CI integration contains information on how to integrate CI with Gitlab. But the official guide contains little bit out dated .gitlab-ci.yml file.

The script in yml tries to download a tar file but the latest sdk contains as of zip format. Therefore I had to modify the script slightly to download the right android sdk and set the $ANDROID_SDK_HOME correctly with the above change.

If you have trouble setting up Android CI for Gitlab project please try using the following code in gitlab ci yml file.
If you want to run unit tests for debug only with more details use the following command instead.

./gradlew testDebug --stacktrace

 

image: openjdk:8-jdk
variables:
ANDROID_COMPILE_SDK: "25"
ANDROID_BUILD_TOOLS: "25.0.2"
ANDROID_SDK_TOOLS: "25.2.5"
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/tools_r${ANDROID_SDK_TOOLS}-linux.zip
- unzip android-sdk.zip
- export ANDROID_HOME=$PWD/
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter android-${ANDROID_COMPILE_SDK}
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter platform-tools
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter build-tools-${ANDROID_BUILD_TOOLS}
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter extra-android-m2repository
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter extra-google-google_play_services
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter extra-google-m2repository
- export PATH=$PATH:$ANDROID_HOME
- chmod +x ./gradlew
stages:
- build
- test
build:
stage: build
script:
- ./gradlew assembleDebug
artifacts:
paths:
- app/build/outputs/
unitTests:
stage: test
script:
- ./gradlew test
functionalTests:
stage: test
script:
- wget --quiet --output-document=android-wait-for-emulator https://raw.githubusercontent.com/travis-ci/travis-cookbooks/0f497eb71291b52a703143c5cd63a217c8766dc9/community-cookbooks/android-sdk/files/default/android-wait-for-emulator
- chmod +x android-wait-for-emulator
- echo y | $ANDROID_HOME/tools/android --silent update sdk --no-ui --all --filter sys-img-x86-google_apis-${ANDROID_COMPILE_SDK}
- echo no | $ANDROID_HOME/tools/android create avd -n test -t android-${ANDROID_COMPILE_SDK} --abi google_apis/x86
- $ANDROID_HOME/tools/emulator64-x86 -avd test -no-window -no-audio &
- ./android-wait-for-emulator
- adb shell input keyevent 82
- ./gradlew cAT
view raw .gitlab-ci.yml hosted with ❤ by GitHub

Older Posts »

Categories