Profile

Cover photo
Chris Cartland
Works at Google
Attended University of California, Berkeley
4,907 followers|2,322,649 views
AboutPostsPhotosYouTubeReviews

Stream

Chris Cartland

Shared publicly  - 
 
John Oliver's talk about online harassment is an important issue for society. We need to recognize and respond better to problems that can be devastating to people's lives. I think that part is clear. However, since over 30% of the votes on this video are thumbs down, it seems that an active group of people on the Internet do not agree. I'm trying to find alternative explanations -- perhaps people disagree with his arguments while agreeing with the problem -- but I'm not optimistic convinced that enough people even recognize that this is an issue.

https://youtu.be/PuNIwYsz7PI
7
Add a comment...

Chris Cartland

Shared publicly  - 
 
 
This sort of thing makes me feel more positively towards Uber than pretty much anything else does.

I think that what the taxi business as a whole has been doing for years has been wrong -- and now that it's falling apart, it's dumping the burden of that on the individual drivers, and telling the drivers that they can only protect themselves through violence, because the industry sure as hell isn't going to help them.

Taxis in most cities are artificial monopolies. Drivers have to pay in to get access to that -- the 240,000€ sum in Paris is actually not even close to the worst. (In New York, taxi medallions can easily run $1.3M) Individual drivers can't afford that, obviously, so they have to either rent medallions or take giant loans in order to buy their own. The profit went to the people owning the medallions.

This was a workable business for individual drivers for exactly as long as the monopoly was in place. And the business worked out just the way monopolies always did; taxi service is terrible. I expect that, when I get into a taxi in most places, at best the experience will be somewhat unpleasant; at worst, the driver may get lost, or attempt to cheat or rob me. If I try to call and order a taxi, that translates to "in 30 minutes, a taxi may or may not show up." Every bad thing I've ever heard said of Uber drivers has been no less (and no more) true of taxi drivers.

Uber has been basically breaking this monopoly. And from the perspective of everyone but the taxi industry, that's great; people get a (much) better service (much) cheaper. 

For the taxi industry, it's a catastrophe, but a catastrophe of its own making: it's imploding because it's taken comfort in being a regulated monopoly for so long that it forgot how to compete. So it's going to collapse, and most of the jobs in it are going to disappear because the businesses are going to disappear.

