The Best Way to Learn Mobile App Development

If you start looking into it or have already been researching on ways to learn mobile app development, you come to find out that there is a wide variety of options and decisions you have to make regarding how to learn Mobile App Development. I wrote this guide to help you get started in hopes that it will save you some time and get you coding your own mobile applications faster.

The Many Paths to Learning Mobile App Development

As I mentioned above, there are many different options when it comes to learning mobile app development. Here are just some of the decisions that you will have to make when first getting started with the development of mobile applications:

  • Android, IOS or Cross-Platorm – Do you start out learning to program for Android, IOS or both? What about other Operating Systems? Well the truth is, there really isn’t any other significant Operating Systems, Android and IOS hold about 98% of the market share right now, a mobile development team from UK finds. Worldwide, Android holds 75.22% of the market, while IOS controls 22.76% for a combined market share of 97.98%. So are we worried about the missing 2%? No, not as beginning developers breaking into the market, we’re not. The ratio of Android to IOS users varies significantly from country to country, so if you want to learn more about individual countries, you can go to https://deviceatlas.com/blog/android-v-ios-market-share and read all about it.  U.S. market share is a little bit unclear since I’ve read reports for the end of 2018 that put Android on top and conflicting reports that put IOS on top, so lets just say  it’s roughly 50/50 in the U.S. IOS usage is higher in countries with better economies. As most people know,  iPhones do not come cheap! I just read online that the new iPhone XS is selling for over $1500 dollars! That is much more than I ever care to pay for a phone, but it is impressive with 512gb storage and 4gb of ram. That’s almost as powerful as the laptop I use, amazing! In my opinion, that’s more than most of us need though. There are times when it would be nice, but most of the time I don’t think we need that much power in our cell phones. Surely not the average user at least. So, all arguments aside, Android is the clear winner to me because they have the largest market share world-wide and all of the multi-platform method of mobile app development I’ve seen and tested so far have not been good enough to build commercial applications with yet. So i think you should either pick Android or IOS to start with and eventually learn to develop for both since there is no viable cross-platform option available yet that I’ve seen.
  • What IDE, Framework or coding platform do you use? This question is heavily reliant upon the previous question because it mostly depends on what Operating System you have chosen to develop for. In my case, I’ve chosen to develop for Android first, so after checking out most available options, I’ve decided to go with Android Studio. I selected Android studio because it seems to be the most intuitive and it is very well documented. There’s nothing worse than downloading a new program and finding out that there is hardly any documentation on the web regarding how to operate that program. You won’t have that issue with Android Studio. It came out in May of 2013, so it’s been around for over 6 years now and has built quite the reputation in that short amount of time. I don’t think any of the choices available today are going to have been around for anymore than ten years or so just because the technology is so new. I did try a few other IDEs first and Android Studio was the one that I was able to build a working app the fastest on and it didn’t leave me scratching my head and thinking “Wow, I created an app, but I have no idea how I did it” as some of the other IDE options left me thinking. It’s also important to note here, I feel, that I have no reason to endorse any of the decisions I’ve made in this guide. No one paid me to write this and I do not endorse any products unless I truly think they are the best, but I have not been paid by anyone to endorse anything. So, if I say something is the best, I truly believe it is the best option. It’s as simple as that. That’s hard to believe sometimes in today’s fast paced economy, but it still holds true with me.
  • What coding languages do you learn? Again, this answer is dependent on how you answered both of the questions above, so my choice will only be relevant to your situation if you also choose to develop for Android. The official language for Android development is Java. There is also Kotlin for Android Studio users. Kotlin apps will run on any machine that supports the Java runtime environment and because most machines can, Kotlin is a relatively easy way to create android applications. If you chose to go with IOS on the other hand, Objective-C and Swift are the two most commonly used programming languages for IOS app development. My first choice was Java because it’s been around the longest for use with Android and seems to be the most documented of the two. Kotlin is newer and may have some neat new features, but for now, I’m going with old reliable…

Okay, so that about covers it, the three bullet points above cover the three most important questions you have to ask yourself when you first get into mobile application development. I took my time making the decisions I made to go with Android Studio IDE and the Java programming language to start building mobile apps with, but I can also learn the alternative methods after I perfect these Android application development methods. A true developer is always learning. They say you will need to know about seven different programming languages to be an expert mobile application developer. That sounds about right to me because that’s how many languages I had to learn to be an effective web developer. Speaking of which, I did look into using the languages I already know as a web developer for mobile application development. While there are platforms that make it possible, such as Cordova, in the end they are mostly using techniques to convert the code you write into Java anyway, so I figure it’s faster and more productive in the end to just start learning Java for Android Mobile Application Development. I may look into ways to convert my Java Apps into IOS apps when I am done making some mobile apps with Android Studio, but I suspect I will eventually learn to develop separate apps for IOS in the end.

What Programming Language is Best for Mobile App Development?

If you’re a web developer and are considering getting more into mobile application development for IOS and/or Android operating systems for mobile phones, then you are likely go ask the question, “What Programming Language is Best for Mobile App Development?”.

The answer is somewhat complicated because there are many answers. To narrow down the possible options, and as someone who prides themselves to currently working on the Devio.digital website, I am going to make some premature yet sagacious conjectures. I will assume that you, like myself, like to stay away from platforms and drag and drop type UI tools to program with. I will also assume that you want to develop something for both Android and iPhone, not just one or the other.

Considering the above assumptions, there are still many options, so what makes it such a complicated choice? In my opinion the main factor that makes it so difficult to pick a coding language to specialize in for mobile app development is the fact that there are two main and competing mobile platforms that have chosen to use different languages with their operating systems. Of course I am speaking about Android Vs. iOS.

Android Vs. iOS, Which is More Popular?

A quick Google search shows me that just over 85% of smartphones are Android, while most of the remaining 15% are Apple iOS phones. According to an article I read on 9to5mac.com, Android and iOS together account for 99.1% of all smartphones in use today, which makes any other devices almost pointless to develop for. It is worth mentioning that of the 0.9% of devices that are not running Android or iOS operating systems, are mostly running Windows operating systems. Windows OS accounts for  0.6%, while 0.1% are Blackberry and the remaining 0.2% are various other operating systems that are not popular enough to be worth even mentioning here.

Best Languages for Android OS

JAVA

Since Android controls the majority of the market for smartphones today, let’s look at them first. If you are going with the most popular answer, than Android wins by far! Android operating systems use Java. If you are coding an app for Android phones, Java is most likely going to be your best programming language to choose as the base language for your app. In reality, many apps use a combination of several different languages. However, in my experience your language of choice will make up the majority of the app’s code.

Kotlin

Kotlin, a second app development language option, was designed and developed by JetBrains. They are a Czech company known for the popular IDE, IntelliJ IDEA. Google’s Android team recently announced that they are officially adding support for the Kotlin programming language. Kotlin was created to address some of the Java issues. Some say the Kotlin syntax is clean, simple, and leads to less code bloat.

Best Languages for iOS

While Apple’s iOS operating system only accounts for roughly 15% of the smartphone market, that is still a significant number of devices out there. Smart developers create apps for both Android and iOS, whether it be with separate apps for each or some sort of platform used to create a mashup that will allow a single app to function on both operating systems.

Apple iOS apps primarily use SWIFT or Objective-C

SWIFT

SWIFT is a quickly growing open source language popular with many starting out with app development today. Apple has heavily promoted the use of SWIFT making it clear that they intend for SWIFT to be the leading language choice for iOS application developers.

Objective-C

Objective-C was the original language of the iOS operating system, but is being phased out apparently since Apple is making it clear that SWIFT is the future, then that leaves Objective-C stuck in the past. While it is still a viable option, I would suggest using it only on an as-needed basis for iOS application development purposes.

Cross -Platform Mobile App Language Options

For some of you, particularly those of you who don’t want to make two separate apps, a cross-platform language option might seem more attractive. A cross-platform language in this context, is one that will allow a mobile application to function on both Android and iOS without the need to make two applications, one for each OS.

JavaScript

If you started out as a web developer as I did, then you are surely familiar with JavaScript. Not to be confused or associated with Java, JavaScript is it’s own language despite the similar name. JavaScript is very versatile in that you can complete many different types of tasks using the language. It is probably one of the most popular cross-platform options because it is effective and rather light-weight.

Several JavaScript frameworks exist today that target the mobile application development market. While I am not a huge fan of most frameworks in general, some of these deserve some serious consideration none-the-less. Some of the well known JavaScript frameworks popular today include PhoneGap by Cordova, Angular.js, jQuery Mobile and React. There are many more that are worth researching if you are looking for a cross-platform JavaScript framework or library to help build your next mobile application for Android and iOS. Actually, JavaScript apps will also work on the other less used Operating Systems as well such as Windows OS and Blackberry.

How to change DNS settings on your local PC

