13 Dec 2018

feedTalkAndroid

LG V40 ThinQ review: Most underrated phone of the year

LG has had a pretty strange flagship phone strategy lately, with near constant releases and a blurred line between their G and V series of devices. Just this past year we've seen multiple flagship devices that are barely differentiated at all, and with the V30 dropping the secondary display it's pretty much just a slightly […]


Come comment on this article: LG V40 ThinQ review: Most underrated phone of the year

Visit TalkAndroid

13 Dec 2018 6:35pm GMT

feedThe Official Google Blog

Helping families develop healthy digital habits with Chromebooks

Parents care deeply about helping their kids build a positive and healthy relationship with technology. Last year, we introduced the Family Link app to help parents stay in the loop with how their children are using Android devices. Laptops also play an important role at home, with just over 50% of kids between 6-12 sharing or owning a laptop device. Today we're sharing more Family Link features that can help parents of kids who use Chromebooks, like setting time limits, managing the apps kids can download and more.

Chromebooks enable families to work, play, and learn on the same device. The Family Link app can help parents set some digital ground rules as their kids are exploring online on their Chromebooks.

iamge2

Child view of Family Link on a Chromebook, and Parent view of Family Link on an Android device.

Keep an eye on screen time

It's up to parents to decide the right amount of screen time for their kids. Family Link supports you by making it easy to set screen time limits and establish bedtime hours. Family Link also offers activity reports to show parents and kids how much time is spent on their favorite apps.

Guide kids to good content

It's not just about how much time kids spend on their devices, it's about the quality of that time as well. Family Link allows parents to customize a list of websites that kids can visit, and review and approve the apps they can download from Google Play, such as YouTube Kids or Google Play Books. Parents can also hide individual apps when necessary, and manage in-app purchases within apps already installed on the Chromebook.

Manage Google Accounts and Chromebooks from anywhere

Parents can also manage settings for their child's Google account, and remotely lock supervised accounts on the Chromebook if necessary. This holds true whether the Chromebook is shared by the whole family, or is used only by the child.

These are just the latest features we're rolling out to help families. As we continue to build new tools for families, please share your ideas and feedback with us, so we can learn how we can continue building features that matter to you.

13 Dec 2018 5:30pm GMT

Say “G’day” and “Cheerio” to new accents for your Google Assistant

Starting today, if you're an English speaker in the U.S., you can choose between an Australian-accented voice and a British-accented voice for your Google Assistant across devices.

All of the features you use are still the same-like setting a timer, checking the weather and getting an overview of your commute-only now, your Assistant will speak with a new accent. Try asking "Hey Google, what's the exchange rate from British pound to U.S. dollar?," "Hey Google, what's the capital of Australia?," or "Hey Google, where can I get fish and chips nearby?"

The Google Assistant speaking in an Australian-accented voice and a British-accented voice.

These voices are built using DeepMind's speech synthesis model WaveNet, which uses deep neural networks to generate raw audio waveforms-resulting in more realistic and natural-sounding voices for the Google Assistant.

To try out these new voices on your Assistant, navigate to "Settings" on your phone, tap on the "Assistant" tab, and select "Assistant voice." You'll now see two new voices that you can select, either "Sydney Harbour Blue" for the Australian voice, or "British Racing Green" for the British voice.

We hope you enjoy these new voices as much as we do. Cheers!

13 Dec 2018 5:00pm GMT

feedTalkAndroid

YouTube Rewind 2018 is now the most disliked video ever

Google dropped YouTube Rewind 2018 less than a week ago as a look back at the year in YouTube videos, and the internet really did not take it well. It look literally 6 days for the 8-minute video to become the most disliked video in YouTube history, beating out Justin Bieber's Baby music video, and with a significantly higher […]


Come comment on this article: YouTube Rewind 2018 is now the most disliked video ever

Visit TalkAndroid

13 Dec 2018 4:45pm GMT

NVIDIA Shield picks up Amazon Music, 5.1 YouTube, and some holiday discounts

