Android Development

Facebook open-sources its ‘Buck’ Android build tool

Facebook Home

Developers can now benefit from Facebook's trial and error building Android apps

Following lots of development time creating a new Android build tool to aid in development of its own Android apps, Facebook has decided to open-source it for other developers to use. Developed at a hack-a-thon last summer, the new build tool, named "Buck", was created to better address the needs of Facebook as it moved to making more native apps -- rather than just using WebViews -- for Android. The move to Buck from Ant in August of last year cut down build times for its apps dramatically, leaving no reason to continue using the old tools.

Because it improved the build times and overall development cycle for Facebook's project so notably, the engineers decided to also open-source it, making the entire code base available to check out from GitHub. According to Facebook, Buck will help most when developers are building apps with many small modules rather than just a few large ones. Development-minded folks among us can of course take a look at the tools themselves and see if it could work for their own project at the source link below.

Source: Facebook; GitHub

    


Reddit users post a list of Android development resources

android development Getting into Android development can be tough. There are a lot of resources and websites out there dedicated to the development of Android and they all have a pretty extensive list of resources. Wouldn’t it be nice if someone posted a handy list of resources people could use to get a more streamlined introduction into Android development? Reddit users have got you covered.

A list was recently posted by Reddit user autom8r that contains a pretty good list of resources for Android development purposes. You won’t be unlocking bootloaders or compiling custom ROMs like developers on XDA. However, you will be able to use these resources to build your own Android app.

The resource lists is pretty complete. It includes the beginner’s set up process like downloading the Android SDK, Eclipse, Java, and some introductory guides. Following that is guides for programming, design, tips and tricks, widgets, and other guides to help you build a well rounded application. The end of the list is comprised of guides to help you monetize your application and publish it to Google Play and other Android app stores.

So how good is this list of Android development resources?

There is no beating around the bush. If you want to develop an Android app and you don’t know what you’re doing, use this list. There are dozens of helpful resources all in one spot. This makes it easy to keep your place and find what you need without bombarding your bookmarks folder or sifting through tutorials until you find the right one.

What makes this list even better is that much of it is comprised from content from reputable sites like developer.android.com, github and Stack Overflow. So these aren’t links to amateur blogs, it’s where coders go to talk or learn about code anyway.

Check the source links below to check it out. If you’re planning on doing some Android development, there aren’t many lists like this one and few that are better. Is anyone going to be bookmarking this?

Related Posts

Linux to add support for ARM Architectures

linux-logo-androidauthority

Are you an Android kernel developer? If yes then we have got great news for you. Those who develop kernels for Android devices know how frustrating porting a kernel to a new device has always been. Well if you share that notion and would like this process to get easier than it is right now, you will be pleased to know that Linus Torvalds has announced ARM support in Linux.

Linux is following Microsoft, which already offers support for ARM architecture in Windows RT.

The first list of supported ARM architectures includes some server SoCs and development boards. Although the list is short at the moment it’s expected that more consumer oriented SoCs found in Android devices will be added soon. While we are going in the right direction, don’t get too excited just yet as Android is a few versions behind the latest stable Linux kernel and it might take a while for it to get in sync.

While this step by the Linux kernel team will make it easier for developers to port Android ROMs on new devices, the news is just as good for average Android user like you and me, as we will now see quicker ports of popular ROMs to our devices.

If everything goes according to plan we will start seeing the effects of this step in 2013.

Related Posts

Google changes its terms and conditions to stop Android fragmentation

Google has changed the terms and conditions for the Android Software Development Kit to include a clause about Android fragmentation. The new clause is probably a response to the collaboration between Acer and Alibaba to form a new mobile operating system derived from Android called Aliyun.

Although Android itself is released as open source the SDK isn’t. Under the SDK’s license Google owns all the legal and intellectual property rights and it licenses developers to use the SDK solely to develop applications that run on the Android platform.

In September Acer and Alibaba’s cloud computing unit planned to launch a new smartphone which used the Android based Aliyun OS. However, according to Alibaba, Acer were told in no uncertain terms by Google that if it went ahead with the launch then Google would terminate all Android product cooperation and related technical authorization.

Section 3.4 of the updated SDK terms says, “You agree that you will not take any actions that may cause or result in the fragmentation of Android, including but not limited to distributing, participating in the creation of, or promoting in any way a software development kit derived from the SDK.”

The key phrase here is “the fragmentation of Android” which of course isn’t a legal term and could be deemed to mean almost anything that Google doesn’t like.  The clause also seems a bit superfluous as Section 3.3 says that developers are not allowed to “modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK.” It also says that developers may not “combine any part of the SDK with other software.”

