Chrome, mobile

Google Now On Chromebook

Screenshot 2015-04-24 14.50.35

“Google Now” got a powerful goal: The right information at the right time.
From knowing the weather before you go for a run, to planning the best route to avoid traffic, or even checking your favorite team’s score while they are playing, get the information you want, when you need it. You can look at it as a new phase in Search. You are getting the answers before you had the chance to ask the questions. If you use Android or iPhone – Good chances that you saw it in action. However, if you got a Chromebook, here is how you can manage it and sync between your phone and your laptop. Yesterday, Google has announced that they’re expanding Now with support for 70 new apps, including Spotify, Feedly, Runkeeper, OpenTable etc’.

How Google Now is working in Chrome? Continue reading

Standard
Chrome, HTML5, JavaScript, webdev

Install Ubuntu On Your Chromebook

chromebook 5

Chromebook For Developers And Hackers

If you are a Linux hacker and/or a developer with a new Chromebook, Chromebox, Pixel or an old laptop with ChromeOS… You might want to have the ability to have a dual-boot option that will let you enjoy the power of your ChromeOS but on the same time be able to boot your laptop with Linux and enjoy C, C++, Java and the fun technologies. It might be hard on other platforms to ‘hack’ them, but since the chromium project is open-source, I guess, they wanted to be hackable by design (e.g. you have a keyboard shortcuts in Pixel that let you enter this mode). Here are the few steps you need to follow in order to enjoy hacking ChromeOS. Continue reading

Standard
Chrome, HTML5, webdev

ChromeOS Hacking On Google Developers Live Israel

ChromeOS - new gift to your old laptop

ChromeOS – A new gift to your old laptop

Today, I had the pleasure to sit for 15min with Nissim Betito (the one and only!) how is a known hacker in the linux community around TLV. We spoke about Chromebook and what are the powerful tools that you can leverage today when you wish to write code. Later, we showed how to install ubuntu on Chromebook and get everything you miss as a developer that must have gcc (or other complier) under their hands. In the near future we will show how to install chromeOS image on raspberry pi… Continue reading

Standard
Chrome

How To Prevent Your Chromebook From Going To Sleep

CrOS no sleep for youThere are some cases where you wish your chromeOS, Chromebook (or Chromebox) will not to enter into sleep mode. A quick example is when you wish to use it in a conference to present a cool web experiment and you don’t want it to vanish after few minutes. Here are two quick ways to achieve it. Both are a bit of a hack… but it’s not a complicated process.

The hacker way

  1. Login with the admin user.
  2. Open a terminal by hiting CTRL+ALT+T
  3. Type the following
    1. shell (to drop into a standard bash shell)
    2. sudo stop powerm – to disable sleep when lid is closed. You could go with the longer version of: sudo initctl stop powerm but there is no reason to type more…
    3. sudo stop powerd – to disable all other power management features.
  4. Now logout from the menu – But do not restart! Why? because these settings won’t survive it.

The easy way

Install this Chrome extension – Caffeine after your clone/fork it from Github. It is an experimental extension for Google ChromeBooks that overrides the default power settings.
It is using this API:

chrome.experimental.power.requestKeepAwake()

which is still under experiment so you will need to enable it before the installation.

How to install:

  1. Go to about:flags on your Chromebook, enable “Experimental Extension APIs” and then restart your Chromebook.
  2. Go to extensions, toggle on Developer Mode, and click load unpacked extension.
  3. Choose the folder containing this source.
  4. Toggle / unToggle the menu icon to keep Chrome awake. Is it easy or what?

Happy new year!

[Update Sep 2014] – You can now have Keep Aware extension from the Chrome Web Store. This is the easiest way and it got two option: full system awake (sun is up) or display will go to sleep but network and the rest will continue to work (moon is up).

Standard
Chrome

GDL-IL On ChromeOS And Chromebook

Today I sat with Nissim Benito (our very own Chrome/Hardware expert) to talk about the new features we have in ChromeOS. We covered the hardware specs that you have on Chromebox and Chromebook. These devices give you a lot of option to connect 6 USBs, 2 DVI etc’. We showed how you can use modern web apps that are out there today to be more productive and safe. In case you want to test ChromeOS before you buy it, you can go to best buy or Install ChromiumOS On Your (Old) Laptop another option is to test ChromeOS In VirtualBox. I’m sorry for the quality of the audio… I hope to solve it until the next episode.

Standard
Chrome

Chrome For Enterprise

