So why am I trashing my own app UI design? Well, with the ad space of 100px I get this:
As you can see the ad space size does not play well as far as taking up too much space. But there are some other concerns.
If you view the iPhone demo:
..you see applications with bulky top and bottom menus. nOw look at the Nexus One gallery application(no its not in the emulator yet):
..notice that you have some floating menus. That seems the standard-in-quotes that visually Google and OHA seem to be pushing towards as far as visual lok of the application.
Thus I change the top most container from relative layout to frame layout to enable me to float a small menu. I eliminate the status bar and the ad space as I can have the free version just organize by file name tags and the premium version organize by file names and picture object detection.


So I figured while I wait for more Android related announcements during GDC that I would post a collection of the game demo videos released so far at GDC for everyone to enjoy. If I've missed one, please feel free to comment and let me know or just comment on what games you like so far.
by ExtremeT (702records@gmail.com) at March 10, 2010 10:15 PM
Well, a man’s gotta eat, and selling Android stickers on the internet has got to be a better way to earn a living than cleaning up congealed vomit from train carriages at 4.30am.
Found via the maker’s Twitter feed. Web site and shop located here, if you’re a little bit too “into” your phone’s bloody operating system and want to show it to the world.
As many new consumers are buying smart phones with Google’s Android operating system, many are greeted with an overwhelming amount of apps and want to know “what apps they should download“?
Thankfully we offer a premium service to help with that. Research shows that consumers are more influenced to purchase products from: friends/family or trusted recommendations, expert reviews, followed by advertising. This is why we have partnered with mPlayIt’s Android Arcade, a platform for social discovering what Android apps Facebook friends are using. Thus combining the top two impulses in consumer recommendation spending; recommendations and expert opinion.
Today mPlayIt social sharing apps on Facebook for iPhone, Blackberry and Android launches an update to introduce “Gurus” in their “Apptivity Feed”. Gurus are targeted experts; be it users, bloggers or resource websites like ours whom offer highly valued opinions on mobile applications for better discovery. Their Apptivity Feed is a real-time stream of latest activity of recently viewed, rated, commented and Guru Approved apps.
For obvious reasons we were hand selected to represent Android as a Guru. Our colleagues at AndroidGuys.com and AndroidandMe.com top out the list along with IntoMobile and Stuart Dredge. So join us on Facebook to discover some awesome Android apps! Check out our Profile and become a Fan on our new Facebook page!
Another one of those automated app creation tools has launched today, in the form of ComboApp – which has an astonishingly simple web-based (!), button-clicking app-maker interface. This will free up so much spare time for Michael Quach !
Here’s the official explanation:
“Meet ComboApp© – the iPhone, iPad and Android App Builder for the rest of us! ComboApp gives anyone the tools to create cutting-edge iPhone, iPad and Android applications in three easy steps in as little as 5 minutes. ComboApp is an innovative and affordable way to promote any type of business. Whether you need an iPhone or Android app to promote your brand, stream radio broadcasts, sell products and services, provide the latest news or maintain a blog via the iPhone / iPad / Android phone – ComboApp© is the right tool to get the job done”
And here’s a look at the we-still-can’t-believe-it web interface, which lets you select from a decent range of RSS feeds, image providers, shops and social networks for pulling in your app content.
Unbelievable. Developed by Intersog, ComboApp claims to publish your apps with “immediate” availability on both Android AND Apple’s App Store, with pricing starting at $39 for certain pro-level packages.
Go say hello to them and ask them how they hell they do it over on Twitter.
Here’s the current state of play over at Motorola Europe, where the entire front page of its Facebook profile is now chock-a-block with complaints about the MILESTONE’s locked-down bootloader.
And look – it’s all different people, not just one mad loner on a mission!
Motorola Europe has been very quiet for a few days now, apart from the odd reply to people about “not having any news” – we wouldn’t be surprised if Motorola quietly axes its social networking presence soon. It’s become a bit of a liability.
Bit of a wild rumour this one, but it would go some way toward explaining why Vodafone UK is SHAMEFULLY only offering the HTC Tattoo as its sole Android phone option at the moment – it will soon launch it’s own affordable Android handset under the Vodafone name.
Mobile blog Unwired View claims the new “Vodafone 845″ Android phone will cost around 145 euros, although there’s obviously a catch – it’ll only feature a 2.8″ screen, placing it down at the “entry level” end of things.
However, Unwired’s source says it’ll pack Android 2.1 – which will make 145 euros seem like a pretty good deal and certainly a much better offering than the equally affordable T-Mobile Pulse, a phone currently left out in the firmware-update wilderness.
NewsRob Pro is a RSS/Atom reader that auto syncs with Google Reader. There is also a paid version that is ad-free and unlocks extra features in this version, like Share With Note. Also more features will be added in future releases here: http://bit.ly/nr_pro
Price: Free, €4.99
Pros
NewsRob Android App syncs your Google Reader of RSS feeds with your Android phone. Use the app to conveniently read RSS feeds online or offline, mark read, favorite and categorize various subscribed RSS feeds. Receive Android notifications of new feed content, and cache contents to SD card versus internal memory storage. With the paid version of NewsRob you can add a note to a shared article, or add/view comments.
http://www.youtube.com/watch?v=MBXC8qI_VCE
Great alternative Android app for RSS feeds (even better then mobile version of Google Reader for Android phones).
You have to sign into your Google Account to use the app plus subscribe to feeds via Google Reader as NewsRob is a sync and display tool.
Really dependent on how often you read your feeds. Potentially used multiple times daily.
NewsRob Android App is a mixture of native app and web-based content from your subscribed sources.




