From a practical standpoint, don't you still need to test it against popular platforms though? (If you develop to the standard and a popular browser doesn't support the standards correctly as far as your users are concerned, it is your problem.)
In fairness IBM didn't really get back on top of it's original industry, they where clever enough to get on top of a much more lucrative one, also it's much harder to clone IBM developers than IBM hardware ;).
It changes the value chain in ways that destroy their competitive position. Short term, it's pretty likely that they'll adapt. Long term, they're dead.
A good example is the IBM PC. When it came out, everyone was saying "Of course, IBM will now dominate the new personal computer market, because they have the sales & marketing apparatus to reach into every business that will want to buy one. Nobody ever got fired for buying IBM, after all, and now that they own the technology to make a personal computer, their offering is clearly superior."
But that's not what happened. Instead, they did dominate the PC market - for approximately 5 years. But the PC had reduced prices so that it was now targeting a market that was cost-sensitive, and it had created a secondary market of applications that let it reach into many areas that had previously required custom software direct from the manufacturer. IBM did not own the critical matchmaking components of this, the instruction set, operating system, and BIOS. Intel and Microsoft did, and then Compaq reverse-engineered the BIOS. As a result, clones flooded in, IBM's sales & marketing prowess counted for nothing, and they found their market commoditized.
Uber's critical value proposition is serving as a market-maker in a two-sided market. That's the part that's really difficult for a startup to clone. You can make the Uber ride-sharing software trivially, and many people have . But even if you do, riders won't use your service because you don't have the same number of drivers available that Uber does, and drivers won't join because they won't make as much in fares.
When self-driving cars come out, that two-sided marketplace becomes a one-sided marketplace. We've yet to see how Google will market the technology, but the most strategically advantageous approach for them is to contract out manufacture of the cars, own the hardware, put their own software on it (and not license it out), and then sell a service to riders, undercutting Ubers' prices. Under this model, Uber's competitive advantage counts for nothing - their supply chain costs more than the competition, in a price-sensitive one-sided market.
Google could then use a number of different tactics to lock Uber out. The most likely one is regulatory; in the interest of public safety, they could argue that all self-driving cars need to pass a very stringent safety test, consisting of real-world driving for X00,000 miles. Google's got a 10-year head start on Uber for developing this software, and once a critical mass of cars on the road are Google self-drivers, they have accurate position information on everybody else, a key factor in making this safer.
Just an FYI -- working on someone else's laptop can often be an unpleasant experience (weird keyboard configuration, different software installed, etc.)
My current opinion on this would be to offer a laptop so you aren't disadvantaging candidates who don't have one too badly, but let people use their own if they have one (and let them know ahead of time that it will be an option and what they should be set up for.)
We tell candidates up front that they'll be doing some live coding and welcome them to bring their own laptop if they would like. We have a backup around with just about every reasonable IDE and editor installed for our languages but even then I agree, it's definitely not the same using someone else's computer.
I program on my desktop with two monitors, I wouldn't be comfortable on a laptop without at least two extra large monitors hooked up to it already. And a normal keyboard, don't give me that laptop keyboard crap.
Wow... I understand that you'd be much more productive with a large monitor and good keyboard, but to the extent that you couldn't perform in a coding interview? Give me a break...
In the past, I've used CollabEdit for "phone screens" and the whiteboard for in-person interviews. I try to ask some "coding" questions (identify a better data structure / algo for a particular scenario and then implement it in code) and some problem-solving conversational questions. Seems to work pretty well, but I'm always on the lookout for better approaches. Part of the problem is that the software field is so broad that it's hard to get a sense of a person's abilities with such a limited amount of time to ask questions.
Sure, we'd all want an ideal setup but ideal isn't possible in an interview situation - both sides need to compromise a bit for practical reasons. And really, while we say "laptop" if someone wanted to lug in their desktop with two monitors and keyboard we wouldn't stop them. In fact, it'd probably earn them points for being extra nerdy ;)
Would you rather a laptop w/ standard editors and IDEs or would you prefer a google doc, collabedit or a whiteboard like many places do?
That's a bit like saying, "My daily driver is a Mercedes Benz SL55 AMG, so I can't drive a Hyundai Elantra, not even for a block or two." Or like saying, "Oh, I normally wear Air Jordans, so I can't walk with flip-flops."
Moreover, if you're that useless without your dual monitors and a full-size keyboard, would a whiteboard-based interview be any better?
Hmm..This just pop into my mind as I read your comment.
Could you use this specific scenario to view how the candidate would react? If he starts to complain that the right tools are not on the laptop, or he is unfamiliar with environment, does it is signify that he is focusing too much on the tools rather than on solving the problem?
Maybe his time management skills needs some work, ie limited time to solve the problem and too much time worrying about environment.
I wish they would allow sending a weekly or monthly digest. I don't find a lot of relevance to the neighborhood content available to me (certainly not enough to be justified by a daily email) but wouldn't mind getting some content occasionally to get a rough feel for what is going on with my neighbors.
You can also mark content as Not Interested on the web. But these kind of things aren't possible in their other interfaces, and having to make a mental note to later go to a browser to do things is annoying.
They have a lot of this, at least if you are accessing the service via the web. Just click on Browse and choose a genre and you'll be able to sort by rating, year of release, maturity rating, or alphabetical order. You can also access these genres by clicking on the section titles in the recommendations.
Otherwise, your best bet is to use one of the many external sites such as allflicks.net.
Oh... I guess I missed that via the website. AFAIK that's not available for other clients, but I could be wrong actually. It still seems that they want to have personalized lists front and center, when it would be nice if they would have a setting that lets a user choose what is displayed at the root level. But otherwise that does seem to work pretty well.