Planet Android Headlines

↑ Grab this Headline Animator

July 28, 2014

More details released about the upcoming Firefly Online strategy RPG for Android

Just a little over a year ago we reported on an official Firefly game that would be heading to Android soon called Firefly Online which was slated for release this Summer. As you can tell from the game's name, this will be an online multiplayer title but it isn't necessarily an MMORPG in the traditional sense of running around, completing quests, leveling up and collecting gear.

While the game should feature a lot of these mechanics, Firefly Online sounds like it will be more along the lines of games such as EVE Online, at least in the theme of space exploration and running your own ship. The game actually plays out a lot like a strategic RPG more than anything though. When we first posted about this game, there wasn't a whole lot of details released about Firefly Online. We do have a few more details today but it isn't a huge leap over what we know. In fact the news today is more related to the cast of the TV show, which this game is based off of.

According to the developers, the actual TV cast will be showing up in-game, taking their place in the roles they played in the actual TV show. The other piece of information released today is the ability to register for the game now ahead of release over on the official game's website, or the Cortex as they are calling it.

Firefly Online is still slated for release onto Android, iOS, PC via Steam and Mac (complete with cross-platform, cross-device support) this Summer, there just isn't an actual release date for it just yet. That is as long as it is still on time for that release time frame. Warning: The preview trailer is pretty cheesy.

Website Referenced: TheVerge

July 28, 2014 11:04 PM

Exclusive Q&A with VooFoo Studios: A new environment available for Pure Chess to coincide with launch of the new Nvidia Shield Tablet

The team at VooFoo Studios with the help of Ripstone Games their publisher were kind enough to give Droid Gamers an exclusive interview. They are releasing a new environment for their game Pure Chess that will coincide with the availability of the new Nvidia Shield Tablet tomorrow.

VooFoo Studios base of operations is in the UK in Birmingham. They are located at Faraday Wharf which is a current hotspot for innovative companies and entrepreneurs. They have been making games for consoles since 2007 and have expanded that to handheld devices, iOS and Android. Their games include Big Sky Infinity, Hustle Kings, Backgammon, Pure Chess and Pure Pool, which is releasing this week for PS4, PC and on Steam. We were given the opportunity to ask them a few questions about the new chess environment, their design process and what it was like working with the new Nvidia Tegra K1.

DroidGamers:  When will the new chess set(s) be available this week? Will they be released Thursday? That is when a lot of apps hit the Play Store.

VooFoo Studios:  The Sci-Fi Game Pack is due to release on Tuesday (29th July) which ties in with the US launch of the Nvidia SHIELD K1 tablet which this is exclusive to (initially). The tablet will be launching in Europe on the 14th of August, and will be available instantly. The game pack includes its own bespoke environment, as well as the chess set.

DG:  Will they be free to download as an exclusive to Tegra K1 processors or will they be at a premium price point?

VooFoo Studios:  It will be premium, priced in-line with the other Game Packs (Forest; Roman; Park).


(Left) Normal Pure Chess & Pure Chess on Tegra K1 (Right)

DG:  Pure Chess is available on iOS also. Will these sets be exclusive to Android owners or will they become available later for iOS? Our readers like to know when Android users get a jump on an app/game before iOS because this happens so rarely.

VooFoo Studios: It will be exclusive to K1 initially but we do plan to release it on all other platforms in the future including non-K1 Android devices, and iOS, as well as the console versions.

DG:  Now that you have had an opportunity to enhance your product using the Tegra K1 processor, what benefits did you find in using the additional processing horsepower? Maybe another way to ask the question is what can the Tegra K1 do that current generation processors could not when you were creating the new environment for Pure Chess?

VooFoo Studios: The Tegra K1 chipset is a pretty awesome piece of kit, and we were really surprised with what we can now do with tablet devices powered by Tegra. We’ve basically got a desktop standard GPU in there, which can do everything that a desktop PC or even a next gen games console can do. So we’re able to do proper full HDR lighting with a fully linear, gamma correct, rendering pipeline. We’re able to ramp up the detail quality on the meshes, the resolution of the textures, and turn on all of the shader effects that were previously reserved for consoles. We can also now use our full post-processing pipeline, which means we get proper tone mapping, colour correction, bloom and depth of field, making the chess sets and environments look even more stunning than ever before.

DG: Some studios complain about developing games on the Android platform because there are a multitude of different devices out there. Have you found it challenging to create games for Android? Did using the Tegra K1 processor make it easier?

VooFoo Studios:  That has been very true for us too, especially since we are really pushing the graphics abilities of these Android devices with Pure Chess. There are still many devices that we’ve not yet been able to support, and the sheer number of different architectures does pose quite a challenge. With Tegra K1 however, we have a single unified chipset. Any device utilising the Tegra K1 chipset will run just as well as any other device, regardless of the rest of the specs.


(Left) Normal Pure Chess & Pure Chess on Tegra K1 (Right)

DG:  How long did it take you to create this chess set? How many man hours were involved? How many team members worked on this project?

VooFoo Studios: We had two very talented artists working on the chess set and the space ship environment for a couple of months. The amount of detail they put in there is incredible – we’re talking around 20 million polygons in the background – every minute detail is carefully modelled by hand.

DG: During the design process what software did you use?

VooFoo Studios: We simply used 3D Studio Max.

DG: Did Nvidia provide any additional help if you ran into roadblocks?

VooFoo Studios: Nvidia were incredibly helpful – with Tegra K1 being a new architecture, we did have a bit to learn about it, but we were in direct contact with the engineers at Nvidia who were able to help us out and provide us with a great set of debugging tools. Because of the mature toolset they now have, Tegra has become a real joy to work with.

DG:  What makes VooFoo Studios VooFoo Studios? What is the environment like?

VooFoo Studios: VooFoo Studios is full of people who are passionate about the games they make. We're all very creative people who take pride in our work, yet at the same time we have a chilled atmosphere going on in the studios. We also know how to have fun – there's a pub across the road that we're no strangers to!

DG: If you wanted the Android Community to know anything about VooFoo Studios, what would it be?

VooFoo Studios: VooFoo are committed to the community to continue to bring you all beautiful, quality games we've crafted with love. We really value all the great feedback and support we've had, so we hope you enjoy the new game pack!

We thank VooFoo Studios for giving us a glimpse into their inner workings. Pure Chess is available to download now for free for Android devices, including those with the new Nvidia Tegra K1 chip set. The exclusive Sci-Fi Game Pack will be available tomorrow to download in the Play Store. It will be a paid download. As VooFoo Studios mentioned in the interview, the price will be along the lines of game packs Roman, Forest and Park which are currently listed at $1.40. Look at the side by side image comparisons of current gen versus the Tegra K1. Are you picking up the new Nvidia Shield Tablet?

July 28, 2014 08:44 PM

Port Sony Xperia Themes to CyanogenMod 11 with Ease

cyanogenmod xperia theme

In addition the obvious proficiency with graphics, creating a good Android theme requires certain knowledge about exactly one must do. Even the default theme engine used many ROMs requires theme files to have a compatible structure, otherwise your newly created themes will not work or will be incomplete.

Sony devices have a quite unique UI, which many people fancy. Unfortunately, like most of stock ROMs, it’s bloated and full of commercial content. Because of this, quite a few XDA folks decide to venture over to AOSP-derived ROMs in their many flavors. If you ever wondered how to make an AOSP ROM to look like an Xperia device, XDA Senior Member gamzekal has the answer to this question. Gamzekal wrote a guide about porting Xperia Themes to CyanogenMod 11. The whole trick is to use Ambor Theme Engine by XDA Senior Member Ambor and change a few files. The guide explains which files should be changed and what code should be replaced in order to get a theme working on CM.

You’ll need a few minutes of free time and the themer’s best friend, APKTool. To learn how to theme your CM ROM to look like an Xperia ROM, visit the Xperia to CM Theme guide thread to get started.

The post Port Sony Xperia Themes to CyanogenMod 11 with Ease appeared first on xda-developers.

by Tomek Kondrat at July 28, 2014 07:30 PM

Cell Phone SIM Unlock Bill Just Steps Away from President’s Desk

keep-calm-and-victory-is-our-s

For all those who believe that Cinderella stories don’t actually exist, I guess I can safely say that you are dead wrong. For the past year and a half (give or take a few months), there has been a push by the people of the United States to try and fix one of the many things that are wrong with the country. I’m not talking about Healthcare or firearms regulations, but one issue that is far closer to home and affects us and what we do here on XDA directly. In case you are not familiar with what went on over the last year and a half, let me brief you in a bit. XDA-Developers has been an avid supporter of certain groups, including the FSF and EFF in particular, during the fight against the specific sections in the DMCA that deal with cell phone SIM unlocking. Back in October of 2012, the Library of Congress (with the push of a lobbyist group known as CTIA) essentially made a monumental mistake by removing an exemption from the bill that allowed people to legally SIM unlock their devices. This consequently pretty much went against what every other country in the world does in this regard.  A petition made it to the White House, which gathered well over 110,000 signatures. At that point in time, there was no clear cut answer from the government regarding what, if anything, they intended to do.

Fast forward to March of the following year (2013), when SIM unlock regulations were already under way. It was officially illegal to unlock a device–at least, it was no longer a protected practice under DMCA. However, not all hope was lost, as it seemed that some people in Washington DC did take the petition seriously and decided to do something regarding what is otherwise the denial of full ownership of personal property. But the issue is that, again, certain groups tend to have a bit more weight than others on Capitol Hill. Because of this, what congressmen considered to be a full effort on their part to make things right with the general public not only fell short from its intended target, but in fact it gave even more power to the likes of the carriers and manufacturers over the products that we purchase. From that point on, it has been a constant battle between members of Congress to try and come up with a feasible enough solution that would make everyone happy. This is not exactly an easy task, mind you. A lot more effort went into the bill. And by providence of Chairmen Leahy and Goodlatte, the bill transformed, over the following year, into something far more tangible that actually had us, the people, in mind.

This past Friday shows and marks the result of a long year of hard labor, in which a new bill named Unlocking Consumer Choice and Wireless Competition Act was unanimously passed by Congress. This bill is now on its way to the President’s desk to become law. President Obama has already weighed in on the new bill, commending all those involved in the crafting, pushing, and supporting of this new bill that will essentially make technology ours once again. You finally have the right (once again) to SIM unlock your device to your heart’s content, so don’t let anyone tell you otherwise. To quote President Obama:

I applaud Members of Congress for passing the Unlocking Consumer Choice and Wireless Competition Act. Last year, in response to a “We the People” petition from consumers across our country, my Administration called for allowing Americans to use their phones or mobile devices on any network they choose. We laid out steps the FCC, industry, and Congress should take to ensure copyright law does not undermine wireless competition, and worked with wireless carriers to reach a voluntary agreement that helps restore this basic consumer freedom. The bill Congress passed today is another step toward giving ordinary Americans more flexibility and choice, so that they can find a cell phone carrier that meets their needs and their budget. I commend Chairmen Leahy and Goodlatte, and Ranking Members Grassley and Conyers for their leadership on this important consumer issue and look forward to signing this bill into law.

This is a huge win–and again, something that skeptics in the audience can attribute to justice being served. Despite this not being a perfect world or a fairy tale, we live in a society where there is still some semblance of justice and common sense left in the right people. So, get out there and SIM unlock your previously locked device for once and for all. Do you hear that? It is freedom calling.

[A special thanks go to Sina Khanifar and Derek Khanna for fighting the good fight! Way to go guys, it would have not been possible without you!]

The post Cell Phone SIM Unlock Bill Just Steps Away from President’s Desk appeared first on xda-developers.

by egzthunder1 at July 28, 2014 04:00 PM

LG G3 Review

LG G3 Review

Introduction

The LG G3 is LG’s latest flagship device and a direct follow on from 2013′s LG G2, it was unveiled on 27 May 2014 and was released in South Korea the following day. The UK saw the phone released on the 26 June (after release was brought forward at short notice) with the rest of Europe seeing it on the 27 June, a month after the initial unveiling.  The US saw the release around the 18th July depending on which carrier you look at.

The G3 builds on the success of 2013′s LG G2, but turns it into quite the competitive flagship device in the same league (perhaps for the first time) as the devices from rival manufacturers. The specifications are largely on par with the HTC One M8, the Sony Xperia Z2, and the Samsung Galaxy S5 – which you would expect if a phone was going to compete in the big leagues.

LG has taken a bold step to give the G3 some unique features and differentiate it from the competition, it has rear mounted buttons (as did the G2), a very thin bezel around the Quad HD 5.5” screen (seriously the bezel is pretty awesome) and a laser guided camera (yes an actual laser!).

The LG G3, like you would also expect from a Samsung device, is made of plastic, however, it has a brushed metal finish which at least makes it look that bit nicer than most of the other plastic devices on the market.

This review will focus on the 16GB International (EU) model of the device which carries the D855 model number, this has 2GB Ram – this is because this is the only device that has been, and will be, released in the UK – LG have no plans to release its 32GB/3GB brother in the UK.

Build & Aesthetics

My Android phone history is extensive, I have owned phones made of plastic, glass and metal and loved them all, however most recently I have been using HTC devices and Nexus devices, which whilst the nexus devices are plastic, they are not “plastic” in the same sense as say a Samsung device is, and of course we all know HTC love their metal devices, and so do I.

To put it bluntly, the LG G3 has a plastic back.  LG have given it a “brushed metal” appearance so from a distance it might look metal, but when you hold it you soon realise it is plastic.  I have only had hands on time with the Black LG G3 but I have been informed by owners of the other colours that the “brushed metal” look doesn’t work so well on them,especially the gold. leaving it looking and feeling like plastic.

But is plastic a bad thing?  Not necessarily.  The G3 feels very solid, it doesn’t creak or bend during use (something which does occur on a lot of Samsung devices, for an example).

The front of the device is all glass.  The bezel is tiny which means the vast majority of the front of the device is actually screen real estate.  There is an area at the bottom of the front which is silver in colour (black model) and houses the LG logo, this area does nothing for the device, but as far as “logo areas” go, it doesn’t look too bad or out of place.

The LG G3 has a button-less front, utilising Android’s on-screen softkey buttons (which can be adjusted to your liking, see further below).  The device also has button-less sides and top – like the LG G2 all the buttons are on the rear.  Now this might sound rather odd to someone who has not held the phone, but believe me it works really well in practice!  The buttons are placed in a line under the camera, volume up, power and volume down.  They are perfectly placed to be comfortable to use when holding the device, and if you do not want to use them (well the power button anyway) you can use LG’s “knock on” to turn the device on from the screen itself (again this will be covered further, below).

LG G3 Box LG G3 Device in Box LG G3 (from LG.com) LG G3 Colour Options (from LG.com)

I have quite large hands (well, very long fingers), but my main device for the last 6 months has been the Nexus 5, before that was the HTC One M7 – compared to these two devices this is a large phone, however, LG’s clever design giving the phone a slight curved shape makes it surprisingly easy to hold.  Don’t get me wrong, this is still a large device and will simply be too big for some of you, but do not write it off just because of its screen size, actually hold one before you make up your mind, you might find that it is not as big as it sounds.

The phone does not offer water/dust protection like the Samsung S5 or Sony Z2 offer, but in my usage so far I cannot see that dust will be an issue, but you certainly don’t want to be taking this device with you on a swim.

Removing the battery door is rather like a Samsung device, it feels like the plastic is going to break, but in practice I have never heard of a case of someone breaking it yet, the plastic is very durable.

