Slashdot Mirror


Are Googlers Too Smart For Their Own Good?

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?"

307 comments

  1. Hint: "For Developers" Means "For Developers" by eldavojohn · · Score: 5, Insightful
    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.

    --
    My work here is dung.
    1. Re:Hint: "For Developers" Means "For Developers" by CTalkobt · · Score: 1

      I concur with the parent poster... the api seems, for it's purpose, straight-forward and easy to use.

      --
      There's a gorilla from Manilla whose a fella that stinks of vanilla and has salmonella.
    2. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 5, Insightful

      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".

    3. Re:Hint: "For Developers" Means "For Developers" by jaaron · · Score: 1

      Exactly. The API is almost identical to Amazon S3. It's just simple REST. What did theodp expect? A simple desktop GUI? That's what this API is designed for developers to create. This is a non-story.

      --
      Who said Freedom was Fair?
    4. Re:Hint: "For Developers" Means "For Developers" by mondoterrifico · · Score: 5, Funny

      Coding is hard! Let's go shopping!

    5. Re:Hint: "For Developers" Means "For Developers" by sribe · · Score: 4, Funny

      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.

      Heck, I had the exact same reaction to this article, and I haven't even looked at the API! My reaction was based solely on the wording theodp's atrocious post.

    6. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 1, Funny

      uh, i just looked a little at the code and the documentation and it seems easy to use, really can't see what is so complicated there... more simple than that is oversimplifying in my opinion

      well, java is doing that to world programmers i guess.

    7. Re:Hint: "For Developers" Means "For Developers" by Giltron · · Score: 1

      I agree with parent. The API seems to be developer friendly. It is much more "friendly" to use this API then to manually write the code yourself to handle the reliability and scalability Google takes care of for you.

    8. Re:Hint: "For Developers" Means "For Developers" by Zerth · · Score: 1

      It isn't exactly confusing, all the actions map into standard filesystem interactions.

      I think theodp probably has an alias for "ls" called "list_folder".

    9. Re:Hint: "For Developers" Means "For Developers" by qmx · · Score: 2, Insightful

      based on article, I doubt he uses a cli

    10. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      well, java is doing that to world programmers i guess.

      Yeah, except for that little fact that people have been doing RESTful webservices in Java for years and years. The only Java programmers who would have issues working with a RESTful are idiots who would have problems no matter what language they were using.

    11. Re:Hint: "For Developers" Means "For Developers" by Cylix · · Score: 3, Insightful

      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.

      --
      "You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
    12. Re:Hint: "For Developers" Means "For Developers" by 19thNervousBreakdown · · Score: 1

      One more "looks fine to me" on the pile.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    13. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      I can't agree more. Not sure when APIs were designed to be user-friendly, but if that is the case I'd sure as hell be out of a job since my life revolves around writing good User Interfaces and knowing how to utilize APIs to make things user-friendly. There is nothing overly complex about the API in question here, actually I think it is quite elegant.

    14. Re:Hint: "For Developers" Means "For Developers" by The+Flymaster · · Score: 1

      API stands for Application Programming Interface is not supposed to be user-friendly. It's supposed to be developer-friendly.

      This is terribly, terribly wrong. Developers ARE users. API usability is a huge field that needs to be addressed.

      That said, I don't see anything that bad about this API. Seems similar to Amazon's.

    15. Re:Hint: "For Developers" Means "For Developers" by Fnkmaster · · Score: 1

      This guy is a bit of an idiot. There's a ridiculously simple Python wrapper right here, based on the Boto S3 library, that Google has already built/customized for him if he doesn't feel like writing his own REST wrapper in the language of his choice.

      They provide examples there in a few lines of code each for uploading, copying files, reading metadata, deleting files, etc.

      That's about as easy as a web-based file system is going to get. Duh.

      If he wants to talk directly to the REST API from the language of his choice, that's fine, but it's really no worse than any other web service API out there in terms of complexity. Or just take somebody else's S3 wrapper library and adapt it like Google did - this probably wouldn't be more than a few hours work (or a few minutes - I haven't looked at how similar the APIs are).

    16. Re:Hint: "For Developers" Means "For Developers" by Lunix+Nutcase · · Score: 1

      Yes but you are making the huge assumption that either theodp or kdawson actually know anything about programming. Such a claim is highly suspect.

    17. Re:Hint: "For Developers" Means "For Developers" by Jeffrey+Baker · · Score: 1

      In fact it's *exactly* the same API used for its competitor, Amazon S3. If you use boto to access AWS, you'll be right at home using boto to access Google Storage.

    18. Re:Hint: "For Developers" Means "For Developers" by Wovel · · Score: 1

      I agree. Apparently the author of the FA has no understanding of the purpose of this service. It is similar to AmazonS3 or EMC Atmos online with a similar interface.

    19. Re:Hint: "For Developers" Means "For Developers" by toxonix · · Score: 3, Funny

      but wait! I'm submitting an article to /. about how hard google is! I want to go to the apple store! apple store!

    20. Re:Hint: "For Developers" Means "For Developers" by EvilBudMan · · Score: 1

      I'm not getting this either. It don't look too hard for a developer to me. If you are a user, what could be easier? With Gmail you now have drag and drop to attach a file with HTML5 support. There is getting to be developers doing all kinds of cool stuff with the tools provided and they have anything you could want. They change stuff really fast but that's not really a complaint.

      I'm still not getting this post at all.

    21. Re:Hint: "For Developers" Means "For Developers" by mcgrew · · Score: 5, Interesting

      It isn't slashdot that has become non-nerdy, it's that being a nerd has become "cool", very unlike it was when slashdot started. These days, anybody who knows that you make your computer stop by clicking "start" thinks (s)he's a nerd, even if they couldn't copy a file without a GUI, let alone have ever heard of Linux or BSD or any other non-Microsoft OS (which these days actually have GUIs).

      In the old days, a submission like this most likely wouldn't have been posted, but now we have the firehose, where every nerd wannabe can vote a story up. There are still very good, technical stories here (there was one a couple of days ago about mathematics) -- you just have to ignore the ones like this one voted up by the wannabes. That said, I haven't looked at Google's APIs.

      God, I never thought I'd see the day when we would be considered cool! Just laugh smugly and enjoy being cool instead of being a wannabe.

      That said, sometimes I say stupid things here (probably a lot this week, I've had the flu and it's affected my mental faculties).

    22. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      i think i expressed myself wrong...
      i mean that things like java are always oversimplifying programming, and there are a lot of people just cant understand things that are so simple because they are used with drag'n'drop interface, and they call themselves programmers...

    23. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      I concur with your concurral. I have no idea what a RESTful application is (never programmed one), but this API seems straightforward enough. It's also well documented, it has examples, etc. Perhaps the OP would enjoy a line of work that involves shovels and dirt.

    24. Re:Hint: "For Developers" Means "For Developers" by TooMuchToDo · · Score: 1

      If the API is identical, Google could create significant pricing pressure on S3, as I'm sure GOOG has *a lot* more spare disk space lying around.

    25. Re:Hint: "For Developers" Means "For Developers" by fusiongyro · · Score: 4, Informative

      Granted, this story is grandstanding. But still, this is what you have to do to copy from the article:

      • "Create source and destination URIs."
      • "Create new destination URI with the source object name as the destination object name." (clone_replace_name)
      • "Create a new destination key object."
      • "Retrieve the source key and create a source key object."
      • "Create a temporary file to hold our copy operation."
      • "Copy the file."

      That seems like a lot of steps, and a couple of them seem very strange to me, namely the clone_replace_name.

      I agree that complex tasks require complex APIs. I just don't see why this is such a complex task. We're not using SSL, namespaces or storing a gigantic file here, and I don't see any reason why those features should make the process that much harder. If you want to store large data in the cloud, why should it be so much harder than storing data on a regular filesystem? You don't have "namespaces" on the filesystem, just folders and they just work. SSL "just works." Large files are not intrinsically different from small files. There aren't any ACLs in this example. Where's the complexity? Shouldn't simple things be simple?

      The answer is because the cloud is ultimately about marketing and selling expensive crap to enterprises that don't need it, so a burdensome API is just another way of making things that should be cheap more expensive. Expensive developers up on their marketing will get to charge 5x as much because it will take them 5x as much work to do simple things. "Everyone wins."

    26. Re:Hint: "For Developers" Means "For Developers" by negRo_slim · · Score: 1

      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".

      /agreed

      People would rather talk about eCiggerettes than eLectronics these days on slashdot.

      --
      On the Oregon Cost born and raised, On the beach is where I spent most of my days
    27. Re:Hint: "For Developers" Means "For Developers" by Lunix+Nutcase · · Score: 4, Funny

      Perhaps the OP would enjoy a line of work that involves shovels and dirt.

      Yeah, but shovels are too complicated an unintuitive. I mean it would probably take theodp hours to figure out which end he is supposed to hold and which end goes into the dirt.

    28. Re:Hint: "For Developers" Means "For Developers" by Yvan256 · · Score: 4, Funny

      To the shopmobile!

    29. Re:Hint: "For Developers" Means "For Developers" by LOLLinux · · Score: 0, Flamebait

      i mean that things like java are always oversimplifying programming, and there are a lot of people just cant understand things that are so simple because they are used with drag'n'drop interface, and they call themselves programmers...

      The vast majority of Java programmers do server-side programming where there is no drag'n'drop interface so wtf are you talking about? Or are you one of those people who pretends to be a hardcore coder and bleats on about the manliness of C when you can't write anything beyond a basic Hello World program?

    30. Re:Hint: "For Developers" Means "For Developers" by lgw · · Score: 1, Insightful

      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".

      --
      Socialism: a lie told by totalitarians and believed by fools.
    31. Re:Hint: "For Developers" Means "For Developers" by Hurricane78 · · Score: 1

      Using a computer is hard! Let’s go shopping!

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    32. Re:Hint: "For Developers" Means "For Developers" by fuzzyfuzzyfungus · · Score: 2, Insightful

      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.

    33. Re:Hint: "For Developers" Means "For Developers" by masmullin · · Score: 4, Funny

      What? Shopping is way more difficult than coding!

    34. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      Doesn't anybody teach KISS anymore? Your comment "API stands for Application Programming Interface is not supposed to be user-friendly." is wrong on so many levels.

    35. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      This a thousand times.

      Developers who use it should know how to use it.
      If they don't, they should get back to doing some of that studying they missed out on, especially since this is a very efficient system.
      And the documentation is all there as you mentioned, decent documentation at that. Decent documentation is becoming rarer each decade it seems... (especially error messages!!)

      In fact, even from my fairly short (several minutes) lookover of the API, it sounds pretty sensible to me. It is a decently structured API. Just the usual command-style interfacerymajigs.
      I think i might need to look some more in to this. I had been waiting for something like this from Google sooner or later with the whole "Google Drive" rumors that have been going around for the past year or so.

    36. Re:Hint: "For Developers" Means "For Developers" by jellomizer · · Score: 1

      I think a lot of geeks don't understand when someone says something is needlessly hard, it doesn't mean they don't know how to do it or they can't. They mean there should/are exists easier ways to do the same tasks easier. When you do something over and over again, it becomes easy. So even the worst possible interface becomes easy once you get use to it... However most of the time you are learning how to do it the hard way by habit, you get threatened by an easier way.

      Just because things are easier it doesn't mean they are any less useful, they are just better designed for the purpose they were designed for. I have a leather-man tool, I can do a lot of things with it. However while it does the job it doesn't replace having real versions of those tools... As using a screwdriver is much easier then a leather-man screwdriver. Often they can get the job done just as well, however one will be a bit easier to implement.

      The same thing with software we get all emotional about it but all in all it is just a tool. Sometimes people try to make the tool too general purpose and keep its full power and creates something that is too hard to be useful. I think in terms of this Google API they marketed it as something easier then it actually is, and tried to make it a tool for things that really isn't a good fit for it.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    37. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      Slashdot is so non-technical these days it's a complete fucking joke. Ignorance just spews on anything even remotely related to software development.

      There's plenty of knowledge flying around here, but it gets drowned out by garbage. Suggested code of conduct:
      1. Only comment on topics that you have expertise in.
      2. Only moderate on topics that you have expertise in.
      3. Stick to the technical discussion - politics are the new Godwin.

    38. Re:Hint: "For Developers" Means "For Developers" by ctsupafly · · Score: 1

      To me it seems like people would rather piss & moan about what stories people post rather than ignoring the bad ones & devoting attention to the good ones.

    39. Re:Hint: "For Developers" Means "For Developers" by sharkey · · Score: 1

      There's something wrong with what my Stacy says:
      *pulls string* "My Spidey-sense is tingling. Anyone call for a web-slinger?"

      --

      --
      "Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
    40. Re:Hint: "For Developers" Means "For Developers" by fusiongyro · · Score: 1

      It only takes one step to copy a file in DOS.

    41. Re:Hint: "For Developers" Means "For Developers" by bmo · · Score: 1

      After clicking through the links, I'm going to have to agree with you 100%.

      The summary as written by theodp seems trollish, and makes one wonder what axe he's grinding here.

      I like simple. But simple only goes so far until you need something more robust. Scissors are simple. But they won't cut down a tree without significant time, effort, and insanity.

      I'm not familiar with these APIs, but skimming the text, I know I could comprehend the concepts of dealing with data in the "cloud' if I decided I needed to. My thing right now is rexx, bash, tcl, and manipulating stuff locally, not in "the cloud" (gawd I hate that term).

      Last I checked, Joe User isn't interested in coding anything, or even typing logical operators in a dialog box, so it doesn't matter how simple the API is, he's going to bother with it. So let's keep the complex and powerful APIs and let the trolls and malcontents whine.

      --
      BMO

    42. Re:Hint: "For Developers" Means "For Developers" by Hognoxious · · Score: 2, Insightful

      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.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    43. Re:Hint: "For Developers" Means "For Developers" by Your.Master · · Score: 1

      What you're saying in the first paragraph and all over the place in this article's comments is true but is so pedantic as to add nothing to the discussion.

      There are relevant differences between users who are domain-experts (developers) and users who are not. I've even heard the latter form a user referred to as "humans" before, which if taken too literally makes the contrasting set seem even worse by comparison.

    44. Re:Hint: "For Developers" Means "For Developers" by Hognoxious · · Score: 1

      Code is a form of human computer interaction; it's the most detailed, powerful, intimate way for the human to tell the computer what to do.

      What's far too commonly overlooked is that it's also a human to human communication.

       

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    45. Re:Hint: "For Developers" Means "For Developers" by zacronos · · Score: 1

      Noise on load? For me, you have to click the "Insert Coin" button before it makes any noise. Maybe you saw it earlier today and it's already been fixed.

    46. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      re: your suggestions

      1. So now we are going to rely on a poster's self-assessment? Wait, we do that already.
      2. So now we are going to rely on a moderator's self-assessment? Wait, we do that already.
      3. Politics are being leveraged to exterminate industry participation from groups too small to participate in the M.A.D.Patent build-up. In the U.S.A., small innovators are in a trough similar to the Jewish situation immediately prior to the wholesale imprisonment and extermination performed by the Nazis... ie: interested parties can see something horrific coming, but a sense of disbelief prevents the majority of affected individuals from moving to action.

      The enforcement of IP laws according to current conventions will assure an increasing antagonism toward the voters that elect officials with egregious IP protection views; most of those voters will never understand concept one about these regulations, but they will eventually be looked upon as a never ending supply of fair-game soft-targets due to the arrogance of their vote-casting from a state of willful ignorance. This will result in an increase of both electronic and direct violence against civilians as purveyors of new ideas will be forced into corporate servitude, into the underground, or into unemployment as the cost of participating in the process of legally sanctioned innovation and marketing morphs into a slave trading agreement between the established players...

      Internal data loss, targeted infiltrations against politically active but technologically inept individuals, and acts of physical violence against industry lobbyists will hit all time highs as fatalism and hatred overtake the individuals that formerly drove innovation through grass roots networks and individual effort.

      And you want to talk about what instead?

    47. Re:Hint: "For Developers" Means "For Developers" by spazdor · · Score: 1

      Apparently kdawson knows how.

      --
      DRM: Terminator crops for your mind!
    48. Re:Hint: "For Developers" Means "For Developers" by Quantumplation · · Score: 1

      If you sit there for about 10 seconds, it auto-activates.

    49. Re:Hint: "For Developers" Means "For Developers" by SanityInAnarchy · · Score: 1

      I saw it just now, and it starts on its own after awhile.

      What I don't get is how they're doing it. I can't find an audio tag on that page, or any indication of Flash or any other plugin.

      --
      Don't thank God, thank a doctor!
    50. Re:Hint: "For Developers" Means "For Developers" by SanityInAnarchy · · Score: 1

      Really? Or is it because someone's already written the 'copy' utility for you?

      I can't speak for DOS (or NT, which is what you're probably talking about), but I know that on Unix, there's (unfortunately) no "copy" system call. The 'cp' utility is thus fairly complex -- it has to copy the file, and its permissions, and anything else relevant, all by itself. The code for this is almost certainly much more complex than the sample code given.

      But hey, if you want to work at a higher level, go for it! I'm sure someone has already written a library that hides all that complexity from you.

      --
      Don't thank God, thank a doctor!
    51. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      How do you mean? Look up the code off all the computer components, put them in the online basket. and enjoy the soon to be made delivery filled with computer goodness. Or, if you want you can decided to challenge the big fireball in the skies and venture outside.

    52. Re:Hint: "For Developers" Means "For Developers" by blair1q · · Score: 1

      Their Usenet newsreader sucks.

      Therefore, "too smart for their own good" is an illogical conclusion.

    53. Re:Hint: "For Developers" Means "For Developers" by jc42 · · Score: 1

      These days, anybody who knows that you make your computer stop by clicking "start" thinks (s)he's a nerd, even if they couldn't copy a file without a GUI, let alone have ever heard of Linux or BSD or any other non-Microsoft OS (which these days actually have GUIs).

      Picky correction: The MS OSs weren't the first to have a GUI. They were effectively the last. GUIs date from the early 1970s, and were developed by people who weren't using a MS OS. The reason for this was simple: Building a usable GUI requires a lot of low-level knowledge of how the OS interfaces to the hardware, and MS treated most of that knowledge as proprietary. Outside of MS's development labs, developers working on other OSs, especially Real-Time OSs and the unixes, had the best-documented the low-level stuff, so they got GUIs working fairly early, and did a lot of experimenting with them. When they had something that worked well enough for non-tech users, MS finally decided to copy them and built its own GUI.

      Try googling for "Xerox PARC". Their Alto PC was built in 1973, six years before Microsoft's founding, and it had a GUI that had the basics of the current commercial GUIs. Apple was also founded in 1979, and their first Lisa machine had a GUI, years before anyone as MS was working on such things.

      It's a bit annoying for people to give Microsoft credit for things that were developed by others, and them copied by MS when they started to sell. I'm sure others here can give many examples.

      (This isn't really a criticism of MS; it's the way that the commercial world mostly works. You let the scientists, engineers and tinkerers come up with new ideas, watch them, and either buy or steal the ideas that look like they have commercial potential. It's how you'd expect a successful corporation to work, and it's mostly how they do work. The criticism is with people getting the history wrong, ignoring the actual innovators, and giving credit to a company with marketing clout.)

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    54. Re:Hint: "For Developers" Means "For Developers" by clone53421 · · Score: 1

      Just call a spade a shovel, that’s what I always say...

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    55. Re:Hint: "For Developers" Means "For Developers" by clone53421 · · Score: 1
      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    56. Re:Hint: "For Developers" Means "For Developers" by Mr.+Slippery · · Score: 1

      What I don't get is how they're doing it. I can't find an audio tag on that page, or any indication of Flash or any other plugin.

      Right-click, View Page Info, Media: http://www.google.com/logos/swf/pacman10-hp-sound.swf. Though this only loads when the game starts.

      The game itself is Javascript.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    57. Re:Hint: "For Developers" Means "For Developers" by clone53421 · · Score: 1

      Oh really?

      Not ready error reading drive A
      Abort, Retry Fail? _

      Overwrite destfile.txt? (Yes/No/All): _

      Etc.

      It only takes one step because they wrapped it all up in a nice little function that makes some assumptions and attempts a typical copy... anything out-of-the-ordinary requires it to come back to you for more information.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    58. Re:Hint: "For Developers" Means "For Developers" by jc42 · · Score: 1

      It only takes one step to copy a file in DOS.

      Ah, so DOS has a copy(file1,file2) system call, which is implemented via a single opcode? I did not know that.

      So what's the opcode? I'd guess that such a system call could be added to other OSs in minutes, if we knew the secret opcode that does it in one step.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    59. Re:Hint: "For Developers" Means "For Developers" by RobDude · · Score: 1

      It's including a javascript file called pacman.
      http://www.google.com/logos/js/pacman10-hp.2.js

      Inside the javascript file you can search for .swf and find
      param name="movie" value="logos/swf/pacman10-hp-sound.swf"

    60. Re:Hint: "For Developers" Means "For Developers" by RobDude · · Score: 3, Insightful

      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.

    61. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      Did you even read the api documentation? As the poster mentioned, the API sucks.

      You have to:
      src_uri = boto.storage_uri(name, "file")
          dst_uri = boto.storage_uri(bucket_name, "gs")

          "Create a new destination URI with the source file name as the object name."
          new_dst_uri = dst_uri.clone_replace_name(src_uri.object_name)

          "Create a new destination key object."
          dst_key = new_dst_uri.new_key()

          "Retrieve the source key and create a source key object."
          src_key = src_uri.get_key()

          "Create a temporary file to hold your copy operation."
          tmp = tempfile.TemporaryFile()
          src_key.get_file(tmp)
          tmp.seek(0)

          "Upload the file."
          dst_key.set_contents_from_file(tmp)

      just to upload a file... really now.

      We have to copy to a temp file first? We have to explicitly seek(0) on the temp file before uploading? Isn't there an easier (single step operation) to specify the destination for the file? Why does the developer have to get the key from the uri and use the key to set the file / why can't all of this just be done through the URI?

    62. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      I mean it would probably take theodp hours to figure out which end he is supposed to hold and which end goes into the dirt.

      Oh, *into* the dirt. Right, that works much better now.

    63. Re:Hint: "For Developers" Means "For Developers" by 42forty-two42 · · Score: 1

      To be fair, the Boto API was not designed by Google - Google basically cloned the Amazon S3 REST API (since there are plenty of third-party libraries for it already), then made the minimal adaptations to Boto needed for it to be able to connect to Google's service as well. Precisely none of the API there is then of Google's design; they're just using what's turning out to be something of a de facto standard.

    64. Re:Hint: "For Developers" Means "For Developers" by Stregano · · Score: 1

      Now I feel even more like a nerd since I go all of my shopping, outside of grocery shopping, online.

      --
      The world is how you make it
    65. Re:Hint: "For Developers" Means "For Developers" by cOldhandle · · Score: 1

      Coding is hard! Let's go shopping!

      Someone, please draw a cartoon of this so I can print it out and gaze at it frequently when programming...

    66. Re:Hint: "For Developers" Means "For Developers" by Joe+Tie. · · Score: 1

      It either hits the "math is hard!" crowd, or goes in the other direction of "We're old geeks, new things are scary!" The middle ground of actual nerds/geeks, the people who like being challenged by new things, seems to shrink more and more.

      --
      Everything will be taken away from you.
    67. Re:Hint: "For Developers" Means "For Developers" by zero0ne · · Score: 1

      Ignoring the fact that your typical developer who is a Google fan would already know about this, it was still a worthwhile post if only to let others know about the new service they are offering.

    68. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      So how is that any worse than in c (please ignore any syntax errors):

      #define copy_file(from_file, to_file, temp) {while(!feof(from_file)) { \
      temp = (char)fgetc(from_file); \
      fwrite((void *)&temp, sizeof(temp), 1, to_file);}}

      #define SOURCE_URI "original_file.txt"
      #define DESTINATION_URI "new_file.txt"

      char i;
      FILE *from_file;
      FILE *to_file;

      from_file = fopen(SOURCE_URI, "r");
      to_file = fopen(DESTINATION_URI, "w");

      copy_file(from_file, to_file, i);

      fclose(from_file);
      fclose(to_file);

    69. Re:Hint: "For Developers" Means "For Developers" by fusiongyro · · Score: 1

      For one thing, I'm using Python in that example. If everybody had to do the same steps in Python as they did in C, nobody would be using Python.

    70. Re:Hint: "For Developers" Means "For Developers" by dangitman · · Score: 1

      What? Shopping is way more difficult than coding!

      Yeah, you have to put on your MuuMuu, get in your assisted mobility vehicle and endure sunlight! No thanks.

      --
      ... and then they built the supercollider.
    71. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      Think before you criticize. If you want to copy a file from server A to server B, do you expect server A to talk to server B and do everything in a single operation? That's nuts, those servers can't read your mind. Conceptually, the only reasonable thing to do is to download the file from server A to a local copy on your client, then upload that copy to server B.

    72. Re:Hint: "For Developers" Means "For Developers" by VTI9600 · · Score: 1

      Yeah! And every time I click on a Youtube link I shake my fist in the air and say "Shut up you damn kids" too!

    73. Re:Hint: "For Developers" Means "For Developers" by BlackHawk-666 · · Score: 1

      Perhaps you could use System e.g.

      System ("copy file1 file2");

      They put a system call in there for a reason.

      --
      All those moments will be lost in time, like tears in rain.
    74. Re:Hint: "For Developers" Means "For Developers" by rdnetto · · Score: 1

      Maybe we should introduce some sort of 'nerd/geek grade' as part of the profile then? A numeric score displayed next to the user ID that would indicate how much of a geek one is, and possibly have a bearing on the initial score of posts.
      The score could be determined from a short quiz/test, which would span numerous fields. The only caveat would be that you couldn't include too many questions about older technology - a lot of younger geeks (myself included) weren't even around when the Amiga first came out.

      --
      Most human behaviour can be explained in terms of identity.
    75. Re:Hint: "For Developers" Means "For Developers" by janerules · · Score: 1

      I totally agree. I can't even lick the knees of most real nerds, even though I can understand about 95% of this stuff.

    76. Re:Hint: "For Developers" Means "For Developers" by mcgrew · · Score: 1

      I never claimed they had the first GUI, I was in fact commenting on those who wouldn't know what to do without a GUI, as well as the absurdity of clicking "start" to stop.

    77. Re:Hint: "For Developers" Means "For Developers" by mcgrew · · Score: 1

      You hit the implimentation problem there. Many young nerds have never read Heinlein or Asimov, I just recently discovered Pratchett, but many wannabes don't read anything but the internet (how can one not read books and still be a nerd?). A math PHD may know little about astronomy, let alone how to hack hardware. Slashdot's achievements page may be the best metric; stupid comments get modded down, insightful/interesting/informative comments get +5s.

    78. Re:Hint: "For Developers" Means "For Developers" by PastaLover · · Score: 1

      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.

      I've had a few beers but the API looked wholly sensible to me. Depending on what you're doing I'd say a weekend might even be on the high end of the estimate.

      But then I do have a comp sci degree, so maybe that's just the edumacation talking. Not that it made me a good coder, mind you.

    79. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      If you think *this* API is overcomplicated, you should do two things:

      - quit your job and let someone who's not a fucktard have it.

      - take a gander at the Win32 API, which is similar to this in the sense that slamming your dick in a car door is like getting a paper cut.

    80. Re:Hint: "For Developers" Means "For Developers" by juanjux · · Score: 1

      I also doesn't find this particular API hard or convoluted. But there is some boilerplate (new_key(), get_key(), etc) here that could be simplified with higher level functions.

    81. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      I haven't looked at this api yet, but I do agree that some of their other apis are way over engineered.

    82. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      How the hell is this considered Insightful?! It doesn't even make SENSE!

    83. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      for it's purpose

      "its".

    84. Re:Hint: "For Developers" Means "For Developers" by Anonymous Coward · · Score: 0

      I agree that complex tasks require complex APIs. I just don't see why this is such a complex task.

      Here's a quick reason why you most likely don't understand why it's a complex task: You didn't implement it. Seriously.

      People keep thinking Google's infrastructure is easy to write and maintain -- I'm sorry, it's one of the most complex systems I've ever seen, and for what it does (geosynchronous replication, etc.) what you've listed for copying is most likely the simplest it can get. Remember, you're talking about writing data to zillions of machines -- that is absolutely NOT an atomic operation. As a result, the steps needed to do such at thing are far more complex than the usual "cp" command at a UNIX shell prompt.

  2. If everyone was supposed to understand it... by Low+Ranked+Craig · · Score: 5, Insightful

    They wouldn't call it code.

    --
    I still cannot find the droids I am looking for...
    1. Re:If everyone was supposed to understand it... by Sockatume · · Score: 4, Funny

      The da Vinci Code begs to differ.

      --
      No kidding!!! What do you say at this point?
    2. Re:If everyone was supposed to understand it... by Volante3192 · · Score: 1

      I don't consider that a counter-example. I can't understand anything about that.

    3. Re:If everyone was supposed to understand it... by Spaham · · Score: 1

      just to add some pedantry to your joke
      code doesn't mean cypher, it just means that it's a set of rules as to how you're supposed to write things (in this case). (I tried not to use codify in my definition)...

    4. Re:If everyone was supposed to understand it... by Anonymous Coward · · Score: 5, Funny

      The da Vinci Code begs to differ.

      I still don't understand why anyone would want to read it. Does that count?

    5. Re:If everyone was supposed to understand it... by Phics · · Score: 1

      ...straightforward, simple-to-use programming interfaces for ordinary humans?

      I think the problem here is there are a lot of people who fancy themselves programmers because they managed to complete the "Hello world!" tutorial in VB, and now they want to write software which writes itself. theodp clearly seems to know that this is a programming interface, (as per the above quote), but is inferring that it should be designed so that every Johnny-come-lately who can tell a turtle where to go should be able to sit down and make use of it intuitively. Which raises the question: Is Bell Helicopter with 'world-class engineering skills' capable of producing straightforward, simple-to-use helicopter interfaces for ordinary humans? Like your mom?

      --
      There are two types of people in the world; those who believe there are two types of people, and those who don't.
    6. Re:If everyone was supposed to understand it... by clone53421 · · Score: 1

      a set of rules as to how you're supposed to write things

      So are English, German, Spanish, Chinese, Japanese, Navajo, Greek, Hebrew, Arabic... and how many people can write in more than a couple of those? How many Americans can write in more than one of them? For that matter, how many Americans can write correctly, legibly, and coherently in their own native language?

      My point is, it takes some work to learn a new language (or code). Not everyone can do it, and not everyone wants to.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    7. Re:If everyone was supposed to understand it... by Bakkster · · Score: 1

      The da Vinci Code begs to differ.

      Sorry, but we're talking about things that are real, here.

      --
      Write your representatives! Repeal the 2nd Law of Thermodynamics!
    8. Re:If everyone was supposed to understand it... by Hurricane78 · · Score: 1

      It’s not your fault. There is nothing to understand in there in the first place. :)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    9. Re:If everyone was supposed to understand it... by Hognoxious · · Score: 2, Funny

      I've never programmed in da Vinci, but are you saying it only supports integer arithmetic?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    10. Re:If everyone was supposed to understand it... by Stregano · · Score: 1

      Dude, that movie sucked.

      --
      The world is how you make it
    11. Re:If everyone was supposed to understand it... by Razalhague · · Score: 1

      Doesn't anyone read anymore? Not that the book was any good either, but still...

  3. Huh? by decipher_saint · · Score: 1

    Soooo, like, some software is hard to use?

    Maybe it's the pills I'm on, maybe it's the lack of caffeine, but could someone maybe explain the point of this article to me?

    --
    crazy dynamite monkey
    1. Re:Huh? by Anonymous Coward · · Score: 5, Funny

      We didn't have a Google story for over two hours, so we had to post what was available.

    2. Re:Huh? by Rogerborg · · Score: 1

      could someone maybe explain the point of this article to me?

      The point of this article is to get us to read it, thereby serving more adverts and keeping taco, kdawson and the rest of the editards well supplied with money for booze, hookers and blackjack. It seems to be working out pretty well for them.

      --
      If you were blocking sigs, you wouldn't have to read this.
    3. Re:Huh? by masmullin · · Score: 1

      I use launchpad + bzr because its easy. Unless this google thing is easier I'll happily stay where I am.

    4. Re:Huh? by Hurricane78 · · Score: 2

      So the half-hourly Apple story was already done? ;)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    5. Re:Huh? by edittard · · Score: 1

      keeping taco, kdawson and the rest of the editards well supplied with money for booze, hookers and blackjack

      If only that were true...

      --
      At the bottom of the /. main page it says 'Yesterday's News'. Well they got that right.
  4. Simple Interface from Google? by Ksevio · · Score: 0, Troll

    I've always thought Google was known for their simple to use interfaces. Just look at their home page or Gmail for a couple examples. Even on a lot of their other services like custom search engines and Google Analytics they have a UI that's simple to use. Sure some of their things start out a little rocky for developers, but that's the case for most services. Given time they'll improve.

    1. Re:Simple Interface from Google? by Low+Ranked+Craig · · Score: 4, Insightful

      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 still cannot find the droids I am looking for...
    2. Re:Simple Interface from Google? by The+Flymaster · · Score: 0, Troll

      This simply isn't correct. An API is the very epitome of a UI. When a company releases code to their customer, that they intend for their customer to USE, that customer is the User. And the interface to that code, the API, is the User Interface. It must be designed well, and must be usable. That said, I agree with the general idea that this particular API is well designed.

    3. Re:Simple Interface from Google? by clone53421 · · Score: 1

      API = Application Programming Interface
      UI = User Interface

      I think you’re confusing “Application Programmers” with “Users”.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    4. Re:Simple Interface from Google? by The+Flymaster · · Score: 1

      They ARE the users of the piece of code that Google has released. And Google has every reason to want to make their code understandable, usable, and clear. I believe that in this case they have done so, but to claim that application programmers aren't "users" of library code is just bizarre and illogical. The only interface to this code is the API. The only users of that API are the application programmers. UI != GUI.

    5. Re:Simple Interface from Google? by masmullin · · Score: 1

      If the API CAN be simpler it SHOULD be simpler.

    6. Re:Simple Interface from Google? by thoughtsatthemoment · · Score: 1

      Whoever modded this troll is a troll.

    7. Re:Simple Interface from Google? by Low+Ranked+Craig · · Score: 1

      Absolutely. However, that does not mean that an API HAS to be simple to be good.

      --
      I still cannot find the droids I am looking for...
    8. Re:Simple Interface from Google? by Low+Ranked+Craig · · Score: 1

      This isn't correct. a UI is a human / machine interface. An API is a machine / machine interface which is implemented by a human. The documentation for the API is more properly compared to UI.

      --
      I still cannot find the droids I am looking for...
    9. Re:Simple Interface from Google? by clone53421 · · Score: 2, Insightful

      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.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    10. Re:Simple Interface from Google? by The+Flymaster · · Score: 1

      In fairness, I think they did it because I've disagreed with multiple people on this story. I guess it's almost vaguely trollish, but I think they just disliked my argument.

    11. Re:Simple Interface from Google? by thoughtsatthemoment · · Score: 1

      There is a difference between user and end user. So that's a valid argument, even if you admit you were trolling, at least vaguely.

    12. Re:Simple Interface from Google? by The+Flymaster · · Score: 1

      Well, I'm not saying I WAS trolling. I was arguing completely intellectually honestly. But I could see why someone might misinterpret.

    13. Re:Simple Interface from Google? by thoughtsatthemoment · · Score: 1

      Be careful with those -ly(s). That looks suspicious.

    14. Re:Simple Interface from Google? by mdielmann · · Score: 1

      Agreed. To quote Einstein, "Everything should be made as simple as possible, but not simpler."

      --
      Sure I'm paranoid, but am I paranoid enough?
    15. Re:Simple Interface from Google? by Estanislao+Mart�nez · · Score: 1

      This isn't correct. a UI is a human / machine interface. An API is a machine / machine interface which is implemented by a human. The documentation for the API is more properly compared to UI.

      No, the abstractions and conceptual models used by an API to make itself understandable to programmers are perfectly analogous to a UI in the narrow sense you're insisting. The machine doesn't care what abstractions the API uses to make problem solving easier for developers.

    16. Re:Simple Interface from Google? by shutdown+-p+now · · Score: 1

      Paper mills aren't people. Developers are people. Every single bit that is applicable to user-centric design of UIs is equally applicable to user-centric design of APIs. Of course, you have to account for differences in qualifications etc - developers are expected to understand certain things in advance, have better analytical thinking, etc - but the basic principles are all the same.

      When you forgo that, you get something like early Win32 APIs.

    17. Re:Simple Interface from Google? by clone53421 · · Score: 1

      Of course, you have to account for differences in qualifications etc - developers are expected to understand certain things in advance, have better analytical thinking, etc

      That’s exactly what I was trying to point out. See also here.

      Low Ranked Craig put it pretty well, actually.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    18. Re:Simple Interface from Google? by FuckingNickName · · Score: 1

      I couldn't agree more with your posts. Every second rate developer today is so fucking happy that he is riding the New Wave[tm] of hired mainframe^W^Wcloud computing that he will do anything to sing praise for its convoluted bullshit. Our new profession has become just another conspiracy against the laity, and none more than Google likes to act as the provider of/gatekeeper to such exclusive brilliance.

      Xerox had it right in the '70s: the programming environment was just another part of the general UI. If a 10 year old kid couldn't cope with writing apps as easily as he could use apps, the environment was a failure. If the API wasn't intuitive as the rest of the UI was intuitive, the environment was a failure. But Google would never dream of Xerox's level of code openness and simplicity because it makes its money from secrecy of its information and promiscuity of yours. Google would be nothing if it didn't jealously guard its AdWords, PageRank, distributed storage, etc. algorithms; it would be nothing if you didn't give so much information to Google while expecting none of Google's information in return. Remember, you're just too stupid to understand it anyway.

      Hm, Google and Apple really need to merge... although at least Apple fanboys tend to like what Apple provides rather than what Apple merely promises. I practically fell over laughing when I saw Amazon S3's pricing, especially having found out first and second hand just how reliable their cloud really isn't - what is the appeal of this rubbish? No, I think I understand it: developers don't understand how to build a system themselves, but no-one ever got fired from buying from the large corporation, so you shift the blame to them... and then, when you're implicitly admitting to ignorance and the need to outsource, you're ostensibly claiming how smart you are that you understand how to call a web service.

  5. Methinks it may be the converse by Anonymous Coward · · Score: 0

    Anyone can make complicated (and not so complicated) things look even more complicated. The top programmer is the one who makes complicated things look simple.

  6. It's just not for regular users by kikito · · Score: 5, Insightful

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

    1. Re:It's just not for regular users by Jorl17 · · Score: 1

      This isn't just "funny", it's actually insightful -- if you get the true meaning. Either that or I'm imagining things.

      --
      Have you heard about SoylentNews?
    2. Re:It's just not for regular users by Anonymous Coward · · Score: 0

      You must write enterprise applications.

  7. Yes by Dunbal · · Score: 4, Funny

    Whatever happened to simple interfaces, like:

    "Would you like to play Global Thermonuclear War? [YES|NO]"

    --
    Seven puppies were harmed during the making of this post.
    1. Re:Yes by Krau+Ming · · Score: 0

      gimme a Y, gimme an E...what a sec...hello there, Miss Doesn't-find-me-sexually-attractive-anymore. I just tripled my productivity.

    2. Re:Yes by raddan · · Score: 1

      Good point. Maybe theodp would be satisfied if we reduced Google's new API to a series of yes/no questions. I assure you that it can be done.

    3. Re:Yes by hvm2hvm · · Score: 1

      well yeah, the code would probably look similar to the one on a turing machine with a binary tape. You can have N operations on M pieces of data and every time just ask something like "run operation number 0? y/n" "run opeartion number 1? y/n" ... then "run it on 0 pieces of data? y/n" ... then "for parameter 1 use piece number 0? y/n" ... etc

      it will take days to compile and years to run but it will work

      --
      ics
    4. Re:Yes by Anonymous Coward · · Score: 0

      Whatever happened to simple interfaces, like:

      "Would you like to play Global Thermonuclear War? [YES|NO]"

      Text-based interfaces have always been the cleanest and simplest. All the GUI-stuff hides the simplicity behind curtains or obfuscation.

    5. Re:Yes by K.+S.+Kyosuke · · Score: 2, Funny

      Whatever happened to simple interfaces, like:

      "Would you like to play Global Thermonuclear War? [YES|NO]"

      Today, only president's suitcases have such a simple interface. Everyone else is supposed to find their way in Vista's redesigned Control Panel.

      --
      Ezekiel 23:20
    6. Re:Yes by dannys42 · · Score: 1

      Yeah, but then you'd have Prolog.

      And as bad as web programming is to me, Prolog seems worse.

    7. Re:Yes by hedwards · · Score: 1

      Vista is the UI for that? Well, we're safe now. Or is that completely screwed? Hmm, I guess whatever we are it's totally that now.

  8. That API looks fine to me by Improv · · Score: 2, Interesting

    The only nonintuitive thing is the name "bucket", which might be better called "zone" or "filesystem". Other than that, it looks like it provides just about what I'd expect of a high-level filesystem representation.

    Sheesh, just think about what the complaints would be if they provided something closer to VFS-type mappings so people ended up commonly rewriting half of FUSE to get their data where they like.

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
    1. Re:That API looks fine to me by Chrisq · · Score: 1

      The only nonintuitive thing is the name "bucket"

      That's what kdawson said when he read the api spec. Or was it fuck-it?

    2. Re:That API looks fine to me by RetroRichie · · Score: 1

      I agree. In fact, this looks very similar to the Amazon API which I think is fairly straight forward. People that don't understand how to use this will all migrate toward a UI anyway--someone will build one that serves basic file functions.

    3. Re:That API looks fine to me by volsung · · Score: 1

      I assume they used the word "bucket," because that's what Amazon calls the same abstraction in S3. And that's really the target audience for this storage system: developers who are currently using Amazon S3 or are familiar with it. The idiot complaining about this API is angry that he went to a hardware store and didn't find the pipes already in the shape of his sprinkler system, possibly because he doesn't know what a hardware store is.

    4. Re:That API looks fine to me by NatasRevol · · Score: 1

      I think it was suck-it!

      Of course, that's what he says for *every* story he posts.

      --
      There are two types of people in the world: Those who crave closure
    5. Re:That API looks fine to me by Slashdot+Parent · · Score: 2, Informative

      I agree. In fact, this looks very similar to the Amazon API which I think is fairly straight forward.

      It's not similar to the Amazon S3 API... It IS the Amazon S3 API.

      The article submitter is simply (ahem) uninformed.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    6. Re:That API looks fine to me by Improv · · Score: 1

      Interesting. I haven't looked much at S3, and I was curious as to the origin of Google's terminology. Still, with APIs this nice, it doesn't look like it'd be hard to dive right into writing basic apps - kudos to Amazon for *not* doing what OP claims they did :)

      Do you know if Google's APIs are exactly identical or just similar in spirit to Amazon's? Source-compatibility would be pretty nice.

      --
      For every problem, there is at least one solution that is simple, neat, and wrong.
    7. Re:That API looks fine to me by DragonWriter · · Score: 3, Informative

      The only nonintuitive thing is the name "bucket", which might be better called "zone" or "filesystem".

      It might be better to call it "bucket", if one of your biggest target audiences was, say, developers already using and familiar with Amazon S3, a popular existing service in the same space that calls the same thing a "bucket" rather than a "zone" or "filesystem".

    8. Re:That API looks fine to me by shutdown+-p+now · · Score: 1

      "Bucket" is already the established name in this area. Reusing it is sensible, as more people know what it means already.

    9. Re:That API looks fine to me by Wovel · · Score: 1

      I do not believe they would be directly compatible but concepts would be similar and I am sure you could readily develop a library that would work well with both.

      The signing methods appear to be different. But I think if you learn one , you could easily adapt to the other. Neither API is particularly complicated to program to if you understand how to send a REST request.

    10. Re:That API looks fine to me by Wovel · · Score: 1

      Others have pointed out that google claims it is in fact compatible with existing S3 libraries, I am still on the waiting list so I can not verify it.

  9. API's user friendly? by guruevi · · Score: 1

    Since when does an API need to be user friendly? I found Google's documentation much more user friendly and straightforward than say Microsoft's .NET documentation on File I/O. It's not an end-user product. Just skimming over the contents of the linked sites, it seems very easy to use even if you're not an advanced programmer. If you don't understand what's on those websites after some thorough reading, please hand in your geek card.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:API's user friendly? by Anonymous Coward · · Score: 0

      If you are a developer writing programs using the API, you are a user of said API. As a developer I want the things I use to be easy to use. Now, was that so hard to understand for all those of you who keep insisting developer!=user?

      Or do you subscribe to the C/C++ school of "if it's not cryptic and hard to use enough, I won't look as 31337 when I use it"?

    2. Re:API's user friendly? by Lunix+Nutcase · · Score: 2, Insightful

      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.

    3. Re:API's user friendly? by Anonymous Coward · · Score: 0

      it's an api for a distributed, remote consistent file system, what you would expect? it's easier than the one in java.io, for one. if this is not simple enough for you, I guess you have to pay someone to build your lego.

  10. APIs are not written for end-users. by Delusion_ · · Score: 3, Insightful

    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.

    1. Re:APIs are not written for end-users. by bbtom · · Score: 1

      Google Charts API is complicated? On the rare occasion I use it, I have it abstracted away by a library. There's a pretty nice one in Ruby that I've used, and a few minutes Googling revealed libraries available for Java (javagooglechart), C#/.NET (googlechartsharp), Python (pygooglechart), Perl (Google::Chart on CPAN) etc.

      --
      catch (HumourFailureException e) { e.user.send("You, sir, are a humourless idiot."); }
  11. News Flash! by StCredZero · · Score: 1

    Something not understood by Slashdotter! Film at 11.

  12. Meanwhile, slashdot editors too dumb for own good by jaymz2k4 · · Score: 5, Insightful

    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

    --
    jaymz
  13. It isn't their design by igb · · Score: 4, Insightful

    As the documents point out, it's the same API used for Amazon EC3 and others. They're implementing someone else's protocol.

    1. Re:It isn't their design by SashaMan · · Score: 4, Insightful

      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.

    2. Re:It isn't their design by TooMuchToDo · · Score: 1

      Which, btw, is awesome. If you can poll via an API the current cost of storage at various providers, and transfer costs are cheap, you can move your data across the world between providers effortlessly (same API and all that Jazz).

    3. Re:It isn't their design by Slashdot+Parent · · Score: 1

      As the documents point out, it's the same API used for Amazon EC3[sic] and others. They're implementing someone else's protocol.

      I was wondering if that was going to be the case. Thanks for looking it up.

      If that's the case, then the already-mature S3 libraries, clients, and GUI front ends should work with it. That means the s3fox firefox extension for most end users, or j3tset for Java folks. Pretty much anything that comes up when you google 's3 client' ought to work.

      Good find!

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    4. Re:It isn't their design by kindbud · · Score: 2, Informative

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

      Both. The submitter is an idiot, and kdawson is a troll.

      --
      Edith Keeler Must Die
    5. Re:It isn't their design by zerocool^ · · Score: 1

      Granted, IIRC Eucalyptus was from reverse engineering Amazon S3's api, and is compatible on the front end but sucks hard on the back end...

      --
      sig?
    6. Re:It isn't their design by shutdown+-p+now · · Score: 1

      Some services shift the decision to the users. E.g. Jungle Disk lets you choose between Amazon and their own service, and you pay your own bills in case of Amazon, so you can just go for whatever is cheaper (or whichever you trust more).

    7. Re:It isn't their design by hedwards · · Score: 1

      Clearly they're not doing it right. You're supposed to extend the functionality after you implement it. It's not really interoperable if everybody else can use your data.

    8. Re:It isn't their design by sourcerror · · Score: 1

      Oh, those Chinese servers just can't wait to host your business-critical data.

  14. uh? Maybe I'm missing something..... by jabjoe · · Score: 1

    If this a storage system to be used as a filesystem, why does it need a API? Write a OS filesystem driver then everything can use it. Easy enough to do in userspace with FUSE on Linux/BSD/OSX and Dokan on Windows. Everything is a filesystem, and this really seams to be a filesystem, so make it a filesystem. But maybe I'm missing something here.....

    1. Re:uh? Maybe I'm missing something..... by vrai · · Score: 3, Informative

      But maybe I'm missing something here.....

      Yes you are. This is not a "storage system to be used as a filesystem" it's an implementation of the Amazon S3 interface that provides remote, redundant key/value storage (where the value in this case is a bucket of bytes). There's nothing to stop you implementing a file system on top of it; but the API provided by Google is at a lower level than that. Which is a good thing as a standard file system is not necessarily the best way to use this kind of storage.

    2. Re:uh? Maybe I'm missing something..... by Anonymous Coward · · Score: 0

      this really seams to be a filesystem, so make it a filesystem. But maybe I'm missing something here.....

      Yes, the job security of tens of thousands of developers employed to write enterprise code. A FUSE driver in C/C++ would be usable but my preference would still be FTP/SFTP.

    3. Re:uh? Maybe I'm missing something..... by jabjoe · · Score: 1

      Looks like there is already at least one implementation : http://code.google.com/p/s3fs/wiki/FuseOverAmazon

    4. Re:uh? Maybe I'm missing something..... by Anonymous Coward · · Score: 0

      yea this isn't meant to be used as a filesystem. this is to back web apps that need a large data store to stuff things into, and don't want to put it on the local fs on the server it's on, for whatever reason.

    5. Re:uh? Maybe I'm missing something..... by SanityInAnarchy · · Score: 1

      And that's going to have significant drawbacks. In particular, you're either going to give up plain HTTP access, or it's going to be absurdly slow, or you're going to have a buffer the size of the entire filesystem.

      --
      Don't thank God, thank a doctor!
    6. Re:uh? Maybe I'm missing something..... by rjstanford · · Score: 1

      Have you ever written an FTP client? Its about the least friendly protocol to just hack something together with.

      --
      You're special forces then? That's great! I just love your olympics!
  15. Re:Meanwhile, slashdot editors too dumb for own go by Anonymous Coward · · Score: 0

    They were expecting people not to read any of the linked resources and just take a jab at Google, arguing back and forth.

  16. Gmail and simple interface - just the search!? by Anonymous Coward · · Score: 0

    Since when did Gmail have a simple interface. It has a lot of features.... and they have been beating the folder thing to death (Gmail's lack of folders ..).. labels.. labels in labels... yes it is all good.. and hope it reaches somewhere.

    The only easy to use simple interface was for Google Search. With Bing's entry - Google seems to be hyperventilating and trying out the clumsy looking links on the left hand side.Android is not an easy interface... maybe it is compared to Motorola and Samsung phones... but that is like comparing stuff with the gunk at the bottom of the barrel.

    I love Google for a lot of things - but truthfully, they are no where compared to interface standouts like Apple, which make interfaces hide the complexity of the crap below.

    1. Re:Gmail and simple interface - just the search!? by blackraven14250 · · Score: 1

      Holy shit, you just called GMail a complicated interface? Despite it being nearly exactly the same as every single other webmail interface?

    2. Re:Gmail and simple interface - just the search!? by Anonymous Coward · · Score: 0

      Dude you are either blind or too googley. It has taken them forever to get here - Yahoo is still so much better in terms of webmail - oh and for crap - check out hotmail.

      Google's first pass at Gmail was remarkable only for one thing - the 10GB or 1GB of storage space they provided! Otherwise they have had a huge issue with adoption. Not because of the addresses but because they wanted to eliminate folders and stick to tagging each piece of mail. While behind the scenes they are similar, implementation has messed up the whole damn thing!

    3. Re:Gmail and simple interface - just the search!? by rcuhljr · · Score: 1

      Oh god don't mention yahoo mail as better then g-mail. It's search function randomly breaks. I mean it just stops searching. I submitted the bug to them and they basically said "Yeah that happens, we'll poke the database from the back end and see if it clears up." Now every time I search for something I have to wonder if what I'm looking for isn't there, or did my search break silently again? Even on the user interface side it's annoying, the what's new tab you can't close. If you accidentally shrink your preview frame it starts opening all mail in new tabs. It's just generally ugly and trying hard to be unintuitive as a webmail app can be.

    4. Re:Gmail and simple interface - just the search!? by clone53421 · · Score: 1

      You’re kidding, right?

      If you stick to one tag per e-mail, tags are functionally identical to folders. How is that so complicated?

      Plus, you can search through your e-mails with basically the same high-powered search that you use for Google web searches.

      To put the final nail in the coffin, I’ve found its spam filtering to be nearly bulletproof, and simultaneously being exceptionally good about not putting legit messages in the spam folder. I don’t even check it anymore.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    5. Re:Gmail and simple interface - just the search!? by Anonymous Coward · · Score: 0

      Lol, dude... you're clearly a fucking idiot. You probably wear velcro shoes because laces are "too complicated". LOL!

    6. Re:Gmail and simple interface - just the search!? by blackraven14250 · · Score: 1

      Oh wow. So you say "GMail is complicated" when you mean "When GMail was first introduced it was complicated, but now it's OK." You know, like every product that leaves BETA.

  17. Are you one of those types by Anonymous Coward · · Score: 5, Funny

    who flood developer-boards with questions that typically look like

    " Sir Sir please help sir I have project due sir I need full workking code by tomorrow sir" ??

    If so, you would expect everything to be point and click, I guess.

    1. Re:Are you one of those types by Anonymous Coward · · Score: 0

      "plz send teh codes", as they say on TDWTF

    2. Re:Are you one of those types by shutdown+-p+now · · Score: 1

      You forgot to start the subject line with "URGENT!!!!!'.

    3. Re:Are you one of those types by Wovel · · Score: 1

      I love you man!

  18. API is not a UI by BunnyClaws · · Score: 2, Interesting

    Just a quick FYI, API does not mean UI. I noticed some of the slashdotters were conflating the two.

    --
    "Anything tastes good if you deep fry it."
    1. Re:API is not a UI by wurp · · Score: 4, Funny

      Do you think anyone who would conflate API with UI will know what conflate means?

    2. Re:API is not a UI by The+Flymaster · · Score: 1, Troll

      No, an API certainly IS a UI. It is the INTERFACE that the USER of a product will USE to INTERFACE with the product. Usability is very, very important in API design.

    3. Re:API is not a UI by Sir_Lewk · · Score: 1

      Well, lets ask one such person and find out:

      Hey 'The Flymaster (112510)'! Do you know what 'conflate' means?

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
    4. Re:API is not a UI by mooingyak · · Score: 1

      Anyone caught conflating has to clean it up.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
    5. Re:API is not a UI by clone53421 · · Score: 2, Insightful

      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.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    6. Re:API is not a UI by Anonymous Coward · · Score: 0

      I though this was a family friendly website! Such language!

  19. Yes. Next question. by Sycraft-fu · · Score: 1

    Seriously, Google has a number of products with extremely simple, user friendly interfaces. Their search engine, you know, the reason that they are who they are, the reason that anyone knows about them, is a prime example. Type in what you want, it finds what you need. No special syntax needed, no complex logical operations to try and get results, just key in terms or phrases and you get good results.

    What kind of question is that?

    1. Re:Yes. Next question. by ZeroExistenZ · · Score: 1

      No special syntax needed, no complex logical operations to try and get results, just key in terms or phrases and you get good results.

      Haven't we been doing this since the early 90s?

      Hotbot
      yahoo
      askjeeves
      altavista
      ...

      It's because you have more control no your searches ('filetype:jpg',...) with relevant results and hat made google what it is, is "unintrusive and related advertizing". It used to be about the "most flashy", "most blinky", "largest", "impossible to click away" and what have you.

      (Before popupblockers, oh lord.. you couldn't surf porn at all because each time your IE4 or Netscape Navigator would hit a page with a thousand popups your PC with 32MB ram would choke. And then, you have only one page to look at at the same time. If you opened 3, your PC would bluescreen or you'd try to find "tweaks" to strip your system.)

      If you feel it's because "google put a textbox with a button on a page, which made them what they are now", you must've joined the internet game mightly late.

      It's "the issue" now, by the way, that advertisers are looking for "targetted, relevant advertizing", and we are now once again in an oversaturation of something that used to work. It's overdone, and it's why they want their greedy hands on your facebook data and general statistics.

      --
      I think we can keep recursing like this until someone returns 1
    2. Re:Yes. Next question. by Anonymous Coward · · Score: 0

      NO! the search engine does not have an easy UI i went there to look for porn and got stuck playing pacman for over an hour then gave up and went to slashdot !
      besides it should definetly look more like a forum atleast it seems like "most people" find it easier to post a question on a forum and be made fun of for not searching then argue some and then get a somewhat useful (usually a google search) link

  20. Re:Meanwhile, slashdot editors too dumb for own go by ciaohound · · Score: 2, Funny

    You could just set your filter for "mere mortal" appropriately and you won't see these things anymore.

    --
    Oh, yeah, it's not easy to pad these out to 120 characters.
  21. The answer by Rallias+Ubernerd · · Score: 0

    Possibly, if they realize how big of morons they are. I mean really? You own major shares of the market and make little attempt at making freeking money? Someone is not too smart.

  22. Ob. Quote by gzipped_tar · · Score: 5, Insightful

    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

    --
    Colorless green Cthulhu waits dreaming furiously.
  23. Re:Rule of the 5 Year Old and 7 Year Old by siride · · Score: 2, Insightful

    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.

  24. Read (past-tense) the Bleeping Article by Anonymous Coward · · Score: 0

    It looks like theodp and kdawson actually succeeded in getting a lot of people to really look at this new development, gauging by all of the feedback we're getting. :)

  25. DroidDraw by Ukab+the+Great · · Score: 1

    Are Googlers with 'world-class programming skills' capable of producing straightforward, simple-to-use programming interfaces for ordinary humans?"

    The mere existence of DroidDraw would indicate "no".

  26. Explaining American Football to Chinese by Spacecase · · Score: 3, Interesting

    Things become much more complicated then first impression when you try to really explain something. For example I went to a football game with a group of Chinese grad students and they asked me how a team can score points. I thought to myself this is easy, and began to explain the rules.

    1. Touchdowns are worth 7 points... err they are worth 6 points technically
    2. After a touchdown the scoring team can decide to kick the ball through the uprights for 1 point
    Or
    3. The scoring team can decide to run another regular play and if they enter the end-zone again on that 1 play they get 2 points.
    4. Fields goals are 3 points and are scored when the team on offense can kick the ball through the uprights.
    5. The defense can score points if they can tackle an offensive player in the end-zone while they are holding the football. The defensive team then gets 2 points and gets the ball kicked to them on the following play instead of the normal system where the scoring team kicks the ball to the other team.
    6. If the defense can steal the ball and run into the end-zone they are facing then it is a touchdown and rule 2 and 3 apply.

    By the end of this discussion they were more confused then when we started. So when you say how hard can it be to explain how to store a file questions like.

    1. How to delete?
    2. How to rename?
    3. How to create folders or other organizational structures?
    4. How to move items between organizational structures?
    5. How to copy an item already in storage?
    6. How to download multiple files?
    7. Can security be set or changed?
    8. Oh yeah and how to I upload a file in the first place?

    The more precision you apply to a discussion the more complicated they tend to get. Just like a touchdown is 7 points is easier to understand, upload a file is easy too.

    1. Re:Explaining American Football to Chinese by Locke2005 · · Score: 2, Insightful

      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.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
    2. Re:Explaining American Football to Chinese by AmbushBug · · Score: 1

      Heh, heh, reminds me of the Whackbat rules from Fantastic Mr. Fox:

      "Basically, there's three grabbers, three taggers, five twig runners, and a player at Whackbat. Center tagger lights a pine cone and chucks it over the basket and the whack-batter tries to hit the cedar stick off the cross rock. Then the twig runners dash back and forth until the pine cone burns out and the umpire calls hotbox. Finally, you count up however many score-downs it adds up to and divide that by nine."

    3. Re:Explaining American Football to Chinese by Anonymous Coward · · Score: 0

      Points are scored by moving the ball into the opponent's end zone.

    4. Re:Explaining American Football to Chinese by penguinchris · · Score: 1

      That was definitely a parody of cricket, but the point stands - fun movie :)

      In Thailand one time I had a hotel with cable TV and at any time of day there were at least two or three channels showing cricket matches (mostly in India and Africa)... I just watched idly at first and then was curious what the heck was going on, so I looked up the rules online and tried to follow along with the game and definitely got more confused than when I started.

      Then again, I'm an American male and I don't understand American football (not to mention most other team sports, which are much simpler), so I probably am not the best person to try to understand cricket :)

    5. Re:Explaining American Football to Chinese by Anonymous Coward · · Score: 0

      Actually I don't ever watch cricket, but:

      the rules for scoring are much simpler than many sports.

      The culture and language of cricket are bizzare, but probably not any more so than any sport you are not involved with, or don't follow.

      The play, tactics and strategy are as complicated as any other sport: But surely complexity and skill are required to make any particular sport a lifetime love.

  27. Re:Rule of the 5 Year Old and 7 Year Old by sammy+baby · · Score: 4, Insightful

    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.

  28. Re:Above average developers are NOT GOOD by Anonymous Coward · · Score: 0

    The fun part is that groups #1 (and sometimes #2) usually can't tell the difference between groups #3 and #4, or worse, actively prefer #3 over #4.

  29. In a word... by Tau+Neutrino · · Score: 1

    Are Googlers Too Smart For Their Own Good?

    No.

    --
    Lemmings are silly; dinosaurs are extinct.
  30. After skimming the file-copying code... by istartedi · · Score: 2, Interesting

    After skimming the file-copying code, I agree with the people who say it's not complicated. I'm not a Python programmer either. The example functions they gave look like good starting points for wrappers that would provide the higher level, "get, send, delete" sort of functionality the poster wants. The only thing that confuses me is why you have to have "config = boto.config" when the config variable isn't used in the rest of the code. To me, it looks like you're only interested in the side effects of retrieving the configuration and not the result. Couldn't you just "boto.config()" or something at program startup? Of course that's probably more of a Python question from somebody who is ony passably familiar with the language. It's nothing complicated about the API.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  31. Re:Rule of the 5 Year Old and 7 Year Old by Lunix+Nutcase · · Score: 0

    anything that is user facing should be able to be explained to a common 5 year old

    Why would an API be user facing? Are you an idiot who doesn't know the difference between a UI and an API?

  32. Sign of the times by UseCase · · Score: 1

    On the short its an api and not for general user consumption.

    The fact that non developers are even talking about this is a problematic symptom of our industry's current overexposure with respect libraries, OSs, dev tools etc....

    We have invited the media and everyone else to our internal conflict over things that they should really have no interest in with our current infighting and ranting about mobile tech and the mobile market.

    Its are fault that non technical people are commenting on whether or not apis are "user friendly". We invited the world to our dysfunction.

    1. Re:Sign of the times by Vairon · · Score: 1

      Can we uninvite them now?

  33. Article Tag by codepunk · · Score: 4, Insightful

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

    --


    Got Code?
    1. Re:Article Tag by Barryke · · Score: 1

      I tried to prove him lazy, but actually.. after reading this code .. its overcomplicated.

      I understand that the bucket and filekey concept is excelent, but this adds a few lines.
      This could be easily overcome if its a function, but the fact that this function supports managing duplicates, redundancy, security and simply mutating several files at once this gets complicated.

      Don't compare this code to the MS-DOS file copy command, don't expect it to be that easy.
      But yes on first glance this interface could be simplified without neglecting features. Suggestion: put it in brackets, choose which supported features you'd like to drop for simplicity and make it a function. Done.
      badabingbadaboomCopyObjectsToNewInstance(config_boto, bucket_source, bucket_destination, array of object_names) returns horses

      --
      Hivemind harvest in progress..
    2. Re:Article Tag by SharpFang · · Score: 3, Interesting

      It's not about being too difficult. It's about being way too overcomplicated.

      Let's look at the code.

              config = boto.config

      okay here. We need config.

              bucket_name = "dogs"

      remote dir. So they made a half-assed directories system. Can't be nested, data can't be outside them. Piss-poor but let's say "okay" here.

              name = "poodle.jpg"
              dir_name = "pets"

      so far so good.

            src_uri = boto.storage_uri(bucket_name + "/" + name, "gs")
            dst_uri = boto.storage_uri(dir_name, "file")

      seems logical if slightly redundant. So we need some objects instead of plaintext names...

              dst_key_name = dst_uri.object_name + os.sep + src_uri.object_name ...wtf... oh, we are trying to create a local filename... that's some convoluted way to do it.

            new_dst_uri = dst_uri.clone_replace_name(dst_key_name)

      err... so our local disk file needs to be placed at... "pets/dogs/poodle.jpg". Now that's some way to get there!

            dst_key = new_dst_uri.new_key()

      oh, that was just the NAME of the new key... so we need the actual "key"... again, what for?

            src_key = src_uri.get_key()

      again, if we have the URI object, why do we need some "key" object? Isn't the dedicated URI object good enough?

            tmp = tempfile.TemporaryFile()
            src_key.get_file(tmp)
            tmp.seek(0) ...can't we read directly from a file instead of creating temporary one? So the "uri" of a file is not good enough, the "key" of a file is not good enough, we need a "tempfile" object extra?

            dst_key.set_contents_from_file(tmp)

      I recommend a reading about a hammer factory factory factory. This one doesn't overdo factories, just abstraction layers. I can spot four: filename (string), URI, key, file handle within the key. WHO needs that???

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    3. Re:Article Tag by rp · · Score: 1

      Thanks for explaining what the OP should have done.

  34. a well known quote comes to mind... by klashn · · Score: 2, Insightful

    “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

    1. Re:a well known quote comes to mind... by clone53421 · · Score: 1

      Debugging is twice as hard as writing the code in the first place.

      Perhaps writing incorrect code is half as hard as writing it correctly the first time.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  35. Nice low-level API. Missing high-level API. by Millennium · · Score: 4, Insightful

    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.

    1. Re:Nice low-level API. Missing high-level API. by Anonymous Coward · · Score: 0

      >Unfortunately, they neglected to include a high-level API to deal with what will be by far the most common use cases.

      Wrongo. You don't need a high level API, you need a well document sample program with functions that a naive programmer can copy and paste for common use.
      Otherwise, the API has to be twice as big with hits for testing and learning. So your complaint boils down to the API is not complicated enough by restricting itself to the minimal set of functions.

    2. Re:Nice low-level API. Missing high-level API. by panic!_at_the_ring0 · · Score: 3, Insightful

      Uploading a file is simply performing a PUT on an object URI:
      http://code.google.com/apis/storage/docs/reference-methods.html#putobject

      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.

    3. Re:Nice low-level API. Missing high-level API. by DragonWriter · · Score: 1

      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.

      Its a REST API using common patterns used by other cloud storage systems like Amazon S3; there are plenty of higher-level APIs and even end-user applications designed to use these kind of storage backends, and with the low-level API available, it should be fairly simple for developers who already built the high-level APIs and end-user applications for other cloud storage systems to include Google Storage for Developers as a backend for those products.

      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?

      I'm not actually convinced that a huge proportion of the developers using this service are going to need that sort of function. I would imagine its mostly targetted at developers of cloud-based web applications that are not going to generally do a lot of direct access to the local filesystem either at the client end or the application server end.

    4. Re:Nice low-level API. Missing high-level API. by Millennium · · Score: 1

      You're a level of indirection down from what I was talking about. I was referring not to the REST API (which is indeed a nice one, though isn't initial uploading -i.e. resource creation- supposed to be handled through POST, not PUT?), but to the Python library they seem to have included for interfacing to REST. Far from making things easier, they appear to have actually complicated matters in that library.

    5. Re:Nice low-level API. Missing high-level API. by Wovel · · Score: 1

      Generally for restful services like S3 people use community provided language libraries or write their own. The rest API is designed to provided flexibility and security. The way it is implemented in each language will be up to whoever writes the library.

      Just because google shows a phython library does not mean it is the only python library, the best python library or even one they expect anyone to use...

    6. Re:Nice low-level API. Missing high-level API. by Wovel · · Score: 1

      It is another carryover from the S3 API. Amazon used PUT as well. They switched over to POST for newer S3 functions related to cloudfront.

    7. Re:Nice low-level API. Missing high-level API. by DragonWriter · · Score: 1

      You're a level of indirection down from what I was talking about. I was referring not to the REST API (which is indeed a nice one, though isn't initial uploading -i.e. resource creation- supposed to be handled through POST, not PUT?)

      Not necessarily. There's a temptation to view the GET/PUT/POST/DELETE set of HTTP verbs as having a 1:1 mapping to CRUD actions, but they really don't. GET and DELETE in HTTP do map cleanly to READ and DELETE in CRUD, but PUT really is the equivalent of either a CREATE or a replacing UPDATE on a particular named resource, while POST is a special kind of create (creating a new resource subordinate to a named collection resource which will determine the name of the newly created resource.)

      If you are creating a new resource whose intended name (URL) you know, PUT makes sense. If you are creating a new resource and don't care about its name, just that it is a child of a particular collection resource, POST makes sense.

    8. Re:Nice low-level API. Missing high-level API. by panic!_at_the_ring0 · · Score: 1

      PUT is used for idempotent create/update operations. POST is used for appending to resources and for non-idempotent creates.

    9. Re:Nice low-level API. Missing high-level API. by Homburg · · Score: 1

      they neglected to include a high-level API to deal with what will be by far the most common use cases.

      Actually, they didn't. You can do, e.g.

      conn = boto.gs.GSConnection(API_KEY, SECRET)
      key = conn.get_bucket('mybucket').get_key('myfilename')
      f = open('local_file')
      key.send_file(f)

      The API docs only show the bits of the API that Google added. Most of the convenience methods you're looking for are part of the boto library.

  36. Damn you, Google! by Anonymous Coward · · Score: 0

    They just had to go and put an embedded playable Pac-Man flash game up as their logo today (30th Anniversary of the game).

    Now I won't get any freakin' work done today.

    1. Re:Damn you, Google! by Infiniti2000 · · Score: 1

      Now I won't get any freakin' work done today.

      How's today any different, AC? I see you posting on Slashdot all day long.

  37. The editors know what they're doing. by Anonymous Coward · · Score: 0

    The editors here know what they're doing. This submission was clearly accepted because it'll get fools like you and all of the other Google Defenders here all agitated and posting comments. Then you'll repeatedly check back for the next few hours, to see if anyone has replied to you. Meanwhile, all of this checking generates ad impressions, making Slashdot money.

    1. Re:The editors know what they're doing. by jaymz2k4 · · Score: 1

      Well, if you've good karma you can switch ad's off and I'd say a lot of the technical audience slashdot attracts is probably adblocking too whilst their at it, but regardless of that...

      I don't mind provocative posts, but completely misguided posts are another thing. Slashdots appeal is that its meant to be news for nerds, if more stuff like this makes it through the quality and returning visits from the very people slashdot attracts and therefore can provide that extra value as a platform for its advertisers will go down with time. As a niche news site it would be in slashdots interest surely to continue to attract the sort of people that the targetted ad's are aimed at not dumb itself down to yet another "regular" tech site.

      Re-reading that, I admit thats probably already happened for a lot of people but I still think of slashdot as a higher-than-normal tech site. Just about.

      --
      jaymz
    2. Re:The editors know what they're doing. by Anonymous Coward · · Score: 0

      Fuck you.

      P.S. No ad impressions here. I have ads turned off (no, not adblock, it’s my karma). Bwahaha.

  38. Re:Rule of the 5 Year Old and 7 Year Old by HaZardman27 · · Score: 0, Offtopic

    The API is for developers, not Apple fanatics.

    --
    Apparently wizard is not a legitimate career path, so I chose programmer instead.
  39. Re:Above average developers are NOT GOOD by volsung · · Score: 1

    I tend to think of your taxonomy in terms of design outcomes:

    4. Sufficiently engineered
    3. Over-engineered
    2. Under-engineered
    1. Doesn't work or works on accident.

    That is to say, average developers tend to nail the common case, but lack the experience or knowledge to spot the corner cases. Your "above average" developer wants to demonstrate his knowledge by optimizing for as many corner cases as possible at the expense of simplicity in the common case. The well-above average developer can balance the common and the exceptional.

    Both over and under-engineered solutions are "bad," but the under-engineered solution usually has the advantage of less code to delete when you have to redesign everything. :)

  40. Re:Meanwhile, slashdot editors too dumb for own go by ronocdh · · Score: 1

    Seriously, how on earth is this front page news on slashdot??

    One word: kdawson.

  41. Re:Rule of the 5 Year Old and 7 Year Old by Wovel · · Score: 0, Redundant

    It is not a user facing system, hence the title "for developers".

  42. Re:Rule of the 5 Year Old and 7 Year Old by The+Flymaster · · Score: 3, Insightful

    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.

  43. -1 Offtopic by Vadim+Makarov · · Score: 1

    Google has just put the best holiday logo ever on the homepage. A working PacMan! I wonder what's the worldwide economic impact of this joke, in terms of lost productivity. It probably beats most terrorist acts and natural disasters :).

    --
    17779 eligible voters in a district, 17779 'vote' as one. This is Russia.
    1. Re:-1 Offtopic by Georules · · Score: 1

      Don't worry, it'll just take away from porn time at work hopefully.

    2. Re:-1 Offtopic by Locke2005 · · Score: 1

      It even supports 2 player play; press "Insert coin" and it adds a Ms. PacMan.

      --
      I've abandoned my search for truth; now I'm just looking for some useful delusions.
  44. When it counts... by metrometro · · Score: 1

    Last time I checked, the Google search page was pretty straightforward. For more complicated systems, get set up on Google Voice. I'm so used to phone-tree hell that I was pretty stunned with how quick and painless that was. They are happy to put user experience as a primary concern when they're trying to acquire users. For a storage API, frankly having granddad want to try it out might not be in their interests.

  45. Re:Rule of the 5 Year Old and 7 Year Old by ukdmbfan · · Score: 1

    I'm both, so should I be able to or not be able to understand the API? It all makes perfect sense to me.

    --
    "If you do things right, people won't be sure you've done anything at all"
  46. As a mad, sweaty, bald man once screamed on stage by IheatMyAptWithCPUs · · Score: 2, Funny

    This is about developers. http://www.youtube.com/watch?v=8zEQhhaJsU4

  47. No... by denzacar · · Score: 1

    The word you are looking for is "able", not "supposed".

    Because, letters in the alphabet are "a code" but we don't refer to them as "codes for wording".
    So, everyone who is familiar with "the code" used IS supposed to understand it. Regardless if we are talking alphabet, kanji, C++ or Python.

    Unless it is poorly coded and/or a mess - which is a part of the reason why the OP questions the current practice.

    --
    Mit der Dummheit kämpfen Götter selbst vergebens
  48. Or in other words: by Hurricane78 · · Score: 3, Funny

    Are you just simply way too “dumb”* for the 21st-fuckin-century?

    I know I’m (sadly) a minority here. And I know that I will probably get modded to into oblivion. But except from the stupid overengineering... come on!
    How about for a change actually learning something, when it is useful for you?

    * I’m not even really saying that people are too dumb. It’s just that most people grew up in a culture, where it made more sense, to complain and feel entitled, to getting spoon-fed, than to understand it themselves. Where intelligent people get hate, and dumb people get special treatment (e.g. it not being allowed to point out that fact about their mental performance).
    So naturally, they choose the more efficient way.

    But the thing is, that we all are very much capable of grasping those complex concepts that we always say we were too dumb for. It’s just an excuse. And the more it is used, the more mental growth we miss. So after some time, we really have a hard time using our brains. Just like with a muscle. Just like we all are born with the ability to some day run for hours, every day, in the heat.

    So, no, they are not too smart. We’re just used to being lazy as hell.

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
    1. Re:Or in other words: by swordgeek · · Score: 1

      Lazy as hell? I happily plead guilty to that charge. I'm as lazy as I can be, most of the time - it leads to efficiency and time to do things I enjoy.

      You're missing a point here - we SHOULD learn things. We SHOULD push ourselves, and stretch as much as we can. However, I'm not interested in spending my time learning an overly-difficult way of doing a fairly simple task. Simple tasks should be made simple. There are enough complicated things out there already without needlessly making new ones.

      --

      "People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
    2. Re:Or in other words: by Hurricane78 · · Score: 1

      You make a good point with the efficiency. But you missed, that there is a fine difference between efficient and lazy. And that was kinda the whole point of my comment.

      Efficient is, when you only do what is absolutely necessary to reach your goal.
      Lazy is, when you do less than necessary, so your chances get worse again.

      That was my point. That we really don’t improve but worsen our progress. And I was actually pretty serious about it.

      It’s the Clippy syndrome: So easy that it gets less efficient to use again. Missing the actual goal: Efficiency.
      And how did that happen? By using... wait for it... that same oversimplification on that goal, turning it into: Simplicity.
      This is why I hate “KISS”. It hurts everyone.

      But oh well. This does only hurt you. Which makes my chances of winning in natural selection much bigger.
      So go on... :)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    3. Re:Or in other words: by Anonymous Coward · · Score: 0

      You know, it's OKAY to be spoon-fed in learning. You learned English, you got words, sentences, paragraphs, stories, essays, not just generic diagramming/parse trees. You learned math, you got examples of how to manipulate algebraic equations, order of operations, etc. you didn't just get presented with a problem with no instruction whatsoever. Learning is an incremental process and while it is expected one will think, they also shouldn't be expected to learn everything with almost no fundamentals.

      So the problem with many programming language and API documentation is no one seems to want to present a full-working example that can be typed in, it works, small changes can be made, and so one learns by doing and experimentation. Ever wonder why the often-maligned BASIC language became so popular back then? The books and manuals presented the function or statement, the full command format with required and optional parameters, an example of the command usage, and almost always a complete working example that one could type in, change around a bit, and end up learning by doing and exploration. Now compare that to any modern programming language. How well written is the Ada LRM? Or a C-language reference written by anyone except for Herbert Schildt, or a Windows API reference... you get the idea.

      Call me stupid, call me lazy, but I have better things to do than invest time in API's that aren't clearly explained and immediately usable. Given a terse API, with as little documentation as possible so that when I read it I don't immediately understand what's going on, I'll ignore that API. It's for that reason that I have not seriously coded anything in well over 10 years.

  49. Re:Rule of the 5 Year Old and 7 Year Old by RobertLTux · · Score: 1

    mind reading the Whole thing??
    like i said user facing stuff should be at the five year old level

    API stuff should be at the level of a 7 year old (with documents)

    --
    Any person using FTFY or editing my postings agrees to a US$50.00 charge
  50. Give it REST... by Anonymous Coward · · Score: 0

    Quite frankly I'm sick of people writing APIs that are contorted to attempt to fit into the confines of todays popular buzzwords.

    Its pretty much impossible NOT to have a RESTFUL filesystem unless you intentionally go out of your way to mess it up.

    REST..the *ideal* is obvious and makes a great deal sense in many contexts. REST the bastardization of the ideal over HTTP *DOES NOT*. HTTP does not allow definition of arbitrary verbs. There are no central registries or namespace hierarchies to reuse or understand the meaning of fields as in XML namespaces, LDAP object classes, SNMP MIBs..etc.

    In other words no practical horizontal reuse!

    If the point is reuse and possible machine understanding of subclasses REST over HTTP epicly fails. What you are left with is a contorted API that attempts to fit within a flawed framework and at the end of the day ends up being more complicated and ackward to work with had it serially been well designed without the cheap plastic REST enclosure.

    Having said all this the API itself does not look too complicated or unreasonable to me. I would have made different design choices but everyone has their own ideas and audience.

    The only criticism I can come up with isn't there WEBDAV or similar technologies already in production specifically for this sort of thing? Seems like re-invention of the wheel from first glance?

  51. Re:Above average developers are NOT GOOD by Terrasque · · Score: 1

    Your comment reminded me of this story:
    http://thedailywtf.com/Articles/Classic-WTF-The-Complicators-Gloves.aspx

    A mighty fine story about overcomplication :)

    --
    It's The Golden Rule: "He who has the gold makes the rules."
  52. Re:Meanwhile, slashdot editors too dumb for own go by Rogerborg · · Score: 1

    The Editard's Editard. At this point I really think we can class him as either an honest-to-God moron, or a really clever troll. I mean, we bite every time.

    --
    If you were blocking sigs, you wouldn't have to read this.
  53. Teachable moment? by panic!_at_the_ring0 · · Score: 2, Insightful

    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
    http://en.wikipedia.org/wiki/Representational_State_Transfer
    http://en.wikipedia.org/wiki/Roy_Fielding

    "Developer", meet HTTP..

  54. Re:Rule of the 5 Year Old and 7 Year Old by Gulthek · · Score: 1

    No, the user is the user. When *users* post to Twitter with a shiny GUI they don't even have to know that the Twitter API exists, what it is, what its methods are, etc.

  55. If anything, it's too simple by Animats · · Score: 3, Informative

    After reading through the API, if anything, it's too simple. You can't copy a bucket without reading it from Google's servers and writing it back, which is far slower than a copy carried out within their high-speed network. The "list" capability isn't well documented. The security model is about as dumb as the UNIX/Linux one; it doesn't have capabilities or anything like that. Bucket transactions are themselves atomic, but there are no user-specified atomic transactions. You can't, for example, rename "current" to "old" and "new" to "current" as an atomic transaction. (That's a normal operation in SQL, and a useful one when you've constructed a new copy of a mostly-static table and want to make it live.) Nor do buckets have version management. There's no way to read replication status; although bucket data is supposedly replicated, when does this happen? Right after uploading a bucket, or some time later?

    1. Re:If anything, it's too simple by Wovel · · Score: 1

      yes you can :) You make a new bucket and copy all of the objects. The objects will copy on the server side. (assuming they are not fibbing and it is compatible with the S3 API anyway :))

    2. Re:If anything, it's too simple by Animats · · Score: 1

      yes you can :) You make a new bucket and copy all of the objects. The objects will copy on the server side.

      OK. The example in the documentation shows a copy on the user side.

  56. Oh, delicious irony. by FiloEleven · · Score: 3, Insightful

    theodp in this post 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.

  57. Re:Rule of the 5 Year Old and 7 Year Old by Bakkster · · Score: 1

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

    In which case, being able to explain it to a 5-year old child is pointless, since that's nowhere near the lowest common denominator for software development.

    Perhaps it should be explainable to a CS undergrad, but not a child.

    --
    Write your representatives! Repeal the 2nd Law of Thermodynamics!
  58. Re:Rule of the 5 Year Old and 7 Year Old by The+Flymaster · · Score: 1

    Sure. But you shouldn't be able to explain Photoshop or vi to a 5 year old, either. Nobody would deny that they have UIs.

  59. Re:Rule of the 5 Year Old and 7 Year Old by John+Whitley · · Score: 1

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

    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.

    Yes, there can and should be will be high-level framework APIs that mask inner complexity for straightforward use cases. The open source web world is littered with such things. See "idiomatic" Ruby and Python libraries that wrap native (OS/REST/etc.) counterparts. See what MS did with C#-based APIs that wrap many of the hellish old direct Win32 calls. Sometimes an early design is refined by experience into a simpler one (cf. Plan9's dial() API versus bind/accept/listen).

    But sometimes you've just got to give access right down to the metal -- the problem domain is truly complex, and oversimplification of that simply makes users' lives much, much worse.

  60. So abstract it, or by jfz · · Score: 1

    Pay someone to abstract it for your particular domain. If the API works and has solid corresponding documentation, you shouldn't have a reason to complain.

  61. Re:Above average developers are NOT GOOD by Teckla · · Score: 1

    How the hell did I get modded -1, Offtopic on this!?

    *sigh*

  62. Re:Meanwhile, slashdot editors too dumb for own go by Hurricane78 · · Score: 1

    That’s what you get when you mix the ex-taxi-driver “web designer” with the typical consultant: A Paula Bean.

    Brillant!

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  63. Warning! Unpopular opinion follows! by gestalt_n_pepper · · Score: 1

    I agree. It's pretty bad.

    A programming language should make common operations simple, and other operations possible.

    Any implementation of copying files that doesn't follow the form, "CopyFile (source, destination)" is probably a de facto fail.

    Worse, if it can be abstracted into code like this, and isn't, it only indicates naivety on the part of the developers as to the mechanics of human behavior, and more likely than not, the kind of arrogant, lazy, slacker mentality that's worthy only of contempt.

    --
    Please do not read this sig. Thank you.
    1. Re:Warning! Unpopular opinion follows! by Homburg · · Score: 1

      Any implementation of copying files that doesn't follow the form, "CopyFile (source, destination)" is probably a de facto fail.

      Good thing the Google API does follow that form then, isn't it. To copy a file, you send a PUT request to the destination URI, with a header specifying the source URI. That's about as simple as an HTTP-based file handling API can get, I think.

  64. How quaint by mattr · · Score: 2, Interesting

    It may seem a bit hilarious, apparently this kind of crap (like having bucket names conform to DNS) happens when you want to use web services as your OS. Not too hard if you just implement this once.

    This bit is just silly, good for giggles but are they serious about requiring zone editing to expose a database table? Nooooo....

    For example, let's assume your domain is example.com and you want to make travel maps available to your customers. You could create a bucket in Google Storage called travel-maps.example.com, and then create a CNAME record in DNS that redirects requests from travel-maps.example.com to the Google Storage URI. To do this, you publish the following CNAME record in DNS

    I didn't quite catch how you copy data to other domains, since it looks like you use a gs:// prefix to reach google storage but you say gs://cats and it is still in your account not at google's root server.. kind of annoying though maybe there's a way around it?

    I think the 1024 byte limit is totally bogus, that's pretty short if it has to hold the URI path through your virtually nested buckets. Although I've seen Windows flake out at 255 character paths.. That and the bit about a "flat hierarchy", which is an oxymoron, and how you can't nest buckets but you can do so "virtually" by putting slashes in your bucket names, as if it isn't just a normal URI, they're just joshing you, a little bit of fun y'know. "Bare metal" indeed, more like stripping the metaphor down to bare CGI.

    It is funny you have to allocate your own temporary file as a buffer for uploading a file, though of course that's what happens in Perl CGI. Which then makes you wonder why you cannot set a max upload data size for your app.. Of course the GSUtil command line tool looks pretty simple.

    Otherwise, Animats' post is to right to the point. It isn't really that great. Kind of a bare minimum is more like it. And they stick with REST... so you should hope for a nearby library to exist that will save you not have to start implementing wierd HTTP verbs.. you have to really want this as implementing it seems as much fun as pulling teeth slowly.

  65. Re:Above average developers are NOT GOOD by volsung · · Score: 1

    Guess? You didn't say anything about the design of Google's Storage API. (Which is fine by me, since the basic premise of this thread is stupid. The storage API is designed to match the S3 API, and isn't targeting end-users in the first place.)

  66. Re:Rule of the 5 Year Old and 7 Year Old by Bakkster · · Score: 2, Insightful

    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.

    --
    Write your representatives! Repeal the 2nd Law of Thermodynamics!
  67. Offended by Anonymous Coward · · Score: 0

    I'm offended at the "...kind of 'user-friendly' API one might expect from a bunch of computer science Ph.D.s" remark. My collegues and I have always strived for simplicity and elegance in code. An advanced degree is no excuse for poor software engineering skills.

    In Google's defense, their APIs may be punk in many ways, but incredibly useful, and a lot of people like them.

  68. Re:Above average developers are NOT GOOD by Teckla · · Score: 1

    Guess? You didn't say anything about the design of Google's Storage API. (Which is fine by me, since the basic premise of this thread is stupid. The storage API is designed to match the S3 API, and isn't targeting end-users in the first place.)

    The headline is "Are Googlers Too Smart For Their Own Good?". My comment goes to the very heart of that, by suggesting above average developers can actually be a problem. It's entirely on topic!

    Whoever moderated me -1, Offtopic is just plain wrong. It was an incorrect moderation.

  69. Abusing Google Storage for phishing? by Animats · · Score: 2, Interesting

    I wonder if Google Storage can be abused as a way to host phishing pages?

    There's a phishing page that's been on Google Sites since February. Google is good about kicking off most phishing pages, but this one is different. Here's the phishing page as a web page. The actual hostile page (which is a bogus login page for Stickam) is on the "Click here to download your attachment". The actual url is http://2699962600425641406-a-1802744773732722657-s-sites.googlegroups.com/site/stickamcomlogindo/login.html?attachauth=ANoY7cpc6fembideFQyYULstnVDU-XMkgwzNLFkUv77Suh8bUq_LGrFRQ-RtLkw6pEPJb5Vk0XW4JMbOVQtqT_R6CjNCh5N2r29quoFkE5Cq1XQXUFhuegVtr4kQUMN9T3dT3yO1q-FthiahDl45UqMmFfD6gKSYwQP4bsgVoM-N5cQN0hHRvDZskuvmTdy0lqnQqUhmKFYP&attredirects=0. That's probably a page in Google Storage.

    This raises the question of whether Google should be running hostile-code checks on publicly-accessible Google Storage pages.

  70. Theodp neglects to mention API is standard. by Anonymous Coward · · Score: 0

    Theo neglects to mention in his trollish post that google is using defacto industry standard. So it is not google that decided to overcomplicate things. also, because it is standard, you should (i have not tried admittedly) be able to use whatever language bindings/libraries/guis that you want to access the service.

  71. AOL? by Dishevel · · Score: 2, Funny

    Why would anyone take advice from a guy with an AOL email?

    --
    Why is it so hard to only have politicians for a few years, then have them go away?
  72. Re:Rule of the 5 Year Old and 7 Year Old by Anonymous Coward · · Score: 0

    I think you lost the context. RobertLTux, the one who started the 5 and 7 year analogy in this thread, pretty much did, and he's defending it in the thread. His stated rule was: user-facing = 5 year old, API documentation = 7 year old.

  73. Mean APIs by Anonymous Coward · · Score: 0

    If the API is mean to your users, as a software developer, you should intervene. I've heard that they have these new-fangled "thingies" called "user interfaces" (UIs) and even newer thingies called "graphical user interfaces" (GUIs). GUIs allow a developer to intervene even on behalf of users so stupid that they cannot read and to translate their wishes for processing by the API. In this way, you can shield your users from the complicated, convoluted, and confusing APIs.

  74. I think that's the point by Skadet · · Score: 1

    I think that's the point though. In a world where complicated is the norm yet we (claim to) want to bring computing to the masses, releasing a new service with yet another complex api seems counter to our goals (I say "complicated" in terms of volume, not in time-to-learn for someone familiar with APIs).

    This is the company that brought real, effective search to the masses and collaborative document authoring/editing to companies full of PHBs. Google knows how to make complex things simple for the user. So given all this, I think the argument is rather the old standby: Do we need another X? In this case, do we need another cloud storage solution with nothing but APIs? S3 was bad enough. I don't see anything differentiating this service.... yet.

    1. Re:I think that's the point by Wovel · · Score: 1

      The S3 API for developers is complicated. Using S3 for consumers is easy (Jungledisk, etc...).

      Neither the S3 or the Google Storage API are needlessly complicated. The APIs are meant to be both flexible and secure. Doing both of those things together is complicated.

  75. Re:Rule of the 5 Year Old and 7 Year Old by Hognoxious · · Score: 1

    Mike McConnel would disagree with you, and so would I. It's covered in "Code Complete", somewhere. The analogy he uses refers to coffee machines, IIRC.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  76. Re:Rule of the 5 Year Old and 7 Year Old by Hognoxious · · Score: 2, Insightful

    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...

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  77. Re:Give it REST... by Lennie · · Score: 1

    Have you ever looked at how WebDAV works ? It's more complicated and I don't think it's very fast.

    I really don't like how they put paths in the XML either, that's just stupid, if you have a proxy, it shouldn't look at the content, just the method/URL and know what is it's for.

    --
    New things are always on the horizon
  78. Too smart to write a friendly interface? by Anonymous Coward · · Score: 0

    Take a look at google's homepage. If you can't figure it out, get off the pot, er the tubes!

  79. Everything is vague... by Khelder · · Score: 1

    Everything is vague to a degree you do not realize till you have tried to make it precise. - Bertrand Russell

  80. Harder than you think by byteherder · · Score: 2, Interesting

    Developing good interfaces and good APIs is harder that you think. This maybe isn't Google finest code but it is not amateur hour either. They may need to bring in some "senior-Google-talent" but for first crack this is not bad.

    Lay off these guys unless you can go it better.

    1. Re:Harder than you think by shutdown+-p+now · · Score: 1

      In this case, they actually did the best thing possible - they took an existing API that's 1) good enough, and 2) in widespread use. More often than not, providing something that many people immediately know how to use already is better than coming up with your own perfect API with blackjack and hookers that is completely unlike everything else.

      This also applies to languages and other tools, by the way. There's a reason why Java was made to look like C++ (and became successful), and then C# was made to look like C++ and Java (and became successful).

      Of course, it's still important to balance this with actual innovation, but in this case it looks like it was a good choice, all considered.

  81. Re:Meanwhile, slashdot editors too dumb for own go by acoster · · Score: 1

    Simple: kdawson.

    --
    "Go forth, and be excellent to each other" --Bill & Ted
  82. Re:Above average developers are NOT GOOD by Dragonslicer · · Score: 1

    The headline is "Are Googlers Too Smart For Their Own Good?". My comment goes to the very heart of that...

    Well there's your problem. You've mistaken assumed that the title is in any way related to the summary, or that either of those are in any way related to the article.

  83. Re:Above average developers are NOT GOOD by Teckla · · Score: 1

    Well there's your problem. You've mistaken assumed that the title is in any way related to the summary, or that either of those are in any way related to the article.

    Heh, yep. My mistake. :)

  84. How's this different from AWS S3? by Anonymous Coward · · Score: 0

    I don't understand how this is any harder (or much different :)) than say Amazon's S3 API? theodp, can you explain what's 'user-unfriendly' about the API compared to what you would conceive while still supporting the same features they have? Anyway, the 'user-friendlyness' usually comes when someone writes wrapper around the RESTful API for the platform you're using. Take a look at their Python API and let us know if you still think it's 'user-unfriendly'.

  85. Let me get this straight... by asaz989 · · Score: 1

    You're complaining that the API for Google Storage for Developers isn't user-friendly?
    This is for developers writing web apps requiring guarantees of security, synchronization, reliability, etc. It's not supposed to be a more "legit" version of Dropbox.

  86. Steve Jobs by Anonymous Coward · · Score: 0

    *snickers* n00bs

  87. Re:Rule of the 5 Year Old and 7 Year Old by marked · · Score: 1

    that would be Steve McConnell. No idea who Mike is.

  88. Next time by Anonymous Coward · · Score: 0

    Next time don't advertise on the front page of Slashdot you can't implement a basic REST API.

  89. Dropbox just works . . . by rbannon · · Score: 1

    If you're looking for a way cool way to store and share (or not share) you code/files, just check out Dropbox. It just works!

  90. Closing this ticket by GeekLove · · Score: 1

    Reason: Works for me. Comment: Nice API and easy to understand too.

  91. Those examples should be standard functions. by Estanislao+Mart�nez · · Score: 1

    I agree that complex tasks require complex APIs. I just don't see why this is such a complex task. We're not using SSL, namespaces or storing a gigantic file here, and I don't see any reason why those features should make the process that much harder.

    The bigger question, really, is how come if somebody thought that that list of steps to copy a file was good enough to be an example of how to perform a simple task using the API, then why aren't those steps encapsulated as a reusable function that just gets called with the source, the destination and the objects to copy.

    It just strikes me as programming at the wrong level of abstraction--which is, quite frankly, the most common flaw of programmers everywhere.

  92. Re:Rule of the 5 Year Old and 7 Year Old by shutdown+-p+now · · Score: 1

    Developer is the user relative to the API (and also compiler, IDE, and other development tools). What's so hard to grasp about this concept?

    It's not like God has ordained that there shall be users, and developers, and never shall they mix.

  93. I generally don't hire PhD's by Plugh · · Score: 1

    I sometimes hire people to work in my programming group. If you have a PhD, you have to work EXTRA hard in the interview to prove to me you can do useful work. Over the nearly two decades I've hired programmers, I've generally been most impressed by the work of former auto mechanics who taught themselves to program, and had a passion for it, rather than people with advanced degrees from Ivy-league schools.

    I cannot tell you how many times I have had a tricky problem to delegate, one that I have some ideas how to implement. Invariably, the PhD will tell me it can't be done, can't be done well, or will offer to write up a whitepaper explaining why it's a bad idea to try(!) ... while the mechanic rolls up his sleeves, pulls an allnighter or three, and in the end has something ugly and fragile -- but that basically works, and buys time for the next iteration.

  94. /. is full of posers by luis_a_espinal · · Score: 1

    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... and more blah blah...

    The fact that you erroneously mix user-friendly with API tells me you are not a developer, or at least not one worth listening to when it comes to API design. And the fact that you state we should not expect better from a bunch of computer science Ph.Ds is an indication of projection and ignorance. What do you know about Ph.Ds? About their work and what they do? Did posting that generalization made you feel good about your webby education?

    Seriously, if you were really that serious (and intellectually/professionally) capable of, you should have broken down the problem and shown a better alternative. But you didn't. You can't. So shut up.

  95. Exactly like Amazon S3 by Mark+Atwood · · Score: 1

    I've just read the GSfD documentation, and the API is exactly the same as that of Amazon S3, which has been comfortably used by developers and web designers for years now.

    Why was this story approved?

  96. Re:Rule of the 5 Year Old and 7 Year Old by hedwards · · Score: 1

    Yes, but a developer is presumed to know something about APIs. It seems odd to me that any good can come of development by a developer that can't even understand a simple API. From what I saw on the site, it wasn't that bad at all, most of the end user stuff was similar to *NIX and the developer section wasn't terribly taxing either.

  97. Re:Rule of the 5 Year Old and 7 Year Old by Anonymous Coward · · Score: 0

    In which case, being able to explain it to a 5-year old child is pointless, since that's nowhere near the lowest common denominator for software development.

    Apparently you've not worked with some overseas developers. At least a 5-year old will *try* to understand what you're telling them not to do.

  98. Not smart. Stupid. by Zarf · · Score: 0, Offtopic

    A truly "smart" person knows that almost everyone he meets is "dumber" than him. So he spends his life talking to people who are "dumber" which causes one of two reactions. He either becomes arrogant or he becomes humble. Arrogant is easy to explain. This arrogance is born of the knowledge that you are "better" than most of the people you work with.

    Humble is harder. The humility comes from years of seeing what the "best" path is and trying to save people from their own stupidity and finally realizing that all the genius in the world is worthless if it doesn't help anyone. Humility is the knowledge that no matter how genius you are it is pointless if your genius is consumed in a self-serving intellectual Ouroboros.

    I test in the top 2% for intelligence. This means 98% of the people I meet are "dumber" than I am. There are also a vast array of people far more intelligent than I am. People that make me look like a total moron. From this vantage I can see that without making my intelligence available or useful then all of my talents are a "chasing after the wind" and only so much "sound and fury" amounting to nothing. Such a rating is worthless and meaningless unless it yields a result in some context (evolutionarily or otherwise).

    This last step toward humility requires a tiny bit more intelligence and wisdom than arrogance does.

    Let's say Google hires the smartest 2% of programmers on the planet. The reaction will probably either be arrogance or humility. So if this is the product of genius what is it? Inaccessible arrogance? Then they are using the wrong metric for intelligence and don't have programmers that are smart enough in the right ways.

    Humility is harder. Humility is precious. Humility requires real intelligence.

    --
    [signature]
    1. Re:Not smart. Stupid. by Zarf · · Score: 1

      BTW:

      The copy construct is a higher-order construct that cannot be represented at the level of abstraction this API is operating at. The OP is really complaining that the API has an impedance mismatch with the level at which most programmers actually work.

      --
      [signature]
  99. Re:Rule of the 5 Year Old and 7 Year Old by rp · · Score: 1

    Smalltalk's creators didn't agree with you - I wonder if they do today.