Archive

Posts Tagged ‘google’

Google QUIC is a Secure UDP Protocol Aiming to Replace TCP + TLS

August 10th, 2016 7 comments

A lot of traffic over the Internet goes through  secure https connections. Under the hood this requires a 3-way handshake to establish a TCP connection, followed by even more packets exchanged between the client and server to negotiate TLS in order to establish a secure connection.  Google is now working one the new experimental QUIC protocol that uses the “send and forget” UDP protocol, together with its own crypto, and its own way to making sure the connection is properly establish.

Software Architecture - TCP + TLS vs QUIC

Software Architecture – TCP + TLS vs QUIC

The whole idea about QUIC is to reduce the effect of latency (e.g. ping time) by exchanging less messages to achieve the same secure connectivity. For example, if there’s a 200ms latency between a server and a client, and if a TCP connection requires 4 packets, while a QUIC/UDP connection requires only 1 packet, you’ll save about 600ms.

One downside with UDP according to Jim Roskind, designer of QUIC, is that UDP ports are blocked by some enterprise customers, however he expects that to change overtime, as in the past they also blocked TCP port 80 (used to browse the web), and that eventually QUIC could displace TCP, potentially becoming “TCP/2”. This would require a lot of work, as it would have to supported in Windows, Linux, and other kernels/operating systems to really take of.

You can find a detailed technical write up on QUIC on Mattias Geniar blog. You may also want to check out QUIC Chromium page, as well as the code for proto-quic standalone library for QUIC, currently only working with Linux, and tested on Google’s Ubuntu clone.

Thanks to Nanik for the tip.

Categories: Linux, Programming Tags: google, internet, quic, security

Google Research PRUDAQ is a 40MSPS ADC Data Acquisition (DAQ) Cape for BeagleBone Black & Green

July 21st, 2016 2 comments

Engineers at Google Research wanted to measure the strength of a carrier signals without having to use a bulky oscilloscope or DAQ (Data Acquisition) system,  so they looked into several makers boards to achieve this task, eventually decided to go with BeagleBone Black / Green, and created their own PRUDAQ cape capable of sampling 40 million samples per second, and open source it all.

PRUDAQPRUDAQ cape specifications:

  • Dual-channel simultaneously-sampled 10-bit ADC (Analog Devices AD9201)
  • Up to 20MSPS per channel (40MSPS total) theoretical
  • 0-2V input voltage range (DC coupled)
  • 4:1 analog switches in front of each channel provide a total of 8 single-ended analog inputs. (See here for differential input)
  • SMA jacks for direct access to the 2 ADC channels
  • Flexible clock options:
    • External input via SMA jack
    • Internal on-board 10MHz oscillator
    • Programmable clock from BeagleBone GPIO pins
  • Powered via BeagleBone headers – no external power needed
  • Fully exposed BeagleBone headers on top to connect/stack more electronics or another cape
  • Dimensions – 87mm x 56mm (+/- 1mm)
  • Weight – 29 grams

The complete software and hardware documentation can be found on the Wiki and source code and design files in Github. The software is based on BeagleLogic logic analyzer, and you can retrieve and analyze the data on your computer using the command line with a typical output looking like:

The Beaglebone Black already has an ADC input, but PRUDAQ allows for much faster sampling, suitable to capture radio waves for example. Bear in mind that it’s not really suitable to be used as an oscilloscope due to limitations such as 0 to 2V range, and others. Any specific questions about PRUDAQ project can be asked on PRUDAQ users Google Group.

While the add-on board has been designed by Google Research engineers, it is not a Google product, and it’s made by GetLab, and currently sold on GroupSets for $79 for the cape only, or $159 as a bundle with a BeagleBone Black, PRUDAQ cape, an 8GB micro SD card pre-loaded with BeagleLogic image, one 64GB USB 3.0 Thumb Drive, one BNC-M to SMA-M RG-58 Cable, a USB mini cable, and 3 jumpers.

