7 ms·
Thanks for the frank feedback. I agree that we have a lot of "wiggle room", as you so diplomatically put it. Out of curiosity how do you feel about the current
by shykes 11y ago
Thanks for the frank feedback. I agree that we have a lot of "wiggle room", as you so diplomatically put it. Out of curiosity how do you feel about the current README on Docker's repo? https://github.com/docker/docker/blob/master/README.md https://github.com/docker/docker/blob/master/README.md
One problem we've encountered is that the audience for Docker is incredible broad - much broader than you might imagine when reading Hacker News for example. It is extremely common for CIOs, IT directors, and various business managers to just pick up the phone to ask us (or our partners) what Docker is all about. So it's difficult to tell a story which satisfies all audiences.
But I don't think that excuses everything. We are definitely better at building our product than at explaining it.
One interesting side-effect is that, if you've been exposed to Docker-related marketing (in a broad sense), most of it probably didn't originate from us, the creators of Docker. This is sometimes problematic because Docker is so polarizing: depending on who tells you about it you will get such a different, often distorted picture of reality. Either Docker is a miracle cure for every disease on Earth (indicating an over-enthusiastic Docker fan, or a vendor trying to sell something to Docker fans), or it's a scourge sent by the gods of the Unix valhalla to punish mankind for techno-hipster false idols such as javascript and php (indicating a jaded Docker-skeptic, or someone trying to sell something to Docker-skeptics). Either way, it creates a lot of noise. And as you point out, there might be less noise if we ourselves did a better job at explaining when using Docker is, or is not, a good solution.
- akanet 11y agoSolomon, I gave a talk at lunch at your company about this very topic, but I think you weren't there, so you missed it. Ask avinson for a link to it. I think it was saved on your BlueJeans system.
- benmathes 11y agoBig platforms tend to be different things to different people. Might help to have a different "what is docker?" page for the various roles you encounter. For CIOs: click here For developers: click here For sysadmins/devops: click here For platform providers (e.g. heroku): click here.
- rylee 11y agoAn experimental redesign of the Docker website would be pretty cool. I'd love to see it.
- angersock 11y agoWhenever I see a product segmented that way, I'm immediately suspicious. That much work means that a) they're trying to sell something because it isn't obviously better and b) they're more worried about messaging than being simple and useful.
- NeutronBoy 11y ago> they're more worried about messaging than being simple and useful But useful means different things to different people. To a dev, Docker might mean you keep your environment clean, scripting of automated testing, and have platform agnostic deployments. To the CIO, Docker means your devs spend less time futzing around with their stuff and more time working on the product. Or that he can upgrade his infrastructure gradually and not have to worry about compatibility. Yes, it's the same thing, but different audiences need different messaging.
- wwweston 11y ago> To the CIO, Docker means your devs spend less time futzing around with their stuff and more time working on the product The question is whether or not the CIO knows that the devs are in fact futzing around with ad hoc solutions to problems that Docker solves. I think the parent is arguing that in the right flow of things, that awareness is going to flow up to them from the people closest to the problem (the dev/ops folks working with it) rather than from a vendor with a vested interest in adoption to an exec/manager whose understanding of the problems their staff face may well be a high-level view at best. And who are prone to make decisions off of social proof plus that good messaging rather than knowing how well the solution fits their problems. (Not that having the engineering staff involved is any guarantee that decision won't be mostly made off of social proof plus messaging. It just decreases the chances. :/ )
- rargulati 11y agoAnecdotally, something I've seen work in the B2B space is framing the message `n` different ways for each type (n) of stakeholder. So you'd have a quick view of value props and stories for the CIO, the IT director, etc. Sometimes it's hard to find the general value proposition, and it's much easier to have the different cohorts self-select into the message that means the most to them. And sure, sometimes this doesn't cut it and you have to get on the phone. The general message could still be there (kitchy and sexy), the focus would still be on the end user (developer), but others wouldn't have a hard time finding the message that resonates with them. Has anyone else seen this strategy succeed (or fail) for their business?
- rylee 11y agoWow, that README is pretty good. I was sold on Docker already and it's got me excited. I wish the site landing page did this, too.
- javajosh 11y agoI'll tell ya, the biggest conceptual problem for me is "where does the data go". This subject isn't touched in the Docker material until very late; and even then, it's brushed over. To me, docker can be thought of as a process wrapper. The executable is called an image, and the running process called a container. The benefit of docker is three-fold: 1) each process thinks it has an OS to itself, which is a killer feature for native binaries that have weird dependencies 2) network (port) indirection, and 3) filesystem indirection (mounting an arbitrary host dir into an arbitrary container dir). Against all of this is the whole question of how to really use it to develop and deploy custom software! You could, for example, develop and deploy Java without ever installing Java on the host (not even the development host). But when you are finally ready to deploy, how is that supposed to work? Which pieces are static, which dynamic? Do you bake your binary into the image, or do you mount the binary from the (remote) host filesystem? The docker docs don't answer any of these questions, and I really think it should.
- jlarocco 11y ago> Thanks for the frank feedback. I agree that we have a lot of "wiggle room", as you so diplomatically put it. Out of curiosity how do you feel about the current README on Docker's repo? https://github.com/docker/docker/blob/master/README.md https://github.com/docker/docker/blob/master/README.md I have two thoughts on this. First, if CIOs and IT directors are calling, then it's possible they're confused by the website, too. Second, the README is definitely better, but would be even better by being more specific and exaggerating less. If it's targeted to web apps and back end services, say that in the first place, instead of "any application." Can I run iPhone apps in Docker? Are there Docker packaged apps in the iTunes store? If my application runs on an Arduino, can it also use Docker?
- shykes 11y ago> First, if CIOs and IT directors are calling, then it's possible they're confused by the website, too. I meant to say that they used to call us, back when our website looked like this: https://web.archive.org/web/20130329031911/http://www.docker.io/ https://web.archive.org/web/20130329031911/http://www.docker... > If it's targeted to web apps and back end services, say that in the first place, instead of "any application." That was deliberate. Although obviously most people use Docker for web apps today, there is no reason they can't try it in other contexts too. For example, there is a very vibrant sub-community of people dockerizing desktop apps, and running Docker on embedded devices like Raspberri Pi etc. There are also (very) experimental ports to Android, and I heard of at least one person who after learning that Tesla is a modified Ubuntu under the hood, set out to try and run Docker on it (I don't know if they succeeded).
- wwweston 11y ago> Out of curiosity how do you feel about the current README on Docker's repo? https://github.com/docker/docker/blob/master/README.md https://github.com/docker/docker/blob/master/README.md From the perspective of this longtime software developer, this isn't that great either. I'll try to give some specifics. * The terms "container" and "containerization" seem to mean a lot to the author of the document, but they're never defined well and they're used an awful lot despite this. That kind of thing isn't half-bad marketspeak if the point is to get people thinking about this in the vague "It's the future!" manner that The Fine Article is satirizing (and/or accurately reporting as part of the social dynamics of the industry). The invocation of an unfamiliar term over and over can serve as a form of social proof and generates curiosity. But it might well be what's triggering suspicion on the part of some engineers. * Positioning containers as an alternative to VMs is somewhat helpful in giving at least some idea of what kind of rough problem space we're working in -- someone familiar with a VM knows that they're often used to reproduce the specific runtime environment a given application needs. But by the end of the section I still have no real idea how "containers" are different other than that they're "lighter." Except for one clue: I know what FreeBSD jails are. So I might guess that something like them is involved -- but you're describing them as "primitives", so there's something else involved and I don't see an explanation of what it is. Is Docker a glorified chroot jail? If it's something more, what's the additional value? * And... two sections down "escape dependency hell" -- that might be the additional value prop! But again, this section is really confusing. Dependency management means package management, right? But it's being done with Yet Another New Undefined Entity called "Layers" without replacing any other package manager so... we have two package managers? Or Layers aren't package management? What the hell are they? I could guess they're something like an image but I have no idea. * "Plays well with others" Gives strong hints this is mostly a Unix thing (which, if this is some kind of enhanced chroot jail makes sense). Somewhat in conflict with the hints of platform agnosticism earlier in the document. Is there a story here for Windows, either as a host or for windows apps? * "Real World Examples" These tell me how to "Dockerize" different server apps... but there's no context about why I might want to do this. What problem am I trying to solve? And that's the thing -- at the end of this, I don't know what problem I might be trying to solve with Docker. I might guess Docker helps me deploy an application along with a specific normalized runtime environment, but that's from a lot of guessing and reading between the lines rather than from an upfront communication from the text itself. If my description is accurate, a clearer version of it should be your first sentence. Followed by a second paragraph telling me enough about some specific frictions you've done away with compared to other solutions that I'm wanting to learn more. Then tell me some specific stories about situations where someone might have a problem that Docker is a good fit for, and explain the rough usage that be applied to address it.
- eranation 11y agoI read over and over about docker, did some tutorials. But when my boss asked me: should we use it? And can you please explain one more time what is it anyway? I simply say, well, it IS like a VM but without the VM. No other explanation stuck for me, and I'm sure it's a wrong description of what is docket, but the messaging so far got at least this part for me as the quintessential "what's that docker thing again?" It's a VM that doesn't need a full guest OS. It's a sandbox. I'm sure I'm wrong but I can't think of another ELI5 for this.
- gambiter 11y agoThe problem is, it's not a full sandbox, because all of the containers are running on the same kernel, and are capable of influencing the others, at least indirectly. I have trouble with the idea of calling them 'the future'. So far, I haven't seen a REAL reason to use docker in a production environment.
- davidgerard 11y agoThe one-liner at the top of README.md is actually the answer to the "what is it?" question. Whether this is good front-page marketing is above my pay grade, of course ... it may well not be.