Planet Android Headlines

↑ Grab this Headline Animator

March 01, 2012

[Deal Alert] Daily Steals Last Call Offering Unlocked 16GB Samsung Galaxy Nexus For Just $529.99

image

Those who are still in the market for Samsung's hotly acclaimed Galaxy Nexus are in luck – Daily Steals Last Call is offering Google's latest flagship device for just $529.99, which is a cool $220 off MSRP. As an added bonus, Daily Steals is offering the phone in either silver or white.

It's worth noting the deal only lasts for 24 hours, so those interested should take action quickly.

image

For those who may have already forgotten, here are the Nexus' specs one more time:

  • 4.65" 720x1280 Super AMOLED display
  • 5MP rear camera and 1.3MP front shooter
  • Android 4.0 Ice Cream
  • ...

Official Android Police t-shirts are now on sale, with over 25 designs to call yours.

Done With This Post? You Might Also Like These:

[Deal Alert] Daily Steals Last Call Offering Unlocked 16GB Samsung Galaxy Nexus For Just $529.99 was written by the awesome team at Android Police.



by Liam Spradlin at March 01, 2012 05:41 AM

Global Mobile Awards: Samsung Galaxy S II Wins Best Smartphone

MWC Awards

The winners of the Global Mobile Awards, organized by the GSMA, ha…

by Natesh Sood at March 01, 2012 05:38 AM

VLC for Android Beta Released

Having a good, open source media player for Android has always been something to hope for. Unfortunately, up until now, nothing has quite satisfied this niche on the platform. Thankfully, the wait for some people is now over. XDA Senior Member adridu59 has taken some initiative and compiled VLC Media Player for use on Android devices. If the name sounds familiar, it should—it’s one of the most popular and stable cross-platform media players around.

The release is in beta right now, so you can expect some bugs. Features like hardware acceleration are still hit-or-miss, and there’s some media formats that aren’t supported just yet, but updates are being posted very frequently. In the words of the developer:

Snapdragon S1 → ARM11
Snapdragon S2/S3 → Cortex-A8/NEON
Snapdragon S4 → Cortex-A9
Tegra 2 → Cortex-A9
Hummingbird → Cortex-A9 (Current gen. only)
OMAP3 → Cortex-A8/NEON
OMAP4 → Cortex-A9

The list of supported hardware is long, but is not yet complete, so those with unsupported devices will have to wait just a little while longer. You can find full release notes, change log, feature list, and download links in the original thread.


by PoorCollegeGuy at March 01, 2012 04:30 AM

7 Must-try Multiplayer Games For Your Android Device

We all enjoy a good game, especially when it’s with you wherever you go. It makes waiting alone in a supermarket line less boring. Although going solo is great, we’ve got to admit that there’s nothing like a good co-op on action-driven application right at your fingertips. Check out our list of multiplayer games that we’ve found interesting.

1. Asphalt 6: Adrenaline HD



Racing games may not be your cup of tea – until this game that is. Asphalt 6 offers great graphics showcasing 42 different cars and bikes from the best manufactures that you can choose from, not to mention a good roster of virtual cities you can wreak havoc in. Whether you’re looking for challengers online or you’re with your friends for some cross-platform fun, this game will poke at your competitive side that one run won’t be enough. You can even customize your vehicles and challenge yourself against racers from 11 leagues in 55 events to earn your place in leaderboards. Best of all, you can have all these for only around a dollar.

2. Modern Combat 3: Fallen Nation



If you’re an avid first person shooter (FPS) gamer on other consoles, then you’ll probably notice that Modern Combat 3: Fallen Nation has a lot of things that look eerily similar to famous titles you’ve probably played before – but you’ll forgive GameLoft for that, since this really brings a great deal of fun to your Android device. Formula invasion story aside, the virtual environment will blow you away. Controls may be a bit iffy as a lot of FPS games on touch screen phones are, but GameLoft developers try to remedy this by putting in an auto aim option that works okay. Your character and guns are customizable, which is great help especially during multiplayer runs through 6 maps and 7 modes. Sound quality could be better though, but looking over minor annoyances, MC3 is a great game. Download it on your tablet for best results.

3. Pocket Legends



For those massively multiplayer online role playing game (MMORPG) fans out there looking for a fix away from your desktop computers, get Pocket Legends. Be a Warrior, an Archer, or an Enchantress and save the world of Alterra from invading zombies, aliens, and other oddities. What’s interesting with Pocket Legends is that you can create your own instance which other players can easily join in. It can sometimes be a bummer to be with total strangers in a dungeon with no semblance of strategy, but since the gameplay is pretty simple, you don’t really need to be as serious playing this as you are with WoW. You can do the run all over again in any case. Pocket Legends is free to download, but though there are in-game purchases in order to advance faster, it’s pretty fun to play.

4. Guerrilla Bob



The first thing you’ll probably notice about Guerrilla Bob is how pretty it is, but don’t be fooled with all the bright colors and the chibi characters, because with the amount of action and firepower packed in it, this game is most definitely not cute by any standards. Reminiscent of Metal Slug, Guerrilla Bob will have you running through levels, using a wide array of weaponry to exact revenge on your enemies. Not only is it multiplayer, it’s also cross platform, so if you have friends who play it on their iPads, PCs, or MacBooks, you can just hook up and do a run. For the full version, you can download it here. Your $2.99 will definitely be worth it.

5. 2-Player Reactor


2-Player Reactor doesn’t have impressive graphics and you don’t even have to go online. You only need a friend, a husband, or a sibling to play with, and that’s as multiplayer as it can get. But trust us, it is addicting. It’s probably because the instructions are so simple that you can’t help but get frustrated and competitive if you miss one of them. This game has garnered good reviews that the developers have released a paid version, which basically does the same thing, but only with four people. Just be careful not to break any displays while playing.

6. Dungeon Defenders: Second Wave



An update to the successful first title, Dungeon Defenders: Second Wave boasts of a deep RPG-con-tower-defense-game that allows four-player co-op mode across different platforms – from your Droid, to your PC to your iOS device. Become a Fighter, an Archer, a Mage, or a Monk and go through beautifully rendered environments while quashing tons of evil groups along the way. If you’re into player-vs-player (PVP), the game gives you the option to access the arena for $4.99, but it wouldn’t hurt your normal gameplay even if you don’t bother with it. If you’re a fan of the first release, you’ll love the fact that the skill cap was raised to level 80 and that new dungeons have been added.

7. Haypi Kingdom


No swashbuckling adventures here. Haypi Kingdom is an empire building/strategy game that may initially turn you off with its almost static graphics and an overly-simple interface. Although you may be tempted to uninstall it as nothing seems to be happening, stick around and do a few tasks. Grow your kingdom. When you find yourself consistently checking your phone to see if your crops have grown, then you’ve already fallen into this very deep rabbit hole of a game. Haypi Kingdom enables you not only to create your kingdom, but also to forge alliances with other real-world players and conquer different territories. You can chat with your fellow players and even participate in the live market to trade your goods. There are so many things to do with it that you’ll wonder why you wanted to uninstall it in the first place. It’s a game for those who are patient and are willing to think thoroughly about tactics, and it rewards you with a pretty powerful virtual kingdom and a sense of well-being.

Do you have any more multiplayer games that you’ve enjoyed but aren’t on the list? Leave a comment and tell us about them!

YOU MIGHT ALSO LIKE

  1. Electronic Arts to Bring Out Multiplayer Scrabble App for Android

  2. Two New Exclusive Xperia Play Games Available on Android Market

  3. Watch Superbowl XLVI on your Android Device for free


This article, 7 Must-try Multiplayer Games For Your Android Device , was originally published at AndroidAuthority.com - Your Android News Source.


by Charlene Owen at March 01, 2012 02:15 AM

Ideos X5 Gets a Taste of ICS

We are always crazy about ports for various devices for one very particular reason: these extend the lifetime of otherwise unsupported devices. This was, for the most part, the foundation of our beloved site. From time to time, we find in our forums an underdog type of device that not too many people are interested in. However, it takes one little spark from a very good dev to make things happen. This is the story of the Ideos X5 (one of its variants anyways) and how XDA Recognized Developer and overall legend dzo managed to get this tab to run ICS.

The port is relatively new and yet it has gone through many revisions in a matter of 10 days, which is the kind of work that we have seen, loved, and come to expect from this dev. The port is, as of right now, with no bugs except for a slow GPS startup, but everything else seems to be working up to speed (wifi, cams, compass, etc). The latest revision fixed a bug with battery stats, which seems to plague not just this port, but several other devices as well, including the Asus Transformer stock rom!

In any case, if you have a X5 and would like to take this for a test drive, please leave some comments for the dev so that further development on this can be achieved.

This is a clean ICS ROM built from from the Qualcomm Code Aurora source. 
Everything is more or less functional and the UI is very smooth but it is still preliminary so expect bugs, random reboots etc..
This is based on release M7630AABBQMLZA4040295I on the ics_chocolate branch and a new version is released almost every week so it should only get better.

You can find more information in the original thread.

Want something published in the Portal Contact any News Writer.


by egzthunder1 at March 01, 2012 01:00 AM

[Game Roundup] Check Out Our Pick Of The 5 Best Games To Hit The Android Market In February 2012

android-mascot-2

Zombie Wonderland 2: Outta Time

This is quite possibly one of my favorite games from the entire month, and even beats out many of the titles from the January installment of the Best Of series. In Zombie Wonderland 2, you play the role of Chuck, who just so happens to be Niceville's only Zombie Cleaner. That's an odd job title, is it not?

unnamed unnamed-1 unnamed-2

As Chuck, you'll play through 31 missions in 12 different places, and the goal is to protect your current location from hoards of oncoming zombies. You'll have access to a full arsenal of weapons to ...

Official Android Police t-shirts are now on sale, with over 25 designs to call yours.

Done With This Post? You Might Also Like These:

[Game Roundup] Check Out Our Pick Of The 5 Best Games To Hit The Android Market In February 2012 was written by the awesome team at Android Police.



by Brandon Lancaster at March 01, 2012 12:54 AM

20 - Database - Part 1: Android Bootcamp Series 2012

In this tutorial, Marko Gargenta will show you how to set-up an SQLite database to store local data for your Android application. The database service will run in the background and periodically update the database to ensure that the data needed for your Android app is relatively fresh.

by Max Walker at March 01, 2012 12:54 AM

February 29, 2012

Wallpaper Wednesday – The Essence of Fire

This week’s wallpaper is called The Essence of Fire. It was created by CalebRJ.

Download Links

Original Galaxy Tab: Click here to download
Galaxy Tab 10.1/8.9: Click here to download

How to add a wallpaper for noobs.

  • Click the download link above on your Galaxy Tab
  • Longpress on the wallpaper image
  • Click set as wallpaper

Related Posts

  1. Wallpaper Wednesday – The Fog
  2. Wallpaper Wednesday – Winter Wonderland
  3. Wallpaper Wednesday – Wormhole

by Kyle Dornblaser at February 29, 2012 11:34 PM

[MWC 2012] SilverTree Media working on another addition to the Cordy series

SilverTree Media is working on a sequel to Cordy and it is shaping up to be much faster in pace and Cordy will be getting new abilities. Cordy 2, currently being talked about at MWC 2012, is taking a few influences from the blue hedgehog.

Read more...


by {ga=andrew-huff-aka-extremet} (702records@gmail.com) at February 29, 2012 11:02 PM

“Just place the shapes anywhere in the arena and try to make a square”

…that’s the idea behind Polybox, a new puzzle game for Android from developer Oxide Software. Polybox uses the Tetris shapes as its basis, only instead of making lines that disappear players have to clump them together in the middle of the screen to form squares of the same colour…

android polybox 1

android polybox 2

…and then stars come out when you do well. What’s not to like about that? Polybox is up on the Android Market in slightly limited free and paid for versions, with the latter costing 63p if you’d want more of it and without adverts.

No related posts.

by Gary_C at February 29, 2012 10:55 PM

Move Over PCs, Sales of Smartphones to Reach 1.5 Billion in 2016

smartphoneThings are about to go from bad to worse for PC makers of the world. That is if you believe the latest forecast that was just released by Business Insider Intelligence on the expected global sales of smartphones compared to PCs.

It appears that smartphone sales will far surpass their PC counterparts, with the numbers expected to reach 1.5 billion units in 2016. Comparing this to the number of PCs that have been sold this year, which stood at 350 million units, it isn’t hard to see why some tech pundits are declaring the death of PCs and heralding the new age of mobile devices. A premature declaration, we know, but the figures do speak for themselves.

Sales forecast for the next couple of years

Of course, defeating the PC is a feat that has already been achieved by smartphones as early as last year. As for this year, the lead of smartphones sales over PC sales is expected to double.

According to Alex Cocotas, research analyst at BI Intelligence, there are two factors that contribute to the booming sales of smartphones.

The first factor is the declining price of the devices. After hovering around $315 in 2011, the average price of a smartphone is expected to drop to $200, within the next couple of years. The second factor is linked closely to the first one. With prices coming down, consumers are more inclined to make that jump from dumbphones – 5 billion units of them – to smartphones. It’s worth mentioning that the report states that smartphones only made up about 10 percent of the global sales of mobile phones this year. So there’s definitely room for growth.

The report also mentions that, over the next five years, smartphones sales will see a 30 percent compound annual growth rate. By 2016, smartphones will make up about 2/3 of all mobile phone sales.

It is not uncommon for analysts to make such bold claims about what’s hot and what’s not in 5 or 10 years from now. If you like numbers and like your story to have a certain twist, here are some sales stats from other analysts. Gartner estimates that the global smartphones sales in 2011 were 472 million units – accounting 31 percent of all mobile device sales. Meanwhile, IDC believes that 491.4 million units of smartphones were sold in 2011.

Suddenly, that 1.5 billion smartphones sales figure forecasted for 2016 doesn’t seem that ludicrous, does it?

YOU MIGHT ALSO LIKE

  1. Gartner: Tablets Creeping into Corporate World, Global Sales to Reach 326 Million in 2015

  2. Android Tablet Sales to Reach 87 Million by 2015

  3. Google Android Tablet To Compete With iPad’s Sales Volume


This article, Move Over PCs, Sales of Smartphones to Reach 1.5 Billion in 2016 , was originally published at AndroidAuthority.com - Your Android News Source.


by Sade Bams at February 29, 2012 10:45 PM

Insurgent Games makes all their Android games free and open source

We have followed Insurgent Games for some time now, since the time they were founded which was near when we started ourselves. Now the two developers who formed Insurgent Games are moving on, closing down shop to peruse other projects. However, they have left gifts for the community.

Read more...


by {ga=andrew-huff-aka-extremet} (702records@gmail.com) at February 29, 2012 10:09 PM

Android Design V2: Now with stencils

[This post is by Android designer Alex Faaborg, on behalf of the entire User Experience team. —Tim Bray]

When we initially released Android Design, by far the number one request we received was for us to release stencils as well. The fine folks on the Android User Experience team are pleased today to release some official Android Design stencils for your mockup-creating pleasure.

With these stencils you can now drag and drop your way to beautifully designed Ice Cream Sandwich (Android 4.0) applications, with grace and ease. The stencils feature the rich typography, colors, interactive controls, and icons found throughout Ice Cream Sandwich, along with some phone and tablet outlines to frame your meticulously crafted creations.

Currently we have stencils available for those venerable interactive design powerhouses Adobe® Fireworks®, and Omni® OmniGraffle® and we may expand to other applications® in the future. The source files for the various icons and controls are also available, created in Adobe® Photoshop®, and Adobe® Illustrator®. Here are the downloads.

We’ll be updating these stencils over time so, as always, please send in your feedback!

Happy mockup making,
— Your friendly Android Design Droids

by Tim Bray (noreply@blogger.com) at February 29, 2012 10:05 PM

ASUS Transformer ICS update leaves tablets unusable

Late last week ASUS started rolling out an over the air update for the original EEEPad Transformer. If you haven’t installed it yet, don’t. It can cause random reboots and generally make your tablet unusable.

I installed the update over the weekend and have had nothing but problems ever since. The main problem is that every couple of hours it will decide to reboot itself, and then to add insult to injury, the reboot fails. The tablet hangs on the startup after rebooting, and you have to turn it off and back on to clear the problem. The Transformer doesn’t have a removable battery, so to do a hard power-off you hold the power button for about 10 seconds. Luckily that works.

Dozens of frustrated ASUS customers have posted irate messages about the problems over in the XDA and Transformer forums. Besides the random reboots, some report intense battery drains and crashes of common apps. Here are a few of the threads tracking the issue:

Some people have reported no problems at all, so it’s a bit of a crap shoot whether or not you’ll be affected. Some say that factory resets, clearing and wiping everything has fixed the problem but it did not fix it for me or a lot of others. My advice: Don’t upgrade until ASUS retracts this ill-fated update and puts out a better version.

by Ed Burnette at February 29, 2012 10:00 PM

Modded Android: A Space Odyssey

When I show friends and colleagues the things I’m able to do on my rooted Android device, many of them end up asking me to work similar magic on their hardware. I’ve always been happy to help out, and after a bit of research at home (how to get root, custom ROMs that are available, etc) I usually come to work a day or two later equipped with my laptop and the appropriate software. Unfortunately, I’ve recently come to realize that this doesn’t always work out to the advantage of the other person, or to me for that matter.

The thing I fail to convey to the people who ask me to root their phones is that running a custom ROM and making the hardware do things it was never designed to do all carry with them an inherent risk of failure. If I show you my phone overclocked to twice it’s original clockspeed and sharing my 3G connection to a laptop over WiFi, you only see the (admittedly strong) positives. What’s not obvious is the amount of tweaking and hacking required to get the phone to that point, and the occasional hiccups that arise from maintaining that status.

To Boldly Go…

The last few months have seen me root probably a half a dozen phones for other people. Of those, I can say with confidence that only one of them has been 100% satisfied with the experience. The problem isn’t that anything goes wrong with the rooting process or the installation of the custom ROM, but that the odd little “gotchas” that have a tendency to pop up when running in a relatively untested state are not the kind of thing the average smartphone user finds nearly as interesting and challenging as I do.

LCARS

It's actually about 1/1000th as cool as this.

I’ve come to the conclusion that running a modified Android device is less like using a normal smartphone, and more like flying a spacecraft.

For example, I routinely run my Motorola Droid at 1200 MHz, more than double it’s original clockspeed. For the most part, this works. Except that my battery will occasionally die within 3 hours of the device being taken off the charger (I usually get around 16 hours), the outside of the phone heats up to uncomfortable levels when watching videos, and there is about a 1 in 4 chance that receiving a phone call will completely lock it up. Managing clockspeed has become a delicate balancing act for me; I can increase power to be able to do more of the things I want, but need to be careful not to overload the system or else I’ll run into strange issues. Every time I move sliders around to control my device’s processor, I get the feeling I am adjusting the warp drive on some tiny little starship that may explode if I don’t manage my energy use properly.

