Hacker News new | past | comments | ask | show | jobs | submit login
I/O Thoughts (rustyshelf.org)
323 points by ismavis on July 1, 2014 | hide | past | favorite | 133 comments



One of the things that I've always seen as an interesting difference between how Google and Apple run their developer relations teams is the title that they give their employees. Apple has Technology Evangelists, suggesting that they promote the use of certain technologies (typically Apple's own technology or Apple-supported web technology). Google, on the other hand, has Developer Advocates - these are people who actually represent non-Googler developers internally at Google.

While they may just be titles, my experience has been consistent with their titles. Apple representatives you see once a year at WWDC, while Google representatives you see at Google I/O and also at a number of Google-hosted events year-round, including the regular videos they put out (and the "office-hours" type Hangouts they have so that you can actually talk to them and get your problems resolved) - just look at all of the events they have scheduled on the Google Developer Events page[0] or all of the videos they have on their YouTube channel[1]. I've also seen a lot of them give talks at tech conferences, while Apple employees are rarely seen at conferences. And you can see that Google's Developer Advocates really do talk directly to the actual teams directly and file bugs against them when necessary on behalf of developers everywhere. It's a system that has worked pretty well in my experience.

I will also agree that Google's Developer Advocates don't care too much about what platform you're using and just want to help you. I've been to a number of Google-run technical workshops and codelabs, and the people there are willing to help you with whatever problems you run into, no matter what it is.

[0]: https://developers.google.com/events/

[1]: https://www.youtube.com/user/GoogleDevelopers


The difference between a developer advocate and a developer evangelist is inbound vs outbound.

Developer advocates are focused on helping address developers' problems. Developer evangelists are focused on increasing product use and adoption.

That said, the responsibility of these positions mostly overlap. In my personal experience as a developer evangelist at Marketo, my day-to-day work has encompassed the function of both titles. My goal is to create a great developer experience [0] in order to drive platform adoption [1].

Anecdotally, I have noticed a shift towards the developer advocate title. At Facebook, Dropbox, and Twitter, the role is called this.

[0] http://murtza.org/creating-a-great-developer-experience/

[1] http://murtza.org/driving-the-api-adoption-funnel/


> The difference between a developer advocate and a developer evangelist is inbound vs outbound.

That's a great way of looking at it. There is definitely some overlap, but I think it's nice to have the mindset that they are on the external developers' side rather than just the company's side. And it works well I think - by helping out those developers, they can work towards better products and platforms, and increase adoption at the same time. Everyone wins.


Which category Microsoft will sit on? Evangelist or Advocates?


Definitely evangelist, promoting the company product.


Small web world. I just spent the last two weeks integrating Marketo into a website at work.


In fairness, the "evangelist" title at Apple goes way back to the time when technology ("home computers?!") really did need evangelizing to the press and the general public.

Then, as now, Apple believed in their mission with a fervor that suggested the nomenclature. See 1980s Guy Kawasaki, etc.


Interesting historical trivia. But it's worth noting that Apple's 1990s developer strategy was almost a total failure, whereas Microsoft's "talk to actual developers" approach was much more successful.

Note I'm not making some sort of Mac/Windows analogy because the whole communication space has changed radically. Just making the point that the title "evangelist" implies more of a marketing role.


Well, Apple's 1990s everything strategy was almost a total failure.

But yes, I could write volumes about the ways Apple could improve developer relations, and a recurrent theme would be the one-way nature of most interactions. Even big developers have a tough time of it, sometimes.

The labs at WWDC are valuable. And the tech talk tours sound like an attempt (have not attended), but it's a long-standing, systemic problem that is probably insoluble without extraordinary effort.

On the other hand, Cocoa is beautiful, and it all works out well in the end.


Sure. And I should make clear the 1990s are a fundamentally wrong analogy because 1990s Apple barely understood that PowerPC chips needed a compiler, much less create Xcode or a developer productivity tool like Swift.

In my mind it's mostly a matter of positioning. An "Evangelist" is there to sell me something. A "Developer Something" is there to listen to me bitch.

Speaking of Cocoa, from what I've heard about NeXT, it was a small company and the developers were one step away from the customers. Perhaps it is 'beautiful' because of a lot direct feedback.


I wonder if that's because Google needs this role and Apple doesn't. Apple has such a super buttoned down approach and take it or leave it mentality that a developer advocate role may be redundant. Google has always had a loser feel with disparate divisions which in turn requires helping outside developers navigate the internals. Just a guess.


Just in case the parent is being down-voted for saying 'loser feel'... I think he meant 'looser feel'.