(4.2 out of 5)
Should you Download NewsRob? Yes! Be sure to Subscribe to AndroidTapp.com RSS Feed!
DriveSafe.ly reads your text messages (SMS), emails and caller-id out loud. Eliminate the temptation to reach for your phone by letting DriveSafely read to you and automatically respond for you. Stay connected by listening to your messages without texting while driving in your car. TXT hands-free.
Price: Free
Pros
Cons
DriveSafe.ly Android App is an innovative way to listen to your SMS text messages, emails and even screen your caller ID hands-free as the app reads then aloud to you. It automatically responds to the person who text messaged or emailed you with a message you generate prior. Similar to how PhonePlus Callback is to phone calls, which text messages or emails a caller if you’re busy on the other line. Provides a safer atmosphere while driving as you don’t have to mess with your phone and drive. Shake to the phone to stop the audio.
The audible voice-over quality is impeccable. The dialect truly sounds conversational with: expression pitches at exclamation or questions and recognizes acronyms like LOL and BRB. Does not sound robotic like Text-To-Speech Library or semi-robotic like Google Maps Navigation.
http://www.youtube.com/watch?v=RWO7T0ap3mM
http://www.youtube.com/watch?v=faQZjLQot4w
Very useful while driving and helps keep eyes on the road.
If used for the text message or caller ID setup the app is straight-forward. However becomes a bit more involved for email integration. The email integration has to be setup, it’s not an automatic setup like text message and caller ID integration. For each email account you must setup POP3 or IMAP (check our quick guide how to do it).
Intended for use every time you drive.




(4.1 out of 5)
Should you Download DriveSafe.ly? Yes! A Must Have App While Driving!
As more drivers equip their vehicles with GPS devices or use navigation enabled smartphones; data suggests most common searches are often used during shopping. TeleNav reveals some interesting data about GPS navigation usage from their users nationwide. According to that study, the top 10 U.S. businesses searched with GPS navigation are as follows:
I recently wrote a developer spotlight on TeleNav noting their GPS navigation product tends to be most accurate regarding routing among GPS navigation apps for Android. The chart below illustrates or concurs my user experience as my city (Chicago) is fourth on the list for cities most likely to use GPS to reroute around traffic.
I wonder how feasible it is for Google since they have not been sued to launch a Search for Prior Art on Apple’s Patents campaign? I do not think they could offer Nexus One’s as direct prizes but I am sure they could come up with other prizes.
But on a good note, all the OEMs attempts at new UIs gets pushed right back in the Google/OH camp to accomplish thus decreasing fragmentation. Talk about unintended consequences.

