Posts Tagged ‘google’

Android Is the Most Closed Mobile Open Source Project – and Is One of the Most Successful

Sunday, July 31st, 2011

I happened to see a link to a study made by visionmobile (http://www.visionmobile.com), a market analysis and research company, made in July 2011 comparing different open source projects amongst a variety of predefined factors that constitute on how “open” a project is.

This is by far one of the most balanced studies I’ve seen comparing successful (and unsuccessful) well-known open source projects. Incidentally, visionmobile’s clients include HTC, Sony Ericsson, RIM, Microsoft, Intel, etc as part of it’s well known client lists.

Their quantification of “openness” between selected mobile open source projects (both successful and unsuccesful, single sponsor and multi sponsor) is called as the “Open Governance Index”.

The results were particularly interesting:

Among the 8 open source projects listed, Eclipse was the most “open” of all the projects, and Android was the last in the list. The research paper however noted that Android is also one of the most successful projects in the history of open source. It was contradictory enough that the paper called it the “Android Paradox”.

A number of interlinking factors were cited what made Android successful:
1. Google’s financial muscle and marketing.
2. Android’s “zero cost” subsidy by Google, since Google’s ultimate purpose is to drive more eyeballs to it’s ad inventory, which results to cheap handsets and low cost internet connectivity.
3. The adoption of the Open Source project by different manufacturers in order to compete against Apple’s iphone. The OEM industry generally poured billions of dollars into Android in order to compete with the Cupertino company’s product.

In retrospect, the research paper acknowledged that in the long term, platforms with the most open governance will be the most successful. Cited success stories are Eclipse, Linux, WebKit and Mozilla. Meego has the capability to become a successful project in the long term, in my opinion.

It also went to suggest that making a project open doesn’t necessary warrant a successful community builder. They stated that Software developers are human in nature and self-centered; and will only take interest in such a project if it provides value or addresses a common need – citing Linux, GTK or Webkit as an example (need for a vendor-neutral operating system, graphics software stack, browser engine). Symbian failed in this aspect; they failed to target developers (besides this, no proper development tools, complex contributions structure, etc).

What does this mean for Android and competing open source projects such as Meego?

Android was successful because aside from the factors stated above, when Android was released to the developers, the product was already a very advanced, and complete project (by and large due to Google’s famed engineering team):

However, there are some very good lessons for us to learn from how Google has managed the Android
open source project. First, Android was released as an open source project at a point in time where it
was already a very advanced, complete project. OEMs, operators and software developers could more
or less immediately use it to create derivative handsets and applications. Second, Google kickstarted a
developer buzz around the project with the $10 million Android Developers Challenge. Alongside
financial incentives, Google provided a very strong emotional message: that of opening application
development within a previously inaccessible mobile industry. Finally, Google’s speed of innovation
(five platform versions across 2010) outpaces any external innovation, and makes the ecosystem
entirely reliant on Google.

On the other hand, when Meego was announced, it was basically starting from scratch (okay, not exactly scratch, but the earliest versions of Meego were in the command line ;) from my perspective) – try to imagine that they essentially went from a deb-based packaging solution (Maemo) to an rpm based one, and shifted from GTK/clutter to mainly Qt. This was one of the disadvantages I saw with the early development of Meego, and I have to say most likely hampered it’s early adoption (I do like the very open way the meetings are held though – I’ve been in one of the developer meetings in the past; but due to time zones it’s really difficult for me to attend it). It has gotten way better though; with the inclusion of non-Nokia/Intel people into the upper build team, the development process is getting to a point where I believe that this operating system will likely pick up pace and steam in the very near future (it has a bright future ahead in IVI systems in vehicles for example, and the upcoming N9 is positively received by many).

How to Add a Facebook, Twitter and Google +1 Button to Your WordPress Blog

Monday, July 18th, 2011

Here’s a quickie small tip for wordpress blog users.

If you want to add your own facebook, twitter and Google +1 buttons to your blog post, simply add the following code to your functions.php of your current theme:

<?php
add_filter ('the_content', 'insertMeShare');
function insertMeShare($content)
{
if(is_single())
{
global $post;
$link = urlencode($post->guid);
$content.= '<a href="http://twitter.com/share" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>';
$content.= '<iframe src="http://www.facebook.com/plugins/like.php?app_id=181276555267890&amp;href='.$link.'&amp;send=false&amp;layout=button_count&amp;width=110&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:110px; height:21px; float: relative; " allowTransparency="true"></iframe>';
$content.= '<g:plusone></g:plusone><script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>';
}
return $content;
}
?>

This code above can be modified further as a wordpress plugin so as to not modify your current theme (especially if your theme is one of those ready made themes which has an update feature). I have made mine to be a wordpress plugin and I am using this now as my current social share buttons – see the end of my post as an example of these in action. Have fun!

CeGNULUG Talk & Discussion

Tuesday, July 12th, 2011

Short post.

The Cebu GNU-Linux Users Group (CeGNULUG) is having a group talk and discussion at the TechBar on July 29, 2011 at 7pm.

Topics discussed are as follows:

1. Google+
2. Meego Overview with QtQuick sample application.
3. Demystifying Backdoor Shells: The Risk