The NVIDIA Shield is easily our favorite media streaming box, and it just keeps getting better. NVIDIA has announced that the box is receiving its latest software update that brings a few new apps and features, and it's getting a holiday discount to boot. Shield Experience 7.2 is already rolling out and adds Amazon Music […]


Come comment on this article: NVIDIA Shield picks up Amazon Music, 5.1 YouTube, and some holiday discounts

Visit TalkAndroid

13 Dec 2018 3:29pm GMT

feedThe Official Google Blog

Inside Brazil’s National Museum on Google Arts & Culture

On September 2nd 2018, a fire struck the National Museum of Brazil in Rio de Janeiro, one of the largest collections of natural history in the world. An estimated 20 million pieces were lost, including indigenous artifacts, dinosaur remains and the oldest human skeleton ever discovered in the Americas.

Starting back in 2016, Google Arts & Culture had begun working with the museum to bring their collection online-so that anyone, anywhere in the world could see and learn about these ancient artifacts. Now for the first time ever, you can virtually step inside the museum and learn about its lost collection through Street View imagery and online exhibits.

Inside Brazil's Museu Nacional

The incredible diversity of artifacts in Brazil's National Museum reflected centuries of Brazil's culture and natural history, from the Amazon's endangered butterflies to beautifully-crafted indigenous masks and decorated pottery. Unfortunately, the destruction of collections like these reminds us of the diverse threats that exist to the world's heritage-and how important it is to protect it. Advances in technology-like high-resolution photography, photogrammetry, 3D laser scanning, and virtual and augmented reality-have not only introduced new forms of art, but help us preserve the world's most precious heritage. Even though images cannot replace what has been lost, they offer us a way to remember.

  • image1

    Luzia is the oldest human skeleton found in the Americas, believed to be 11,500 years old.

  • image2

    Visitors can explore inside the museum via immersive Street View imagery captured before the fire.

  • image3

    The Bendegó Meteorite, one of the largest in the world, was discovered by a boy looking for a lost cow in 1784.

  • image4

    A mummified cat from ancient Egypt, an offering to the cat goddess Bastet.

  • image5

    A Titanosaurus skeleton replica, whose original bones were discovered near Sao Paulo in the 1950s.

  • image6

    A vase from the Marajoara, a Pre-Columbian society located near the mouth of the Amazon.

  • image10

    Indigenous masks from the Awetí, Waurá and Mehináku people.

Learn more about the National Museum of Brazil by exploring the exhibition on Google Arts & Culture and on our iOS and Android apps.

13 Dec 2018 2:00pm GMT

12 Dec 2018

feedAndroid Developers Blog

New Keystore features keep your slice of Android Pie a little safer

Posted by Brian Claire Young and Shawn Willden, Android Security; and Frank Salim, Google Pay

New Android Pie Keystore Features

The Android Keystore provides application developers with a set of cryptographic tools that are designed to secure their users' data. Keystore moves the cryptographic primitives available in software libraries out of the Android OS and into secure hardware. Keys are protected and used only within the secure hardware to protect application secrets from various forms of attacks. Keystore gives applications the ability to specify restrictions on how and when the keys can be used.

Android Pie introduces new capabilities to Keystore. We will be discussing two of these new capabilities in this post. The first enables restrictions on key use so as to protect sensitive information. The second facilitates secure key use while protecting key material from the application or operating system.

Keyguard-bound keys

There are times when a mobile application receives data but doesn't need to immediately access it if the user is not currently using the device. Sensitive information sent to an application while the device screen is locked must remain secure until the user wants access to it. Android Pie addresses this by introducing keyguard-bound cryptographic keys. When the screen is locked, these keys can be used in encryption or verification operations, but are unavailable for decryption or signing. If the device is currently locked with a PIN, pattern, or password, any attempt to use these keys will result in an invalid operation. Keyguard-bound keys protect the user's data while the device is locked, and only available when the user needs it.

Keyguard binding and authentication binding both function in similar ways, except with one important difference. Keyguard binding ties the availability of keys directly to the screen lock state while authentication binding uses a constant timeout. With keyguard binding, the keys become unavailable as soon as the device is locked and are only made available again when the user unlocks the device.

