Review: Samsung Fascinate

I've been playing with the Samsung Fascinate on Verizon. The phone is running Android and just before sending it back I got the update for version 2.2 of the OS. In short this is one of the better Android phones I've played with. It makes the HTC Evo look tired and dated. Even the Motorola Atrix, which is a fine phone, seemed a bit bloated. The battery life was off the charts during my time with the phone. At a full charge I left the phone alone for a week and there was still juice left to make a call or browse a bit. I've yet to have a smartphone go so long between charges. This isn't a sacrifice made in weight either. The Fascinate is thinner than my iPhone 3G S and is noticeably lighter than any other smartphone I've test recently with the exception of the Aria. 

To be fair I did tinker with the phone a bit. I removed all of the widgets and I did not download a bunch of applications. I did leave wifi on and kept most everything else at the default settings. Next up was using the phone during a conference. I started day one with a full charge and frequently used the phone during the day to check the conference application and occasionally my personal email. By the end of the day the battery was a 50% and still chugging along. Meanwhile others at the conference were juicing up. Image via Mashable.

As Android phones go this is one was hard to send back. I didn't test the phone capabilities which is to say I didn't really care about making phone calls and there are plenty of other people that provide in-depth reviews of the full capabilities of the phone. In a sense I'm going to assume that since this is a Verizon phone the voice part of the phone is fine. I've been using the data on these things way more than voice anyway. 

Some of the complaints the reviewers above reference didn't affect me or weren't a deal breaker. However, they are valid points to consider. It should also ben mentioned that when flipping between smartphones reviewers often forget that if this is your first experience it is light years better than your old feature phone. I suspect most people that are just coming to Android would not find the issues above to be irritating in the same way.

Android for the Enterprise #io2011 #Android #enterprise

Android in the workplace

Multiple devices
CIO perspective
– security
– management
– apps

– protect against loss/theft
– protect against interception
– employees are the weak link
– corporate data

Device management
– onboard users
– setup security/usage policies
– supporting users
– keep tabs on deployed devices

– determine key mobile apps
– buy/build
– distribute apps to the devices
– manage updates
– setup usage policies

Android’s Approach
Users come first
Enterprise money is real
Unlock dual use devices for our users
Keep it open and let the ecosystem run

More Android Enterprise Support
Honeycomb more security
Exchange policy supports

Device Policy Management
Account-Based fleet management
Apps that manage or present secure data
Apps that provide device security services

Policy Management
Android framework defines a set of policies around device security features
Android apps use the policy to monitor and control device security
Apps do this via Device Policy Manager

Policies always increase security
You must have:
– Policy controller
– DeviceAdmin Receiver 
– Policy declarations

User intervention is required to ‘bootstrap’ a device into a fully-configured, secure configuration
Consider your business logic/security rules when there are setbacks such as password expiration
If mixing policies from multiple sources, apply principle of increasing security

Distributing private apps
– host the .apk on your own servers
– Unknown sources setting must be checked
Internal app directory
– app directory server
– package manager api

What makes a smart app? #io2011

Travis Green, Max Lin, Robert Kaplow, Jóhannes Kristinsson, Ryan McGee

What is a smart app?

1. Automates the repetitive
2. Recommends the useful
3. Extracts the essential
4. Pandora, Cabsense, etc.

What is machine learning?
A set of algorithms that learn patterns from data and make intelligent decisions
input -> predictive model -> output

How do I build one?
Upload data
Train the model

Building a smart app
Step 1: Upload your training data
– training data: output and input features
– data format: CSV

Step 2: Train
Create a new model by training on data

Step 3: Prediect
Apply the trained model to make predictions on new data

Connectivity with Sync and the cloud
Personalized driving experience
Plug in hybrid to identify zones where to save energy
Using driving history, predict optimization, optimize powertrain
Collect and analyze the date

Empowering the car using the cloud

How can I add more data?
Streaming training to add real-time data to your predictive model
New API feature
– adapt quickly to new data
– automatically improve performance over time
– alternate way to train predictive models

Step 4: Adapt 
Steam new data to your predictive model

What if I need data?
Hosted model subscriptions
– Users can subscribe to others' models
– Hosted model revenue shared with model developer
– Advantages to users data already gathered and labeled, built by experts, easy to add to your app
Access any model just like a normal prediction
All models are already enable for all users
Available now: sentiment, tagger, languageid

Android Market for Developers #io2011 #Android

Eric Chu (Android Developer Ecosystem)

Android Market
1. Customers
2. Distribution Tools
3. Merchandising
4. Monetization

400k device activations daily
Rapid growth in app consumption
8x more in 2010 over previous year and a half
Apps today exceed all of 2010 (May 11)
Country US 3x over 2010 and 18x globally (Korea, Japan, UK, Germany France)
60% of device activations are outside the US
Installs by OS Version Android 2.3 users download 2x over 2.1 and 2.2
Honeycomb install 2.5x 

Application Categories
Highest – Entertainment, Games, Tools, Books & Reference
Recent Installs – Games, Entertainment, Tools, Media & Video, Travel & Local, Transportation
Productivity is a top category since the beginning and growing in paid apps

Distribution Tools
Too Many Platform Versions?
2.1 & 2.2 make up 94% of install base
Partners committing to 18 month release schedule

Too many screen sizes?
Two sizes represent 93% of the volume

3D graphics?
90% of devices support OpenGL ES 2.0

Examples: Pulse News, Angry Birds, Gun Bros

Distribution Flexibility
Business targeting – countries, carriers
Capabilities targeting – platform versions, screen size/density, etc

Device Availability
based on application manifest
show all supported devices
published draft apps
option to exclude specific devices if needed
starting today

Multiple APK support
Multiple APK’s for specific segments – platform versions, screen sizes/densities, texture compression formats

Support for large apps
support up to 4gb
publish 50mb app package and up to two 2gb archives
android market hosting
market manages download and install of archives
available in june

AdMob integration
One-click entry to AdMob campaign setup from dev console

Application Stats and sales reporting
App stats
Monthly sales reporting

“just in” what about: promotion, viral marketing, update apps if need(really important to pay attention)
“trending” focus on apps that get lots of downloads in a short time
“top new paid & free”
“top paid & free”
“top grossing”
– localized by market
“users also viewed”
“users also installed”
“personal recommendations” in june
“editor’s choice” launching today
“top developer badge” launching today


Identity and Data Access: OpenID & OAuth #io2011 #TechTalk @ryguyrg

Ryan Boyd @ryguyrg

Authentication – verification of the user
Authorization – someone has the right access 

OpenID – Authentication
– Identity Provider (IdP) 
– Relying Parties (RP)

Why do we care?
– Users can login to all sites using their existing accounts
– Faster you can skip signup 50 keystrokes and 3 mouse clicks
– Easier with OpenID sign in is handled via providers 0 key strokes and 2 mouse clicks
– Safer
– one Username/password
– password can be ultra-secure
– password is only provided to the IdP
– two-factor auth and other protections

Becoming an OpenID RP
OpenID is easy to implement, but not easy enough

Google Identity Toolkit
– JS UI widgets
– Client libraries
– code on Google servers
– Signup/login
– multiple IdP's 

Authenticating Users on Mobile Devices
Allow users to create a password example: Concur
Generate a mobile password
OpenID in native apps it's better to open a new browser to avoid issues with cookies

OAuth – getting authorized access
35+ APIs available at Google
What data can your app access?
Contacts, Calendar, Picasa, YouTube

Who owns the data?
Individual owns the resource
Company owns the resource

The Future
One protocol for all use cases for both authentication and authorization
Proposed as OpenID Connect 

Google ID toolkit
Googles Auth docs http://

Building web apps for Google TV #io2011 #gtvweb

Chris Wilson
Daniels Lee

Why is Television interesting?

More households have TV's than cell phones or computers
75% of the households in the world have a TV
2M Internet connected TV expect 24M by 2014

Why GoogleTV?
Make TV better (live tv)
Put great web content on TV
Provide an interactive platform for TV

Media consumption with social aspect 
Applications that span & morph between devices
Casual games, particularly multi-player
Applications using paired "virtual controllers" – connect mobile/tablets to drive with the TV as output