Have you ever been working on a website, changed your DNS settings over to a different server and later needed to access that server again from the old domain name for some reason? Well if you are an active developer, this situation is somewhat common. I’ll explain or you can skip the rest of this paragraph to quickly learn now to do it. Let’s say you own the domain name example.com and a web server with an IP address of 111.111.111.111. Now assume you have a WordPress blog on that server that you had to move to another server with IP 222.222.222.222. Let’s say you already changed the DNS settings for domain.com to point to the new server with IP 222.222.222.222 but you need to go back to the original WordPress site on the other server with an IP of 111.111.111.111. What do you do? We all know a WordPress site won’t function properly with just the IP address, so that is out. What you need to do is repoint example.com to 111.111.111.111 in order to access that WordPress site again. What a PITA, right? Well read on and I’ll show you a fast and easy way to make the site on the original server work with example.com even after you’ve pointed it to another IP address or web server! It’s as simply as controlling a local host file on your local PC to make example.com route to 111.111.111.111 even though the internet routes it to 222.222.222.222! Here’s how:

Using hosts file to override DNS settings for your PC

A lot of people don’t realize that when you make a request to the Internet using your local computer it first checks a local copy of the hosts file for an entry and only if one isn’t present it goes out to the Internet DNS servers. Therefore there’s an opportunity present for you to redirect example.com only for your own PC if you wanted to! Because there are also Affordable Mac Repairs in ipswich stores where you can get cheap laptops to try out these steps. Here are the easy steps:

  1. Open file explorer and navigate to C:\Windows\System32\drivers\etc.
  2. Open the file named “hosts” in notepad or another text editor that could be used as a code editor such as Notepad++, which is what I use.
  3. Now simply add a line to the end of the hosts file that contains the IP address of the server you want to route the domain name too followed by a space and then the domain name you want to reroute. So in our example scenario above, you would enter a new line that reads simply: 111.111.111.111 example.com
  4. Save the hosts file and open your browser and navigate to the domain which in our example was example.com. Note that there is a difference between example.com and www.example.com, so if you want it to work with www, you have to add another entry for www.example.com.

If you’re using Notepad++ or similar as I was, you’ll need to open it in administrator mode in order to be able to save the hosts file. Good luck! That’s all there is to it. IN case you failed, a mobile computer repair specialist operating near Boynton Beach is always ready to help.

How to change local DNS settings on a Mac

If you’re on a Mac, the instructions are basically the same but do this instead:

From the terminal, type:

nano /private/etc/hosts
and then add the IP and domain name as described above, so the only real difference between Mac and a PC when it comes to changing DNS settings is that you will use a different editor and the hosts file is located in different places.

 

 

Make a Bootable El Capitan USB Drive for Mac from Windows PC

After a couple days of random Google searches, I finally was able to put together enough information to figure out how to make a bootable USB drive to restore my Mac using a PC. Yes, my Mac took a dive, a huge one. It won’t even start up, so I found that the only possible way of fixing it on my own without taking it into the shop and spending hundreds of dollars I can’t afford, was to try to re format the Mac’s Hard Disk and install the latest version of OS X on it. I am crossing my fingers it will work! TIP: before you start, you might want to get the os x software .dmg file download started because it’s over 6gb and takes a while. Click on the first link under the Download OS X Software heading below to get that going and you can take your time with the rest.

Download OS X Software

The first thing you want to do is download the El Capitan Software from one of the following links:

The best option for me was to download the .dmg file directly from:

https://drive.google.com/folderview?id=0B8s8_mgNDN5scDI4R0VTUVpkQUU&

usp=sharing

Beware that it is a 6.2GB file and will take quite some time to download in most cases.

If the above link doesn’t work for any reason, you can try this second one if you are good at piecing together the .rar archives:

https://goo.gl/8CGh5L

 

 

Download TransMac

The first step to creating your El Capitan USB dongle using Windows is to download TransMac, which can be done free of charge using the following link:

http://www.acutesystems.com/scrtm.htm

Click the above link and then click on the hyper link that reads “ tmsetup.zip” towards the top of the resulting page.

Once you have the TransMac .zip file downloaded, if it’s not already on yoru desktop, move it there so you can follow this tutorial easily. Unzip it to your desktop and click on the setup file to install it. You can accept the defaults while going through the GUI. It’s nothing very important, just get to the “install” button at the end and click it and you are golden. Before clicking on “Finish” however, you should uncheck the “read me” and “run” options because we have to run it a certain way as you’ll soon see.

Now’s a good time to insert your USB stick, thumb drive, dongle or whatever you call it. Backup any files you want to save and erase them from the USB drive to be safe.

