Chrome, HTML5, JavaScript

GDL IL With The SubDroid Team

A short discussion with the team that built the first SubDroid that sink in Sedot Yam!
Some good topics on Android, Hackathons and design aspects for successful GeekCon project.

As always, if you have 20-25min on WED at 14:00 Israel time… mark your calendars and join us live on GDL-IL!

Standard
Chrome, HTML5, webdev

Google Drive on GDL IL

Here is my talk from last week with Nicolas Garnier (Developer Advocate for Google Drive) on the new aspects of Drive. You can have a short intro to drive and then dive into:

  • What are the key features developers should be aware of when working with Drive APIs. For example: all the Drive SDKs you can use with your favorite technology (e.g. Java, Php, Python etc’).
  • Show some new apps that are doing good job in integrating into Drive. We spoke about best practices and OAuth2.0
  • Learn what is next for drive in the near future…

Psst…
If you want to see more GDL-IL episodes, feel free to ‘Add our show‘ to your calendar. It’s going to take 15-25min of your time every WED at 14:00 Israel time (IST)

Standard
Chrome, HTML5

DevCon TLV 2012

In a nutshell, DevCon TLV was a great event! It’s getting better and bigger every year. There were lots of developers, friends and rock bands (a bit early in the morning – but great way to wake up quickly). This year all the talks were limited to 25min (with 5min of questions) where after lunch people had the options to choose ‘agile’ track as well. I’ve got to listen to some great talks and I hope we could see all of them online soon. This year my talk in DevCon TLV was “Big Data and HTML5“. This slides cover some of the main points of Google cloud products: Google Cloud Endpoints and Big Query. I wanted to give developers the option to see how they can combine modern web apps with cloud technologies that give a lot of power. The first product we covered is still in ‘trusted tester’ mode and it give the developer the option to build an API (in Google App Engine supported technologies: Java, Python and Go) that will work in minutes with all the scale of Google app engine. You can read more deeply about Google Cloud Endpoint and HTML5 or just have a look at this talk:

(*) This time the talk is in hebrew…  I hope that soon I’ll have another version of it in english.

Standard
Chrome, HTML5, webdev

Google Developers Live IL And Shana Tova!

shana tovaToday we lunch GDL IL. What is it? Google developer live is GDL and IL is our famous short for Israel. It is going to be a weekly show on WED 14:00 (so mark your calanders please). We are going to talk about the latest and greats news in technology. From Android to HTML5 and back to Cloud, Google APIs and anything that is interesting for developers. As ‘startup nation’ we will hosts some of the cool, interesting/amazing startups that will tell their story and will share some of their real life experience. For the first show that is focus around Chrome extensions, I had a pleasure to interview Tal from Equire (a CRM Chrome extension that integrates with Gmail and making your life better). We talked about the life of a web developer that choose to build a product in Chrome (extension and/or App). Since Tal is working from The Hub we covered what is unique about this ‘working space’ and how to be productive in such an environment. One of the key questions I’ve asked was something like: “What are the top 5 things to keep in mind when we are coming to build a chrome extension?” Tal answered:

  • Don’t rush to do the same things you always do when first building an app, think about the new architecture, understand it, it’s a different mindset, it’s not just a regular web app. The major difference is the limited ‘screen’ you have and some strong APIs – so use it smartly.
  • LocalStorage… give you a lot of power to save state/data of users.
  • Metrics – measure everything so you could improve over time and give more insight to your users.
  • APIs – There are many APIs that are available only inside Chrome so learn them and use them!
  • Very challenging UX issue – not a blank canvas like a web app. You have an option to give notifications and be ‘infront of your users’ but there is a delicate balance to strike to make sure you don’t get uninstalled.

There are many more things we covered… Some of these are covered in this post “Six Strategies for building great extensions“. However, if you want all the good stuff, you will need to watch it until the end when our next week guest will show up 😉

We finish the episode with 3 things/tools that Tal recommend.

  • Mixpanel – An analytic tool that answer any question you have about your code/users. You should start early and get a feel for it. The nice part is that you do not need any backend.
  • CoffeeScript – take a week, learn it, it will give you back 3 months of your year.
  • Backbone – especially for chrome extensions. It was a simple for Tal to start and be productive with it.

Until next time… Enjoy and Shana Tova!

Standard
life

Chrome DevTools Screencasts (Hebrew)

We had a very productive ‘Google Drive and Android’ Hackathon and during this event, I got lots of questions from web developers on Chrome DevTools. So here is a great reason to sit down and talk (in hebrew this time) on the special features we have today in DevTools that could help you as a web developer to be more productive and smile more. You can go over the slides while you watch (or after it) on devtools-11.appspot.com It was a talk I gave in Google developer day in Berlin last year. However, the main points that I covered in the screen-cast are from the current DevTools that you have today (Sep 2012) in Chrome Canary.

