Yet Another GIS Blog
GIS, Geography, Programming, and Neogeography

Android Froyo

Sunday, 23 May 2010 15:22 by boxshapedwo

I was lucky enough to be able to play with the original Google phone running Android 1.6 the month I was in the US.  I have to say it was a real joy to use.  Although, ironically, the part I found most clumsy was the phone part.  Particularly if I had to interact with an automated system that required me to push numbers.  The battery life was horrible, and I have a bad habit of not charging things regularly.  And because of multitasking the apps seemed to always be running.  Regardless, I really liked it.  I also have an IPod Touch, which I really enjoy using too, and possibly helped convinced me to get a macbook.  What really sold me on the idea of getting a macbook despite paying a higher price, was what someone wrote "it's like getting two computers" because you can run windows and os x.  I do run both (windows 7) and find my time divided between the two.  Windows 7 is really nice.  But what I find happening is I use Windows 7 for productivity and OS X for media.  The mac is great to edit and store my picture, music, and home movies.  Windows media player kept crashing on me, and Windows doesn't have the same caliber of media oriented software just there preinstalled.  I suspect this is what will happen for me with the Android and IPod.  One will be great for productivity, one for media.  Now comes along the Google TV and Android 2.2, promising synching with media across the web rather than the, frankly, sub-par ITunes.  This sounds great, but I don't subscribe to the idea of the cloud.  I've been to enough places without internet access, dodgy internet, and now mobile reception to know that the cloud isn't everywhere.  So I haven't been sold on the idea of Android replacing my media framework.  Unfortunately, once you are locked into Apple's closed garden, they make it difficult to get out.

What I liked most about the Android 2.2 anouncement, and most relevant to me is that you are no longer limited to how much storage space there is for apps.  They can now be stored on the external sd card.  It didn't take me long to discover how few apps can fill up that limit on Android 1.6. 

Tags:  
Categories:   Neogeography
Actions:   E-mail | del.icio.us | Permalink | Comments (20) | Comment RSSRSS comment feed

Hello, Java.

Tuesday, 17 November 2009 10:12 by boxshapedwo

I've been self-teching how to work with the Android SDK, and am having a pleasant mix of frustration and pleasure.  I do agree with Wired's post about Android's rapid growth and multiple versions/hardwar causing problems with their marketplace, but overall I find creating a simple application easy enough to get running.

The problem I'm having is working with Java, or at least Android's implementation of Java.  I'll be honest I have never really liked Java, before I started to program with it.  Java applets in the bowsers always seem to lock up or take forever to load.  They usually look like something stuck in 1996 too.  Java is always wanting to update my computer, seemingly more than windows wants to.  Java was meant to be a programming language that could run on any machine simply by having Java installed on said machine.  It is similar to .NET except .NET is only really found on windows machines, although Mono is available.

I looked into Java to create a little program not long ago.  I was hopping to include something to play media with, but it would have required installing a bunch of different java programs and libraries to get started, and anyone who wanted to use the program would have had to do the same.  That doesn't really create a pleasant user experience in my opinion.  

So obviously I've come into this with a chip on my shoulder.  So you can take what I write with a grain of salt. I didn't really like Python when I started to use it either, but I've turned around on that one.

As I develop with Android I find examples of tasks in other languages that I want to accomplish.  Porting can be a little difficult as every programming language has some things that are done that other languages do not implement.  For example, operator overloading.  This basically means that you can create a class and in some of the methods override things like the plus (+) sign.  Normally plus means either addition or concatenate several strings.   You could override this for your class, say a class for a vector, and have it add two vectors simply by using the expression vector = vector + vector.  C++ and C# do this, and so you'll see examples using operator overloading.  Out of curiousity I wanted to know if Java did this.  Luckily somebody already posed the question to the Java community.  I was shocked and appalled by the responses this person received from the community.  Firstly, I never understood why jerks seem to troll forums and post responses.  Perhaps it has something to do with an egotism that sets in with some people when they become experts.  These people seem to berate people when they post questions, as if it is burden to them to answer your question.  Why even bother participating in a forum if you are going to do that?  I see that time and time again, and perhaps the only forum I've seen where experts are supportive and helpful is Cartotalk.  I posted a photo for comment on a photography forum and one so-called expert's only response was that the topic was interesting but not photographed well.  Yeah, I get that, that's why I'm asking for advice.  So that is not something unique to the Java community.  But the reactions to the question about operator overloading seemed pretty extreme.  One respondent said (paraphrasing) that if you want operator overloading like C++ go program in C++.  The tone seemed to be the equivalent of a "Go f*ck yourself."  It was unhelpful and presumptive that the task didn't require Java such as with Mobile phone development.  I think when a community reacts this way to a suggestion, or potential improvement and their reaction is to shut it out, then that is a bad sign.  It is sort of like the open source community's vehement denial of being called sexist.  I think when you deny something so strongly, then part of you must think it is true.  

I'm not saying Java needs to implement operator overloading, I just find it to be a handy feature in other languages.  I just think, as a community, if you want to find participants to join that community you shouldn't have a negative reaction to the ideas the newcomers bring with them.  Of course I'm new to Java, and the reaction to Operator Overloading might be just the reaction to the question being asked a thousand times before.  Still though, that's not the way to approach it.

 

Anyway, this is a GIS blog isn't it?  What am I doing ranting about Java?

 

EDIT:

Here is a good example, and particularly relevant to GIS.  The tragiacally funny part is that no one actually answered the poster's question and it boiled down to silver and gold star "experts" arguing with each other.  It's also funny that the user was actually using cartesian coordinates and they recommended he/she convert them into spherical coordinates.  Using the original coordinates with the 3rd post the poster would have gotten the answer, assuming the poster new which was x and y.

 

Update:

Ask a question and see what you get (I'm not the OP on this).

Tags:   ,
Categories:   Neogeography
Actions:   E-mail | del.icio.us | Permalink | Comments (2) | Comment RSSRSS comment feed