During my work with big organizations I got many questions about deploying Chrome for enterprise. What are the management capabilities? Which policy I can control? Is there an option to use MSI? The good news is that most of the answers are… Yes! Chrome/Chromuim supports few ways to control your browser’s activity. It can be done by using group policy, MCX files and external configuration files. In the end of the day, the administrator of your organization can manage and control all the Chrome installations. One of the main question CIO/CTO has is about the option to control the auto-updates. Well, You can control it. For more details you can read the first bullet in the list below. The other items in that list will help you understand more on the capabilities and see how you can deploy it on any network (windows, linux and mac).
 

(*) More information on all the benefits of Chrome for enterprise and businesses can be found here. And as we know, in the business world the EULA is important as well.

Chrome Frame

Another great option for enterprises that need to work with IE is to install Chrome-Frame. Chrome Frame is an Internet Explorer plug-in that renders specific web pages in Chrome. That’s right… You will be able to use the latest HTML5 features (e.g. see amazing 3D WebGL charts) inside your IE6-8. It’s very powerful way to empower your people with modern browser today.

Standard
Chrome

ChromeOS New Features, Extensions And $2 Million Worth Of Rewards

Well, the summer is over (thanks god!) and the kids are back to school. It’s a great opportunity to check out what’s new in ChromeOS kingdom (e.g. Chromebook, Chromebox and other hardware you might have this powerful OS on).

First, let’s dive to the $2M… After the big success of first Pwnium competition it was clear there is going to be 2nd one. So get ready with your hacking fu because Pwnium 2 is coming. It will be held on Oct 10th, 2012 at the Hack In The Box in Kuala Lumpur, Malaysia. This time, they will be sponsoring up to $2 million worth of rewards. Where the highest one is $60,000! In order to gain it you will need to find “Full Chrome exploit”. It means you are working on Chrome (in Win7) and you gain local OS user account persistence using only bugs in Chrome itself. It’s amazing to see how creative hackers can be and even more the speed that the developers of Chromium will fix and ship it. For more details check out this blog post on Chromium blog.

Second, few cool extensions to control… extensions (read this sentence again if you wish).

Extension Automation – It makes life easy when it comes to control and manage the scope that your extensions are running. Think on a case, where you wish the Google+ extension to work only on G+ pages.

Black Menu – One ‘little’ black menu to access all (=most) of Google services. I didn’t play with it yet, but some of my friends did, and it seems to work for them quite nicely.

Send to Kindle – It’s similar to other extensions like ‘read it later’ that let you send/save stuff for later read. However, this is the option to read it on your kindle (which means, you can use your phone, tablet and Chromebook with Cloud Reader in order to read interesting posts/articles).

Last but not least, there are lots of good new features we will soon have in ChromeOS (and Chrome) the main ones are around the new packaged apps. In last I/O there were serval talks on the topic and with the latest version of Chrome Canary, you can build, load, debug and test your apps without command-line flags, although you may need to enable experimental APIs in some cases. This is very cool option, because it opens the door for web developers to build ‘native’ (=desktop) apps with the technologies they master (=JS, HTML, CSS). On ChromeOS these apps will feel at home because they got all the APIs they need.

For more information checkout this

from Eric Kay from the Chrome team.

Have a happy and productive school year.

Standard
Chrome

SSH In Chrome and ChromeOS

This is a very cool (new) extension that let you work with SSH inside your browser. It’s name is Secure Shell and it is an xterm-compatible terminal emulator and stand-alone ssh client for Chrome. It uses Native-Client to connect directly to ssh servers without the need for external proxies. I used it for few days and it’s working great. It’s useful on Chromebook (and ChromeOS) as a nice way to have access to a box that let you compile your C++/Java code. Also, as I’ve heard from few good people on stackoverflow, the need for Emcas (and/or) Vim on ChromeOS can be achieved via this nice extension.

ssh in Chrome

Standard
Chrome, HTML5, webdev

New USB API & Bluetooth API In Chrome/ChromeOS

It seems that we are going to have some powerful new APIs on ChromeOS and Chrome in the future. From looking at chromium site last month I’ve saw two new interesting proposal to new APIs that will make Chrome (even) better. The ability to ‘talk’ with hardware and external devices is very important and until today the way to do it (from a web app) was by using network. So there was no (real good) option to communicate with hardware and external accessories that do not support network (e.g Wi-Fi). These two new APIs are going to allow web developers with more power to build amazing apps that communicate with external devices. Think, smart watches, GPSs, robots, Lego cars (my kids will love it!) etc’.

USB API

The USB API aims to provide access to fundamental low-level USB operations from within the context of an extension. Some use cases that might come to mind: GPS, Watch, mobile phone or any other devices which require third-party drivers to work. One of the use cases for this API would be to provide the ability for a Chrome extension to function as a device driver and allow previously new devices to be used – is it cool or what? just think on the ‘old’ days where if you needed to talk with your specific hardware you were locked to write you native application for windows, mac and linux (and more if your users are there). In the new world, you will be able to write it once and run it everywhere… (where have we heard this sentence before? back in the 90s? Some technology that start with J?) One big question is if/when we could see this API being part of the web platform. I don’t really know. However, I do hope it will.

The APIs functions:

  • Locates an instance of the device specified by its vendor and product identifier - chrome.experimental.usb.findDevice(
    integer context,
    integer vendorId,
    integer productId,
    function callback)
  • Performs a USB bulk transfer to the specified device - chrome.experimental.usb.bulkTransfer(integer device,
    string direction,
    integer endpoint,
    string data,
    function callback) 
  • Close a USB device handle - chrome.experimental.usb.closeDevice(integer device,
    undefined callback)
  • Performs a USB control transfer to the specified device - chrome.experimental.usb.controlTransfer(integer device,
    string direction,
    string recipient,
    string type,
    integer request,
    integer value,
    integer index,
    string data,
    function callback)
  • Creates a USB context by which devices may be found - chrome.experimental.usb.createContext(function callback)
  • Disposes of a context that is no longer needed. It is not necessary that this call be made at all, unless you want to explicitly free the resources associated with a context - chrome.experimental.usb.destroyContext(integer context)
  • Performs a USB interrupt transfer to the specified device - chrome.experimental.usb.interruptTransfer(integer device,
    string direction,
    integer endpoint,
    string data,
    function callback)

* This API proposal was on March 7th, 2012. For more details check this proposal. After all we are dealing here with an open source project.

Bluetooth API

A bluetooth API that is on par with the Android and iOS APIs. Version 1 will support basic RFCOMM communication. Profile support will be left for a future version. As for the most common use cases we can think on anything that you are doing today on your mobile device (e.g. headset, stream video/audio etc’). One important aspects to pay attention (just like on mobile devices) will be to see how intensive the bluetooth API is in terms of making your battery drain.

The APIs functions:

  • Accept incoming bluetooth connections by advertising as a service - chrome.experimental.bluetooth.acceptConnections(string uuid,
    string service_name,
    string service_description,
    function callback)
  • Connect to a service on a bluetooth device - chrome.experimental.bluetooth.connect(BluetoothDevice device,
    string uuid,
    function callback)
  • Close the bluetooth connection specified by socket - chrome.experimental.bluetooth.disconnect(BluetoothSocket socket, function callback)
  • Get the bluetooth address of the system - chrome.experimental.bluetooth.getBluetoothAddress(function callback)
  • Request a list of bluetooth devices that support service - chrome.experimental.bluetooth.getDevicesWithService(string service_uuid,
    function callback)
  • Get the local Out of Band Pairing data - chrome.experimental.bluetooth.getOutOfBandPairingData(function callback)
  • Check if this extension has access to bluetooth - chrome.experimental.bluetooth.isBluetoothCapable(function callback)
  • Check if the bluetooth adapter has power - chrome.experimental.bluetooth.isBluetoothPowered(function callback)
  • Read data from a bluetooth connection - chrome.experimental.bluetooth.read(BluetoothSocket socket,
    function callback)
  • Set the Out of Band Pairing data for the bluetooth device at bluetooth_address - chrome.experimental.bluetooth.setOutOfBandPairingData(string bluetooth_address, array of ArrayBuffer data,function callback)
  • Write data to a bluetooth connection - chrome.experimental.bluetooth.write(BluetoothSocket socket, ArrayBuffer data, function callback)
  • Fired when the availability of bluetooth on the system changes - chrome.experimental.bluetooth.onBluetoothAvailabilityChange.addListener(function(boolean available) {...your code...});
  • Fired when the powered state of bluetooth on the system changes - chrome.experimental.bluetooth.onBluetoothPoweredChange.addListener(function(boolean powered) {...your code...});

* This API proposal was on March 7th, 2012. More details can be found in the original proposal.

I know few startups that are waiting for these APIs that they would love to built interesting apps to use them. It’s going to be very interesting to see what new smart-watches, GPSs, Mobile devices etc’ will do with these APIs. Be strong & happy.

Standard
Chrome, HTML5, webdev

What Is ChromeOS? In a 5 Minutes Lighting Talk

What is Chrome OS? Well, ChromeOS (and the new Chromebooks) are built and optimized for the web, where users are already spend most of their computing time. Here is a lighting talk I gave in the Java Posse roundup 2012. If you know nothing about Chromebook, ChromeOS and the Chromium Projects – It might be worth your five minutes.  This presentation is built on top of impress.js and you can checkout the code on github.com/greenido/chromeOS-5min

The new chromebooks

You can also checkout the summary of the other talks I gave in that amazing conference.

Standard