Android 7.0 is Finally Codenamed Android Nougat, Release Scheduled for this Fall

July 1st, 2016 No comments

Despite Nutella clearly having won the popular vote, Google has finally chosen a different name most likely for trademark reasons, and Android 7.0 will be called Android “Nougat“.

Android_NougatSince Google had already released several Android N previews, we’ve already known the main changes for some times including better virtual reality support, multi-window support, improved security, faster performance thanks to Vulkan API and new JIT compiler, and so on.

Smartphone and tablet manufacturers will release hardware and firmware updates based on Android 7.0 starting this fall, and some TV boxes will likely start to run Android Nougat a little later, probably in 2017 and beyond.

Categories: Android Tags: Android, google, nougat

Infineon Showcases the Radar Board used in Google’s Project Soli, and Sense2Go Development Kit (Video)

June 30th, 2016 2 comments

Google’s Project Soli sensing technology uses a miniature radar to detect touchless gesture interactions, so that you can control devices such as wearables using gestures without having to physical touch the product. The 60 GHz radar technology used in the project has been developed by Infineon, and the company was recently interviewed by Arrow Electronics where they showcased Soli board, as well as another 24 GHz radar development kit called Sense2Go.

Click to Enlarge

Click to Enlarge

The Soli board called BGT60TR24 features Infineon XMC4500 ARM Cortex M4 MCU, and a 60 GHz “CRIS20” radar chip designed specially for Project Soli by Infineon, and allowing 20mm resolution, falling to less than one millimeter with Google’s algorithms. The micro USB port will be used for power and programming. This board should be the one included in Project Soli development kit to be shipped to developers this fall.

Infineon also have a Sense2Go 24GHz sensor development kit that can detect motion, speed, and direction of movement in applications such as indoor/outdoor smart lighting, intruder alarm, motion detectors, intelligent door openers, and more.

Click to Enlarge

Click to Enlarge

Sense2Go board specifications:

  • MCU – Infineon XMC 4200 ARM Cortex M4 MCU @ 80 MHz with 256 KB flash, 40 KB RAM
  • Radar – BGT24MTR11 24 Ghz radar transmitter and receiver IC
  • USB – 1x micro USB port
  • Debugging – Cortex debug connector
  • Misc – 2x User LEDs, 2x 10-pin headers
  • Power – 5V via micro USB port or header
  • Dimensions – 4 x 3.5 cm

The CPU is already preprogrammed using Infineon’s DAVE development tool, and the module comes bundled with a standalone firmware for movement detection without the aid of a PC. It samples up to 2 IF channels of the transceiver chipset and communicates via USB interface to a connected PC, and provided PC application GUI (Windows XP/Vista/7/8) can be used to display and analyze acquired data in time and frequency domain.

Click to Enlarge

Click to Enlarge

The kit also includes a User’s Manual, schematic and Bill-of-Materials of the module, and a micro USB-to-USB cable. Sense2Go can be purchased from various distributors using part number, including Future Electronics ($244) and Avnet.

Raspberry Pi Zero Based Google’s Project Bloks Aims to Teach Programming to Young Children

June 28th, 2016 No comments

Visual programming development tools such as Scratch or Blockly are now becoming more popular to introduce school children to programming, and Google Research is now working on bringing the software visual programming concept to physical blocks “programming” though Project Bloks targeting younger children who may not be able to write or read yet. It might also help older children grasping programming concepts faster than when programming by typing on a keyboard.

Project_Bloks

Project Bloks is comprised of three main hardware components connected together:

  • Pucks – Those are the buttons, dials, switches, and other inputs from the project. Pucks have no active electronics, and even a piece of paper with some conductive ink could be a Puck.
  • Base Boards –  They read a Puck’s instruction through a capacitive sensor, and forward a Puck’s command to the Brain Board.  Each Base Board is also fitted with a haptic motor & LEDs, and can trigger audio feedback from the Brain Board’s built-in speaker.
  • Brain Board – Built around the Raspberry Pi Zero, and adding WiFi, Bluetooth, and a built-in speaker, the Brain Board take care of all the processing, provides the other boards with power, and sends the Base Board(s) instructions to any device with WiFi or Bluetooth connectivity
