Friday, January 25, 2013

Will Applications kill Websites?

I have been an eBay user for seven years, and I still use eBay as both a buyer and a seller. eBay has changed from a place where people would sell broken stuff to a company that sells anything and everything to everybody around the world. If you are still looking though for broken things eBay is still probably a good place to look. 

eBay, at least for me, works. The big problem for me is that the eBay is difficult to use and navigate. They updated the website to try to take some of the pain but it is still a pain to navigate on the website. eBay though did make their iPhone and tablet apps really easy to navigate. 



Unless, you buy and sell on eBay a lot, you should probably avoid the website. The tablet and mobile applications are just faster, simpler, and easier. eBay to be fair, just has a bad website, it is not that eBay just has made a great application. 

On the bottom of this you will see the pros of applications and the pros of websites. 

Why are applications better then Websites? 

- They can be faster
- They are simple to use and understand 
- They make better use of the screen 
- They are more useful on the go and even offline 

Why Websites are better then applications? 

- They work with any device on any browser
- They do not need to be installed
- They do not need to be updated
- They offer a common experience

Applications will never kill websites, they work hand in hand. There will always be applications that are better then their website but it is the same the other way around. There might be a few applications that will kill their websites but that is only because the company did not improve their website. 
   

Thursday, January 24, 2013

Starting Android Development

The android operating system is currently the most popular mobile operating system, like I stated before. Android development is really important for programmers and software engineers. I will show how to set up your computer so you could start developing your android application.

1. JDK and the Eclipse IDE 

You will first need to download the Eclipse IDE, which is similar to the program java this is where you program the android software. JDK stands for java development kit which is required to actually use Eclipse.

Download Eclipse: http://www.eclipse.org/downloads/
Download the software that deals with the JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html

2. The Android SDK 

The Android SDK gives you the toolkit you need to start programming. When you run your application to test it, the SDK includes an emulator of an Android phone. This emulator emulates the android experience.

This is the link to download the SDK:  http://developer.android.com/sdk/index.html
Run the SDK and click on all the checkboxes. For each API, SDK platform is required which will download as you SDK sets up on eclipse.

You will have to create a directory on Eclipse so you can actually use it. All you have to do it is go to Eclipse Window and then on preferences. The rest will be set up for you. 


3. The Eclipse ADT plugin: 

All you have to do is go to Eclipse, then click help and then hit Install New Software. You will notice that there is textfield; there you have to paste this link: https://dl-ssl.google.com/android/eclipse/ and then click OK. You will notice that four buttons have been installed on this application. They should look like this: 
  
4. The Android Emulator

The Android emulator is included in the SDK. You can start the Android emulator by just hitting the Android Virtual Device Manager button. Once you have hit the button you will notice that there is a list of the versions of the Android OS (Operating System). Just click on the most recent one and hit the New button.

5. Creating the project 

When you create a project which means create an application. All you have to do is go to select file then to New to Project and to Android Application Project.


You must select the "Build SDK" and "Minimum Required SDK" which means all the operating systems that can run on the phone.


After that right click your project and select the one that says Run. Your project will run on that emulator. 

Google's Android

Have you heard of the Galaxy S3, or the HTC Droid DNA. You know the phones with all those cool widgets on the screen. The phones that look so much more complicated than the iPhone. Those phones all have the android operating system. So lets look at Android.


What is Android? 

Android is a open-source operating system that combines parts of many other open-source projects. Basically google created a free system that was made up of other google projects. Since it is free, many big companies are using it or starting to use it. To name a few: Motorola, Asus, Samsung, HTC, NVIDIA.
What does this mean though as a developer? It basically means that you have complete access to the source code that is running on the phone. Basically, I have access to Jelly Bean or whatever they call it now. This is a good thing because you can better understand how they created this system. Since so many companies use Android in their phones, your application becomes more spread out which means more money for you, either through advertisements or through the Google Play store. 

Why Android? 
  1. It is really cheap to distribute your applications. Google gives the software for free and you only have to pay $50 to develop as many applications as you like. Google only takes 20% of any profit made on an app. 20% percent may seem like a lot, but it is a lot better then apple, where apple takes 30% and you have to pay a 100 dollars a year. 
  2. You have the freedom to do whatever you like. Unlike apple, where you cannot use private API's, which means you can't use other people stuff. Google, on the other hand, encourages, so that you can release applications really fast. 
  3. You have the freedom to work with other people. Google allows you to give your code to other people once it have been published. This is really good because you can keep improving and making other software. Apple again makes you sign an NDA which is basically a contract saying you cannot give your source away to anybody and if caught you lose your right to develop for apple. 
  4. Every cellphone carrier in the world has android based phones. Which is a huge difference, you applications can be seen across the world, where a iPhone application will be primarily be seen in the United States.