Today’s entry in the Android multi-touch series is a short one. In it, we set up the matrices that will be used later for moving and resizing the image. All source code can be downloaded from the web site for Hello, Android! (3rd edition).
In case you missed the previous articles, here’s an outline of the series so far:
Setting up for Image Transformation
In order to move and zoom the image we’ll use a neat little feature on the ImageView class called matrix transformation. Using a matrix we can represent any kind of translation, rotation, or skew that we want to do to the image. We already turned it on by specifying android:scaleType=”matrix” in the res/layout/main.xml file. In the Touch class, we need to declare two matrices as fields (one for the current value and one for the original value before the transformation). We’ll use them in the onTouch( ) method to transform the image. We also need a mode variable to tell whether we’re in the middle of a drag or zoom gesture:
From Touchv1/src/org/example/touch/Touch.java:
public class Touch extends Activity implements OnTouchListener {
// These matrices will be used to move and zoom image
Matrix matrix = new Matrix();
Matrix savedMatrix = new Matrix();
// We can be in one of these 3 states
static final int NONE = 0;
static final int DRAG = 1;
static final int ZOOM = 2;
int mode = NONE;
@Override
public boolean onTouch(View v, MotionEvent event) {
ImageView view = (ImageView) v;
// Dump touch event to log
dumpEvent(event);
// Handle touch events here...
switch (event.getAction() & MotionEvent.ACTION_MASK) {
}
// Perform the transformation
view.setImageMatrix(matrix);
return true; // indicate event was handled
}
}
The matrix variable will be calculated inside the switch statement when we implement the gestures.
To be continued in Part 5, Implementing the Drag Gesture…
Copyright notice:
This is an excerpt from Hello, Android 3rd edition, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy, please visit http://www.pragprog.com/titles/eband3.
Copyright © 2010 The Pragmatic Programmers, LLC. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher.
Hello all,
I released an update for BreakTheBlocks Lite this past weekend. The main update was switching advertising providers from Admob to the beta for Google Adsense for Mobile Applications.
I have received some feedback regarding “lag” in this game. The main thing that can be done to prevent this lag is kill unneeded tasks with a task manager like Advanced Task Manager or Taskiller. Applciaitons that run in the background are still doing work, and creating new Java objects, so the Java Garbage Collector has to perform its duties more often. When the garbage collector runs it essentially blocks anything that my games can do, so there is a lag while my games wait to be able to run again. I am currently reviewing some enhancements to further help this problem from appearing so often, but the best thing to do for now is to kill unneeded tasks.

In the spirit of line drawing games where you control an items path with the line you draw such as in Flight Director comes another game similar to it called Flight Frenzy by Big Fun Games. Like Flight Director, you control the fate of airships (and their passengers) by plotting a course for it to land safely while trying not to crash into the other airships you're controlling.
by ExtremeT (702records@gmail.com) at March 10, 2010 03:15 AM

Even while GDC is going on I can still manage to download and try out new games. One that just got onto the market is called Replica Island by Team Replica which is an open source 2D scrolling shooter game. Sort of like older Mega Man games but with our beloved Android instead of a blue child looking robot.
by ExtremeT (702records@gmail.com) at March 09, 2010 10:30 PM

