BaDumChh and the Beloved Retro ‘Apps’

I hereby announce my newest project, BaDumChh; a daily one-liner joke texting service.

The idea for BaDumChh came to me one evening during a startup weekend when I was working on something completely unrelated. I simply wanted to create a fun, quick app that could run (and hopefully sustain) itself, built on Twilio’s phone system. I was so excited about this idea originally that I had trouble sleeping that night just thinking about the possibilities and how I would go about implementing a service like this, where I’d get the renewable jokes from, a business model, etc.

Throughout the development of BaDumChh, and even more so now, I realized what I love so much about this idea (even more than the guaranteed smile on my face once a day) – the fact that this is a texting service and not a mobile application.

In a world that is constantly evolving and being populated with countless apps for any and all needs you can imagine (and probably some you can’t imagine), I’ve grown to miss some of the simpler days without having to download an app specific to each need or constantly see how many notifications I’m behind. That is one of the beauties that the Twilio API enables. Sure, I can’t send push notifications to my users. Or easily charge them through in app purchases. Or send app updates. But why use push notifications when I can text my user? It makes communication that much more personal. And if I set up my own payment system, I can avoid the standard 30% cut that instantly comes of the top from app stores. App updates? I can push up changes to my back-end any day and all of my users will be on the new, updated version instantly. That also means I have one code base to maintain, not 2 (or more if I wanted to support more than just iOS and Android). Not to mention that while most cell phones ever have text message capabilities, only smart phones (of a certain operating system, version, etc.) can support apps.

I was recently introduced to another app that works through texting instead of an app, Digit.co. Digit Savings will hook into your bank account and inform you of your spending habits and move money aside for you in a separate Digit Savings account. All of this through texts. That tiny fact makes me respect this up-and-coming start up all the more. Digit also does not even provide an app option (as of November 2015).

Another startup that works through texts is GroupMe. GroupMe enables groups to chat easily through a single phone number instead of the mess that group messages can be (especially on a dumb phone). The interesting thing about GroupMe is that while they operate through texts, they also have an app that you can use instead of texts. Through the app you get a few more benefits like sending and receiving unlimited messages (they have a monthly quota for texts), favoring messages, emojis and images, and no message length limit (which is and always will be a limitation of texts).

So what is the ‘better’ option, a text message app, or an app as we’ve all grown to know and love? I don’t think there’s a right answer (what a cop out answer…); I think it very much depends on what you’re trying to do. But in today’s super busy, hustle and bustle daily routine world, BaDumChh will remain a simple and elegant service that will put a smile on your face the old fashioned way.

The Homes, Sweet Homes Content Management System

For a while now, I’ve been managing the web site for NC Student Rentals. Having to constantly make small adjustments and updates led me to the idea for the Homes, Sweet Homes Content Management System; I would create a CMS that would give the owners of the site the ability to make those small yet crucial updates on their own, without having to go through me. Using my recently learned PHP skills, along with a custom database framework I built, I started construction.

The final product is a ‘niche-specific’ (as I like to call it) content management system, built for controlling a rental properties web site. It has the ability to add, edit or remove properties, add a custom stylesheet to the main site, have multiple user accounts, and even add a rental application. This was my first front-end AND back-end project, and boy did I learn a lot from it. The back-end must be secure to prevent outsiders from changing content. The front-end must be dynamic to factor in error on the user part. And there are many little features you need to include, such as notifications for the user, and convenience features on the front-end when the user is still logged in on the back-end.

The Homes, Sweet Homes CMS is now live, along with the front end of the site. You can view a demo here. Please check it out and let me know what you think. Have any ideas for it? Please shoot them by me.

This project was a monster, and, like just about any other project, took a bit longer than I expected to be pushed out. However, now that that’s done, I can get back to work on some interesting stuff I have in store for you guys 😉

Simple PHP + JavaScript CAPTCHA

While I was developing Fuck It All, I came across an issue that I’ve never had to deal with before. Since I was accepting user input that would in turn be posted on my site, I needed a way to make sure SPAM bots wouldn’t be able to make posts. There is quite a simple solution to this and I’m sure you have all come across it before, CAPTCHA inputs.

CAPTCHA inputs are small verifications, usually found on forms, which are easy enough for all humans to solve, but something that an automated machine wouldn’t be able to compute. These are commonly just a few words, but with some sort of distortion applied to them. Such text is, up until now, unreadable for computers. However, most humans can distinguish the individual characters without a problem.

For me to set up a system like that (without outsourcing), was way beyond what I wanted to do/had time to do. I could have easily used a publicly available widget and integrated that into my site, but I wanted to keep it classy and in-house. My friend helped me implement a simple CAPTCHA mechanism that can easily be implemented into a site using only PHP to generate the CAPTCHA and JavaScript to validate it.

HTML entities are reserved characters in HTML. To read more about HTML entities, go here.

Now for the actual CAPTCHA. Using these HTML entities, we can show a simple addition problem with two numbers. Most humans should be able to pass this quick test, while spam bots won’t be able to recognize what your site is asking them due to the HTML entities.

In your form, add the following PHP code:

<php 
   $num1 = "&#" . rand(49,57) . ";";
   $num2 = "&#" . rand(49,57) . ";";
   echo "<label for='captcha'>* <span id='captchaval1'>$num1</span> + <span id='captchaval2'>$num2</span> = </label><input type='text' name='captcha' id='captcha' maxlength='2' required /> (just making sure you're not a robot)";
?>

This generates two random numbers between 1 and 9 and tells the user to solve the math problem. Now we need to check if the user is correct using the following JavaScript code:

<script type='text/javascript'>
function validate() {
   var passed;
   var val1 = document.getElementById('captchaval1').innerHTML;
   var val2 = document.getElementById('captchaval2').innerHTML;
   var captchaval = document.getElementById('captcha').value;
   var result = parseInt(val1) + parseInt(val2);
   if (result != captchaval) {
      passed = false;
   } else {
      passed = true;
   }

   return passed;
}
</script>

By returning the ‘passed’ value to the form, you can check whether the user got the simple math question right or not. From there, you can handle the form submission as you please.

I would also like to thank my good friend Daniel for bringing this to my attention and helping me out with this code. If you have a second, you should check out some of his stuff as well. Right along the same alley: http://omniimpact.com/

Thanks for reading! I hope you guys enjoyed my first code posting!

Fuck It All

For a while now, I’ve been working on a new project. Fuck It All (FIA) is a simple site where you can go online and rant about anything anonymously. The domain? http://f.ckitall.com.

It’s a very simple concept but I have not seen it done well. In my research prior to the production of FIA, there were a few alternative sites with similar functionality, but I was not happy with their design/simplicity. I believe I have managed to create a site with that specific function, but with a very simplistic design and no unnecessary bells and whistles.

FIA was my first legitimate project working with a database. I can proudly say that I am now pretty sufficient with PHP, MySQL and the sorts. Working on FIA has also given me some excellent ideas I can start working on to push out to you in the future.

I have been waiting a while to release this product; lots of last minute adjustments and delays. Even so, I am very proud of the final creation. Please let me know what you guys think about it in the comments! After you post to FIA, of course 😉