Tuesday, April 26, 2011

Merchant Sales Reports on Android Market

[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]

As part of our ongoing efforts to provide better tools to help you manage your business, we are introducing merchant sales reporting on Android Market. Developers now have convenient access to monthly reports that detail the financial performance of their applications directly from the Android Market Developer Console.

Based on Google Checkout financial data, these reports provide per-transaction details including additional information such as device information, currency of sale, and currency conversion rate. Developers will be able to easily download these reports as a CSV (comma-separated values) files to enable further analysis at their convenience.

Starting today, developers can download merchant sales reports for March 2011 from the Developer Console. Reports for months going back to January 2010 will be available in the coming weeks. Moving forward, sales reports for each month will be available by the 10th day of the following month.

We hope you’ll find these new sales reports useful. As always, please don’t hesitate to give us feedback through Market Help Center.

You have read this article Android Market with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/merchant-sales-reports-on-android-market_26.html. Thanks!
Friday, April 15, 2011

How Do I Reinstall an App from Ovi Store?

This is a question I had to ask myself when I was trying out @offscr (Offscreen Technologies) Grid Touch v1.5 [1]

Short answer: Do not uninstall any apps on S^3 handsets unless you have Ovi Store open. If you don't, Ovi Store's installed apps database may not update correctly.

UPDATE: Even this method is not always foolproof. Sometimes you just have to try and find a site outside of the Nokia ecosystem to download the .sis installer you need.

Long answer, read on:

I had to uninstall and reinstall the application after a non-repeatable bug prevented the application starting after a phone restart (it was a one-time glitch, and the application is behaving as it should now).

The problem was that after uninstalling Grid Touch and visiting Ovi Store on the N8 to reinstall, the Ovi Store only gave me an option to "Launch". There was no way at all I could download the application again.

Grid Touch is only available through the Ovi Store, so I could not download a .sis installer package and get around the issue that way. Searching for a solution to this issue returned no specific results, so I'm writing this in case anyone else has the same issue.

I suspect Ovi Store saves an "installed applications" database on your device, probably in XML, that keeps track of what applications are installed from the store. The problem is that when you delete an application, the database is not updated. This results in an incorrect installation state to the Nokia Launcher, and when you click Launch in Ovi Store, Nokia Smart Installer can not open the deleted program.

Here are the steps to resolve the issue on the N8. This procedure should work for all Symbian 3 (S^3) devices until @ovibynokia implement a fix to Ovi Store v2.06.00042.

  1. Uninstall any applications you need to reinstall from the Installed apps menu.
  2. On the Ovi Web interface, delete the applications uninstalled from the phone from the Your Stuff section.
  3. On the N8, select Menu Button>Settings>Application Manager>Installed apps.
  4. Scroll to the Ovi Store application.
  5. Long-tap, and select Uninstall.
  6. Wait for the operation to complete.
  7. Tap back until you Exit the Settings Menu.
  8. On the menu screen, tap the Store icon.
  9. Install the Ovi Store again.
  10. Start Ovi Store on the device.
You should now be able to reinstall the applications that you uninstalled. 



[1] Grid Touch v1.5 has been rebuilt using Qt, and it now has Menu Button integration. Providing you keep the app open in the background, the menu button opens the application and you have instant access to all programs on your device. The best thing about Grid Touch is that it is free to download and use.
You have read this article nokia / nokia apps / nokia store with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/how-do-i-reinstall-app-from-ovi-store.html. Thanks!
Wednesday, April 13, 2011

Customizing the Action Bar

[This post is by Nick Butcher, an Android engineer who notices small imperfections, and they annoy him. — Tim Bray]

Since the introduction of the Action Bar design pattern, many applications have adopted it as a way to provide easy access to common actions. In Android 3.0 (or Honeycomb to its friends) this pattern has been baked in as the default navigation paradigm and extended to take advantage of the extra real-estate available on tablets. By using the Action Bar in your Honeycomb-targeted apps, you'll give your users a familiar way to interact with your application. Also, your app will be better prepared to scale across the range of Android devices that will be arriving starting in the Honeycomb era.