Frankly, I find this prospect thrilling. But the average person simply wants their device to work when they need it to, and I would be lying if I said my phone is always at the ready. I was recently using my phone to navigate to a location I’d never been to before, and while on the road I received a phone call which not only locked up my device but for some unknown reason caused it to make a terrible screeching noise at maximum volume that wouldn’t stop until I disconnected the car charger and pulled out the battery. Having to pull over and fight with a literally screaming smartphone is something that the average user just shouldn’t have to deal with. I consider it an occupational hazard of running a ROM that came from a guy on the internet rather than Motorola’s internal developers, but the majority of people aren’t willing to make that sacrifice.

The Prime Directive

Accordingly, I have decided to start approaching modifying other’s phones differently. I now adhere to the Prime Directive; making sure those who aren’t properly prepared are not given or exposed to advanced technology they haven’t developed the ability to use safely. There are now four distinct levels of access I grant on another person’s phone, depending on the technical aptitude of the device’s owner:

  1. Limited Root
  2. Unlimited Root
  3. Custom ROM
  4. Bootloader

They break down as follows:

Limited Root

This level of access is for the people who don’t understand what root is, and don’t really want to know. At this level, I ask the person very directly “What do you want your device to do?”. I then root the phone, install only the apps they want (Wireless Tether, AdAway, Call Blocker, etc), then use Superuser Elite to set a PIN on the su prompt…and don’t tell them what it is. Admittedly, I feel a little bad going this route, but it’s for the user’s own good. Giving them access to the root prompt is just going to get their phone hacked into and their personal information stolen by the next piece of Android malware pretending to be an Angry Birds update.

Unlimited Root

As the name implies, this is for people who are able to understand what root access is and how dangerous it can be if misused. These are the kind of users who may not be extremely technical, but are smart enough to keep themselves out of trouble. Whenever possible I would rather go this route, but I’ve found it’s not always possible. At this level, I usually still ask the person to contact me before accepting any additional su requests from Superuser, but beyond that I feel pretty confident they can manage their new found powers. I still suggest they spend the $3 on Superuser Elite and set a PIN, but this time it’s to protect their phone from outsiders rather than themselves.

Custom ROM

At this level, the person should be technically inclined enough that they could have flashed their phone themselves if they really wanted to, they were just perhaps not 100% confident in the method and had never done it before so they asked for help. I would still make sure the ROM I put on for them is as stable as possible and has enough positive feedback online that I can be relatively sure it won’t explode on them.

Bootloader

This is the big one. As with the previous level, anyone who I explain the bootloader to is the kind of person who could have gotten here on their own had they really wanted to. At this level I may just install ClockWorkMod, show the user how it works, and let them run with it. Once they know how to make a backup of their current system and flash a new ROM, they can do whatever they please.

My God…it's full of ROMs…

Conclusion

Captaining the Starship Droid is not for everyone. Plenty of people, the majority really, should keep their devices in it’s stock condition and not play in the deep end of the pool. There is just too high a risk to their personal data to let them run wild with a rooted Android device with the current rash of malicious software coming out of the Android Marketplace. Maybe when Google get’s a better handle on the situation, but I have my doubts about that ever happening in the first place.

For those who can appreciate the importance of modifying their device’s operating system and are willing to deal with the possible risks of operating in uncharted space, modded Android offers incredible potential. Just make sure they’re up to the challenge before they pull out of port.

Following these guidelines, you should be able to give others the gift of modded Android without compromising their own safely and security.

by Tom Nardi at February 29, 2012 09:15 PM

Erncon Multiplayer Android Game Enters Public Beta


The beta build for ErnCon, a new space shooter by Android veteran Woo Games, is now available in the Android Market.

ErnCon is a top-down (and very intense) multiplayer shooter for eight simultaneous players over Wi-Fi, 3G and 4G. Space aces can choose between fighters or robots (three of each) and more than 15 weapons, including Homing Missiles, Seeking Mines, Rail Guns, Attack Drones and more.
To participate in the Open Beta, just head to the Android Market and download Erncon.

For now, the game will only be available in the U.S., Canada and Europe due to server availability. In-game purchases will also be disabled for the duration of the beta.

ErnCon is free-to-play. Players can purchase new levels, fighters, robots and weapons with the XP earned in-game or for those who like to skip ahead by spending actual money.

ErnCon Beta features:
  • Epic space combat battles
  • Easy multiplayer setup - just choose a mission and start playing right away
  • No waiting for lobbies to fill up, no waiting for space to open in over-crowded games
  • Earn cash and XP to unlock and purchase new fighters, robots, and weapons
  • Earn XP to unlock new multiplayer missions
  • Integrated with Swarm
  • Add friends and send them boosts to help them in combat. Friends can send back boosts in return!

The following features will be available in the final build:
  • One-player Survival Mode
  • Survival Mode leaderboards
  • Achievements
  • Premium items available via in-app-purchases so players can gain an edge over the competition


Minimum requirements:
  • Android 2.2 and above
  • Wi-Fi/3G/4G connectivity
  • Smartphones/tablets capable of running hardware-accelerated Open GL

About Ernest Woo, Founder and CEO, Woo Games:

Looking to innovate on the promising Android platform, Ernest entered the Android Developer Challenge 2 in 2008 with his first Android title, FRG , becoming a top 20 finalist in the Action&Arcade category. Since that promising start, Ernest has developed games for various other platforms including a lit pressure-sensitive dance floor at LightSpace Corporation and smartphone browsers at MocoSpace.

Ernest fell in love with games on the legendary Commodore 64 when he was 8 years old. Inspired by the Atari VCS/2600, NES, and PC, he realized that making games was his true calling. In high-school, for example, Ernest surprised his entry-level programming class with the predecessor of ErnCon, a 1-on-1 space shooter based on Star Control.

by The Swarm Team (noreply@blogger.com) at February 29, 2012 08:05 PM

Where Is Android Music Slacking? [Crowd Sourcing]

158228-Google-Music-Beta-IconLate last week I glanced over some articles by CNET and others and found that Google was not happy with the customer turnout for their music service. Then I had a sudden realization. I am yet to find myself using their service. I have used Google Music once to buy music. I have been using [...]

by Mike Lewis at February 29, 2012 08:00 PM

Promote Your Band With Your Own Android App – No Coding Required

Having an app to promote your band is just as important as having a website. Andromo App Maker for Android introduces new audio features designed to help musicians promote themselves and their music to over 300 million Android users.

New Music Player Activity for Android Apps at Andromo.com

Create an App for Your Band - No Coding

Andromo App Maker for Android is pleased to introduce a new way for bands and musicians to create their own fully-customized Android app in minutes – for free. There’s no coding required, and everything is done online at www.andromo.com, so there’s nothing to download or install. If you can point and click, you can create an Android app.

Having an Android app to promote your band is just as important as having a website. With over 300 million Android devices worldwide and 850,000 new devices activated each day, musicians can’t afford to ignore this huge potential for promoting their music and gaining new fans.

Apps are created and customized by picking and choosing ‘activities’ and dropping them into your app. Andromo’s new Audio Player activity allows musicians to share sample tracks or even full albums, with eye-catching artwork integrated right into the player. With support for all major audio formats, including MP3, MP4 and AAC, music tracks can either be embedded into the app or streamed live from a web server, providing you with significant flexibility in creating your app.

Other activities like RSS/News can be used to automatically update fans on concert dates, album releases, blog posts and other band news. Bands can also include their Twitter feed and Facebook page with mobile-friendly interfaces, and share photos and videos with the Flickr photo gallery and YouTube video activities.

“Since you don’t need to write code to use Andromo, anyone can make an Android app,” says Andromo president Colin Adams. “It’s a great opportunity for musicians to promote themselves. Getting your music into the Android Market puts you in front of hundreds of millions of people instantly. Apps are a real game-changer for the music industry.”

Android Apps created with Andromo can be given away as free promos to keep your current fans happy and hook new listeners. You can also choose to sell your app directly to fans through the Android Market.

To start making your own Android app, visit http://www.andromo.com.

About Andromo App Maker for Android

Andromo App Maker for Android Logo IconAndromo is a trademark of Indigo Rose Software Corporation. Privately held, Indigo Rose Software has been creating award-winning software development tools since 1991. Our tools like AutoPlay Media Studio, Autorun MAX!, MSI Factory, Setup Factory, TrueUpdate, and Visual Patch have been used to deliver software to hundreds of millions of people worldwide.

by colin at February 29, 2012 07:58 PM

Drop7 – clever puzzler that’s Easy to Play & Tough to master!

Drop7 – clever puzzler that’s Easy to Play & Tough to master!
Drop7 by Zynga is a clever and challenging puzzle game. Like a beefed up Connect 4, the aim of the game is to drop discs into a 7x7 grid to make groups of 1, 2, 3, 4, 5, 6 and 7. Easy in principal but captivating and tough in reality. How long can you survive? [...]

Drop7 – clever puzzler that’s Easy to Play & Tough to master! is a post from: Android Tapp

by Paul Wilks at February 29, 2012 06:27 PM

TMA: Android Goes Pirate, Google+ Equals Facebook Minus People

TMA Android Goes Pirate!

