Setting up an Android environment for PhoneGap

 

Starting to use  PhoneGap – aka Apache Cordova has been a frustrating experience, not because of PhoneGap but because of getting the Android environment set up. The getting started (Android) tutorial for PhoneGap is great. Once I had the environment set up, working through the tutorial took a few minutes. I am not going to reproduce anything that is in that tutorial here, this post is just about how to get to the point where you can work through the tutorial. I’m working on a Mac (Snow Leopard) so these instructions are Mac specific.

 

There are 4 steps:

  1. Downloads
  2. Installing the ADT Eclipse Plugin
  3. Installing the Android SDK
  4. Setting up an Android Virtual Device.

 

1. Downloads

Get started by downloading the major components.

  1. Eclipse Classic 3.7.1
  2. Android SDK R16 MacOSX (Note: This is an ‘SDK starter kit’, see later)
  3. PhoneGap 1.4.1. You don’t need this to set up the Android environment but you will need it for the PhoneGap tutorial so grabbing it while you are downloading stuff makes sense.

I extracted these into 3 separate directories under ~/Applications/ECLIPSE, ~/Applications/ANDR and ~/Applications/PHONEGAP, I don’t think it matters much where they go. Just remember the location.

 

2. Install the Android Developer Tools (ADT) plugin for Eclipse.

Start up Eclipse, I normally do this from the command line so I just executed:

./Applications/ECLIPSE/eclipse/eclipse &

With the brand new install of Eclipse running,  you can  install the ADT plugin:

  1. Help->Install New Software.
  2. Click the ‘Add’ button, top right.
  3. Type ‘ADT Plugin’ in the box labelled ‘Name’
  4. Paste this location “https://dl-ssl.google.com/android/eclipse/” into the box labelled ‘Location’.
  5. Follow the instructions. These are straightforward, so I won’t reproduce them.

 

3. Install the Android SDK

First, tell Eclipse where you put the SDK starter kit. To do this:

  1. Eclipse->Preferences->Android
  2. Paste the location of our SDK into the box and click ‘Apply’

This part is confusing because nothing happens except this:

The SDK Platform Tools component is missing!??

I spent a long time wondering what I had done wrong.  In fact this is the expected behaviour, all that this step achieves is to tell Eclipse where the ‘SDK starter kit’ can be found so that in the next step it can install the SDK. Just click ‘OK’ to get rid of the message and ‘OK’ again to close the window.

Now that Eclipse knows where you have put the ‘SDK starter kit’ you can go ahead and install whatever version of the SDK you need.

  1. Window->Android SDK manager
  2. A window appears with all SDKs you might want to install (see below), pick whatever you need and install it.

 

Android SDKs to install

Android SDKs to install

This takes a while, in the end you should see something like this:

Success installing SDK

Success!

Now, if you return to the the Android SDK pages in Eclipse, (Eclipse->preferences->Android) you will see that Eclipse knows about the SDK:

 

Android SDK is installed

The Android SDK is installed!


 

4. Setting up an Android Virtual Device (AVD)

The final piece that you will need to run the PhoneGap sample is to install an Android Virtual Device, this is a ‘phone emulator that is going to display your PhoneGap (Android)  application.

  1. Window->AVD Manager ->New
  2. Give the AVD a name (whatever you want)
  3. Under ‘Target’, select the SDK that you just installed.
  4. Give it a size. I have no idea what is appropriate here, I allocated it 10 (MiB) and things seem to work.

That’s it. If you have followed through this you have everything that you need to run the PhoneGap Android tutorial.

 

Monki Gras

Monki Gras was the best conference I’ve been to for a long time. I have been to some very good conferences over the past few years, so being the best is quite good.  That’s a nice English understatement.

I spent a while this afternoon analysing why it was so good. This is the list of things that I want get from attending a conference -

 

  • To come away with at least 2 ideas to follow up – maybe 3 or 4, but no more than that.
  • To be given sketches, glimpses of what different technologies can do – but I mainly don’t want a whole lot of detail on how.
  • To get the ‘vision thing’.
  • To be entertained.
  • To catch up with old friends and make a few new ones.

 

Monki Gras gave me all of this and more, and I’m tired because it was also hard work. I’m also full of energy and enthusiasm for …. well you may have to wait and see.

Colour me stupid!

Finally – I read the book on HTML5 and CSS3 that has been sitting on my desk since I bought it at JAX London. Well, alright, truthfully – I have read half of it.

Reading books is a good way to learn  – but I find  that technical stuff doesn’t sink in unless I apply what I read somehow.

Since I struggle a bit with the ‘art’ side of web sites I wrote something that makes it a bit easier for me to visualise what colours and fonts will look like when you put them together in a standard sort of ‘blog site’ . It’s beginner style HTML5 so for goodness sake don’t copy it (read the book) ; I used Jan Odvarko’s jscolor library for picking colours.

Here is a link to it – let me know if it’s useful or fun or you can think of more stuff it should do. I hope the usage is self evident. Caveat – it has not been widely tested, if it doesn’t look right in your browser try Chrome or Firefox :-)

 

 

Now I need to read the rest of the

Things I thought I’d never do: Photography

When I started building websites my plan was to do the programming – PHP, CSS and HTML. If the problem is programming I know I can solve it, I may not know how long it will take but I know I can rearrange 1s and 0s in an acceptable fashion. I did not want to do artwork or photography – I’m not much good at either and completely unqualified .

The problem is that it just doesn’t work like that. The person that I’m working for at the moment has a fabulous collection of period costumes for hire, she had the artwork for the site but she needed photographs and without them however good I am at fixing PHP the site still won’t look that good.

