Chrome

Google Search Updates

 Screenshot 2015-09-24 21.00.19

Helping hacked sites reconsider – A successful reconsideration is the last step a hacked website owner will need to go through to let Google know the site is now safe for users. You can see what is the progress in the way Google handle these requests here.

Mobile – As of September 1st, Google updated the Mobile-Friendly Test to indicate that sites should avoid showing app install interstitials that hide a significant amount of content on the transition from the search result page. The Mobile Usability report in Search Console will show webmasters the number of pages across their site that have this issue. If you have a site that is not connected to Search Console, I recommend you to connect it, it’s a great way to keep track on your site’s health and get important messages from Google.
For more read here. Continue reading →

Standard
Chrome, HTML5, mobile, webdev

Enable Users To Call From Your Web Site

TelephoneOn mobile devices, there is 99.65% chance that they have a calling capabilities.
It’s true that modern mobile browsers will automatically detect phone numbers and convert them to links, it’s a good idea to do this directly in your HTML code. It’s a great way to allow users to call your business with one click and the way to do it is with this simple tel: scheme:

Amazing coffee Service
<a href="tel:+972-3-123-3344">+
972-3-123-3344</a>

The result will look like:

A calling from site examples

Click to Call

You can click on it in order to see the code in action. Continue reading →

Standard
cloud

Add Users to Google Compute Engine / EC2 Instances

KeysIn the past, when I wanted to share a Linux box with other users, it was simply by creating another user and making sure their password are ‘strong’. These days, it’s much safer not to use passwords over ssh but rather keys in order to connect (over ssh) to your machines in the cloud.

Here is the full list of commands you need to do in order to add a user. It’s being tested on Ubuntu so if you are on another OS, please continue with caution.


###################################################################################
#
# Add More Users to Google Compute Engine / EC2 Instances
# Author: Ido Green | @greenido
# Date: 21/SEP/2015
#
###################################################################################
# If you wish to use passwords ignore this flag of –disabled-password
sudo adduser newuser-name –disabled-password
sudo su – newuser-name
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
# (!) Important – without these exact file permissions, you will not be able to
# log into this account using SSH.
chmod 600 .ssh/authorized_keys
# Edit the authorized_keys file and paste the public key for your key pair
# into the file. It should like:
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
# Make sure to copy just the key without any spaces before/after it!
vi .ssh/authorized_keys
# Retrieving the Public Key from your private key file
# If you don't have your publich key (just the file of the private key)
# This is what you need to do in order to extract it:
chmod 400 the-new-key.pem
ssh-keygen -y
# When prompted to enter the file in which the key is, specify
# the path to your .pem file. For example:
/path_to_key_pair/the-new-key.pem
# You will get something like:
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe
# 53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/ab/wB96x
# Make sure to copy it without any spaces before/after
####
#
# Now, hold you finger and try to connect
#
####
ssh -i my_key.pem newuser-name@11.11.11.11
# If things are not going well try:
ssh -v -i my_key.pem newuser-name@11.11.11.11
# You should get the full details why things are not working.
# Another option: tail -f -n 80 /var/log/auth.log on the remote box
# If you wish to remove the user
sudo userdel -r olduser

Misc

Standard
Chrome, JavaScript, mobile, webdev

Make Your Site Faster

We know that users prefer websites and applications that work fast. There is a lot of evidence that link performance to revenue. Let’s see what are main parts of the user experience that relate to the perception of ‘speed’ and how we can improve it.

RAIL performance model

RAIL is a user-centric performance model. Every web app has these four distinct aspects to its life cycle, and performance fits into them in very different ways. You can see in the image below the 4 main aspects and what are the time limits to each stage.

The RAIL model for performance

The TL;DR

  • Focus on the user – the end goal isn’t to make your site perform fast on any specific device, it’s to ultimately make users happy.
  • Respond to users immediately – acknowledge user input in under 100ms – In mobile always use touch events and not click events (yep, click events still got this 300ms delay on mobile browsers)
  • Render each frame in under 16ms and aim for consistency. Users notice “jank” because in most cases it will ‘jump’ to their eyes.
  • Keep users engaged – deliver interactive content in under 1000ms.

Continue reading →

Standard
webdev

Markdown Cheatsheet 101

I’ve been using markdown quite a lot both for the book I wrote and for other projects. It’s a great format and the best part (IMHO) is that you can learn most of it in 10min. Here is a list of the main ‘building blocks’ you will want to use:

Headers

# H1
## H2
### H3
#### H4
##### H5
###### H6

Links

To create links just follow this pattern:

[google.com](https://www.google.com)

Images

For images, you can just add ! before the ‘link’ element we’ve just saw above.


![alt text](https://bla-bla-example.com/icon48.png "Title For Image") 

Emphasis

Continue reading →

Standard
Business

Monetization Questions For Entrepreneurs #StartupTips

startup office

“The art and science of asking questions is the source of all knowledge” – Thomas Berger

One of the critical times for startup is when it needs to define what will be the path to profitability. It’s a real challenge, and one of the ways to come up with the right plan is to ask the right questions.

A set of questions that could lead you in the right path:

  1. How do you define the relationship between ‘growth’ and monetization for your startup?
    Do we need to focus on one first?
    What is the mark to blend the two?
    Can we do both?
  2. What do you think about ‘starting a business’ and not ‘starting a startup’?
    The main point here is to get out of the ‘la-la land’ of startups that don’t need ‘revenue’ and look at the world of building a profitable business from the get-go.
  3. What other bold/good/recent startup(s) are executing a good monetization plan?
    Can we do something similar? Which parts of their plan we wish to test first?
  4. Are there several platforms that we can leverage in our monetization paths?
    In other words, if we are a startup that is building an application for iOS/Android.
    Can we also create an amazing web experience and enjoy it as another platform for engagement?
  5. How your purchasing process (or billing) is working today?
    What pitfalls other should learn from it?
    How you optimize it?
  6. Where are the gaps (or opportunities) in the current state of your online commerce?
  7. What are the top 3 action items that you can take in order to monetize your work better at this stage?
    This might be a great question to ask every 1-3 months.
    Moreover, you might want to keep A/B testing your actions.
  8. Any interesting trends you see in the market around your startup?
    What are the leaders doing?
    What other direct competitors are doing?
    What are indirect competitors are doing?
  9. Can we improve the usage of our analytics in order to gain more insights for our KPIs?

For more thoughts on the subject (with some tips from experience) – Join 4100+ students and check out my course on Udacity “App Monetization“.

Good luck!

Standard
Chrome

Chrome 45 New Features

google-chrome-logoTime flies!
Since my last update on Chrome 44 we had the chance to see the market crash and quite a lot of new features that were baked into Chrome 45.
The main improvements you should take a closer look at:

  • A set of new ES2015 features including:
  • SMIL is deprecated – to learn more please check out the discussion.
  • This (long time) bug is fixed.
  • Web Bluetooth is now available in Chrome OS 45.
    It’s still in Developer Preview and the team is actively looking for developer 
    feedback.

Chrome for Android Media controls
On Android, native apps can show media controls in a system notification when playing audio, making it easy for users to control audio while multitasking. Chrome 45 brings this capability to the web by showing a notification with media controls when audio is playing in web content. The controls will automatically show up when <audio> or <video> tags play audio longer than 5 seconds. It will look like this: Continue reading →

Standard
HTML5, JavaScript, php, webdev

Sublime Text 2/3 – Packages And Shortcuts

subl-icon-512

I always start with the one package that allow to stay in sublime and improve it quickly: packagecontrol.io

Next on the line is the option to make our editor a bit more friendly with: SublimeCodeIntel It’s A full-featured code intelligence and smart autocomplete engine for Sublime Text. Few of the technologies that are supported:
JavaScript, SCSS, Python, HTML, Ruby, Python3, XML, HTML5, Perl, CSS, Node.js, Tcl, TemplateToolkit and (of course) PHP.
From here there are many options.
Few the I’ve found useful:

  • Git
  • Emmet
  • Terminal
  • ColorPicker
  • SublimeREPL
  • LiveReload – Make your life easier with this live reload ability. It will save you a lot of clicks on the ‘reload’ button (or cmd+r).
  • MarkdownPreview – I love markdown and this one is making me more productive with it.
  • JSLint – If you are writing some javascript, this one is a must.
  • DocBlockr – Create a new documentation block with a quick click. And yes, it will extract that function’s parameter information and pre-fill it in your documentation block. nice, no?
  • Soda Theme – just to keep up with the cool kids on the block.

Continue reading →

Standard
Chrome, HTML5, JavaScript, mobile, webdev

Make Your Web Forms More Efficient

Ido's payment formForms are the main ‘entry barrier’ to anything meaningful on the web. It might be a registration form, sign-up form or a shopping cart. In all of them, you wish to do the best in order to delight your users and lower the friction.
In the slides below, we will cover the best practices so your forms will rock.

Continue reading →

Standard
Android, Business, Chrome

App Monetization Course #StartupTips

app-mon-imageIn the past year, I had the pleasure to work with  and the rest of the professional team in Udacity on a course that aim to help developers and entrepreneurs. There is no higher form of user validation than having customers support your product with their wallets. However, the path to a profitable business is not necessarily an easy one. This course blends instruction with real-life examples to help you effectively develop, implement, and measure your monetization strategy, iterating on the model as appropriate. In a nutshell, it will help you make money.

Go try it at: udacity.com/course/app-monetization–ud518

Continue reading →

Standard