There will be an open forum afterwards.

This event is sponsored by:

DevCon :: http://devcon.ph/ :: http://devworks.devcon.ph/

and

Exist :: http://exist.com/ :: http://facebook.com/existg​lobal

Linus Torvalds and His New Nexus One Mobile Phone

Sunday, February 7th, 2010

Apparently, Linus Torvalds, the creator of Linux, apparently caved in and bought a Nexus One last week, as he stated in his blog.

He initially bought a G1 (aside from other phones in the past), a Motorola phone running Linux, but admitted not using it because as he states “I generally hate phones – they are irritating and disturb you as you work or read or whatever – and a cellphone to me is just an opportunity to be irritated wherever you are. Which is not a good thing.”

After he heard that the Nexus One had pinch-and-zoom, he decided to take the leap and bought one and found it to be a gadget device (actually found it useful), with a secondary purpose of being a phone. In short, he loved it.

Some commenters asked him about the current status of the android kernel fiasco not being merged into the mainline kernel, in which he replied that the merge would most likely be a few years away. He cited the case of the SGI extreme scalability code as an example.

Here’s to seeing more linux developments on the mobile space!

Greg Kroah-Hartman: Android and the Linux kernel community

Thursday, February 4th, 2010

An interesting development happened during the release of the 2.6.33 linux kernel and generated some heated discussions on the lwn comments section. The android code in the linux kernel tree was deleted.

Why was it deleted? Greg Kroah-Hartman in his blog stated in a nutshell that:

In short, no one cared about the code, so it was removed. As I’ve stated before, code in the staging tree needs to be worked on to be merged to the main kernel tree, or it will be deleted.

There was a more serious problem though, as stated by Greg:

Now branches in the Linux kernel source tree are fine and they happen with every distro release. But this is much worse. Because Google doesn’t have their code merged into the mainline, these companies creating drivers and platform code are locked out from ever contributing it back to the kernel community. The kernel community has for years been telling these companies to get their code merged, so that they can take advantage of the security fixes, and handle the rapid API churn automatically. And these companies have listened, as is shown by the larger number of companies contributing to the kernel every release.

But now they are stuck. Companies with Android-specific platform and drivers can not contribute upstream, which causes these companies a much larger maintenance and development cycle.

On the lwn comments section, Greg further stated that a number of hardware companies approached the kernel development community for help due to this problem.

Apparently part of the problem is the problem is that Google created a new kernel core infrastructure which in order for it to be placed into the mainline kernel, numerous changes in kernel and userspace have to be done. Google has essentially created a fork of the kernel.

Cris DiBona stated:

To sum up: I think that Android is an unusual use of Linux that doesn’t match up with what is normally done, and I think that a fork isn’t unwarranted in these cases. I should point out we didn’t use glibc , either, or a ‘standard’ VM. We built android.

The aforementioned fork was mostly in the implemention of wakelocks, a process of bringing a system out of various low power states.

Google found the current implementation inefficient, and due to time constraints and pressure to produce a product, made their own API implementation.

The downside of this is that in order for linux drivers new and current ones to work on Android, one has to hook up to the new wakelock mechanism. This causes lots of distress in maintaining current userspace and kernelspace development.

It was generally agreed that the problems of power management was an issue that needed to be solved. However, a number disagreed on the way that Google handled the solution, including the kernel developers.

The reason mainline hasn’t accepted the wakelock infrastructure is that Google has still failed to demonstrate why it’s necessary. Almost identical benefits can be obtained using the kernel’s existing range timer functonality, which has the added bonus of removing the need for the strong userspace/kernel tying that Android requires right now.

Interestingly enough, Nokia handled the problem more maturely than Google. Whereareas, Google basically sent a large number of patches and left it hanging, one user noted:

I can’t remember significant interaction between Google Android developers and mainline kernel developers before early 2009. Contrast that to Nokia who have been *all over* the kernel upstreaming their OMAP patches for the N8xx and N900.

It was further noted that:

But they both have to solve the same problems (power management) and the fact that Nokia seems to get good battery life out of their devices appears at first glance to be a counterpoint to the necessity of wakelocks.

The discussion went on, without resolution. Time will tell if the Android code will be resubmitted back to the kernel, and the issues that hamper it being in the mainline kernel tree will be resolved and taken care of.

Google, Facebook, Twitter and Privacy

Friday, December 11th, 2009

A few days ago, I received a wall post from the Facebook blog, that they have teamed up with Google Real Time Search. I did a little research on what that truly meant and found this post here on the official Google blog.

In a nutshell, this is what is happening. Google is getting posts and status updates from many networking sites and allowing them to be shown in the search results. How are they gonna do that? I got my answer within a few days.

Facebook had a change in their privacy settings. The time that you log into facebook, you will be notified of the privacy settings page and would suggest you that you change your settings to their recommended one – one that is seen by practically everyone.

Now, I am no privacy freak. Far from that. What I am concerned about is that by allowing your profile to be shown to all, a person will risk being used or taken advantage of by unscrupulous individuals in the net.