With some reluctance I decided that I ought to try and learn how to take photographs. Luckily  I have three nieces and a daughter who all love dressing up, I have a decent camera and we all had a free day on the 27th of December.  We assembled at the Worn to be Wild shop in Alresford to find that my client had laid out several complete sets of costumes – including accessories ranging from a stuffed snake to a saxophone – it was a wonderful day.

 

The quality of the results probably owes more to the costumes, the models and Gimp than to my skill as a photographer. The collection of clothes is really stunning – the catsuit in this shot is is an original 1970′s number  – anyone remember Diana Rigg at Emma Peel in the Avengers?

 

The rest of website is coming along and I’ll put some images on the ‘WORK’ pages in the near future, the layout is pretty much done but there is a lot more wording to do and this is really up to the client to provide. I think she realised that I couldn’t help with that when I thought a Yoda costume was ET. In my defence they are both some sort of small sci-fi film creature – aren’t they?

 

 

 

 

There is no such thing as a free…..

When I started experimenting with WordPress about three months ago a big part of what led me to use WordPress was the astonishing number of free themes. I still think that the free themes are a great idea but I’m a lot more cautious than I was three months ago about what I use.

First – I read this blog which worried me a bit.  Following Siobhan’s instructions I started to check what I was downloading a bit more carefully. I was already downloading from sites that were recommended by some reasonable source (eg Smashing), so I didn’t find as much bad stuff as Siobhan did – but there were things I didn’t like.

Here are the six things that I use regularly now:

To take those in reverse order, turning on debug (just change the flag from ‘false’ to ‘true’ in the wp-config.php file) threw up a few errors I was surprised to find – for example uninitialised variables. I know PHP ‘forgives’ these but I think they are usually a pretty good indicator of sloppy code.

Using the W3C validator also picked out invalid HTML (usually missing closing tags). The CSS validator found a few incorrectly set properties – nothing major but stuff that might be annoying to find and fix.

The theme-check plugin was the most useful – in one case it found dreamweaver files (bad enough in dreamweaver, exceedingly annoying in a WP theme).

None of the themes I looked at failed TAC or the Exploit scanner – but I’ve listed them here because I’d always use them.

None of what I found was too terrible – but it did make me think. Would I buy a paid for theme from a company that released a free theme which didn’t pass these basic checks?  Not a chance!

That doesn’t mean that I think all free themes are bad – there are some great sources (listed in Siobhan’s blog) – but now that I’ve looked at a few I think I’ll be starting with Sandbox and rolling my own in future. At least all the mistakes will be mine :-)

JAX London

I spent two days this week at JAX London – a conference for Java Developers that runs every six months in London. As always it was well organised and had great speakers – I particularly enjoyed James Governer’s keynote and was a bit sad that he had trouble rousing the audience who I suspect had enjoyed the free beer from Atlassian the night before. But James was philosophical about it – as he said, the beer and networking is a pretty important part of the conference.

In a recent post Barry talked about the value of developers attending conferences. In most of my post-conference posts I take a few minutes to rant (mildly) about employers that don’t understand the benefits of sending their developers to this kind of event. But I won’t this time – partly because Barry has said it so well  already and partly because the economy is tough, some people really are struggling to just keep going. So, if you are a software developer in a company where you can see the directors frantically trying to raise another round of venture capital, or where you know they have just lost their best client, or if you can see the stock price plummeting – hang on in there, give them your support and be prepared to look after your own education for a bit. Look out for JAX discounts from the LJC and come to our Open Conference on Saturday 26th November. On the other hand – if your directors are still flying first class and have just awarded themselves another ludicrous bonus – maybe it’s time to question their sincerity when the say they can’t afford to look after your professional development. Time to move on perhaps?

Just like everyone else who attended JAX, I have come back with a whole bunch of new ideas, enough to keep me busy for another six months anyway. I’ve started on one already and it’s going to be a-ma-zing!

 

 

 

How can we hire more women?

I was reminded recently that tech companies are still asking the question “How can we get more women to work for us?“. I’ve told this story occasionally over a beer or two, but have never written it down before, mainly because I don’t think it reflects very well on IBM. Although I think IBM is a great company in general, this story is about something I think they did (and still do) badly.

Ten years ago we had tampon machines in the loos at IBM. Nine times out of ten they didn’t work or were empty, even if they did work can you imagine what it was like in a ‘cashless’ site to have to scrabble around to find two 20p pieces? Or worse – borrowing the right change from a male colleague and then having to explain why you wanted it. Blush. Them, not me.

Sometime around 2003 I expressed my irritation with this situatition to the Lab Manager. Blush. Him, not me. That’s about as far as it went. I thought then (and still think) that tampons should be available in just the same way as loo paper is. The Lab Manager’s answer was that this was impossible because tampons are classed as a ‘non essential item’ under UK tax law. It is true that tampons are taxed at a VAT rate of 5%, however -  loo paper and soap seem to be taxed at the full 20% rate. IBM, in common with most large companies supply loo paper and soap, so what is the problem with tampons?

Some years later, there was a new Lab Manager and a big focus on trying to hire more female engineers. I met him and suggested that if they wanted to make life comfortable for their female employees they should provide free tampons. There was no blushing this time. Yay! Progress! He told me that a female client visiting site had also complained about the broken machines, so they took the issue very seriously.

Unfortunately, IBM’s solution to people complaining about the machines was to just remove all the machines. Not quite the solution I had in mind. In fairness they do now sell tampons in the canteen, but, well…

Sandwich

I’m just popping upstairs to grab a sandwich and a tampon.

…you know. Blush.

So perhaps, when a representative of a big tech company asks –

“How can we get more women to work for us?”

one answer is –

“To what extent are you prepared to make your work place comfortable for women to work in? Even if this involves spending money.

Or you could even ask if the provide tampons in the loos in their UK offices. You know what answer I think you will get to that one? Yeah. Blush.