Oh woops. That's embarrassing. Thanks!


They have developer hangouts? Where?


Sadly, they stopped doing them a year or so ago. Here's the most recent that I can find: https://www.youtube.com/watch?v=na9m9MTn9JY


> ever since we’ve had success on the Android platform [Our Apple developer rep has] made it very clear that his services are no longer available to us.

Wow. That is shocking to me - is that typical of Apple? I know they're very much about having people their ecosystem, but I didn't realize that there was this kind of animosity towards people who stepped out of bounds.


> Wow. That is shocking to me - is that typical of Apple?

Yes it is. We have a pretty successful app in the iTunes store and as a consequence, we have privileged access to the entire team, including engineers and executives who advise us how to word the description of our app and telling us all kinds of tricks to increase downloads.

A few months ago, we released an Android app and since then, we have fallen into a complete Apple black hole. The Apple people we used to exchange daily emails with are not even responding to us any more.

Apple is very, very serious about exclusivity.

And probably feeling very, very threatened too.


That's...well, bizarre seems too kind. As an outsider who hasn't ever dealt with Apple in that kind of capacity, it seems downright childish.

I'm not sure that I was in danger of developing iOS apps any time soon, but these kinds of tales make me want to run screaming.


How is it childish ? It's business. Apple has finite resources and there are thousands of amazing, exclusive apps that don't get any direct assistance. Why would they invest their time if it doesn't benefit their ecosystem.

Also as someone who has worked on some of the most popular apps there is always the problem of feature equality. Companies don't want to annoy their customers by only offering features on one platform. So they don't. In which case you end up with a lowest common denominator of features.


> How is it childish?

"If I don't get what I want, I'm going to take my ball and go home" is the epitome of childish reaction.

The mobile ecosystem is not zero-sum. Publishing on Android doesn't diminish the app's benefit to the iOS ecosystem. If anything, it only benefits their ecosystem, since it will improve the app's popularity, and result in more downloads of that app on iOS, by iPhone owners who hear about it from their Android-using friends.


Apple's job isn't to help build the next Facebook app. It is to build the best ecosystem they can. And that doesn't come from (a) having less exclusives or (b) having apps that don't take advantage of the unique features of the platform.

It's similar to Nintendo. They don't really benefit from having the next generic COD game on their platform. They benefit from having a game that makes the most innovative use of the touch screen control.


But why would you be hostile to someone just because they also built their app for Android? Successful people generally grow to encompass as many income streams as they can, and you're losing the long game by not reaching out to the next Facebook. Do you really NOT want that app on your store any more just because it's on the Play store as well?


It's uncommon for businesses to see a client flirting with another vendor, and in response cease all communications. Usually it's just the opposite - wow the client with attention, and woo them back. Apple certainly has the resources to shed clients at will, but it's still childish behaviour. Why make it harder for a client with a good history to develop on your platform?


Exclusivity arrangements are nothing out of the ordinary between businesses. Developers are not regular Apple customers.

What is out of the ordinary is this way of doing it. Simply not responding to emails any longer, without explaining why, is very unprofessional indeed.


If there was some kind of exclusivity agreement in place, it would make perfect sense. "As long as you're publishing exclusively to iOS, we'll give you extra support and guidance" is fine if both parties are aware of it and have agreed to it.

"Nice app you have there. It would be a shame if you stopped getting support on it" is not.


> Why would they invest their time if it doesn't benefit their ecosystem.

The problem with this approach is that it only works if you're #1 with a comfortable lead. Apple is #2 and fast losing mind share, and this kind of policy is only going to accelerate that trend.


It's #1 in the market it cares about, which is "people who spend money". And that doesn't appear to be changing anytime soon.


What they care about is irrelevant, they are also alienating creators of apps that make them money with this kind of attitude.

They are basically repeating the same mistakes Jobs made two decades ago which led to the almost bankruptcy of Apple. Granted, they have enough money in the bank to be safe from this, but this kind of behavior is simply accelerating the decay of their market share, and as a consequence of that, of their profits.


It's #1 in the market it cares about, which is "people who spend money". And that doesn't appear to be changing anytime soon.

That sounds like hubris and arrogance to me. Are you so sure that won't be changing anytime soon?


No, I'm not sure, it's just a guess. What do you think?


The data from the last 8 quarters or so shows that Apple's app store revenue lead over Google is shrinking rapidly. Given Google's rapid gains in both marketshare and app store revenues, it isn't crazy to think that Apple could be the underdog before too long.


