SAMMOUDI NAIM [ نعيم صمودي ]

Leave a comment

Improving Android App Quality

With thousands of new apps being published in Android Market every week, it’s becoming more and more important to proactively work at breaking through the clutter (hooray for marketing jargon!). One way of improving your app’s visibility in the ecosystem is by deploying well-targeted mobile advertising campaigns and cross-app promotions. However, there’s another time-tested method of fueling the impression-install-ranking cycle: improve the product!

A better app can go a very long way: a higher quality app will translate to higher user ratings, generally better rankings, more downloads, and higher retention (longer install periods). High-quality apps also have a much higher likelihood of getting some unanticipated positive publicity such as being featured in Android Market or social media buzz.

The upside to having a higher-quality app is obvious. However, it’s not always clear how to write a so called ‘better app.’ The path to improving app quality isn’t always well-lit. The term ‘quality’, and its close cousins ‘polish’ and ‘fit and finish’ aren’t always well-defined. In this post, we’ll begin to light the path by looking at a couple of key factors in app quality, and furthermore, look at ways of improving your app along these dimensions…

If you’re a developer it’s a good resource if you’re new to the game and need somewhere to start. Go ahead and check it out now at the Android Developers blog.


Leave a comment

Why Android App security is better that iPhone

Application security has become the focus of a flurry of intense attention in the mobile world lately, due largely to a few well-publicized events affecting each of the major platforms.

On the iPhone side, of course, there’s the JailbreakMe tool, which unlocks the device’s operating system in a way that could potentially be emulated by malicious applications.

On the Android side, it’s been the case of the data-accessing wallpaper apps–which, it turns out, did not do anything to put users at risk after all.

Transmission security, meanwhile, has given theBlackberry platform its own share of the limelight in data-monitoring nations.

Yet, while it’s clear no mobile platform has perfect security–nor is that even possible–Android has a number of compelling advantages that make its apps inherently safer than those for the iPhone.

1. Application Permissions

On the Linux-based Android platform, each application runs in a separate “silo,” unable by default to read or write data or code to other applications. Associated with each isolated application is a unique identifier and a corresponding set of permissions explicitly governing what that particular application is allowed to access and to do.

As a result, much the way Linux users typically don’t have “root” privileges with the associated power to do systemwide harm, so Android apps by default are limited in a similar way. Just as Linux minimizes the damage that could be done on the desktop by a virus affecting an individual user, in other words, so Android restricts the potential damage that could be done by a rogue application.

In order for any data to be shared across Android applications, it must be done explicitly and in a way that informs the user. Specifically, before installation can even happen, the app must declare which of the phone’s capabilities or data it will want to use–the GPS, for example–and the user must explicitly grant permission to do so. Those wallpaper apps, it should be noted, were no exception. So, if a user sees upon installation that a simple wallpaper app is requesting access to her list of contacts, say, there’s probably reason to think twice before proceeding.

On the iPhone, on the other hand, it’s a different story. All apps are considered equal and can access many resources by default, and without having to tell the user. So, while on Android you’ll be able to see that a malicious app is suspicious the moment you try to install it, on the iPhone iOS, you’ll have no idea–potentially until the harm is done.

2. App Markets

Whereas Android puts the user in control of evaluating an application’s requirements before it installs, Apple keeps that control for itself. Instead, like an overprotective parent, it insists on approving each and every application before it can be offered up for sale in theApp Store–part of its strategy of maintaining the iPhone platform’s “walled garden.”

In the Android Market, of course, there are no such restrictions–again, it’s up to users to evaluate the apps they buy upon installation.

While some view Apple’s approach as the safer one for users, the opacity of its process makes it unclear what, exactly, the company checks on incoming applications. Given the sheer number of new apps written every day, it seems unlikely that Apple–or any company–could do more than simply verify the developer’s identity and make sure the app does what it promises to do. It would also be easy for any developer to add malicious code after an app has been approved.

Either way, there’s no doubt that plenty of apps that Apple had vetted later were found to have vulnerabilities. Just recently, security research firm Lookout found that applications on Android are generally less likely than those for the iPhone to be capable of accessing a person’s contact list or retrieving their location. It also found that nearly twice as many iPhone apps can access the user’s contact data.

