Planet Android Headlines

↑ Grab this Headline Animator

July 25, 2014

WWII MMO War Thunder Making its Way to Shield Tablet and other K1 Devices

Previously released on PC and PlayStation 4, War Thunder will be coming to Tegra K1 devices including the Shield Tablet. War Thunder is an expansive WWII MMO that has players piloting planes on either the Allies or the Axis side.

While right now they are not player controlled, soon players will be able to drive tanks and pilot ships. The various battlefields, and vehicle option allow for large scale battles with many players controlling all aspects of the battle.

An interview with Anton Yudintsev,  the CEO of Gaijin Entertainment, talked about how only the power of the new Tegra K1 chip allows for a game like this to be possible on mobile. "Right now the only mobile hardware which is capable of running War Thunder at a really good quality level without any compromises is a newest NVIDIA Tegra K1 chip"

There is no set release date for War Thunder's mobile release. You can check out our previous coverage for more details about this game or stay tuned here for future updates.

Website Referenced:  TegraZone

July 25, 2014 12:11 PM

[Updated] Trendy Entertainment officially announces Dungeon Defenders Eternity for Android and Steam

Once a fan favorite before development seemed to stop altogether, Trendy Entertainment's Dungeon Defenders was a great game to play on Android. Now it seems that life is finally being breathed back into the franchise for Android devices with the launch of Dungeon Defenders Eternity.

Update July 25th, 2014 12:56am PST: This game is now officially on Google Play and can be downloaded through the link below for $9.99.

This is part of the overall news flood regarding Nvidia's Shield Tablet announced officially this morning. One of the games mentioned to be coming is this one and sure enough it is now available on Google Play, or is supposed to be anyways. As of the time of writing this it hasn't shown up just yet. So what is Dungeon Defenders Eternity? Basically it is the original game rebuilt from the ground-up. Players can now play against waves of enemies either on the go using their Tegra-based Android tablet or by logging in and playing through your web browser of choice.

As we get closer to the arrival of Dungeon Defenders II, we’re thrilled to revisit the title that forged the franchise, offering a new and exciting update on a classic experience for both those who have been playing for years and those just joining us today. Dungeon Defenders Eternity is in many ways a product of our players, built around feedback from fans. Having an open dialogue with our fans is core to all our efforts at Trendy, and that same philosophy is being actively applied to our work on the sequel as well. - Darrell Rodriguez, CEO of Trendy Entertainment.

There are numerous improvements to the game with the launch of Dungeon Defenders Eternity such as visible armor that reflects each player’s unique equipment, a new dashing system, stat and ability-boosting consumables, ability-granting amulets and much more. This game also has four new missions and more planned to arrive for free after launch. When the game launches, the new Hall of Triumphs will activate, where players can unlock special items, titles and pets for use in Dungeon Defenders II.

The Android version, while being a full-sized game, will feature slightly less content. What exactly is different hasn't been mentioned though. It will cost you $9.99 to snag a copy of this game when it shows up on Google Play and you will need an Tegra-based Android device for right now. It will arrive for other Android devices in the near future. As soon as it shows up on Google Play, we will post an update with the link for it.

Tegrazone Marketplace: Dungeon Defenders Eternity

July 25, 2014 11:56 AM

Run, Jump, and Shoot in Tales of Ciaxia

Tales of Caxia

There are certain types of games that have become paramount of the portable gaming world. As we have said before, most games involving birds seem to do quite well, whereas others that are more like number puzzles tend to grab our attention for a little longer. However, no one can argue that one of the newer genres to hit our devices is the action/run, jump, shoot style of games that have been on our devices since the introduction of Temple Run and Subway Surfers. Normally, games like these are rich in 3D graphics and have very fluid animations (and thus require a considerable amount of system resources) and because of this, may require a vast amount of coding. This is why we tend to see games like these coming out of somewhat larger companies such as Glu Mobile and Gameloft. It is, however, always refreshing when coming across games like these but that are made with passion in mind and on top of all, by a single individual such as the indie game developer, XDA Forum Member Pallaxa.

Tales of Ciaxia is a run, jump, and shoot type of game, in which you play the role of Princess Ciaxia. You have been taken prisoner by dark creatures and by using your magic powers and the aide of your pet, you try to break free from your imprisonment. Much like it is the case with most of these games, your objective is to go as far as you can by shooting down enemies with your magic arrows, jumping and avoiding obstacles, and trying to run as far as your skill will allow you to get. Along the road, you will find coins that will increase your score, as well as certain power ups that will give you better chances to get even further. On top of that, you are running along with a little pet that will help you to get those hard to get power ups that are just too close to a wall for your own comfort.

The game is packed with things and features that can be unlocked as you complete certain challenges. Please be sure to drop by the thread and help the dev with valuable feedback to get the game going. The dev is currently working on all new updates while squashing bugs. Remember that this is a one man show, so any help you provide is greatly appreciated. Have fun!