The inside back of the G3 is quite neat, with the main focus being the battery housing.  To the top right of the battery there is the slot for the Micro Sim Card and on top (yes on top of the sim!) you can put in a micro-sd card to increase the storage capacity of the device.

Display

The screen on the LG G3 is likely to be an area of controversy.  LG have decided to include a 5.5″ QHD screen with the resolution of 2,560 x 1,440 (534 ppi).  The screen technology in itself isn’t causing many issues but the resolution certainly is, with many people of the opinion that a standard resolution size would have offered significant improvements in battery life (as well as remove the issue of some apps currently being incompatible).

The screen, on paper, should be very impressive – the display offers pixels to the limit of what the human eye can see (or close enough).  However the device appears to have an over-sharpening issue, at least I have been told – my device is showing no signs of any issues relating to the sharpening of the display including “ghosting” behind text.  I do not know if this is due to differing software, or if some LCD panels are better than others, either way I am incredibly happy with the display.

Whilst you’re only likely to see the true capabilities of the screen on certain images and in HD videos the screen still looks very good for all usage, although the colour tones may take some getting used to, the colours feel a lot richer and ‘warmer’ to me than both my HTC One M7 and Nexus 5 have done in the last year, but this is not a bad thing, however, LG do give us the ability to adjust the hue and contrast.

Brightness might be an issue for some on this device.  Again my experience might differ from others, personally I have not had an issue with the brightness levels on this device, its been fine in daylight (outdoors, bright light), indoors, in the dark etc, but there are lots of reports from other reviewers that the display is far too dim in bright light – maybe its because I use LUX to control my auto brightness which is far superior to any stock autobrightnes, but either way I am happy with it.

There is a second concern with the brightness on this device (which again LUX seems to cure) in that there is a thermal throttle, when the phone reaches a certain temperature the backlight is automatically dimmed – I believe this is probably what is causing most daylight issues for people, my suggestion will be just use LUX (or similar) to control brightness.

Camera

Cameras appear to be where phone manufacturers are attempting to gain a unique selling point these days, the HTC One M8 for example has the quirky dual camera.  LG have played up to all geeks with the G3 whilst still actually offering something with a genuine and useful purpose, a laser!

Now this is not the type of laser you would see in a James Bond movie, or even a visible laser like a laser pointer, think more along the lines of infra-red.  Basically this is the biggest selling point about the camera on the G3.  Don’t get me wrong, the camera is very good without relying on the fact it has a laser, but the laser certainly adds to the experience.

Before I talk about the laser lets get to the basics.  The G3 has a 13 mega pixel rear camera with the magic laser (see below), dual LED Flash and OIS.  The G3 also has a 2.1 mega pixel front camera dubbed the “selfie camera”.

The Rear Camera

The purpose of the laser is to provide highly accurate and very quick auto-focus and boy does it work!

The camera is quick, quiet (in a mechanical sense) and fast to take pictures (and to focus, thanks to that laser).  In my limited testing (I am no camera expert, but I try) it takes pictures well in all environments, including night time.  I don’t have the other flagship devices at the moment to do a side by side comparison, but I would be surprised if any of them provide a camera that is a good all-rounder like this one (the other flagship devices might specialise in a particular camera function e.g. the Ultrapixel of the HTC One excels in the dark).

Below are some test pictures in different situations, these are all taken using Auto mode, so that includes auto-HDR and auto-flash.

20140701_133436 20140701_132922 20140701_133145 Example of Auto HDR

The Front Camera

The front camera does what it is designed to do and does it well – it can take an awesome selfie (and provide a good enough video quality for video calling), but aside from this it doesn’t hold much other purpose – its not a fault of LG its a limitation of a front camera on any device.

LG have done well to assist the perfect selfie, they have provided a gesture to take the image so you don’t have the fiddle with buttons trying to take the image, you simply hold up your hand, it detects it, close your fist and a 3 second countdown starts (you can then put your arm back down, or wave at the camera…whatever you feel like), alternatively you can turn on voice controls (explained further, below)

20140721_102036

The Camera Software

As seems to be the theme with this device LG have gone for a very minmal UI on the Camera Software, which may upset some people, but is perfectly suited for the vast majority of smart phone camera users (who really are after a point and shoot rather than a “mini DSLR” type camera with all the bells and whistles.

LG have still included many features, but is lacking on the technical side (e.g. white balance adjustment etc).  The camera can take video (4K quality!) and photos (it can even take a photo while recording video).  The video can be recorded at several differing qualities including slow motion.

The camera has 4 modes – “Auto”, “Magic Focus” “Panorama” and “Dual” (Picture in Picture) – these are what you would expect to find on most competitive phones.  The camera also includes a grid (for those of you who like to follow the rule of the thirds) a timer, voice activated capturing, photo quality and HDR Mode which also features a nifty “auto HDR” mode.  You can also choose to save your photos to the SD card.

Lets not forget the camera also has a burst mode, simply hold down the shoot button (have to show menu first) and it will keep taking shots until you let go.

When you have the menu hidden you can take a photograph simply by touching the screen in the area you want to focus on, the laser does the rest of the work for you, quickly adjusting the focus to exactly where you click and then snaps the picture, you can click the lower right hand corner to quickly go to Gallery to see and/or edit your photo.

And that’s it – there really is not much to it, and that in my opinion is a great thing, you can’t go far wrong with simply clicking and shooting and having it do so at super speed!.

G3 Camera tap to shoot (aka menu hidden) G3 Camera Menu

Software

The G3 is currently running on Android 4.4.2, KitKat, which utilises LG’s new flat UI running on top. Along side of this, they have added in a fair few software features, as you’d have come to expect of most devices.

Starting with the home screen, if you swipe to the left (the G icon) you are greeted with a page that displays LG Tips and LG Health.  You can turn ‘tips’ off when you no longer need it, which makes this page become a full screen LG Health.

One thing that is likely going to be a necessity is changing the settings page back to list view. The grid layout, which a few OEM’s including Samsung are trying to use lately, to me, has made everything unclear and harder to use.  Maybe this is because I have become too used to the list view that Android has had since year dot, or maybe the grid view really is just overly complicated.  You can change it by going into the overflow menu at the top right of the settings screen.

LG Health

Health apps seem to be all the range these days and LG have decided to follow the trend and include their own.  The app can count steps as well as track other activities such as runs and cycling that you start.

It is not a terrible app, but I personally still prefer to use a standalone service (and device) such as Fitbit, but each to their own.

The app itself forms part of the home screen with a dedicated window on the left for health, if you disable this window then you can no longer access Health.  Health also has a QuickCircle app.

Quick Remote

IR Blasters are cool, right? right? right? Damn right they are!  You can sit in a pub and change the channel and everyone goes “OMG GHOSTS”.

In all seriousness, LG have done a good job with their app, it is well designed and really easy to set up and configure for multiple devices, mine works on my TV, Sky+HD and Xbox One, I don’t use it too often at home though as my Xbox One has me covered with voice commands (hands free is so much easier!) but it is great for those times you need a remote but too lazy to pick up the actual remote, we always have our phones in our hands.

QuickMemo+_2014-07-27-18-22-56

Quick Memo +

This is a handy feature for two reasons, firstly you can take notes which is always good, it can be launches quickly via the volume keys (when screen off), notifications drawer or ringpad (swipe up on the ‘home’ key) as well as via the app icon in the app launcher.  You can also access it quickly when you are in a call for those times you need to take a note and cannot find a pen.

Secondly this is a very simple way to take a screenshot with the choice of annotating them (or not), save, share etc – much easier than pressing buttons.

 

QuickMemo+_2014-07-27-18-23-12

 

Qslide

QSlide is quite a clever addition (but is not unique to the G3, other LG devices have it too), it combines app shortcuts in the notifications drawer and “pop out” or “floating” apps, these can be useful for multitasking – each pop out app can be made transparent so you can see what is going on behind them and then reinstated when you need them, being linked to the notifications drawer means  they are quick and easy to access when you need them.

Apps it works for as stock are: Video, Internet, Phone, Calendar, File Manager and Calculator.  There is an SDK availaible for others to make their apps qslide compatible though.

QuickCircle

This is covered in greater detail in my QuickCircle Case review, but this is where you can alter the settings/apps that work with the Quick Circle Case.  Again this feature has an SDK so you can build you own apps which some people have already started to do with the inclusion of a Torch and Media Controls (for all music players) and a calendar app – with more on its way!

The Stock apps include LG Health, Call Log, Messages (not Hangouts) and what is really good - Camera.

You can also customise the appearance of the clock.  You have a selection of 9 different clocks (some analogue designs) to choose from.

One Handed Options

Most large devices these days come with a One Handed mode or option and the G3 is no different here,  You will find “One Handed Operation” in the settings menu.  From there you can set the dialer, keyboard and lock screen to be adjusted for one handed use.

Personally I don’t feel the need for these options, but I have quite large hands.  I can appreciate why others might want to use them though.

QuickMemo+_2014-07-27-18-23-25

Dual-window

Just like the Samsung devices, the G3 has a Dual Window mode – This one is quite self explanatory and works in much the same way you would have seen in the past. You can have 2 windows open at once. This one was particularly useful when opening links from emails. Other than opening links from emails, you can use a number of LG apps, as well as a couple of others, in this mode. If you have root there is an app in the market that can enable any app to be used in this mode.

And some others…

There are a few other extra bits of bloat/software that could be worth having a play with:

Colour Adjustment – This is in accessibility and allows you to adjust the colour temperature and hue of the screen, I have made a very small adjustment to mine as I prefer the way it makes black and white look, this is a setting that can be fine tuned to anyone’s preference but might take a long time for you to find what you like (or just leave it as default) – it has a restore to default option, so don’t worry if you mess it up.

Smart-Cleaning – This does what it says on the tin, quickly scans the device for files that can be safely removed without breaking things, like cache files etc

Gestures – like other devices it comes with a range of gestures to assist your device usage such as flip over to mute ringtone, raise to ear to answer call etc.

QuickMemo+_2014-07-27-18-23-37

Smart Screen - this keeps the screen on when it detects your face looking at it.  This is something Samsung introduced with the Galaxy S III and I am so happy to have it on other devices these days too, it is very useful when reading long pages.

And as a final point worth noting, the G3 is officially supported by Chromecast’s new Screen Casting option.

Sound

The LG G3 has a 1 Watt, rear facing speaker – it is no HTC Boomsound, but is one of the best on the market at the moment.  Audio over AUX and Bluetooth is very crisp (the latter being what I use every day in my car)

It would not be just to compare this device to the HTC One for audio clarity from the speaker, Boomsound stands in a league of its own, however up against other similar devices I think you will find that LG’s speaker takes the edge, the speaker is loud and the quality is good.

For ringtones the sound clarity is as good as you would want/need or expect, volume is good, vibrate (although not strictly speaking a sound) is strong.

The ear piece speaker is nice and crisp, and with HD voice (on supported networks).  Noise cancellation is also an option (on supported networks), but appears to be an option to activate on a per-call basis rather than being always on which I have come to expect.

Development Options

You can be sure that there will be plenty of Development action on this device.  XDA is often the best place for this, and on the G3 it will be no different.  At the time of writing the development is a little slow, but the device has only been released in the EU for a month and it has only just been released in the USA.  You can however already root the device, and there are a few custom rom options if that is your thing.  We are still waiting for bootloader unlocking options, but I remain confident it will happen sometime soon (the t-mobile USA version seems to ship with an unlocked bootloader).

Going back to stock from a rooted device seems incredibly simple too (so long as you have a windows pc, yes sadly all LG’s tools seem to be Windows only), which is nice to see, often being unable to revert to a complete stock rom easily is what stops them wanting to modify the device.  Other options are to use the xda hacked “Flashtool 2014″ which is a modified LG software to make KDZ (LG’s ruu’s) easy to flash.

Performance

The LG G3 uses the Snapdragon 801 processor, which has surprised many who were expecting the 805 to be used, but even with the 801 you’d expect it to be one of the faster devices around, and whilst this is in no way a slow device, straight from the box the phone can on occasions feel a little laggy or slow – I have put this in part down to the transition animations used and in part due to the thermal throttling (slowing the cpu down to keep the device cool) after a little tinkering the device has been running relatively lag free for me, I am happy with it.

The phone has been released in two variants, a 32GB with 3GB ram and a 16GB with 2GB ram, the latter being the only model released in the UK and therefore the model I am focusing on in this review.  In my opinion 3GB ram would have been nice, but it is in no way necessary – the first few days I had the phone it was a bit aggressive in killing apps, but disabling a few LG apps that I will never use (e.g. Voice – as I use Google Now) has meant that the phone runs swimmingly with no redraws or persistent apps being killed unexpectedly.  For comparison, the HTC One M8 and S5 both also have 2GB ram, but the Sony Z2 has 3GB.

As hinted to above, there are times when you might get what can be described as “micro lag” but this is generally only when the phone starts to warm up, when you have had the screen on for an extended period of time, and I believe is party due to the animation LG use between transitions – the speed of which can be altered in the developer options menu.

Battery life is a contentious area these days, many people are now past the point of wanting a device that lasts them 24 hours (that was so 2013 apparently…) suddenly everyone is super greedy and want a device that can last them 48 hours and give at least 6 hours screen on time – which a few phones out there can do, but this is in no way a standard and should not be expected of any device!  The G3 comfortably gives me 24 hours use with 4 hours+ screen on time, in testing I was able to push it 32 hours with 5 hours screen on time, but due to a reboot I lost the stats before I could screenshot it.

The battery copes fine with the powerful screen, however you are going to get much better battery life if you use the screen little and often rather than in lengthy spells, keeping it on for too long warms the device up and then battery life drops a bit faster, but the bottom line is you should not have any issues getting a full days use from this device, even if you are the most heaviest of users without having to worry about being able to charge the device like many other devices currently on the market.

Also, lets not forget the battery is removable, so you can always carry a spare, effectively doubling your battery life!

If you are the sort of person who loves a benchmark, I will not be posting screenshots of results here, but I will say that it doesn’t quite meet the standard of the other 2014 Flagships but this is largely due to the large screen and high resolution.  On Antutu X 2014 it scored around 32,000 (on ART which tends to be 5K lower than Dalvik as tests not optimised for ART yet) which is better than the 2013 flagships but not quite as good as the other 2014 – but benchmarks are not worth too much in terms of “real world” use so don’t read too much into them.  But as the case with benchmarks, results can vary, some people are getting very high scores as stock others getting low, mine vary depending on battery level, and phone temperature.

Conclusion of LG G3 Review

The LG G3 is not a perfect device, but it is not far from one.  There are a few niggles which could well be related to the ambitious step to include a 2K screen, maybe the world was not yet ready for such a screen on a mobile device.  In the whole though, I am confident that 99% of the issues can be addressed in firmware updates and do not alter significantly from niggles that other devices, such as the Samsung Galaxy S5 suffered until its first couple of OTA updates.

Battery life may not be as impressive as other devices, but it will still see you through a 24 hour period quite comfortably, even with heavy use.  The screen is pretty amazing, but aggressive thermal throttling may mean your brightness and CPU clock speed are lowered when the phone gets too hot.

The design and build of this device are perfect in the hand and it will take a lot to beat, something I don’t expect the other companies to be doing any time soon.  It may be plastic, but I will not hold that against it.

Land of Droid -

by Glenn Blair at July 28, 2014 01:27 PM

LG QuickCircle Snap On Case for the LG G3

LG QuickCircle Snap On Case for the LG G3

The G3 is the brand new flagship phone from LG, released on the 26th June in the UK and 27th June in the EU (Rest of the world has varied release dates, Korea had the phone in May).  It includes a 5.5 inch screen with what can only be described as the thinnest bezel on any android phone to date, which can make it quite vulnerable if dropped.

There are plenty of cases already available for the G3, but the one I was most excited about using was the LG QuickCircle case.  This is a flip-case that comes in two forms either as a replacement back (like Samsung flip cases) or as a snap-on case, which adds a bit of bulk, but can be easily removed when required.  This review is for the latter, the snap-on case.

Before I delve into the specifics, the LG QuickCircle is a case that offers more than just protection for your device, it adds a software element too in the “QuickCircle” mode on the LG G3 (which has its own SDK for people to build apps).  Basically this is a circle window on the case that enables you to quickly access the clock and other specially designed apps without opening the case or using the full screen.

Aesthetics

The case adds little weight or bulk to the G3, which is nice as the design is part of what makes the G3 such a nice device.  It is easy for cases to add too much bulk to offer greater protection, but here this case is a happy middle ground.

Materials

The case is made of high quality synthetic materials which is effectively an extension to the design of the LG G3.  Consistency is very good when it comes to official cases and LG have done well with this one.

The material feels very grippy especially on the back, which means you won’t feel like it could slip out of your hand at any time.

There is branding on the front and rear, but this looks neatly done saying “LG G3″  on the front with the LG logo on the rear.

Build Quality

The case feels very solid and well made, the materials do not feel like they will damage easily, which is a problem I have had with other flip cases in the past (Samsung in particular) where the material used on the front cover part gets damaged very easily.  Early signs suggest that the LG will not suffer from that problem, although you cannot expect the case to stay perfect forever, but maybe for the reasonable life of a smartphone these days.

Port Accessibility

One of my main gripes with flip cases is it covers up some vital parts of the device however I am pleased to say that “LG” have thought of everything.

The case doesn’t completely cover the bottom edge of the phone so charging port, headphone jack and mic are all uncovered and fully accessible.  The position is the same at the top for the IR sensor and second mic.

The sides of the G3 are button-less so there are no issues there.

The rear has everything cut perfectly for camera including flash and laser, and a hole for the speaker grill.

The front, has the window for the QuickCircle mode, speaker and what I am really pleased with is the LED so you can still see when your phone has a notification.

Fitting and Removing

The case snaps-on quite easily, removing is a little tricky but is just a case of snapping off – it doesn’t feel like it is going to break doing so and I would have no issues regularly fitting and removing this on my device, if I felt the need to do so.

Protection

The case offers significant protection to the rear left and right and sides of the device it offers a fair amount of protection to the top and bottom of the device too.

It offers limited protection to the front of the G3, although this will not offer much protection if the damage is to the QuickCircle window or if you drop the device as the cover will likely flap open.

Software

The QuickCircle mode is activated by the magnet hidden in the front “flip” part of the LG QuickCircle case, it can be activated by double tapping the circle window (knock-on) which gives a really cool light ring animation (which can be seen in the YouTube video above) before displaying the time.  There is quite a wide choice of analogue and digital clock faces to choose from.

A swipe will give you the app launcher where you can have 6 apps selected at one time (5 plus the settings app).

LG provide a few apps including phone log, LG Health. LG Music (for the LG Music app) and very usefully a camera and have opened an SDK to allow other developers to make apps which they have started to do.

Some third party apps for LG QuickCircle currently in the play store include calendar, torch, notifications viewer, music player (for all music apps) and plenty more are planned for the future.

LG have also released a game for QuickCircle called Puppy Pop.

Finally, you can also react to events on your phone from the window e.g. answering or rejecting a call, turning off your morning alarm etc.

LG-Quick-Circle-banner

Land of Droid -

by Glenn Blair at July 28, 2014 11:15 AM

Download TWRP Recovery for the Galaxy Tab S

The post Download TWRP Recovery for the Galaxy Tab S appeared first on galaxytabreview.

TWRP is a recovery that can be used to flash firmwares on to the Samsung Galaxy Tab S. It can also be used for rooting the Tab S.

Here are the steps on how to download and install it on your tablet.

Play Store Link
1) Install TWRP Manager from the Play Store
2) Open TWRP Manager and provide root permissions
3) Hit Advanced->Install Recovery
4) Verify the correct device name on your screen then press Install Recovery if the correct device is showing

