Pushing forward

I won’t lie, so far, April has been a tough month. Lots of personal problems to iron out, disappointments, unplanned things and sleepless nights. Just another crazy chapter in the life of a developer… maybe. At the same time though, lots of positive stuff are happening. I’ve partnered with a non-profit organization to volunteer my time and expertise in the tech field to help make amazing things happen and also pushed out several new updates to two of my current apps “KAS Trivia” and “Rhema Bible (beta)”.

I also discovered a few new cool podcasts to add to my already growing list of daily listens. (I’ll probably share my podcast recommendations in a later post).

I’m not done though, over the coming months, I’m pushing forward with various projects. There are specific functionalities I want to implement in the applications I currently have out on Google Play and I am also looking at some new stuff as well regarding AI.

April has been such a bittersweet month for me but I have learnt so much. I’ve grown as a developer and as a person generally. There’s this song I keep going back to. It’s part of the Transistor Soundtrack (a beautiful hand-drawn game from Indie Developer Supergiant games, the people behind Bastion). The song is called We all become and I feel drawn to this song.

With April coming to an end, let’s see what May has in store. Either way, I’m excited to learn, grow and turn coffee into code… and stories.

Rhema Bible beta released to Google Play

hero_bible

Whoo hoo! Today, a new update has been released for Rhema Bible which takes it to another level. Yesterday, I released an update which introduced better theming support which meant that dark theme worked way better than it did previously. Work was also done on daily bible verse notifications (still a work in progress).

Today’s update 2019.04.15.01 greatly improves on theming support and introduces the new app brand colours, fixes some bugs, tweaks the user interface a little bit and is the first release available on Google Play.

rhema-dark   rhema-light

Here’s what’s planned for the future:

  • eBook support
  • Audiobook support
  • Audio sermons (in collaboration with Temple of Deliverance Grenada)

en_badge_web_generic

KAS Trivia update

feature_image

Today, I released a new update to KAS Trivia. This update should improve the overall flow of the game as well as start preparations for a bigger update that will add level of difficulty choices, category selection and levels.

This update primarily focuses on improving the user experience. Here’s what’s new:

  • General fixes and improvements
  • UI refinements including new fonts
  • Sound improvements
  • Push notifications

The game can be downloaded on the Google Play Store here

Living on the (Microsoft) Edge

[et_pb_section admin_label=”section”]
[et_pb_row admin_label=”row”]
[et_pb_column type=”4_4″][et_pb_text admin_label=”Text”]

As a developer, I use a combination of tools for writing code. I have never been a fan of Google’s Chrome browser but the developer tools in it is one of the best. Only Firefox’s dev tools can compare. For over 10 years, I’ve been using the Opera browser for most of my browsing needs and when they switched to the Chromium engine, I was thrilled.

edge_newtab

Come December 2018, Microsoft announced that they’d be switching their Edge browser over to a Chromium base and that news excited me extremely. I am a huge fan of Microsoft and their technology but hated the current version of Edge which always felt sub par to what was available so I never used it. When they released their version of Edge on Android, I was amazed at how fast and beautiful it was so I switched to it immediately. It is now my browser of choice on mobile.

About a week ago, a leaked build of Chromium Edge was made available and I installed it immediately and was not disappointed. I have been using it every day since but that changes today.

Today, Microsoft officially unveiled their new version of Edge to the world. There are three developer channels which mirror that of Chrome.

edge_channels

I am using the Canary build as I like living on the edge of technology (pun unintended). So far, the experience has been very smooth. There are many missing features but of course, these will be added as they release new builds over time. The browser connects to Microsoft services instead of Google’s, so for me, this is an additional plus. Below are some key things that made me switch to this new version of Edge:

  • It is based on Chromium
  • It has Chrome’s first class developer tools
  • Microsoft will actively help bring new features to and contribute their expertise to the Chromium project
  • It is beautiful, and features the Bing wallpaper of the day by default (corny I know)
  • It runs all of Chrome’s extensions (you can install them from the Chrome web store)
  • It is backed by Microsoft, they’re crazy about security and their tools are loved by enterprise
  • It is promised to be less of a resource hog unlike Google Chrome
  • It will play well with Edge for Android
  • It is cross platform with plans for a Windows 7, 8, macOS release (yes… even macOS)
  • It will import existing settings from Chrome for users who may want to migrate.