Google TV and the web platform
Based on Android
Google TV's web platform is Chrome with a slim UI
Updates automatically OTN

What makes designing for TV different?
It is a mental space, couch mode
Apps need a 10' UI 
example: vimeo – couch mode, huffington post – NewsGlide

1. Technical constraints
2. Practical constraints
3. Design guidance

Technical Constraints
Overscan and padding – Action safe 3.5%, Title safe 5-10%
Only 40% of HDTV's have all their pixels so even HD needs padding
Color gamut on TV is different TV's are not calibrated, colors are over saturated (especially orange/red)
non-white background colors are best white is like all caps and white can cause halos
Test your contrast on a TV display

Practical Constraints
Optimize your text carefully
– Limit length
– avoid small text sizes
– make it as big as needed, then bigger
Typical on-screen font guidance applies
– sans-serif

– avoid huge scrollable page design
– put content "above the fold" or give visual cues

Have a strong focus model, show the user where they are and what they can do
User input – don't rely on a mouse, just a directional pad
Directional-pad navigation it's just keypresses
Expected D-pad focus model is 2 dimensional
– web platform is used to linear model
The back key 

Specific to Google TV
Autozoom is enabled for web content

Design Guidance
Make he most of your space
Be sure to sit back and test your design on multiple TV's
– not just look but also test
Visual feedback and motion
– give visual feedback on actions
Give directions
– splash screens and/or overlay controls
Experiences are not "static" on TV
– use transitions and animation

Google TV UI templates
– site templates designed for 10' living room experience
– both templates provide HTML5 and flash w/support for d-pad navigation and playback

Google TV Web UI Libraries

Google TV jQuery UI Library –
– requires more JS
– CSS selectors to specify navigable areas
– UI control libraries
Google TV Closure UI Library –
– Requires more HTML markup
– Special CSS class names to specify navigable areas
– UI building blocks

1. HTML: structure
2. CSS: presentation
3. JavaScript: Initialize/Events

Call to Action
Think about how your apps apply to TV space
Think about new apps you could build
Think about these lessons and apply to desktop mobil


Designing maps applications for usability on mobile and desktop #io2011 #android #geo

Jez Fletcher

Luke Mahé

Defining “user experience”
Difference b/w desktop and mobile
Pain points

What is user experience
UI, layout, controls

1. respect the intent of the user
2. don’t give them a problem, give them a solution
3. ensure their experience matches their mental model
4. what is the intent of a user using a mapping application

What is desktop used for?
Sorting through information
Evaluating different options
Decision making

What is mobile used for?


Desktop vs Mobile
mouse vs touch
screen size and resolution – not as much real estate on mobile devices
location – hard to narrow on desktop

processing power
cache – browser is limited

Why do we care?
If the user experience sucks, people aren’t coming back

If _______ is done badly, the user experience sucks.

     Things not being where the user expects them to be
          Have the map and the content
          break out the content
          detailed info windows
          map or the content
          avoid info windows

     Trying to show too much

     Obstructing what the user is interested in
     Not giving them the info they want
     Breaking the mental model of the data

Controlling the map
     Breaking the mental model – not having desktop controls where users expect

     making interaction obvious
          mouse over/tooltips
          consistent buttons
          click vs touch
     removing functionality from mobile – don’t dumb down, simplify

     don’t break the mental model
     dragging is slow
     latency in dealing with requests

     Reliability data doesn’t show on the map
     Latency – don’t rely on single homed db 

     Sharing between desktop and iphone

          planning vs active
     sharing b/w people
          storing data
          sending this to friends

Map styling

Justin O’Beirne
Styling Google Maps for Data Overlays
“Styled Maps Using Google Maps API Version 3”
1. You can remove map elements
     NYT – 2010 Census

     Trulia – Price reduction map
2. You can simplify elements
     NYT – Mapping America
     WSJ – Champions’ Guide to the New York Marathon
     Google uses it for bicycle paths

3. You can modify the color of nearly everything
Goal: To bring your data front-and-center

1. Don’t be afraid to take stuff off the map
     Don’t hesitate to remove the maps roads if your mashup has nothing to do with navigation

     Be careful
2. Sketch out your ideas