Just because Action Bars are familiar, doesn’t mean that they have to be identical! The following code samples and accompanying project demonstrate how to style the Action Bar to match your application’s branding. I’ll demonstrate how to take Honeycomb’s Holo.Light theme and customise it to match this blog’s colour scheme.

<style name="Theme.AndroidDevelopers" parent="android:style/Theme.Holo.Light">

</style>

Icon

This step is easy; I’ll use the wonderful Android Asset Studio to create an icon in my chosen colour scheme. For extra credit, I’ll use this image as a starting point to create a more branded logo.

Navigation

Next up, the navigation section of the Action Bar operates in three different modes; I’ll tackle each of these in turn.

Standard

The Action Bar’s standard navigation mode simply displays the title of the activity. This doesn’t require any styling... next!

List

To the left, a standard list drop-down; to the right, the effect we want to achieve.

The default styling in list navigation mode has a blue colour scheme. This is evident when touching the collapsed control in both the top bar, and the selection highlight in the expanded list. We can theme this element by overriding android:actionDropDownStyle with a custom style to implement our colour scheme:

<!-- style the list navigation -->
<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/ad_spinner_background_holo_light</item>
<item name="android:popupBackground">@drawable/ad_menu_dropdown_panel_holo_light</item>
<item name="android:dropDownSelector">@drawable/ad_selectable_background</item>
</style>

The above uses a combination of state list drawables and 9 patch images to style the collapsed spinner, the top bar of the expanded list and sets the highlight colour when picking an item.

Tabs

Here are the before-and-after shots on the tab navigation control:

The tab navigation control uses the standard blue colouring. We can apply a custom style to android:actionBarTabStyle to set our own custom drawable that uses our desired palette:

<!-- style for the tabs -->
<style name="MyActionBarTabStyle" parent="android:style/Widget.Holo.Light.ActionBarView_TabView">
<item name="android:background">@drawable/actionbar_tab_bg</item>
<item name="android:paddingLeft">32dp</item>
<item name="android:paddingRight">32dp</item>
</style>

Actions

Before-and-after on the individual items in the Action Bar:

The individual action items inherit the default blue background when selected. We can customise this behaviour by overriding android:selectableItemBackground and setting a shape drawable with our desired colouring:

<item name="android:selectableItemBackground">@drawable/ad_selectable_background</item>

The overflow menu also needs some attention as when expanded it shows a blue bar at the top of the list. We can override android:popupMenuStyle and set a custom drawable (in fact the very same drawable we previously used for list navigation) for the top of the overflow menu:

<!-- style the overflow menu -->
<style name="MyPopupMenu" parent="android:style/Widget.Holo.Light.ListPopupWindow">
<item name="android:popupBackground">@drawable/ad_menu_dropdown_panel_holo_light</item>
</style>

Selecting items within the overflow menu also show the default selection colour. We can set our customised selection colour by overriding android:dropDownListViewStyle:

<!-- style the items within the overflow menu -->
<style name="MyDropDownListView" parent="android:style/Widget.Holo.ListView.DropDown">
<item name="android:listSelector">@drawable/ad_selectable_background</item>
</style>

These changes gets us most of the way there but it’s attention to detail that makes an app. Check boxes and radio buttons within menu items in the overflow section are still using the default assets which have a blue highlight. Let’s override them to fit in with our theme:

<item name="android:listChoiceIndicatorMultiple">@drawable/ad_btn_check_holo_light</item>
<item name="android:listChoiceIndicatorSingle">@drawable/ad_btn_radio_holo_light</item>

Background

I’ve left the background transparent as inheriting form Holo.Light works well for our desired palette. If you’d like to customise it you easily override the android:background item on the android:actionBarStyle style:

<style name="MyActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/action_bar_background</item>
</style>

Bringing it all together