It is worth noting that keyguard binding is enforced by the operating system, not the secure hardware. This is because the secure hardware has no way to know when the screen is locked. Hardware-enforced Android Keystore protection features like authentication binding, can be combined with keyguard binding for a higher level of security. Furthermore, since keyguard binding is an operating system feature, it's available to any device running Android Pie.

Keys for any algorithm supported by the device can be keyguard-bound. To generate or import a key as keyguard-bound, call setUnlockedDeviceRequired(true) on the KeyGenParameterSpec or KeyProtection builder object at key generation or import.

Secure Key Import

Secure Key Import is a new feature in Android Pie that allows applications to provision existing keys into Keystore in a more secure manner. The origin of the key, a remote server that could be sitting in an on-premise data center or in the cloud, encrypts the secure key using a public wrapping key from the user's device. The encrypted key in the SecureKeyWrapper format, which also contains a description of the ways the imported key is allowed to be used, can only be decrypted in the Keystore hardware belonging to the specific device that generated the wrapping key. Keys are encrypted in transit and remain opaque to the application and operating system, meaning they're only available inside the secure hardware into which they are imported.

Secure Key Import is useful in scenarios where an application intends to share a secret key with an Android device, but wants to prevent the key from being intercepted or from leaving the device. Google Pay uses Secure Key Import to provision some keys on Pixel 3 phones, to prevent the keys from being intercepted or extracted from memory. There are also a variety of enterprise use cases such as S/MIME encryption keys being recovered from a Certificate Authorities escrow so that the same key can be used to decrypt emails on multiple devices.

To take advantage of this feature, please review this training article. Please note that Secure Key Import is a secure hardware feature, and is therefore only available on select Android Pie devices. To find out if the device supports it, applications can generate a KeyPair with PURPOSE_WRAP_KEY.

12 Dec 2018 6:39pm GMT

11 Dec 2018

feedAndroid Developers Blog

Effective foreground services on Android

Posted by Keith Smyth

This is the fourth in a series of blog posts in which outline strategies and guidance in Android with regard to power.

A process is not forever

Android is a mobile operating system designed to work with constrained memory and battery. For this reason, a typical Android application can have its process killed by the system to recover memory. The process being killed is chosen based on a ranking system of how important that process is to the user at the time. Here, in descending order, is the ranking of each class of process. The higher the rank, the less likely that process is to be killed.

Native Native Linux daemon processes are responsible for running everything (including the process killer itself).
System The system_server process, which is responsible for maintaining this list.
Persistent apps Persistent apps like Phone, Wi-Fi, and Bluetooth are crucial to keeping your device connected and able to provide its most basic features.
Foreground app A foregrounded / top (user visible) app is the app a user is currently using.
Perceptible apps These are apps that the user can perceive are running. For example an app with a foreground service playing audio, or an app set as the preferred voice interaction service will be bound to the system_server, effectively promoting it to Perceptible level.
Service Background services like download manager and sync manager.
Home The Launcher app containing desktop wallpaper
Previous app The previous foreground app the user was using. The previous app lives above the cached apps as it's the most likely app the user will switch to next.
Cached apps These are the remaining apps that have been opened by the user, and then backgrounded. They will be killed first to recover memory, and have the most restrictions applied to them on modern releases. You can read about them on the Behavior Changes pages for Nougat, Oreo and Pie.



The foreground service

There is nothing wrong with becoming a cached app: Sharing the user's device is part of the lifecycle that every app developer must accept to keep a happy ecosystem. On a device with a dead battery, 100% of the apps go unused. And an app blamed for killing the battery could even be uninstalled.

However, there are valid scenarios to promote your app to the foreground: The prerequisites for using a foreground service are that your app is executing a task that is immediate, important (must complete), is perceptible to the user (most often because it was started by the user), and must have a well defined start and finish. If a task in your app meets these criteria, then it can be promoted to the foreground until the task is complete.