Next, right click on the new shortcut icon for TransMac the install process should have created on your desktop and select “run as administrator”. You will want to then run the free trial.

Once TransMac is running, select your USB drive from the menu on the left by right clicking it and choosing the “Format Disk for Mac” option and clicking “yes” to continue if a warning pops up about losing files or formatting etc…

You’ll be asked for a Volume Name next, enter something like “EL Pwn Version” and click “ok”. Soon, it will say “Format Complete” and click “ok” again.

Again in the left side of TransMac, right click on your USB drive and this time select “Restore with Disk Image” and then select the copy of the “EL Pwn Version.dmg” file you should have downloaded to your desktop earlier.

 

 Summary and Credit

If you follow along with this tutorial closely, hopefully you were able to get a copy of El Capitan installed on your Mac using only a Windows machine to build your bootable USB flash drive. I have to give credit to the YouTube video at https://www.youtube.com/watch?v=NjTLYJXM8u4 because it was the only source I found online that even remotely covered how to do this successfully.

 

 

How To Take a Screenshot in Windows

I just upgraded to windows 10 and thought maybe I wouldn’t have to download a screenshot application like I’ve always done to-date, so I Googled how to take a screenshot in Windows 10. Supprisingly, I learned that Windows has had a screenshot keyboard shortcut even before Windows 10. I tried this on Windows 8 and it worked too!

How to take a screenshot in Windows

All you have to do is hold down the windows key(on the lower right side of your keyboard between the fn and alt keys. It’s the key with the window symbol on it.) and simultaneously press the “prt sc” key(found in the upper right portion of your keyboard, normally not far from the f12 key).

Fix Asus Touchpad After Windows 10 Upgrade

Today I spend a few hours trying to figure out how to fix the touchpad on my Asus laptop after installing the new Windows 10. It was not easy to find this fix, so I am posting it here. All you have to do is download the Windows 10 version of Smart Gesture and you will be able to control your touchpad once again after installing it.

Problems this fixes include:

  • Not being able to turn of tap to click
  • scrolling problems
  • no controls for your touchpad after windows 10 upgrade
  • Control panel link to smart gesture not working
  • many other possible touchpad issues after installing Windows 10

The download:

dlcdnet.asus.com/pub/ASUS/Commercial_NB/Apps_for_Win10/SmartGesture/SmartGesture_WIN10_64_VER405.zip

Summary:

If you’re having any problems with your touchpad or with touchpad settings in particular, try downloading and installing the software from the above link. It has worked for many!

 

 

 

 

Home Made Battery

This is intended to be the beginning of a series of posts about making batteries from home. It is going to include a series of test in order to determine the best types of home made batteries to use to power my home. The basic objective is to make a battery bank large enough to power several 12 volt lights and appliances throughout my home. I don’t intend to power any large appliances yet, however that may be a goal for the future. For now, my intention is to be able to power at least  enough lights for up to 5 rooms, two internet routers (a cable modem and a wireless router), a 12 volt cooler for food, a PC and a TV. For me, those are the bare necessities and I can live quite comfortably with just those things. Others may require more, but this is my house, not theirs lol. Stands for grow lights as well as fixtures should be considered as well.

General experiments

I have already performed some general experiments with different sized containers, different types of container materials, different metals and various electrolytes. Below are my basic discoveries to get us started.

How to make a basic home made battery

To make a general purpose home made battery you generally need to make several cells. For this demonstration, we will use one 12 oz pop cans for each cell in our battery and we will probably use 6-8 cells depending on how much power is needed.

Materials

  1. 6-8 12 oz pop cans(preferably generic and not Coke cans) I find that generic soda cans are less likely to have a coating on the inside that prevents effective corrosion which is needed for the battery to work. If you have to use cans with this coating, you’ll need to remove the coating with sandpaper somehow first. I’ve heard of using hydrochloric acid, but I cannot safely recommend that here, so don’t do that unless you know what you’re doing and understand that it is strictly at your own risk!
  2. roughly a 6 feed length of 1/2 to 1 inch in diameter copper tubing or another equally substantial amount of copper with similar or greater surface area.
  3. approximately 4 feet of medium gauge wire that is between 10 and 20 gauge.
  4. Either solder or aligator clips can be used to fasten your wires to the battery’s electrodes
  5. A decent pair of wire cutters and strippers.
  6. Water. Good old H2O or Plain tap water works fine.
  7. Bleach. Any kind will work, but I use the concentrated type for better results. I’ve heard using Clorox brand works better too, but I refused to buy a name brand bleach for testing.
  8. Salt. Regular table salt. You’ll need several tablespoons or about 2 tablespoons for each cell at the most.