Another day, another Too Much Android, where we bring you some of the stories that you might have missed. In today's Too Much Android: Android goes Pirate with uTorrent, Google+ users forget you're supposed to use something to be a user, HTC wants the next Nexus (who doesn't?) and the second day of the MWC wraps up.

(This is a preview - click here to read the entire entry.)

by Aaron Tilton at February 29, 2012 06:10 PM

Carriers And OEMs Are Killing Your Wireless Experience… And You’re Paying Them To Do It

1440728991_pissed_off_xlargeThe Wireless Industry. At one time it was a vibrant, growing thing. SMS, data, calling… all for a reasonable price from your choice of carrier. Enter the age of the smart phone: where in the eyes of the industry it is nothing more than a way into your wallet. It’s been so very long since [...]

by Scotty Brown at February 29, 2012 05:56 PM

Video: Overthrow The Pigs with Your Very Own Angry Birds Slingshot

Angry Birds Schleuder

For some Angry Birds fans, simply clicking on a pixelated screen to lob squeeling birds at fat green pigs is not enough. Simon Ford decided he wanted to create a real-life slingshot to get the job done, turning a virtual game into one that's (somewhat) physical.

(This is a preview - click here to read the entire entry.)

by Steven Blum at February 29, 2012 05:35 PM

Wings of Fury – try this retro yet challenging Fighter Pilot Bomber game

Wings of Fury – try this retro yet challenging Fighter Pilot Bomber game
Wings of Fury is a challenging pilot game where you have to navigate your plane towards enemy islands and blow them to smithereens! Blowing things up however is just the half of it. You also need to take off, land and do it all before running out of fuel! Ideal for the hobbyist pilot, and [...]

Wings of Fury – try this retro yet challenging Fighter Pilot Bomber game is a post from: Android Tapp

by Paul Wilks at February 29, 2012 05:18 PM

Google Music’s Leap Year Sale – 29 albums for $2.99

Music Sale

Overview The big G decided to celebrate Leap Year today by offerin…

by Adam Field at February 29, 2012 04:22 PM

android 9 patch - video tutorial 1

The following video demonstrate the creation of a simple android 9 patch image to use with your android projects. The tool used is Adobe Photoshop CS4.

Enjoy!




by Richard Lalancette (noreply@blogger.com) at February 29, 2012 11:37 AM

Three UK pre-loading eBay app on all Android models

Popular UK mobile network Three has announced a deal with online auction site eBay, which will see the Android eBay app pre-loaded on all of the network’s Google-powered phone models sold from this spring onwards.

eBay’s Neil Andrews says of the new tie-up: “The deal with eBay is part of Three’s efforts to allow people to experience the benefits of the internet wherever they are.”

ebay android three-network-1 ebay android three-network-2

We would pretend to be INFURIATED by this move which removes CHOICE and FREEDOM from Android users, but… the Android eBay app’s surprisingly usable and in fact even preferable to the cumbersome desktop site. We love it. So carry on.

Link via Mobile Today.

Related posts:

  1. VIDEO: Android 4.0 beta for Sony Ericsson’s 2011 models

by Gary_C at February 29, 2012 09:30 AM

MWC Quad Core Devices Comparrison

I love it when other sites do the things I want to do but just never seem to have the time to.

Italian site, Android HD Blog has put together a comparison chart of the Quad Core devices announced at MWC this year.

thumb

Which one do you want then?





Source: Android HD Blog Via: LandOfDroid

by morta at February 29, 2012 09:08 AM

[Rumor] Samsung's Galaxy S III To Be Launched In Over 50 Markets Simultaneously, Bringing A 4.8" Display, Quad-Core Processor With It

1While the much-talked-about Galaxy S III will be conspicuously absent from MWC this year, BGR has received an exclusive tip relaying some of the handset's juicy details. To start with, BGR reports that Samsung is holding off the S III's big reveal in order to "shorten the gap" between announcement and official release. Samsung is evidently planning to release the S III in over 50 global markets simultaneously.

read more

by morta at February 29, 2012 09:00 AM

Sony brings 3 NXT handsets to the party

Over at the Mobile World Congress, the news is hot. Sony has added a further 2 handsets to its new Xperia range in the form of the Xperia P and Xperia U

Sony is strengthening its line up for 2012 by announcing another 2 handsets as part of its NXT ( Next Generation Handset) family.

Like HTC and Samsung, it has opted to keep the same name across all its handsets and just opting just to add an extra letter to indicate the model. Sony have also taken a further leaf out of HTC design by opting to bring an aluminium unibody design which is just going to exude beauty.

Features common to all Sony NXT Handsets

  • NXT is all about connected entertainment and lets the phone become the hub( watch out xbox!) for your home content.
  • New User interface simpler and more in line with Android ( Amazing! )
  • New Software Gallery, Video Player and Music Player.  ( Not sure if these are Sony’s bespoke apps or just the new icecream sandwich versions)
  • Reality Display powered by Mobile BRAVIA® Engine for razor-sharp clarity
  • Plays nice with Sony other accessories including docks

The Range

Sony Xperia P – is the new flagship in the range and will show off the best of the new Sony brand.

Key features for Xperia P ( Link to phone Xperia P)

  • XperiaP_GroupV01_Silver4” Reality Display with powered by Mobile BRAVIA Engine.
  • WhiteMagic™ display technology for an ultra-bright and power efficient viewing experience.
  • 1 GHz dual-core processor for super fast performance with 16GB flash storage.
  • 8MP camera with unique fast capture, HD recording and Sony technology to capture 2D and 3D panoramic images.
  • Easy HDMI and DLNA connectivity to share content on any screen.
  • Near Field Communications (NFC) enabled to access a growing range of NFC applications and services as well as Xperia SmartTags.
  • Available in a choice of silver, black and red, all with an aluminium unibody.
  • Launches on Android platform 2.3 (Gingerbread), upgrade to Android platform 4.0 (Ice Cream Sandwich) during the second quarter of 2012

Sony Xperia U – the new compact handset that is easy to carry and pocket or handbag friendly

Key features for Xperia U (Link to phone Xperia U)

  • 3.5” Reality Display powered by Mobile BRAVIA Engine.XperiaU_GroupV1_BlackMagenta
  • 1 GHz dual-core processor for super fast performance.
  • 5MP camera with unique fast capture, HD recording and Sony technology to capture 2D and 3D panoramic images.
  • Crisp and loud listening with xLoud and 3D surround sound audio technology.
  • Available in a choice of white or black, with pink and yellow exchangeable caps for the base of the smartphone in the box.

T-mobile – have confirmed that they will be launching the Xperia U when it hits UK Stores

The handsets are due to hit our shores in on Android platform 2.3 (Gingerbread), which will be upgraded to Android platform 4.0 (Ice Cream Sandwich) during the second quarter of 2012.

Edit: Current projected release date is 23 April 2012 however this may slip.

Related posts:

  1. Sony goes Large with Xperia S
  2. Official: Ice Cream Sandwich for Sony 2011 phones
  3. Sony Ericsson Xperia Arc vs. iPhone 4


by Android UK at February 29, 2012 08:45 AM

Adding it up! Calculator apps for your Android

How many times have you needed to add something up real quick?

Maybe you want to calculate the correct tip at a restaurant. Or determine the percentage of your monthly budget you can save for that bucket list trip to Europe. You even might want to figure out how many points your fantasy sports team needs to win the week’s big match-up.

The point is, there are a lot of reasons why you need a calculator on hand. Here are a few calculator apps you can download in the Appstore for Android:

calculator lite Adding it up! Calculator apps for your Android Calculator Ultimate Lite, $1.99

This fully-functional scientific calculator is a user-friendly tool with ample capabilities for solving complex calculations (Basic, Scientific, Equations, and Matrices). A free version is available, but only the Basic and Scientific tabs are activated.

 

scientific graphing Adding it up! Calculator apps for your Android Scientific Graphing Calculator, $1.49

Designed for students or professionals who work with mass statistical data calculations, this app provides calculator, equation, graph, table, and setting functions. Draw graphs corresponding to the math equations you input, and set the graph’s variable bounds and background color to give a vivid display of the equations.

 

office cal free Adding it up! Calculator apps for your Android Office Calculator Free, $0.00

Optimized for office tasks, this app features virtual tape and enables fixed point or floating point calculations, various rounding modes, and percent calculation. You can switch between calculator and tape view to get a full screen understanding. Office Calculator’s tape can have up to 500 lines.

 

financial calc Adding it up! Calculator apps for your Android

Financial Calculators, $0.00

Perform a variety of complex calculations on the go, including calculators specifically designed to help you convert currencies, compare auto or lease loans as well as loan interest rates, compute interest and retirement rates, and determine the appropriate tip.

 

newcal lite Adding it up! Calculator apps for your Android NeoCal Lite Calculator, $0.00

Works just like a real calculator, only better. Perform advanced scientific and conversion functions, and choose from multiple keyboard layouts and user-selectable themes. Work with a user interface designed specifically for Android devices, and take advantage of an extensive user guide included in the app.

 

February 29, 2012 06:30 AM

Changing Android Boot Animation

How to Change Boot Animation/Splash Screen in Android OS

The boot animation information is stored in a single file /system/media/bootanimation.zip. Note that this file must be uncompressed zip archive.

by Marko Gargenta at February 29, 2012 04:42 AM

Pack 25! - 65 Colored Window Borders!

This pack contains 65 rounded window borders 9 patch PNGs.
Don't hesitate to fine tune them in Photoshop before using them in your app.
Some might prefer to tweak the padding markers to fit your need.

Android 9 patch viewer V1.00.19 update now available.

Enjoy!




































































by Richard Lalancette (noreply@blogger.com) at February 29, 2012 12:16 AM

February 28, 2012

The Best Looking Android Apps

Over at the Android Niceties Tumblr site, they have amassed quite a collection of screenshots that show off some of the more impressive looking Android apps. Simply put, these are the best looking Android apps, bar none. Some may be familiar, some not so much. Know of a good looking apps that’s not listed. Let us know in the comments.

Best looking Android apps

Source: Daring Fireball

The Best Looking Android Apps is an article from everything Android, sponsored by the Everything Android Store.


by Christopher Meinck at February 28, 2012 09:33 PM

Verizon Galaxy Tab 7.7 coming March 1st

Verizon is going to be getting the Galaxy Tab 7.7 in stock in just two days (March 1st). They will be selling it on a two year contract for $499.99. It sports a 1.4 GHz dual-core processor that I assume is Exynos like the Galaxy Tab 7.7 announced at IFA last year. It will launch with Honeycomb 3.2 and will likely be upgraded to Android 4.0 Ice Cream Sandwich eventually.

The Galaxy Tab 7.7 was a star at IFA 2011, but will its delayed release and it currently only being available on Verizon impact its sales? The 1280 x 800 Super AMOLED display is beautiful and it outclasses every seven inch tablet that I have seen. Let’s just hope that Samsung released the a Wi-Fi variant of the Galaxy Tab 7.7 worldwide in the near future.

Related Posts

  1. Can You Buy A Verizon Galaxy Tab Without A Data Plan? Not online. UPDATE – Not in store either.
  2. Verizon Galaxy Tab 10.1 with 4G LTE Coming Soon?
  3. Galaxy Tab 7.7 landing stateside through Verizon

by Kyle Dornblaser at February 28, 2012 08:43 PM

Create Customized Game Virtual Stores and Leaderboards



With Swarm, game developers can fully customize the look and feel of their game's Leaderboards, Achievements, Virtual Store, Friends, User Messaging, and more! This enables developers to maintain the look and feel of their game while taking advantage of all of the features that Swarm has to offer.

In Kiss The Fish, one of the latest Swarm-enabled games for Android, you'll see that the Leaderboard, Achievements, and Virtual Store screens all seamlessly match the rest of the game's content. Players love to get fully immersed in games, and creating a fully customized experience helps create a buzz!

Completely customized Virtual Store


Completely customized Leaderboards


Are you interested in bringing this sort of experience to a game you're creating? Do you play a game that you wish had fully customized screens? Sign up for Swarm to download the full source code for Kiss The Fish and see just how easy it is to start creating great experiences! Get Swarm and make some customized leaderboards, achievements, virtual stores, friends lists, and private messaging systems for your game.

Download Kiss The Fish from the Android Market and while you wait, checkout all of the gorgeous fish below.

by The Swarm Team (noreply@blogger.com) at February 28, 2012 07:27 PM

New App Stats for Publishers on Android Market


If you've published an app on Android Market, you’ve probably used Application Statistics to help tune your development and marketing efforts. Application Statistics is a set of dashboards in the Developer Console that shows your app’s installation performance across key dimensions such as countries, platform versions, device models, and others. Today we are making Application Statistics even more powerful for publishers, adding new metrics, new ways to analyze your data, and a redesigned UI that’s much easier to use.
First, we are adding important new installation metrics to the dashboards. You can now see your installations measured by unique users, as well as by unique devices. For user installations, you can view active installs, total installs, and daily installs and uninstalls. For devices, you can see active installs as well as daily installs, uninstalls, and upgrades.

Along with the new metrics, we’re also introducing two new data dimensions — Carrier and App Version. You can use them to track your app’s installation trends across mobile operators or monitor the launch metrics of specific app updates.

To give you visibility over your installation data over time, we’re adding timeline charts for all metrics and dimensions. At a glance, these charts highlight your app’s installation peaks and longer-term trends, which you can correlate to promotions, app improvements, or other factors. You can even focus in on data inside a dimension by adding specific points (such as individual platform versions or languages) to the timeline.

Finally, we’re bringing you all of the new metrics, dimensions, and timelines in a completely redesigned UI that is faster, more compact, and easier to use. Each dimension is now displayed in dedicated tab, making it easier to click through your stats daily or as often as needed. If you track your stats in another tool, we’re also adding an export capability that lets you download your stats in a single CSV file.

Check out the new Application Statistics next time you visit the Android Market Developer Console. We hope they’ll give you new insight into your app’s user base and installation performance. Watch for related announcements soon — we are continuing to work on bringing you the reporting features you need to manage your products successfully on Android Market.

Please feel free to share any new insights or tips on +Android Developers!

by Dirk Dougherty (noreply@blogger.com) at February 28, 2012 07:12 PM

Cisco releases VPN preview for Android 4 (Ice Cream Sandwich)

Support for Cisco VPN has long been requested by users looking to bring Android phones and tablets into the enterprise. Up to now, you either had to have a rooted device, or you had to be using a few select models that had the support built into the kernel. Thanks to Cisco, any device running Android 4 (Ice Cream Sandwich) can now join the party:

Preview AnyConnect for “generic” Android ICS (Ice Cream Sandwich) devices is now available in the Android Market .

Our Release Candidate of AnyConnect for Android ICS+ is now available for all to download from the Android Market. This version (or one with a small number of additive fixes) will be considered officially released over the next couple of weeks.

This is a preview release so expect a few problems. The Market page lists a number of known issues and limitations, and instructions on how to report them to Cisco or to your network administrator. Android 4 is required, because it contains new APIs that allow 3rd parties like Cisco to support VPN on stock Android.

I tested the preview on a Verizon Google Nexus running 4.0.3. After entering the server address and credentials, I was able to use the software to quickly connect to my company intranet and to view web sites there. Speed was good, and most things worked as expected.

My experience was not without a few glitches, though. The client crashed on me when I was looking at the debug logs and then refused to restart until I rebooted the phone. It also failed to reconnect automatically when I briefly went out of wireless range, and wouldn’t connect to URLs using nonstandard ports like 8080 instead of 80. Hopefully these wrinkles will be worked out in future updates.

Cisco AnyConnect for Ice Cream Sandwich supports easy to deploy, encrypted network connectivity on Android without rooting. With this release, Cisco provides the missing link for Android enterprise adoption.

by Ed Burnette at February 28, 2012 04:04 PM

Google Teases Android 5.0 Jelly Bean for Fall 2012

This makes perfect sense. At a time when hundreds of thousands of users are waiting for manufacturers to deliver Android 4.0 Ice Cream Sandwich to their beleaguered handsets, Google teases us with Android 5.0 ‘Jelly Bean’. There are still phones launching with Gingerbread, making the pain of seeing yet another major OS revision seem incredulous. Computerworld spoke with Hiroshi Lockhemier, VP of engineering for mobile at Google:


Android 5.0 Jellybean

“After Android 4 comes 5, and we haven’t announced the timing yet, which we’re still sorting out,” Lockheimer said. “There’s a lot of engineering work behind it still, and there’s also just the question of how to time it. In general, the Android release cadence is one major release a year with some maintenance releases that are substantial still.”

Android 4.0 Ice Cream Sandwich released in November of 2011, lending credence to a speculative fall 2012 Android 5.0 Jelly Bean release.

This wouldn’t sound so crazy if manufacturers were able to deliver timely updates of these updates. Can you imagine seeing Motorola release Android 4.0 for the RAZR in Q3 of 2012, only to have an entirely new update available just a few months later.

Source: Computerworld

Google Teases Android 5.0 Jelly Bean for Fall 2012 is an article from everything Android, sponsored by the Everything Android Store.


by Christopher Meinck at February 28, 2012 01:39 PM

Androidbloke AppSpotter Beta announced

There are so many great quality apps out there for android however they are not always easy to find.

I believe it should be easier to find them and share them with other android users.

Inspiration

Last year I was lucky enough to be invited onto the Gadget show( View the episode here). It was immensely fun and interesting   going head to head with the ultimate iPhone fan, Jason Bradbury, about which was better Android or iPhone. Sadly a lot of the footage didn’t make it into the show but the one question that did has confounded me for a long time.

 I have experienced apps on android that don’t work at all, … its a squirmy little thing, an afterthought

As most of you will know there is actually a lot of quality out there however its not immediately evident especially to those new to Android.  How can those new to android, see what is quality out there, really easily?

Hence Appspotter was born!

I believe that everyone should be able to easily find and share the best quality apps.

App Spotter features

When Appspotter starts, you are immediately presented a regularly updated list of quality android apps both paid for and free.

imageYou can choose to install any of the apps with just one tap which will take you straight to the market.
If the app is already installed, then you can run it by tapping on it.

The list is stored direct on your phone so is always accessible, even when offline.

News reader

I have also included a basic blog reader in the app which will allow you to quickly view the content on the blog without any images or links.
If something takes your interest then you can open the page in your browser by clicking on the “open in browser button”

Feedback

Finally there is a built in web form where you can feedback and suggest other apps to be included.  Until March 14 if you submit us feedback you could be entered in the draw to win amazon vouchers.

Apps Missing?

If you think there are some apps, that should be included in the list, then please feel free to feedback using the in-app form.

That’s it! Nice and simple. I hope you enjoy it and find it useful.

You can download Appspotter by visting the Appspotter Market page or scanning this QR Code:

Related posts:

  1. Google Music Beta announced
  2. Androidbloke is going to Android Workshop
  3. Mobile Experts debate Mobile websites vs Web Apps


by Android UK at February 28, 2012 01:28 PM

HTC’s Big Revelation in MWC: One Series Smartphones

In its bid for supremacy in the mobile market, HTC, Taiwan’s most aggressive device manufacturer, just announced that the company is declaring an all out campaign to the effect that they are coming up with a string of launches for their upcoming smartphones.

The HTC One Series will be giving prominence to an “Amazing Camera” and “Authentic Sound” experience. To commence this April, HTC One Series will be propagated like a viral trend as HTC already identified over 140 mobile operators and retailers all across the globe.

Highlighting premium features on the One Series, Peter Chou, HTC Corporation’s CEO gladly explained the company’s goal, “The best moments in life are captured with a photo or remembered by a song, so it was key for the HTC One series to improve these emotional experiences with an amazing camera and authentic sound experience.” He added, “We are very focused on creating a camera and audio experience customers will love and use often and we believe the HTC One series delivers this in a way never seen on a phone before.”

As a premium product, all smartphones under the HTC One Series will be integrated with the latest Android Operating System, the Ice Cream Sandwich 4.0 along with HTC Sense 4. The latter is likewise the most recent version of the Sense UI and this time, HTC ImageSense is one of its new key element  which features fresh camera and imaging suites.

For the Camera, HTC spelled out the following attributes that make every One Series Smartphone stand out:

  • Superfast Capture
  • Good photos even in adverse conditions
  • Video Pic (Concurrent Video/Still Capture)
  • Dropbox integrated with HTC Sense
  • Sharing your photos and more

To make the One Series Sound more distinctive, HTC collaborated with Beats By Dr. DreAudio™ so its users will enjoy listening to crisp and rich sounds. Other additional perks include the new Music Hub and Car Stero Clip (sold separately).

Initially, HTC will be launching three handsets, namely:

HTC One X - with a spectacular 4.7 inch screen and made of unibody metal with a piano finish. Loaded with NVIDIA® Tegra 3 Mobile Processor that includes 1.5GHz Super 4-PLUS-1™ quad-core with an integrated fifth Battery Saver Core and a high-performance 12-Core NVIDIA® GPU. In select 4G LTE markets, the HTC One X will be featuring LTE-enabled Qualcomm Snapdragon S4™ processor with up to 1.5GHz dual-core CPU’s.

HTC One S – positioned as the compact high-end smartphone. Comes with 4.3 inch screen with Corning Gorilla Glass and its body is made from an ultra-matte black Ceramic Metal surface that is the result of a microarc oxidation (MAO) process. It’s HTC’s thinnest phone so far, measuring only a very slim 7.9-mm.

HTC One V - the simplest model using HTC Legend’s design in an aluminum unibody.

Here are some teaser videos of the three new smartphones from HTC.


by Rhoda Abad at February 28, 2012 12:49 PM

Shot Tracker Pro version 1.23 released

Version 1.23 of Golf Shot Tracker Pro has been released. This is a minor update which brings more flexibility to the application for supported devices.
  • Support for Motorola Razr, Photon, other large screens
  • Move to SD Card
  • Minor bug fixes and tweaks

We now have over 2,700 courses mapped around the world and more are added each day. See the courses near you: http://www.golfshottracker.net/Course/HeatMap

Happy golfing!

by LiteDroid Development (noreply@blogger.com) at February 28, 2012 06:15 AM

Episode 84 – The Closed Source Toilet

Dilbert CartoonJere returns.

 

Show Notes

  • Guru gets ICS on the Transformer
  • FBI turns off 3000 GPS trackers after Supreme Court ruling
  • W3C says WebKit’s dominance is damaging the web. 
  • Would you pay extra for services that use the most data on your phone? Per service pricing?
  • Sprint almost merged with MetroPCS…what would this have meant for Jere Jones?
  • Comcast sues Sprint for patent infringement on SMS/MMS, mobile broadband, and more. 
  • Man Sues AT&T for throttling his service and wins. “Matt Spaccarelli said his phone is being throttled after he’s used 1.5 gigabytes to 2 gigabytes of data within a new billing cycle. Meanwhile, AT&T provides 3 gigabytes of data to subscribers on a tiered plan that costs the same — $30 per month.”
  • Platform News
    • HTC unveils Sense 4.0. Scales down custom skin, lets more Android show through. 4.0 includes Beats audio built in, now supports all applications. Adds in new car mode. Focus on improving camera software. Offers two years of 25GB of service with each phone.
    • Unofficial Music API close to Completion. Written in Python. The problem is that with an unofficial API, can easily break compatibility. Reports say Google Music may not be living up to expectations.
    • Are projector phones the next big thing? Samsung releases Galaxy Beam
    • Virgin Australia will be using the Samsung Galaxy Tab 10.1 to provide in flight entertainment to passengers. Free in business class, rent in coach. Virgin CEO John Borghetti commented, “The Samsung tablet is being recognised as a better product than Apple. That’s not unusual, second-generation stuff usually is. In fact, it’s getting better reviews than the iPad 2. The screen itself is better, and the [Android-based] system is a plus. It’s (also) much thinner, as you know, and overall it’s a better product.
    • Chrome extension allows for downloading of Android apps to the desktop. 
    • Could Mountain Lion blunt Android’s momentum? – Integration between Google on the desktop and on mobile…
    • Google Voice now offers filtering by Google+ circles. 
    • Bicycle prepares playing cards with NFC and Android apps…brings new meaning to marking cards
  • Phone as desktop
    • Using your phone as a portable workstation by adding a bluetooth keyboard and TV. Pros and cons?
    • Canonical plans out Ubuntu for Android, plug your phone into a monitor, and it becomes a desktop computer.
  • App News
    • Google Docs updated, becomes useful by finally allowing collaboration and editing.
    • ChargeBar – MIUI Battery Bar (Market Link)
    • Official Twitter app gets ICS support, and support for Kindle Fire and Nook. 
    • User hooks USB floppy drive to Android tablet, runs DOS emulator and plays old games on floppy
    • QuickPic updated to 2.0, uses cleaner UI inspired by the Android design guidelines. (Market Link)
    • ssLauncher, new magazine style launcher. (Market Link)
    • Comcast to launch streaming service called Streampix for its users, Android app will be offered within the year.
    • Dropbox feature for instant camera upload out of beta, now in market. (Market Link)
    • Cerberus security app hits 100,000 users, offering free licenses till the end of the month.
    • Chrome Beta updated, perfomance improvements abound. will improve by leaps and bounds.
    • Nova Launcher leaves beta. Nova is billed as everyone’s favorite ICS launcher. Available in free and paid version. (Market Link) From the developer who brought you the TeslaLED flashlight app and WidgetLocker lockscreen. 
    • Domino’s Pizza app now available in US. (Market Link)
    • Citibank Mobile for Android now accepts mobile check deposits.
    • Moneto NFC microSD cards now available for $30, includes $10 in spending money. currently only works with Samsung Galaxy S line. Waiting for someone to hack this for other uses. 
  • Guru returns to Astrid in an attempt to manage his life.
    • Astrid updated, offers tablet optimized UI, subtasks, and more. 
    • Managing Life on the Go with Astrid
    • Astrid offers tagged lists, filters to display relevant information, deadlines, color-coding, etc. It also offers a web app with syncing, as well as Google Tasks and Producteev syncing. Most amusingly, you can outsource tasks using Taskrabbit.
  • This is why Guru doesn’t do video reviews…ELPresador reviews the Galaxy Note
  • If you Could Have One Feature currently not in Android, what would it be?
  • Developer’s Corner – Amazon AppStore proving lucrative for developers - Of 110 top apps appearing in both the Appstore and the market, 42 of them are making more money with Amazon, with 28% of the revenue. Distimo claims 50% of Amazon’s apps aren’t in the

Episode 84 – The Closed Source Toilet is a post from Android Buffet Podcast - Hungry for Android? Get all you can eat at the Android Buffet Podcast. All Rights Reserved.


by Android Buffet at February 28, 2012 06:03 AM

February 27, 2012

Google Music: The Best Service That Nobody’s Using

After spending some time in an invite-only beta period, Google Music launched publicly in November 2011 to directly compete with Amazon’s Cloud Player and serve as Android’s answer to Apple’s iTunes; allowing users to not only stream their existing music to any number of connected devices, but also purchase music. If successful, Google Music would be an exceptionally lucrative service for Google, which traditionally sticks to free services. But reports from sources close to Google have indicated the young service is performing well under expectations.

What’s holding Google Music back? What features does it have that make it a compelling product, or is it deserving of it’s slow growth?

How Google Music Works

Google Music allows anyone with a Google account to upload their music collection to the “cloud”, and stream it back down on their Android smartphone, Android  tablet, Google TV, or any device with a modern browser (including the iPhone and iPad). Music is uploaded with the dedicated “Music Manager” software, available for Windows, Linux, and Mac OS, and of course anything purchased through the Google Music store will instantly appear in your collection without you having to do anything.

The closest competitor is Amazon’s Cloud Player, which more or less works exactly the same as Google Music with a few important differences. First, Google Music is well integrated into the Android experience and is included in the stock image of every Android phone, while Amazon’s Cloud Player will require a separate app to install and doesn’t blend in with Android as well as the native Google Music player. But perhaps more importantly, Amazon’s Cloud Player costs $20 per year, while Google Music is free.

In terms of value and functionality, it would be tough to find fault with the Google Music experience. It works very well, costs nothing to try, and there is absolutely no commitment required on the part of the user. So what’s keeping more people from using it?

Upload Woes

One of the biggest advantages Amazon and Apple have in the realm of digital music is a massive head start. iTunes is the undisputed leader in digital music distribution, and Amazon has made a name for itself selling DRM-free music without any special software required. Amazon’s service is especially useful for those of us running something other than Windows and Mac OS, as it allows you to purchase and download music on any OS that can run a modern browser, while using iTunes requires the Windows and Mac OS only client side software installed.

In both cases, consumers of digital music have had years to build a collection with Amazon and Apple. When they use Amazon’s Cloud Player or Apple’s iCould service, all of their purchased music is ready to go from the start. But for Google, their Music Store is still in it’s infancy and users simply don’t have the same vested interest that they do with Amazon or Apple. This means that, for most new users of Google Music, they will be forced to upload their existing music collection into Google’s service.

Uploading your existing music collection into another service is already a hassle, but it’s not made any easier by the growing pains Google’s Music Manager software has had. Originally it was only available for Windows, which didn’t go over well with the Linux and BSD users who may have been considering making the switch from Amazon. Even when it was finally made available for more operating systems, all versions of the Manager had the same annoying flaw: uploading takes much longer than it should.

For whatever reason, Google decided to make the Music Manager convert the music to be uploaded on the local machine, rather than leveraging their incredible computational power. So for every song you upload into Google Music, your computer needs to rencode it with LAME. So if you have a single core machine and plan on actually using your computer during the Google Music upload process, you might have quite a wait ahead of you. It’s not unheard of for Music Manager to take literally days to sync up large music collections with your Google account. For a company that is so hell-bent on pushing everything into the “cloud”, it seems odd they would leave the relatively computationally intensive task of encoding all of our files into their chosen format to our lowly computers.

Limited  Selection

Uploading all of our tracks into Google Music wouldn’t be such a big deal if we could simply buy them at an affordable rate instead. Many people would likely re-buy their albums for a few dollars and have it instantly rather than waiting a few hours for their local copy to upload: call it a convenience charge. Unfortunately, that’s not possible as the music selection on Google Music simply isn’t as good as it’s competitors. A large part of this is because only two major labels are signed on for distribution of their music through Google’s Music Store, Sony Music Entertainment and Universal. Other large labels, such as Warner Music Group, aren’t involved.

This fractionalization of the different labels can lead to some very awkward results. For example, a look at the artist page for “The Black Keys” lists only 4 albums available, the most recent of which is from 2004. Their last 4 albums (from 2006 to 2011), the ones which have actually enjoyed commercial success, are all distributed by Nonesuch Records who are owned by (you guessed it), Warner Music Group. This puts both the fans and the artists themselves at a disadvantage on Google Music; if the artist’s most popular and relevant work isn’t available on the service, everyone suffers.

All told, the current arrangement leaves Google Music with roughly 8 million tracks available to download. That sounds like a big number until you realize Amazon offers 18 million tracks, and Apple 20 million. Clearly the licensing issues Google Music is currently facing need to be improved if the Music Store itself is ever expected to become relevant.

by Tom Nardi at February 27, 2012 07:30 PM

Thinking at the Margin

Something I've picked up from reading about economics is the concept of "the margin".  It's a way of thinking about problems that more people ought to take into consideration.

What is "the margin"?  It's that space on a line, in the middle, between two extremes, where the transition from "yes" to "no" occurs.  If I offered you a million dollars for the computer you're reading this on (for broad definitions of 'computing device'), you'd probably take me up on the offer.  For 0 dollars, you would not.  Somewhere, in the middle, is a number where you'd change your mind from "nope, won't sell" to "well... sure, what the heck".  That is, loosely defined, a margin.

As an example, when people debate about "intellectual property", they often use terrible examples: companies like Microsoft, or performers such as Lady Gaga.  Those are bad examples because they are complete outliers, way off on one end of the curve.   It's hard to disagree with "so what if Lady Gaga earns a bit less revenue from her music, she's got plenty to live on" when you talk about copyright being a means for artists to support themselves with.  Thinking "at the margin" is about those bands that currently barely sell enough music to work professionally as musicians.  In scenario A, they are able to work creating music, thus creating more, and likely better music than if they merely pursued it as a hobby.  In scenario B, they fall on the other side of the margin and therefore have to get 'real jobs'.  This means that their music takes a back seat, and they produce less of it.

Now, copyright and company are a complex conundrum with many facets; my point is simply that when thinking about big changes, we should think what will happen at the margin, not what will happen to the outliers.

by David N. Welton at February 27, 2012 09:47 AM

Last Chance for AT&T Winter Sale

Hurry—the offer to save big during our popular AT&T Winter Sale ends Feb. 29, 2012.

Select phones from AT&T are on sale and include standard FREE two-day shipping through our popular. We already extended the offer once, but time is running out to save on great devices like:

Motorola Atrix 4g Last Chance for AT&T Winter Sale Motorola Atrix 4G, $0.01

  • 4G connectivity
  • 1 GHz dual-core processor
  • 4-inch qHD touchscreen
  • 1 GB RAM
  • 5 megapixel camera

 

Samsung Galaxy SII rocket Last Chance for AT&T Winter Sale Samsung Galaxy S II Skyrocket, See price on AmazonWireless

  • 3G/4G/4G LTE connectivity
  • Android 2.3 OS
  • 1.5 GHz dual-core processor
  • 4.5-inch Super AMOLED Plus touchscreen
  • 8-megapixel camera + full HD 1080p video

 

HTC vivid Last Chance for AT&T Winter Sale HTC Vivid, See price on AmazonWireless

  • 3G/4G/4G LTE connectivity
  • Android 2.3 OS
  • 1.2 GHz processor
  • 4.5-inch touchscreen
  • 8-megapixel auto-focus camera + full HD 1080p video

 

For a limited time only, save on select phones from AT&T and enjoy standard FREE Two-Day Shipping. Offer valid through 11:59 p.m. PDT on Feb. 29, 2012, while supplies last.

See the full roster of sale items for the AT&T Winter Sale.

 

 

 

February 27, 2012 06:30 AM

February 26, 2012

Android Apps of the Week for Feb. 26, 2012

Android Apps of the Week! – February 26, 2012 Welcome to another edition of DroidLessons.com’s “Android Apps of the Week!”. The plan is to compile a list of my favorite ...

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]


