Pages

Sunday, October 23, 2016

HTC One A9 officially presented

No more leaks and no more speculations. The newest HTC Android device - HTC One A9 was officially presented today, at the HTC #BeBrilliant Launch event. Although its hard to predict the future of the One A9 by looking only at the hardware specification, the device itself is described by many as controversial due to middle-end Snapdragon 617 SoC and iPhonish design. Is it justified? Id say - NO.

First of all Im still using "old" HTC One M8 as my daily device. Ive never had One M9 and being honest I never "really badly wanted" to have one. In my opinion M9 has a great hardware but the design is a step back to the M7 days. With the M8 it was different. I literally felt in love in that piece of metal uni-body art ever since I touched it for the first time. This love continues, even tho my M8 looks like after one year of a high mountains climbing trip. Surprisingly, even the "C" letter detached from the back and lost somewhere. So its just "H" & "T" now. But I still love it.

With the One A9 I feel like I could possibly use it as my next Android device. Even if the hardware may seems worse than One M9 is equipped with, my general opinion in that matter is simple: if you cant see a real performance difference in a real life operations between two devices, go for the one with a better design.
In my opinion Snapdragon 617 SoC is more than enough to satisfy 99% of customers. Its enough to handle newest games and it should generate much less heat than infamous Snapdragon 810. That means it will also throttle less. With AMOLED display it should find new fans among Samsung users too.
"The Qualcomm® Snapdragon™ 617 processor with X8 LTE combines a fast and powerful octa-core CPU with integrated Snapdragon X8 LTE, full 1080p support, and dual-ISPs, designed to deliver the next high-end experiences." - link to Snapdragon 617 specs page.
The overall hardware specification doesnt look bad on the paper and I cant wait to see how One A9 behaves in real.

About the "almost iPhone design" argument - yes, its true that it does look like an iPhone. Yes, its true that HTC was first with such design. The question is - does it really matter? HTC One M9 design was unique and awful (sorry to say that). HTC One A9 design is not as unique, but it just looks good. It doesnt bring any innovation, but Im sure it will find more supporters rather than the M9 design.

Unlike many of my friends Im pleased with what HTC presented today. As a HTC One M8 owner the One A9 sounds like a nice upgrade option to me, the first good looking phone after the One M8.

You can find more details about the HTC One A9 on the official page - HTC One A9.


Do you have any questions or comments? Feel free to share! Also, if you like this article, please use media sharing buttons (Twitter, G+, Facebook) below this post!


For latest news follow Android Revolution HD on popular social platforms:

Read More..

Docker and Containers Coffee With A Googler meets Brian Dorsey

Posted by Laurence Moroney, Developer Advocate

If you’ve worked with Web or cloud tech over the last 18 months, you’ll have heard about Containers and about how they let you spend more time on building software, instead of managing infrastructure. In this episode of Coffee with a Googler, we chat with Brian Dorsey into the benefits of using Containers in Google Cloud Platform for simplifying infrastructure management.

Important discussion topics covered in this episode include:

  • Containers improve the developer experience. Regardless of how large the final deployment is, they are there to make it easier for you to succeed.
  • Kubernetes -- an open source project to allow you to manage containers and fleets of containers.

Brian shares an example from Julia Ferraioli who used Containers (with Docker) to configure a Minecraft server, with many plugins, and Kubernetes to manage it.

You can learn more about Google Cloud platform, including Docker and Kubernetes at the Google Cloud Platform site.

Read More..

Friday, October 21, 2016

Detect touch on GoogleMap onMapClick and onMapLongClick


To detect touch on GoogleMap, modify MapsActivity.java from last example "Google Maps Android API v2 - initialize map in xml".

Edit MapsActivity to implements GoogleMap.OnMapClickListener, GoogleMap.OnMapLongClickListener.

Implement your listeners, onMapClick() and onMapLongClick().

Assign the listeners to your GoogleMap by calling:
mMap.setOnMapClickListener(this);
mMap.setOnMapLongClickListener(this);


package com.blogspot.android_er.androidstudiomapapp;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.InputType;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.google.android.gms.common.GoogleApiAvailability;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MapsActivity extends AppCompatActivity implements OnMapReadyCallback,
GoogleMap.OnMapClickListener, GoogleMap.OnMapLongClickListener {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);

}

/**
* Manipulates the map once available.
* This callback is triggered when the map is ready to be used.
* This is where we can add markers or lines, add listeners or move the camera. In this case,
* we just add a marker near Sydney, Australia.
* If Google Play services is not installed on the device, the user will be prompted to install
* it inside the SupportMapFragment. This method will only be triggered once the user has
* installed Google Play services and returned to the app.
*/
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setOnMapClickListener(this);
mMap.setOnMapLongClickListener(this);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_addmarkers:
addMarker();
return true;
case R.id.maptypeHYBRID:
if(mMap != null){
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
return true;
}
case R.id.maptypeNONE:
if(mMap != null){
mMap.setMapType(GoogleMap.MAP_TYPE_NONE);
return true;
}
case R.id.maptypeNORMAL:
if(mMap != null){
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
return true;
}
case R.id.maptypeSATELLITE:
if(mMap != null){
mMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE);
return true;
}
case R.id.maptypeTERRAIN:
if(mMap != null){
mMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN);
return true;
}
case R.id.menu_legalnotices:
String LicenseInfo = GoogleApiAvailability
.getInstance()
.getOpenSourceSoftwareLicenseInfo(MapsActivity.this);
AlertDialog.Builder LicenseDialog =
new AlertDialog.Builder(MapsActivity.this);
LicenseDialog.setTitle("Legal Notices");
LicenseDialog.setMessage(LicenseInfo);
LicenseDialog.show();
return true;
case R.id.menu_about:
AlertDialog.Builder aboutDialogBuilder =
new AlertDialog.Builder(MapsActivity.this);
aboutDialogBuilder.setTitle("About Me")
.setMessage("http://android-er.blogspot.com");

aboutDialogBuilder.setPositiveButton("visit",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String url = "http://android-er.blogspot.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
}
});

aboutDialogBuilder.setNegativeButton("Dismiss",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});

AlertDialog aboutDialog = aboutDialogBuilder.create();
aboutDialog.show();

return true;
}
return super.onOptionsItemSelected(item);
}

private void addMarker(){
if(mMap != null){

//create custom LinearLayout programmatically
LinearLayout layout = new LinearLayout(MapsActivity.this);
layout.setLayoutParams(new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT));
layout.setOrientation(LinearLayout.VERTICAL);

final EditText titleField = new EditText(MapsActivity.this);
titleField.setHint("Title");

final EditText latField = new EditText(MapsActivity.this);
latField.setHint("Latitude");
latField.setInputType(InputType.TYPE_CLASS_NUMBER
| InputType.TYPE_NUMBER_FLAG_DECIMAL
| InputType.TYPE_NUMBER_FLAG_SIGNED);

final EditText lonField = new EditText(MapsActivity.this);
lonField.setHint("Longitude");
lonField.setInputType(InputType.TYPE_CLASS_NUMBER
| InputType.TYPE_NUMBER_FLAG_DECIMAL
| InputType.TYPE_NUMBER_FLAG_SIGNED);

layout.addView(titleField);
layout.addView(latField);
layout.addView(lonField);

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Add Marker");
builder.setView(layout);
AlertDialog alertDialog = builder.create();

builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
boolean parsable = true;
Double lat = null, lon = null;

String strLat = latField.getText().toString();
String strLon = lonField.getText().toString();
String strTitle = titleField.getText().toString();

try{
lat = Double.parseDouble(strLat);
}catch (NumberFormatException ex){
parsable = false;
Toast.makeText(MapsActivity.this,
"Latitude does not contain a parsable double",
Toast.LENGTH_LONG).show();
}

try{
lon = Double.parseDouble(strLon);
}catch (NumberFormatException ex){
parsable = false;
Toast.makeText(MapsActivity.this,
"Longitude does not contain a parsable double",
Toast.LENGTH_LONG).show();
}

if(parsable){

LatLng targetLatLng = new LatLng(lat, lon);
MarkerOptions markerOptions =
new MarkerOptions().position(targetLatLng).title(strTitle);

mMap.addMarker(markerOptions);
mMap.moveCamera(CameraUpdateFactory.newLatLng(targetLatLng));

}
}
});
builder.setNegativeButton("Cancel", null);