The addictive game Tales of Ciaxia is now out for Android!
Can you beat the highscore and unlock all achievements?
Join Ciaxia through a fairy tale world and help her to escape the dark dungeon.

You can find more information in the Tales of Ciaxia’s game thread.

The post Run, Jump, and Shoot in Tales of Ciaxia appeared first on xda-developers.

by egzthunder1 at July 25, 2014 06:33 AM

Samsung Gear Live Stock Firmware Image Pulled, Temp Root

Samsung Gear Live Root and Stock Firmware

Just yesterday, XDA Recognized Developer and TV Producer AdamOutler tore apart the Samsung Gear Live in his latest XDA Unboxing episode. During the video, Adam talked about a few development-related issues that currently facing Samsung’s first Android Wear offering. And for those who don’t remember, one of the issues that was brought up was how there were no OEM-provided stock firmware images to restore to, in the event that something goes wrong while hacking the device.

Well, after many hours of work, Adam (with help from Senior Recognized Developer Dees_Troy) was able to straighten out this situation. To do this, Dees_Troy first had to create a root-enabled bootable image that would give full ADB access and temporary root. Once that was accomplished, Adam was able to pull the stock firmware and EFS data. Adam then proceeded to upload the stock image to his CASUAL server.

In case you missed it when skimming the above, this was made possible thanks to the first ever custom kernel for the device. This kernel, which is also available in Adam’s thread, can be loaded via fastboot boot for temporary root. It allows for you to pull and modify the /system partition, as well as run root-enabled apps. However, as stated above, this is only temporary root for now. As such, rebooting will take you back to the standard, unrooted boot image.

If you’ve got a Samsung Gear Live and you either want temp root or want to download the stock firmware in case anything goes wrong, head over to the Gear Live stock firmware and temp root thread and download away!

The post Samsung Gear Live Stock Firmware Image Pulled, Temp Root appeared first on xda-developers.

by Will Verduzco at July 25, 2014 01:30 AM

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

One click Hotspot on The Verizon LG G3

One click Hotspot on The Verizon LG G3

 

The New LG G3 is an incredible device. After just a few days I’m already rating it higher than the Nexus 5.  Unfortunately for early adopters the Hotspot function takes a little work to get going when using the root bypass.  To get it working you’ll first need to visit the G3 thread at xda-developers.com.  Once you’ve finished setup you can use the Apk below to automate the action.  The Apk is made up of several Tasker scripts and requires root privileges to function.

  • You must be rooted for the process to work.
  • You do not need Tasker installed to run this app.
  • Wifi must be set as your second toggle from the left in  the pull down menu.

Link to XDA-Developers.com Forum - http://goo.gl/Q8NaoW

Link to Tasker script apk - http://goo.gl/i1wft1

Let us know if the Comments how it works for you.

Land of Droid -

by Obi Onyeador at July 21, 2014 04:02 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 16, 2014

Experiencing The OnePlus Experience Part 3 – Being OnePlussed

Experiencing The OnePlus Experience Part 3 – Being OnePlussed

Just under a month ago I wrote a detailed account of my OnePlus Experience on the site where I outlined how poor the company where at communicating with customers and shipping their elusive handsets. That post was quickly followed up by another OnePlus Experience by Jacob Crawley, who ordered his handset the day before I ordered mine, and outlined his personal experience with the new company.

16_10_mod

In the posts we mentioned how OnePlus had made serious error with the CE logo when they shipped the EU bound devices and how they would have to take that stock back from Germany and ship it back out to us when the problem had been rectified. We also showed the email that OnePlus had sent us all to let us know about the delay (which is pasted below).

Hi John,

Thank you for ordering from oneplus.net. Unfortunately due to an issue with customs in Europe, one of our shipments has been delayed on its way to the warehouse. Your order was among the affected.

The issue stems from our vision for the design of the OnePlus One. For the back cover, we wanted the regulatory icons and text to be in harmony with each other and appear be as minimalistic as possible. In order to achieve this, we modified the CE icon to match the other icons. This was deemed unacceptable and our shipment was returned.

You placed an order that was planned to be shipped last week. Due to unforeseen issues with our product design, we need two more weeks until we can ship. Please accept from us a complimentary cover and screen protector (when they become available later this month) as a token of good faith. You may also cancel your order and receive a full refund.

We sincerely apologize on behalf of the entire OnePlus Team for causing you such inconvenience, and hope you forgive us for making such mistakes in the course of our growth.

Best regards,

Michael Truong

OnePlus Global

Part of that email had mentioned how, by way of an apology, the company would send us a “complimentary cover and screen protector (when they become available later this month)”.

WILL ONEPLUS EVER LEARN FROM THEIR MISTAKES?