However, unlike most monopolies, the taxi industry has done a very thorough job of pushing the risk onto its lowest-level employees, by treating them as not just contractors, but contractors who had to own a special zero-value item. (At least Uber drivers only have to own a car; if Uber folded tomorrow, they'd still have a car.) The taxi companies own shockingly little of the risk; they may go out of business, but it's the individual drivers who often have huge loans that won't magically disappear if the value of a medallion plummets.

And the taxi industry isn't making any attempt to help. I haven't seen a single taxi company anywhere attempt to compete with Uber on service. Nor to think through protections for its employees. Instead, it's telling its drivers that if they want to have any financial future at all, it's their responsibility to stop Uber.

And so what happens? Violence in the streets. Petty thuggery, because the industry wants to offload even the risk of fighting its foes onto its workers. 

So I have exactly zero sympathy for the taxi industry. I have somewhat more sympathy for the drivers affected, but that's ultimately limited by the fact that none of what I described above was ever secret; the drivers got into this game knowing what it was. And it's even more limited when the taxi drivers' response seems to involve not just trying to shut down a city, but taking competing drivers hostage, or assaulting drivers and passengers alike.
French taxi drivers today blocked roads to airports and train stations in Paris, as part of a nationwide protest against Uber. Thousands of drivers are expected to participate in today's strike in...
253 comments on original post
3
Add a comment...

Chris Cartland

Shared publicly  - 
 
 
Adorable, elegant or fierce. Wear what you want with new #AndroidWear watch faces from +Angry Birds, +Bang & Olufsen, +Cynthia Rowley, +GEOX, +Hello Kitty, +Rubik's Cube and more https://goo.gl/0ityjc
64 comments on original post
4
Chris Cartland's profile photoFran Marzoa's profile photo
3 comments
 
Haha
Add a comment...

Chris Cartland

Shared publicly  - 
6
1
Fran Marzoa's profile photo
Add a comment...

Chris Cartland

Shared publicly  - 
 
If your app plays media on Android, then this API is for you.
 
MediaSessionCompat extends support from API 21+ to API 14+
One improvement not mentioned in the revision 22 of the Android Support Library is on MediaSessionCompat: the class that makes it easier to build a better Media experience across all API levels.

Previously, MediaSessionCompat was a simple wrapper around the new MediaSession API added in Lollipop, saving you the need to API check every call but not helping so much in supporting older versions of Android. This release, having looked at the source code [1], also adds support for RemoteControlClient - the API needed to build great media experiences (such as lock screen controls) on API 14-20 devices!

This looks like it'll make MediaSession much easier to work with while keeping your existing media player working nicely. In fact, this now encapsulates much of the logic you needed to do yourself, potentially meaning you can now strip out a vast majority of the version specific code and build something that looks and acts perfectly on all devices.

[1] - https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v4/java/android/support/v4/media/session/MediaSessionCompat.java
51 comments on original post
5
1
Android Resources's profile photo
Add a comment...

Chris Cartland

Shared publicly  - 
 
 
Join #AndroidTV developers, like EPIX, who are building a simpler TV experience powered by search and recommendations. Read more on the Android Developers blog: http://goo.gl/vpOb46
3 comments on original post
1
Add a comment...
Have him in circles
4,907 people
marketing channel's profile photo
Michelle Joyce's profile photo
Leland Au's profile photo
‫محمد الطرموخ‬‎'s profile photo
Pablo Picasso Art's profile photo
Katie Jang's profile photo
Jackie Leavitt's profile photo
Kara Lamerato's profile photo
Caroline Modic's profile photo

Chris Cartland

Shared publicly  - 
3
Add a comment...

Chris Cartland

Shared publicly  - 
 
 
We ported Quake III to Chromecast in less than a day using the Google Cast Remote Display API.

Check out this post by +Leon Nicholls and +Antonio Fontan to find out how we're able to run Quake on Chromecast without modifying a single line of the game engine.

http://goo.gl/qQGZJ0

#googlecast #chromecast
5 comments on original post
9
1
Jonathan Souied's profile photo
Add a comment...

Chris Cartland

Shared publicly  - 
 
Lots of kiteboarding at Sherman Island on Sunday.
4
Jo-el van Bergen's profile photoChris Cartland's profile photo
2 comments
 
This was my first time here. I've been going to Alameda Beach because it's closer to San Francisco.
Add a comment...

Chris Cartland

Shared publicly  - 
 
This is a great rundown of how media notifications work on all versions of Android.
 
NotificationCompat.MediaStyle: Easier Media Notifications for all
Remember back in October 2014 when we talked about MediaStyle notifications [1]? With no lock screen controls for media playback on Android 5.0+ devices, Android introduced a new 'style' of notification in MediaStyle - designed to make it easy to add playback controls to your notification in both their compact state and expanded state. In AppCompat 22.2.0, we've backported MediaStyle through NotificationCompat:

On API 14-19 devices
We override the compact content view, updating the styling to match that found on Android 5.0+ and displaying any actions (up to 3) set in setShowActionsInCompactView() [2] inline with the notification, even when it is compact and only a single line.

On API 16-19 devices
In addition to providing the customized content view, we take advantage of Android 4.1's expanded notifications to also provide a customized big content view that matches that found on Android 5.0+ devices, showing up to 5 actions in the notification.

On API 21+ devices
On Android 5.0+ devices, we use the frameworks's MediaStyle directly, ensuring everything works exactly as expected.

If you're already using MediaSessionCompat [3] (which you totally should - backward compatible MediaSession that automatically takes care of RemoteControlClient for you!), you'll note that setMediaSession() [4] takes a MediaSessionCompat.Token, ensuring that the system picks up your notification as associated to a MediaSession on Android 5.0+ devices (needed for things like Android Wear and Auto integration) without any version checking required.

We've also taken special care to work around issues with ongoing notifications, common with media applications - you'll note the setShowCancelButton() [5] method allows you to add a cancel button (a little 'X' in the upper right) on pre-5.0 devices so that users can remove your notification, even if set as an ongoing notification. Read more details in the Javadoc of the method.

I hope this makes it a lot easier to build great media apps that work well on all Android versions. Between MediaSessionCompat and NotificationCompat.MediaStyle, you'll find it much easier to build the best Android integration into your app!

[1] - https://plus.google.com/+AndroidDevelopers/posts/81YUVaLAnd2
[2] - https://developer.android.com/reference/android/support/v7/app/NotificationCompat.MediaStyle.html#setShowActionsInCompactView(int...)
[3] - https://developer.android.com/reference/android/support/v4/media/session/MediaSessionCompat.html
[4] - https://developer.android.com/reference/android/support/v7/app/NotificationCompat.MediaStyle.html#setMediaSession(android.support.v4.media.session.MediaSessionCompat.Token)
[5] - https://developer.android.com/reference/android/support/v7/app/NotificationCompat.MediaStyle.html#setShowCancelButton(boolean)
10 comments on original post
3
1
Ade Oshineye's profile photo
Add a comment...

Chris Cartland

Shared publicly  - 
 
You can fill out the form with ¯\(ツ)/¯ so you know it's good.
 
Help us test a very early version of our Android app! http://khanacademy.org/r/androidalpha 
7 comments on original post
5
Add a comment...

Chris Cartland

Shared publicly  - 
 
great issue and great repo. h/t +Chris Cartland 
Hi FizzBuzz Team, I am trying to figure out how to use your product. It's JAVA right? I know that Android can run JAVA. Please provide clear instructions on how to install the .java files on my LG ...
View original post
5
Fabian Schlup's profile photo
 
Awesome!
Add a comment...
People
Have him in circles
4,907 people
marketing channel's profile photo
Michelle Joyce's profile photo
Leland Au's profile photo
‫محمد الطرموخ‬‎'s profile photo
Pablo Picasso Art's profile photo
Katie Jang's profile photo
Jackie Leavitt's profile photo
Kara Lamerato's profile photo
Caroline Modic's profile photo
Work
Employment
  • Google
    Developer Advocate, 2014 - present
    Make awesome things with Google.
  • Google
    Developer Programs Engineer, 2012 - 2014
    Grow development around the world.
  • Google
    Associate Product Manager Intern, 2011 - 2011
Basic Information
Gender
Male
Birthday
December 2
Other names
Cartland
Apps with Google+ Sign-in
  • BombSquad
  • NBA Jam
  • thiefKitten
  • Sky Force 2014
  • Monument Valley
  • Defender 2
  • Broadsword:Age Of Chivalry
  • Sky Force 2014 TV
  • Star Wars™:KOTOR
  • Leo's Fortune
  • Rollercoaster Tycoon 4 Mobile
  • Sporos
Story
Tagline
Let's do something awesome.
Introduction
I work with Developer Relations at Google. Our team brings the bleeding edge of technology to applications around the world.

Before Google you would have found me building solar cars in Berkeley and racing one across Australia.

And before that I was playing with computers in Templeton.


*Disclaimer: Everything I say comes from my views and do not necessarily represent the views of my employer. Unless I'm making a joke, in which case my words don't represent the views of anybody.
Bragging rights
http://calsol.berkeley.edu
Collections Chris is following
Education
  • University of California, Berkeley
    EECS, 2008 - 2012
  • Templeton High School
    2004 - 2008
Links
Other profiles
Links
Good eggs for brunch. Sausage was more rich than i could eat (but very tasty).
Public - a week ago
reviewed a week ago
Not crowded for watching NBA Finals. Perfect for watching Game 6.
Public - a week ago
reviewed a week ago
Public - 3 months ago
reviewed 3 months ago
49 reviews
Map
Map
Map
Public - a month ago
reviewed a month ago
Free coffee tasting of many great flavors. Quick free tour of the farm about Kona coffee.
Public - 5 months ago
reviewed 5 months ago