by John A. at February 26, 2012 11:48 PM

Distort any photo with your finger and your Android

Having the ability to warp and distort a photo is paramount to being cool. For real! Seriously though, just about everyone gets a kick out of someone taking a photo of them and then doing some really cool, whacked out edits to make the photo funny. Your Android device can now be used for hours of amusement with a free app called Fwarp.

Fwarp is a super easy to use app that could mean hours of fun for everyone around you! You’ll get “Do me next!” and “Send that one to my phone!” and sometimes even “Hey, I don’t look like that!” Make noses bigger, change facial expressions and even add a few pounds onto your boss (when they’re not looking)! The process is easy.

When you first open the app you are given a start screen allowing you to either choose a picture on your phone or to take one with the app.

Once you’ve got a picture to work with you can start dragging your finger on the screen to start the warping fun.

Pressing your device’s menu button will bring up more options: small, medium, large, pucker, bloat, and drag.

Once you hit the done button, you can choose to either save the photo locally (in a folder named “Fwarp” on the SD card) or share it through your list of apps on your device.

It really is that simple and most of the finished products will be hilarious.

Pros

Simple, quick, and fun. The app really has become the life of the party several times while testing it out.

Cons

I had a difficult time with the option to shoot photos through the app. It kept giving me a different photo. It is simple to get around by using the stock camera app and then going into Fwarp but I’m wondering if any other users have had the same issue. Still a great app though.

Conclusion

The Fwarp app really is worth a try. It’s free, easy and fun. Warp photos and liven up any otherwise boring situation!

http://www.youtube.com/watch?v=EztlKYAAxwQ

by tim at February 26, 2012 04:41 AM

February 25, 2012

How to add a bookmark on your Android home screen

One of the most popular things to do on Android devices is to browse the Internet. Who doesn’t love surfing the web!? Sometimes we come across websites that really peak ...

[[ This is a content summary only. Visit my website for full links, other content, and more! ]]


by John A. at February 25, 2012 08:38 PM

February 24, 2012

Make your Windows 7 Dock More Awesome With Bins

Many of you may have heard of the application 'Fences' by 1UP Industries since it was featured on Lifehacker.  But I think desktop icons are for n00bs.  I mean, who wants to minimize all their stuff to get to the icons that are on your desktop?  For optimal program switching docks are where it's at, hence Microsoft drastically improving the Windows taskbar/dock after the success of OSX.  The improvement has been great, but I just found a way to take it to the next level with a little help from a program called 'Bins.'

Bins allows you to collect similar programs (ie internet browsers, games, social tools, etc) and group them with one icon on the taskbar.  Hover over the icon and the individual program shortcuts appear above in a bubble.  What's great is that you can still hover over the individual icons and see the 'Windows Peek' function that shows a thumbnail of the individual windows. The integration is so seamless, you would almost think Microsoft wrote this as an add-on to Windows 7.  It seems to me that the creators of this app put a lot of time and thought into this simple concept.

(The little line above the taskbar can be enable/disabled...I like it disabled)
Screenshot courtesy of 1UP Industries website

Unlike most of the apps I feature, this one will set you back a few bucks...just $5 though.  Unfortunately this is only a single computer license, so if you're like me and have several computers this is a small let down.  Still, it's a small price to pay for the increased productivity and space saving, and I would definitely recommend at least buying a license for your most heavily used pc.


by Jordan Hotmann (noreply@blogger.com) at February 24, 2012 10:20 PM

Andromo App Maker for Android v1.7.0 Released

Andromo App Maker for Android version 1.7.0 has been released!

Here is a list of changes in this version:

  • New ‘Facebook’ Activity. This new activity is perfect for anyone wanting to quickly embed a live, mobile-friendly version of their Facebook Page into their Android app. Just give us your Facebook page name and click build. It couldn’t be simpler to start connecting with all your Facebook fans through a custom Android app in just minutes.
  • New ‘Phone’ Activity. This activity makes it super easy to add a ‘Call Us’ feature to your Android app. Simply provide the phone number that you’d like to have dialed when the user taps the icon. They’ll be taken to their phone dialer with the number automatically filled in and ready to call (or add to their contact list etc.) It’s ideal for people making business apps – such as for restaurants, reservations, taxis, theatres, tickets, telephone ordering and more. This activity is being released as a ‘Gold-only’ feature.
  • New ‘Email’ Activity. This activity is another great way to help boost your business. It’s like the Phone activity, but for contacting you via email through your Android app. You can specify the email address, subject line and default body text. When your user taps the activity icon, it will open their email program and automatically pre-fill all the fields you provided. Then they can customize the email and click ‘send’. You’ll have a direct connection between you and your users! This activity is being released as a ‘Gold-only’ feature.
  • The Website activity now supports URL’s with apostrophe characters.
  • Some other minor bug fixes and general improvements…

Andromo App Maker for Android v1.7.0 is now live at www.andromo.com.

Andromo App Maker for Android Logo IconStart making Android apps online today – for free. There’s no coding required, so anyone can do it!

by colin at February 24, 2012 07:03 PM

Take Free 50GB Cloud Storage from Box for Android

Box, a cloud storage service provider founded in 2005 is now gearing up to a head on competition with other players like Amazon’s Cloud Drive and Dropbox.

Launching an all-new version of the app – Box for Android, the company is bringing in  support for a number of European languages as a response to the increasing population of Android users specifically those who belong to the working class. Taking into account the same premise Box is introducing fresh collaboration features in their service.

Promising a boost to mobile productivity, Box is giving out free 50GB online storage upgrade to all its users including those with free accounts for the next 30 days.  Existing users as well as new users will be able to enjoy the free upgrade when they update the Box for Android app or download the latest version.

Box’s current version, 1.6 has been re-designed to adopt to Android 4.0 (Ice Cream Sandwich) UI. Unlike other cloud storage services, Box allows third party apps and services to be utilized by its users. This in a way addresses the drawback of its lack of provision for desktop syncing for free accounts. You can sign up for $15 a month to get a paid account with desktop app.

To add up some excitement, Box collaborated with Samsung and is now giving each user a chance to win 20 Samsung Galaxy Tabs and another 20 seats of Box Enterprise. Aaron Levie, co-founder and CEO of Box, happily announced the launch, “Legacy enterprise solutions simply can’t extend content and collaboration to the diverse set of devices that knowledge workers are bringing into today’s organizations. At Box, we’re all about empowering mobile workers to be productive from anywhere, on any device, and today’s release sets a new bar for content sharing and collaboration on the Android platform.”

At present, Box has over 8 million users worldwide and 40% of which are outside the US. According to box, their app is widely used by business enterprises such that 82% of companies belonging to Fortune 500 use Box for online and mobile collaboration. In order to bolster its presence in the European region, Box is now supporting French, Italian, German and Spanish languages.

Box App for Android can be downloaded from the Android Market and will soon be available in other Android App stores (Amazon App Store, LG World, Verizon Store and NOOK Store). The 50GB cloud storage offer is up until March 23, 2012.


by Rhoda Abad at February 24, 2012 12:49 PM

February 23, 2012

Think About Principles

A blogger posted today about a rather unfortunate app that makes a game out of virtually killing real people, with a focus on “hobos”. The blogger in question is up in arms about the app and is “hoping people will use their voice [sic] to get [such] garbage thrown out of the Android Market”.

This is indicative of two problems:

  1. The blogger in question appears to be ignorant of the Streisand effect.

  2. The blogger in question may not be thinking in terms of principles and their application.

To publish apps on the Android Market, a developer must agree to the Android Market Developer Distribution Agreement, the Android Market Developer Program Policies, and the Content Rating Guidelines. Apps failing to comply with these agreements are subject to removal from the Market. Conversely, apps that do comply with these agreements are supposed to be left alone.

In this respect, Google is stating its principles regarding apps on the Market.

Having a debate on whether those principles are the right ones is wonderful.

Having a debate on whether Google truly abides by those principles would be awesome.

Having a debate on whether any given app runs afoul of those principles would be excellent.

However, the phrasing from the blog post in question suggests that the blogger cares not a whit about the principles. Rather, the blogger intimates that Google should abandon the principles in the face of outrage.

This is scary.

It is scary because a capricious Google could start banning apps and developers for any reason they desire. We’re already halfway there by Google apparently not actually telling people why their apps were banned, suggesting capriciousness even if the principles were truly applied faithfully.

Now, we most certainly could have a debate on whether there should be an “outrage” clause added to the principles. Along the way, though, we would need to discuss how outrage should be measured and how countervailing opinions can be taken into account. The result would probably be rules akin to how Wikipedia editors work, and those principles are often the source of complaint as well.

Had the blogger in question simply pointed out that the cited app presumably violates the “Violence and Bullying” clause in the Android Market Developer Program Policies, and asked people to make this point clear to all parties, I would not have quibbled.

We need to focus on the principles, not ask that random apps be banned for random reasons based solely upon the opinion of random people.

Of course, that’s just my opinion… :-)

by Mark Murphy at February 23, 2012 03:46 PM

P145: Fragments p5: Communicating events

In your Fragment class, if you create listener on a particular interface, and make the parent implement that interface, you can communicate via events.

First create the interface:

public interface OnNewFragmentPressed {

void onNewFragmentPressed();

}

Then create a listener method of that interface.

public static class NewFragment extends Fragment {

    private OnNewFragmentPressed mListener;

Then in the onAttach() method of your Fragment, use the passed in Activity to make sure it implements the interface, and set the listener to that.

@Override

    public void onAttach(Activity activity) {

        super.onAttach(activity);

        try {

           mListener = (OnNewFragmentPressed) activity;

        } catch(ClassCastException e) {

           throw new ClassCastException(activity.toString() + ” didn’t implement OnNewFragmentPressed”);

        }

   }        

Now you can call methods of that interface, thereby interacting with your parent Activity.

February 23, 2012 03:12 PM

P144: Fragments p4: Communicating between FragmentActivity and Fragment

In your FragmentActivity, you can call getSupportFragmentManager().findFragmentByTag(“tag”), or findFragmentById(R.id.frag), to access the child Fragment. From there you can call its methods.

Similarly, in the Fragment, you can call getActivity() to get access to the parent FragmentActivity().

February 23, 2012 02:36 PM

CukesforDroids

My first post at my posterous, I indicate which cucumber android implementation I am using and some tricks, CukesForDroids.


by Fred Grott at February 23, 2012 08:29 AM

February 22, 2012

Quite Period

I will still talk about and show code examples from my agile integration process, for example how to run cucumber tests, JavaMonkey tests using Sikuli, etc. However, I may have to keep quite for a bit about what I am building as I am in process of determining if I will accept an offer to become co-founder of a start-up. I can say its in area that I follow with rapid anticipation and that it might involve mobile.


by Fred Grott at February 22, 2012 12:45 PM

Android StrictMode – NetworkOnMainThreadException

I have writen about StrictMode before.

In case you have not noticed; StrictMode for network access results in a fatal error as for Android 3.0 (Honeycomb) or later, unless your app is targeting an API version before Honeycomb.

The right way of solving this is to use Android AsyncTask for network access.

The lazy way of handling this is to turn the check of:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

For my Android Network tutorial I use the lazy way because I don’t want to force the reader to learn both things at the same time.

But I recommend you learn Android Background Processing.

I hope this helps.

flattr this!

by Lars Vogel at February 22, 2012 12:32 PM

February 21, 2012

Pixel Playground using Renderscript Compute API

Today I’ll show how you can take advantage of the renderscript compute API to manipulate pixels in an image. Previously, I’m doing all my pixel manipulations using OpenCV ports for android (here and the official one), NDK and JNI since there are no direct API that you can use to call OpenCV functions from the Java layer. It is a painful process because you need to write in C for all the pixel manipulations and then call the C functions in Java via JNI.

The following post will show you how easy it is to perform some simple image processing without writing complex C codes and JNI bindings.

We will use the existing HelloCompute example as our base code and we will just modify it a little bit to give us more control on the pixels of the image.

In our main activity, HelloCompute.java:

 protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.main);
 
	mBitmapIn = loadBitmap(R.drawable.face2);
	mBitmapOut = Bitmap.createBitmap(mBitmapIn.getWidth(), mBitmapIn.getHeight(), mBitmapIn.getConfig());
 
	ImageView in = (ImageView) findViewById(R.id.displayin);
	in.setImageBitmap(mBitmapIn);
 
	out = (ImageView) findViewById(R.id.displayout);
	out.setImageBitmap(mBitmapOut);
 
	showOriginal = (CheckBox) findViewById(R.id.original);
	showOriginal.setOnCheckedChangeListener(new OnCheckedChangeListener() {
 
	    @Override
	    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		if (isChecked) {
		    mScript.set_original(true);
		} else {
		    mScript.set_original(false);
		}
 
		mScript.invoke_filter();
		mOutAllocation.copyTo(mBitmapOut);
		out.invalidate();
	    }
	});
 
	redChannel = (SeekBar) findViewById(R.id.red);
	greenChannel = (SeekBar) findViewById(R.id.green);
	blueChannel = (SeekBar) findViewById(R.id.blue);
 
	redChannel.setOnSeekBarChangeListener(this);
	greenChannel.setOnSeekBarChangeListener(this);
	blueChannel.setOnSeekBarChangeListener(this);
 
	createScript();
    }

Here, after loading the input bitmap and the output bitmap, we then retrieve handles to our controls. Basically we will have a checkbox to reset our image back to its original state and 3 sliders to control the RGB values of the image. The OnCheckedChangedListener on the checkbox simply sets the flag on the renderscript code to render the original image, then update the output bitmap and invalidate our imageview to refresh the display.