While everyone has their own choices when it comes to the tools they use, this browser will now become my daily driver and will be recommended to my friends and family when a stable release is ready.

Download the new versions of Edge here.

[/et_pb_text][/et_pb_column]
[/et_pb_row]
[/et_pb_section]

Changes

So its been more than a year since my last post. During 2018 and early 2019, lots of personal experiences both good and bad affected my ability to commit to regularly posting updates. I resigned from my developer job in Grenada in December (this was the best choice) and have since returned to Trinidad & Tobago.

This year in particular has proven to be most challenging for me thus far, I have had to re-evaluate many areas in my life personally and professionally. Ultimately, I’ve learnt so many powerful lessons and I am committing to applying them to my everyday life. I re-designed my website and blog, started a few new projects and have both short term and long term goals that I am working toward accomplishing.

  1. Life is short, we need to enjoy the time we are given.
  2. Live your truth. Some things are set in stone and some aren’t.
  3. The people you love will change you and help you become a better person.
  4. Hope is a powerful thing to lose.
  5. Use the lessons you’ve learned to push ahead.
  6. Scars will heal…. eventually.

Going forward, I am going to try harder to keep this blog active. It is one of the short term goals I have. I’m going to keep pushing out new addons and apps whenever inspiration hits and partner with cool people to make interesting things happen. This year may be tough but I’m fighting on.

Here’s to turning coffee into code… and stories.

Something awesome this way comes

kenicenoel_logo@3x

Took me long enough but a long overdue update to my main website and blog has been published. I have refreshed the kenicenoel.com and stronglytyped blogs with a new theme, new palette of green and white so that they both are more consistent with my branding.

I plan to publish updates much frequently on my blog about projects, development milestones, app updates and of course personal stories about what is happening in my life. Thanks for checking out the new site and blog and say hi. I like it when people say hi!

Happy new year

So for over 6 months, I have been absent from strongly typed. This was due to a few changes that’s taken place in my life. In July 2017, I started making plans to return to Grenada. One month later, I left Trinidad and Tobago. I have since started working as a software developer, primarily working on desktop related software projects using the .NET framework and the C# programming language.