I’ve had my cellphone number been sent text messages by people I do not know about some nice deal which was clearly a scam. I’ve had a rise in spam messages when I placed my email in a post or comment in a blog.

Having said that, I strongly agree with Bruce Schneier, a well known computer security specialist, that:

For if we are observed in all matters, we are constantly under threat of correction, judgment, criticism, even plagiarism of our own uniqueness. We become children, fettered under watchful eyes, constantly fearful that — either now or in the uncertain future — patterns we leave behind will be brought back to implicate us, by whatever authority has now become focused upon our once-private and innocent acts. We lose our individuality, because everything we do is observable and recordable.

in his blog as a rebuttal to Eric Schmitt, CEO of Google, who said a dangerous statement to Maria Bartiromo during CNBC’s big Google special, that “If you have something that you don’t want anyone to know, maybe you shouldn’t be doing it in the first place.”

Think about it. You don’t hide things from people you don’t know because you did something bad. It is more likely that you hide things from people you are not likely to trust because they would like to do bad things to you.

How to Try Out Chrome OS Preview In VirtualBox

Monday, November 23rd, 2009

Hi there folks.

As you may all know, Google released source code for it’s much ballyhooed OS, named after it’s popular browser named Chrome.  I’ve been able to run a vmware image in VirtualBox and although I know it’s just a technical preview of the OS, I can say it’s pretty zippy (good for a sub-netbook machine).

Again, the emphasis, sub-netbook – I really don’t think this will replace your netbook/laptop any time soon as it’s primary OS.

As a side note, I am thinking of compiling and building the sources in Ubuntu soon so I can look at how they made the linux kernel boot that quick (even in VirtualBox, it booted up, in let’s say, less than 10 seconds?).

Anyways, I’m getting somewhat offtopic… here’s how to install Chrome OS in VirtualBox (I am assuming you have VirtualBox installed on your host OS already):

1. Download the vmware image here: http://gdgt.com/google/chrome-os/download/

2. Unarchive the vmware image to a folder of your choice.

3. Open up VirtualBox and click on the New Button.

Follow these screenshots shown below for setup:

Create Virtual Machine

create virtual machine

Set OS Name

vm name and os type

Set Memory Requirements

memory

Select your vmware harddisk (3 screenshots below)

virtual harddisk #1

virtual harddisk #2

virtual harddisk #3

Finishing up

summary

And you should be able to start your Chrome OS in VirtualBox by selecting Chrome OS and pressing start button (sample screenshots of Chrome OS below):

screenshot chrome os #1

screenshot chrome os #2

Will Google Chrome OS Replace Windows?

Friday, November 20th, 2009

I’ve been reading a lot about Google’s flagship OS lately, and if one is to believe all the hype, it will definitely give microsoft a run for it’s money.

Everywhere, news sites such as CNET, OSNews and Ars have been talking about the coming Google sponsored Operating System.  And since we’re talking about Google here, that alone says much about the current buzz about it.

But what is Chrome OS exactly?

For those of you folks who don’t know what this is, here is a snippet of information from the Official Google Blog:

Google Chrome OS is an open source, lightweight operating system that will initially be targeted at netbooks. Later this year we will open-source its code, and netbooks running Google Chrome OS will be available for consumers in the second half of 2010. Because we’re already talking to partners about the project, and we’ll soon be working with the open source community, we wanted to share our vision now so everyone understands what we are trying to achieve.

So what’s the verdict?  Will Chrome OS replace Windows (or OSX, or even Desktop Linux) as a viable replacement?

I can give you an opinion right now of what I think of it… in the near future, not likely.

Here are the reasons why:

  1. It is tied to a specific platform.  I consider this as an “apple-lesque” feature.  Come on, Google has set it’s limits to a netbook spec based machine, and a limited one at that (no harddisk, only SSDs, a specific sized lcd monitor, a specified keyboard size, etc).  I remember Intel doing these on netbooks; you can only run the graphics card only up to a certain size and resolution.  It’s pathetic.
  2. The center of all activity is the browser.  What can you expect with Google?  Of course, all of the apps are tied up to the “cloud”, but what if I don’t want to use apps in the “cloud”?
  3. It is application lock-in heaven.  Think of it.  All data, all your preferences are stored in Google.  Admittedly, I use google services all the time, but with this setup, you are guaranteed of this lock-in.
  4. I like my gnome and kde apps.  I even like my games and applications in both Linux and Windows.  With the Google Chrome OS hardware spec requirements, I can only see netbooks coming with this OS installed as something of an internet appliance, nothing more.  I like my netbooks more featured, thank you.
  5. Third world countries don’t have abundant internet connection (read: wifi)… so of what use is this to them?

I know, I know, it’s based on the linux kernel, and you can most probably modify the core of this OS. But my question is, what about the applications that Google bundles it with?  Most likely you cannot use these on a modified distribution.

I’m honestly more excited about the  announcement of a modified NX server months ago (called NeatX, which in my opinion is a good remote desktop solution for Linux servers, having used NX and FreeNX on some of the server boxes I manage), than on Chrome OS.

In conclusion, with all these hiccups, I don’t ever think we’ll see Chrome OS displacing Microsoft significantly in marketshare, for at least a number of years.