builder.show();
}else{
Toast.makeText(MapsActivity.this, "Map not ready", Toast.LENGTH_LONG).show();
}
}

@Override
public void onMapClick(LatLng latLng) {
Toast.makeText(MapsActivity.this,
"onMapClick: " + latLng.latitude + " : " + latLng.longitude,
Toast.LENGTH_LONG).show();
}


@Override
public void onMapLongClick(LatLng latLng) {
Toast.makeText(MapsActivity.this,
"onMapLongClick: " + latLng.latitude + " : " + latLng.longitude,
Toast.LENGTH_LONG).show();

//Add marker on LongClick position
MarkerOptions markerOptions =
new MarkerOptions().position(latLng).title(latLng.toString());
mMap.addMarker(markerOptions);
}

}


Next: Make GoogleMaps marker draggabe and detect moving marker

~ Step-by-step of Android Google Maps Activity using Google Maps Android API v2, on Android Studio

Read More..

Wednesday, October 19, 2016

Google for Work security Announcing Data Loss Prevention to wrap up 2015



Every company has data that it must keep secure — whether that data is about confidential innovations, strategic plans or sensitive HR issues — keeping all of your data safe from inadvertent or purposeful leaks needs to be simple, quick and reliable. Google for Work already helps admins manage information security with tools such as encryption, sharing controls, mobile device management and two-factor authentication. However, sometimes user actions compromise the best of all of these controls; for example, a user might hit “Reply all” when meaning to send a private message with sensitive content.

Starting today, if you’re a Google Apps Unlimited customer, Data Loss Prevention (DLP) for Gmail will add another layer of protection to prevent sensitive information from being revealed to those who shouldn’t have it.

How Gmail DLP works

Organizations may have a policy that the Sales department shouldn’t share customer credit card information with vendors. And to keep information safe, admins can easily set up a DLP policy by selecting “Credit Card Numbers” from a library of predefined content detectors. Gmail DLP will automatically check all outgoing emails from the Sales department and take action based on what the admin has specified: either quarantine the email for review, tell users to modify the information or block the email from being sent and notify the sender. These checks don’t just apply to email text, but also to content inside common attachment types ? such as documents, presentations and spreadsheets. And admins can also create custom rules with keywords and regular expressions.


Check out the DLP whitepaper for more information including the full list of predefined content creators, and learn how to get started. Gmail DLP is the first step in a long-term investment to bring rule-based security across Google Apps. We’re working on bringing DLP to Google Drive early next year, along with other rule based security systems.

As we round out the year, let’s take a look at what we did in 2015 to enhance the security, privacy and control you have over your information.

  • To verify the good work we do on privacy, we were one of the first cloud providers to invite an independent auditor to show that our privacy practices for Google Apps for Work and Google Apps for Education comply with the latest ISO/IEC 27018:2014 privacy standards. These confirm for example, that we don’t use customer data for advertising.
  • To make security easier for all, weve expanded our security toolset:
    • We introduced Security Keys to make two-step verification more convenient and provide better protection against phishing. For admins, we released Google Apps identity services, which allows secure single sign on access with SAML and OIDC support and we delivered device (MDM) and app (MAM) Mobile Management across Google Apps.
    • We launched Postmaster tools to help Gmail users better handle large volumes of mail and report spam.
    • For Google Cloud developers, the Cloud Security Scanner allows you to easily scan your application for common vulnerabilities (such as cross-site scripting (XSS) and mixed content).
    • For those who want the power and flexibility of public cloud computing and want to bring their own encryption keys, we announced Customer-Supplied Encryption Keys for Google Cloud Platform.
    • To give more transparency on how email security, even beyond Gmail, is changing over the years we published the Safer Email report.
  • We introduced new sharing features, alerts and audit events to Google Drive for Google Apps Unlimited customers. For example, administrators can now create custom alerts and disable the downloading, printing or copying of files with Information Rights Management (IRM). New sharing settings give employees better control within their organization unit and now admins can let them reset their own passwords.
  • Google Groups audit settings allow better tracking of Groups memberships. For all, the launch of google.com/privacy gives better control over personal data and Android for Work makes it easier to keep personal and work data separate on employee devices.