Last week I was speaking on Android at SMX West an Internet Marketing conference in Santa Clara California just outside San Jose.
Keynoting the SMX West conference was Microsoft CEO, Steve Ballmer, when Q&A was opened to the audience I asked him his vision of Microsoft in the mobile space going forward.
At the 1 hour 21 minute 50 seconds point in the Ustream video below I spoke to Steve Ballmer.
I first complemented the Windows Phone 7 which does look impressive although I believe Android & the iPhone will leapfrog it by the time it actually comes out at the end of the year.
I then asked Mr Ballmer where Microsoft sees the monetization play in mobile as they won’t remove their licensing fees with Windows Mobile 7 while at the same time scoffing at Android with its no licensing fee as “free as a puppy“.
His answer was a summation of focusing on licensing fees along with subscription services and advertising.
When he didn’t mention mobile applications, I asked is that because of HTML5, and he said HTML5 IS apps and there will always be a need for local applications but didn’t specify how Microsoft will approach it.
I then spoke on a Mobile Search Apps & Opportunities panel as I talked about Android and its emergence not just in units sold but mind-share.
The audience was Internet marketers and marketers in general so its purpose was to make sure they divert internal resources and focus to producing Android applications for marketing purposes.
The slidedeck from my presentation is below although I verbally added many points not in the slides themselves.
Please let me know anything I should add or update as I will be speaking on Android in April across the border in Canada at SMX Toronto.
Asking Steve Ballmer on Mobile & Android at SMX West
Post from: Google And Blog

Even though this isn't directly related to a particular game, it's important because it helps every game developer out there developing games for Android. Google announces NDK r3 for Android and the main deal with this revision is about OpenGL ES access for developers.
by ExtremeT (702records@gmail.com) at March 09, 2010 06:45 PM