There are a few major drawbacks for actually programming android applications. They are a pain to make. Unlike apple, where you can actually see how your design looks, with android it is all speculation. You have to always change numbers to move one object down. Another thing, with Android if you want to just put a simple website in your app, instead of just copying the URL, you have actually go to the source and convert it from HTML to XML, again a huge pain. 

 




Wednesday, January 23, 2013

Five Tips to Become a Intermediate Programmer

There are three types of programmers: the beginners, the intermediate programmers, and the experienced programmers. The beginners are the programmers who are still learning their first languages. The beginners are usually proud of what they make. The intermediate programmers are the ones who are pretty experienced in their first language and who are usually never happy with what they make. The experienced programmers are the ones who created the best applications and the top rated applications and websites. A couple of them include Microsoft Office, Angry Birds, Facebook and many more.

There are big differences between the beginners and the intermediates. Currently, I think of myself as intermediate programmer and hope to become an experienced programmer. It takes time to become an intermediate programmer, but if you follow these five tips and keep improving you can become one.

The Five Tips 

1. Learn Another Language

The more languages you know the better. I recommend learning a language that is significantly different the language you know. The first language I learned was Java so I decided to teach myself HTML. HTML is the language that most websites are created in.  if you know to program in C or Java, I recommend Groovy or Ruby which are really different languages. 

When I mean learn a different language, I mean really learn the language. Learning a language consists of three realms of language: the syntax, the built-in operators and libraries, and "how to use it". The first two are easy; the syntax takes a couple of hours and the built-in operators takes time to pick up. The "how to use it" part is the difficult part it; it takes months to really use the language. I suggest doing a language that is suited for the language and doing it in the languages style. 

2. Learn Advanced Search Techniques, Strategies and Tactics 

"Techniques", "Strategies" and "Tactics" all seem similar but they are not. Google is your best friend, it helps teaching the syntax of the language. Whenever you make an error, you should just look at the error code. Usually their will be a red line or hint to show where the errors are. 

3. Help Others 

It is always good to help other people. It just does not help the other person but it also improves your skill. 

4. Keep Practicing 

Like many things, it takes time to improve. If you keep practicing, you will eventually be a good programmer. 

5. Do Your Thing

Don't follow any expert. One of the big mistakes I made was following big programmers. You have to do things your own way. You have to have your own way of programming. I personally enjoy programming when I am really tired. 

If you follow these tips, you should become an experienced programmer. 

Hello iPhone

Today I am going to show you how to create a simple "Hello World" application or as I like to call it "Hello iPhone". There are many ways that this application can be created but I am going to show you the most easy way possible, where there is not much typing needed.

You will need to have a computer that runs Mac OS X, apple only wants developers who have there products. Second, if you have an app store on your computer, open it and search for Xcode and download it. Xcode is the software you use to create the application. It should look like this:
Open Xcode, a screen should pop up, you should hit a button that looks like this: 

Once you have hit that button, a big screen should put up asking you what type of Application you are on. Make sure that you are on IOS application and that you have clicked on the type of application that says Single View Application. Hit the next button on the button of the screen. This screen should show up next: 
This screen is final set up for the application so it will be easy to create the application. On the product name enter Hello iPhone, which will be the name of the iPhone application. For Organization name and Company Identifier name it whatever you like. Make sure for devices that it is NOT selected to Universal which means that it will make both an iPhone application and a iPad application, instead select only iPhone. Make sure Use Storyboards and Use Automatic Reference Counting are checked. and make sure Include Unit Tests is not checked. Just click the Next button and click the Create button.

You will notice that there are five files that are important just click on the one that says MainStoryboard.storyboard. Once you click that you should have a screen that looks like this:



Currently, this will make an iPhone app for the iPhone 5 which has a bigger screen then the original iPhone. We will be making this application for the old iPhones that use a smaller screen. You will need to hit a button to shrink the screen of the iPhone. The button looks like this:
Once you have hit that button, you will be working with any iPhone older than the 5. You should also notice that iPhone size should have shrunk. Click on your view that says View Controller under it, that is your canvas to make your iPhone app. You should notice that you have something similar to looking like this:

Use the search bar and type in Label. Just double click on the label and it should pop up on  you screen. You can move the label where ever you like. I personally move the label in the Center. Click on the Label that is on your iPhone and just type "Hello iPhone". From there on the top left you will notice a button that says run with a play button icon, press it and your iPhone should pop up running your application. It should look like this:


You have just created an iPhone application. it is really easy to create an iPhone application. Apple has made it very simple. you just have to type a few things. You are now an apple developer.