If you are not comfortable with the play store method, you can do a manual installation by using ODIN application. For that download the required TAR file from here.

Download TWRP Recovery galaxy tab s

Then in ODIN select the file by clicking on PDA button and flash it. Make sure you have your Tab S in recovery mode before pressing the START button. For getting your Tab into recovery, press volume up and power button down together as soon as the screen blinks blank so that it goes into recovery.

by Galaxy Tab Review at July 28, 2014 08:01 AM

July 27, 2014

The Role of Services

“Only have a service running when it is actively delivering value to the user”.

I use the above expression a lot, as it is the shortest way I have found to express when using a service is appropriate. However, as with all short explanations, it is not necessarily intuitively obvious what I mean.

Primarily, a service exists as a flag to the operating system, indicating that you are actively delivering value to the user, and therefore Android should aim to terminate other processes — not yours — when it gets low on system RAM. Secondarily, a service provides a couple of APIs for IPC: the “command” pattern (Intent and startService()) and the “binding” pattern (bindService()).

While we also use those two communication patterns for in-process use, that is mostly in support of the role of flagging our work’s existence to the OS. We organize our code around those communication patterns so that the service is responsible for the “actively delivering value” task, and so when the service is no longer doing that, we can stop the service.

When we have a service running, therefore, we are indicating to Android that we think that the user thinks that our process is more important to the user than are other competing processes, and so the user would prefer that Android terminate those competing processes rather than ours. This affects multitasking, as the more service-laden processes are around, the more quickly that ordinary processes the user might have used recently will be terminated just to free up RAM. This becomes particularly obvious to the user when the user tries switching back to the app and something is lost due to the process termination (e.g., because the app is not handling onSaveInstanceState() well).

The catch is that too many developers don’t think in terms of the user. They think in terms of themselves, believing that what is important to the developer must be important to the user. Sometimes, what is important to the developer works at cross-purposes to what is important to the user. For example, the developer wants to go home rather than clean up some sloppy service code, while the user wants multitasking to work well. What the developer wants (less work in cleaning up the service usage) and what the user wants (fewer processes with running services) are at odds.

Hence: only have a service running when it is actively delivering value to the user.

Here, “value”, like beauty, lies in the eyes of the beholder. And the user thinks the user is the beholder, and so the user is the one defining what is, and is not, “value”. The user must feel that what your service is doing for them is worth the worse multitasking, where they have to start up “Angry Birds: The Battle of the Five Flocks” again from the beginning, rather than return to their in-progress game, because Android terminated the birds’ process when the user took a phone call, rather than terminate your service’s process.

“Actively delivering” means that the service is delivering value right now. Not “maybe in a few minutes”. Not “well, sometime, but we don’t know when”. Right now. And the recipient of that “value” must be the user — you, the developer, are not more important than the user.

So, let’s work through some scenarios:

  • Having a service around for playing back the media for your music player app is actively delivering value to the user. The user will notice if the music were to all of a sudden stop due to your process being terminated, and so indicating to the OS that you are delivering value to the user is reasonable. In fact, this is one of a handful of scenarios where using startForeground() is relevant.

  • Having a service around to try to keep your process around rather than have to reload data is not actively delivering value to the user. Your process will not live forever anyway, and so you should be fixing the data-load speed issue to handle those process startups. That, in turn, will alleviate your need to try to artificially keep the process around to avoid the data-load work. The value to the user is having the data be loaded, but the long-running service should not be required to deliver that value.

  • Having a service around to download a large file is actively delivering value to the user, assuming that they value the file. This is an ideal use case for an IntentService, as you need a background thread anyway for the network and disk I/O, and the service can automatically shut itself down when the download is complete. That allows you to have the running service only while you are actively delivering value to the user, while having the service go away once the value goes away.

  • Having a service around all the time to do work periodically is not delivering value to the user, in most cases. While the periodic work is value, watching the clock tick in between pulses of work is not delivering value. Instead, use AlarmManager, or the new “L” JobScheduler.

  • Having a service around because you wanted to have a central point of control in your app is not delivering value to the user. Having a central point of control is reasonable, but you do not need it to be a service. For this role, an ordinary singleton is lighter weight, in that a service is a singleton that happens to have broader impacts with regards to your process lifetime.

  • Having a service around because… well, you thought that you needed a service, and so you put your code in one and started it, and then you couldn’t figure out when to stop the service, so you left it running… is NOT delivering value to the user. Do not create services because the mood strikes you. Create services because you are actively delivering value to the user when you are not in the foreground, not just “because”.

Usually, we have clear scenarios when we need to use the other three Android components:

  • Use an activity when you want to show something on the screen

  • Use a content provider when you want to share stuff with other apps that looks like a database or a stream

  • Use a broadcast receiver when you are looking to respond to a broadcast, usually issued by a third party

Services are a “Swiss army knife” that can be applied in lots of scenarios. As such, it is sometimes difficult to tell what is and is not a valid use of a service. If services did not have the “keep my process around” role, tossing services around willy-nilly would not be nearly as much of an issue. But services do impact the user and can reduce user satisfaction, and so it is important that developers think through why they are implementing a service, when that service should be running, and when that service should not be running.

And the simplest mantra that I have come up with to help developers work all that out is: “only have a service running when it is actively delivering value to the user”.

by Mark Murphy at July 27, 2014 12:52 PM

July 23, 2014

Run a Hackathon, not a Hack Job

Hackathons are as crucial to developer culture as Reddit and Red Bull. Software-focused companies often leverage these events to help employees blow off steam, socialize and generate ideas—both for fun and profit. However, hosting a hackathon without a gameplan can do more damage than Leeroy Jenkins.

Here at Mutual Mobile, we’ve planned hackathons on everything from wearable tech to Beacons, and we’ve learned a lot along the way. After taking all the successes and shortcomings into account, we’ve created the quintessential Cliff Notes on how to run a hackathon:

1. Respect everyone’s time

Employees give up their personal time to participate in hackathons. Respect that. You’re asking them to give up a Friday evening or sometimes even a weekend. This is a big commitment for working professionals, especially those in a field as stressful and demanding as emerging technology.

Make the time they are investing worthwhile, productive and enjoyable. Have team leads set structure and host kickoff events a week or so leading up to the hackathon to ensure participants their time will be used well. This also helps set expectations and can inspire folks to get brainstorming early.

Also, make it fun. At Mutual Mobile, we provide catering, kegs and a margarita machine. We also make it a family-friendly environment, so spouses, kids and even canines can stop by to cheer on their loved one.

2. Do your homework

Having strong inputs for a hackathon can drive better outputs. Consider hosting a preview event to brief your audience on the core focus of the hackathon, while allowing them to chat with other participants and get their concepts rolling early. Or, consider enlisting a user researcher or market researcher to better understand a particular audience segment you’d like to serve. Leverage the researcher’s data to brief all hackathon participants so they can create solutions for an actual target audience.

Intuit has a similar program they call Idea Jams. The process begins by having real customers come into the office for a day to discuss a problem they’re trying to solve. The company then breaks into 3-person teams (designer, developer, business/product person) that spend the day creating a storyboard on how to solve their client’s problem. When all is said and done, they pitch their concept to the client to solicit additional feedback. Iterations informed by client insights are sure ways to make what you build more meaningful.

3. Don’t make it too specific

You need to strike a balance between focus and a free-for-all. Making a hackathon too centered around a specific problem for a specific audience can suck the fun right out of your event and turn it into another work assignment. Hackathons are supposed to be fun, interesting, hard, and provide freedom for the team to insert themselves and THEIR ideas into the process. If you box in the exercise too much, your participants will be less likely to show up, physically or mentally.

4. Send invites to developers … AND BEYOND!

Innovation can come from all parts of the business. When selecting a hackathon topic, get stakeholders from multiple teams on the same page. Ask those team leads to appoint a lieutenant from each discipline to be your day-to-day contact and lead the details. Successful hackathons involve cross-disciplinary teams. Drive participation across development, design, content and marketing.

While developers may be responsible for a functioning prototype, designers are the ones who bring their idea to life. Add marketers to the mix, and your post-hackathon presentations will be as polished as a new business pitch. Involving marketing in hackathons also helps increase the likelihood that the concepts or prototypes created will see the light of day.

We let our hackathon teams know upfront that we will be filming, photographing, and leveraging prototypes for new business efforts. The fact that their creations could have real-world implications adds an extra element of excitement for our hackathon participants. But whatever you do, do NOT lie. If you make promises to your volunteers, you better be ready to keep them. Otherwise, you’ll only have yourself to blame when interest begins to wane.

5. Make it competitive

Bragging rights matter. Put some competitive spin on your hackathon with polls, winners and prizes. Have your contestants pitch their ideas to the rest of the company once the hackathon is complete. Then, have everyone in the company vote on their favorite execution. Reward the winner with a fun prize, like a job perk or a 3D-printed trophy.

6. Keep the excitement alive until the next event

Don’t let the buzz of a hackathon end once everyone leaves the office. Give the results a home to live on and evolve. Post-hackathon, we host a Demo Day, which gives teams that participated a chance to show-off internally and practice their presentation skills. It’s also a great way to build rapport internally as an “expert” in the eyes of other employees. In addition to Demo Day, we tape the events and presentations for those who missed out on the festivities—or for any participant who would like to relive the moment.

We then host the video on our internal G+ community, giving everyone a great opportunity to find, watch and comment on the video. Platforms like G+ are also a great way to make announcements about upcoming events and recruit participants. We’ve even seen some teams create subcommunities within our G+ Intranet, allowing them brainstorm and discuss how they plan on approaching the next hackathon assignment. With the number of attendees increasing each event, it became very clear that If you build a tribe of passionate folks centered around a particular topic, others will come.

7. Go for it!

You’ve studied the tech. You’ve purchased all the components. You’ve prepped the participants. You’ve ordered the snacks. You’ve alerted the marketers. And, your MakerBot is currently printing a sweet hackathon trophy. All that’s left is to put it in action and watch the innovation and employee satisfaction of your company hit an all time high.

The post Run a Hackathon, not a Hack Job appeared first on Mutual Mobile.

by Jen Quinlan at July 23, 2014 09:18 PM

July 21, 2014

Before You Prototype a Tech Product, Ask These 5 Questions

No one wants to be behind the curve, especially in regards to technology. All too often we see brands jump on a tech trend just to do it. We’ve seen it with augmented reality, mobile and now wearables.

In an effort to be first, brands dive right into building a product without taking the time to understand their audience or think through the important details that will make or break a product launch (and, maybe, a brand) for a consumer.

But you have to move fast, too, and there is a way to get a product to market quickly and correctly — it’s by understanding your user as deeply as you know your brand. When it comes to prototyping products, I’ve found there are five key questions brands should ask their audience. Once you have these answers, you should be better informed to build a great experience — one that is useful, usable and desired.

1. What are their pain points?

People look to products to address a specific need in their lives. Wearable technology products are no exception. The challenge? Ensure your perception of your audience’s needs align with their actual needs. Build in time to conduct user research, and involve your audience in vetting your prototypes. Skipping this step will result in launching a product with no customers to use it.

2. How have previous solutions fallen short?

The wearables market is in a fairly early stage, but analysis of products on the market today can yield insights for new product opportunities.

Fitbit Force was recalled due to allergic reactions to band materials. Fitbit Flex’s clasp doesn’t stay closed. Nike’s first iteration of the Fuelband didn’t include Bluetooth connectivity, and users hated the inconvenience of plugging the device in to upload data.

