Tuesday, November 29, 2011

Installing Android SDK

1. Open website:

2. Download:
Mac OS X (intel) android-sdk_r15-macosx.zip

3. Install in directory that is easy to find later:

4. Configure Eclipse to see that directory. If you are using Eclipse we assume you you have a plugin installed.

Eclipse > Preferences > Android

Saturday, November 26, 2011

Eclipse: installation of plugin for Android Development Tools (ADT)

Updated on September 15, 2014

When you install the newest Eclipse (at the time of this writing Luna 4.4), it does not have any Android-specific tools.

Android Development Tools (ADT) Eclipse plugin

Step 1) Provide Google Android repository

  • install: Help > Install New Software...
  • URL: https://dl-ssl.google.com/android/eclipse/
  • name: Android Development Tools (ADT) plugin

Step 2) Select all packages to install 

and click NEXT..

Step 3) Accept ALL license agreements

Step 4) Make sure that Eclipse is pointing to Android SDK you want to use

Install SVN plugin Subclipse for Eclipse Indigo

I am re-installing Eclipse often enough that I decided to post this one more time:

Removing Subclipse from Eclipse

I got the following error while installing subclipse 1.6 after trying 1.8 (which failed to sync my projects):

Your original request has been modified.
  "CollabNet Merge Client" will be ignored because a newer version is already installed.
  "Subclipse (Required)" will be ignored because a newer version is already installed.
  "Subclipse Integration for Mylyn 3.x (Optional)" will be ignored because it is already installed.
  "Subversion Client Adapter (Required)" will be ignored because a newer version is already installed.
  "Subversion JavaHL Native Library Adapter (Required)" will be ignored because a newer version is already installed.
  "Subversion Revision Graph" will be ignored because a newer version is already installed.
Cannot complete the install because of a conflicting dependency.
  Software being installed: SVNKit Client Adapter (Not required) 1.6.15 (org.tigris.subversion.clientadapter.svnkit.feature.feature.group 1.6.15)
  Software currently installed: Subclipse (Required) 1.8.3 (org.tigris.subversion.subclipse.feature.group 1.8.3)
  Only one of the following can be installed at once:
    Subversion Client Adapter 1.8.0 (org.tigris.subversion.clientadapter 1.8.0)
    Subversion Client Adapter 1.6.12 (org.tigris.subversion.clientadapter 1.6.12)
  Cannot satisfy dependency:
    From: SVNKit Client Adapter (Not required) 1.6.15 (org.tigris.subversion.clientadapter.svnkit.feature.feature.group 1.6.15)
    To: org.tigris.subversion.clientadapter [1.6.12,1.7.0)
  Cannot satisfy dependency:
    From: Subclipse (Required) 1.8.3 (org.tigris.subversion.subclipse.feature.group 1.8.3)
    To: org.tigris.subversion.clientadapter [1.8.0,1.9.0)

Here are the steps I took to uninstall subclipse:

Eclipse > Help > Install New Software > Available Software Sites ...

select subclipse and click "Remove"

Open Terminal; list and delete all subvesion jar files

$ cd /Applications/ide/eclipse/plugins [specific to your system]

$ ls | grep org.tigris.subversion | xargs rm

Even that did not allow full uninstallation and i decided to re-install Eclipse.

Wednesday, November 16, 2011

Mobile Apps: Customer Feedback

There is several ways to get feedback from your customers.

The basic principle I have learned in Marines goes like this: if one of the Marines does not know how to do something, there is a good chance that some other platoon member does not know it either, hence the Drill Instructor screams at all them. 

Bouncing your app against the real audience is expensive and time consuming, therefore observations should be keen and not lightly disregarded as “user is stupid, they did that wrong", developers like to say that way too often. Keep in mind the principle outlined in book “Don’t Make Me Think” .