Now, the juiciest part is the createScript method.

 private void createScript() {
	mRS = RenderScript.create(this);
 
	mInAllocation = Allocation.createFromBitmap(mRS, mBitmapIn, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
	mOutAllocation = Allocation.createTyped(mRS, mInAllocation.getType());
 
	mScript = new ScriptC_mono(mRS, getResources(), R.raw.mono);
 
	mScript.set_width(mBitmapIn.getWidth());
	mScript.set_height(mBitmapIn.getHeight());
	mScript.set_gIn(mInAllocation);
	mScript.set_gOut(mOutAllocation);
	mScript.set_gScript(mScript);
	mScript.invoke_filter();
	mOutAllocation.copyTo(mBitmapOut);
    }

First, we need to allocate our input bitmap and the output bitmap which will give us easy access to the bitmaps from our renderscript code. Then we need to load our renderscript code stored in mono.rs. The class ScriptC_mono is actually an auto-generated class created by the LLVM front-end compiler. Renderscript API uses two compilers, one in the front-end that generates the support classes and the runtime compiler that is actually being shipped inside the Android devices (Honeycomb 3.0+). The methods set_width, set_height, invoke_filter, etc. are also generated based on the variables and methods declared inside mono.rs. Now let’s take a look at mono.rs

#pragma version(1)
#pragma rs java_package_name(com.example.android.rs.hellocompute)
 
rs_allocation gIn;
rs_allocation gOut;
int width;
int height;
float red;
float blue;
float green;
bool original = true;
rs_script gScript;
 
const static float3 gMonoMult = {0.299f, 0.587f, 0.114f};
 
void root(const uchar4 *v_in, uchar4 *v_out, const void *usrData, uint32_t x, uint32_t y) {
  	const uchar4 *element = rsGetElementAt(gIn, x > width/2 ? (width-x):x, y);
	float4 test = rsUnpackColor8888(*element);
 
	float r = test.r;
	float g = test.g;
	float b = test.b;	
 
	if(!original){
		r = red > -1  ? red : r;
		g = green > -1  ? green : g;
		b = blue > -1  ? blue : b;
	}
 
    float3 mono = {r, g, b};
    *v_out = rsPackColorTo8888(mono);
}
 
void filter() {
    rsForEach(gScript, gIn, gOut, 0);
}

First line declares the Renderscript version that we want to use. Use 1 for now. Then line 2 declares the packagename where this script is going to be used. Then we declare all our variables. The generated code will have accessors and mutators for the variables and then invoke_methodName for methods. Next, the root method is like the main method in C or in Java. In this example, the root function will be called for every pixel of the bitmap. This is because we used the renderscript function rsForEach which simply loops through the allocated bitmap’s pixels and call the root function for each one of it. One thing to take note is that, according to Romain Guy and Chet Haase, this function (rsForEach) can take advantage of multiple cores which means that it can process the bitmap’s pixels in parallel and this obviously means a significant boost in terms of speed.

Our example copies the half of the image to the other half which in turn produces a symmetrical face. Here are the output of our modified HelloCompute project:

Photo from http://michaelcoulson.threehumansinc.com

 

Result of our pixel manipulation

Photo taken from michaelcoulson.threehumansinc.com

 

Result from our pixel manipulation

Although there’s a steep learning curve, the possibility of writing your own photo filters (your app can be the next Instagram :D ) and the performance boost that you can gain from using Renderscript in your app are just worth it. I’ll clean up the code and update this post later for the project’s source code. Thanks! :)

by Marc Lester Tan at February 21, 2012 04:08 PM

Where’s My Water? Android App Review

The Where’s My Water? Android App by Disney is a puzzle game. The object of the game is to get Swampy’s shower to work by guiding the water through each level while avoiding obstacles and using different elements to help you along the way. The game features over 200 different puzzles of which each have 3 ducks that you can collect and some levels have objects you will need to find throughout the level.

In each level you will need to dig through the dirt to create a pathway for the water to lead it to Swampy’s shower pipe. As you advance in each level this will become more of a challenge to do with the different elements and obstacles that you will encounter. In some of the higher levels you will deal with 3 different liquids which you will need to use together and then convert to water in order to complete the level and get Swampy’s shower to work.

Overall, this is a very challenging puzzle game that is fun to play. The graphics are very well done and the developer did a really good job with the physics of the game giving the water and it’s flow a realistic look. With over 20o levels and 3 ducks in each level and bonus items in certain levels this game will entertain you for quite awhile. At the time of this review the Where’s My Water? Android App has a free version that you can try and a full version for $0.99. Thumbs Up.

Download Where’s My Water? Android App


by AndroidAppReviewer at February 21, 2012 02:59 PM

Free Android App of the Day: My Railway Android App

The My Railway Android App by Game Insight International is a social, model train game where you lay rails to connect cities, hire your friends as engineers, control factories and workshops, send your locomotives from city to city and load them up with cargo.

Download My Railway Android App


by admin at February 21, 2012 02:42 PM

Episode 83 – Jere Jones, Where Are You?

Jere didn’t show up this week, so Guru had to go it alone. Jere, please come back…

Show Notes

  • Public DNS no longer an experiment, now a public service
  • Remains
  • Platform News
    • asks for money to resume nightly builds, achieves goal in a day
    • Poor Flash Storage could be slowing down your smartphone.
    • Google files for patent to combat Apple’s slide to unlock patent, seeks to add icons as shortcuts to basic functions.
    • Why LTE sucks battery.
    • Google Drive may be coming.
    • Aura Slate may be successful as a Hacker-Friendly Tablet.
    • HP’s CEO claims -Google may cause Android to end up as a closed system.
    • Cyanogenmod may be baking Onskreen’s Cornerstone into the OS, adds improved multi-tasking.
  • App News
    • New versions of Opera browsers coming at Mobile World Congress
    • XFINITY TV for Android updated with favorite and recent channels and more. (Market Link)
    • Handcent 4.0 Public Beta now available, allows you to bind phone number and text messages for free using their network.
    • Paper Camera updated to 2.0, now supports video and Android Beam(for those who have it)
    • BackDrop Root backs up apps and settings, offers option to turn BackDrop to update.zip that will restore your data, and auto-restore option that will pull in backed up data when an app is installed. Might be an alternative to Titanium Backup (Market Link)
    • Bump gets updated to 3.0, redesigned. Bump supports contact and photo sharing, as well as mutual friend search, device sync, and app recommendations (Market Link)
    • Skype updated, adds new call interface and more.
    • Clik Released on Android, starting the concept of pushing content to your TV.
    • Swype Updated, adds support for the ICS and Galaxy Nexus.
    • Barclays PingIt makes it easy to spend money and repay others. Currently limited to Barclays Bank customers, but will be expanded.
    • Swiftkey passes 5 million installs, adds update and offers 25% off.
    • EA Sims FreePlay released, offers simple Sims play. (Market Link)
    • ICE Card – Simple App that can be accessed by emergency personnel…if they know about it.  (Market Link)
    • Amazon MP3 app updated, uses Kindle Fire interface, offers tablet and ICS support. (Market Link)
    • Utter offers compelling extension to Google voice actions support.

Episode 83 – Jere Jones, Where Are You? is a post from Android Buffet Podcast - Hungry for Android? Get all you can eat at the Android Buffet Podcast. All Rights Reserved.


by Android Buffet at February 21, 2012 04:18 AM

February 19, 2012

Introducing: SlideME Ads - The Premium Mobile Ad Network for SlideME Developers

SlideME is introducing a new way to monetize your content by placing relevant Premium Advertisements in your mobile applications on the SlideME Marketplace and Android Market.

SlideME is an Android Apps Marketplace with one of the largest distribution network for Android applications & games. We have partnered up with MobFox, one of the leading mobile advertising networks, to allow you to monetize your applications with the best-paying Premium mobile ads.

read more

by SlideME at February 19, 2012 08:00 PM

Rainy Days eumetsat imagery currently offline

The imagery from the eumetsat source isn't updating since yesterday 19:00 UTC, so unfortunately that means that Rainy Days currently is not displaying anything for the regions the eumetsat overlay covers. I hope this will be resolved soon, sorry for the inconvenience.

Update: Things are back to normal again! 

Permalink | Leave a comment  »

February 19, 2012 09:27 AM

February 18, 2012

Aggregator v2.1

Two requested features landed in this new release:

  • The ability to use the volume buttons to navigate between items
  • The possibility to control the feed items limit per feed



by Tughi at February 18, 2012 02:08 PM

Asserting for a Toast message using Robolectric

I’ve recently put together a few proof of concept applications, and since they’re “rough and ready” applications, a lot of the functionality is actually mocked, or given a stubbed implementation. For example, I’ve got various buttons for things like “sign in with LinkedIn” or “Connect with Facebook”. Since its just a proof of concept, and…

by James Elsey at February 18, 2012 02:02 AM

February 17, 2012

How to send greeting cards using your Android

Nothing, and I main NOTHING says that you’re thinking of someone more than sending them a note or a card. With holidays like Valentines Day, Mother or Father’s Day, and maybe even St. Patrick’s Day as perfect excuses to send those “you’re important to me” messages to those you care about, how about a simple way to use your Android to send those greetings.

 

justWink is a free Android app that allows you to do just that. You can chose your card, personalize it how you like (including a photo, personal greeting, and even a signature), and share it several ways. There you have it, the three most important aspects of a good greeting card app or site: good cards to choose from, ways to personalize, and ways to share.

 

justWink is very simple to use. You basically tap the category you want, tap the card you like, and customize. You also have the option to share the cards via email, text message (smart phones), and Facebook. Note that you do have to go through a quick signup process but isn’t really a hassle.

Pros

justWink is a very simple app to use and is a great idea: use your phone to send custom greetings for free. Having several options to share the cards is also nice. I was able to successfully test the text messaging and Facebook sharing features which both worked fine.

Cons

I had some trouble with the email feature. It said it was sending but froze there. With some reports of instability and just plain not working on a few phones, the app could use some tweaking. I must also warn that some of the cards are off-color but I’m sure you’ll find that in most gift shops as well.

Conclusion

Having the ability to send greeting cards using your Android could prove to be very handy. While justWink is a good choice for a free greeting card app, you can also find a few other options in the Android market, such as Greeting Cards and Best Greeting Cards.

by tim at February 17, 2012 08:22 PM

Adam Beta (Tomorrow) Today!

Update(18 Feb):

We have 2 links here:

  • LINK 1 : Update Recovery ZIPPED
  • LINK 2: Adam Beta ICS ZIPPED
This is how to use these files:
  1. Download above 2 files.
  2. Rename update_Recovery.zip to update.zip.
  3. Copy update.zip and adam_BetaICS.zip to the external sdcard
  4. Start the device in recovery mode (Volume Up Key + Power Down on Eden OS/AlphaICS, check for beast ROM)
  5. Select “Apply External SDcard update.zip”  (Use Volume Up down keys for navigation, second capacitive button for selection) You are installing recovery image right now. 
  6. Once Complete, reboot to recovery mode again (Volume Up Key + Power Down on Eden OS/AlphaICS, check for beast ROM)
  7. Wipe the data and select the option – “install zip from SD card”
  8. Select second option “choose zip from SD Card”
  9. Select adam_BetaICS.zip. Install.
  10. Wipe the data and cache
  11. Reboot the device
  12. Enjoy!
Regards

[17th Feb Post:

Hello there,

Tomorrow you will see release of Adam Beta. List of fixed things working excludes Camera, disabling notifications, compass, light sensor and Microphone.

3G, sleep issue, YouTube HD, graphics acceleration, better wi-fi, better sound and USB working now. Check this link for more. Jump in to report bugs and other issues.

More coming tomorrow.

Warm Regards ]

Rohan Shravan


by Rohan Shravan at February 17, 2012 04:55 PM

Tool: Clone a Hard Drive with EaseUS Todo Backup

A coworker was running out of hard drive space and didn't want to waste a day reinstalling Windows and all his programs on a new hard drive.  After a little bit of Googling I found a nifty tool to clone a hard drive, boot records and all, and figured I would share my find.  The program is called Todo Backup by EaseUS, and there is a free version available that has exactly what we need for the cloning.  The following instructions are intended for desktop users, for laptop users it will be similar but you will need to get a SATA to USB drive enclosure for your new drive.

So if you are running out of space on your main drive and can't delete anything here's what to do.  Get a drive that's larger than your current drive.  Turn off your computer and hook up the new drive and boot back into Windows.  Your new hard drive should now appear in Windows, if it does not open the start menu and type "disk management" and you will see a link to "Create and format hard disk partitions."  Once in disk management you can bring drives online, format, etc in order to get it visible in Windows.

One important step here, before we make the clone we need to "clean" the hard drive to prevent complications later (when I didn't perform this step my keyboard wouldn't work when booting from the new drive).  Open an elevated command prompt (type cmd in the start menu, right click and select "run as administrator") and type the following (after each line hit enter):

diskpart

select disk=1

detail disk

clean

In the "select disk=1" line the number should correspond to the disk number in Disk Management.  Just to make sure when you do the detail command it should give you the correct disk size.  And clean will strip all data from the drive as well as any registry entries windows has created for the drive.

Now we can get on to the actual cloning of the drive.  Open EaseUS Todo Backup and select Disk clone

Select Disk clone

Now highlight the drive you want to clone and select Next

Select source disk

Next, highlight the destination drive.  Also, check the "Sector by sector clone" box to ensure a perfect copy.

Select destination disk

Then click Proceed on the last page and the cloning will begin.  For a 300GB drive it took around 2 hours for me so it could take quite a while for really large drives.  Also, I would recommend checking the shutdown when complete checkbox.

Once the copy is complete and the computer has shut down, open up your computer and remove the original drive.  Boot into your BIOS and ensure that the new hard drive is the first boot drive if you have more than one drive, then boot into Windows.  There's one final step to perform once you have booted into Windows.  Go back into Disk Management and you should see your drive with a partition the size of the original disk.  Right click on that partition and select Expand.  A wizard will pop up to guide you through the process but if you're lazy you can just click Next all the way through and it will resize the partition to the full size of the new disk.  Now you will have plenty of free space for new programs, games, music, etc.

by Jordan Hotmann (noreply@blogger.com) at February 17, 2012 04:00 PM

Multiplayer Android Games

Playing games on your mobile phone may have once seemed anti-social, but thanks to the multiplayer game, this needn’t be the case. If you fancy sharing a game with friends, then here are just a few of those which we would recommend.

4 Player Reactor

This fast-paced reaction-testing game can actually be customised to accommodate 2, 3 or 4 players. If you think your super-fast reflexes are a match to other, then test them other with this quick-moving game. You’ll need to think fast and stay focused in order to win.

Guerrilla Bob

This multiplayer game first appeared on iOS devices, although it has now made the transition to Android, and is a must-have for fans of first-person shooters. The impressive graphics of Guerrilla Bob are particularly well-suited to large-screen devices, such as the O2 – Samsung Galaxy or the HTC Sensation XL. If you want to be both amused and entertained for hours, then this is the app for you.

Words With Friends

Scrabble has made the move to android, and is quickly becoming one of the most popular multiplayer games around. It’s easily to use, and will get you thinking about letter and word combinations quicker than your morning crossword. What’s more, you can have up to twenty games on the go at the same time – so all your friends can get involved.

What the Doodle

Another multiplayer android game which takes its inspiration from the traditional games, What the Doodle is perfect for fans of Pictionary. Simply sketch a word which you are given, and other players will guess what it is that you are trying to draw. It’s also free to download to your android device, and will keep you amused for hours.

by admin at February 17, 2012 06:06 AM

February 16, 2012

Gomoku League is now in the Amazon App Store

There are reaction games, and there are thinking games. Gomoku is definitely a thinking game. It is a two person strategy game with simple rules. The goal is to get five markers in a row before your opponent does. In Gomoku League, the game itself will definitely challenge you. There are four levels of AI play --- from beginner to advanced. You will have no trouble finding an opponent that will test your skill. What's different about Gomoku League? It's a league. You play games against the other players. But those players can play each other too. That's a way for you to learn to play a better game. And oddly enough, it's fascinating to watch two AI players battle it out --- especially at high speed. Entire games unfold in under a minute. Turn two AI's loose and let them play. Then go back and watch the replay to see how the winner did it. Sometimes it's what happens in the games you're not in that's important. If the league leader loses a tough match to another AI player, that's good for you. That player's rating and record take a hit, and you're a little bit close to being the Gomoku master of your Android device. Gomoku Leagus is available now in both the Amazon App Store and the Android Market.

by blahti at February 16, 2012 12:30 PM

Non-continuous rendering in Libgdx

After the feedback on my last post i had to implement non-continuous rendering. It was easier then expected. Thanks to Romain and P.T. for subtly pointing out that the proposed “solution” for fake non-continuous rendering is pretty terrible. I will repent :)

Here’s how it works. The Graphics interface has three new methods:

interface Graphics {
/**
	 * Sets whether to render continuously. In case rendering is performed non-continuously, the
	 * following events will trigger a redraw:
	 * 
	 * <ul>
	 * <li>A call to {@link #requestRendering()}</li>
	 * <li>Input events from the touch screen/mouse or keyboard</li>
	 * <li>A {@link Runnable} is posted to the rendering thread via {@link Application#postRunnable(Runnable)}</li>
	 * </ul>
	 * 
	 * Life-cycle events will also be reported as usual, see {@link ApplicationListener}. 
	 * This method can be called from any thread.
	 * 
	 * @param isContinuous whether the rendering should be continuous or not.
	 */
	public void setContinuousRendering(boolean isContinuous);
 
	/**
	 * @return wheter rendering is continuous.
	 */
	public boolean isContinuousRendering();
 
	/**
	 * Requests a new frame to be rendered if the rendering mode is non-continuous. This method
	 * can be called from any thread.
	 */
	public void requestRendering();
}

Not sure this needs more explanation. Read the Javadocs :)

Caveat: This is currently a NOP in the Lwjgl backend, I added it to the Jogl backend already. It will take a bit before those are up to speed. I hope to finish that of today.

Try it out and let me know of any issues you have.

by Mario at February 16, 2012 09:35 AM

Reducing CPU and Battery Usage in OpenGL Apps on Android

ninja edit: the stats below are for an Asus Transformer. Readings will heavily differ on other devices. Grain of salt etc. Also, these are tips for the continuous rendering case. I’ll try to incorporate non-continuous rendering if i can find the time.

Long ass title, but i like things to be descriptive. I’m currently working on a non-gaming app for Android that lets you browse reddit in a more visual style. Here’s a little screenshot:

The tiles are actually decals rendered via DecalBatch, text beneath each tile is rendered via BitmapFontCache and a SpriteBatch, the UI at the top is a Stage with UI Actors (FlickScrollPane, Image, TextButton). Usually you browse a subreddit, displaying 50+ entries, through which you can scroll vertically. When you click on a tile, it expands into a new view, depending on it’s type. Here’s how an image is displayed:

You can freely pinch zoom/pan within the image view. There are also views for videos and html previews. In any case, there’s a lot going on in terms of blending, submitting geometry and so on.

At this point there are hardly any optimizations on the rendering side of things, i invested most of my time getting the heavy threading for media retrieval correct and working.

I’m worried about battery usage, as the application should be a competitor to browsing reddit in the browser or in one of the many reddit apps on the market. Being an OpenGL application with lots of animations and transitions, it’s rather hard to only render dirty regions. The only way for me to reduce battery usage is to decrease CPU usage as much as possible, and having an overall dark theme so as to not make the display shine the energy of a thousand suns into your face. Here’s what i did.

The first step was a simple analysis of the CPU usage of the app. The easiest way to do this is to use adb from the console as follows:

~/adb shell top -m 10 | grep reddittv

This will fire up top on the connected device and output the top 10 cpu consumers in 2-3 second intervals. I additionally grep for my applications name, rather, the part of the package name which will also be the process name reported by top. I then let the app run and interact with it as usual. What i get is a coarse grained trace of CPU activity which is sufficient for an initial analysis. Here’s the output of the unoptimized app after a bit of playing around with it on my Transformer:


27174 1 22% S 11 449116K 36916K fg app_126 com.badlogic.reddittv
27174 1 20% S 11 449032K 36820K fg app_126 com.badlogic.reddittv
27174 0 20% S 11 449032K 36824K fg app_126 com.badlogic.reddittv
27174 0 21% S 11 449032K 36832K fg app_126 com.badlogic.reddittv
27174 0 20% S 11 449032K 36840K fg app_126 com.badlogic.reddittv
27174 0 20% S 11 449032K 36840K fg app_126 com.badlogic.reddittv
27174 0 21% S 11 449032K 36844K fg app_126 com.badlogic.reddittv
27174 0 21% S 11 449032K 36856K fg app_126 com.badlogic.reddittv
27174 0 21% S 11 449032K 36880K fg app_126 com.badlogic.reddittv
27174 0 20% S 11 449032K 36888K fg app_126 com.badlogic.reddittv
27174 0 18% S 11 449032K 36892K fg app_126 com.badlogic.reddittv
27174 0 19% S 11 449032K 36892K fg app_126 com.badlogic.reddittv

First, notice how we don’t take up 100% of the CPU. That can be attributed to the vsynch we perform each frame. This will put our rendering thread to sleep for quite a bit, allowing our thread to execute at most 60 times a second. The application runs at 60fps at this point. Now, let’s see how other applications perform, namely the browser. I fired up went to reddit.com and then google.com. I panned/zoomed and idled on both pages. It’s not a super fair comparison of course, but it’s a nice set of measurements i can compare my app with.


reddit.com
25573 1 0% S 29 597684K 157716K fg app_54 com.android.browser
25573 1 0% S 29 596908K 155840K fg app_54 com.android.browser
25573 1 0% S 29 596908K 155848K fg app_54 com.android.browser
25573 1 13% S 29 597024K 156172K fg app_54 com.android.browser
25573 1 8% S 29 597100K 156260K fg app_54 com.android.browser
25573 0 11% S 29 597100K 156260K fg app_54 com.android.browser
25573 0 12% S 29 597176K 156380K fg app_54 com.android.browser
25573 0 9% S 29 597252K 156456K fg app_54 com.android.browser
25573 0 0% S 29 597252K 156456K fg app_54 com.android.browser
25573 1 5% S 29 597252K 156456K fg app_54 com.android.browser
25573 0 5% S 29 597328K 156532K fg app_54 com.android.browser
25573 0 6% S 29 597328K 156532K fg app_54 com.android.browser
google.com
25573 1 14% S 30 603436K 158600K fg app_54 com.android.browser
25573 0 37% S 30 609352K 162308K fg app_54 com.android.browser
25573 0 32% S 29 610868K 162268K fg app_54 com.android.browser
25573 1 12% S 29 608724K 160964K fg app_54 com.android.browser
25573 0 32% S 29 602000K 160056K fg app_54 com.android.browser
25573 0 18% S 29 602000K 160068K fg app_54 com.android.browser
25573 0 20% S 29 602352K 160420K fg app_54 com.android.browser
25573 1 20% S 29 602000K 160080K fg app_54 com.android.browser

The 0% usage stats for reddit.com were achieved when i did not interact with the site at all. There are no animated components, so nothing needs to be redrawn. The browser goes totally to sleep in that case. The 5-12% measurements were taken while scrolling around, causing the browser to redraw parts of the screen.

The google.com case is a bit more interesting. I did not interact with the site at all. However, there’s a text input field on that site that gets focus automatically. This field contains a blinking cursor, which triggers redraws. Those redraws are costly it seems. It could also be the interaction with the UI toolkit, so it’s likely not pure Webkit rendering. In any case, redraws will bring up CPU usage of the browser. These happen whenever you interact with the site (panning/zooming), animated elements, javascript etc. I can not (or hardly) bring my application’s CPU usage down to 0% when it’s not being interacted with and not animated to due to the architecture, which does not keep track of dirty rectangles. However, i can try to reduce the average CPU usage by as much as possible, so that it evens out with the browsers average CPU usage under normal user interaction scenarios. For reddit that means quite a bit of panning and thus redrawing.

What reduces CPU usage? Executing less code per frame. SpriteBatch and DecalBatch perform vertex generation on the CPU as it is faster to submit a CPU crafted vertex array to the GPU containing all sprites/decals than drawing individual (sub-)meshes and reseting transformation matrices each frame. To bring my CPU usage down, i have to reduce the amount of sprites/decals i render per pass. This can be easily achieved via simple culling. Let’s see what culling decals means for CPU usage:


27288 0 20% S 11 449036K 36932K fg app_126 com.badlogic.reddittv
27288 0 20% S 11 449036K 36944K fg app_126 com.badlogic.reddittv
27288 1 20% S 11 449036K 37000K fg app_126 com.badlogic.reddittv
27288 0 19% S 11 449036K 37008K fg app_126 com.badlogic.reddittv
27288 0 20% S 11 449036K 37012K fg app_126 com.badlogic.reddittv

Well, that didn’t do much. Out of 50 decals in total, i only render 15, yet the CPU usage stays pretty much the same. It’s no surprise really, as 50 decals aren’t that big of deal in terms of calculations, especially if they don’t change. All it amounts to is copying vertices to the GPU, binding the shader with the respective textures & matrices and issuing the drawing command. Note that that would change a bit if the decals were animated, as they are during transitions. Still, tranforming the 4 vertices of each of the 50 decals is really not a big deal.

The next candidate is the text. As stated above, i use a BitmapFontCache for each tile label in conjunction with a SpriteBatch. This means that i’m also just copying vertices to the GPU, as the cache of a label won’t ever change after its construction. Let’s see what culling does for us:


27364 0 10% S 12 449504K 36268K fg app_126 com.badlogic.reddittv
27364 1 11% S 12 449504K 36276K fg app_126 com.badlogic.reddittv
27364 1 11% S 12 449696K 36452K fg app_126 com.badlogic.reddittv
27364 1 12% S 12 449696K 36504K fg app_126 com.badlogic.reddittv
27364 1 10% S 12 449696K 36504K fg app_126 com.badlogic.reddittv

Oi, not bad! We brought down the CPU usage by 20%. You might wonder how much code was necessary for this. Here it is in all its glory:

private void drawOverlay () {
	orthoCamera.position.x = camera.position.x;
	orthoCamera.position.y = camera.position.y;
	orthoCamera.update(false);
	sbatch.setProjectionMatrix(orthoCamera.combined);
	sbatch.begin();
	float upperY = camera.position.y + Gdx.graphics.getHeight() * 0.5f;
	float lowerY = camera.position.y - Gdx.graphics.getHeight() * 0.5f;
	for(int i = 0; i < overlays.size; i++) {
		Overlay overlay = overlays.get(i);
		float halfHeight = overlay.getHeight() * 0.5f;
		if(overlay.getPosition().y + halfHeight < lowerY || overlay.getPosition().y - halfHeight > upperY) continue;
		overlay.draw(sbatch);
	}
	sbatch.end();
}

As you can see, the culling is stupidly simple. Everything is done in screen coordinates (yes, the 3D decals are actually using pixel coordinates, hurray for pixel perfect perspective projection :) ). We could also exploit the fact that the overlays Array has an order, from the top left overlay to the bottom right overlay. As soon as an overlay is beneath the bottom scren edge we could jump out of the loop and don’t boughter culling the rest of the overlays, which we know would be invisible anyways. I added this optimization for a future feature were you can load more result pages. If you have hundreds of results it will make a difference to bail out early.

We are down from 20% to 10% with only 4 lines of code, not bad. Note that before the culling the application already ran at 60fps. If you only use that as your metric, you’ll miss battery saving opportunities!

Could we do better? The overlays could actually be put into a mesh, their world position and orientation does not change (the camera moves, not the overlays). This would get rid of the copying of vertex data to the GPU each frame, which has quite a bit of impact on the CPU usage if there’s a lot of text. I did that, and it seems to help a tiny little bit:


27467 1 9% S 12 452476K 46728K fg app_126 com.badlogic.reddittv
27467 1 8% S 12 452476K 46728K fg app_126 com.badlogic.reddittv
27467 1 9% S 12 452476K 46728K fg app_126 com.badlogic.reddittv
27467 1 9% S 12 452476K 46728K fg app_126 com.badlogic.reddittv
27467 1 9% S 12 452476K 46728K fg app_126 com.badlogic.reddittv

Since i essentially have a single draw call (indexing into a mesh, starting at the first glyph of the first visible overlay, to the last glyph of the last visible overlay) there’s pretty much no CPU side code executed. It’s almost as if we don’t render anything at all :p.

What else could we do? Once there’s nothing animating anymore, we could draw our scene to an FBO, so we can render that in a single drawcall for as long as there’s nothing changing (user input, new animations). This is highly dependent on the applications design of course, and might not be worth the often horribly big effort. Luckily my application suites itself for a pattern like this, games usually don’t fit that bill well. Apart from boring card games that is.

For reference, here’s the CPU usage for the app without clearing the screen, but performing all logic and input processing:


27544 1 2% S 13 451728K 43600K fg app_126 com.badlogic.reddittv
27544 1 1% S 13 451728K 43600K fg app_126 com.badlogic.reddittv
27544 1 1% S 13 451728K 43600K fg app_126 com.badlogic.reddittv
27544 1 1% S 13 451728K 43600K fg app_126 com.badlogic.reddittv
27544 1 1% S 13 451728K 43600K fg app_126 com.badlogic.reddittv
27544 1 2% S 13 451728K 43608K fg app_126 com.badlogic.reddittv

This indicates that there’s an oportunity for improvement with the FBO approach i just described. In any case, i can the apps CPU and thus battery consumption down to a level where it can be competitive with the browser. In the usualy usage scenario, where you do a lof of panning, my app already outperforms the browser. Granted, the amount of work the browser has to do to redraw dirty regions is huge compared to what my simple app does.

Take aways:

  • Care for your CPU consumption, even if your app runs at 60fps
  • Use top or similar tools to monitor the CPU usage of your app during it’s life time
  • Cache computations, e.g. use SpriteCache, BitmapFontCache or put things into a static Mesh to get rid of data transfer completely
  • Culling, broad phase and narrow phase
  • If you app’s architecture allows it, render the scene to an FBO when nothing changed, and use the FBO while nothing changes.

Wow, that got longer than i planed. Do you guys still read this? Shall i continue with these entries again? Been a while, not sure if there’s still an audience.

by Mario at February 16, 2012 06:03 AM

February 15, 2012

MMA Zone provides everything an MMA fan needs

The gym has really changed since my younger years. Back then I’d talk to other guys about sports and women. Now? Well, we still talk about women, but it seems that people are more interested in talking technology than they are sports. (Jeremy Lin excepted.) That’s fine by me, of course. The other day at the gym, while hitting the heavy bag, I was talking with someone about MMA apps. MMA apps? I asked. What could they really do? The guy then instructed me to download the MMA Zone app and see for myself. Now I get what he’s talking about. This is one useful Android app.

No, the app will not teach you Brazilian jiujitsu. It will, however, hit you with a constant MMA fix. In the Market it’s called All In One MMA, and that’s really what it is. It hits MMA from all angles: news about the professionals, gear reviews — and a store — plus videos and other useful resources. It’s damn useful for entrenched MMA fans, and absolute must-have for newbies.

The training section is the most useful and practical part of the app. It contains reams of articles from Martial Art Book writer Craight Lightner. While you can visit the website for most of these training tips, having them available on your Android makes them even better. They can be inspirational when on the way to the gym. You can also pick up pointers from each article that help you keep your workout fresh.

The meat of the app comes from the gear. There are three sections that play into this. The video section is the most useful for research. It contains videos demonstrating many MMA products. You can then head over to Reviews, where you’ll see well-written opinions of some serious MMA gear. And finally, you can shop right from the app, picking the products that met your standards.

And, of course, no MMA app would be complete without a news reel. It’s an easy way to stay on top of MMA news and opinions. Even if you don’t use the other sections (yes, there are some MMA fans who don’t participate), the news feed is always there to bring you the latest news. It’s updated pretty frequently, too, so you’ll rarely be left without something to read.

Best of all, the MMA Zone app is free. You can download it from the Android Market.

This post originated at AndGeeks.com - home to all things Android! Also a great source of info about Android Phones.

MMA Zone provides everything an MMA fan needs


by Joe at February 15, 2012 11:26 PM

February 14, 2012

How To Build A Simple Help Screen in Android

I released my first app to the Android Market recently. It was just complicated enough that I thought I should provide some help screens inside the app. I have taken what I did there and built a demo app, in order to illustrate how one can build a simple help screen in Android. My simple Help screen consists of a summary page where there is an image and a brief description for each help topic. Touching the image takes you to the full help text for a topic. All of the help text comes from xml files in the resource folders. The help text can include paragraphs, text formatting (bold, italics), and even links to web pages. Even if you do not need a Help screen for your app, knowing how to have formatted Html text in an Android text view could be of use to you.

by blahti at February 14, 2012 12:23 PM

February 12, 2012

A second app to launch; Agile Planning Poker

After launching my first application onto the market back in March 2011, and amassing somewhere in the region of 15,000 downloads since it’s launch, I was eager to produce another. I offered up my services at my work to develop an application to “test the water”, teaming up with the marketing director we created a…

by James Elsey at February 12, 2012 06:50 PM

ListView Row Highlight

Basically the idea behind this post is to show unobtrusive way of informing the user that something has changed in the data. When using ListView in Android and the backing data has changed, most of the time, I just call notifyDatasetChanged() and voila, ListView will automatically refresh the UI for me. But I noticed that this isn’t particularly good for the user as most of the time he has no idea that something has changed.

Then I remember back when I was still working as a J2EE/web developer, one way to notify the user is to show a highlight that fades out. This really looks nice when being presented in a tabular view. When an item has been updated, the whole row where that item is located will be highlighted for a few seconds then back to the normal background. I thought this might be good for our ListView as well so I searched around and found out that you can just use TransitionDrawable to implement this.

First we need to define the normal background and the highlight background.

This is for the normal background:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#000000"/>
</shape>

and this is for the highlight:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="#FF8C00"/>
</shape>

and for the transitiondrawable:

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/highlight"/>
    <item android:drawable="@drawable/normal"/>
</transition>

With all that, we can now set a background resource to our layout and call startTransition to animate it.

if(position == updateRow){
     view.setBackgroundResource(R.drawable.bg);
     ((TransitionDrawable)view.getBackground()).startTransition(1000);
}

then whenever we changed something in the backing data, we just need to call notifyDataSetChanged() to refresh our UI and show our awesome notification :)

((BaseAdapter)list.getAdapter()).notifyDataSetChanged();

You can download the complete project here

by Marc Lester Tan at February 12, 2012 04:27 PM

60 Android Hacks book review

Thanks to Manning and the Dutch Android User Group, I got the chance to review the book 60 Android Hacks by Carlos Sessa. This book is currently in Manning's MEAP program, which means that it is not finished or edited, but you can already enjoy some of the chapters as the work progresses, which is great!

Like the title suspects, this book contains 60 useful hacks on various Android topics like layout, animation, views, but also tools and languages. I really like this format because these kinds of books are nice to use as a reference no matter if you are just starting Android development or if you are an experienced Android developer. Each chapter is organised describing a small problem, discussing the solution and then a brief summary of the solution. Awesome.

The word hacks in the title might sound like this book describes wierd cornercase kind of types of situations, but that's not the case. It's more like a recipe book which decribes how you can leverage Android mechanisms to create better apps, ranging from chapter 1 (pdf) which describes how to center a view using a LinearLayout's weights to gems like chapter 17 (adding glowing effects to texts), which describes how to use a custom font and two TextViews to create a cool glowing digital clock.

Only a few chapters are available right now, but if you look at the list of chapters, this sure looks be a promising book with great to-the-point content, so go check it out here.

Permalink | Leave a comment  »

February 12, 2012 11:55 AM

Digital Clock Widget in Android.

Digital Clock Widget in Android.
Digital Clock is a very useful widget in android to show time in your application. Here is a simple demo on using digital Clock widget. First In the layout file copy this file. This creates a digital clock widget in the UI which will automatically update the time from the device. Now in the java [...]

by James at February 12, 2012 07:20 AM

February 11, 2012

How to change the activity orientation through java code in android?

Here is a simple way to change the orientation of the activity in android Through java code we do this.... setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); Through xml we do this Following are two other values that you can specify in the android:screenOrientation attribute: ➤➤ portrait — Portrait mode ➤➤ sensor — Based on the accelerometer Please leave your valuable [...]

by James at February 11, 2012 05:16 PM

February 10, 2012

Example application for accelerometer/gyroscope processing on Android

In the previous parts we have seen how to simulate the gravity vector with the gyroscope if the accelerometer is not able to measure gravity correctly (because it is subject to motion acceleration too beside the gravity acceleration) and how to update this simulated gravity vector from the accelerometer to prevent the accumulation of measurement errors. At the end of the previous post we had a gravity vector which was normally taken from the accelerometer but our algorithm switched to gyroscope simulation automatically when needed.

We need just one more step to enable cool applications and that step is very evident. If you remember my Droidcon 2011 presentation (slide 24), the acceleration measured by the accelerometer is the sum of gravity and motion acceleration. If both are present, they cannot be separated in the general case without additional sensor input. But now we have the gravity acceleration which is reasonably exact even if the accelerometer is subject to motion acceleration too. This means that we can extract the motion acceleration by subtracting the simulated gravity acceleration from the acceleration measured by the accelerometer.

This opens the way for applications based on dynamic movements much like the Wii games with Motion Plus accessory (which actually do the same as the Motion Plus accessory is really just a 2+1 axis gyroscope).

Click here to read the post further.


by Gabor Paller (noreply@blogger.com) at February 10, 2012 10:00 PM

February 09, 2012

Top 5 things to track on your Android

How closely do you keep track of your life? You might think you keep close tabs, but really think about it for a moment. Do you monitor the little things that can make big differences? If you’re not carrying around a pocket notebook or other recording apparatus, chances are you’re not.

Our Android smartphones, however, act as a recording apparatus. There are plenty of apps, including simple text apps, that can help us keep tabs on various aspects of our lives. Keeping track of them lets us notice patterns and habits, and with that awareness we can change things we don’t like.

Think of this in the same way as a SCADA system (supervisory control and data acquisition). You use your Android to acquire the data you need. The only difference is that instead of automatic monitoring, as in most SCADA systems, you’ll have to do some of the heavy lifting yourself. There are apps, though, that can automate the process. Once you have the data, though, the control system is on you. That is, your smartphone can acquire and present the data, but you’ll have to fix it yourself.

1. Your spending habits