Companies are moving to the Cloud for all kinds of reasons, but Security and Trust remain critical and predominant differentiators between providers. That’s why millions of businesses trust Google to do the daily heavy lifting in security ? preventing, testing, monitoring, upgrading and patching, while working towards the future. Because Google was born in the cloud, we’ve built security from the ground up across our entire technology stack, from the data centers to the servers to the services and features we provide across all of your devices. No other Cloud provider can claim this degree of security investment at every single layer.

While 2015 was a great year, there’s a lot more in store for 2016. To learn more about how our technology is evolving, please join us at the Enigma conference in San Francisco on January 25th to discuss electronic crime, security and privacy ideas that matter.
Read More..

Norwegian ad agency invents a new creative process with Google Apps for Work



Editors note: Today we hear from Christoffer Lorang Dahl, Digital Director at SMFB, an advertising agency based in Oslo, Norway. In the 14 years since it was founded, SMFB has delivered award-winning campaigns for local and international clients including Geox, Ikea and Statoil. Read how SMFB created a whole new work environment around Google Apps for Work and made its clients, collaborators and 65 staff happier in the process.




It’s hard to be a 21st century creative agency when we’re bogged down with a 20th century-like IT platform. As SMFB’s Digital Director, I work with creatives and account managers to make digital ideas happen. With at least five projects on the go on any given day, my hands are full, but I always make time to help out with IT, too. One year ago, this informal role took up at least three hours of my work week, while the rest of the team collectively lost 10 working hours a day to spam and a calendar system so clunky it was almost unusable. It was time for a change, so we trialled two possible solutions and chose Google. Not only did we see huge potential in Drive, we guessed that staff would be familiar with Gmail and adapt quickly. We were right.

Google Apps solved the core problems we wanted to address. Gmail fixed our issues with spam, and Google Calendar is exactly the synchronised, reliable and easy-to-use calendar we were looking for. Because of its straightforward interface, everyone can use it to book meeting rooms and tell designers which teams to work with on which days. We used to run everything through a server in Sweden, and when it crashed, none of us could work. We’ve never experienced any downtime since switching to Google.

As well as fix the problems we knew we had, Google Apps for Work has rejuvenated our creative process. It’s hard to put someone in an office and tell them to “be creative.” That’s not how creativity works, but it’s exactly what we used to do. A typical day at SMFB used to begin with a briefing from the account director to the creatives. After that, the creatives would head to their offices to come up with ideas, which they would share by late afternoon so that they could get feedback by the next day. Now creatives start every morning with a Hangout, spend the day in a cafe, under the sun or wherever they like, and share their ideas on Docs. The account director and account manager — even the clients — can pitch in on the process, concepts and copy, which constantly evolve. And we never experience the confusion that results from multiple drafts and versions floating around. Film scripts do change, but if the wrong draft is sent to an animator or a director, the consequences can be dire.

Once we have a project concept, we compile a budget together in Sheets and contact external production companies. We handle at least five of these at a time, and they change from one day to the next, but because Drive documents can be shared with anyone, we can send these external companies briefs, handle agreements and manage the whole process on one platform. Anyone can immediately see how a project is progressing by looking it up on Drive — something that’s vital for running campaigns on social media, where every second counts.

I like to help my colleagues, and Google’s simple administration interface makes it easy. When a workmate accidentally deleted crucial files, I retrieved them from Drive, which lets you recover documents from up to 10 users for up to 25 days. And rather than just react, I suggest better ways of doing things — like creating a group email account for a new project, which I can have ready in two minutes. It’s a whole new way of working. So much so, in fact, that I recommended Google Apps for Work to our partner agency, Forsman & Bodenfors. Now they’re on it, too.
Read More..

Tuesday, October 18, 2016

Strengthening the Google Apps ecosystem



The promise of the cloud is to make businesses more effective, more mobile and more secure. Today, more than 2 million paying businesses have chosen Google Apps for Work to advance communication, collaboration and productivity across work teams. In addition to all the goodness that Google Apps offers, many businesses look to the cloud for things like customer relationship management and telephony tools. Through our relationships with Google for Work Technology Partners, today well start recommending applications that help our customers get the most out of the cloud.

Great apps, recommended by Google