Use negative ratings and reviews of products on the market today to spark ideas for future products. Forget analyst reports — just comb through the ratings and reviews of wearables products on ecommerce sites to explore flaws in the product’s hardware and software.

3. What are customers’ technology patterns?

Once you’ve clarified the audience you’re targeting, don’t forget to take the time to understand their technology likes and dislikes. Does your audience have aversions to technology, or are they ravenous, early adopters? Does a wearable tech product conjure up feelings of “obtrusive big brother” or “useful quantified self”?

4. How will they leverage the product?

Knowing how an audience primarily intends to use the product will go a long way in helping to ensure that it’s properly built. Wearable fitness trackers such as the Jawbone Up and the Fitbit Flex are great examples of this — some people wear those devices simply to know their activity levels while others use them as a comprehensive fitness guide.

You need to know what your audience plans to do with your device. It doesn’t make sense to spend time adding all sorts of unnecessary features into a product if they’ll never be touched by the consumer.

5. What would keep them from buying?

While not as paramount to the prototyping process as some of the questions above, knowing what those unacceptable product features are can be incredibly useful information.

Does a reasonable price tag overpower aesthetic? Is a clunky or outdated design a definite deal-breaker? Does functionality trump all?

Understanding what your consumer sees as the most important piece, and building your device to address that, will save your team hassle and frustration down the line.

Remember, once you have answered these questions, you are still at the beginning of a process. You have to now learn from and digest your consumer feedback, turning it into a functional prototype. Then you have to put that prototype through the paces. And you have to give the prototype back to your audience for testing. A constant cycle of development and improvement that will quickly lead to a better, useful, needed solution.

Taking the time to start with your users’ needs will certainly take a bit longer than just pushing a product to market, but, in the end, it will ensure you’re meeting the needs of your audience, which will ultimately bring more success in the long run.

The post Before You Prototype a Tech Product, Ask These 5 Questions appeared first on Mutual Mobile.

by Mutual Mobile at July 21, 2014 06:27 PM

KNOX Contribution to Android: Accelerating Android in the Workplace

Srikanth Rajagopalan, PM Director and Workplace aficionado

Recently at Google I/O, we announced a comprehensive set of new features that will allow IT organizations to easily deploy and manage Android devices in enterprise environments. These features will be built into the upcoming Android L release.

Samsung, with its KNOX technology, has been a thought leader in the enterprise mobility space. In order to accelerate Android adoption in the enterprise, we have partnered with Samsung to bring key KNOX functionality into Android, for the benefit of the entire Android ecosystem. We thank Samsung for their contributions. These new capabilities will make it easy for IT organizations to allow employees to bring their own Android devices to work (BYOD) and use them on the corporate network or to simply issue new Android devices to their employees. IT administrators will be able to manage a wide range of Android devices from many manufacturers, using third-party Enterprise Mobility Management (EMM) solutions that are built on top of the new enterprise APIs launching with Android L release.

Google and Samsung together designed the new enterprise APIs around three major concepts:

  • Device and data security
  • Support for IT policies and restrictions
  • Mobile application management

Device and data security

At the core of the expanded enterprise capabilities being introduced in Android ‘L’ lies a set of technologies that are designed to keep personal and corporate data both separate and safe. We achieve the data separation by building on the existing multi-user support in Android: personal and corporate applications will run as two separate Android users. Data is kept safe by using block-level disk encryption as well as verified boot technology. For those of you familiar with KNOX, this is analogous to KNOX Workspace. EMMs will be able to take advantage of new Android SDK APIs to enable the creation of a managed profile, which is where all corporate applications and data will reside.

Support for IT restrictions and policies

EMMs can use new Android SDK APIs , which have evolved from KNOX APIs, to allow IT admins to enforce a wide set of policies, ranging from system settings and certificate provisioning to application-specific (e.g. Chrome) configurations and restrictions.

Mobile application management

EMMs will be able to use new backend APIs, adapted from KNOX APIs and built around strong security principles for on-device app deployment, to allow IT admins to curate the corporate application catalog and to remotely deploy applications to the managed profile on the employees’ devices.

We encourage developers interested in the new Enterprise APIs to download and test the Android L Developer Preview. For developers who have already built applications using Samsung KNOX APIs, Samsung will be providing a KNOX Compatibility Library that will let such applications run on all Android L devices.

You can read more about this collaboration on the Samsung KNOX blog. Stay tuned for additional details.

by Android Developers (noreply@blogger.com) at July 21, 2014 04:16 PM

Gradle for Android Online Course

Just a reminder: I am teaching a half-day online course on behalf of Gradleware, covering the basics of Gradle for Android:

  • How to get it set up
  • How to get your first Gradle build file working
  • How the new project structure works
  • How to take advantage of build types and product flavors
  • How to integrate other projects and third-party code as dependencies
  • How to use Gradle for Android to automate other aspects of your project builds

You can see a larger outline of the virtual course on the Gradleware Web site.

The course is Tuesday, August 19, 2014, from 8:30am to 12:30pm (Pacific Standard Time).

by Mark Murphy at July 21, 2014 11:14 AM

July 17, 2014

Porting Your Android Wear Developer Preview Code to the Latest Support Library

Today’s post on #AndroidWear is from +Wayne Piekarski.

Now that the full Android Wear SDK is available, it’s time to port your existing wearable-enabled notification code from the Developer Preview. In the process, you’ll switch to using the latest Android support library, and there are some small API changes that will require you to update your code. This article will show you how to update my previous code samples that were released earlier for stacks and pages, which you can use to guide the conversion of your own code as well.

To get started with an existing project in Android Studio, you should update to the 0.8 or later release. You also need to make sure you’ve downloaded the Google Support Library version 20 or later from the SDK Manager. Since this is only a notification-based example, there’s no need to download the full Android Wear SDK, which is only needed if you want to create an APK to run on the wearable device.

Unix diff output is used to show the necessary changes in an easy to understand way. Do not copy the + or - symbols at the start of each line, and ignore the lines starting with @@ which are used to indicate the line number that changed. For the curious, I used the following command to generate the diff output from the last commit in my GIT repository (the -U1 shows one line of context to keep the output simple):

git show HEAD -U1

Gradle changes

To add the new support-v4 library, you need to edit your build.gradle file like so:

@@ -24,2 +24,3 @@ dependencies {
     compile 'com.android.support:appcompat-v7:19.+'
+    compile 'com.android.support:support-v4:20.0+'
 }

Make sure you remove the wearable-preview-support.jar that was provided with the Developer Preview from your libs directory and build.gradle file, since these features are now in the standard support library.

Package imports

Since the APIs and package names have changed, the import statements at the top of MainActivity.java need to be adjusted like this:

@@ -7,3 +7,2 @@ import android.view.MenuItem;
-import android.support.v4.app.NotificationCompat;
 import android.app.Notification;
@@ -13,4 +12,9 @@ import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.preview.support.v4.app.NotificationManagerCompat;
-import android.preview.support.wearable.notifications.WearableNotifications;
+import android.support.v4.app.NotificationCompat;
+import android.support.v4.app.NotificationManagerCompat;
+
+// Extra dependencies needed for the pages example
+import java.util.ArrayList;
+import java.util.List;
+import android.support.v4.app.NotificationCompat.BigTextStyle;

Stacking notifications

Since the preview SDK, we have simplified how notifications are implemented. The existing NotificationCompat.Builder() was extended to support groups directly, instead of a separate WearableNotifications class. The steps are a lot simpler, as can be seen with the following changes to showStackNotifications():

