Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Google Programming

Are Googlers Too Smart For Their Own Good? 307

theodp writes "If you're a mere mortal, don't be surprised if your first reaction to Google Storage for Developers is 'WTF?!' Offering the kind of 'user-friendly' API one might expect from a bunch of computer science Ph.D.s, Google Storage even manages to overcomplicate the simple act of copying files. Which raises the question: Are Googlers with 'world-class programming skills' capable of producing straightforward, simple-to-use programming interfaces for ordinary humans?"
This discussion has been archived. No new comments can be posted.

Are Googlers Too Smart For Their Own Good?

Comments Filter:
  • As a developer who deals daily with RESTful interfaces at his job, I found this to be rather intuitive. It may be complicated but would you be so kind as to elaborate on what is unnecessarily complicated about this interface? You might think "Oh, you're just moving data around" but add on top of that security like SSL support, scalability, namespaces and the ability to store very large hundred GB objects then ... Yeah, the end result is going to be a bit more than PUT <Data>Object</Data>. It's well documented as far as I can tell. I haven't used it so I don't know if this documentation is worthless but it looks comprehensive at first glance.

    So, theodp, if you were a developer you would look at this and see a set of interfaces to web services done in a RESTful manner. You would say, "Oh, my users want to use Google storage but they need more of a drag and drop interface." Then you would spend a couple weeks using Ruby on Rails and Scriptaculous to make virtual folders or buckets or whatever your application calls them and using the elegance of RoR with the UI of Scriptaculous so the user can move their photos or data from your server to the cloud or vice versa. You could really use anything you want to interact with it but I would bet these two GPL compatible tools would result in the most rapid of web application development.

    So three sentences with links to Google besmirching them for being smart will get you on the frontpage of Slashdot these days? Really the substance of the 'story' here is essentially "WTF?! So complicated it must Suck!"

    Offering the kind of 'user-friendly' API ...

    Here's a final hint: API stands for Application Programming Interface is not supposed to be user-friendly. It's supposed to be developer-friendly. I hope I don't sound like a Google fanboy but this is a nontrivial task and I would defend the API they have produced. The documentation is far more than you would get from a CS PhD. You want me to take notice of your mindless drivel, theodp? Get off your ass, code an interface for this API and then point out how the API and documentation is lacking in a step by step post. That would be helpful and deserve a place in Slashdot's programming section. What you have here is not.

  • by Low Ranked Craig ( 1327799 ) on Friday May 21, 2010 @10:58AM (#32293464)
    They wouldn't call it code.
  • by kikito ( 971480 ) on Friday May 21, 2010 @11:01AM (#32293510) Homepage

    In other news: the space shuttle UI is too complicated for regular car drivers! duh.

  • by Delusion_ ( 56114 ) on Friday May 21, 2010 @11:04AM (#32293570) Homepage

    This isn't to discredit the idea of ease of use or good design - god knows Google graphs requires way more hoops than it should (compare, say, Visifire).

    I think it's easy to look at the developer's guide and just flee in terror, but honestly if that's your reaction, Google storage API is probably not the droid you're looking for. If you need simple file sharing that a typical user can appreciate without having to read a manual, Dropbox may be more appropriate; Google Storage API is written with developers in mind.. I'm a big fan of some of Google's APIs, Dropbox, and Google Docs for sure.

  • by Anonymous Coward on Friday May 21, 2010 @11:04AM (#32293574)

    I agree.

    Slashdot is so non-technical these days it's a complete fucking joke. Ignorance just spews on anything even remotely related to software development. Please drop "news from nerds" from the slogan. Replace with "lip service for sycophants".

  • by Low Ranked Craig ( 1327799 ) on Friday May 21, 2010 @11:06AM (#32293596)
    UI != API. A proper API doesn't need to be simple, it needs to work properly and consistently. Not to get too subtle, but a complex API for something like this is perfectly fine as long as it is not overly complicated, if you get what I mean.
  • I was expecting something really crazy and complex but what I saw was well documented and made sense. Seriously, how on earth is this front page news on slashdot?? I wont repeat the many well made statements that "API's arent for users" above. I'm just surprised this has made it to the front page as a developers link. I sure hope I don't work with the sub. at any point if he thinks this is an example of people being "too smart for their own good". /saddened
  • by igb ( 28052 ) on Friday May 21, 2010 @11:10AM (#32293654)
    As the documents point out, it's the same API used for Amazon EC3 and others. They're implementing someone else's protocol.
  • by qmx ( 933029 ) on Friday May 21, 2010 @11:17AM (#32293752) Homepage
    based on article, I doubt he uses a cli
  • by Cylix ( 55374 ) on Friday May 21, 2010 @11:18AM (#32293772) Homepage Journal

    Seems like a adver-troll by proposing such a silly argument.

    It's a straight forward documented restful api. No biggie, written a few myself and it is always a bonus to get some decent usage examples.

    I'm not sure you would be classified as a google fanboy for pointing out the obvious.

    Looking over the API and the simpler nature of the subject I doubt it would take a few weeks. If you have some code lingering around to manage similar API's you can sling together an app over a weekend.

  • Ob. Quote (Score:5, Insightful)

    by gzipped_tar ( 1151931 ) on Friday May 21, 2010 @11:19AM (#32293788) Journal

    There's been an awful lot of discussion about what is or isn't simple, and people have gotten a pretty sophisticated notion of simplicity, but I'm not sure it has helped.
                                                -- Ward Cunningham

  • by siride ( 974284 ) on Friday May 21, 2010 @11:19AM (#32293790)
    I think this is a terrible idea. It violates the principle of "make it as simple as possible, but not any simpler". Some things are just complicated. Even if the UI is nice and clean, what it interacts with is not and the users have to know about that. I don't think any UI could be understood by a 5 year old and I'm fine with that.
  • by Lunix Nutcase ( 1092239 ) on Friday May 21, 2010 @11:20AM (#32293796)

    What exactly is hard to use or cryptic about a RESTful API? If such a thing strains your brain too much you probably are in the wrong line of work. I'd recommend you get a job flipping burgers but even that may be way more than your intellectually capable of.

  • by sammy baby ( 14909 ) on Friday May 21, 2010 @11:22AM (#32293830) Journal

    anything that is user facing should be able to be explained to a common 5 year old (hint if you have enough developers available then you should have access to at least one).

    As the parent to your post noted: we are talking about an API here. Precisely none of it is user facing.

  • Article Tag (Score:5, Insightful)

    by codepunk ( 167897 ) on Friday May 21, 2010 @11:28AM (#32293912)

    The tag on the article "submittertoostupid" pretty much says it all here folks.

  • by klashn ( 1323433 ) on Friday May 21, 2010 @11:29AM (#32293926) Journal

    “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”

    - Brian Kernighan

    It seems Googler's may be smart enough for their own good, but not smart enough to debug the cloud

  • by Millennium ( 2451 ) on Friday May 21, 2010 @11:32AM (#32293952)

    This looks like a nice low-level API for doing really interesting and complicated things. Unfortunately, they neglected to include a high-level API to deal with what will be by far the most common use cases. Sure, it's not so difficult to implement an upload_file(filepointer, uri) function with this, but given the huge proportion of developers using this library that are going to need exactly this sort of function, do we really need all of them reinventing the wheel?

    Powerful and complex functionality is good, but the most common use cases got that way for a reason. Specifically accounting for them, even if only through a set of basic frontend functions, brings major productivity boosts to the programmers that use your library. It is a thing worth doing, and it sounds like the Google folks neglected to do that in this case.

  • by The Flymaster ( 112510 ) on Friday May 21, 2010 @11:40AM (#32294032)

    ALL of it is user facing. That's the very point of an API. The user is the developer.

    This is a very, very important concept. As I said in my other post, this is a good API, a usable API. But so many APIs aren't usable. API usability should ALWAYS be considered when releasing a public library/service.

  • by SashaMan ( 263632 ) on Friday May 21, 2010 @11:40AM (#32294044)

    Mod parent up. This is from the docs:

    Interoperability
    Google Storage is interoperable with a large number of cloud storage tools and libraries that work with services such as Amazon Simple Storage Service (Amazon S3) and Eucalyptus Systems, Inc.

    Basiacally, google is essentially building on what has become an industry standard for cloud storage.

    This article submission is either from an idiot or a troll.

  • Teachable moment? (Score:2, Insightful)

    by panic!_at_the_ring0 ( 1788562 ) on Friday May 21, 2010 @12:18PM (#32294550)
    When someone tries to bash a cleanly designed RESTful interface as being "too complicated", you know it's a sad state of affairs. If this can lead to even one person reading chapter 5 of Fielding's dissertation, maybe some good can come of it after all...

    http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm [uci.edu]
    http://en.wikipedia.org/wiki/Representational_State_Transfer [wikipedia.org]
    http://en.wikipedia.org/wiki/Roy_Fielding [wikipedia.org]

    "Developer", meet HTTP..
  • by FiloEleven ( 602040 ) on Friday May 21, 2010 @12:22PM (#32294600)

    theodp in this post [slashdot.org] quotes from a book entitled "The Dumbing-Down of Programming."

    Not content with infantilizing the end user, the purveyors of point-and-click seem determined to infantilize the programmer as well.

    Judging by this story submission, it turns out he's for it.

  • by Locke2005 ( 849178 ) on Friday May 21, 2010 @12:25PM (#32294650)
    If you want to know what it's like to be on the other side of that conversation, ask a citizen of the British Empire to explain cricket to you.
  • by lgw ( 121541 ) on Friday May 21, 2010 @12:27PM (#32294662) Journal

    But Google seems to have crossed the "nerd"/"nerd poser" line with today's homepage. Real nerds know that no page should make noise on load (except r33b.net, of course, as none shall deny his glory). Yes, yes, PacMan is cool and geeky and all, but still - a noisy page? A game in a banner ad?

    What's next Google, a loud voice shouting "you are our 1 billionth customer, click here to punch the monkey!"?

    I have to come down on the side of "too smart for their own good".

  • by fuzzyfuzzyfungus ( 1223518 ) on Friday May 21, 2010 @12:29PM (#32294684) Journal
    There's also the consideration that, if you are designing an API that you hope will see broad 3rd-party uptake, you are probably better off making it comprehensive and internally sensible and consistent, rather than starting small and hoping that the additions you tack on in the future don't become a perverse mess.

    If it turns out, after the fact, that 90% of your users just want easy access to 10% of it, it isn't exactly impossible to have a trivial_subset library that sits on top, and makes it easy for people with limited needs to use that part of the API.

    Now, if the API is internally inconsistent or perverse in some way, it certainly deserves criticism. If it is merely overkill for the easiest 90% of projects that might use it, that's just to be expected.
  • by panic!_at_the_ring0 ( 1788562 ) on Friday May 21, 2010 @12:35PM (#32294782)
    Uploading a file is simply performing a PUT on an object URI:
    http://code.google.com/apis/storage/docs/reference-methods.html#putobject [google.com]

    Content goes in the HTTP request body.

    This is not rocket science. If you can't wrap your head around REST, wait for someone to come up with a RPC-style API.
  • by Bakkster ( 1529253 ) <Bakkster@man.gmail@com> on Friday May 21, 2010 @12:54PM (#32295024)

    Sure. But you shouldn't be able to explain Photoshop or vi to a 5 year old, either.

    Sure I can. Photoshop lets you paint on pictures, and Vi is like a piece of paper that you can write on.

    With an API the difference is that you should be able to assume that your user will have a common lower bound on their knowledge. If your API deals with multi-threading, to be effective you probably need to assume your user knows the fundamentals of multi-threaded programming. Or, at least that the user has some base level of knowledge in computer science.

    Attempting to over-simplify a concept to a child limits our ability to develop for things that aren't simple to begin with.

  • by Hognoxious ( 631665 ) on Friday May 21, 2010 @01:05PM (#32295186) Homepage Journal

    I had the same reaction just by seeing who posted it. Check out his other stuff, he really is a clown. Sadly, he's in bed with the editors, so expect more similar shit in future.

  • by clone53421 ( 1310749 ) on Friday May 21, 2010 @01:29PM (#32295494) Journal

    Yes, and paper mills are consumers of raw pine, but that doesn’t necessarily mean all the rough edges need to be filed off it first.

  • by Hognoxious ( 631665 ) on Friday May 21, 2010 @01:30PM (#32295504) Homepage Journal

    Yes, developers are "users" of APIs. But any "developer" worthy of that moniker has an assumed baseline of specialized domain knowledge *far* greater than any 5 or 7 year old.

    If only they had to be worthy of the moniker to get a job...

  • by RobDude ( 1123541 ) on Friday May 21, 2010 @03:32PM (#32297476) Homepage

    Which is why, to this day, it's so much easier to get a GUI up and running in other OS's other than Windows.

    While most other OS's will 'just work' getting Windows to display the GUI can be an involved and frustrating task requiring the modification of .conf files or running command line based configuration tools.

  • Re:API is not a UI (Score:3, Insightful)

    by clone53421 ( 1310749 ) on Friday May 21, 2010 @03:38PM (#32297558) Journal

    The “user” of an API is an application programmer. The “user” of a UI in general is your grandmother.

    Both of them have to be of just the right complexity... neither unnecessarily complex, nor overly simplistic. If the interface is unnecessarily complex, it will be harder to use; if it is overly simple, it may not be usable at all.

    Both of them have to be usable, but an application programmer’s idea of “usable” will be very different from your grandmother’s. Equating the two is silly to the point of being mistaken for trollishness.

The hardest part of climbing the ladder of success is getting through the crowd at the bottom.

Working...