If you need convincing to start writing down your spending habits, read this post on The Art of Manliness. It’s tough to turn away advice from a success such as John Rockefeller.

If you don’t want to read the post, the gist is this: we have lost a vital connection with our money. When we pay cash, we feel the separation from our money. When we wrote checks, we had to write it down immediately. But now with debit and credit cards, and with online account management, we’ve created a degree of disconnect. It no longer strikes us as fully when we swipe our cards.

Recording your finances is as easy as writing them down in a text document. If it worked for Rockefeller, it can work for you. You an also get a free app, such as Loot, which can provide an easier interface. It also does that whole adding thing for you. With support for recurring transactions, Loot might be the best app out there for this type of function.

2. Your workouts

While many of us consider exercise important, many of us also find it difficult to stick with any regular program. But in the same way that recording your finances can give you a better understanding of your money, tracking your workouts can give you a better sense of your habits. It’s just about finding the right app.

An app such as GymTechnik works well, because it works in many different ways. It not only lets you record your workouts, but with videos and images of movements, you can actually build a routine right on the app. With other features, such as online personal training, it can go a long way to helping you keep your fitness goals.

One thing I haven’t found that I really want: a fitness app with a homescreen widget that lets me know the last time I worked out. That would provide some motivation right there.

3. How much you walk

Let’s face it: working out isn’t for everyone. Don’t be ashamed, though. Some people just don’t value an active lifestyle, and that’s an individual choice. What’s shameful, though, is a life of sloth. That is, sitting at work all day, sitting on your ride home, and then plopping down in front of the TV the rest of the evening. There’s nothing healthy about that, and it can cause plenty of complications later in life.

Thankfully, there are plenty of ways you can remain semi-active even while staying away from the gym. The key, really, is to make sure you’re engaging in everyday physical activity. Simply walking more can help keep your gut from expanding past your current pant size. A simple free pedometer app, such as the simply named Pedometer Free can help you get an idea of your current activity level.

Once you make an assessment, you can then make a game out of it. Every day, try to walk more steps than the last. Every week, try to beat your previous week. Same for months. If you get good enough at the game, soon enough you’ll be losing weight.

4. What you get done at work

You would be amazed at how little we can get done at work every day. Seriously, there are days when I’m at work for eight hours and I feel as though I’ve only done a half hour of actual work. In some ways that might reflect on me as an employee, but in other ways it reflects on the unfocused nature of the modern office. I swear, there are some days where I spend more time taking notes from my boss than actually acting on said notes.

Here’s a little trick I started employing last year: write down everything I accomplished at the office. That is, any effortful action that got me closer to a goal. I don’t include routine tasks, like following up on emails. But I do include every step of a project that I complete. There are still some days when the list is scant, but overall I’ve noticed that I’m writing down more and more accomplishments.

All you need for this is a simple text document. I also recommend using your calendar for this, sending yourself a reminder at the end of every work day to write everything down. Then set a reminder every Friday, or even Saturday, so you can review what you did all week.

5. Books you’ve read and want to read

I know far too many people who say they don’t read, or worse, that they don’t like to read. Not only is reading a pleasurable leisure activity, it can also be an educational one. For instance, I learned more in the two years after college, by reading on my own, than I did all eight years in high school and college combined.

Keeping a wishlist is great. It gives us something to look forward to. I like using my Android Wish List, which I can access on the Android Mobile App for Android, to keep track of books I want to read. There are far, far too many on there, but I keep adding to it anyway. It’s exciting to go through it and actually order the books.

I also like using a simple text document to list the books I have read. It’s a nice little memento of time well spent. I’m not sure I’ve used it for any practical purpose, but for some reason I like keeping it. It’d probably be better if I used a journal app, such as I Journal, to record my thoughts on each book. Since I read while out of the house often, having this on my Android is a big plus.

There are plenty of other life aspects you can record on your mobile. My recommendation is to try them all and see what works for you. That way you can maintain your own SCADA system.

This post originated at AndGeeks.com - home to all things Android! Also a great source of info about Android Phones.

Top 5 things to track on your Android


by Joe at February 09, 2012 09:32 PM

Callooh! Callay! 100,000 downloads for Jumblee Words



That's right! Jumblee Words that most addictive word game for Android has reached the 100,000 download mark. It's been a good ride, and the latest version 1.5.4. has really strengthened the offering. But there is more to come, with a swag of new ideas being worked on for the next release.

So. Glad to have you along. Now best go get Jumbling.

And if you don't have access to Android Market, you can now download it from GetJar instead.

by William Ferguson (noreply@blogger.com) at February 09, 2012 08:42 AM

February 07, 2012

Google introduces Chrome for Android

Google has officially introduced Chrome for Android. It is currently in beta, and unfortunately it requires Android 4.0 Ice Cream Sandwich to run. Unless you own a Galaxy Nexus, Nexus S, or Asus Transformer Prime, you probably won’t be able … Continue reading

by Monodroyd at February 07, 2012 08:03 PM

February 06, 2012

Bluetooth Low Energy Will Have Users Wearing Their Hearts On Their Sleeves


Wearable technology has been in the public imagination since Dick Tracy first brought a wrist radio to his lips, and has inspired geeks everywhere to wear calculator watches. Today, what was once fantasy is now reality and what was once considered a trend regulated to secret agents and nerds is transforming into a must-have for athletes, and soon, everyone

Sports brands take the lead in wearables

In late January, Nike introduced the FuelBand, an electronic bracelet using accelerometers to measure a wearer’s activity throughout the day and present them visually via Bluetooth to their mobile phone and through USB to their computer. Late last year Jawbone also entered the game with its Up device, which measures sleep as well as activity levels.

This isn’t the first incidence of mobile devices being used in a wearable fashion or for measuring activity. After all, Nike+ and a pedometer are now built directly into all iPod Nanos, and bracelet carrying cases for Nano have long been popular. But one new technology in particular is about to throw open the wearable space like never before.

The power of low power

Bluetooth has been the most popular method for bridging between our different hardware, and it’s worked well, but it isn’t without problems. The short range wireless technology is notorious for eating up battery and losing connectivity, but a new evolution of Bluetooth has arrived that promises to bring an end to these problems.

To understand Bluetooth Low Energy, a new subset of Bluetooth’s latest 4.0 version, you must first understand the difference in philosophy between this Bluetooth and its predecessor. Traditional Bluetooth was connection focused – it maintained a constant link, even when data wasn’t flowing, and through that link it could send large amounts of information that let us remotely control game consoles or talk on our phone headset.

Where traditional Bluetooth was for constant streams of large data, BLE is for an infrequent stream of small data. It is truly designed to enable an “internet of things” because our things, our watches and shoes, have data that our web services and smartphones can use.

Bluetooth Low Energy, does a more efficient job of saving energy by using a pulsing method that keeps devices connected without chewing up a battery. In fact BLE devices can last years on just a coin cell battery. It also works over shorter distances so it avoids crossed frequencies. So what do companies need to know to start diving into BLE?

How companies are reinventing their products with BLE

Although BLE and Near Field Communication are often lumped into the same category as short range wireless technologies, the market is actually more prepared for BLE. Bluetooth 4.0 was silently included in the iPhone 4S, and it is also being included in an increasing number of Android phones including the Motorola Droid Razr. According to Bluetooth, by 2012 all new smartphones will be made Bluetooth 4.0 ready.

The Bluetooth company is trying to make it easy for manufacturers to receive what they’re calling Bluetooth Smart Ready certification, requiring only that products be:

…built to Bluetooth v4.0 specifications with GATT-based architecture, feature a dual-mode low energy radio, and allow for the device software to be updated by the consumer. Manufacturers of Bluetooth Smart Ready devices should also provide a way for third parties to create and distribute applications that receive data from Bluetooth devices.

Here’s a look at a few manufacturers who are already building Bluetooth 4.0 products:

Casio
Able to operate for two years on the same battery, Casio’s new G-Shock watch connects to a user’s smartphone to alert them to calls and emails without requiring them to have to reach into their pocket or purse for their phone

Dayton Industrial
Typically chest strap heart monitors require a special watch that wearers can use to monitor their heart. By using BLE, Dayton Industrial’s new chest strap will be able to pair with any BLE enabled smartphone. This cuts down on the company’s hardware costs and let them leverage the processing power and interface of smartphones.

Have questions about Bluetooth 4.0? Want to find out more about how software development and product development can happen in tandem, or how using the smartphone can extend your product, email me at rachel.youens@mutualmobile.com.

by Rachel Youens, Corporate Communications at February 06, 2012 05:34 PM

New Handwriting Recognizer Site

The previously announced gift coupon page for Kanji and Hanzi Recognizer has been renewed and expanded into a full-featured website. It now has dedicated pages for both apps that introduce each app's features, detail requirements and, most importantly, explain how to get and install the app. Direct downloads are now provided, making it easy to install the apps on devices without the Android Market, and in countries where they are not available. Unfortunately, the Android Market treats free apps with the ability to upgrade via an in-app purchase as paid apps, and thus they are unavailable in countries that don't support Market purchases. There are still quite a few unsupported countries, including major app consumers such as Taiwan. The new site should make it easier for people in those countries to find and use the apps. And hopefully decipher some Chinese characters on the go :) Here's how the site looks:


If the design looks familiar, it's because it uses the excellent Bootstrap CSS library. The original coupon page used version 1.4, and was updated to the recently released Bootstrap 2. Other implementation details: it is currently running on Google App Engine, uses jQuery and is free of any Web application frameworks. The site makes use of Bootstrap's supports for responsive design, and while best viewed using a modern desktop browser, will automatically adapt to smaller screens as well.

After this short Web technology refresher, back to Android. Coming up next (probably...), a WWWJDIC update. Stay tuned!

by Nikolay Elenkov (noreply@blogger.com) at February 06, 2012 02:58 PM

BikeChatter.com for sale

What with two kids, a new house, and LiberWriter getting some good traction, I've been looking around for things to give to a good home so as to have less stuff to deal with.

So, on the auction block goes BikeChatter.com : https://flippa.com/2696023-professional-cyclists-on-twitter-plus-2-years-of-history

BikeChatter.com is the place to go on the web to follow professional cyclists on twitter.  With 500+ racers, and nearly half a million status updates from racers like Lance Armstrong, Alberto Contador, Mark Cavendish, and many, many more, this site is the best place to find out what's going on in the world of professional cycling, directly from the participants.

Since I like following the site myself, I really want to see it go to people who will take it and make it even better.

by David N. Welton at February 06, 2012 12:39 PM

February 05, 2012

The Rise And Fall Of Junk and Spam Android Apps

With Android being listed as the best-selling smartphone platform worldwide, it comes as no surprise that developers are flocking to its Android Market, which already has around 320,000 apps available as of September 2011 (374,303 as of Feb 5, 2012). A full 74 percent of those are free apps and while giving apps away doesn’t net a developer money off the bat, it’s still by far the best way for an app to become popular and gain traction in any app marketplace.

read more

by GlennS at February 05, 2012 09:05 PM

February 04, 2012

Jumblee Words 1.5.2 released - 76 years of game play


A new version of Jumblee Words, that addictive Android word game has been published to the Android market. The new version fixes a number of bugs including some memory leaks that have been causing a few crashes, especially for those playing for extended periods.

The game screen has also been changed so that it is more obvious that valid words must be at least 4 letters long and must contain the central letter, a fact which unfortunately seems to have eluded a few people.

The week we are also celebrating 76 man years of Jumblee game play. I like to think that this has been time spent sharpening people's minds so that they are ready to take on new and bigger challenges out in the real world. But if not well at least it helped kill some time while sitting on the bus.

A full list of changes for this release are as follows:


  • Added handling to make it even more obvious that word must contain the central letter plus at least 3 others.
  • Improved performance of screen redraw with new LetterButton colourings.
  • Resolved several OutOfMemory errors that could occur if playing for some time.
  • Fixed occasional crash on game start for some Android-1.6 devices.
  • Fixed occasional crash with media playback when all words are found.
  • Fixed crash on startup for Android 2.0
  • Fixed rare crash on start up.
So now that the game is more bullet proof, go get Jumbling in style!

by William Ferguson (noreply@blogger.com) at February 04, 2012 08:57 AM

February 03, 2012

Bluetooth Low Energy Will Have Users Wearing Their Hearts On Their Sleeves


Wearable technology has been in the public imagination since Dick Tracy first brought a wrist radio to his lips, and has inspired geeks everywhere to wear calculator watches. Today, what was once fantasy is now reality and what was once considered a trend regulated to secret agents and nerds is transforming into a must-have for athletes, and soon, everyone

Sports brands take the lead in wearables

In late January, Nike introduced the FuelBand, an electronic bracelet using accelerometers to measure a wearer’s activity throughout the day and present them visually via Bluetooth to their mobile phone and through USB to their computer. Late last year Jawbone also entered the game with its Up device, which measures sleep as well as activity levels.

This isn’t the first incidence of mobile devices being used in a wearable fashion or for measuring activity. After all, Nike+ and a pedometer are now built directly into all iPod Nanos, and bracelet carrying cases for Nano have long been popular. But one new technology in particular is about to throw open the wearable space like never before.

The power of low power

Bluetooth has been the most popular method for bridging between our different hardware, and it’s worked well, but it isn’t without problems. The short range wireless technology is notorious for eating up battery and losing connectivity, but a new evolution of Bluetooth has arrived that promises to bring an end to these problems.

To understand Bluetooth Low Energy, a new subset of Bluetooth’s latest 4.0 version, you must first understand the difference in philosophy between this Bluetooth and its predecessor. Traditional Bluetooth was connection focused – it maintained a constant link, even when data wasn’t flowing, and through that link it could send large amounts of information that let us remotely control game consoles or talk on our phone headset.

Where traditional Bluetooth was for constant streams of large data, BLE is for an infrequent stream of small data. It is truly designed to enable an “internet of things” because our things, our watches and shoes, have data that our web services and smartphones can use.

Bluetooth Low Energy, does a more efficient job of saving energy by using a pulsing method that keeps devices connected without chewing up a battery. In fact BLE devices can last years on just a coin cell battery. It also works over shorter distances so it avoids crossed frequencies. So what do companies need to know to start diving into BLE?

How companies are reinventing their products with BLE

Although BLE and Near Field Communication are often lumped into the same category as short range wireless technologies, the market is actually more prepared for BLE. Bluetooth 4.0 was silently included in the iPhone 4S, and it is also being included in an increasing number of Android phones including the Motorola Droid Razr. According to Bluetooth, by 2012 all new smartphones will be made Bluetooth 4.0 ready.

The Bluetooth company is trying to make it easy for manufacturers to receive what they’re calling Bluetooth Smart Ready certification, requiring only that products be:

…built to Bluetooth v4.0 specifications with GATT-based architecture, feature a dual-mode low energy radio, and allow for the device software to be updated by the consumer. Manufacturers of Bluetooth Smart Ready devices should also provide a way for third parties to create and distribute applications that receive data from Bluetooth devices.

Here’s a look at a few manufacturers who are already building Bluetooth 4.0 products:

Casio
Able to operate for two years on the same battery, Casio’s new G-Shock watch connects to a user’s smartphone to alert them to calls and emails without requiring them to have to reach into their pocket or purse for their phone

Dayton Industrial
Typically chest strap heart monitors require a special watch that wearers can use to monitor their heart. By using BLE, Dayton Industrial’s new chest strap will be able to pair with any BLE enabled smartphone. This cuts down on the company’s hardware costs and let them leverage the processing power and interface of smartphones.

Have questions about Bluetooth 4.0? Want to find out more about how software development and product development can happen in tandem, or how using the smartphone can extend your product, email me at rachel.youens@mutualmobile.com.

by Rachel Youens, Corporate Communications at February 03, 2012 08:27 PM

Sending SMS on Android and tracking it

Lets look at how to send an SMS. It's pretty simple though. A few lines of code and your SMS is gone. To make it more convenient and meaningful, we should also be able to track and let the user know when the SMS is sent and when it is delivered. For a start, I won't be looking into how to trap the error messages here and log or show it to the user. May be, when I get some more time, I will update this post. For now, lets track our SMS.
        Intent sentIntent = new Intent(INTENT_ACTION_SENT);
        PendingIntent pendingSentIntent = PendingIntent.getBroadcast(this,
                REQUEST_CODE_ACTION_SENT, sentIntent,
                PendingIntent.FLAG_UPDATE_CURRENT);

        Intent deliveryIntent = new Intent(INTENT_ACTION_DELIVERY);
        PendingIntent pendingDeliveryIntent = PendingIntent.getBroadcast(this,
                REQUEST_CODE_ACTION_DELIVERY, deliveryIntent,
                PendingIntent.FLAG_UPDATE_CURRENT);

        SmsManager smsManager = SmsManager.getDefault();

        // Second parameter is the service center number. Use null if you want
        // to use the default number
        smsManager.sendTextMessage(number, null, message, pendingSentIntent,
                pendingDeliveryIntent);

In the above code snipped, you can see that we are passing 2 pending intents to the SMSManager, one of which will be fired when the SMS is sent, and the other, when the SMS is delivered. It would also let you know the error type if the sending or delivery fails, so that you can take action for the errors. INTENT_ACTION_SENT and INTENT_ACTION_DELIVERY are string constants, which are just some random actions required to setup of the PendingIntents and receive them back.

Setting up the SMS is super easy. How do we track or listen to the updates, which happen through the PendingIntents? Well, those pending intents could be for starting an Activity, a Service or sending out a Broadcast. As you can see, here, I have used a Broadcast, to keep it simple. So, in our activity, we would need to register BroadcastReceivers for the same actions.
        IntentFilter filter = new IntentFilter(INTENT_ACTION_SENT);
        filter.addAction(INTENT_ACTION_DELIVERY);

        registerReceiver(smsSentDeliveredReceiver, filter);

Now, the onReceive() method will be fired, when those events happen, and thus you can notify the user about when the message is sent and delivered.
        String action = intent.getAction();
        Log.i(TAG, "Received: " + action);

        if (action.equals(INTENT_ACTION_SENT)) {
            Log.i(TAG, "Message: Sent");
            Toast.makeText(this, "Message sent", Toast.LENGTH_LONG).show();
        } else if (action.equals(INTENT_ACTION_DELIVERY)) {
            Log.i(TAG, "Message: Delivered");
            Toast.makeText(this, "Message delivered", Toast.LENGTH_LONG).show();
        }

You can find the sample app and the source code here. Give it a run.

Note: Using this example, you cannot send SMS to real numbers from an emulator. The SMS will be sent, but it will never be delivered.

by Kumar Bibek (noreply@blogger.com) at February 03, 2012 06:22 PM

February 02, 2012

How to create and play IVF / VP8 / WebM / libvpx video in OpenGL

Disclaimer: this tutorial covers how to render IVF / VP8 / libvpx video in an OpenGL libSDL / SDL window. IVF video only includes video, not audio. For game developers, it’s trivial to play audio via their own audio system. So you’ll have two files per movie “movie.ivf” and “movie.ogg” or whatever. As an exercise to the reader, you could easily jam both into a single file if you really wanted to.

The Problem We’re Trying To Solve