When we launched Google Apps in 2006, there weren’t many cloud apps on the market. Today, almost 10 years later, cloud software options abound. In some cases, this can make deciding on the right solution harder for customers. It can be difficult to assess which apps are secure, reliable, high-performing and well-integrated with the tools customers use most. And many businesses have neither the time nor the capability to do this assessment across all of the apps they might consider. To make this journey easier for our customers, Google will begin recommending apps from other providers. These apps are reviewed by Google and an independent third-party security firm to make sure that these solutions are safe and reliable, and meet our requirements for high quality integrations. An example is Smartsheet Project Management, which seamlessly integrates with Google Calendar, Gmail, Drive and Single Sign-On to deliver a great user experience, while meeting the security and integration requirements of a robust web solution.

The initial set of applications being added to the Recommended for Google Apps for Work program includes:

  • ProsperWorks for CRM
  • Smartsheet for project management
  • Ringcentral & Switch for cloud-based communications
  • AODocs & Powertools for document management
  • Ping Identity & Okta for identity and access management

This list will continue to grow as we review and add more apps.

Updates to the Google Apps Marketplace

The Google Apps Marketplace carries hundred of apps, including those that we’ve reviewed and recommended. These apps have been installed hundreds of millions of times by Google Apps customers. We recently updated the Google Apps Marketplace to make it easier for employees to find the right apps and added new notifications to let employees know when they have access to apps that just became available. To make it even easier to get your favorite apps on all of your devices, we’ll begin to feature a number of apps that also have Android mobile versions, with links to their Google Play for Work counterparts.



These updates will help Google Apps for Work customers find the best apps for their needs, while making it simpler for employees to use any app on any device.
Read More..

Sunday, October 16, 2016

New season new ways to get work done with Google Docs



Fall brings a new sense of energy and excitement as teammates get back to work after soaking up the summer sun and the kids return to school. To help you be more productive than ever this season, Google Docs is getting a whole new set of tools.

For 9 years our core focus has been on making collaboration as simple as possible, even if your team is spread out all over the world. So far this year, we’ve made more than 100 different improvements to the Google Docs, Sheets, Slides and Forms apps that help ease the content creation process. Now we’re taking the first steps to incorporate the power and intelligence of Google into Docs. We hope to make analyzing your data more intuitive, editing more accessible and document styling more dynamic – now your documents can be as beautiful as your ideas are bold.

Bringing the power of Google to your Docs


Whether you’re an agency researching creative ideas for a client pitch or a bakery brainstorming names for your newest dessert, pulling the wealth of information from Google search into your docs can transform them from interesting to inspiring. With the new Research feature in the Docs Android app, you’ll notice there’s less than half the steps previously needed to pull quotes, facts and images from Google search into your – in fact you’ll never even have to leave the app.



Voice typing has helped change the way we work on the go (when it’s easier to talk than type). We’re now bringing that innovation to the web, where improvements to voice transcription make even long-form dictation, like sharing your brainstorming ideas with teammates around the world, a breeze. In fact, it even supports more than 40 different languages, so it’s also handy for practicing your language skills. To start, just turn on voice typing from the tools menu in Google Chrome.

Whether it’s the data from your newly created Forms (more on that later) or one of your existing documents, the new Explore feature in Google Sheets will help you make sense of it all. It’s a tool designed to help you visualize, summarize and interpret your data 
– no more stressing or wasting countless hours stewing over endless rows of data. Simply select some data, open the Explore panel (available on the web and Android) and you’ll instantly see a selection of charts and text-based insights that help bring meaning to your numbers.



Documents that work for you


Google Forms makes it easy to quickly get information from teammates, customers and partners. And it’s getting a refresh, with new themes and the option to add your own photo or logo. You can choose from a wide selection of question types and even add images and gifs to your forms.

It can sometimes be a little overwhelming trying to make your docs look great. You’ll now notice a new arsenal of templates in the Docs, Sheets and Slides homescreens to make your work really stand out. Whether you’re creating a project plan for the team’s next big product launch or a simple budget spreadsheet to manage office finances for the next quarter, you’ll find a template for every scenario.


Finally, to make it easier to keep up with the latest updates when collaborating on a Doc with your team, there’s a “see new changes” option. It’ll show you all the changes made by your team, so you can check out what the Tokyo office was up to while you were sleeping. 


Want to learn more about each of these new features that are rolling out this season? Keep tabs on our Google+ and Twitter channels to see more tips, tricks and features.
Read More..