Few of the main features you might want to master:

  • Click on the ? and see how you can be productive with the keyboard. Here is a list of keyboards command
  • On the right-bottom corner you can see the ‘setting’ button. Once you click on it – you can have some nice options like: choose other user agent and get their screen resolutions, mimic touch events etc’.
  • The Network tab will let you record sessions and the cool part is that you can start a recording and then move between few pages (or in a web app – click and move between states). Once you are done with the recording you can take the data by right click and choosing ‘Save to HAR’ then you can share this data and use tools like this in order to analysis your web app in order to tune it and import its performance.
  • The Audit tab let you have a quick and deep analysis of ‘what can be improved’. Think of ‘page speed’ / YSlow but inside your DevTools.
  • The Profiles tab let you dive deep into the CPU utilization, memory (to see where it’s leaking) and what is going on with the CSS selectors.
  • The console is also a powerful feature that give you options to work with a set of shortcuts like: $0 – for the current selected element etc’. The full list of these shortcuts could be nice to save.

Chrome Dev Tools In Hebrew Part 1

Chrome Dev Tools In Hebrew Part 2

Chrome Dev Tools In Hebrew Part 3

The examples for my book on web workers are here: https://github.com/greenido/Web-Workers-Examples-

If you have other tips you like to share on Chrome DevTools  – please let me know about them.

Standard
Chrome, life

Educational Apps On ChromeOS

As the academic year is starting, let’s have a closer look at what apps can make the life of students and teachers better. There are few sections in Chrome web store that will show us the current inventory: Academic apps, Academic resources and Tools for Teachers. From looking around of them you can see some nice example like: LucidChart For EDU, Planetarium, GeoGebra and many more. It’s depend on your kids age and level but you might find good options in the chrome web store from starting to read apps and up to full ‘office’ apps for collage.

If I was in school today, I guess khanacademy.org would take a lot of my time. It’s got the perfect combination of quality content (in ‘eatable’ sizes of 10min each) and a set of exercise that could show me if I really understood a certain topic. Their new Computer Science section is extremely powerful. It will help students to start play with CS and have fun while doing so. The feedback that you get while programming there is something that will make students productive quickly. Another cool web app that will teach you a new language quickly (while you are helping a novel goal of translating the web) is duolingo.com If you want to learn few words before your next trip, it’s very useful. Last but not least, you might want to try lumosity.com which should improve brain health and its performance.

Btw, this is one of the best talks around our education system and what needs to change.

Have a great learning year.

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
mobile

Top Android Apps You Want On Your Phone

What are the ‘must have’ apps you would install on a new Android device?

I’m sure you all got to this spot when a good friend and/or brother, sister, mom, dad or “dear” neighbor is coming to you (=the “guru”) with their new smartphone with the request: “Make it useful for me” or “Put some games and apps for the kids”. Well, after few (OK, maybe just 17) times I got this request, I decided to document a list of great apps that I’ll install in such a case. It is similar to a post I’ve wrote in the past about ‘Great Web Apps For Your Chromebook‘. The list is a combination of powerful apps that help people (who are not necessarily technical) in their daily tasks.

Here is my little list:

  • Google+ – Well, even if your friend doesn’t use this powerful social network. I would install this app because – on top of many other great features like: local, hangout, messenger and more – it will back up all her photos to the cloud!

  • Waze social GPS – This navigation app bring the ‘wisdom of the crowds’ into your car. It’s very powerful to direct you on the shortest path based on traffic in real time.

  • Gmail – Well… How can we have a list without THE email tool? This is going to be the app the will consume most of your friend’s time.

  • Skype  / Viber / Google Talk – you can call and message for free. I know lots of friends that use them when you are abroad. It’s useful to find a good wi-fi connection so the quality of the call with be good.

  • WhatsApp Messenger – one of the best messaging apps (think on sms but much better and for free). It’s working on many different devices so you can be sure most of your friends can enjoy it.

  • Chrome – Get the the security, speed and simplicity of Chrome to your mobile device. All your links, open tabs, passwords will sync like magic. Plus, you will enjoy many wonderful web apps that will work very fast.

  • Evernote – Organize your life and take notes using your mobile. This app is a powerful tool to keep your notes/recipes/photos/todo lists etc in the cloud. It’s also synced notes across devices so you can reach them from anywhere. Btw, their tablet version is gorgeous.

  • Flipboard / Google Currents / Pulse News – All are great apps to read your favorite magazines, blogs, newspapers etc.

  • Google Drive /  Dropbox – access all your docs, photos, videos, files from your mobile device.

  • Instagram – A good app to improve your native camera pictures and share your photos with the world.

  • TripIt Travel Organizer – This is a great app for anyone that travel. It will give you a great way to stay on top of things like: flight schedule changes, hotel reservations and car rentals.

  • Facebook / Twitter – so you could keep in touch with the rest of the ‘social’ world. btw, both of these app got a very nice mobile web app as well. There are also options to have these type of apps as widgets so you could be more productive on certain functions of the app.

  • Foursquare – explore a new city with this powerful app. Ohh… yes, you can ‘check-in’ and share your location with friends but even if you don’t part of the ‘social animals’ you will find this app very useful. Another option to check quickly where to go and what to eat is Yelp.

  • GroupMe / Google+Messanger – both will give you a great way to have group chats and organize friends/team quickly.

  • VLC – Be able to watch any type of video on your Android. Another option to stream video is with Dropbox app – yep, it let you do that as well.

And some extra fun one

UTILS/TOOLS

  • Barcode Scanner – To be able to scan some barcodes like all the cool kids on the block.
  • Flashlight HD LED – When there is no other option
  • Google Translate – Think on a case where you want to order a good wine in france and you can’t say it.
  • Any.DO To Do List – Great to do list app. It also got a nice chrome extension that keep your tasks sync and fresh.
  • Wheres My Droid – for anyone that lost his phone more than once or twice. This one is a life saver. It will let you find it even if the phone is in silent mode.
  • AVG Antivirus – After all it’s better to be safe then sorry, no?
  • Key Ring Reward Cards – Keep all your loyalty/reward cards in one place.

Reading / Education

  • Kindle – Read book, pdf and anything else. I found that I’m using this app quite a lot on my phone (and not only on my tablet).
  • Google Reader – To keep up with your world of interest. This is a great rss reader.
  • TED – Ideas that worth your time. If you have 20min of free time, this might be the perfect solution to put them into good use.

Sport / Outdoor / Health / Fitness

Anything for bikers, runners, athletes and hikers.

  • My Tracks – Record and share your GPS tracks with friends.
  • MapMyRUN GPS Running – You can have MapMyRide verison as well in case you are mostly on your bike.
  • Strava Cycling – Analyze your performance and see how you stack up against friends and locals
  • StopWatch & Timer – In so many cases you wish to time something…

Last but not least, some apps for the dudes in Israel

We can’t finish without the #1 mobile game of all time (this time for Curiosity)

Angry Birds Space

 Drive safely and if you have some more (great) suggestion – please share them…

Here are the top apps in the Israeli Android Play Store (Aug 2012)

Standard
Chrome, HTML5, JavaScript, webdev

Modern Web Apps Utilizing HTML5 APIs – O’Reilly Webcast

Yesterday I had the pleasure to do another webcast with O’rielly. This time the subject was “Modern web apps & HTML5 New APIs“. The webcast  covered new (and old) techniques for building modern web apps and how to utilize the latest HTML5 APIs to create a new class of web apps that will delight and amaze your users. Some of the main topics were:

  • The latest and greatest application patterns and toolset: MV* frameworks, offline first and Chrome Frame.
  • Some cool tips on Chrome DevTools – On few slides I’ve open this powerful tool in order to show its power.
  • APIs for building cutting edge HTML5 applications: WebGL, Device APIs, CSS3 layouts and many more…

You could watch the recorded webcast

or check out the page on O’reilly website:
http://www.oreillynet.com/pub/e/2349 and if you wish to follow with the slides you can find all of them at ido-green.appspot.com

Here is some of the feedback I got on Google+

Be strong.

Standard
Chrome, HTML5, JavaScript, webdev

Chrome Extensions – The New Event Pages

Since the first days of Chrome extensions it was clear that they are very powerful way to extend your browser and make it do stuff you care about. However, while it was good, we knew that it can get better… and this is why we have in dev channel the ‘Event Pages’. Let’s start by defining what are those pages:

  • Background pages – give your extensions the ability to have a single long-running script to manage some task(s) in the background. This can be a certain state of your app or long pulling of information that you wish to show the user (e.g. amount of unread emails).
  • Event pages – are very similar to background pages, with one important difference: event pages are loaded only when they are needed. When the event page is not actively doing something, it is unloaded, freeing memory and other system resources. Please remember this feature is currently only in dev mode.

It seems that with Event Pages our Chrome will be able to  reduce the memory foot print that is used by some idle extensions. It’s an important evolution from the state of background pages that run all the time. An event page only runs when it is handling events. Once an event page becomes idle, it is unloaded, freeing memory until the next time it’s needed. To help event pages support some important use cases, we’re also have new APIs.

  • The alarms API allows an extension to wake itself up at set times, to support features like: cron jobs type of activity, periodically syncing, anything you wish to do over time in specific timing.
  • chrome.runtime new events let extensions know when they have been installed, or when their event page is being unloaded. It is also giving the developer an option to have a ‘last error’ handler.
  • chrome.declarativeWebRequest – A declarative version of the webRequest API lets extensions do network interception without the need for a background page at all. It also works much faster than the chrome.webRequest API because you can register rules that are evaluated in the browser rather than the JavaScript engine which reduces roundtrip latencies and allows for very high efficiency.

Final Notes

  • Learn more from the event page documentation.
  • There is a good source for more information on Chrome Extensions in Chromium blog
  • There are so many option to use the new event pages with the bluetooth API…
  • Btw, @rem did it again with a new (amazing) version of JSbin – Go check it out and see how great logos ‘steal’ the show… Why I’ve added it here? because it’s a powerful online tool that let you test your app/extension and share your code before you upload it to Chrome web store. I’ve used both jsbin and jsfiddle in order to get feedback on some short code.
Standard