There are two possible ways to look at this new clause. One is to hail Google as the great guardian of Android who is using its benevolent might to bring peace, order and unity to the Android cosmos. The other way is to remind Google that it got large chunks of Android for free from the open source community (including Linux), that it uses Java and Java APIs which it didn’t invent and that the reason Apple started taking everyone to court was because it didn’t like others (allegedly) building on its work. Something Google is now crying about with Android.

Let’s look at option one. Obviously a fragmented Android eco-sphere is bad for consumers. Having almost Android like phones where some apps work, some apps don’t work and some apps work if they have been tweaked, is bad news for consumers and developers. So any efforts by Google to keep Android together is laudable. Although Amazon’s Kindle Fire range of tablets doesn’t run stock Android (especially with regards to its user interface), to develop for the Kindle Fire you basically use Google’s SDK and create an Android app. The app will work on any compatible Android device. This is how Amazon stays within the usage term stating that the SDK can only be used to “develop applications to run on the Android platform.”

But since Android is open source, Google can’t stop anyone from developing modified or derived versions of it. Android is itself a derived version of Linux. And nobody in the Linux community moaned that Google was fragmenting Linux. So anyone and everyone is within their rights to take the Android code and make their own version  That is what Cyanogenmod do. But of course Cyanogenmod is 100% compatible with Android.

What if someone took the Android source code and made a version that was only 95% compatible where some of the system calls where changed to behave differently or new calls were added that only derived version supported. Again they can do that. But to develop apps for that new derived version, developers need an SDK. And this is why Google has modified its terms.

Looking at option two, this means that Google is trying to force a closed source mentality on a open source project and what it has done certainly isn’t within the general spirit of open source software. But it is fully entitled to do it as the SDK isn’t open source. Google got large chunks of Android for free, but it did make the SDK itself. So now if someone wants to make an Android based OS that isn’t 100% compatible they will need to build their own SDK.

What do you think? Is Google being selfish? Is it protecting Android? Is it being evil?

Related Posts

Will Google’s improvements to Android hurt the app ecosystem?

 

 

Android 4.1 Jelly BeanThe Android platform has really improved a lot in the four years it has been on the market. We’ve had a fattening feast of Cupcake, Donut, Éclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich and Jelly Bean. Key Lime Pie is tantalizingly on the horizon if you’re still hungry. Through these iterations the platform we’ve fallen in love with has grown from a pretty bare bones affair into a smooth and elegant operating system that is unparalleled in the smartphone market.

As it has evolved we’ve seen subtle tweaks to the interface and a vast improvements to stability and speed, but it’s the new roll call of features in each release that gets people really excited. From widgets and auto-rotation in Cupcake through to expandable notifications and offline voice dictation in Jelly Bean, the features have been pouring in thick and fast.

It’s great for Android users. We all want a better experience. We all like it when our smartphones do more straight out of the box, but where does the inspiration come from? How does Google decide what’s next to be baked into the platform? How often have you come to rely on an app developed by a third-party that is made obsolete overnight by a new version of the Android platform?

Developer pain

Have you ever wondered how it feels to be the developer of an app that offers exciting new functionality for Android users and then to have the rug pulled from under your feet? It’s a real knife edge because you want to develop an app that everyone will use, an app that improves the Android platform, and yet, if you’re too successful, you might end up out in the cold because Google decides to make your app functionality part of the core experience.

It’s not just Google either. In the early days of Android especially, developers had to compete with manufacturers and carriers. Smartphones would come preloaded with apps that the manufacturer and carrier had pushed on there. They still do. When it comes to utilities like a flashlight app, an alarm clock or a quick settings widget, there’s simply no need for users to download an app anymore.

Lock screen notifications, alternative keyboards, camera and photo editing options, better text message and email support, an improved browser, support for more audio and video formats, the list goes on and on. Every time an improvement is made to the core Android platform there must be a developer somewhere out there cursing the imminent demise of an app.

It’s just not fair

Business is business and software development is never without risk. The situation does seem to be pretty harsh in the Android space, though. We hear about Google acquiring and shuttering companies all the time. It’s something Microsoft has done for years. They see some functionality that looks good, that could compete on some level with their software suite, and so they acquire the company, kill the product and assimilate the staff to either roll the same functionality into their software or to quietly disappear.

For Android developers they don’t bother to acquire the company. There’s no pay day in recognition of the great app they created because they’re already working on Google’s platform. Google can just cherry pick popular ideas based on success in the app ecosystem and copy paste the same functionality into the core platform. There’s no such thing as a courtesy call to let the developers know what they’re working on is about to become obsolete. That app they slaved over is simply dead overnight. So long and thanks for the ideas and market research.