Putting all of these components together we can create a custom style:

<style name="Theme.AndroidDevelopers" parent="android:style/Theme.Holo.Light">
<item name="android:selectableItemBackground">@drawable/ad_selectable_background</item>
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
<item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
<item name="android:actionBarTabStyle">@style/MyActionBarTabStyle</item>
<item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
<item name="android:listChoiceIndicatorMultiple">@drawable/ad_btn_check_holo_light</item>
<item name="android:listChoiceIndicatorSingle">@drawable/ad_btn_radio_holo_light</item>
</style>

We can then apply this style to either an individual activity or to the entire application:


<activity android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/Theme.AndroidDevelopers"
android:logo="@drawable/ad_logo">

Note that some of the system styles that we have overridden in this example will affect much more than the Action Bar. For example overriding android:selectableItemBackground will effect many widgets which support a selectable state. This is useful for styling your entire application but be sure to test that your customisations are applied consistently throughout.

Familiar but styled

Customising the action bar is a great way to extend your application’s branding to the standard control components. With this power, as they say, comes great responsibility. When customising the user interface you must take great care to ensure that your application remains legible and navigable. In particular, watch out for highlight colours which contrast poorly with text and provide drawables for all relevant states. Explore this demo application which exercises the functionality offered by the Action Bar and demonstrates how to theme it.

You have read this article User Interface with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/customizing-action-bar_13.html. Thanks!

Android Developer Challenge, Sub-Saharan Africa!

[This post is by Bridgette Sexton, an innovation advocate for the African tech community. — Tim Bray]

En Français.

In the past year alone, we have met with over 10,000 developers and techies across Sub Saharan Africa. We are continually impressed by the ingenuity and enthusiasm of this community in solving real problems with technology. From applications that crowd-source traffic info to mobile registration of local businesses, handheld devices have taken center stage for consumers and developers in Africa. With a number of countries in the region hovering around 80-90% mobile penetration, mobile is the screen size for the web and the communication experience.

Correspondingly, at every Google event in Africa, Android is the hottest topic; we know why. Every day over 300,000 Android devices are activated globally! A growing number of these mobile devices are powering on for the first time in emerging markets like those in Africa. As Android users multiply, so does the appeal to for developers of building apps on this free open-source platform.

An increasing number of users are searching for 'Android' on Google in Sub-Saharan Africa

For all these reasons and more, we are proud to be launching the Android Developer Challenge for Sub-Saharan Africa!

The Android Developer Challenge is designed to encourage the creation of cool and innovative Android mobile apps built by developers in Sub-Saharan Africa. Invent apps that delight users and you stand a chance to win an Android phone and $25,000 USD. To get started, choose from one of three defined eligible categories (see below), build an Android app in a team or by yourself, and submit it via the competition website by July 1st. The winning app will be announced on September 12th at G-Kenya. Get more details as well as Terms and Conditions on our site.

Categories for Entry:

  • Entertainment / Media / Games

  • Social Networking / Communication

  • Productivity / Tools / Lifestyle

(See Terms & Conditions for more details!)

To launch this competition, we have teamed up with Google Technology User Groups (GTUGs) across Africa to host Android Developer Challenge events. Check out our website for Android gatherings near you, and get coding!

You have read this article with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/android-developer-challenge-sub-saharan_13.html. Thanks!

New Carrier Billing Options on Android Market


[This post is by Eric Chu, Android Developer Ecosystem. —Dirk Dougherty]

Since last year, we’ve been working to bring the convenience of Direct Carrier Billing to more Android Market users on more carrier networks. Building on the launches to T-Mobile US and AT&T users in 2010, we’ve recently launched Direct Carrier Billing to users on three popular networks in Japan -- SoftBank, KDDI, and NTT DOCOMO.

The momentum continues and today we’re excited to announce that Direct Carrier Billing is now available on Sprint. We've begun a phased roll-out of the service that will reach all users in the next few days. When complete, Android users on the Sprint network will be able to charge their Android Market purchases to their Sprint mobile bill with only a few clicks.

We believe that Direct Carrier Billing is a key payment option because it lets users purchase and pay for apps more easily. It’s also important because it offers a convenient way to buy in regions where credit cards are less common.

We are continuing to partner with more carriers around the world to offer carrier billing options to their subscribers. Watch for announcements of new payment options coming in the months ahead.

You have read this article Android Market with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/new-carrier-billing-options-on-android_13.html. Thanks!
Wednesday, April 6, 2011

I think I’m having a Gene Amdahl moment (http://goo.gl/7v4kf)

[This post is by Andy Rubin, VP of Engineering —Tim Bray]

Recently, there’s been a lot of misinformation in the press about Android and Google’s role in supporting the ecosystem. I’m writing in the spirit of transparency and in an attempt to set the record straight. The Android community has grown tremendously since the launch of the first Android device in October 2008, but throughout we’ve remained committed to fostering the development of an open platform for the mobile industry and beyond.

We don’t believe in a “one size fits all” solution. The Android platform has already spurred the development of hundreds of different types of devices – many of which were not originally contemplated when the platform was first created. What amazes me is that even though the quantity and breadth of Android products being built has grown tremendously, it’s clear that quality and consistency continue to be top priorities. Miraculously, we are seeing the platform take on new use cases, features and form factors as it’s being introduced in new categories and regions while still remaining consistent and compatible for third party applications.

As always, device makers are free to modify Android to customize any range of features for Android devices. This enables device makers to support the unique and differentiating functionality of their products. If someone wishes to market a device as Android-compatible or include Google applications on the device, we do require the device to conform with some basic compatibility requirements. (After all, it would not be realistic to expect Google applications – or any applications for that matter – to operate flawlessly across incompatible devices). Our “anti-fragmentation” program has been in place since Android 1.0 and remains a priority for us to provide a great user experience for consumers and a consistent platform for developers. In fact, all of the founding members of the Open Handset Alliance agreed not to fragment Android when we first announced it in 2007. Our approach remains unchanged: there are no lock-downs or restrictions against customizing UIs. There are not, and never have been, any efforts to standardize the platform on any single chipset architecture.

Finally, we continue to be an open source platform and will continue releasing source code when it is ready. As I write this the Android team is still hard at work to bring all the new Honeycomb features to phones. As soon as this work is completed, we’ll publish the code. This temporary delay does not represent a change in strategy. We remain firmly committed to providing Android as an open source platform across many device types.

The volume and variety of Android devices in the market continues to exceed even our most optimistic expectations. We will continue to work toward an open and healthy ecosystem because we truly believe this is best for the industry and best for consumers.

You have read this article with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/i-think-im-having-gene-amdahl-moment_6.html. Thanks!
Tuesday, April 5, 2011

DropBox on Symbian^3: WebDAV vs Native App

If you're like me, you've found that DropBox is kind of irreplaceable in day to day life. [0].

One really frustrating thing about DropBox is that they offer DropBox API apps for Apple, Android, and even Blackberry. But poor old Nokians miss out.  We have to suffer with 3rd-party WebDAV providers such as www.dropdav.com, and set up a virtual drive in our Symbian 3 File Manager.

I've been using the WebDAV method ever since I got DropBox. I like that you can connect to your cloud-stored files anywhere you have a data or WiFi connection. I mainly use the service to store .sis and .sisx installer files I use on my N8.

My experience so far with WebDAV access is that it is slow at best, and at worst incredibly slow. Using WebDAV, it is sometimes quicker to use USB on-the-go to copy the file from the DropBox folder on the PC, connect the thumb-drive to the N8, transfer it to storage, then open the file. Of course, this totally defeats the purpose of having your files stored in the cloud.

Then I discovered Dropian.



Dropian is a Qt 4.7.1 application for Symbian 60v5 handsets (such as the N97 and 5800XM), and Symbian 3 handsets (such as the N8 and C7). Although the app is in advanced beta, the quality and stability of this app would lead you to believe it was ready for prime time. Like the Nokia Bubbles developers, Bojan Komljenovic (@knobtviker) is awaiting Nokia Smart Installer to be formally released before he can upload Dropian to Ovi Store (currently estimated at Week 17, or the first week of May)[1].  

My summary of Dropian is as follow:
  • Quick
    Because Dropian uses the DropBox API, it is able to run incredibly quickly and retrieve your files with minimal delay.
  • Clean UI
    Dropian uses a very clean, simple user-interface. For most common file formats, @knobtviker has ensured you see the file format's logo icon.
  • Simple File Management
    Download Files (to a local folder that you specify), and Upload Files from your device to the cloud. Downloading and Uploading status is echoed back to you with a time estimation and status bar; something you just do not get with WebDAV.
  • Join DropBox directly from the application
    Dropian has an account creation function built into the app.
Things that I think could be improved:
  • More file format icons
    I've currently seen Adobe Acrobat icons, and Image icons. Purely for my benefit, I would love to see icons for .sis and .sisx extensions.
  • Single Tap Selection
    Currently you have to double-tap each file or folder to open or navigate. I think standardising the interface to single-tap to access or tap and hold for context menu (if required) would be a positive UI enhancement.
  • Open files directly from the app, rather than local download
    You must locally download files to your device, and sometimes all I want to do is launch a Symbian installer directly from my DropBox. WebDAV does allow you to open files directly, and this would be an awesome feature if implemented in Dropian.
If you end up using this app, and like it, I would encourage you to donate to the developer. The poor guy is doing all this on very limited hardware:

Seriously, my workstation is a Pentium 4 with 512MB RAM. It’s dying when it has to compile around 7000 lines of code.
30% of developing time is spent with me drinking water while waiting for it to compile. It’s funny sometimes…

[0] If you are yet to join DropBox, do so by clicking this link (to get 250MB extra storage) http://db.tt/0Xhcl6o
[1] This delay is holding innovation up in other areas as well. The incredibly popular Nokia Beta Labs application Nokia Bubbles is also delayed because of Nokia Smart Installer. 
You have read this article Dropbox / nokia / nokia apps with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/dropbox-on-symbian3-webdav-vs-native-app.html. Thanks!
Friday, April 1, 2011

The IO Ticket Contest

When Google I/O sold out so fast, were kicking around ideas for how to get some of our ticket reserve into the hands of our favorite people: Dedicated developers. Someone floated the idea of a contest, so we had to pull one together double-quick. You can read the questions and first-round answers here.

We thought you would enjoy some statistics, mostly rounded-off:

  • 2,800 people visited the contest page.

  • 360 people tried answering the questions.

  • 1 person got all six right.

  • 200 people did well enough to get into Round 2.

  • 70 people submitted apps.

  • 38 of the apps worked well enough to be worth considering.

  • 10 apps (exactly) got a “Nice” rating from the first-cut reviewer.

While we’re doing numbers, let’s investigate which of the Round-1 questions were hard. In decreasing order of difficulty, identified by correct answer, we find: Dalvik (97.5% correct), 160 (96%), Looper (58.5%), LLVM (57%), fyiWillBeAdvancedByHostKThx (43%), and PhoneNumberFormattingTextWatcher (19.5%).

So, our thanks to the people who put in the work, and a particular tip of the hat to the deranged hackers er I mean creative developers who built three particularly-outstanding apps:

First, to Kris Jurgowski, who pulled an all-nighter and wrote a nifty little app... on a Motorola CLIQ running Android 1.5! Next, to Heliodor Jalba, whose app had some gravity-warping extras and was less than 11K in size. And finally, to Charles Vaughn, whose app included a hilarious “Party Mode” that brought a smile to everyone’s face.

You have read this article with the title April 2011. You can bookmark this page URL http://azaquery.blogspot.com/2011/04/the-io-ticket-contest_1.html. Thanks!