So you’re an indie game developer and you want to show a clip of video in your commercial cross-platform (PC/Mac/Linux/other?) game! Obviously you want a patent-free open source unrestricted license to do it.

Wait, can’t I go commercial?

Better than that, you could just use the built-in codecs on a platform! I’d suggest this if you are targeting a single platform, iPhone / iOS for example.

Otherwise, you’ll be using Bink, a commercial solution at $8500 / platform. I emailed about their “indie licenses” and never heard back.

The Open Source Options I didn’t like much

Here’s what we have for patent free open source codecs .. and their various problems.

Xiph Theora – Probably the best known codec. To get it working you have to have libogg, libvorbis, and libtheora all built for your target platforms. To me, that seemed like a lot to ask. Also, the libtheora API is a MONSTER. playtheora is a SDL example (similar to this one) that covers some of that ugliness, so I’d recommend checking that out if you want to use theora.

Dirac / Schroedinger – the BBC funded codec. I couldn’t get this one to build. It doesn’t seem to be all that popular.

Motion Jpeg – This isn’t so much of a codec as an idea. Make your own movie file with a ton of .jpg’s in it. I tried this. The files get really huge really fast. I wouldn’t recommend this.

Motion JPEG 2000 – This implementation was also pretty confusing. I couldn’t find where to start. And, yeah, this isn’t all that popular either.

libvpx .. why I chose it

WebM / libvpx – Backed by google this is a new contendor on the block. The thing that sold me was the sample encoder which was pretty simple. It also depends on nothing. Also, building it on OS X and Linux was trivial. Also they offer a pre-built Windows binary. Also, they just had their 1.0.0 release a few days ago.

So, yeah, having a supported, up and coming, easy to build codec was key to me.

How to encode for IVF / libvpx

Since it’s a new codec, not much supports it right now. I used a fresh build of ffmpeg under linux that I built with this configure command:

./configure --enable-encoders --enable-libvpx

Then I was able to use ffmpeg to encode ivf files pretty easily:

ffmpeg -i Untitled.mov -vcodec libvpx -b 1000k -s 1024x512 movie.ivf

Note: we’re not dealing with WebM files. WebM files are container files that also contain audio. Again, you’ll have to store your audio separately, or create your own container file, or figure out what WebM is on your own time.

So .. what’s the bottom line? Do we get any code?

Yes! I created a libSDL player that plays back the video at max speed possible and it converts the YUV data to RGB data and loads it as a texture. Here are the functions I provide:

void playvpx_init(Vpxdata *data, const char *_fname) ;

Just init your Vpxdata with a filename “movie.ivf” .. It’ll try and get libvpx up and running for you.

bool playvpx_loop(Vpxdata *data) ;

Call this once per frame to have it decode a frame of video. It will return false once it has run out of frames. If you want to mess with the libvpx YUV data yourself, it’s data->img. See the playvpx.cpp source or the libvpx example above to see what that structure provides. It’s pretty simple.

int playvpx_get_texture(Vpxdata *data) ;

Call this once per frame to have it convert the YUV data to RGB and upload the texture to OpenGL. It will return 0 on failure or a OpenGL texture ID on success. I convert on your CPU, so it’s not super fast, but it should work fine on modern computers. If anyone cares to provide a Shader version of this function, or provide a SIMD / MMX / SSE version .. well, that would be faster!

void playvpx_deinit(Vpxdata *data) ;

Call this function when you’re done to cleanup.

Conclusion and Source Code

Okay, here’s playvpx for you to check out. It’s a C-style API, but I’m sure I use some minor C++ in there. Probably wouldn’t be hard to make it C-only if you require C for your project.

Oh, and I include the libvpx binary for Windows, OS X, and Linux. So you may not have to build it for any platforms!

The code is licensed under the libvpx BSD-style license. My code here is a gutted version of their sample_decoder.c, so .. that seems to make most sense to me.

by philhassey at February 02, 2012 11:50 PM

January 31, 2012

Updated Reporting in the Amazon Appstore Developer Portal

Amazon is excited to announce an update to reports within the Amazon Appstore Developer Portal. Reports provide developers with important historical and trend data for sales and earnings. Improving the developer interface and strengthening service capability were two of the most important factors we focused on for this update.

 

During the past two months, we beta tested the update with more than 500 developers. Many of these developers provided valuable feedback that we incorporated into the final design. 

 

Starting today, we will begin rolling out this update to all developers on the Amazon Appstore Developer Portal.  You will notice the following changes:

 

  • Infrastructure updates to enhance scalability and speed
  • Enhanced sales and units reporting interface and navigation
  • Streamlined earnings report with at-a-glance views of your monthly earnings statements
  • Expanded selection of downloadable CSV reports

 

We encourage developers to explore the new reports and provide feedback via the Contact Us link on the Amazon Appstore Developer Portal homepage or by clicking on the Submit Feedback flag on your Reports page.

by The Amazon Appstore Team at January 31, 2012 07:58 PM

January 30, 2012

Galaxy Tab 11.6 Specs

Rumors are brewing that Samsung will be launching Galaxy Tab successor next week at the Mobile World Congress (MWC) 2012. The biggest improvement, as expected, will be increase in display size. It is said to have a 11.6 inch retina display, which basically means very high PPI (pixels per inch). The Galaxy Tab 11.6 is [...]

by Galaxy Tab Review at January 30, 2012 02:38 PM

The Busy Coder's Guide to Advanced Android Development Version 2.4 Released

The Busy Coder’s Guide to Advanced Android Development Version 2.4 is now available for subscribers in all formats.

This release adds:

  • A section on using RemoteViews as the basis for a plugin framework, to allow one app to add to the UI of another app.

  • A chapter on the challenges for writing for the WIMM One wearable Android device.

  • More coverage of the Loader framework, particularly on what occurs with a Loader during different events, such as the activity being destroyed, the device being rotated, etc.

  • Brief coverage of the impact of the split action bar on action modes.

  • A bug fix and explanation for the FeedsActivity, to repair a flaw whereby multiple fragments would overlay each other if you rotated the screen while in the tabs mode.

  • Errata fixes

I am anticipating another update to this book in about a month. One of the highlights of that release will be coverage of developing for the NOOK line of Android devices.

by Mark Murphy at January 30, 2012 01:27 PM

January 28, 2012

Gift Coupons for Kanji/Hanzi Recognizer

Ever wanted to give and Android app as a gift? Unfortunately, this is not supported by the Android Market, so unless you are willing to share your Google Wallet account, you currently can't do this for most apps. Kanji Recognizer and Hanzi Recognizer are however special: it is now possible to buy an upgrade coupon code and give it as a gift.

As of version 2.1, both apps support upgrading via coupon codes, as well as directly through the Android Market. If you just want to upgrade on your own device, the fastest way is to open Settings, and hit 'Upgrade to premium' (as before). After you authorize the payment using the Android Market dialog, all premium features will be enabled within seconds. To get a gift coupon code on the other hand, visit this page, select an app and login with your Google account. Then just enter your email address and press the 'Buy' button. Since payments are handled through Google Wallet, just as on Android, no registration or entering of payment details is required.  Simply review the purchase details on the Google Wallet dialog, and press 'Finish'. The coupon code and upgrade instructions will be sent to your email address immediately. You can then give the coupon code as a gift to anyone -- it is not tied to your account.

To upgrade using the coupon code, open the app's Settings and tap 'Redeem license' to display the license screen. Enter a valid email address and the coupon code, then tap 'Redeem license' to retrieve the license. The coupon code will be validated, and premium features will be enabled automatically upon success. Validation needs an Internet connection, so make sure you are not offline when redeeming a license.


The license will be associated with the entered email address, and a recovery PIN will be sent to it. If you wiped (a.k.a 'factory reset') your device or have a new one, you can recover the license using this PIN. Just select 'Recover license' in the license screen (see screenshot), and enter your email address, the coupon code and the PIN. Premium features will be enabled once the coupon code an PIN are verified.

Try it out, and send some gifts!

by Nikolay Elenkov (noreply@blogger.com) at January 28, 2012 03:56 PM

January 27, 2012

Gem Miner 2 released!

Gem Miner 2 is now available in the Android Market for all territories.

If you downloaded very early, you\’ll want to check for updates, as there has already been a patch for the following:

 

- Added ability to disable pickaxe (press menu)

- Fixed lift control alignment issues on certain devices

- Fixed museum freeze bug

- Fixed small bug in one map

 


by Psym at January 27, 2012 10:32 PM

The Signpost OAuth project has an owner again!

In 2009, I introduced Signpost, a lightweight, client-side OAuth library for Java. I initially created it to power the API connector in our Qype Android app, and kept maintaining it for a year or two, until I got bored with fixing random issues with random OAuth service providers that I honestly didn't care about whatsoever. In its latest release, the library still works flawlessly for us, so I had little motivation to continue work on it.

However, I understand that it probably doesn't work flawlessly for everyone, so with me backing away from developing it further, a project maintainer was obviously needed. It looks like we've finally found someone who's willing to enter the painful world of OAuth 1.0! Meet Takahiro Horikawa, who will take full ownership of the project from here on, managing issues, releases, and the project website.

If you're interested in helping out, give us a shout on signpost-developers!

Signpost project page

Takahiro's Twitter

Takahiro's GitHub

Permalink | Leave a comment  »

January 27, 2012 09:54 AM

January 26, 2012

Storing User Preference in Amazon DynamoDB using the AWS SDK for Android

Amazon DynamoDB is a fast, highly scalable, highly available, cost-effective, non-relational database service. Amazon DynamoDB removes traditional scalability limitations on data storage while maintaining low latency and predictable performance. The sample mobile application described here demonstrates how to store user preferences in Amazon DynamoDB. Because more and more people are using multiple mobile devices, connecting these devices to the cloud, and storing user preferences in the cloud, enables developers to provide a more uniform cross-device experience for their users.

 

This article shows sample code for the Android platform. The complete sample code and project files are included in the AWS SDK for Android. Links to the SDK are available at the end of this article.

 

To use the sample app, you'll need to deploy a token vending machine (TVM). A TVM is a cloud-based application that manages AWS credentials for users of mobile applications. To deploy the TVM, you'll first need to obtain your own AWS credentials: an Access Key ID and Secret Key.

 

If you haven't already signed up for Amazon Web Services (AWS), you will need to do that first to get your AWS credentials. You can sign up for AWS here. After you sign up, you can retrieve your credentials at this page. The credentials will be used to set up the TVM to authenticate users of AWS mobile applications. Sample Java web applications are available here: Anonymous TVM and Identity TVM (this sample uses Anonymous TVM).

 

Overview

In Amazon DynamoDB, a database is a collection of tables. A table is a collection of items, and each item is a collection of attributes. For our app, we create a single table to store our list of users and their preferences. Each item in the table represents an individual user. Each item has multiple attributes, which include the user's name and their preferences. Each item also has a hash key—in this case, userNo—which is the primary key for the table.

 

The app demonstrates how to add and remove users, and modify and retrieve their preference data. The app also demonstrates how to create and delete Amazon DynamoDB tables.

 

Registering the Device with Token Vending Machine

In order to create an Amazon DynamoDB client, we must first register the mobile device with the token vending machine (TVM). For this sample, we use the Anonymous TVM to register the device. Then we store the UID and key returned by the TVM on the device.

RegisterDeviceRequest registerDeviceRequest = 
                                        new RegisterDeviceRequest(this.endpoint, this.useSSL, uid, key); ResponseHandler handler = new ResponseHandler(); response = this.processRequest(registerDeviceRequest, handler); if (response.requestWasSuccessful()) { AmazonSharedPreferencesWrapper.registerDeviceId(this.sharedPreferences, uid, key); }

 

Retrieving the Temporary Credentials from Token Vending Machine

The following code demonstrates how to request that the TVM generate temporary credentials, and how to store the returned credentials on the device.

Request getTokenRequest = new GetTokenRequest(this.endpoint, this.useSSL, uid, key);
ResponseHandler handler = new GetTokenResponseHandler(key);

GetTokenResponse getTokenResponse = 
                                (GetTokenResponse) this.processRequest(getTokenRequest, handler); if (getTokenResponse.requestWasSuccessful()) { AmazonSharedPreferencesWrapper.storeCredentialsInSharedPreferences( this.sharedPreferences, getTokenResponse.getAccessKey(), getTokenResponse.getSecretKey(), getTokenResponse.getSecurityToken(), getTokenResponse.getExpirationDate()); }

 

Creating an Amazon DynamoDB Client

To make service requests to Amazon DynamoDB, you need to instantiate an Amazon DynamoDB client. The code below shows how to create an Amazon DynamoDB client for Android using the stored temporary credentials from the TVM.

AWSCredentials credentials = AmazonSharedPreferencesWrapper
		.getCredentialsFromSharedPreferences(this.sharedPreferences);

AmazonDynamoDBClient ddb = new AmazonDynamoDBClient(credentials);

 

Creating a User List (Table Creation)

Each user's preferences are stored as items in an Amazon DynamoDB table. The following code creates that table using the client we created above. Every Amazon DynamoDB table require a hash key. In this sample, we use userNo as the hash key for the table.

AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

KeySchemaElement kse = new KeySchemaElement()
                                                    .withAttributeName("userNo")
                                                    .withAttributeType(ScalarAttributeType.N); KeySchema ks = new KeySchema().withHashKeyElement(kse); ProvisionedThroughput pt =
                new ProvisionedThroughput().withReadCapacityUnits(10l).withWriteCapacityUnits(5l); CreateTableRequest request = new CreateTableRequest() .withTableName(PropertyLoader.getInstance().getTestTableName()) .withKeySchema(ks)
.withProvisionedThroughput(pt); ddb.createTable(request);

 

Checking the Status of the Table (Table Description)

Before we can move to the next step (creating users), we must wait until the status of the tables is ACTIVE. To retrieve the status of the table, we use a describe table request. This request returns information about the table such as the name of the table, item count, creation date and time, and its status.

AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

DescribeTableRequest request = new DescribeTableRequest()
		.withTableName(PropertyLoader.getInstance().getTestTableName());
DescribeTableResult result = ddb.describeTable(request);

String status = result.getTable().getTableStatus();

 

Creating Users (Item Creation)

For each user, we'll create an item in the table. An item is a collection of attribute/value pairs. For each item, we'll have three attributes: userNo, firstName, and lastName. These are added to a put item request in order to create the item.

HashMap<String, AttributeValue> item = new HashMap<String, AttributeValue>();

AttributeValue userNo = new AttributeValue().withN(String.valueOf(i));
item.put("userNo", userNo);

AttributeValue firstName = new AttributeValue().withS(Constants.getRandomName());
item.put("firstName", firstName);

AttributeValue lastName = new AttributeValue().withS(Constants.getRandomName());
item.put("lastName", lastName);

PutItemRequest request = new PutItemRequest().withTableName(
		PropertyLoader.getInstance().getTestTableName()).withItem(item);

ddb.putItem(request);

 

Deleting Users (Item Deletion)

To remove a user from the list simply means deleting the corresponding item from the table. We specify the item we wish to delete using the hash key for the item.

AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

Key primaryKey = new Key().withHashKeyElement(targetValue);
DeleteItemRequest request = new DeleteItemRequest().withTableName(
		PropertyLoader.getInstance().getTestTableName()).withKey(primaryKey);
ddb.deleteItem(request);

 

Listing Users (Table Scan)

We can retrieve a collection of users with a scan request. A scan request simply scans the table and returns the results in an undetermined order. Scan is an expensive operation and should be used with care to avoid disrupting your higher priority production traffic on the table. See the Amazon DynamoDB developer guide for more recommendations for safely using the Scan operation.

AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

ScanRequest request = new ScanRequest();
request.setTableName(PropertyLoader.getInstance().getTestTableName());
ScanResult result = ddb.scan(request);

ArrayList<HashMap<String, AttributeValue>> users = 
(ArrayList<HashMap<String, AttributeValue>>) result.getItems();

 

Retrieving a User's Preferences (Item Retrieval)

Knowing a user's userNo, the hash key of the table, it is easy to find the item for the user. This next snippet shows how to get all the attributes for an item using the hash key.

AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

AttributeValue userNoAttr = new AttributeValue().withN(String.valueOf(userNo));
Key primaryKey = new Key().withHashKeyElement(userNoAttr);
GetItemRequest request = new GetItemRequest().withTableName(
		PropertyLoader.getInstance().getTestTableName()).withKey(primaryKey);

GetItemResult result = ddb.getItem(request);

HashMap<String, AttributeValue> userPreferences = 
(HashMap<String, AttributeValue>) result.getItem();

 

Modifying User Preferences (Item Update)

The hash key also makes it easy to update an attribute for an item.

AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

AttributeValue av = new AttributeValue().withS(value);
AttributeValueUpdate avu = new AttributeValueUpdate().withValue(av).withAction(AttributeAction.PUT);
Key primaryKey = new Key().withHashKeyElement(targetValue);
HashMap<String, AttributeValueUpdate> updates = new HashMap<String, AttributeValueUpdate>();
updates.put(key, avu);

UpdateItemRequest request = new UpdateItemRequest()
		.withTableName(PropertyLoader.getInstance().getTestTableName())
		.withKey(primaryKey).withAttributeUpdates(updates);

ddb.updateItem(request);

 

List Deletion (Table Deletion)

The easiest way to remove all the user preference data is to delete the Amazon DynamoDB table. The following code shows how:

AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

DeleteTableRequest request = new DeleteTableRequest()
		.withTableName(PropertyLoader.getInstance().getTestTableName());
ddb.deleteTable(request);

 

Conclusion and Additional Resources

The code in this article demonstrates how to use Amazon DynamoDB as a storage device for your mobile application. You can find more information about Amazon DynamoDB here.

 

Sample apps that include the code from this article are provided with the AWS SDK for Android. You can download the SDK using the following link:

 

AWS SDK for Android

 

For more information about using AWS credentials with mobile applications see the following article:

 

Authenticating Users of AWS Mobile Applications with a Token Vending Machine

 

Questions?

Please feel free to ask questions or provide comments in the Mobile Development Forum.

by Yosuke Matsuda at January 26, 2012 11:02 PM

January 25, 2012

Compensating accelerometer data with the gyroscope

In the previous post we have seen, how we can simulate the rotations of the gravity vector (thus measuring the exact tilt) with the help of the gyroscope. During that measurement we moved the device only slowly to validate the claim that the gyroscope is able to track the gravity vector for a certain period of time. We were aware of the fact that measurement errors for this type of measurement will eventually accumulate and therefore we have to pick the correct gravity vector time to time.

In this post we go one step further. We will use the gyro-based simulated gravity vector only if the accelerometer does not provide us with reliable gravity vector measurement (because the device is subject to motion acceleration too). But how to figure out if the gravity measurement of the accelerometer is reliable or not? Let's see the picture below which is shows the absolute value (the length) of the accelerometer's output vector as a function of sample count when the device is subject to a "tennis-like" movement. This means that the device is held in one hand and I simulated as if it was a tennis racquet. The device rotates but is also subject to a significant motion acceleration.

Click here to read the post further.

by Gabor Paller (noreply@blogger.com) at January 25, 2012 08:38 PM