There are some guidelines around creating and managing foreground services. For all API levels, a persistent notification with at least PRIORITY_LOW must be shown while the service is created. When targeting API 26+ you will also need to set the notification channel to at least IMPORTANCE_LOW. The notification must have a way for the user to cancel the work, this cancellation can be tied to the action itself: for example, stopping a music track can also stop the music-playback service. Last, the title and description of the foreground service notification must show an accurate description of what the foreground service is doing.

To read more about foreground services, including several important updates in recent releases, see Running a service in the foreground

Foreground service use cases

Some good example usages of foreground services are playing music, completing a purchase transaction, high-accuracy location tracking for exercise, and logging sensor data for sleep. The user will initiate all of these activities, they must happen immediately, have an explicit beginning and end, and all can be cancelled by the user at any time.

Another good use case for a foreground service is to ensure that critical, immediate tasks (e.g. saving a photo, sending a message, processing a purchase) are completed if the user switches away from the application and starts a new one. If the device is under high memory pressure it could kill the previous app while it is still processing causing data loss or unexpected behavior. An elegantly written app will detect being backgrounded and respond by promoting its short, critical task to the foreground to complete.

If you feel you need your foreground service to stay alive permanently, then this is an indicator that a foreground service is not the right answer. Many alternatives exist to both meet the requirements of your use case, and be the most efficient with power.

Alternatives

Passive location tracking is a bad use case for foreground services. If the user has consented to being tracked, use the FusedLocationProvider API to receive bundled location updates at longer intervals, or use the geofencing API to be efficiently notified when a user enters or leaves a specified area. Read more about how to optimize location for battery.

If you wish to pair with a Bluetooth companion device, use CompanionDeviceManager. For reconnecting to the device, BluetoothLeScanner has a startScan method that takes a PendingIntent that will fire when a narrow filter is met.

If your app has work that must be done, but does not have to happen immediately: WorkManager or JobScheduler will schedule the work for the best time for the entire system. If the work must be started immediately, but then can stop if the user stops using the app, we recommend ThreadPools or Kotlin Coroutines.

DownloadManager facilitates handling long running downloads in the background. It will even handle retries over poor connections and system reboots for you.

If you believe you have a use case that isn't handled let us know!

Conclusion

Used correctly, the foreground service is a great way to tell Android that your app is doing something important to the user. Making the right decision on which tool to use remains the best way to provide a premium experience on Android for all users. Use the community and Google to help with these important decisions, and always respect the user first.

11 Dec 2018 10:35pm GMT

06 Dec 2018

feedAndroid Developers Blog

Google Play services discontinuing updates for API levels 14 and 15

Posted by Sam Spencer, Technical Program Manager, Google Play

The Android Ice Cream Sandwich (ICS) platform is seven years old and the active device count has been below 1% for some time. Consequently, we are deprecating support for ICS in future releases of Google Play services. For devices running ICS, the Google Play Store will no longer update Play Services APK beyond version 14.7.99.

What does this mean as an Application developer:

The Google Play services SDK contains the interfaces to the functionality provided by the Google Play services APK, running as background services. The functionality required by the current, released SDK versions is already present on ICS devices with Google Play services and will continue to work without change.

With the SDK version changes earlier this year, each library can be independently released and may update its own minSdkVersion. Individual libraries are not required to change based on this deprecation. Newer SDK components may continue to support API levels 14 and 15 but many will update to require the higher API level. For applications that support API level 16 or greater, you will not need to make any changes to your build. For applications that support API levels 14 or 15, you may continue to build and publish your app to devices running ICS, but you will encounter build errors when updating to newer SDK versions. The error will look like this:

Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 16 declared in library [com.google.android.gms:play-services-FOO:16.X.YY]
        Suggestion: use tools:overrideLibrary="com.google.android.gms:play_services" to force usage

Unfortunately, the stated suggestion will not help you successfully run your app on older devices. In order to use the newer SDK, you will need to use one of the following options:

1. Target API level 16 as the minimum supported API level.