@@ -63,3 +67,3 @@ public class MainActivity extends ActionBarActivity {
         // Group notification that will be visible on the phone
-    NotificationCompat.Builder builderG = new NotificationCompat.Builder(this)
+    Notification summaryNotification = new NotificationCompat.Builder(this)
             .setContentTitle("2 Pet Notifications")
@@ -67,5 +71,5 @@ public class MainActivity extends ActionBarActivity {
             .setSmallIcon(R.drawable.ic_launcher)
-                .setLargeIcon(bitmapMila);
-    Notification summaryNotification = new WearableNotifications.Builder(builderG)
-            .setGroup(GROUP_KEY_MESSAGES, WearableNotifications.GROUP_ORDER_SUMMARY)
+                .setLargeIcon(bitmapMila)
+            .setGroup(GROUP_KEY_MESSAGES)
+            .setGroupSummary(true)
             .build();
@@ -76,3 +80,3 @@ public class MainActivity extends ActionBarActivity {
             PendingIntent.getActivity(this, notificationId+1, viewIntent1, 0);
-    NotificationCompat.Builder builder1 = new NotificationCompat.Builder(this)
+    Notification notification1 = new NotificationCompat.Builder(this)
             .addAction(R.drawable.ic_action_done, "Treat Fed", viewPendingIntent1)
@@ -81,4 +85,3 @@ public class MainActivity extends ActionBarActivity {
                     + "Can we have steak?")
-                .setSmallIcon(R.drawable.ic_launcher);
-    Notification notification1 = new WearableNotifications.Builder(builder1)
+            .setSmallIcon(R.drawable.ic_launcher)
             .setGroup(GROUP_KEY_MESSAGES)
@@ -89,3 +92,3 @@ public class MainActivity extends ActionBarActivity {
             PendingIntent.getActivity(this, notificationId+2, viewIntent2, 0);
-    NotificationCompat.Builder builder2 = new NotificationCompat.Builder(this)
+    Notification notification2 = new NotificationCompat.Builder(this)
             .addAction(R.drawable.ic_action_done, "Water Filled", viewPendingIntent2)
@@ -93,4 +96,3 @@ public class MainActivity extends ActionBarActivity {
             .setContentText("Can you refill our water bowl?")
-            .setSmallIcon(R.drawable.ic_launcher);
-        Notification notification2 = new WearableNotifications.Builder(builder2)
+            .setSmallIcon(R.drawable.ic_launcher)
             .setGroup(GROUP_KEY_MESSAGES)

Page notifications

Page notifications have also changed to use a WearableExtender() class instead of the WearableNotifications class, as can be seen here in showPageNotifications():

@@ -151,3 +153,3 @@ public class MainActivity extends ActionBarActivity {
             PendingIntent.getActivity(this, notificationId+1, viewIntent1, 0);
-    NotificationCompat.Builder builder1 = new NotificationCompat.Builder(this)
+    Notification notification1 = new NotificationCompat.Builder(this)
             .addAction(R.drawable.ic_action_done, "Returned", viewPendingIntent1)
@@ -155,5 +157,4 @@ public class MainActivity extends ActionBarActivity {
             .setContentText("You have " + numOverdue + " books due at the library")
-            .setSmallIcon(R.drawable.ic_launcher);
-    Notification notification1 = new WearableNotifications.Builder(builder1)
-            .addPages(extras)
+                .setSmallIcon(R.drawable.ic_launcher)
+            .extend(new NotificationCompat.WearableExtender().addPages(extras))
             .build();

Conclusion

If you want to download the final source code of showStackNotifications() and showPageNotifications(), you can download the MainActivity.java file. You can build this file easily by creating a new project in Android Studio, adding the support library, and then copying in this MainActivity.java.

As you can see, porting this previous code over to the latest Android Wear SDK is really easy! It should take you hardly any time at all to get your experimental applications ported over and ready for publishing on the Google Play!

by Android Developers (noreply@blogger.com) at July 17, 2014 11:08 PM

Freesat Android app launched

Freesat, the vague organisation behind those TV tuners that let you get satellite TV without paying Sky any money, now has an official Android app. On a basic level it’s an EPG to tell you what’s on over the next seven days, although viewers with one of the more recent Freetime set-top boxes can pair it with their tuners and use their phones and tablets as remote controls — also triggering recordings from afar.

freesat-android-app-1

freesat-android-app-2

It is therefore quite useful if you can get it to sync and work. Check out the Freesat app here.

by Gary_C at July 17, 2014 10:41 AM

July 07, 2014

Things you should know about the Galaxy Tab S

The post Things you should know about the Galaxy Tab S appeared first on galaxytabreview.

The latest tablet from Samsung is here and it is being touted as the best Android tablet out tehre. It gives you access to loads of applications and optional 4G connectivity.

So what should you know about the Samsung Galaxy Tab S.

1. One of the best tablet screens

There is no point in getting a tablet if it does not have a crisp display. Samsung is calling it the "the industry’s best display" thanks to amazing combination of super high resolution and advanced color reproduction. It can automatically adjusts the screen mode based on whether you’re watching a film, flicking through photos or just browsing the web.

2. Thinnest and Lightest Sammy’s tablet

The Tab S comes in two sizes – 8.4 inches and 10.5 inches and both tablets are very light. The 10.5 inch tablet weighs just 465 grams. This makes it lighter than all the Android tablets out there. Also it is just 6.6mm thin and thus you will barely notice it in your bag.

3. Fingerprint reader

The Tab S comes with a fingerprint scanner built into the screen and not only does it feel cool to unlock your tablet, it also means that your private data will beas you safe and sound even if the tablet ever falls into the wrong hands.

4. Split screen multitasking

If you love split screen multitasking you will adore the Galaxy Tab S. This will allow you to be more productive as you will able to work on two windows at a time.

Things you should know about the Galaxy Tab S

5. Productivity booster

You can easily and wirelessly transfer files and information between the Tab S and a Galaxy smartphone thanks to SideSync 3.0.

6. Freebies

With the Tab S you get three months of Sky Movies from NOW TV for free, as well as 1,500 Marvel Comics and access to news and magazines through Paper garden.

by Galaxy Tab Review at July 07, 2014 08:56 AM

July 05, 2014

July 04, 2014

The 1st SWIFT Compliant Ad Network – StartApp

Swift Apple’s Worldwide Developer Conference unveiled a new C-based programming language known as Swift. This application will be able to restructure the Mac OS and iOS app development process. Swift takes high level coding language, combines it with C and provides the flexibility of Python and Node.js to create a world of applications to the developers.

The iOS developers can now enjoy the benefits of memory management system which is automated in swift and syntax which is simplified to allow less room for error. The developers will also be able to provide far better quality apps which perform exceptionally as compared to the bug-prone and time consuming ones created by Objective-C.

The Swift, as the name suggests, will be able to help the developers make apps quickly and easily by using this development process. It is not just the developers but also the users who can feel the difference between apps built on Swift and Objective-C. The graphics are much better, the applications are smoother and not to mention the annoying bugs that plague the apps from Objective-C have also been eliminated. Consumers will be able to get access to much cheaper apps that are not only helpful but also readily available.

Swift has been gaining a lot of attention even though it is a new programming language because of being endorsed by Apple.  Apple is known for the quality of their products so the developers know they have a reliable language in their hands. They not only have a trustworthy product but also ready support available from the Apple Developer Team. The Swift experience will bring a paradigm shift in the Apple Development environment being moved from Objective-C to Swift.startapp

The one thing that propels Swift in the application development is bad experience of using Objective-C. The language is not only difficult and time consuming, but there are only just a handful of highly skilled developers that are able to use it. With the coming of Swift, more developers will be able to create good quality apps which can be distributed freely or at a low cost.

Even though Swift is a fairly new language which has not been tested extensively, it already has support from one of the best ad platforms – StartApp. The iOS software development kit is now compatible with StartApp which is an ad platform supporting Apple’s new language. The one thing that made it possible was that the integration of StartApp’s iOS SDK is very simple.

It comes with the same superior banner ads and full page interstitials that are the USPs of StartApp. You can also get the additional OfferWall which provides both 2D and 3D graphic options. All the ads, regardless of the type, are optimised to suit the iOS interface which enhances the user experience. The graphics are crisp and the distortion of image has been eliminated.  The ads are available in both landscape and portrait modes.

StartApp is the only ad network that has taken the Swift language under their wings. They are 100,000 partners strong and more than 1 billion SDK’s have been downloaded because of their relentless efforts at marketing and advertising. This definitely puts Swift in good hands, despite being newly born in the iOS developer sector.

The post The 1st SWIFT Compliant Ad Network – StartApp appeared first on Android Apps.

by Gigi Fenomen at July 04, 2014 12:51 PM

June 29, 2014

New demo video for Starship app

Your chance to save the galaxy. Preview on Youtube: http://youtu.be/FCRaXHVaUcs Continue reading

by Bill Lahti at June 29, 2014 04:07 PM

June 27, 2014

Google I/O 2014: Rehash

All of the videos have been posted from the various sessions I was in this year. Here they are, along with links to the slides.

What's new in Android

A presentation with +Dan Sandler that provides a quick overview of some of the larger features and new APIs in the L Developer Preview release and other new bits in the recent Androidosphere. There's also a really good deep-dive into Notifications, since Dan's the non-local expert on the subject.



Slides (PDF)


Material science

This session, presented with +Adam Powell, provides an overview of the engineering side of the Material design system. Many of the other sessions at Google I/O this year discussed the design side; this presentation covers the technical details of the APIs and the capabilities exposed by the framework for Android developers.



Slides (PDF)


Material witness

I was happy to be joined once again by former Android developer and UI Toolkit team lead +Romain Guy for this talk on some of the new Material design elements in the L Developer Preview release. The idea behind this talk was to go a bit deeper into using and explaining the new APIs, as well as explaining how some of the features, like realtime soft shadows, work.



For slides as well as demo code, check out Romain's blog at curious-creature.org.


Android fireside chat

This session, organized and moderated by +Reto Meier, I found to be more interesting than other such panels I've seen. Often, these things tend to have a lot of awkward silences as the panelists try to figure out the most interesting way of saying "No comment" since there's a general policy on Android of not talking about future development plans. This time, there was a lot of discussion around how and why some parts of the system work, which I enjoyed as an audience member that just happened to be sitting somewhat closer to the panel.

by Chet Haase (noreply@blogger.com) at June 27, 2014 05:08 PM

Talk to Your Toaster: Bluetooth & USB for Android

The Android framework provides options for connecting external accessory devices to applications via technologies like Bluetooth and USB. Learn how to expand the reach of your Android devices.

by Evan Davis at June 27, 2014 12:07 PM

Google I/O 2014 Slides and Demo

Chet and I gave a talk entitled “Material Witness” at Google I/O today. I am happy to announce that the entire talk is now available on YouTube. I have also published the following resources:

Google I/O 2014 demo

by Romain Guy at June 27, 2014 06:39 AM

June 19, 2014

Improved Play Screen in Starship App

The latest alpha test version is out for my Starship game app on Android. The big improvement is the new action bar along the top of the screen. Status bars show the energy level of the ship and shield strength. Time left, enemy count, damages, and speed are also shown. The new status indicators provide better feedback as you play. Continue reading

by Bill Lahti at June 19, 2014 11:20 AM

June 17, 2014

Moto Maker for Moto X hitting Germany on July 1st

After way too much time as a US-only exclusive and with the phone it pimps to the extreme already starting to show its age, Motorola’s finally ready to launch the Moto Maker customisation service for the Moto X in Europe.

According to Motorola Germany, the case modding service will launch exclusively for those who buy a phone through Phone House in the country. Phone House is the German wing of Carphone Warehouse, so here’s hoping CPW picks up the deal and launches the custom phone option here in the UK too.

moto-maker-uk

This could be the answer to the tricky “eccentric summer phone” problem we currently face. As long as it’s cheap.

Link via Androidsis.

by Gary_C at June 17, 2014 07:30 PM

June 04, 2014

Mobile Carrier Payments - Now Available via SlideME


SlideME & Fortumo









SlideME now supports the option for users to pay via Mobile carrier through our partnership with Fortumo. This is an important milestone for SlideME to bring such a payment option at the store level, as opposed to developers having to implement intruding commerce options within each of their apps. Unfortunately Mobile carrier payments, unlike traditional payment options, have different price points for each country. Such price points do not accommodate the exact set price of an app, nor is it fair to users for such an app price to be fixed to the carriers’ price points per country. This means the same app could be more expensive in one country than another. For this reason SlideME has implemented a feature where any overpayment is credited to the user’s SlideME Wallet balance, which can be used to purchase other apps (or in-app items if the app is using the recently released SlideME In-App-Payments SDK or supported Open In-App Billing).


“3rd party Android app stores are becoming increasingly popular and we are excited to work together with SlideME, one of the leaders in this space. By adding mobile payments to their apps published on SlideME, developers can now earn more revenue from almost 5 billion people who do not have or do not want to use a credit card. With carrier billing, they can now conveniently charge purchases directly to their phone bill”

- Gerri Kodres, SVP of Business Development and Carrier Relations, Fortumo


List of countries supported currently for Mobile Payments http://slideme.org/payment-methods/operator-billing-coverage New SlideME Market (SAM) ver 6 app was also released this May 2014. As always, you can download from http://slideme.org/sam.apk

read more

by SlideME at June 04, 2014 07:26 PM

June 02, 2014

May 28, 2014

Tutorial: X86 ROM Cooking 101 - Android Builders Summit

This tutorial takes a hands-on approach to customizing and building Android directly from the Android Open Source Project. Learn ROM cooking for the x86 architecture and build your own ROM for QEMU.

by Evan Davis at May 28, 2014 05:47 PM

May 18, 2014

April 29, 2014

The Android and iOS Rivalry – Cosmetic and Functional

Android and iOS Rivalry

Bias throws any hint of fair assessment out the window. Even with independent reviews in consideration, there’s the suspicion that not all ground has been covered, not enough to justify the verdict at the end of a review. This has been the challenge in comparisons, especially in consumer electronics. For the longest time, Sony and Nintendo were caught in a bitter console war, until Microsoft stepped into the picture and redefined the playing field. The same is true with the ongoing rivalry between Android and iOS, both with technical merits and lapses of their own. So how do you evaluate these without siding for the OS installed in your portable device? Many favor either without even giving the competition a chance to prove its worth.

Crash Test

The competing OS are only as good as their latest updates, even though many users consider earlier versions as comfort zones that will do, at least for the moment. The initial test is in the upgrade, if it fares better than its predecessors did. This is often calibrated with a crash test, maximizing use of the OS until it tanks or underperforms. The iOS 7.1 has improved over iOS 6 at a 1.7% crash rate, but this is still at a significant disadvantage to the Android Kitkat, with only 0.7% crashes (figures are based on activity logs from over a billion users).

Adoption and Upgrade Preferences

In a matter of preference, the Android and iOS camps are bitterly divided, but there’s an ongoing consensus against the Android Kitkat and its incompatibility with many third-party applications. This is understandable, though, given the plethora of Android apps available, both in their beta and final versions. An 85% adoption rate for the iOS, in comparison to Android’s 8%, is indicative of the reception for both OS, although subject to change.

android and ios

Seamless and Efficient Design

The iOS interface has been overhauled in favor of simplicity, to ensure efficient and convenient navigation. You can pull up a Control Center menu to tweak utilities and connection options, and you can always customize the icons and font to improve readability and navigation. Most of the improvements are cosmetic, but these serve the purpose of having an interface that’s more user-friendly.

In contrast, Android’s menus (settings and prompts) are still seamless and merged, allowing you to swipe towards each with ease. The home screen is still customizable, but there’s a sense that the entire setup is a bit clunky, if not strained. Android’s Kitkat offers better autocorrect functions, with several suggestions placed above the text field. iOS presents these with bubbles on top of words, but somewhat gets in the way of proper input.

Android and iOS Navigation

There’s nothing to complain about in terms of scrolling and zooming, the response is great for both the Android and iOS. There are features ported over from previous versions, though, such as the Android’s Apps Drawer and the iOS’s jump-to-top-of-page status bar. The highlight, copy, and paste commands still need tweaking, but don’t set back the improvements. You could say the changes were superficial instead of functional, but it’s a big leap just the same, and it’s possible these are market tests for compatibility, in preparation for the next wave of revolutionary devices set to roll out in the coming months.

Lionel Luigi Lopez is a business writer, entrepreneur and a musician. He is also an active blogger and marketing strategist. He runs a small business in Manila and still active in music.
Follow him on twitter @lionelluigi

The post The Android and iOS Rivalry – Cosmetic and Functional appeared first on Android Apps.

by Gigi Fenomen at April 29, 2014 02:37 AM

April 11, 2014

LIFX Integration in Gem Miner 2

LIFX Bulbs are wi-fi enabled led light bulbs which can be controlled from your smartphone, more details on their website here.

I thought that Gem Miner was a natural fit for integration with these bulbs, so I’ve done some experimentation. The video below also shows a little of what you can expect in the tech mine mission pack:

So far the lightbulbs reflect the current time of day on the surface, go dark whilst underground and react to fire, lava, flare and explosions. When playing in a darkened room the effect is pretty cool. This integration is available in the latest version on the Play Store.

You can buy bulbs at a 5% discount and help support Gem Miner by following this link and using the discount code AMBASSADOR5OFF


by Psym at April 11, 2014 01:30 AM

April 05, 2014

CyanogenMod Installer Removed from Google Play Store

Why do you hate me?

Why do you hate me?

A bit of news sure to disappoint fans of Cid, the CyanogenMod team recently took to their blog to explain the removal of the exceptionally popular “CyanogenMod Installer” from the Google Play Store. Despite being installed on more than 100,000 devices and maintaining a 4.2 star average rating, Google has decided this particular little blue guy isn’t up to snuff.

Cordial Ejection

It’s worth noting that Google didn’t pull the CM Installer from the Play Store, rather they contacted the team and asked that they voluntarily remove the application before Google themselves had to intervene.

This strikes us as a relatively classy way to tell somebody you don’t want them publishing their software in your marketplace, and it’s certainly a step up from the treatment most developers are given: your application get’s thrown out on its ass like the drunk guy who keeps making trouble.

When the CM team asked Google for clarification as to why they were being escorted out the door, they actually sent them a proper response rather than pointing them to the TOS with a canned message:

After reaching out to the Play team, their feedback was that though application itself is harmless, and not actually in violation of their Terms of Service, since it ‘encourages users to void their warranty’, it would not be allowed to remain in the store.

CM Blog

Looking Ahead

It’s hard to argue with Google’s point. While the CM installer is undoubtedly an excellent gateway to get new users in to the world of custom Android ROMs, there’s absolutely a concern about less knowledgeable users getting themselves into a bad situation with this type of software.

Of course, in the end, the Play Store is Google’s domain and they can do whatever the hell they please. It seems pretty unlikely that the CM Installer will be returning to the official Android ecosystem anytime soon, but the CM team says they’ll be looking into getting onto alternative Android repositories such as the ones offered by Amazon and Samsung, so those looking for a one-click installation of the world’s most popular community Android ROM hopefully won’t be out in the cold for too long.

by Tom Nardi at April 05, 2014 03:30 PM

Win a Free Android Game Console Courtesy of PlayMG!

Free Console???  Yep!

PlayMG, a company dedicated to Android game consoles and safety online, wants to give one lucky Powerbase reader a PlayMG Android game console.  What is a PlayMG?  Well, we spent some time with the device several months ago.  You can read our impressions here.

So, how do you win?  Easy! 

1.) Find us on Google+ or Facebook.  Share the post!

2.) Like us on Facebook or give us a +1 on Google Plus.

3.) Come back here and leave a comment stating why you should win a PlayMG game console!

That’s it!

The winner will be chosen on Nov. 26th, so make sure to keep checking back! 

 

mgspecs

PlayMG Specifications

Check out Olivia Holt and Kyrie Irving enjoying the PlayMG below.

 

Powerbase Review | PlayMG

Powerbase Interview | PlayMG’s Taylor Cavanah

 

 

by admin at April 05, 2014 03:30 PM

March 11, 2014

Beyond RenderScript - parallelism with NEON


My last post about the parallel implementation of Distributed Time Warping (DTW) algorithm was a disappointment. The RenderScript runtime executed the parallel implementation significantly slower than the single-core implementation (also implemented with RenderScript). It turned out that parallelizing the processing of 10000-50000 element vectors on multiple cores were not worth the cost of the multi-thread processing and all the overhead that comes with it (threads, semaphores, etc.). One core must be allocated a significantly larger workload but our DTW algorithm is not able to generate such a large, independent workload because rows of the DTW matrix depend on each other. So in order to exploit RenderScript multi-core support, it is best to have an algorithm where the output depends on only the input and not on some intermediate result because this type of algorithm can be sliced up easily to multiple cores.

It would have been such a waste to discard our quite complicated parallel processing DTW algorithm so I turned to other means of parallel execution. Multi-core is one option but the ARM processors in popular Android devices have another parallel execution engine, internal to the core, the NEON execution engine. One NEON instruction is able to process 4 32-bit integers in parallel (see picture below). Can we speed up DTW fourfold with this option?



NEON is actually quite an old technology, even Nexus One was equipped with it. It is much more widely deployed therefore than multi-core CPUs. While ordinary applications can take advantage of multi-core CPUs (e.g. two processes can execute in parallel on two cores), NEON programs are difficult to write. Although some compilers claim the ability to generate NEON code and template libraries are available, the experience is that the potential performance benefits cannot be exploited without hand-coding in assembly and that's not for the faint hearted.

The example program is attached at the end of this post. You have to be logged to the Sfonge site to access it.

The relevant functions are in jni/cpucore.c. There are 3 implementations, processNativeSlow, processNative and processNativeNEON, each is progressively more optimized than the previous one. The processNativeSlow and processNative functions are in C, in processNativeNEON the most time-critical loop ("tight loop") is entirely implemented in mixed ARM/NEON assembly. This tight loop produces 4 result elements in parallel so we expect huge performance gain over the single-core RenderScript implementation (dtw.rs).

The experience is completely different. While the NEON implementation is significantly faster on small datasets, one second of voice is 8000 samples so data sizes grow quickly. On 10 second data sets (80000 samples, 6.4 billion element DTW matrix) the simple nested loop C99 implementation and the complex, hard to understand NEON implementation produces about the same execution time.

How is this possible? Let's take an example of 10 second reference and evaluation samples. This means 80000 elements, 80000*80000=6.4 billion values to calculate. Calculating each value takes 20 bytes to access (2 input samples (2 bytes each), 3 neighbor cells (4 bytes each) and storing the result (4 bytes)). A1 SD Bench measures 800 Mbyte/sec copying performance on my Galaxy Nexus (and similar values on the two cheap Android tablets that the family has), that obviously means 2 accesses (one read and one write). For simplicity, let's assume that reads and writes take about the same time. This means that according to this very rough calculation, the memory accesses themselves take about 80 sec. The real execution time is about 120 sec, the difference can be explained by the simplifications. Cache does not really help because of the large data size. The performance is determined by the RAM speed and the simplest single-core implementation already reaches the bottleneck. All the wizardry with parallelism is futile.

Obviously the case was not helped by the selection of the DTW algorithm as benchmark which intentionally does not fit into the class of algorithms normally used to demonstrate the benefits of parallel processing. Grayscale conversion would be better (one read, one write and 3 multiplications per pixel). But this means that you actually have to be really lucky with your algorithms for these parallel options to speed up your code significantly. Even then, it is worth looking at the parallel options inside the core before going multi-core. And you definitely should not forget the auxiliary costs of parallel computation, e.g. distributing/gathering the data to/from the parallel processing units or whether other hardware (e.g. memory) is able to keep the pace with the CPU.

One wild idea at the end. Could RenderScript computation model be used to generate NEON code? With some limitations, the answer is probably yes.

by Gabor Paller (noreply@blogger.com) at March 11, 2014 08:42 PM

February 28, 2014

Publishing an Android book in the vogella book series

Since a few months I’m working on an Android book based on the popular Android online tutorials from my website.

Selection_017

On thing I learned in the past about book writing is that the process is extremely painful. Creating a consistent and almost error free description is much more work than publishing a good online tutorial. Fortunately I already have a great team of reviewer for the book, so I have high hopes that this book will be of great quality.

I plan to release early access versions of the book via Kindle and Google Play. This release process should start soon.

I want to add every month a new chapter and people which purchases the early access version can update their books. This process will continue until I finish the electronic book. The final book will be available as paper book and as ebook.

by Lars Vogel at February 28, 2014 10:17 AM

February 24, 2014

The Galaxy S5

Photos of the galaxy S5 leaked today, and let me tell you, I am not very impressed as far as the visuals go. This is a link to an album someone leaked today. The device itself doesn't look very impressive. The bezels are bigger than the S4, although the screen is bigger. A 2800mah battery with a rumored 2K screen is going to be a battery killer. The LG G2, came out 6 months ago and has a bigger battery than that, come on Samsung. I fear Samsung is falling into the same boat as Apple. Small subtle improvements each year, knowing that people will buy it because its "The Galaxy S5". I don't want that. I want something I pull out of my pocket, and people say "wow what's that!!!" Not, oh you have a galaxy? We're entering a time where phone manufacturers are all trying to make the next new fad (watches, fitbits, glasses) and unfortunately I don't see this being one of them, even though it will be. comment below on what you think about the S5!

by Captain Clyde (noreply@blogger.com) at February 24, 2014 07:21 PM

SlideME announces In-App-Payments SDK, Payouts in bitcoins, and new payment methods


SlideME has several key announcements:  

  1. Availability of the SlideME In-App-Payments (IAP) SDK
  2. Developer Payouts in bitcoins
  3. Mobile billing with many more payment methods to come
  4. Users can earn virtual currency to pay for apps or purchase in-app-items
With the release of the SlideME IAP SDK, developers can monetize their freemium apps (i.e., free to download but include the option for users to purchase in-app-items) distributed via SlideME to the many Android Open Source Project (AOSP) based devices without Google Play Services. In-app purchases for users is seamless as they can continue to use our current or new payment options, including purchasing in-app items through their existing SlideME Wallet.


The sheer volume of non-Google Play enabled devices can no longer be ignored by app publishers as more device vendors are leveraging the AOSP, which does not include the closed-source apps and services like Google Play and Google Maps. Developers should have a distribution strategy for apps being distributed to these AOSP based devices .


Today at MWC, we’re seeing Nokia releasing the Nokia X device based on the AOSP, and therefore without Google Play. SlideME as of today is present on the Nokia X, and many other device manufacturers have preloaded SlideME as a respected alternative to Google Play.





Good news for developers today from SlideME.  Developers have the option to be paid out in Bitcoins or to their Coinbase Wallet instantly.


read more

by SlideME at February 24, 2014 05:21 PM

February 08, 2014

Grails based survey system, the android app

Some time back I wrote an article describing the roosearch system I developed using grails. This is the second part, the android client, please checkout the previous article otherwise this might not make much sense! After completing the grails component, I had a RESTful API available to me, and I just needed to build an […]

by James Elsey at February 08, 2014 09:56 AM

February 07, 2014

RenderScript in Android - the parallel version

In the previous post I promised to revisit the parallel case. The big promise of RenderScript is to exploit parallelism among different CPUs, GPUs and DSPs in the device at no additional cost. Once the algorithm is properly transformed into parallel version, the RenderScript runtime grabs whatever computing devices are available and schedules the subtask automatically.

The problem with DTW is that it is not so trivial to parallelize. Each cell in the matrix depends on cells at (x-1,y), (x-1,y-1) and (x,y-1) (provided that the cell to calculate is at (x,y)). By traversing the matrix horizontally or vertically, only two rows (one horizontal and one vertical) can be evaluated in parallel.

Michael Leahy recommended a paper that solves this problem. This algorithm traverses the matrix diagonally. Each diagonal row depends on the two previous diagonal rows but cells in one diagonal row don't depend on each other. One diagonal row can be then fed to RenderScript to iterate over it. The picture below illustrates the concept.



The example program can be downloaded at the end of this post. You have to be logged to Sfonge site to access it.

You will notice that there are two parallel implementations. The findReferenceSignalC99Parallel() is the "proper" implementation that follows closely the RenderScript tutorial. Here the diagonal rows are iterated in Java and only the parallel kernel is implemented in RenderScript. This version - even though it is functional - is not invoked by default because it delivers completely inacceptable performance on my 2-core Galaxy Nexus. By looking closely at the execution times, I concluded that even though RenderScript runtime invocations ( copying into Allocations and invoking forEach) are normally fast, sometimes very innocent-looking invocations (like copying 5 integers into an Allocation) can take about a second. This completely ruined this implementation's performance.

The other parallel implementation which is actually invoked and whose performance is compared to the 1-core RenderScript implementation (the fastest one) is findReferenceSignalC99ParallelRSOnly(). This version is implemented entirely in RenderScript. Unfortunately its performance is 2-2.5 times slower than the 1-core implementation. How can it be?

First, if you compare dtw.rs and dtwparallel2.rs, you will notice that the parallel implementation is considerably more complex. Indexing out those varying-length diagonal rows takes a bit of fiddling while the 1-core implementation can take the advantage of fast pointer arithmetic to move from cell to cell sequentially. So the parallel implementation starts with a handicap. This handicap is not compensated by the 2 cores of the Galaxy Nexus.

OK, Galaxy Nexus is the stone age but what happens on a 4-core processor like on a Nexus 4? The runtime does launch with 4 cores but then the Adreno driver kicks in and the result is that the parallel implementation is about 3 times slower than the serial one. What happens in the driver, I don't know, as far as I can see, the source code is not available.

Jasons Sams recommended to disable the GPU driver with
adb shell setprop debug.rs.default-CPU-driver 1
but I decided to stop my adventures here. The conclusion I drew for myself is that RenderScript in its present form is not ready for parallel programming. Clang-LLVM is a very promising compilation technology but the parallel runtime suffers from a number of problems. IMHO, there should be a way to programmatically control the way the workloads are allocated to CPUs/GPUs. Until then, if you want to harness the power of your multicore processor, code the parallel runtime yourself. Using RenderScript for the serial code if you wish.

by Gabor Paller (noreply@blogger.com) at February 07, 2014 08:35 PM

February 02, 2014

Samsung Delivers a Pile of Failure in Their Olympic App


Onboarding experience

What Samsung has done with their first-time experience is stunning. To me this is by far the worst what I've seen. I'd be very interested to see analytics from their system about user dropoff rate in the first couple of screens.

It is worth remembering that the your app's user experience starts from the Play Store. Be careful not to leave in permissions that not actually needed in your app. Why does this app need to disable my lock screen? Scary.

Once you get the surprisingly large 30MB app installed to your device you're ready to embark to to most remarkable journey to try to get to the actual content.

When you first launch the app you're greeted with a popup reminding you that when you use data it might cost you. If that wasn't stupid enough look at the options provided to you in the popup. "Do not remind" and "OK". I wonder if they mean "Do not remind me again" or "Damnit! Don't remind me. I don't want to know!". If I select OK does it mean that they keep reminding me that my data might not be free every time I open the app? Ridiculous. I bet this was put here by Samsung's legal department.

Once you figure out which one of these ridiculous buttons you want to press you'll see a gift from the Samsungs software engineering department. A splash screen with a loading indicator. I refuse to believe that they don't have any content or app structure to show without "Updating data: DB". But hey, at least we get to see the debug messages showing which data it is loading.


When the "Updating data: DB" is ready you're certainly going to see some content and be able to figure out if you want to use the app or not. Well.. not so fast.

First you need to tell the app which Language you'd like to use. I don't know in which usage scenario this makes any sense but I'm certain that Samsung's engineering team must have a great UML chart explaining why this is needed.

User already selected the language when they setup their phone. Apps never have to ask language form users. Never! Worth noting, by the way, the app's language selection doesn't even default to your phone's language setting. It always defaults to English.

Once you figure out which language you'd like to use you're presented the feared T&C screen that every legal department on the planet loves so dearly. Fortunately Samsung hasn't even tested reading their legal text as when you open one the screen's scrolling mechanism breaks. But that's not a big loss. Nobody ever reads T&C anyways.


But surely we are now done. Right? Well.. No.

We now need to tell the app which country we like. While it could probably at least guess the country where I'm in right now (it uses location permissions) it chooses to default to the language setting of your phone (you know, the one they could  have used for the language selection). But then again, personalised data in the app based on my favourite country, athlete and sport. That's great!

I think a better way to do this would be to default to your country and your country's most popular sport and let the user easily change them but I can't really blame Samsung going this route. That is if they'd done the actual selection screens well. I know that Samsung has been a big fan of Apple for a long time but I'd still keep Apple's search screens out of Android.



Now that you've found your country and other info needed you're set to go, right? Must be... Nope.

This one is so bad that it made me laugh when I saw it. "Need to update spp client" Go google market! Go!

Firstly, some level of spelling checking would probably make sense. I'm not a native English speaker either and I bet that I have more than my fair share of broken English on this site but I'm not a multi-billion dollar corporation. Secondly, what the hell is "spp client"? Am I supposed to know that?

At least pressing the "OK" takes me to the Google Play Store to install some more Samsung crap to my phone. Go google market, go!


Once you install the additional Samsung push services you'll finally be able to use the app.

Rest of the app

Unfortunately, rest of the app follows pretty much the same path as the onboarding experience. It is riddled with very bad design decisions and poor implementation. It sometimes uses action bar items to navigate between screens, tabs are never swipeable and some screens are locked to portrait while others are locked to landscape. 

Christophe Versieux compiled a list of usability issues found in the app (I left out the points I already mentioned above):
  • Still an iOS 2D launcher icon, square with rounded border, not following the slight 3D and silhouette pattern we are used to an Android
  • iOS 7 design (icons, colors)
  • Ads at the bottom that lead to Samsung US website 
  • Use right-pointing carets on line items
  • ActionBar looks bigger, separators are ugly and even displayed when only one item
  • Non scrollable tabs
  • Settings screen (sounds obvious)
  • On the Map they even used the iOS pin!
  • Toast when trying to exit the app
  • Navigation drawer is the sliding menu


You can find the app from Google Play for free at: https://play.google.com/store/apps/details?id=com.samsung.sochiwow.minfo.ex

by Juhani Lehtimäki (noreply@blogger.com) at February 02, 2014 03:59 PM

January 27, 2014

Status of Gem Miner 2 updates

As you will have noticed, the tech mine update is taking longer than I expected. Sorry to all those holding out for it! This is partly due to a lack of time (work, family commitments) and partly due to my ambition on new features. Momentum is picking up again and I now expect the release to be late February.

In the meantime, there will be an update in the next few days which adds 4 new missions to the expeditions, along with the usual collection of minor bug fixes etc.

Thanks for your patience!


by Psym at January 27, 2014 11:15 PM

January 21, 2014

Dragging Images When Scaling Must Be Restricted

I recently retired, but I have one more little tip to blog about. While I have a few ideas for some apps, I doubt that I’ll have to do the kind of intensive problem solving required during my job. Therefore this might be the last post.

I was involved with a suite of clients for business intelligence. The primary clients were created with Adobe Flex and ran in the browser. They provided for creating and viewing reports. The iOS and Android clients provided for viewing reports. Thus features were implemented in the Flex product first, and we who supported the mobile clients had to cope with adding them. The feature relevant to this blog entry was the ability to specify numerous scaling options for images (e.g. photos) that could be incorporated into reports. Some of these scaling options had no natural analog to the Android scaling options for images.

To support the requirement for panning and zooming images I took full advantage of the PhotoView library provided by Chris Banes. This library was a great solution for all but two of the required scaling options. Our product allowed for two rather silly options of fitting an image to the width or to the height of the viewport that the report designer drew on screen. If the other dimension of the image was greater, then part of the image would be invisible. I had to provide support for letting the user drag the image around in the viewport so that all of it could be seen.

The PhotoView library would have handled this except for the fact that we needed to set the scale type on the ImageView class to MATRIX, and PhotoView does not allow that. With no natural analogous scaling type to our “fit width” and “fit height”, I had to create a new subclass of ImageView to handle just the images requiring those types. The ReportImageView class has some code for doing the scaling needed to fit height or fit width, but I am leaving that out here so as to concentrate on the drag support.

import uk.co.senab.photoview.VersionedGestureDetector;
public class ReportImageView extends ImageView implements VersionedGestureDetector.OnGestureListener {

private VersionedGestureDetector mScaleDragDetector;

 public ReportImageView (Context context, AttributeSet attrs){
    super(context, attrs);
    mScaleDragDetector = VersionedGestureDetector.newInstance(context, this);
  }

  @Override
  public void onDrag(float dx, float dy){
     Matrix matrix = getImageMatrix();
     Matrix copy = new Matrix(matrix);
     copy.postTranslate(dx, dy);
     setImageMatrix(copy);
  }
  @Override
  public void onFling(blah, blah...){
    //no op
  }
  @Override
  public void onScale(blah, blah...){
    //no op
  }
}

The salient features are 1) make a new VersionedGestureDetector using the class provided in the PhotoView library, 2) implement the onDrag() method of the OnGestureListener interface. In onDrag() make a new matrix and post-translate it to the coordinates supplied, then set that as the image matrix.

When the scale type is “fit width” the user can drag the image up and down if the height is greater than the width. When the scale type is “fit height” the user can drag the image left or right. If you get such oddball requirements for images, try this solution.


by Todd Folsom at January 21, 2014 08:48 PM

January 15, 2014

Awesome Android Design - slides by Nick Butcher

Nick Butcher from Google gave a presentation on "Awesome Android Design" in the GDG Sydney meetup. While the presentation itself unfortunately isn't available online the presentation slides are. This slide deck is packed full of important information from beginner to experienced Android designers and developers!

Get the slides from here.

by Juhani Lehtimäki (noreply@blogger.com) at January 15, 2014 10:42 AM

January 05, 2014

Yota Phone – The Android Smartphone From Russia With Two Screens

Yota Phone

Let’s start with the underlying hardware. Compared to some of the flagship and high-end Android devices launched in 2013, the Yota Phone is decidedly mid-range. The Dual-Core 1.7 GHz Krait CPU has the speed and capability to run Android comfortably, but the handset doesn’t stretch the specs in the current market. It’s nice to see it comes with 2 GB of RAM, and when it was announced at CES 2013 these were cutting-edge specs, but the Android world has moved on since then.

The handset comes in just one storage memory configuration (32 GB) and unfortunately there is no SD card expansion port. Given 16 GB feels a bit tight on Android handsets today, the 32 GB option should be good for the life of the handset, and with smart use of cloud based services for storage and streaming it should suffice for the majority of use cases.

Read More from here.
http://www.forbes.com/sites/ewanspence/2014/01/04/yota-phone-review-the-android-smartphone-from-russia-with-two-screens/

by James at January 05, 2014 05:13 PM

December 18, 2013

App Translation Service Now Available to All Developers

To help developers reach users in other languages, Google launched the App Translation Service, which allows developers to purchase professional app translations through the Google Play Developer Console. This is part of a toolbox of localization features you can (and should!) take advantage of as you distribute your app around the world through Google Play.

You’ll find the App Translation Service in the Developer Console at the bottom of the APK section — you can start a new translation or manage an existing translation here. You’ll be able to upload your app’s file of string resources, select the languages you want to translate into, select a professional translation vendor, and place your order. Pro tip: you can put your store listing text into the file you upload to the App Translation Service. You’ll be able to communicate with your translator to be sure you get a great result, and download your translated string files. After you do some localization testing, you’ll be ready to publish your newly translated app update on Google Play — with localized store listing text and graphics. Be sure to check back to see the results on your user base, and track the results of marketing campaigns in your new languages using Google Analytics integration.

You can read more from here

by James at December 18, 2013 05:24 PM

December 07, 2013

Robots! Part 2, the android client

Continuing on from my previous post, I’ve created an android client that I can use to send commands to my python server. Ultimately I want to be able to control the robot remotely, the best way to do this would be to control the robot from a tablet or a phone which communicates wirelessly with […]

by James Elsey at December 07, 2013 11:01 AM

November 15, 2013

Moving An Android View By Dragging It

Yes, here is another article about moving or dragging a view with a finger, but I think I can give a complete example in one place. Most of what I read while developing a movable component did not give a fully working result. I started with the article on making sense of multitouch at the Android developers’ blog. Then I had to go search at Stackoverflow. I give some of those references in the code comments.

I had a requirement to provide a magnifier view, or jeweler’s loupe, which would provide a magnified view of a graph as the user dragged the view over the graph. The magnifier would become visible on a long press and stay visible while the user dragged it over the graph. The frame of the magnifier would display the magnified contents as provided by a helper method (not described here). Here’s a rough example from my testing app.

magnifier example

magnifier example

It shows a small bitmap (unmagnified in this test) and some bogus tooltip values to the right of the image. When this magnifier is dragged over the image (i.e. a real graph), the magnified area will update as will the tooltip information.

Let’s look at the code. Here’s the touch listener for the magnifier. It requires that the magnifier (a RelativeLayout) be passed in on the constructor.

private class TouchListener implements View.OnTouchListener{
   public TouchListener(RelativeLayout frame) {
     super();
     this.frame = frame;
   }
private float aPosX;
private float aPosY;
private float aLastTouchX;
private float aLastTouchY;
private static final int INVALID_POINTER_ID = -1;

// The active pointer is the one currently moving our object.
private int mActivePointerId = INVALID_POINTER_ID;
private RelativeLayout frame =null;

public boolean onTouch(View view, MotionEvent event) {

switch (event.getAction() & MotionEvent.ACTION_MASK) {
   case MotionEvent.ACTION_DOWN:
     //from http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
     Log.d(TAG, "action down");
     // Save the ID of this pointer
     mActivePointerId = event.getPointerId(0);
     final float x = event.getX(mActivePointerId);
     final float y = event.getY(mActivePointerId);
     // Remember where we started
     aLastTouchX = x;
     aLastTouchY = y;
//to prevent an initial jump of the magnifier, aposX and aPosY must
//have the values from the magnifier frame
     if (aPosX == 0){
         aPosX = frame.getX();
      }
      if (aPosY == 0){
          aPosY = frame.getY();
       }
    break;

    case MotionEvent.ACTION_UP:
      Log.d(TAG, "action up");
      reset();
    break;

    case MotionEvent.ACTION_POINTER_DOWN:
    break;

    case MotionEvent.ACTION_POINTER_UP:
      // Extract the index of the pointer that left the touch sensor
       final int pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
      final int pointerId = event.getPointerId(pointerIndex);
      if (pointerId == mActivePointerId) {
         // This was our active pointer going up. Choose a new
         // active pointer and adjust accordingly.
         final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
          mActivePointerId = event.getPointerId(newPointerIndex);
       }
  break;
  case MotionEvent.ACTION_MOVE:

     // Find the index of the active pointer and fetch its position
     final int pointerIndexMove = event.findPointerIndex(mActivePointerId);
     Log.d(TAG, "action move");
     float xMove = event.getX(pointerIndexMove);
     float yMove = event.getY(pointerIndexMove);

//from http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html
     // Calculate the distance moved
     final float dx = xMove - aLastTouchX;
     final float dy = yMove - aLastTouchY;

     if ( Math.abs(dx) > mTouchSlop || Math.abs(dy) > mTouchSlop){
        // Move the frame
        aPosX += dx;
        aPosY += dy;

// Remember this touch position for the next move event
//no! see http://stackoverflow.com/questions/17530589/jumping-imageview-while-dragging-getx-and-gety-values-are-jumping?rq=1 and
// last comment in http://stackoverflow.com/questions/16676097/android-getx-gety-interleaves-relative-absolute-coordinates?rq=1
//aLastTouchX = xMove;
//aLastTouchY = yMove;
Log.d(TAG, "we moved");

//in this area would be code for doing something with the magnified view as the frame moves.
       frame.setX(aPosX);
       frame.setY(aPosY);
    }
    break;

    case MotionEvent.ACTION_CANCEL: {
      mActivePointerId = INVALID_POINTER_ID;
    break;
   }
  }

    return true;
}

 private void reset(){
   aPosX = 0;
   aPosY = 0;
   aLastTouchX = 0;
   aLastTouchY = 0;
   frame.setVisibility(View.INVISIBLE);

  }
}

Here is the first important point. At line 29, we see that the magnifier will initially jump from the touch point because the touch event streams relative and absolute coordinates. Prevent this by setting the aPosX and aPosY fields to the initial X and Y coordinates of the frame.

Next, look at line 76 in the case for ACTION_MOVE. The multitouch example from the Android developers’ blog would have us remember the touch position. However that causes problems, as described in the citations from Stackoverflow, so don’t remember the last touch point. If the distance moved is greater than the touchSlop (line 71), just go ahead and move the frame (lines 85 and 86).

With these two modifications to the code shown in the multitouch example you should be able to happily drag a view around to your heart’s content.


by Todd Folsom at November 15, 2013 08:08 PM

October 25, 2013

MicroConf Europe

I don't envy conference organizers these days - most of what's being said can be read the next day, for free, on line, at your own pace, from the comfort of your own home, and without spending a bundle of time and money to sleep in a far away hotel.

Competing with that is not easy, but the guys at MicroConf managed to.  I would sum up the weekend by saying that it was a "very high bandwidth experience".  Every day, from breakfast until I turned in, I was chatting with people or listening to speakers during the conference itself.  That's aproximately  16 hours of being "on", and by the time I got home to Padova, I was exhausted!  But at the end of the day, I felt like it was worth it being there in person, because of all the interaction with other people.  The speakers' talks all ended up on line, more or less, but all the chatting and discussion and getting to know everyone is the human element that is tough to replicate on line, and one of the most important reasons to attend a conference in person.  Prague is also a beautiful city - I wish I had had more time there to check it out.

Here are some highlights and notes, in no particular order:

  • Rob Walling talked about actual, concrete numbers when discussing his current project's revenues.  There's a ton of handwavy stuff out there on the internet, but real numbers are tough to beat.  What makes it especially nice is that they also felt "real": they're good numbers, no doubt about it, but not stratospheric, science fiction numbers that leave you feeling like "ok, whatever, but that's not the planet I live on".  They're numbers that make you think "maybe, if things go well, I could do that too".
  • The number of "I'm from X, but live in Y" people at the conference was high.  Irish but live in Spain, American but live in Japan.  Or maybe just noticeable because I'm in that category myself.  There were people attending from the US, Europe, Japan, South Africa, and even Australia.  Impressive!
  • Almost all of the speakers had very specific, concrete advice that I can and will apply to LiberWriter, time permitting.  I read, and have read, a lot of business books.  Most of them are kind of fluffy, truth be told, in that they've got one decent idea, and a lot of filler to turn what could have been a tight, ten-page article into a book.  This was quite different in that there were a whole lot of tips and tricks being thrown out.
  • Rob's wife Sherry gave a talk about life with an entrepreneur.  Having two kids and a wonderful wife myself, it's a point of view that I was very interested in hearing about.  Judging from the people I chatted with, this was not your typical "startup" conference with a bunch of 20-somethings with no family and no ties - a lot of the other people attending had kids to think about as they launch their ventures.  A question I asked of Rob was how much of a leap he took from consulting to working on his own products, with the answer being that he's actually pretty risk adverse.  No Silicon Valley story about betting the house and everything else on the company - apparently, revenues from the web sites and products were good enough that there wasn't even really a leap to make when he quit consulting.
  • The size of the conference was just right: enough people that I didn't quite manage to meet everyone, but not so many that it was overwhelming.  In downtime between talks, and during dinners, breakfasts, lunch and so on, the speakers were very available to chat with.
  • Patrick McKenzie seems to have stumbled into his life's calling as someone working at the border of software and marketing.  The amount of advice, anecdotes, and data that he was continually spinning off was incredible.  He comes across as being a down-to-earth, approachable, friendly person.
  • Part of the balancing act the organizers have to work with is where people are at: some people had an idea but no concrete business.  Some of us (me) make some money but not too much.  Others have viable businesses that they make enough to live off of, and then there are those who seem pretty much 'set'.  It's difficult to find people to speak to each audience without losing some of the others.
  • The thing I liked the most about a lot of what was discussed was that it seems realistic.  Few people at the conference were from Silicon Valley, and yet... they're successful!  I like hearing about success stories that work out really well for the people involved, but still feel like something attainable.  People should be looking to emulate the successful guys here, not looking at extreme outliers like Bill Gates or Mark Zuckerberg.
  • I'm used to tech conferences, where it's all about the technology.  There was very little actual tech talk at MicroConf - it seems like everyone knows their stuff and was interested in learning about marketing, sales, and so on.

However, since it was a business conference, I also have to put on my cold, hard accountant hat.  Will the conference pay for itself?  Only time will tell.  I learned a variety of interesting and useful things, many of which I think I can put into practice.  The problem is finding the time between consulting work and family, but that was a bottleneck before, too - I had, and have, more things to do than time.  Also, to be very direct about it, how much of what I learned could not have been learned by carefully reading accounts of the conference, slides, and other material published on the internet?  A lot of it.  I'm not sure I would have paid attention to all of it though, so the conference was definitely nice in that it exposed me to some talks and ideas that otherwise I might have brushed off before giving them a chance.  In terms of dollars and cents, I won't be able to say for a while whether it was a sensible investment or not.

Would I go again?  I'd like to - it was a lot of fun and the people were great.

Like I said, it's tough doing conferences because your competition is the internet!

by David N. Welton at October 25, 2013 10:21 PM

September 30, 2013

The Google LG Nexus 5, and why you should it should be your next smartphone

If you're like me, you are sitting on an upgrade, and not really sure what to do as far as picking a phone goes. I'm here too tell you, buy an iPhone 5C. Just kidding. Don't waste your money on Apple garbage that's 3 years behind every android device on the planet. I suggest to everyone, to wait for the Nexus 5 to come out in the next few months, and let me give you a few reasons why.

1. PRICE (pretty obvious)

The beautiful thing about buying Nexus devices, is you are getting top of the line hardware and specs, for almost half the cost as anyone else. The Galaxy S4 is around 700 dollars off contract, which is absolutely insane. The Nexus 5 will cost (this is an educated guess) around 300-350 dollars, which is half the price of anything else, with the same (in my opinion better) user experience.

2. UPDATES (real catch)

Buying a Nexus phone has one simple bonus. You will always (except for you Gnex verizon people) get the latest version of android, before everyone else. Who doesn't like new software as fast as possible?

3. Everything else

The Nexus 5 is going to be a 5inch 1080p screen with a snapdragon 800 processor with 2GB of ram and a 8mp shooter. Now for those of you who have no idea what I just said, I can break it down for you. Let's imagine that the phone you have in your hand right now (which im guessing is close to 1-2 years old) is the car you had when you were 16. Probably an old beater that had 200,000 miles on it that you didn't care about. The Nexus 5, is an Audi A8 with all the little extras like leather seats and air condition and the fancy GPS that you brag about to all your friends, but never really use it, because you would have your Nexus 5 navigating you around with Google Maps ;)

when it doubt, wait it out, and buy Nexus 5

by Captain Clyde (noreply@blogger.com) at September 30, 2013 10:41 PM

September 18, 2013

Wallpaper Wednesday – Schwangau

Wallpaper Wednesday - Schwangau

This week’s wallpaper is called Schwangau after the place where it was taken. I always use the wallpapers that I put up, and I hope you like it enough to use it too.

This wallpaper will work great on any Galaxy Tab or Galaxy Note. Click here to download.

by Kyle Dornblaser at September 18, 2013 07:23 PM

September 11, 2013

Wallpaper Wednesday – Prague

Wallpaper Wednesday - Prague

This week’s wallpaper is called Prague. I always use the wallpapers that I put up, and I hope you like it enough to use it too.

This wallpaper will work great on any Galaxy Tab or Galaxy Note. Click here to download.

by Kyle Dornblaser at September 11, 2013 02:37 PM

August 06, 2013

Try Some Old School Fun With 3D Snake

The old snake game has gotten a facelift and a new name. 3D Snake for Android is just what its name implies. The old school game has gone 3 dimensional, and it has never been so much fun. The premise is still the same. You are a snake eating as you crawl along in a box getting bigger and bigger as you go. If you are not fast enough to stay away from the edges, you die. It gets harder the bigger the snake gets, of course. In this newer version, you are a cute little grass snake eating bugs and growing as you go along, but if you get too big and lose control you are in trouble.

It is an analogy for life really, if you think about it. We go along our lives and our triumphs can make our pride grow and grow until we can no longer fit in the constraints of our lives or around the people in it. We can't get out of our own lives, therefore if we grow so large as to bust out, we lose it. Maybe we don't literally lose a life, but we very well could lose much of what makes up our lives as we know it.


No one wants to think about that though. The goal here is to get as big as possible and stay away from the edge, which is not as easy as it sounds. Do it well thought and watch your score climb on the Swarm leaderboards.

by Beti (noreply@blogger.com) at August 06, 2013 09:07 PM

July 30, 2013

Avoid The Mines In Minesweeper ++ Lite


Minesweeper is the classic game of "can you figure it out before you die." It is the perfect way to kill time or rest your brain with some mindless activity for just a few minutes without anyone knowing.  Countless execs over the years have utilized the game to take a break while looking busy, and now with Minesweeper ++ Lite for Android the same technique can be used by anyone anywhere on their android mobile device.

While it may take a second to catch on, once you do you will be hooked. You must "guess" where the mines are and stay away from them. This becomes easier to reduce with time and guessing is no longer necessary once you figure out what you are doing. 


What makes it even better is the ability to post scores to the Swarm leaderboards. Compare your progress and rank with players from around the world, but be certain you change your name lest anyone else lurking around the boards catch on to your sneaky break time routine. Of course, be wary of who you share your gaming name with also, but a little inner office camaraderie never hurt anyone.   Enjoy free time, or use it as a cover to make you look busy when you are not. Either way you will love the fun that Minesweeper offers.

by Beti (noreply@blogger.com) at July 30, 2013 04:48 PM

June 26, 2013

T-Mobile To Announce “Simple Choice with no credit check” plans

It seems that T-Mobile always does this. They introduce something fairly interesting, and then follow it up with something also kind of interesting, but also a little confusing. It got bad a few years ago, when they had multiple tiers of plans and it was difficult to tell the differences between them in many cases. Their latest foray piggybacks their Uncarrier campaign. “Simple Choice with no credit check” will provide the credit-challenged with access to those same Uncarrier plans.

There are many catches, of course, and the confusion of the plan might turn off consumers before they get a chance to see how it can work for them. For starters, this is advertised as, and mostly effective as, a family plan. Individual users with bad credit are better off examining T-Mobile’s traditional prepaid plans, which are pretty close to the Simple Choice plans, but with no deposit.

Yes, a deposit is required for the no credit check plans. That starts at $60 for the first line, followed by a $40 deposit for the second line, and $20 each for the next two lines. A fifth line is also a $20 deposit, but that has to be a non-phone internet device (tablet, for example). The deposit is refundable, so presumably it covers you for potential non-payment.

The biggest loss here is the lack of automatic payments. Why T-Mobile would take that away I don’t understand. Companies absolutely love autobill features, and it’s pretty standard in prepaid. (Virgin Mobile offers a $5 per month discount if you sign up for automatic payments.) Maybe it will be available in the future, but for now it’s off the table.

Combine all that with the necessity of paying for a device in full, up front, and you have a not so attractive plan. There will be many customers, for sure, who will want an option like this. But given the ease of T-Mobile’s Simple Choice plans, it seems as though this appeals only to those who absolutely cannot pass a credit check. In which case, they’re stuck with what T-Mobile offers.

Via TmoNews.com.

The post T-Mobile To Announce “Simple Choice with no credit check” plans appeared first on MobileMoo.

by Joe Pawlikowski at June 26, 2013 12:30 PM

June 21, 2013

Beat on Broken Hearts in Springloaded’s Heart Beaten for Android

heart.beaten-android

Beat on Broken Hearts in Springloaded’s Heart Beaten for Android

Most people that have been in love have had their heart broken at some point, and it always sucks. The folks at Springloaded agree, and Heart Beaten is their retro tribute to lost love and heartbreak.

Android Games

by Adam Field at June 21, 2013 02:58 PM

Monoprice 8320 Earbuds Deliver at a Low Price

20130620_180008

Earbud headphones almost always suck. At least for me, and I know plenty of others who simply cannot stand them. I remember seeing everyone walking around with the signature white iPod earbuds as I walked around New York City in the mid-00s, wondering how they found them at all comfortable. For me they alway fell out, so I had to readjust them every 30 or so seconds while walking.

A recent trend in earbuds is including three different size buds with each pair. If the default buds are too big or too small, you can change it to one of the other included sizes. This is nice in many ways — I actually have a pair rigged up with two different sized buds on each ear — but I still can’t seem to find a pair that stays in my ear while walking.

Recently I connected with Troy Redington of FatWallet, who raved about the Monoprice 8320 earbuds. At first he went on about the sound quality, how they all but eliminated outside sound. Then he went on about the price, around $8, which just blows away the cheap earbud competition. When I asked about comfort he said he had dozens of earbuds lying around, but these fit far better. So sure, send me a pair for review.

I’m not going to say that these earbuds stayed in my ear like a dream. I’m not going to say that they’re superior to the Bose over-ear headphones I have. But I will say that in terms of earbuds, they are the most comfortable I’ve worn and they do deliver on sound quality. While they’re not great for spoken-word audio, such as podcasts, they do a real good job with all styles of music I tried.

As you can see in the picture atop this post, they’re not exactly normal looking earbuds. They have something of a hook on top, which is actually great. The hook helps the buds fit snugly in your ear. It takes a little twisting, but I got them to fit very well without moving too much. The cords also wrap around your ear, rather than hanging straight down. This probably makes the greatest difference. Since using these, I started wrapping all of my earbuds around my ear like that, and it honestly does make all of them more comfortable.

Yet what stood out to me about the Monoprice buds is that they’re made of nylon, rather than the cheap plasticky, rubbery substance you see with most headphones. It’s strange, because the buds are so cheap, yet the material feels anything but. They just feel more durable, which is nice. When I buy headphones under $10 I expect to replace them pretty quickly. These feel like they’re last for a while.

You can check out the FatWallet site to get these earbuds at an insanely cheap price. They do offer cash back if you register, which is nice. Again, it’s tough to do better for $8. It’s probably tough to do better for triple that.

The post Monoprice 8320 Earbuds Deliver at a Low Price appeared first on MobileMoo.

by Joe Pawlikowski at June 21, 2013 12:30 PM

June 20, 2013

Aquaria comes to Android via the Humble Bundle 6

Screenshot_2013-06-20-01-39-00

Aquaria comes to Android via the Humble Bundle 6

Aquaria is another awesome Indie that’s just arrived on Android courtesy of the Humble Android Bundle 6. It's the second Bundle game we've covered so far, and it's unlike any platformer you've ever played.

Android Games

by Adam Field at June 20, 2013 03:48 PM

January 14, 2013

The Software Millionaire Next Door

I've been reading "The Millionaire Next Door" and have so far found it to be a pleasant book with a good message: don't waste your money on silly things and appearance (fancy suits, fancy cars, expensive boats, etc...), save what you do earn consistently and constantly, invest wisely, and so on.   Wikipedia has a good summary:


http://en.wikipedia.org/wiki/The_Millionaire_Next_Door

One of the things I like about it is that it focuses on "ordinary" wealthy people, those with a million or more in the bank, but not the Warren Buffets or Bill Gates types that are extreme statistical outliers.  There are plenty of people in the US who have done well by themselves by slowly but surely putting together enough money to be financially independent, without, however, being in the spotlight.   As the book says, these are the kind of people who maybe own a local chain of businesses doing something fairly ordinary, but doing it well enough to succeed.  They may very well not live in a fancy house, nor drive an expensive car, or otherwise outwardly draw much attention to themselves.

The world of software does not revolve around "dressing for success" (you noticed?), but we do tend to focus on the "big winners".  Gates, Jobs, Zuckerberg, Larry & Sergey, Larry Ellison, and so on are the stars of the show.  Of course, the economics of software being what they are, instances of winner-take-all markets with one big fish and a lot of also-rans are not uncommon.   However, that is not the only story, and I think it'd be interesting to know more about those in our industry who have accumulated significant wealth, yet are not the guys with more money than they could possibly ever spend on things that aren't, say, country-sized chunks of real-estate.

I'm guessing they'd fall into these categories:

  • Highly paid workers who have consistently saved over the years.  There are examples in the aforementioned book about people with relatively low salaries who happened to be very frugal and invest well (and have had some luck in their investments too).  These people would probably tend to be older, as it takes a while to save up that kind of money, and since this industry is so young with so much turnover, I would not think there would be a lot of people out there like this, but who knows, maybe there are a bunch of IBMers with this kind of story.
  • Those who got in on the right IPO, like Google or Facebook or something like that.  These events not only generate billions for those at the top of the heap, but for the right person at the right place at the right time, can mean significant wealth even without being in the upper echelons of the company.  My suspicion is that this kind of IPO, where everyone cashes out, is not common enough to have a lot of people in this category, but who knows, maybe it adds up over the years.
  • Those who own or started software firms that do something that's not very visible, but nonetheless dominates some particular niche.  This is where I'd guess most of them would be, but I certainly have no data or even anecdotes to back this up.

It'd be very interesting to gather some actual data on this, although I'm not in a position to do so myself - I wouldn't even really know where to start. 

As I age, I think the third category has begun to seem appealing in many ways - I'm simply not cut out for the Big Company life, and I'm not interested in living in Silicon Valley and going "all in" on the latest startup - I already did that, and while it was fun and I don't regret it, it's not the kind of thing I'd want to do now that I'm married and have kids.   Incidentally, this more relaxed, under the radar approach is exactly what is expoused in one of my favorite books of the past few years, Start Small, Stay Small.

Edit : I finished reading the book and reviewed it here: http://davids-book-reviews.blogspot.com/

by David N. Welton at January 14, 2013 10:23 PM

July 23, 2012

Transfer of data using Intents (Part 2)

Hi everyone!

In spite of trying hard, I couldn’t prevent the delay. I am again sorry for that. Let’s move on. In the last post, I introduced the concept of transfer of data between activities. I also described the code for declaring an Intent which could help us in accomplishing the task.

Now, it’s time to look at the code of SecondActivity.java, the second activity which will help us in adding new tasks to the list. As mentioned earlier, this activity will have an EditText to allow the user to input the task name and a Button, which when clicked, will take the user back to HelloWorldActivity.java and add the task to the List. The code for the click listener for this button looks as follows:

  1. String taskName = taskEdit.getText().toString();
  2. Intent intent = this.getIntent();
  3. intent.putExtra(“task”, taskName);
  4. setResult(RESULT_OK, intent);
  5. finish();

Here, taskEdit is an object of class EditText. The first line extracts the data input to the taskEdit, converts it into string and stores it in a variable. Second line is used to grab access to the intent which called this activity. The third line is the one which actually does the job of putting the data onto the intent. intent.putExtra function used in this line basically adds the information contained in the second parameter to the intent and the first parameter provides a way to access it. We will see the use of the first parameter in a greater detail later, when we will try to access this information in HelloWorldActivity.java. I hope that the fourth and fifth lines will be pretty easy to understand. If not, please refer to the last three posts on Intents.

The above code ensures that the clicking of the button takes us back to the initial activity with an intent which contains the name of the new task that is to be added to the list.

Clearly, the callback function described in Part 1 of this post will be used to access the information carried by the intent since this function will be automatically called when the control is given back to this activity via an intent. Straight away, let’s look at the code!

String extraData=data.getStringExtra(“task”);
taskText.append(extraData+”\n”);

I think it is self-explanatory. We are extracting the information from the variable data using the value of the first parameter of the function in Line 4 above, and saving it in a variable called extraData. The second line just appends this value to the list (referred by taskText).

In this way, we received the name of the task from a different activity and display it in our main activity. This provides a clean and user-friendly interface which is the basis of a useful app.

But here, we have not taken care of the situation when the user calls the intent to SecondActivity.java but wants to cancel it later. This is not perfect programming, though it can be dealt very easily. How?

In the next post, we will finish our discussion on intent and move on to explore some new concepts in Android App Development.

Till then, BYE!


by Nikhil Gupta at July 23, 2012 12:44 PM

July 11, 2012

Transfer of data using Intents (Part 1)

Hi all!

Last time, we had looked at the most basic communication which can be achieved among activities. It allowed us to switch between activities back and forth, which is an important concept used in almost all the android apps these days.

Moving on, it’s time to look at the data transfer using Intents. Consider the case of a simple Task application, in which a To-do list is shown in one activity while another activity performs the task of adding new items to the list. So, what’s happening here?

Basically, we need to create a new task in the second Activity and somehow transfer it to the first activity so that it could add it in the existing list. Note that we are not using any database. If we do so which is done most of the times, this app will be useless in itself. But, I am still discussing this app because I feel that it’s the best in order to understand the concept of transfer of data which you may need in various other apps.

In this post, I will not go through the layout or the entire code of the app. I may go through it later. But, I hope that you will be able to do so after going through the previous posts. As a hint, we will be using a TextView (to display the list) and a Button while making the first activity, while the second Activity will have an EditText and a Button.

Assuming that we have an EditText in the second Activity and when the user presses enter, the string in the EditText is captured in a string variable called NewTask, we need to simply tranfer the contents of NewTask to the first activity.

To achieve this, we need to call the intent when the button in pressed in the first activity in such a way that the Android platform knows that some data will be coming back to this activity. Continuing with the app from the previous post by replacing the startActivity(intent); by

startActivityForResult(intent, 1);

as a parameter acts as a unique code used to distinguish data received by this intent from the data received by other intents if more intents are used. Using the above functin, we have been able to call the intent, but we have not yet accessed the data which comes back with this intent.

To achieve this, we need to use a callback function which will called automatically when the intent returns. Let’s look at the code for this function:

public void onActivityResult(int requestCode,int resultCode,Intent data)
{
          super.onActivityResult(requestCode, resultCode, data);
          if(resultCode==RESULT_OK)
          {
                      //Code to extract the required information from the variable data
          }
}

In our case, requestCode is 1. resultCode is a variable which is set to value RESULT_OK if the intent was successfully handled. data is the variable which contains the data received from the other activity.

In the next post, we will look at the code to extract the information as well as the code for the second Activity which puts the information in the intent.

Till then, BYE!


by Nikhil Gupta at July 11, 2012 05:36 AM

July 04, 2012

Planet Android summer cleaning

Blogs come and blogs go, and nowhere is this more apparent than in a fast changing technology area such as Android. Today I removed 12 feeds from PlanetAndroid that haven't had updates in a while (some since 2010). If you feel your feed was removed in error, let me know.

In a reply to a recent post, one reader said they'd like to see fewer app reviews and news articles here, and more development diaries, tutorials, and community activities. What do you think? What are your most favorite and least favorite feeds? Let me know in the comments.

by Ed Burnette (noreply@blogger.com) at July 04, 2012 03:00 AM

June 14, 2012

New PlanetAndroid feed policy

Starting today I'll be removing most feeds that include embedded ads. Currently, I pay for PlanetAndroid's upkeep out of my own pocket, with no revenue coming in from ads or donations at all. When an ad appears in one of our feeds, it takes space away from the other articles and gets clicks based on the drawing power of the whole site, including feeds with no ads. That didn't seem fair.

I grandfathered in a handful of feeds for various reasons including new sites that need the extra juice that PlanetAndroid brings to help them get started. Some sites report that being listed on PlanetAndroid has doubled their traffic! If you feel your feed was unfairly removed, or if you make a new feed without the ads and want to re-join, just let me know. Thanks for your support.

by Ed Burnette (noreply@blogger.com) at June 14, 2012 12:48 AM

June 12, 2011

Android and openness

On Thursday I gave a talk at TriLUG. The slides I used are available but will probably be rather cryptic without my accompanying commentary.

Although I understand that Google has had to contend with both the open source zealots and the closed-everything carriers, upon looking at the trend, I find Google’s actions getting more disturbing. Just as Android seems to be coming into its own and Google should have more power than ever to twist arms, Google seems to be wimping out – or turning evil. I hope I’m wrong and they’re just waiting for the right time.

One thing I completely forgot to talk about is the abandoning of the Nexus One. When it came out, it was supposed to herald a new age of cross-carrier, stock-Android phones (with a built-in connection-sharing capability, no less). Only T-Mobile really picked it up – you could use it on AT&T but without 3G. Verizon and Sprint were supposed to be coming out with support for the same concept and just a different radio, but instead they released their own phones, with the usual modifications and constraints. So why did Google let them? They didn’t have to; the Skyhook case shows that Google can essentially pull their blessing from any phone for any reason. An Android phone without the Google apps isn’t going to be very attractive to consumers. Why didn’t Google force Verizon and Sprint to kowtow to the Nexus One before allowing them to release any more Android phones?


by Luke Meyer at June 12, 2011 12:59 AM

April 01, 2011

Is this thing on? ::feedback:: ouch…

Well – I don’t want to let the *entire* month of March go by without a post. I just haven’t done much with tech this month, though. It sucked. But evidently my absence has caused a surge in popularity, according to my stats. Less is more?

If I remember correctly – is Honeycomb the first version of Android where we actually saw a preview, got to fiddle with the SDK platform preview before it was actually embodied in a device? If so, better late than never, and let’s hope it means we’re on the way to seeing more of a community effort. Hey, it took a while for Red Hat to learn with Fedora, too, and they didn’t have voracious proprietary partners to contend with.

I have a meetup or two to arrange, but I hope I get some time to work further with ORMlite shortly.

Happy April Fools Day tomorrow!


by Luke Meyer at April 01, 2011 01:01 AM