It's time for another review of the past week's action in the Theme category on the Android market. Just like last week, this week there wasn't a huge amount of action taking place aside from some slight shuffling of positions here and there. Two weeks ago there was a huge change up in the themes in the top 10 for both paid and free themes so it seems everyone is settling in nicely now.
For the paid themes category there actually wasn't any changes at all, not even one theme moving a single rank. I suppose this will happen from time to time but I don't expect it to last, especially with some of the newer themes being released which I think could easily knock a few out of the top 10 given some time.
Free themes saw some movement though. Nike Kicks by Extreme Themes went back up to 4th place while Spongebob by MTM dropped back down into 5th. iPad theme by GWDesigns dropped out of the top 10 being replaced by Loveable by mAPPn in 10th place. So even though there was some action in this section, it's still not a whole lot to write home about. Not much to write about when it comes to the top 10.
Some notable themes to look out for that may invade the paid or free top 10 section that just came out.
- WTF Theme by Extreme Themes (Completely whacked out theme)
- Gorillaz Theme by Elia Alberti (Not a fan of the icons but it's a good solid theme, some great design to it)
- Neon Nites by RJPThemes (Don't like the search bar but other then that a great concept and pretty well executed)
- Golden Floral by RJPThemes (Another solid entry into the themes market)
And now it's time for the usual quick review and this week's review will be on Modern Warfare 2 by K-J Themes who produce a lot of name brand themes.
Overall this theme is pretty solid with decent icons, a decent tab/dock and a great looking radar looking clock with a world map on it. Another feature I like is the drawer background being black with just the game name on it with some graphical enhancements, adds a bit more flare to it. The icons could use a bit more consistency to them since some are circle, some are rounded squares and others are face cut-outs. The best looking ones are the rounded squares and that's what I would like to see all the icons as. Still it's a good theme and flows pretty good and currently is keeping a rating of 4.5/5 stars on the market.

Overall Rating: 4/5
If you are a fan of the game you have this and about 5 other Modern Warfare themes to choose from, this is one of the better ones.
by ExtremeT (702records@gmail.com) at March 09, 2010 05:45 PM
The third release of the Android Native Development Kit (NDK) is now available for download from the Android developer site.
It can be used to target devices running Android 1.5 and higher. In addition to a few bug fixes and improvements, this release includes the following new features:
The toolchain binaries have been refreshed for this release with GCC 4.4.0, which should generate slightly more compact and efficient machine code than the previous one (4.2.1).
Note that the GCC 4.4.0 C++ frontend is more pedantic, and may refuse to compile certain rare and invalid template declarations that were accepted by 4.2.1. To alleviate the problem, this NDK still provides the 4.2.1 binaries, which can optionally be used to build your machine code.
Applications targeting Android 2.0 (API level 5) or higher can now directly access OpenGL ES 2.0 features. This brings the ability to control graphics rendering through vertex and fragment shader programs, using the GLSL shading language.
A new trivial sample, named "hello-gl2", demonstrates how to render a simple triangle using both shader types.
This NDK release is just called "r3", for "Revision 3", to indicate that it is not limited to a specific Android platform/API level. Some developers thought that the previous release's name (1.6_r1) was confusing and indicated that it could only be used to target Android 1.6, which was not true.
Enjoy!
by David Turner (noreply@blogger.com) at March 08, 2010 07:25 PM
Part of the innovation in replacing the default gallery application in Android is having meta-data used of generating tags that than are assign to user defined categories, sort of an automated organizer of sorts. Obviously, I can use file names as the first version of this feature.
But, with all the buzz in getting higher GHZ devices into th market not just the low end at 800 MHZ at the low end but the ones at both 1 GHZ and 1.5 GHZ cpu speeds it would seem that innovation of tagging should use image processing. For people objects that would be called face recognition, for non people object its called object recognition.
You the user choose an image on the SDcard and Gallerie calibrates the tagging of that object in the picture so your photo album has all the pictures on the Sdcard of that object in one album. with the new device cpu speeds it should be fast enough as I would be using an Android specific processing.org image library. I could even make this the premium feature and the picture tagging by file name the freemium feature.

In this installment of the Android multi-touch series, we try to understand touch events by writing some sample code that dumps them out and then examines the results. All source code can be downloaded from the web site for Hello, Android! (3rd edition).
Understanding touch events
Whenever I first learn a new API, I like to first put in some code to dump everything out so I can get a feel for what the methods do and in what order events happen. So let’s start with that. First add a call to the dumpEvent() method inside onTouch():
From Touchv1/src/org/example/touch/Touch.java:
@Override
public boolean onTouch(View v, MotionEvent event) {
// Dump touch event to log
dumpEvent(event);
return true; // indicate event was handled
}
Note that we need to return true to indicate to Android that the event has been handled. Next, define the dumpEvent() method. The only parameter is the event that we want to dump.
From Touchv1/src/org/example/touch/Touch.java:
/** Show an event in the LogCat view, for debugging */
private void dumpEvent(MotionEvent event) {
String names[] = { "DOWN" , "UP" , "MOVE" , "CANCEL" , "OUTSIDE" ,
"POINTER_DOWN" , "POINTER_UP" , "7?" , "8?" , "9?" };
StringBuilder sb = new StringBuilder();
int action = event.getAction();
int actionCode = action & MotionEvent.ACTION_MASK;
sb.append("event ACTION_" ).append(names[actionCode]);
if (actionCode == MotionEvent.ACTION_POINTER_DOWN
|| actionCode == MotionEvent.ACTION_POINTER_UP) {
sb.append("(pid " ).append(
action >> MotionEvent.ACTION_POINTER_ID_SHIFT);
sb.append(")" );
}
sb.append("[" );
for (int i = 0; i < event.getPointerCount(); i++) {
sb.append("#" ).append(i);
sb.append("(pid " ).append(event.getPointerId(i));
sb.append(")=" ).append((int) event.getX(i));
sb.append("," ).append((int) event.getY(i));
if (i + 1 < event.getPointerCount())
sb.append(";" );
}
sb.append("]" );
Log.d(TAG, sb.toString());
}
Output will go to the Android debug log, which you can see by opening the LogView view (see Section 3.10, Debugging with Log Messages).
The easiest way to understand this code is to run it. Unfortunately you can’t run this program on the Emulator (actually you can, but the Emulator doesn’t support multi-touch so the results won’t be very interesting). So hook up a real phone to your USB port and run the sample there (see Section 1.4, Running on a Real Phone). When I tried it on my phone and performed a few quick gestures, I received the output below:
1. event ACTION_DOWN[#0(pid 0)=135,179] 2. event ACTION_MOVE[#0(pid 0)=135,184] 3. event ACTION_MOVE[#0(pid 0)=144,205] 4. event ACTION_MOVE[#0(pid 0)=152,227] 5. event ACTION_POINTER_DOWN(pid 1)[#0(pid 0)=153,230;#1(pid 1)=380,538] 6. event ACTION_MOVE[#0(pid 0)=153,231;#1(pid 1)=380,538] 7. event ACTION_MOVE[#0(pid 0)=155,236;#1(pid 1)=364,512] 8. event ACTION_MOVE[#0(pid 0)=157,240;#1(pid 1)=350,498] 9. event ACTION_MOVE[#0(pid 0)=158,245;#1(pid 1)=343,494] 10. event ACTION_POINTER_UP(pid 0)[#0(pid 0)=158,247;#1(pid 1)=336,484] 11. event ACTION_MOVE[#0(pid 1)=334,481] 12. event ACTION_MOVE[#0(pid 1)=328,472] 13. event ACTION_UP[#0(pid 1)=327,471]
Here’s how to interpret the events:
Now the code for dumpEvent() should make a little more sense. The getAction() method returns the action being performed (up, down, or move). The lowest 8 bits of the action is the action code itself, and the next 8 bits is the pointer (finger) id, so we have to use a bitwise AND (&) and a right shift (>>) to separate them.
Then we call the getPointerCount( ) method to see how many finger positions are included. getX( ) and getY() return the X and Y coordinates, respectively. The fingers can appear in any order, so we have to call the getPointerId() to find out which fingers we’re really talking about.
That covers the raw mouse event data. The trick, as you might imagine, is in interpreting and acting on that data.
To be continued in Part 4, Setting up for image transformation >
Copyright notice:
This is an excerpt from Hello, Android 3rd edition, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy, please visit http://www.pragprog.com/titles/eband3.
Copyright © 2010 The Pragmatic Programmers, LLC. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher.
Last time I posted that Google was sending me a Free Nexus One or Verizon Droid, Here is the confirmation letter I got from Google!
Dear Hydtech,
We’ve received your information for the Android Market Device Seeding Program and have successfully validated the Google Order Number from your developer account.
Your information will now be sent to our shipping partner for order processing. Just to confirm, the information we received from you was:
HydTech
**********
*********, *******
US
*******@gmail.com
*************
If you need to make any changes to your information above, please contact us at android-market-seeding@google.com as soon as possible. Otherwise, you should receive your phone in 2-4 weeks!
On behalf of the Android team,
Thanks, and happy coding!
Google, Inc.
1600 Amphitheater Parkway
Mountain View, CA 94043
Prerequisite/Works with either of the following:
aHome
dxtop
aHome mini
aHome Lite
PandaHome
Freshface
openHome full
The Nexus one was rooted before it even got released. Paul at modaco forums showed us how to perform this hack. I’ll try to simplify the method here.
1. First unlock your bootloader if you have a T-mobile Nexus One (this voids the warranty) or get an unlocked version from Google for like $550:
a. download fastboot
b. open terminal or command line and type
– Windows fastboot-windows oem unlock
– Mac ./fastboot-mac oem unlock
– Linux ./fastboot-linux oem unlock
2. Rewrite the Bootloader to obtain root privileges:
a. Download either SuperBoot or InsecureBoot and extract. (The difference is that with the insecure boot you won’t make any changes to the system and you would have to launch su manually)
b. Put the device in bootloader mode:
– Turn off the phone and restart holding the trackball.
c. Flash the bootloader:
– Windows = double click the windows bat file
– Mac = open terminal and cd to the directory containing the file. type chmod +x install-superboot-mac.sh
./install-superboot-mac.sh
– Linux = open terminal and cd to the directory containing the file. type chmod +x install-superboot-linux.sh
./install-superboot-linux.sh
Now you should have root!

Pic courtesy of Stericson.