This is the recommended course of action. To discontinue support for API levels that will no longer receive Google Play services updates, simply increase the minSdkVersion value in your app's build.gradle to at least 16. If you update your app in this way and publish it to the Play Store, users of devices with less than that level of support will not be able to see or download the update. However, they will still be able to download and use the most recently published version of the app that does target their device.

A very small percentage of all Android devices are using API levels less than 16. You can read more about the current distribution of Android devices. We believe that many of these old devices are not actively being used.

If your app still has a significant number of users on older devices, you can use multiple APK support in Google Play to deliver an APK that uses Google Play services 14.7.99. This is described below.

2. Build multiple APKs to support devices with an API level less than 16.

Along with some configuration and code management, you can build multiple APKs that support different minimum API levels, with different versions of Google Play services. You can accomplish this with build variants in Gradle. First, define build flavors for legacy and newer versions of your app. For example, in your build.gradle, define two different product flavors, with two different compile dependencies for the stand-in example play-services-FOO component:

productFlavors {
    legacy {
        minSdkVersion 14
        versionCode 1401  // Min API level 14, v01
    }
    current {
        minSdkVersion 16
        versionCode 1601  // Min API level 16, v01
    }
}

dependencies {
    legacyCompile 'com.google.android.gms:play-services-FOO:16.0.0'
    currentCompile 'com.google.android.gms:play-services-FOO:17.0.0'
}

In the above situation, there are two product flavors being built against two different versions of play-services-FOO. This will work fine if only APIs are called that are available in the 16.0.0 library. If you need to call newer APIs made available with 17.0.0, you will have to create your own compatibility library for the newer API calls so that they are only built into the version of the application that can use them:

  1. Declare a Java interface that exposes the higher-level functionality you want to perform that is only available in current versions of Play services.
  2. Build two Android libraries that implement that interface. The "current" implementation should call the newer APIs as desired. The "legacy" implementation should no-op or otherwise act as desired with older versions of Play services. The interface should be added to both libraries.
  3. Conditionally compile each library into the app using "legacyCompile" and "currentCompile" dependencies as illustrated for play-services-FOO above.
  4. In the app's code, call through to the compatibility library whenever newer Play APIs are required.

After building a release APK for each flavor, you then publish them both to the Play Store, and the device will update with the most appropriate version for that device. Read more about multiple APK support in the Play Store.

06 Dec 2018 11:11pm GMT

04 Nov 2018

feedMatt Cutts: Gadgets, Google, and SEO

Halloween 2018: Crab claws!

Do you need something to cheer you up? You got it: I should explain this costume a little bit. At the US Digital Service, we do a thing called "crab claws." Crab claws is like visual applause-you pinch your fingers up and down to say "great job" or "congratulations" or "way to go." We do […]

04 Nov 2018 8:02pm GMT

08 Mar 2018

feedMatt Cutts: Gadgets, Google, and SEO

Some terrible personal news

Cindy Cutts, my wife and best friend, passed away earlier this week. While I was traveling for work recently, Cindy went to visit her family in Omaha, Nebraska. On Sunday, while enjoying time with family, Cindy started having trouble breathing. Her family quickly called 911 and paramedics took Cindy to the hospital, but Cindy lost […]

08 Mar 2018 12:17am GMT

22 Jan 2018

feedMatt Cutts: Gadgets, Google, and SEO

Talking to Mr. Money Mustache about the US Digital Service

Last week, I passed my one year anniversary as head of the US Digital Service (USDS). So when Mr. Money Mustache asked for an interview, I was delighted to talk about some of the work that the USDS does. If you aren't familiar with Mr. Money Mustache, he writes about a philosophy of badassity in […]

22 Jan 2018 6:58pm GMT

01 Apr 2017

feedGoogle Operating System

Google April Fools' Day 2017

April Fools' Day should probably be called Google Fools' Day, since there are so many Google hoaxes.

Google Japan developed a "bubble wrap" version of the Japanese keyboard. "The Google Japanese input bubble wrap version is a keyboard that realizes 'I want to press in my mind, I want to keep pressing'," according to Google Translate.