This meant that I had less time to work on personal projects like the Doze app which took a backseat unfortunately. This year though, I intend to rewrite Doze from the ground up and may even consider an iOS release. I’ll also try to periodically update this blog and the main website (:

Finally, I wish everyone an awesome 2018. May all go as planned.

Code faster with QuickTools for Android Library

Today, I’m proud to introduce QuickTools, an Android Library that provides a toolkit that simplifies some tasks related to Strings, Colors and other functions.

Welcome to my first Android Library which combines several useful utility classes to make coding easier. You can be sure that more useful features will be added over time.

Getting started (:

Add the library to your project first

Step 1. Add the JitPack repository to your build file if it isn’t already there
{
   repositories 
   {
    ...
    maven { url 'https://jitpack.io' }
   }
}

Add it in your root build.gradle at the end of repositories

Step 2. Add the dependency

compile 'com.kenicenoel:QuickTools:v1.2'

Afterwards

In your fragment, create an instance of Toolkit. e.g Toolkit toolkit = new Toolkit(getContext()); Or, in your activity, create an instance of Toolkit. e.g Toolkit toolkit = new Toolkit(this);

Toolkit class

After you created an instance of the toolkit class, you can use two of its built in functions:

Generate random number

toolkit.generateRandomNumber(min, max); This takes an integer min and max range and returns a random integer with the min and max range included.

Is app installed?

toolkit.isAppInstalled(appPackageName);

example: toolkit.isAppInstalled(com.kenicenoel.doze); This takes a package name of any app and returns true if it is installed or false if not. It can be used for instance to take the user of the store or do somthing that requires the presence of another app.

Available tools

In this release, there are 4 kits that can take advantage of:

1. ColorBuddy

ColorBuddy is your helper that makes getting colors for your project a sinch. You can get a random color or add your own color. You can also use standalone e.g ColorBuddy colorBuddy = new ColorBuddy(); without first creating a Toolkit object.

Getting a color

toolkit.colorBuddy.newColor(); This returns a random color in the HEX format eg. #EA1E63

You can use this however you wish, example:

String color = toolkit.colorBuddy.newColor();
TextView header = (TextView) findViewById('testId');
header.setColor(Color.parseColor(color));

You can also add colors in a similar way

Adding a color

toolkit.colorBuddy.add('#EA1E63'); Add a color to the list of colors in the HEX format

Get all colors

toolkit.colorBuddy.getColors(); Returns an ArrayList of Strings of HEX format colors (ArrayList colorsList for example)

Get size of color list

toolkit.colorBuddy.size(); Returns an integer value of the number of colors

2. StringBuddy

StringBuddy provides some useful functions for working with Strings You can also use standalone e.g StringBuddy stringBuddy = new StringBuddy(); without first creating a Toolkit object.

Remove Non Alpha-Numberic characters from String

toolkit.stringBuddy.removeNonAlphaNumericCharacters(myStringHere); This returns a String with all characters that aren’t letters or numbers removed.

Convert to proper case

toolkit.stringBuddy.convertToProperCase(myStringHere); This returns a String in proper format e.g HEllo wORlD! becomes Hello World!

Strip HTML

toolkit.stringBuddy.stripHTML(myStringHere); This returns a String with the Html.escapeHtml function performmed on it

Get Current timestamp

toolkit.stringBuddy.getCurrentTimeStamp(); This returns a String of current timestamp in format: yyyy-MM-dd HH:mm:ss

3. SettingsBuddy

SettingsBuddy makes working with shared preferences easier. If you are using it stand alone, create like so: SettingsBuddy settingsBuddy = SettingsBuddy.getInstance(context);

If you created a toolkit instance then you can just use its functions like toolkit.settingsBuddy.functionName() without having to create the stand alone instance. The name of the shared preference is AppSettings and the context mode is Context.MODE_PRIVATE

Saving data

toolkit.settingsBuddy.saveData(key, value); This saves the key/value pair in the shared preference

Get data

toolkit.settingsBuddy.getData(key); This returns the value for the supplied key if it exists or the default value if non-existant.

Remove data

toolkit.settingsBuddy.remove(key); This removes the value for the supplied key if it exists.

Default value

By default the default value is “N/A” but you can change this: toolkit.settingsBuddy.getDefault(); to get the current default value or toolkit.settingsBuddy.setDefault(aStringValue); to set the default value

4. ZipBuddy

ZipBuddy makes working with Zip files easier. It provides 2 functions: Zip and Unzip. You can also use standalone e.g ZipBuddy zipBuddy = new ZipBuddy() without first creating a Toolkit object.

Zip files

toolkit.zipBuddy.zip(filesToZip, nameOfZipFile); This takes a list of files (string paths) to zip and the name to call the generated zip file and zips them

UnZip files

toolkit.zipBuddy.unzip(fileToUnzip, targetDirectory); This takes the zip file (string path) to unzip and the target directory to put the result and unzips it.

What is sweeter than Honey?

Today, I’m happy to release a new side project of mine called Honey for Co-op Bank. Honey is a new browser addon that makes the Grenada Co-operative Bank’s online banking website look a little more modern. I created this for myself because I grew fed up of visiting the site which looks a bit dated in my opinion. Honey uses a combination of CSS and JavaScript to update the page’s content and images moving the site from a boxed outdated layout to a full width, green themed layout.

I decided to release the early version to anyone who at least wants to try out the new look for themselves as it is (again, my opinion) a little bit better than the default implementation. This isn’t for everyone, but anyone can use it if needed.

How to get it

Currently, I am self hosting the addon which means that after installing it, you will need to enable it as most likely, your browser has disabled auto enabling extensions from unknown sources. Also, you have to trust that I will not include any malware in my software (I can proudly say that I do not). Download here

 

How to install?

To install Honey in your browser, simply right click the download link and choose ‘save link as’ or ‘save target as’ in Google Chrome. Then, open the menu > More tools > Extensions and drag and drop the crx file on that window. You’ll get a popup asking if you want to enable it.

 

Doze beta published to Google Play Store

I am happy to announce that Doze Alarm & Calendar has been published to the Google Play Store as a public beta. About two weeks ago, I published the app to Google Play. Since the last article, I’ve made several improvements, bug fixes, added new features and more to Doze beta. The app is much more stable and features improvements such as weather information based on the user’s current location, “Nearby”, a new feature which allows users to discover places near their current location that may be of interest. This feature is powered by the Foursquare API and the ability to get walking and driving directions is planned sometime in the future. As the app nears full non beta release, the Doze feature that allows users to choose when they usually wake up everyday so the app will only wake them up on days that aren’t public holidays is being worked on.

Thanks to everyone whose helping test this app.

Get it on Google Play