Here are few of the customer feedback methods we use:

  • Give the app to a typical user (a child for kid’s game, etc.) who has never interacted with the app and observe the interaction without any explanation of how things are supposed to work. Take good notes and fix the issues immediately, once the user figur out the difficult part the chance is lost. 
  • Provide eMail feedback inside the application. Many people would be surprised how few apps have  support email that is easily accessed from mobile applications. Also, many app developers who have not used that method might be surprised how many emails they will get and you do want to be in touch with your users. Many of them will try to help with suggestions, some with thank you, and most will vent --  users that cannot find an easy way to vent to you personally, will do that in market review and you will loose your rating. 
  • Read the reviews of your app. Try to fix problems and after releasing the fix make sure that several people write positive counter-review thanking you for fixing the problem
  • Have Facebook page for your app that is easy to access from mobile.
  • Have Twitter account for your app that is easy to access from mobile.
  • Have Google+ page for your app that is easy to access from mobile.
It is OK if people criticize you on your Facebook, Google+, or Twitter -- you can manage it, however negative reviews and ratings cause irreparable damage.

To read more download "Roadmap for Mobile Business" at http://bit.ly/CyberBook

Tuesday, November 15, 2011

Mac: Forcing Delete Trash

I switched computer few time and copied a lot of files between. As result I got Trash full of files that I could not delete. The solution was to create a "Temp Trash" folder on my desktop, copy files from Trash to this new folder and Delete them again.

UN-Secure Delete of Trash

Sometimes you want to delete a lot of files files from Trash folder, but it takes forever using "Secure Empty Trash".

In this case is it easier and faster to click OPTION KEY button and "Empty Trash", the delete is not secure which means someone could do forensics on your Hard Drive and restore some of the files if they were in the sections not overwritten by newer data, but for most people who are not quite paranoid the speedy delete maybe a good option.

Changing Permission of the files to "Read and Write"

uki: ~ $ sudo chmod 666 /Users/uki/.Trash/*.*

Saturday, November 12, 2011

Mac OS X 10.7.2 "Lion" - where is my Java?! #%!

Apple decided that Java is not is not important enough to be installed on your new Mac , not nice!

I have heard the rummors that Steve did not love us, the Android crowd. I am sure it is not true, after all I am using Droid2 with keyboard and Galaxy Tab 7, both of which are not products that are offered by Apple. Denial? OK, I am reading his biography, he did hate us.

When you try to open apps like Eclipse you get an "almost" friendly pop-up:

Unfortunately for me, the installation of the Java did not happen, I tried several times.

I tried "java" from Terminal as that may fix the problem, but it did not.

What happened was I had a Software Update process already running and downloading new iTunes and whole bunch of other stuff over a very slow Public Library connection. 

Friday, November 11, 2011

Uninstalling Android app from command line

If you are switching between PROD and DEV versions of your app you will get this error:

[2011-11-26 14:27:22 - Local Guide Chicago] Re-installation failed due to different application signatures.
[2011-11-26 14:27:22 - Local Guide Chicago] You must perform a full uninstall of the application. WARNING: This will remove the application data!
[2011-11-26 14:27:22 - Local Guide Chicago] Please execute 'adb uninstall com.chicagoandroid.chicagolocal' in a shell.
[2011-11-26 14:27:22 - Local Guide Chicago] Launch canceled!

Make sure you have ONLY ONE device connected to USB, or the command will fail.
It would be also a good idea to put adb on your classpath, but it is not essential.

Open Terminal and perform these two commands (adjust to your situation):

$ cd /Applications/Android/android-sdk-macosx/platform-tools
$ ./adb uninstall com.chicagoandroid.chicagolocal

one line version would be:

$ /Applications/Android/android-sdk-macosx/platform-tools/adb uninstall com.chicagoandroid.chicagolocal

Since I do that often I made this automatic:

1. Open TextEdit
2. past the command:
/Applications/Android/android-sdk-macosx/platform-tools/adb uninstall com.chicagoandroid.chicagolocal
3. save with .bash extension
4. change permission to execute:
$ chmod 755 /Users/uki/Desktop/Uninstall\ Chicago\ Local\ Guide.bash
5. Make sure that Terminal knows to open .bash files