Another product for your smart home? Meet Google Gnome, "a voice-activated, hands-free tool designed to make backyard living effortless. Need to know what animal is squeaking in your bushes? Stay still and ask Gnome what sound an opossum makes. Running low on birdseed? That's where Gnome comes in. You can even use Gnome's proprietary high-intensity lasers to trim your hedges into whatever shape your heart desires."



The Chrome OS team brings the most popular mobile accessories to the Chromebook, which already blurs the line between mobile and desktop. Chromebook Groupie Stick, Chromebook Cardboard, Chromebook Workout Armband will soon be available in the Google Store. "To take advantage of beautiful, high-resolution displays, as well as great photo editing apps, we've carefully engineered the first Chromebook-sized selfie stick. Never again will you miss the perfect groupie."


Haptic Helpers make VR even more immersive. "We're taking VR to the next level with Haptic Helpers. Using a modest set of everyday tools, these VR virtuosos can simulate more than 10,000 unique experiences, all from the comfort of your own home. Smell the roses. Listen to the ocean. Feel a fluffy dog!"


You can now play the classic arcade game MS. PAC-MAN in Google Maps. "Avoid Blinky, Pinky, Inky, and Sue as you swerve the streets of real places around the world. But eat the pac-dots fast, because this game will only be around for a little while." Just go to the Google Maps site or open the Google Maps app for Android or iOS and click or tap MS. PAC-MAN at the bottom.


Google Cloud Platform expands to Mars. "By opening a dedicated extraterrestrial cloud region, we're bringing the power of Google's compute, network, and storage to the rest of the solar system, unlocking a plethora of possibilities for astronomy research, exploration of Martian natural resources and interplanetary life sciences. This region will also serve as an important node in an extensive network throughout the solar system. Our first interplanetary data center - affectionately nicknamed 'Ziggy Stardust' - will open in 2018," mentions Google.


Google Netherlands came up with Google Wind, a machine learning technology that controls the weather. "The Netherlands has many windmills, some no longer in use, we can connect to Google Cloud Platform. So we use the existing Dutch infrastructure, machine learning, weather patterns to control the network of windmills when rain is approaching. The first test results are very promising: we seem to be able to provide sun and clear skies for everyone in the Netherlands," mentions Google Netherlands blog.



Google's search app for iOS is now optimized for cats and dogs. "On the Google app for iOS, you can now use 3D Touch on the app icon or head to settings and select I'm Feeling Woof or I'm Feeling Meow to let your dogs and cats get info on topics they care about-whether that means squeaky toys or a bowl of milk!"


Google also launched Google Play for Pets, a new category of Android games designed for cats, dogs and other pets.


Google Translate's Word Lens feature supports a new language: Heptapod B, the alien language from the movie "Arrival". "The challenge with understanding Heptapod B is its nonlinear orthography. Fortunately, Google's neural machine translation system employs an encoder/decoder system that internally represents sentences as high-dimensional vectors. These vectors map well to the non-linear orthography of the Heptapod language and they are really the enabling technical factor in translating Heptapod B."

01 Apr 2017 7:25am GMT

19 Feb 2017

feedGoogle Operating System

Gmail Blocks JavaScript Attachments

If you try to send a JavaScript attachment using Gmail or if you want to download a .js attachment, you'll get a new anti-virus warning: "Blocked for security reasons", "1 attachment contains a virus or blocked file. Downloading this attachment is disabled".


.JS has been added to the long list of file types that are blocked by Gmail for security reasons. The full list: .ADE, .ADP, .BAT, .CHM, .CMD, .COM, .CPL, .EXE, .HTA, .INS, .ISP, .JAR, .JS (NEW), .JSE, .LIB, .LNK, .MDE, .MSC, .MSI, .MSP, .MST, .NSH .PIF, .SCR, .SCT, .SHB, .SYS, .VB, .VBE, .VBS, .VXD, .WSC, .WSF, .WSH. "To prevent against potential viruses, Gmail doesn't allow you to attach certain types of files, including: certain file types (listed above), including their compressed form (like .gz or .bz2 files) or when found within archives (like .zip or .tgz files), documents with malicious macros, archives whose listed file content is password protected, archives whose content includes a password protected archive."