Brain Board

Brain Board

Children can then assemble Pucks, a Base Board, and the Brain Board together in various forms and shapes to create projects. Google partnered with IDEO to create Coding Kit reference device to show researchers, teachers, and developers how kids could learn basic concepts of programming.

More information can be found on Project Bloks website.

Via HackerBoards

Project Ara Modular Smartphone is Not Dead After All, Just Not Quite as Modular as One Would Wish For

May 22nd, 2016 7 comments

A few weeks ago, one person asked me if Project Ara, Google ATAP project aimed to design a modular phone was still going on. I did not know, but it surely did not seem good with the official website showing a black page at the time, many developers claiming they’ve yet to receive the development kit, a lack of communication, and Google ATAP latest tweet was dated December 2015. That’s until Google I/O, where a project update was given during the event, and the developer kit will be provided in Q4 2016, while a consumer version will be for sale in 2017. That’s the plan at least.

Project_Ara_Developer_KitIf you have 10 minutes, you may want to watch the part of Google I/O 2016 video about Project Ara on YouTube.

The developer phone supports up to 6 hot pluggable modules, meaning you can just insert or replace a module, and use it straightaway with turning off your phone. When you want to remove a module, you’ll need to let the phone know you want to eject the module, and/or you can use voice control to eject the camera module with “OK, Google, eject the camera” as shown in the demo during the presentation.

They’ve also re-explained how it works with UniPro high-speed interface technology, and Greybus protocol to handle the communication with modules (up to 11.9 Gbps) including hot-swapping, as well as specially designed baseplates, connectors and latches.

Project_Ara_ModulesThe other good news is that they collaborate with other companies such as Samsung, Micron, Toshiba, Panasonic, and others to develop modules with speakers, high resolution cameras, extra storage, secondary display, sensors, and so on. They also plan to work on a glucose meter module for people suffering from diabetes. Google also wants to extend modularity to tablets, and other computing platform, so Project Ara is not just for smartphone.

However, since the Ara frame “contains all the functionality of a smartphone”, the processor, memory (RAM), and main display are part of the body, and can’t be updated by module, so they have to scaled down the ambitions of the project when it was first announced. I’m not even sure the battery is replaceable in the developer phone shown by Google, which would be sad.

If you’re a developer and would like to design a module, or develop software for Ara scroll down to the bottom of Project Ara website to leave your details.

Categories: Android, Hardware Tags: google, project ara

Xiaomi Mi Box Comes to the US with Android TV 6.0 Running on Amlogic S905X Processor

May 19th, 2016 36 comments

Xiaomi Mi Boxes have been available in China for a couple of years, and the only way to ship them to the rest of the world was to purchase via Chinese e-retailers. Xiaomi and Google have now worked together to bring Mi Box with Android TV 6.0, instead of the usual Chinese MIUI TV interface, to the US, and possibly to other countries.

Xiaomi_Mi_Box_GoogleXiaomi Mi Box (US) specifications:

  • SoC –  Amlogic S905X-H quad core ARM Cortex-A53 @ up to 2.0GHz with penta-core Mali-450MP GPU @ 750 MHz
  • System Memory – 2GB DDR3
  • Storage – 8GB eMMC flash
  • Video Output – HDMI 2.0a up to 4K @ 60 Hz with HDCP 2.2 and CEC support
  • Audio Output – HDMI, optical S/PDIF and 3.5mm audio jack
  • Video Codecs – VP9 Profile-2 & H.265 MP-10 up to 4K @ 60 fps, H.264 AVC up to 4K @ 30 fps, H.264 MVC up to 1080p60
  • Audio Codecs – DTS 2.0+ digital out, Dolby digital plus up to 7.1 pass-through
  • HDR –  HDR10 and HLG HDR processing
  • Connectivity – 802.11 b/g/n/ac Wi-Fi and Bluetooth 4.0
  • USB – 1x USB 2.0 host ports
  • DRM – Widevine L1 + PlayReady 3.0
  • Power Supply –  5.2V/2.1A
  • Dimensions – 101 x 101 x 19.5 mm
  • Weight – 176.5 grams