Is it bad for the ecosystem?

Is it possible that Google’s improvements to Android could actually hurt the app ecosystem? Will developers be turned off from creating specific apps because of the risk that they will be obsolete in a few months or weeks? It doesn’t seem likely; after all there are a few counter points to consider.

For a start the developers have to cash in while they can. That’s the good old capitalist spirit at work. Get something out the door and sell, sell, sell before someone else copies you or the demand dwindles. Every successful app in the ecosystem already has instant competition in the form of cloners. There are plenty of developers out there and big name game publishers, just waiting to emulate the success of your release with a cheap knock-off, or sometimes an expensive knock-off. You either do it better than the next guy or you move on to the next thing.

We also need to consider fragmentation. Just because a new version of the platform comes out, that doesn’t mean everyone will get to enjoy those new features. There are plenty of people still rocking smartphones with Froyo. The demand for those apps that offer functionality should only drop off gradually over time as more and more people update to newer Android releases.

Android Version Distribution

It’s tough to argue that it’s a good thing for developers, but if you’re hesitant to exploit a great idea because you fear someone else is potentially going to do it, then maybe you’re in the wrong business. If any developers would care to comment it would be great to hear your opinion.

Nostalgia for apps lost in the mist of time

We’ve probably all used Android apps that have fallen by the wayside as the platform has improved. Some developers have worked on keeping their apps relevant with new functionality, some apps continue to be popular on older versions of the platform, and some apps have been abandoned. The list of apps I no longer feel the need for includes classics like Handcent, Quick Settings, Advanced Task Manager, Pano, and Screenshot ER.

How about you? Let’s salute those brave pioneers as we remember our essential apps from yesteryear. What are the apps you had installed on earlier versions of Android that drew you in with specific functions that the platform now covers? Which apps went from your essential list to obsolete? Post and share.

Related Posts

New and improved Android Developer Console launched by Google

Good news for all you Android developers – Google has rolled out the new version of the Android Developer Console. There’s a sexy new interface that’s fast to load and easy to navigate and search. You’ll also find more statistics to help you analyze your app’s performance and the app publishing workflow has been streamlined for clarity.

It was first shown off back at Google I/O earlier in the year, but it has been tested, tweaked, and almost perfected since then. You can log in and try it out by clicking “Try the new version” in the header. It’s not quite done because multiple APK support, APK Expansion Files and announcements are not yet supported, but you can access them by clicking “Switch back” in the header to go back to the familiar old version.

Beyond the fact that it looks better and usability has been improved, the user rating analysis is probably the most interesting addition. There’s a graph that can display changes in the user rating over time or help you analyze a specific day or period. You can break those all-important user ratings down by device, app version, Android version, carrier, country, or language.

You can compare old and new versions of your app before publishing, which should help catch any errors before they go out. You can also publish your app description for Google Play and have it automatically translated into 49 languages with no action required from you.

If you do check it out there’s still time to help Google improve it – simply click the “Feedback” link in the header and give your impressions or suggestions. This looks like a decent update to us, what do you think? Post a comment and tell us.

Related Posts

Forget passwords on Android with OAuth 2.0 from Google

Security is important, but it’s also a real pain. You need a separate password for every account that you create and it can’t afford to be predictable. Anyone who is really security conscious will know that the days of using your pet’s name or a birthday are long gone – you need a random mixture of letters, numbers, and ideally some symbols, and it should be several characters long. That makes it impossible to remember.

Thankfully Google Play Services is rolling out OAuth 2.0 for strong security without passwords. The basic idea is to streamline the user experience and ditch that irritating sign in. Developers who implement OAuth 2.0 will be able to enable their apps or games to authenticate your device through your Google account. So, in effect you’ll enter your password for Google once and that will be it.

In order for it to work your device needs Google Play services and, according to the Android Developers Blog, it “will only be available on compatible Android devices running 2.2 or later.”

Entering passwords on a smartphone has always been an irritating necessity, so the ability to go to a mobile webpage or enter an app without having to enter that password is obviously going to improve the user experience.

Developers can get started now and take a look at how to implement it in their apps and games by checking out the Android Developers Blog. The roll out is underway so we should start seeing apps that use the service within a few weeks.

This sounds great from a convenience point of view, but it does also provide an extra incentive to ensure that you have some lock screen protection or an anti-theft app installed in case your phone falls into the wrong hands. What do you think? Do you like the sound of this? Any developers care to comment?

Related Posts

Dashlane: Keeping your passwords and login info safe, Google Developers Live debuts along with Google I/O 2012 app, Google Moves One Step Closer to Bringing Android to the Big Screens