The GSuite Blog informs that "for inbound mail, senders will get a bounce message explaining why the email was blocked. If you still need to send .js files for legitimate reasons, you can use Google Drive, Google Cloud Storage, or other storage solutions to share or send your files."

You can still send JavaScript files using Gmail if you change the extension. What about downloading old .js attachments? Try the workarounds from this post.

19 Feb 2017 10:39am GMT

25 Jan 2017

feedGoogle Operating System

Google Image Search Shows Colorful Suggestions

Google Image Search has a different way to display suggestions: it now shows a long list of colorful boxes with related searches. You can click one or more boxes to dynamically refine search results.


For example, when searching for [sportswear], Google shows suggestions like: [women basketball], [tennis], [badminton], [golf], [volleyball], [nike woman], [alexander wang], [adidas], [fashion], [performance], [vintage], [trendy], [urban], [school], [gym], [90's], [70's], [vogue], [luxe], [avant garde], [korean], [italian], [french] and more. It's interesting to notice that each category of suggestions has a different color.




Here's the old interface, which had fewer suggestions and displayed thumbnails next to suggestions:

25 Jan 2017 9:39pm GMT

10 Nov 2011

feedAndroid Forums

Latest action game INC from OrangePixel now available!

From the developer of Meganoid and Stardash comes a new action arcade game: INC! http://www.youtube.com/watch?v=9j5OEG-3RyM Get it from the...

10 Nov 2011 9:31am GMT

Free online video chat

More than 1000 broadcast cameras for you online - the most incendiary models in Russia. 1000 girls, 1000, the temptations, 1000, full of desire - all...

10 Nov 2011 7:48am GMT

Layout problem

Hi Friends I decided to work with a tab layout application. Program consist of 3 tabs and a button. I like to place the button below the tab. ...

10 Nov 2011 5:20am GMT

26 Aug 2011

feedGoogle Blogoscoped

The Emperor's Garden

The Emperor instructed the gardener to set up the new court's garden. "I want you to plant five trees growing the Crataan fruit," the Emperor said, "Because we asked people what fruit they like best, and most named the Crataan fruit!" The gardener replied, "Emperor, that is excellent thinking! But let me make some suggestions: First, how about we make one of the five trees bear the Muran fruit. Only one out of ten citizens loves it, but those peculiar citizens tend to love multiple times as much!" "Second," the gardener continued, "How about we make one of the five trees bear the Dratean fruit. No one loves it, but that's because no one knows it yet!" "Third," the gardener said, "How about we leave one spot in the garden empty. Who knows what new type of tree we'll discover that we can put there in the fut ...

26 Aug 2011 12:12pm GMT

15 Aug 2011

feedGoogle Blogoscoped

Color Sound Machine (and what else I've been doing lately)

For those of you who've been wondering whether I had turned to stone, fallen into a bottomless pit, or been climbing the Himalaya... no, none of that is true, even though you probably did notice I'm not actively blogging about Google here anymore*! Just now, a new iPad app I've been working on called Color Sound Machine went live, and this -- and all the other apps and games at Versus Pad** -- are actually what I am doing while not blogoscoping. *I've drafted unpublished posts explaining much more about past, present and future of Blogoscoped, and the history of Google news reporting, but ... oh, for now le ...

15 Aug 2011 4:00pm GMT

25 Feb 2011

feedGoogle Blogoscoped

Google drops reverse phone number lookup

One of the earliest specialist services provided by Google was reverse phone number lookup. If you used the "phonebook:" or "rphonebook:" operators together with a 10-digit US phone number, Google would show you the owner of that phone number, unless the number was unlisted. Google no longer provides that service. Not surprisingly, there was no press release marking the closure, but Google employee Daniel Russell has acknowledged the closure of the service in his blog. He hints at the possible pressures leading to the shuttering of the service: "As you can imagine, this was an endless source of hassles for people (who were surprised to see themselves searchable on Google) and for Google (who had to constantly de ...

25 Feb 2011 11:23am GMT