The device will run Android TV 6.0 and ships with a Bluetooth voice remote control powered by two AAA batteries, an HDMI cable, a 100/240V 50/60Hz to 5.2V power supply, and a user’s guide. Mi Game controller can also be purchased as an option. The device obviously supports all DRM options to get 1080p and 4K video playback for YouTube, Netflix, Hulu, and so on.

Xiaomi_Mi_Box_Android_TV_6.0The company did not mention Amlogic S905X processor by name, but given the specs, and the fact that a contact told me Amlogic designed S905X for Xiaomi, because Android TV now requires VP9, there’s no doubt it’s the one. That’s probably also explain why they did not go with a more powerful solution as found in their latest Xiaomi Mi Box 3 Enhanced Edition. The H is S905X-H is for Dolby license.

The TV box is coming soon at an undisclosed price. For reference, the (hardware-wise) similar Xiaomi Box 3 TV box based on Amlogic S905-H, 1GB RAM, and 4GB storage, is sold for 299.00 CNY (~$46 US) in China, so I’d not be surprised if the price ends up being around $60. Further details can be found on Xiaomi Mi Box page.

Via Liliputing and Hugo Barra

Android N Developer Preview 3 Adds VR Support, Instant Apps, and Sustainable Performance Mode

May 19th, 2016 2 comments

Google has also unveiled the third Android N Developer Preview at Google I/O 2016, and the first “beta quality” release, available on Nexus 6, 9, 5X, 6P, Nexus Player, Pixel C, and Android One as a “seamless updates” if you opt-in to the Android Beta Program in order to get an over-the-air update with the very latest firmware.

Android_N_Developer_Preview_Devices

Google wants Android N to be faster, safer and more productive. The first two previews addressed performance with a new JIT compiler and Vulkan 3D graphics API support, productivity with multi-window support and direct reply from notifications, as well as security thanks to seamless updates bringing the latest security patchsets to your phones in a timely manner.Google_Daydream_VR

The third preview brings fixes, and some interesting new features:

Daydream

Daydream

  • VR Mode in Android – Google has modified and augmented the Android stack in N to reduce lag between sensor data readings (e.g. head motion) and sending pixels to the display. Motion-to-photon latency on Nexus 6P is now less than 20 ms, a required to make the user feel he/she is really in the rendered scene. You can read Imagination Tech blog post for more details about low latency implementation. Google has now two VR kits: the good old Cardboard and  a new platform called Daydream, just like Android screensaver, that’s virtual reality kit with a two button motion controller that will be available in fall 2016, and work with upcoming Android N smartphones.
  • Android Instant Apps – So far if you want to install and an app, you need to go to Google Play, search for it, install it after agreeing to permissions, and finally you can tap to run it. Google has decided to develop a faster way with Android Instant Apps which let you skip the installation part. You just need to tap to run the app as you would do when you click a link on your web browser. Android Instant Apps are compatible with Android 4.1+ using Google Play services.
  • Sustained Performance Mode – Most recent devices will throttle under heavy load, leading to dramatic performance fluctuation of long-running apps. To address these limitations, Android N includes support for sustained performance mode, enabling OEMs to provide hints about device-performance capabilities for long-running apps. App developers can use these hints to tune apps for a predictable, consistent level of device performance over long periods of time. The new API is currently only enabled on Nexus 6P device.

You can get a complete list of API changes for Android N (all preview versions) on Google Developer’s Android N page. Google has still not decided about the actual name for Android N, so they’re asking for your help.