Those are the things I”ll be using for my first experiments and these items were selected based on my preliminary testing.

Putting it all together:

It’s not really hard to build home made batteries, but it is time consuming because you have to produce several cells and run some parallel and some in a series until you get the voltage and amps required. Here are the basic steps:

  1. Take 1 of your 12 oz soda cans(you could use larger or smaller ones too) and clean it out.
  2. Measure your can from top to bottom and cut a lengh of copper tubing(or other copper material) to approximately 1 inch longer than the can.
  3. Wrap one end of the copper tubing with electrical tape so that when you stick it down in the pop can, it doesn’t ground out to the bottom of the can(or make sure it just doesn’t touch the bottom if you don’t want to take it. Then place a mark on the copper tube where it meets with the top of the pop can.
  4. Fill the can with plain tap water from your sink.
  5. Using the mark you made on the copper tube from step 3, wrap enough electrical tape around the copper so that you can fit it firmly in the mouth of the pop can. It should be a little snug at least with the tape around the mark keeping the copper from touching the can at any point. It is important the the two metals never touch or your battery will never work!
  6. After inserting the copper tube into the can, solder or clip a 2 inch length of wire to the portion of the copper tubing that sticks out above the top of the can.
  7. Solder or clip another length of wire 2 inches or longer to the rim of the alluminum can. This will be your negative lead and the one on the copper will be positive.
  8. Hook your leads to a multimeter and record the voltage and amperage from the single cell bettery you have just completet. You should get about 1/2 volt and very little amperage.
  9. Continue to make a total of at least 6 cells by repeating all the above steps. Label each cell you have made from 1 to 6 or 1 to 8 etc., depending on how many you made.
  10. Connect the positive lead(from the copper tube) of cell one to the negative lead of cell 2. Then the pos lead from cell 2 to neg lead on cell 3……continue until all cells are wired together in a series.
  11. Measure the voltage from the negative terminal on cell one and the positive terminal of the last cell and you should have between 6 and 16 volts so far.

That’s basically all there is to it, but now you will know if you need more cells in series or in parallel depending on if you need more voltage or amperage. Add more cells in series to increase voltage and in parallel to increase amps. Also increase the amount of bleach and/or salt in each cell to increase voltage, but remember that the stronger the solution is, the faster the battery terminals will corrode and eventually need maintenance and/or cleaning to keep them producing the optimal voltage and amperage needed.

Size of container

I’ve tried everything from Popsicle trays(like larger ice cube trays), aluminum cans and 5 gallon buckets. What is the difference in the size of the battery you ask? Surprisingly very little. Whether using a 5 gallon bucket with large electrodes and 5 gallons of electrolyte or using a pop can, both batteries produced roughly the same amount of voltage ranging from 0.4 to 1 volt depending on the strength of the electrolyte solution.

Increasing Voltage

Electrolytes is the key to more volts within a single cell I discovered. While other factors can alter the amount of voltage only slightly, the strength of the electrolyte was the main factor that effected the amount of voltage the batteries Ive made so far produced.

To increase the overall voltage produced by your home made batteries, you need to increase the number of cells in the battery. A battery is often a series of several cells unless it is a single cell battery, but usually when I refer to “battery”, I am speaking of the entire group of cells making up a single batter. A home made battery will often consist of 6 or more pop cans or other containers wired in a series or in parallel. To increase voltage we would run them in a series which means to attache the positive lead from the first cell to the negative lead of the second cell then continue until you reach the last cell. At that point the negative lead on cell one and the positive lead on the last cell will be open and those will be the two terminals used to power your device.

Increasing Amperage

The key to more amps seems to be in the general size of the battery. I was able to product significant;y more amps using a five gallon bucket as opposed to a 12 oz soda can.

To increase overall amperage a battery produces, several cells are required just as with increasing voltage. To increase amperage however, we have to wire the cells in parallel instead of in a series because batteries wired in parallel will cause the amperage to increase and the voltage to remain the same. Often times batters consist of a combination of cells ran in a series and cells ran in parallel to product the desired volts and amps. The general idea we are using will be to wire enough cells in a series to get 12 volts  in a single battery and after that we will increase the amperage by making several of these multi-cell/12 volt batteries and connecting them in parallel.

My First Battery

After testing large & small containers, a few different metals and several combinations of electrolytes, I ended up making my first batter with a series of 8 cells to product 12 volts at