3. Openness

Although the Android platform isn’t as open as many would like it to be, there’s no denying that it is far more open than Apple’s iPhone platform is. Among the many benefits of that openness is that the code underlying the platform is available for scrutiny by users and developers the world over. I don’t care how many people Apple’s team has; there’s no way their number could compete with that. The result? More “eyeballs” studying the code means problems are caught more quickly.

In this era of transparency and participation, I believe that openness and user control are what’s needed in the rapidly expanding mobile world. No single company, however capable it might be, can protect users from everything. Nor, indeed, should any single company be entrusted with such a responsibility. The far better approach is to give users a way to play a role in monitoring security themselves, and that’s just what Android does.

Leave a comment

Google Wants Your Grandma Building Android Apps !

The Android App Marketplace is growing at a steady pace, but Google wants to get as many apps as possible, maybe in an effort to catch up to Apple, and has now introduced the Google App Inventor which enables practically everyone to create a mobile app for the Android platform.

The idea behind App Inventor is simple, creating applications is hard work, even those based on standard web technologies, and requires knowledge outside the reach of most people. While anyone with some programing experience can put together a basic app in a matter of hours, the way Google sees it, your grandma should be able to build Android apps as well.

To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app’s behavior.

According to the AppInventor team they :”created blocks for just about everything you can do with an Android phone, as well as blocks for doing ‘programming-like’ stuff– blocks to store information, blocks for repeating actions, and blocks to perform actions under certain conditions. There are even blocks to talk to services like Twitter.”

The blocks editor uses the Open Blocks Java library for creating visual blocks programming languages. Open Blocks is distributed by the Massachusetts Institute of Technology’s Scheller Teacher Education Program and derives from thesis research by Ricarose Roque. We thank Eric Klopfer and Daniel Wendel of the Scheller Program for making Open Blocks available and for their help in working with it. Open Blocks visual programming is closely related to the Scratch programming language, a project of the MIT Media Laboratory’s Lifelong Kindergarten Group.

The compiler that translates the visual blocks language for implementation on Android uses the Kawa Language Framework and Kawa’s dialect of the Scheme programming language, developed by Per Bothner and distributed as part of the Gnu Operating System by the Free Software Foundation.

The App Inventor for Android build apps using a web browser and a Java Web Start application. The development team notes that it is compatible with Mozilla Firefox 3.6 and higher, Apple Safari 5.0 and higher, Google Chrome 4.0 and higher, and Microsoft Internet Explorer 6 and higher, and that it can be used on computers running under Windows (XP, Vista and 7), Mac OS X 10.5, 10.6, or Linux (Ubuntu 8+, Debian 5+). Java 6 is also required. Additional details on the matter are available here.


LiveCD des développeurs Androïd …

Want to know more before you participate …

Leave a comment

Android beyond the mobile handset is fast becoming a reality …

MIPS Technologies, a mis à disposition le code source du logiciel Android à tous ceux qui s’intéressent à la création d’applications Android pour les produits qui utilisent l’architecture MIPS32.
Les processeurs MIPS sont utilisés dans une variété d’équipement de divertissement à domicile et dispositifs de mise en réseau, telque les Gateways Résidentielle Sagem ,les lecteurs de DVD Sony, set-top boxes Motorola et dispositifs à large bande de Linksys.
Les Chips MIPS sont basées sur un autre jeu d’instructions que celui de l’architecture Intel x86, qui domine l’industrie des PC, et de la RISC (jeu d’instructions réduit) utilisé par les processeurs Arm qui sont largement utilisées dans les téléphones mobiles, de sorte une version d’Android doit être développés pour MIPS .
En Juin 2009 MIPS Technologies à attiré l’attention à l’exposition Computex Electronics à Taipei en montrant un lecteur multimédia et un écran LCD 10.4 pouces , les deux basés sur Android. Ils ont été parmi les premiers “non-phones Application” pour Android.


“Nous assistons à un intérêt continue du client pour Android sur l’architecture MIPS,” MIPS Technologies dit dans une déclaration. “Nous travaillons en étroite collaboration avec les clients et les partenaires pour faire en sorte que les technologies critiques sont disponibles pour les développeurs pour tirer profit de Android pour tous qui est application électronique».

source :