Fast forward to the 16th of July 2014, almost a month since that email was sent to their customers and we are still waiting on the “complimentary cover and screen protector”. Now this of course isn’t a huge issue, I mean it’s a cover and a screen protector however what is the issue is the lack of any form of communication to their customers based on promises they made.

Personally, I held off emailing and asking what was happening as I simply wanted to see how long it would take OnePlus to email us or even ship the items however, Jacob is a lot less patient than I am and he decided to contact the OnePlus support team to find out what was happening.

Jul 08 17:59

This is a follow-up to your previous request #10040 “Shipping delay?”

Hi,

When do I get the free screen protector and cover I was promised?

Hi Jacobcrawley,

Thanks for getting in touch. We will send you an email when we’re ready to send out your free case and screen protector:)

Cheers,
Mingyu

As you can see from the emails, the OnePlus reply was nothing less than a canned response that committed to nothing and also offered no sense of remorse or apology. Again, I ask the question, what has happened to this

unparalleled customer experience”

Of course the real questions I should be asking is, when will they actually ship the items however for now this seems very much like another case of, what I have now coined as a usable phrase …

“I’ve Been OnePlussed”

Now that new useable phrase could of course mean something else, perhaps the action of being given a OnePlus invite from someone could mean that you had been OnePlussed though that said, given that the buyers of the handsets are yet to receive the 3 OnePlus invites that you get when you buy a OnePlus, this isn’t likely to happen so we will stick with it meaning exactly what it sounds like meaning for now.

oneplussed

Getting back to the invites, these were promised to everyone who bought a OnePlus One from the company and when I asked about when they would be added to our OnePlus accounts back in June I was told “The invites for buyers will start to go out in July” by Bridget Hickey of OnePlus. I thought to myself, again, I could be jumping the gun a little by expecting them to be here when we are only just over the halfway mark for the month but then I remembered, since the date I ordered my OnePlus One, the company have given away hundreds of invites to people via their social media channels so exactly why are they unable to reward the customers who have already bought a device from them? Let’s be honest, it’s not like those invites they are giving away are anything more than just an invite at the moment as they are still not shipping quickly enough anyway.

It’s Not A Witch-hunt

A lot of people reading this might actually consider what I’ve written to form part of a witch-hunt against the company so let me state categorically now, this is not a witch-hunt. I simply believe that customers deserve the right to know what to expect when they deal with a company. It must also be said that I now have my OnePlus One and that I love it above all other handsets I have and that it’s my daily driver right now. It’s like a certain Google Glass wearing fella once said “I almost feel like it’s too cheap” given that this handset is one which I would happily have paid £500 for if it were any other manufacturer,

Of course, as the saga continues I will continue to provide updates, perhaps not on a large-scale post like this one but you are more than welcome to keep up to date by following me on Google+ where I write a lot of things about a lot of things.

 

Land of Droid -

by John McKenzie at July 16, 2014 10:16 AM

July 08, 2014

Webinars: Memory and Security

A pair of webinar topics have been added to the roster for August through early October.

One is a two-hour Webinar on memory management, a trimmed-down and slightly-updated version of a presentation that I delivered at AnDevCon Boston 2014. Here we will examine why you have as many problems as you do, what tools exist to help you determine if you have a memory problem (and where that problem may come from), and some tips for better managing the memory that you have.

The other is “The Security Problems You Aren’t Thinking About”, reviewing a variety of ways in which your app could have security problems, particularly using APIs and Android capabilities that you might think would not present such problems. This is based in part on a conference presentation I delivered at DevWeek 2014 earlier this year.

As with past webinars, these are each scheduled for four different dates and times, to try to provide you with enough options to find one that you can attend.

Subscribers can visit their Warescription page to get the discount codes for these and the other scheduled webinars, though they are also open to the public.

If you have any questions regarding the webinars, let me know.

by Mark Murphy at July 08, 2014 10:38 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 06, 2014

Samsung Galaxy Tab S Vs iPad Air – Finally an iPad Killer

The post Samsung Galaxy Tab S Vs iPad Air – Finally an iPad Killer appeared first on galaxytabreview.

The high end tablet PC from Samsung is being touted as iPad Killer by a lot of people including us. Even if you go by the looks only, we are looking at the real iPad-killer in flesh.

The Samsung Galaxy Tab S range is lighter, thinner and more capable than any tablet PCs Samsung has launched to date.

The Tab S comes with best quality screens and lots of power under the shell.

Samsung Galaxy Tab S Vs iPad Air

Samsung’s director of product marketing admits that the company has never been able to launch a super high end tablet with the potential to rival the market’s front-runners.

But with the Tab S, Samsung hopes to have same success they had with the S5 smartphone which is number one selling phone in many countries.

by Galaxy Tab Review at July 06, 2014 04:51 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