So your opinion is that Apple should invest finite resources in a company which isn't dedicating all their resources to building the best iOS app they can ?

That sounds like bad business to me. You should nurture and support your best customers/clients. There are 1 million apps on the App Store. Apple just figured some of the others deserve their support. It's harsh but understandable.


> So your opinion is that Apple should invest finite resources in a company which isn't dedicating all their resources to building the best iOS app they can ?

I think the policy of only catering to shops that are 100% developing on the Apple platforms is a terrible strategic mistake, especially since they are now #2 in this market and fast losing market share.

Also, catering to exclusives doesn't guarantee that you only get great apps in your store. Actually, it guarantees nothing except for acrimony from developers and the feeling that Apple is a fickle partner that can slam the door on them at any time.

The best way to regain market share is not to accelerate insulation but to woo companies developing on Android back by convincing them that iOS is a superior platform to develop for. As it is, all they are doing is convincing more and more developers that in doubt, they should develop for Android first and iOS second.


It's still #1 in profits, though.


Not for long if their market share keeps slipping. Alienating developers doesn't help the situation.


To put some numbers on it, according to this research (http://blog.appannie.com/app-annie-index-market-q1-2014/), relative app revenue numbers have been something like:

    Q2 2013: Apple +230%
    Q3 2013: Apple +210%
    Q4 2013: Apple +110%
    Q1 2014: Apple +85%
Android's market share (especially in emerging markets) is exploding (https://s3.amazonaws.com/files.appannie.com/reports/App+Anni...), while Apple's app store revenue are substantially flatter (http://images.apple.com/nl/pr/pdf/q2fy14datasum.pdf).

Apple's definitely on top right now, but the gap is narrowing very, very quickly.


They could at least act like decent human beings and tell the developers in kind words that their support program is not applicable to them if the apps are not exclusive.

This behavior is not just childish, it's even damaging to the brand.

That they do this on scale (not just certain small teams) lets me believe that the persons who created this policy have some type of psychological issue.

They should definitely see a doctor, if they aren't already doing it.


> How is it childish ? It's business

The two are not mutually exclusive.


> How is it childish? It's business.

It's funny you say that. In many companies you can hear people saying "it's nothing personal, just business" (you also hear the same from movie villains, oh well).

At Apple, for as long as I remember, it's exactly the opposite: it's not just business, it's always personal.

If you hurt Apple, Apple will hurt you back.

You can think of Apple as a smart, powerful, spoiled prince/princess. If you have something the prince(ss) wants, they'll try to be friends with you and shower you with gifts. But if you go this path you better never end up on their bad side.

It may seem childish to some, but as far as game theory goes, this kind if behavior makes one's choices and outcomes very clear when you interact with Apple.


What's the name of your app?


Anecdotally, I've heard horror stories from friends who develop apps for multiple platforms of being "punished" by Apple for releasing features to their Android application first, or similar things.

Those friends don't talk about it publicly for fear of further retaliation, but given their experiences, what OP wrote doesn't surprise me in the least.


> Those friends don't talk about it publicly for fear of further retaliation, but given their experiences, what OP wrote doesn't surprise me in the least.

But what is surprising, especially given the prevalence of these anecdotes, is that OP wrote about it. I have the feeling he made the calculation that there isn't much left that Apple can do to them (other than kick them out of their app store, which would probably backfire spectacularly, of course).


Well, taking 2+ years (and at least one lawsuit) to fix the "iMessage switcher" bug seems to fit the same pattern.


Why is the truth being downvoted?


I can actually understand them dragging their heels on that - it only manifests when you leave iOS, at which point they've already lost the customer, and it causes a worse experience on their new non-Apple device, which could drive the user back into Apple's arms. It's slimy, but switching ecosystems is a high-friction event, and Apple may have just determined that the cost of supporting former customers is greater than the winback they'd get from doing so.

Alienating developers, on the other hand, seems like a losing play. Publishing on Android doesn't mean you stop publishing on iOS, but giving them the cold shoulder might drive them to do so.


It's the same play in both cases - creating extra friction when you step outside of Apple's ecosystem.

Users who switch to an Android phone aren't any more "lost" to Apple than developers who publish on Android. They often still have iPads, iPods and/or Macs. Some might still buy music and/or video from iTunes. And so on.

In both cases, Apple is choosing to risk losing X as well in order to increase their chances of holding onto Y. And since we see other companies making both choices, it isn't an obviously winning or losing play in either case.


Yup. I agree -- I have lots of Apple devices, bought my first Android, and this bug does not make me happy.

I'm not a fanboy for either camp...but I also do want to feel like a vendor is actively trying to lock me in to their hardware forever.

Which will make me less likely to choose an iOS device next time I buy one.


It's actually asking happening to new Apple customers as well. My wife got an iPad and signed into Messages thinking she could use it like Messages on her mac – instead it broke her android phone°.

She has since stop using the iPad I think largely because her initial interactions with it were so poor. This is actually hurting Apple's goals.

° I assume this means she entered her phone number as a contact address - but frankly the experience is so horrible that she's unwilling to talk about it.


They're actually hurting their current customers, those that can't get a text message through to their lost Apple brethren. Shame on them for having traitors in their flock, I guess.


Certainly, but the common factor is that the friends they're having problems with are dirty Android users. I have no doubt they've been content to let people believe that the problem is that Android can't handle text messages.


Because it's not directly developer related?


Yes, we were told directly by Apple that we will not be featured on AppStore or get any dev contacts if we release Android app together with the iOS version.


That certainly explains why there are so many iOS exclusives. Here I was blaming the Android platform or foolish developers, when in fact Apple's aggressive business practices were -- at least partially -- to blame.

Also serves as a reminder what we, both as devs and users, gave up when we put ourselves at the mercy of approximately 2.5 app store operators. There's no need to remind me what we gained, I'm aware. The question is rather if we can get a system that combines the best of both worlds.


Maybe the Apple rank and file took Jobs's "thermonuclear war" vow to heart[1]

[1] http://www.bloomberg.com/news/2011-10-20/jobs-regretted-not-...


That makes me wonder if they'd have gotten the same reaction for a successful Windows Phone app (though, for practical reasons, I don't expect many developers to end up testing that).


That's pretty funny, because Microsoft has been actively courting Apple devs. They've had special events featuring Apple devs and companies associated with Apple, making the case for developing on the Windows 8 platform. Including Windows phone, which I suspect Apple and their fanbois aren't too concerned with at the moment.


Or they get performance pay based on converting/retaining their assigned customers.


Seems like a weird attitude. Almost everyone with the resources to do so is going to want their app distributed as widely as possible across multiple platforms. Personally if I was at Apple I would be accepting that and trying my best to make iOS the platform you have the best dev experience on so that you are encouraged to put as much time as possible into the iOS app and update it more or at least as regularly as elsewhere.


Very logical and absolutely not the way Apple operates.

Steve Jobs' ghost is going to be haunting these walls for a very long time (well, at least until the new campus comes).


When I worked for Universal Uclick, we released the GoComics app all at the same time for iOS, Android, and Windows Phone. I worked on the iOS release until its launch, and we had the ear of its developer support team up until and well after its release. We even were able to get the app 'featured' in the App Store shortly after its release.

We didn't experience a cold shoulder at all from Apple after putting out the app for other platforms. But then again, that was just us.


"...is that it highlighted just how insular and superior a lot of Apple developers act and feel. If you don’t believe me, just join a group of them at WWDC and whip out your Android phone. Within moments, you’ll wish you had whipped out something less offensive, like your genitalia instead."

Can relate to this a little bit...A coworker who is completely in the Apple camp argued fiercely how consistent the iOS keyboard was when I mentioned to him that the Android one changes case to match the Caps lock setting.


I've met both types of people, those who argue fiercely for either Google/Android or for Apple. Learning to ignore them is the best thing you can do. I don't think they are any more prominent in one camp or another.


I find people who seem to pin their own identity and ego onto a brand perplexing. I mean, I get irrationally excited about new technology, but I'm not going to be any brands "fanboy".


> Android one changes case to match the Caps lock setting.

My primary mobile device runs Android and it's always a shock to me that the iOS keyboard doesn't do this. Are they taking their skeuomorphism too literally?


As a die-hard iOS user... that was a stupid argument to be in. There is a reason Apple does what it does (supposedly to match a real keyboard) but it's not strong and doesn't matter.

And the iOS 7 shift key symbol stupidity should automatically lose him the argument.


> There is a reason Apple does what it does (supposedly to match a real keyboard) but it's not strong and doesn't matter.

Wow. Really? That a silly reason for an otherwise indefensible UI decision. I really wish the iOS keyboard changed case. Ever since iOS 7, I can't tell whether shift is on or off. Maybe I'm just an idiot, but sometimes I fumble with it a half dozen times before getting it right. It's worse than trying to plug in a USB cable.


I see nothing wrong with only showing uppercase letters on the keyboard as they seem easier to read.

The major flailing is the shift key. Right now it's white with a black arrow. That means the sentence started with an initial cap. At any other theme, say mid sentence, it's different again. Mid sentence it's a white arrow on darker gray.

So, in short: about to type cap? Black on White. Mid sentence? white on dark grey. Want to do all caps? Double tap it and get a new version.

I'm not sure how these semantics are different enough from iOS 6 to cause confusion but it does ALL THE TIME.


Good point. I don't remember having this problem with iOS 6. I suppose it's simply a matter of personal preference, but if the keys changed case, I could instantly determine what my keypress would output to the screen. That seems like a UI no-brainer to me.


They're not easier to read

http://en.wikipedia.org/wiki/All_caps


Are you sure that prose and single-character button labels have the same readability characteristics?

The same property that makes "BIG TEXT" more difficult to read than "small text" might make each individual character easier to read. I'm not sure that it does, I just don't think your wikipedia page discusses this at all.


It was fine in iOS 7.0. The problem started in 7.1.


> There is a reason Apple does what it does (supposedly to match a real keyboard)

This argument doesn't stand since the shift key itself changes when you press it (it switches from an empty arrow to a filled arrow), something a real keyboard obviously doesn't do.

There's just no practical nor logical reason for the iOS keyboard to act like that.


Shift key or Caps Lock key? The caps lock on a keyboard does have visual feedback - usually in the form of a light above the keyboard (so it's not obscured by your hands), though my favourite keyboard had a light on the cap lock key itself. Shift, being a transitory key, is not active if there's no pressure on it.


Shift key.


Technically it's both.


Wouldn't that reason lose validity now that they've moved away from skeuomorphism? I've found that to be one of my biggest annoyances with iOS that the keys don't reflect the characters that will be typed.


> Within moments, you’ll wish you had whipped out something less offensive, like your genitalia instead."

I am intrigued, what happened? Did they verbally insult him?


so funny


> Android is now clearly their platform of choice, it runs on TVs, cars, phones, tablets, watches and in your home. The same OS, different screens was their message.

This was one of the big surprising take aways for me. The minute Pichai took over I had the feeling that Android's future was limited - they would keep investing in it for sure but it would be on a long term road map for convergence and eventual transition to ChromeOS. I expected to first see Chrome apps running as first class citizens on Android, then a new SDK for Android that was all about ChromeOS and then finally a deprecating of the Java SDK. It always felt to me like internally Google preferred ChromeOS and the web as a platform and Android was a sort of accidental success that they were just running with until they could somehow meld it into their pure vision of computing, as represented by ChromeOS.

So now I'm having to significantly revisit all that thinking, as if anything Google seems to be pushing Android everywhere and little was said about ChromeOS.


I got the distinct impression Sundar has changed his tune now he's not threatened by Android, but instead runs it.

Anyone that had thrown their lot in with Chrome Apps or similar probably felt this year how Android devs did last year.


This is not some single person dictatorship where Sundar can just call all the shots. They are so many people vested in Android at Google. I don't think Sundar has a choice.

I really dislike how everyone thinks the too management can sweepingly do anything they want. It does not work like that.


Though if you're invested in Chrome apps, at the end of the day it's still web technologies. It'll run anywhere, even if Google is backing off. In some ways it's a safer bet for developers.


There is a bit of convergence going on.

Chrome is now a first-class citizen of Android; its tabs will now appear seperately in the multitasking menu. Android apps are coming to Chrome OS in windows.

If this is to be interpreted as a first step, I imagine that Chrome OS will eventually become yet another variation of Android. A variation focused on windows, and instead of bundled installed apps a greater focus on Chrome. But still with it all being Android underneath.


Not directly related to his post, but if you haven't tried Pocket Casts yet, I highly recommend it. Best podcast app I've ever used, hands down.


Do however be wary if you use it in a car. I've found it quite flaky. That includes randomly stopping for no apparent reason (on content that was fully downloaded), random crashes, forgetting things (like it was playing a list of episodes not just one), starting to play 2 hours after I pressed play, forgetting position and the list goes on.

They were responsive the first time I contacted them (before buying) but ignored my emails after I had bought and found issues like the above.

If you aren't in a car then you can resolve most of those issues by pressing the right buttons in the app. However while driving you can't, hence it mattering a lot more.


Agree 100%. Also, it has serious streaming problems. Don't bother starting a podcast unless it's 100% downloaded.


Yeah doesn't work in the car for me either, cuts out a couple minutes in usually.


If we're sharing podcast apps, DoggCatcher the podcast player is probably the best one on android.


I'll add Podcast Addict to the list, constantly updated and Chromecast support is awesome.


"Having met a lot of Apple employees, I can’t say the same is true on the other side. They seem overly obsessed with Google, and are insanely sensitive should you bring the topic up, or deity of choice forbid, you actually develop on a Google platform."

It used to be exactly like that in Microsoft around 2010. Microsofties were extremely sensitive about non-WP devices other employees used. Hopefully things have changed there since then.


I was trying to enjoy the company of a friend and his friend turned out to be an Apple executive and had a lot of passive things to say about the fact that I had an android phone. the gist was it was too big, not many apps, and other nitpicking stuff. I couldn't help but think... well gee just try another smaller android phone, but I wanted to just eat dinner and ignored his snide comments. They're definitely obsessed from the top down.

IMO, they need to stop whining and give users what they want, a cheaper phone. That could have stopped android years ago, instead they just sued and became indignant. As if that helps. You want to talk about a bubble. I fear the day when apple's revenue drops. I sort of want them to stop bitching and do something, because that day won't be pretty.


> None of them care what phone you use, what laptop you choose or which platforms you develop for.

Benedict Evans has a very interesting take on why Google has this sentiment. Basically, it comes down to Apple being about hardware and considering the cloud dumb storage and Google being about cloud services and the hardware being dumb glass (not Google Glass, but hardware interfaces). It seems like Google as a company is in sync, all they want to do is get their cloud services on as many devices as possible because the real value of Google is in the cloud. I agree with Benedict's hypothesis and I can't wait to see how these two companies unfold over the next decade. They currently seem to have two different trajectories.


meh...I've been in the "Apple Camp" since they released the SDK in 2008 and I've yet to work with anyone who would find it offensive that someone has different tastes than them when it comes to their device choices. it really doesnt matter that much.

That said I'll probably be looking to do more non-iOS work as well in the near future, I need to expand my horizons again.


You have to remember, Apple is selling all Apple stuff. Google is selling the web.


Google is actually selling the Ads, IMHO.


Late one night I began watching the room sessions, and after I kinda wrote off the Keynote I began to see the same level of organization the writer spoke about. Unification across all applications, platforms, screen sizes, and use cases was a huge priority and that is a rather radical shift from what I've seen. They have focus.


How sad it is we are so easily seduced to take sides on a false dichotomy. How easily we forget our work becomes just a cog on someone else's platform. Relations centralized, us with the big player, very one-sided.


I agree with everything you wrote -- thanks for taking the time to put it to paper! Two other things: I've been to five I/Os and this year's keynote was absolutely the worst in terms of quality of presentation. It honestly seems like they didn't plan to announce L until it was leaked a couple weeks ago. I'm glad they did and I think, given the lack of prep, it went pretty darn well. Secondly, before they started charging $900/ticket, I'm absolutely sure a lot of locals applied just for swag. I don't think that happens anymore, and you can tell from what they handed out this year that there will be no more free phones and tablets. If there is hardware swag, it will be new tech, not the stuff everyone already has.

Additionally, I was truly surprised at the heavy focus on Android at the expense of nearly everything else. I think with Sundar in charge we're seeing a sea change at Google in terms of platform focus, and this is -- while a little confusing sometimes -- a good thing. It also means I/O is turning into truly a hardcore developer conference with a unified theme (or several big themes), rather than a sort of dog & pony show ("Hey, look at this shiny, useless crap we've been working on!") like in the past (Nexus Q anyone? Android @Home? Google TV?). There was no mention this year of anything besides Android platform products & services, except the expected general purpose dev platform stuff (Compute Engine, App Engine, etc). I was surprised at the lack of mention of anything enterprisey, nothing about Google+ or identity management, anything about ChromeOS (just a small plug in the keynote about schools adopting Chromebooks), or any of their X projects. I at least thought they'd have some robots there to ogle.

If the keynote was subpar this year, the 'box talks were a highlight. The speakers were almost universally awesome, the open fora allowed high quality engagement, and if one topic didn't interest, it was easy to stroll to the next whiteboard/screen and see if that one did. Jake Archibald's talk on browser quirks was my favorite.

http://www.html5rocks.com/en/tutorials/speed/script-loading/

http://vimeo.com/77497239

Btw, I was fully expecting Android Wear to be a novelty I had no use for, but I very quickly came around and already find myself talking to my watch, James Bond style. I completely agree with this Ars post: http://arstechnica.com/gadgets/2014/06/android-wear-smartwat.... My wife & I have a "no phones at the dinner table" policy but even my kids have been telling me to "ask Google" for answers to questions. Having the knowledge graph so handy is awesome.


Are google glass completely dead now?


Could we please not appropriate the generic term I/O for the gimmicky marketing travesty that is Google I/O? Some people expect an insightful article about system programming.


At the end of the day, Apple has always delivered far superior tools, frameworks, and ecosystem (development-wise). That to me says a lot more than how friendly the staff is.


Ugh, no. Ask anyone who has used both Xcode and Visual Studio. I used it once for porting a C/C++ project to OS X - it crashed a ton, the debugger integration was sub-par, the new window for everything thing was annoying. It did not really feel like a superior experience. If there's anyone delivering superior tools - it's Microsoft hands down.


>the new window for everything thing was annoying

This hasn't been the case since XCode 4, which was released in 2010 and introduced a single-window for everything.


Comment still relevant as the response was to "Apple has always", which implies that isn't entirely the case.


I suspect the original post was referring to XCode versus Android tools, given the post context of Google I/O, and if so, the statement that the tools have always been better is definitely correct.

At least on OSX, I doubt anyone would dispute that XCode 4 in 2010 was miles ahead of Eclipse and early versions of the Android SDK, and that arguably holds to today, though less so with Android Studio.


I might be misremembering but the tabs in XCode 4 did not work like tabs in any other IDE - there were some major annoyances around new window/tab open behaviour if I recall it right.


Eh, I have always preferred Xcode over VS. Maybe I just hated .Net.


Anecdotally, this is also my experience with using some of the lesser known frameworks in the Android ecosystem - nothing is documented properly or the documentation is years out of date and/or uses long deprecated methods, significant bugs remain open for years without attention, requiring time-consuming workarounds, and everyone just puts up with it, because that's the way things have always been.

An example of problematic documentation is Volley, which is a brilliant and totally needed framework and documentation that exists for it is a 45 minute presentation and a handful of StackOverflow posts.


While I'm not arguing against your overall point, your example is not a good one. Volley was unnecessary. It only got attention because Google did it but the community was already on top of the issue. From shipping their own, newer Apache Client libs, through koush's ion and picasso, to Square's okhttp, networking on Android is full of good libraries to use. Volley didn't anything dramatic to this and, judging by the amount of attention it has received, it was someone's side project.


I take your point, and that's exactly why I'm not using it in production, but it doesn't seem like Google should have drawn as much attention as they did to it, running a session on it within Google I/O, if it was just intended to be a side-project and not for widespread consumption.

I guess I'm just coming at this with a WWDC mentality, where a presentation would be run only on a completely production-ready and documented framework, and perhaps I/O does things differently.


>>Apple has always delivered far superior tools, frameworks, and ecosystem

Its easier to make good tools when they need to work on 5% market share (Mac only)?

Google Tools are free. Apple tools start with you buying their $2000 machine.


You can get a Mac Mini that more than suffices for around $600-$800. But honestly, if paying $2000 was the only way to get a set of Android SDKs and development tools of the same caliber as Apple's developer offerings, I would immediately do so. I like the idea of the platform and I believe in anything that makes it easier for developers to build better applications.


Excellent. Now I've bought my mac mini, I can plug it in and listen to it consume power. I wonder how I can see what it's doing?

Hrm... well, it can come with a monitor... for an extra thousand. Okay, scratch that, I'll get a cheap DisplayPort monitor... add a couple of hundred (or if I feel like splurging, get two). Oh, and a keyboard, another $50 (apple-branded, of course, because normal keyboards don't have apple keys). Mouse? Apple mouse at $50+? Maybe I'll go with a cheap logitech or something... 4GB memory standard? for a dev machine? OSX has trouble with that little memory. Up to 8GB for another hundred (or 16GB for three hundred). Spinning rust will do, but if you did want an SSD, throw on a couple hundred more.

The idea that mac minis are 'cheap development boxes' is nonsense. It's cheaper than a decent macbook pro, but it's not a cheap workstation.


You can buy the Apple-branded stuff. Or you can buy a KVM switch, a SSD, and two sticks of RAM off Newegg yourself. Monoprice has HDMI to DVI converters for less than $3. Upgrading the internals is about as challenging as upgrading the internals of a non-Apple laptop. It's honestly not that hard.

On the off chance you don't have a mouse, a keyboard, or a display, you can get a decent mouse for around $5, a decent non-mechanical keyboard for $30, and a high-quality display for $150. All three of these will improve your productivity on your laptop if you're not traveling. If you don't have a laptop or a desktop...how are you developing for Android to begin with?


how are you developing for Android to begin with?

Well, this requirement wasn't in the original brief. And in any case, you're trading your own labour and domain knowledge to shave a few dollars off. The scrounging you've mentioned is only a little cheaper than what I've mentioned - my point is that it costs more to set up a mac mini for a developer (rather than a headless server) than the throwaway line presented. Even with your cheaper, more-effort-given-to-scrounging pricing, the monitor + HIDs alone add 1/3 to 1/4 the price, never mind the ram or ssd.


Fine. Let's say that if you don't have HIDs or a monitor and you want a primary dev box, then it's not worth it. If you have the HIDs and monitor, are willing to do a little bit of third-party work, and want a machine that can competently serve beside whatever non-Apple machine you're currently using, then you can get started for far less than $2000. (I don't think this is a terribly uncommon use case, especially for people already developing for other platforms.) Would you say that is a fair assertion?


I would say that that is a fair assertion, but I would also say that it doesn't really detract from the OP's point: to get started with google, open a browser and start downloading; to get started with apple, first find a non-trivial lump of cash.


It's not like the effort to make a good tool scales proportionally to your user base or anything. Besides, the developer tools for Mac are the same used for iOS, which is a lot more than 5% of it's market. Microsoft could easily put out tools and frameworks on par (and do in some cases, VS is amazing) and would only do better if they'd drop support for OSes that have been obsolete for decades. There's no reason to have 16bit calls available any more.


Yet most Android devs I know use Macs....


In what country does a macbook air cost $2K?

Also, many people who use Google tools also have macbooks (e.g. all the Googlers I know), they have to use the tools with something.


Based on what I've seen, fellow Googlers use Macs as glorified ssh terminals + chrome machines. Most Google code isn't allowed on laptops per security policy, and most wouldn't build there anyway. I also think lots of people have Macs because, before the Pixel, they were the only laptop offered internally that qualified as a fashion symbol, and the only option with a Retina display.


I know a Googler with one MBP and 2 Pixels. Guess which computer he brought to the workshop we were in...


This is such a weird way to compare the costs. You still need a computer to use the Google tools. Also you can get a MacBook Air for less than half that price.


> Apple tools start with you buying their $2000 machine.

I bought a 27" iMac with a 2.7GHz Sandy Bridge i5 for $250 on Sunday. Try again.


I would love to get a deal like that. I just looked on craigslist, and can't find any 27" iMacs with an i5 for less than $950. In fact, I can't find anything for $250 that wasn't a piece of junk. In fact, if I could get that iMac for $250, I could turn around and resell it for $1000.


Friend was moving across the country, didn't want the hassle of craigslist. Point is, you can keep your ear to the ground and find some interesting stuff in the Apple space.


That could be a lo-o-ong wait. Your post makes it sound like the $250 deal was typical. Which it is not in my experience, or in reality.


I can guarantee you I could go lay hands on a Mac mini, older but quite capable of Xcode development, for $350 right now.

I'm not an Apple partisan; my last gig was Android development. But the idea that there's this massive barrier to entry is a complete joke.


Your point that entry into the Apple ecosystem isn't that difficult would be correct when they first opened up the app store, which simplified how app development for phones was done. But today, they seem to have the most friction compared to joining other stores/platforms/ecosystems.

As for the Mac mini that you talked about, that's a far cry from the 27" iMac with the i5 that you originally described.


Oh, c'mon. It's the iMac minus a monitor. Any developer probably has a monitor.


This. We generally don't send employees to either WWDC or I/O. As a result, the tone, attitude of attendees or company reps don't matter to us much at all.

Our users and testers care about a great software experiences. So what matters most to us are stable, well designed and supported software platforms and ecosystems that let us deliver great experiences.


Great piece, very interesting.

> Overall they just seem more balanced, you can tell that what Apple is doing doesn’t keep them up at night.

Eh, I have found the opposite, whereas Android developers will be very hardcore, almost akin to .Net developers who only use bing. They will only use Android, and Google, and Open Source, and never pay for anything ever. Even apps. And beware if you have an iPhone.

Not all, and maybe I am sheltered from the Apple critics because I leave my Android phone and table at home. And it really depends who you meet.

I certainly see Apple as a very closed company compared to Google, but it looks like that is changing with the WWDC 3,000 API's announcement, really opening up the OS to developers. iOS devs can start to do cool things that Android devs have been doing for a while.

As for the Google anouncements, is TV any different than the last few years? And they still don't seem to have wearables right yet.


I read the sentence you quote as referring directly to the engineers who work at google, not android developers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: