Chrome, HTML5, JavaScript, webdev

DevCon TLV – HTML5 APIs (Talk & Slides)

DevCon TLV Logo

Today I had the pleasure to talk (again) at DevCon Tel Aviv. In this talk, I’ve covered some of the aspects that developer should think about in the design phase, coding phase and after the ‘production time’. It was a good opportunity  to put a simple demo page that contain some basic HTML5 features you might want to use. Why? because in cases like the ‘Summary/Detail’ element you get the option to have expendable/collapsable areas without any JavaScript. It’s great to have the ability to communicate to the browser our needs without doing some ‘hacks’ in JS. Other great options like: visibility API, Geo and device orientration are all working on most modern browsers. You can check out the slides and the links to the resources in them. Continue reading

Standard
Chrome, JavaScript, php, webdev

Google APIs On GDL Israel

Google APIsIn this week we spoke about Google APIs and how you can work with them from the client (e.g JavaScript) and from the server (in this case, it was with PHP but there are many more options).

The main link that you will want to start with is: code.google.com/apis/console/ which give you the option to ‘activate’ which APIs you are going to use and later on each and every one of them you can click on the ‘question mark’ and jump to a starting guide. Another good tool is the API-Explorer which give you the option to test APIs quickly and see what each end-point will return. Continue reading

Standard
Chrome, HTML5, JavaScript, webdev

How Deep Is Your HTML5 Knowledge?

html5 knowledge gameWell… If you wish to see how well you know all the little quirk modes. There is a (web) App for that: http://jakearchibald.github.io/request-quest/
Thank to Jake Archibald for the time he put into it.

Standard
Business, life

7 Amazing Techmarkers

google-techmarkersI was lucky enough to be in the room for their final rehearsal (yep… it was in the same room that I gave my I/O talk). However, I could not focus on preparing, because their stories were so powerful and inspiring. Each and everyone had a story that kept the ‘wow’ effect. If you have time this weekend… you won’t regrat it. Continue reading

Standard
Chrome, HTML5, JavaScript, mobile, webdev

HTML5 APIs – Hangout With O’Reilly

Web Workers BookToday I did a hangout on air with O’Reilly. It was a good opportunity to dive into some of the aspects of modern web application and check what are the main things we wish to think about when we design, build and ship our apps. Modern web apps are rich, interactive applications.

I tried to cover the following:

  • Defining the modern web app
  • Designing a modern web app
  • HTML5 Power tools/APIs
  • Tips & best practices on DevTools and Google Cloud Endpoints.

The slides 

My book on Web Workers.

And you can watch the video recording of the talk:

Standard
Chrome, HTML5, JavaScript, webdev

Google I/O 2013 – Mobile Web App Demo

Standard
Chrome, HTML5, JavaScript, mobile, webdev

Google I/O 2013 – Mobile, Web and Cloud – The Triple Crown of Modern Applications

app_engine-256Can we had a better title for our talk? I’m not sure… But the description was along the lines of “…Ready to rock the world with your next application? Odds are you are thinking about mobile, web and the cloud.” So far… so good.

In this session we talked about building a modern mobile web application that takes advantage of the Google Cloud Platform. We touch on the powerful combination of the “mobile web AND the cloud” and in the process we tried to show the power of Google cloud endpoints and modern HTML5 apis. We built a fun little mobile web app “Pictureque” that give you the options to take photos (even on airplanes) and then share them with the world. Continue reading

Standard
Chrome, HTML5, JavaScript, webdev

Web Workers Intro On Google Developers Live Israel

Web Workers is a good way to improve the performance of your web applications. It’s not a new HTML5 API but for some reason not too many front end developers are using it. This short episode will give you the intro to why and how you can leverage this simple and powerful API to enter the world of multi threads in the browser. Continue reading

Standard
Chrome, HTML5, JavaScript, webdev

HTML5 And Google App Script

App scriptIn our GDL-IL today, I’ve talked about a fun project I did in the past. It’s a single web page application that let you manage an event. We covered some of the basic components we used in order to built this site and then we jumped into the app script code and showed how to work with the online IDE that let you write, run and debug your server side code. The site gives you basic functions like: Continue reading

Standard
Chrome, HTML5, JavaScript, webdev

Chrome Extension For Enterprise Internal Usage

Chrome ExtensionsAt the beginning of the year, I’ve worked with a big organization that wanted to avoid the automatic suggestions Chrome is making in the omnibox (=the top field in Chrome, where you type searches and see the url).

Their main requirement was the need to allow employees to type a word and get the internal site that they are use to see. For example, the user will type ‘sale’ and Chrome will redirect them to the internal portal of sales. If you won’t modify Chrome it will run a google search on ‘sale’ and the results will be something like:

Screen Shot 2013-03-11 at 5.02.05 PM

The good news is that with this little extension you will be able to control the redirect of the users to the right internal location. Let’s jump into code.

This is the code of our manifest file that describe the extension


{
"name": "Omnibox customization example",
"description" : "To use, type 'get' plus a search term into the Omnibox.",
"version": "1.1",
"background": {
"scripts": ["background.js"]
},
"omnibox": { "keyword" : "get" },
"manifest_version": 2
}

view raw

manifest.json

hosted with ❤ by GitHub

Important to notice is that we setting the keyword ‘get’ in order to activate this extension. You can choose something shorter if you like. Another aspect is the “manifest_version”: 2 which making sure we are compatible with the latest spec.

This is the code of our background page


// each time the user updates the text in the omnibox this event
// is fired and we will use it to suggest search terms for
// our internal users.
chrome.omnibox.onInputChanged.addListener(
function(text, suggest) {
suggest([
{content: "CRM" , description: " fetch the internal CRM"},
{content: "ERP" , description: " fetch the internal ERP"},
{content: "sales", description: " fetch the lastest sales report"}
]);
});
// This event is fired with the user accepts the input in the omnibox.
chrome.omnibox.onInputEntered.addListener(
function(text) {
if (text.indexOf("/") < 1) {
text += "/";
}
if (text.indexOf("http") < 0) {
text = "http://our-internal-portal/&quot; + text;
}
alert('We are taking you to: "' + text + '"');
navigate(text);
});
function navigate(url) {
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.update(tab.id, {url: url});
});
}

view raw

background.js

hosted with ❤ by GitHub

Here we will listen to the events of omnibox.onInputChanged and omnibox.onInputEntered in order to execute our logic.

Another point you might want to consider is to go to:

chrome://settings/ -> Advanced ->  and then to disable these options:

  • Use a web service to help resolve navigation errors
  • Use a prediction service to help complete searches and URLs typed in the address bar
  • Predict network actions to improve page load performance

It doesn’t matter if you are working in a startup of few people or a big organization with 2.2M employees (e.g. Walmart). In both cases, you probably have internal network and  internal systems that your users will love to access with few keywords like: CRM, ERP, Sale, Marketing, QA etc’.

Happy coding & Happy Passover.

Standard