This article, Forget passwords on Android with OAuth 2.0 from Google , was originally published at AndroidAuthority.com - Your Android News Source.


New YouTube show Android Design in Action offers design tips for developers [video]

Android Design in Action

Launched yesterday on Google’s Android Developers YouTube channel, Android Design in Action is new video show that looks at the design of apps, and how they might better fit with the guidelines laid out in the Android Style Guide.

At the beginning of the premiere, host Roman Nurick describes the show as a spinoff of The App Clinic that focuses more on the design elements of given apps. The first episode’s theme is transit apps, and Roman and guest Nick Butcher visit three apps: London Underground, London Bus Checker, and MParking, all of which have previously been featured on The App Clinic.

When first looking at an app, the focus is on picking apart its design elements and any possible problems with these, such as the user needing to scroll to get to important information. The second half of each segment focuses on redesigning the app to look and behave more in line with Google’s Style guidelines, and to generally increase the usability of the app.

Though Android Design in Action is obviously aimed at developers, Android users who want to understand more about how the apps they use are designed should find it interesting. Some may find the “for developers by developers” tone daunting at times, but the show rarely wanders too deeply into this territory.

Right now there is a problem with the first episode where audio only plays on the right channel, but the team has said that they hope to fix the audio issue soon.

Does this seem like the sort of show that would keep watching, or do you think it only has appeal for developers?

Related Posts

Android Developers Now Have Style Guide Courtesy of Google, Ice Cream Sandwich Preparedness 101: Android Team Spills Tips, Tricks for App Makers To Ready Wares for ICS, 28 Google I/O Android sessions videos now available on YouTube


This article, New YouTube show Android Design in Action offers design tips for developers [video] , was originally published at AndroidAuthority.com - Your Android News Source.


Nexus Q gets the CyanogenMod 9 treatment

When Google first launched the Nexus Q last month at Google I/O 2012 they made it publicly known that the Q had a USB port for general “hackability”. That statement alone and the limited features of the Nexus Q to some meant that Google wasn’t entirely sure yet what the Q could evolve into.  Since it’s launch, developers have been busy hacking away at the Q, trying to determine new uses and add more functionality. We’ve seen the Q turn into a gaming console, be able to play Netflix movies, and launch some standard Android apps.

Developer Jason Parker has decided to step things up a notch by porting full blown Android, via CM9, to the Nexus Q. Jason used a Tuna/Maguro build as his base image and so far Bluetooth and WiFi are working as intended. Overall functionality seems pretty stable for the first attempt at porting CM9 to the Nexus 9. This is still very much a work in progress as sound doesn’t seem to be working quite well just yet.

If full blown Android can be ran on the Nexus Q while maintaining the original Nexus Q social media sharing capabilities, things could get a whole lot more interesting for the Nexus Q in the near future. Especially after XBMC for Android has made its’ debut. We’ll be keeping a close eye on this.


This article, Nexus Q gets the CyanogenMod 9 treatment , was originally published at AndroidAuthority.com - Your Android News Source.


Google Developers Live debuts along with Google I/O 2012 app

Google holds a lot of live events, press conferences, Office Hours, and live Hangouts on Air. Keeping track of the vast amount of content coming from Google would prove to be an impossible task for nearly all of Google’s fans and those developing on the Google platform. Thankfully, Google’s latest tool aims to bring much needed organization into the picture with Google Developers Live.

The Google Developers Live website is more or less a TV Guide for all past and present Google events. You can browse through current live streaming events or search for past shows. You can narrow down your search by selecting one of the seven categories (Ads, Android, Chrome, Cloud, IO, Google+, Maps) or you can browse month to month by the large calendar located at the bottom of the page.

With Google I/O 2012 just around the corner, the Developers Live site is going to be a great way to keep track of and watch live streaming content for those of us unable to attend the event.  However, if you are able to attend the event next week in San Francisco, Google has also released the latest version of the Google I/O Android app.

The Google I/O 2012 app is much more than a simple scheduling and agenda app. If you’re a fan of Google+, you’ll love the integration from this year’s app. You’ll be able to view the Google+ profiles of speakers, +1 sessions, and participate in public #io2012 conversations. If you want to re-watch a session or watch one you missed, you’ll be able to play back I/O sessions on Android 3.0+ devices. If you have a newer device running Android 4.0, you’ll be able to sync your I/O calendar and beam session details from one NFC enabled device to another.

io1 io2 io3 io4 io5 io6

Get it while it’s hot at the Play Store: Google I/O 2012.


This article, Google Developers Live debuts along with Google I/O 2012 app , was originally published at AndroidAuthority.com - Your Android News Source.