What Open Source Can Learn From Apple
Linux and open source have long struggled to gain acceptance from the wider (read: non-technical) audience. This has improved in recent years, but still has a long way to go. Columnist Matt Asay suggests that perhaps open source projects should attempt to emulate Apple's design philosophy, with whoever succeeds becoming the "winner" of the hearts and minds of the vast majority of users. "Some projects already accomplish this to some extent. The strength of Mozilla, for example, is that it has figured out how to enable 40 percent of its development to be done by outside contributors, as BusinessWeek recently wrote. The downside is that these contributors are techies, but the upside is that they're techies who add language packs, accessibility features, and other "niche" areas that Mozilla might otherwise struggle to deliver. This suggests a start: enable your open-source project to accept meaningful outside contributions that make the project reflective of a wider development community. But the real goldmine is broadening the definition of "developer" to include lay users of your software. The day that I, as a nontechnical software user, can meaningfully participate in an open-source project is the day that open source will truly have won."
I agree with the article that user involvement is key. However, users are clueless about what they really want and you can't possibly use them to write the specs of your product! On the other hand, developers tend to reject criticism from end-users because they lack technical expertise.
I can think of one approach that might work: build a really good analytics library that would measure various usability aspects. Applied to Firefox for instance, it could generate data on how the average user goes about finding a particular setting, how long it takes them to perform a given action, etc.
Developers would respect the hard, factual data that the analytics would generate. It would make it easier for the minority of usability engineers to argue against feature creep.
It's about standards. Apple's UI guidelines are very well written, and very well thought out. When developing your app, you don't need to spend a lot of time thinking about the proper place to put something, because it's generally obvious. This makes it so much more user friendly as a user can pick up on things in a very intuitive way. It also gives a general "feel" to the entire operating system.
When working with Objective-C/Cocoa in XCode, your almost forced to give your app a very Mac like feel to it. The same goes for the iPhone. Everything you'd want in your interface is already pre-built, so everybody's apps have a familiar feel. I know I've heard the exact opposite when developing for something like the Blackberry.
Having more people contribute with no clear guidance will just make things worse.
... only care about EXCLUSIVITY.
I want to make clear that I like Linux and free software; in fact I'm writing this from Mandriva Linux. But we have to accept the awful truth: many Linux users would be using Mac OS X if they weren't a misers. Why do I say that? Because even if it hurts to all of us, I have to say that the Linux community doesn't appreciate quality and freedom.
Normally, Linux software DOESN'T have the same quality that propietary software has. It's normal, it is not bad. After all, free software is free (as in speech) and the other one is costly... No one would use MS Project if GNOME Planner did have the same quality. Is good to have freeware software for things that are not serious, though.
The other reason why someone decides to use Linux is to read the source code, it is a good reason. But let's be serious, how many of you read the code of every update your apps recieve, and when you make sure everything's okay, you compile them and execute them? Nevertheless, I appreaciate the freedom to make modifications. Even myself have modify apps to see on the "About..." screen my own name.
And, the other reason, the reason I would walk on hot coals for it, is that at least 50% of Linux users, use Linux just for exclusivity.Just like Apple is the shit on usability, but more than 50% of Apple users use their products because of the "little apple" logo that appears on the notebook; most of the Linux users don't care about Linux advantages but EXCLUSIVITY.
I would make a difference between two exclusivity types: the miser version of the Macuser, that don't want to spend a buck and uses things like GNOME+Compiz or KDE 4; and the megafriki like Richard Stallman that sees movies with a MPEG-->ASCII converter, edits his web page with a text mode emacs, sees some web pages throught wget, and do everything throught a console while is eating snacks.
The first group don't care about dislocating their hands rotating a 3D cube, nor that KDE 4.2 only do half of the things KDE 3 can do using more time. The cool things is to have windows that bounce up and down like a good tits. Perhaps that is the closest thing to sex they will have. This kinds of users like Ubuntu, Debian, Mandriva... it doesn't matter. After all, they're people without prejudges, that with faith (sometimes thanks to the bad advise that the second group (I will talk about them later) gave them) run from Windows to the freeware Linux.
The second group searches for intellectual exclusivity (as if configure X.org with nano were considered intellectual by someone with a healthy sexual life). They are the typical guys who give you shit because you use MS Office or OpenOffice instead of Latex, the guys who believe they're awesome because they have to type thousands of sequences like "/isearch:qqvv!!" just to edit a text on Vi, the guys who see pages on Lynx and treat you like shit because you use Flash, the guys who think that desktop enviroments are a conspiracy from multinationals companies to force all of us to buy high cost PCs, and the guys who think that, if you use Ubuntu, you're a lammer.
All of them used distributions like Corel, Mandrake, etc. several years ago, distributions that were easy to use (much more easy than Debian or Caldera) and could use lightweight enviroments like IceWM, XFCE, ENlightment... That was enough for them to feel more important than their stupid friends that used Windows, friends that used PCs to do disgraceful things like play videogames, edit rich texts, use scanners or printers, surf on internet with a 56k modem...
With the popularization of distros like Ubuntu, their friends started to switch to Linux, just like they told them before. In fact, they never thought anyone would pay attention to them, and that's why they never thought about the possibility that someday they will not be "superior" to other people because they work for their PCs while everyone else drinks beer or has sex,
"Columnist Matt Asay suggests that perhaps open source projects should attempt to emulate Apple's design philosophy, with whomever succeeds becoming the 'winner' of the hearts and minds of the vast majority of users."
You mean "whoever succeeds." This is elementary grammar!
This suggests a start: enable your open-source project to accept meaningful outside contributions that make the project reflective of a wider development community.
Isn't that already the case with most of the free software anyway? I mean not many people might be contributing to every project, but I don't think that is because the core team wouldn't accept outside contributions. In fact, what the hell does "outsider" mean in this context? I suppose anyone is usually free to start contributing to any project they like; usually it is hard to get accepted as part of the team but that is mostly because you can't expect to just get up one morning and figure out everything about an already existing project or convince everyone that what you want to add is in fact a desirable feature.
Seriously, with every Jack writing a piece of "analysis" these days, I am reminded of the saying: "Opinions are like assholes, everybody's got one".
Gay people are a market, too !
This is a universal. Most software is delivered to nontechnical software users.
Even the specialized mrp and accounting and I bet even the most technical/scientific of software are delivered to nontechnical software users.
Most development approaches begin and end at the source code control systems, by people who don't ever and probably wouldn't want to get near their customer.
Successful development projects do not simply arise from people having the "fun" experience of development. To be successful you will have to do the "not fun" things of supporting your endusers and documentation and attention to the supporting infrastructure that delivers your running software into running systems.
...linux/OSS can do it.
Just keep on.
Cheers,
Have as many billable new versions as is Balllmeringly
possible.
Yours In Bash,
Kilgore Trout
Apple spends a lot of money implementing their design philosophies. Lets face it. It's not cheap to design user friendly high quality UI. Most companies that build open source products aren't serving the Desktop; they're serving the server market. The few that actually are (Ubuntu) are taking Linux and the open source desktop to a higher level.
I am very thankful for Mark Shuttleworth and what he is doing for the Linux Desktop. Everyone knows Redhat flip-flops on the Desktop subject all the time and never actually get much done for it.
"Linux and open source have long struggled to gain acceptance from the wider (read, non-technical) audience"
Do they really? Consensus on Slashdot seems to be "If they can't figure it out, screw 'em".
Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
Apple is very good at figuring out what users actually DO with the products - and that includes figuring it out BEFORE the product is released. This in contrast with giving people what they _say_ they want, which rarely satisfies them.
Can we get a "-1 Wrong" moderation option?
...be responsive to/fix bugs logged by non-techie or non-developer users? That would be a nice start.
I think there also exist different ideologies for different types of contributors. In general, the techies are the ones who enjoy getting something done and may or may not care if they are attributed. Some of the below is speculation, but some of it also comes from reading comments places where programmers are looking for assistance.
However, speaking from the perspective of a winning open source application, a good UI is huge win and it is those types of contributors who are rare. It seems the artists will never touch something they aren't paid for. The same is likely true for those who consider themselves to be usability experts. It is these areas that open source needs to strength, but the people just don't seem to be there.
In a way it is quite sad since your typical artist could probably make a decent set of, say 40 icons, in one to three weeks (personal time). But your typical programmer might spend months to get a working application. Yet who is it standing there with their hand open, palm up, looking for their monetary compensation?
This is bullshit. Bad websites are built people who barely know how to use HTML and Javascript, but believe that the more HTML and Javascript you use, the better the website is. Slashdot, Digg, Gizmodo, Endgadget, Facebook, MySpace - they're all fucking horrible. People believe that because Google can pull it off, they can too. They believe that because they have very fast machines, everyone else does too. The believe that "moar interactive" == "awesome website", and that the more iframes you can pull into one page makes it a "mashup" and very "Web 2.0".
Do you see that kind of shit on the Apple website? Of course not! Apple doesn't succeed because of "design", they succeed because they have production values. They don't tolerate "good enough", they don't fixate on technology because it is new, they don't march to the beat of an ideological imperative. They believe in themselves, and they do what they want because they like it, on the assumption that their tastes are like everyone's tastes. Apple does not live by focus groups. Apple doesn't hold "design" over "technology", they hold "simple" over "complicated". The design wankers attach themselves to Apple's coattails because they can't differentiate between pretty technology and well executed technology. They don't understand technology, so they make a religion out of design so their priests can have something to lord over the unfashionable nerds.
Do you know why so much open source software sucks? It's because the programmers suck! They don't measure themselves against any standard of excellence. They stop when something works, ignoring the fact that it doesn't work well. It's plain old slob apathy. They're not getting paid for it, they can't be fired for failure, so what do they care?
What keeps Apple and Microsoft on top is marketing and momentum. We live in a society driven by mass media. For the most part open-source does not have a sufficient marketing budget. Most people do not even know about alternatives.
"The downside is that these contributors are techies..."
That's like saying the drawback to commercial aircraft is that they are designed by aeronautical engineers.
They're not impressed nor amused by app names like gtkWTF, IAMRECURSIVERECURSIVEIAM, and, especially, The GIMP. Also, stop talking about programs being "stable." Isotopes are "stable." Programs either run well, or are buggy.
People mock Microsoft, but I tell ya... I've worked with people who have no idea what Silverlight is or does, but they want it cuz it sounds cool and has something to do with the Web. It's almost as if Linux developers go out of their way to be non-MS in everything -- including creating marketable names for their wares.
The problem, of course, is that the same guys doing the codewriting are the same guys doing the naming and marketing ("...because, after all, I've written the code, and that's the tough part that really matters, right? And if people don't get the Linus/Stallman/Montypython joke upon which I've based the app's name, then fuck 'em, who needs 'em, I'm only doing it for love anyway...").
Why isn't there any open-source marketing? Maybe some of the bigger projects could reach out to some university business and marketing students who could take on the work in much the same way they attract coders?
Spend time on the UI.
Make sure that your software is the user's bitch, not the other way around.
To elaborate, here are some tips:
Question everything
is actually better than a chaotic/bazaar mess that spins it wheels for 15 years? No shit!? Man, I mean while everyone blabs on and on about the bazaar and how great the chaotic development is, it isn't good enough for that central part: The Kernel. So why in the hell we keep fighting a cohesive and directed effort to build at least a baseline for the entire OS is beyond me.
This is why I gave up on Linux for all but my servers. One day it will happen, or Google/Ubuntu will do it first. At this point I don't even care, just that it happens.
http://teasphere.wordpress.com - A little spot of tea
Polish.
Love many, trust a few, do harm to none.
A sexy one...
"The day that I, as a nontechnical software user, can meaningfully participate in an open-source project is the day that open source will truly have won."
You just did. Feedback from users is the lifeblood of the open source movement -- not programs and data. We listen. Our email addresses and online presence is right here. We don't hide behind departments and voicemail systems with irritating prompting systems. We'll come out for a beer with you if we're close. This isn't a corporation, this is a community. Several thousand people in the open source community just read what you had to say -- and thought about it.
You think you'll ever get that, however much you pay, for commercial software?
#fuckbeta #iamslashdot #dicemustdie
Soo, the author clearly has no idea what Apple's design philosophy is. Nothing in this article is even close to how Apple designs software. Users don't contribute to Apple's design. While Apple does solicit feedback regarding its current software, it strongly discourages (http://www.apple.com/legal/policies/ideas.html) idea submissions or other contributions to development. Steve Jobs once quoted Henry Ford regarding how they feel about what customers think they want: "If I'd asked my customers what they wanted, they'd have said a faster horse." Apple doesn't care about what users say they want, because users don't think about product development the way Apple does. Apple hires very smart people and pushes them very hard to develop what they do. They're very focused on what they want to achieve and usually dream much bigger than the typical user or outside developer.
Basically, Apple's design philosophy is completely backwards from open source design philosophy, and I believe that's one of Apple's true strengths in its design process and what allows them to bring to market the breakthrough types of products that they do. There are many other design and engineering principles that are also fundamental to Apple's success, but bringing that to the open source world seems like a poor match.
The day that I, as a nontechnical software user, can meaningfully participate in an open-source project is the day that open source will truly have won.
Show me an instance of this with Apple. In fact, I would argue the opposite - that their strict control of the platform has allowed them to focus on only approving software that specifically fits the customer's needs the best. As apposed to the open source model which is one tool, a million uses. With apple you get the universal 1-piece screw driver. With open source you get the Craftsmen all-in-one screw driver with 36 bits and 6 handles in 4 colors.
Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
They are awesome if you are happy working within their bounds. True, its easy to snap together pre-built elements into powerful applications. On the down-side, it can sometimes be damned difficult to do anything outside of the box created by the standards implementers. If you are trying to write innovative software (which may just mean solving a novel problem), you are eventually going to bump into the limitations of any guideline or standard. What then? Do you give-up? Or break the standard and create the same old mess -- perhaps worsened by the expectations set by the obsolete standard you just had to break to get the job done?
OS X is a mass-market desktop OS. It can thrive within Apple's UI guidelines because its bread-and-butter is providing very familiar functionality to a user-base with shallow expectations. Is this where Linux should be heading? If you are trying to do more than provide the typical "productivity" suite, browsing, media playback and photo editing software, you aren't going to get by with strident UI guidelines -- unless they are so broad as to defeat the point. Same situation if your entire user base isn't satisfied with having their user experience dictated to them.
Apple is one man's dream, and it will die with that man.
Open Source will outlive any particular person.
You already can, if you have just minor technical skill. Simply, the ability and willingness to explore menu options, figure out how to actually *use* the app, and make great documentation.
Don't blame me, I voted for Kodos
My proposed solution is to make it a rule that all software developers should be required to serve at least one day a week on the help desk.
As far as I can tell, developers-- at least the Microsoft developers, anyway-- really, honestly don't know why ordinary users find their products frustrating and hard to use; while the help-desk people do know what the problems are, but are considered to be so low on the totem pole that nobody would ever think of asking their opinions.
http://www.geoffreylandis.com
Wait, what? Apple engages the user community to develop they're products? Are you sure they don't limit the featureset, tell the users what they want, spend $$ on marketing, and then watch the bank roll in while everyone covets the "new" old product?
I agree, OSS should take a page from Apple's UI and design philosophy. But I don't think involving every Tom, Dick, and Harry to offer input (although, that is necessary, too, I think) and hold the same weight works at the same time.
Apple took good advantage of the portability and generous licensing of open source software and based huge swaths of OS X on long established projects such as BSD and Mach. Then by grafting on a tightly controlled series of entirely proprietary application interfaces, they were able to ensure that while code flows easily and readily from Linux and FreeBSD to OS X, it is almost impossible for them to flow back. That is why you see so few truly cross platform open source desktop applications that originated on OS X but also run on other platforms. It also explains the plethora of OS X-only forks of popular open source applications such as Firefox and OpenOffice.
You were never taken on a tour around someone's house to be shown the more important works of cultural and artistic importance such as BigAss(TM) TV, VeryLoud(TM) Stereo or MostExpensiveGenericShit(TM) they could find?
People who buy things to brag with, brag all the time.
At work, at home, on the road, buying a packet of chewing gum at the news stand...
Mit der Dummheit kämpfen Götter selbst vergebens
No, the more likely responses are: ...
1. Um, we fixed that a couple of years ago - you might want to try a current build at
2. Good idea, I'll commit something right away (if it is something simple).
3. Good idea, we intend to do that at some point along with the dozens of other good ideas we are already aware of.
4. Can you describe the problem a little more clearly so I can try to figure out what's going on? (often a response to "your program sounds good but it sucks it crashes when i use it", or similar).
5. And, admittedly, sometimes "none". When I'm not busy in real life, I'm all over my email, various forums, etc. to help users, but sometimes other things take priority over my *hobby*.
We are *not* trying to conquer the world, or at least I'm not. The proprietary software companies may be competing with me, but I'm not competing with them. I'm just doing what I'm doing. It does make me feel good that at least tens of thousands (maybe hundreds of thousands) of people use my software on a regular basis, but it doesn't affect me materially whether they choose my programs or commercial alternatives.
According to Apple's design guru Jonathan Ives, Apple don't do focus groups. Seems to me Apple just do what they (Jobs) think the user want and best damn way possible and let the world judge them. With Apple there is a coherent philosophy to their overall final product. Lumping Open Source all together is your first problem. Just the different Linux distros have different approach and design philosophy to begin with. How do you expect the final "look-and-feel" polish to be the same on all apps and harder still - hardware integration? Say most OS advocates are computer savvy geeks like pro drivers are geeks about race cars. A professional racer's idea of dashboard and controls can be quite different from your average driver on the road. You cannot control a diverse group like the whole OS movement itself. All we can hope is a small group of OS advocates focus on producing a single product that adhere to a single, well-received, consumer user philosophy. One advantage Apple has people always forget too is that they make well designed hardware interface. What users learn to see and touch and they like, they sick with.
What most open source applications lack is the overall successful user experience. The open source application may shine in all areas while lacking in some seemingly small component of the application. But what does this tiny component matter, it is small and irrelevant. This is what can be learned from Apple. Nothing in the user experience can be deemed irrelevant, no matter how small.
...will be one cold day in hell. Seriously, I don't mean to be harsh, but coding takes knowledge of coding. All the well-meaning non-coding critics in the world will never be able to offer anything but suggestions and testing until they learn to code. Most people can't even file a bug report properly.
Caveat Utilitor
1 out of 1(0) users know what they want and can express it.
5 out of 10 times they want something that can't be done.
4 out of 10 times they want something that can be done but shouldn't.
1 out of 10 times they want something both worthwhile and achievable.
>> ... users are clueless about what they really want...
That's absurd on the face of it. In my experience, users almost always know exactly what they want. The problem is that the don't speak tech, and techies don't know how, and often don't want, to communicate usefully with users. Techies keep using words like "specs" and "requirements", etc. Write the specs and then move on to the real fun. They want to use tech to measure all sorts of irrelevant things, as if people really decide they like or hate some piece of software because their mouse moves 0.54 centimeters less. People don't even notice things like that.
The way to find out what users want is to pay attention to how they do the job they want the software to do. Learn how users spend their time. Learn what they see as important. Learn the roadblocks. Sit with them at their desks 8 hours a day for a week. Take lots of notes. Then, go off and think. When you're done, come back with a rough sketch of what your code could do for them. Ask things like, "If you could do this, would that be useful?". Take more notes. Rinse and repeat. Write real code. Enlist willing users to test code, not to see if it works -- you better already know that -- but to see if they like it. Rinse and repeat some more.
-- Slashdot: When Public Access TV Says "No"
Users do so know what they want! When they fire up a browser, they want it to render a webpage and not get hung up on something, or bog the whole system down if it has been running for a day. When they want to print, they want it to *print*. When they hit a media player from a menu, they want the *&*^&*()(ing sound to come out of the speakers, not go google around to see if jack has alsaed his pulse correctly with this week's hot new "distro" du jour. If they download a new app, they want it to show up in the graphical menu, not get teleported away in /lusr/share/binned/buried. When they first boot up, they want the monitor to be functional, not look like the machine is on electronic qualudes. And stuff like that and it is that simple.
The details are for the devs, not for the endusers, blaming the endusers for their sound not working or printer not working or screen looking like ass is not a smooth move, because it isn't their fault at all. Car analogy, when folks buy a car, they don't want to even think about needing 10 grand worth of snapon on wrenches, another 10 grand of analysis gadgets, and a huge library of manuals, they just want it to work, and they are willing to pay for that. Some people who own cars are gearheads, most are not, same with computer users, and until this is grokked better, the problems will continue.
If they are having a problem, and maybe could actually ask a legitimate question or offer a suggestion, regular computer users shouldn't be required to register AGAIN at one of the 10,000 support places,(where to go, the distro forums, no the app developers forums, no, register for some arcane mailing list straight out of 1987, no...) It should just have an automatic way to capture the latest instance of this or that running and ship it to the devs, with a little comment box to add the details, and should be CCed to both the distro maintainer and also the main dev for the app, *simultaneously*, so no ignoring or buck passing can happen. As in a bugzilla that didn't suck.
And here's the main reason none of this stuff really gets fixed, this nutso fixation on "Release early, release often", because that means *perpetual alpha or at best betaware*. Perpetual. The main devs go on to the next new featureset three nanoseconds after the alleged "gold" release, which is always beta at best, and never really fix the old features so they really work and are cast iron.
Sure, people shouldn't bitch when they are getting it free, I agree, that's why I would support some distro that actually was paid, and had a system where the outside developers could get paid as well based on user feedback and interest, a micropayments situation. Ignore bugs and feature requests for whatever app you develop or work on? No loot for you. It's all up to you, take feedback as it comes or not, binary decision there. Really listen to the end users and try to fix bugs and add features that people want, you make more loot.
The system could be run by the distro seller, with a ranking "karma" like system for apps, both for which app gets included and for how well it evolves, splitting the income and profits, and don't throw a thousand apps on the thing, one CD worth is more than enough for a base system, you don't need a full huge DVD worth of stuff for regular ole desktop users, the market in question here. Those folks are never going to use beyond a fraction of that stuff on there anyway. Trash all the redundant apps and just make an executive decision with what to start with, and stick to it, and have one good "thing" as opposed to 15 things that all kinda sorta similar but none of them really work all that well. Talking regular computer users/drivers, not professional drivers or professional mechanics. I bet a lot of people would pay say 20-40 bucks (some number that isn't 100 or 200 or 300 dollars, but not zero, either) for a simple and functional desktop OS version as opposed to some free version with thousands of redundant and sorta non
haha, nothing, open source doesnÂt need to learn something from Apple, this is one caprice of a bunch of apple fanboys, keep dreaming.
Actually, the key to Apple's success not so much that they include non-techies in their design process (they probably do), but that they haven't laid off their human-factors scientists. Sometimes users don't even know what would make their lives easier, but psychologists trained in human factors do. I recently "bit the bullet" and bought a MacBook (which was about $600.00 more expensive than a comparable Dell or Acer laptop), and have fallen in love with the machine. I'm fascinated by the "little things" that Apple has done: like making the touchpad larger and making it a button -- I've always hated touchpads on laptops, but this one is so well thought out that I don't ever use a mouse with the MacBook. I had a dramatic example of Apple's practical ingenuity when my dog suddenly ran across the room, right through my son's and mine power cords -- My son's Acer laptop went crashing to the floor, while the Macbook's power cord neatly detached from the machine (it connects to the machine via a small magnetic connector). I don't think a lay-person thought up these things. Every day I discover something like this about the Mac, and I wonder why other companies don't follow Apple's lead (patents??). You see this with the iPhone, also, where other phones have tried but can't seem to get the "touch and feel" quite right. I think it also should be noted that Apple is first and foremost a "hardware" company, not a software company -- they don't market MAC OS X -- they market Macs. Perhaps a Linux distribution should hook up with a good hardware company, create a really nice innovative machine and "brand it". I think this would especially work since Linux comes with so many useful professional apps (like Open Office Suite, Gimp, Firefox, Banshee etc...) you would get a "ready to go" machine right out of the box. I have Ubuntu running on my MacBook (VMWare Fusion rocks!!) and it's a dream combination. I can't wait for those "I'm an Ubuntu" commercials :)
I agree, however you can abstract certain things to a very high level where it allows users to "fill in the blank" with very standard tools, such as those found in any RTF editor or simple vector drawing program. The low level "techie" parts should always be in libraries or specific external tools/programs that you can pipe data through, the medium stuff should be the glue that holds it all together, and the rest, like the GUI, menus, help, language translation, documentation, program icon, etc, could be done at a very high level. A very simple to edit, high level script language that controls the user interface, could even be used to control various program parts, and encourage users to dip their toes into more technical regions.
Allow your program to pause and show you exactly where in the high level script you are, have mouse-over variables that show you their contents, mouse-over syntax that highlights the affected objects live in your program... Make it easy to substitute other libraries/tools for the ones your program uses, and let the user drop-in/drop-out additional features in that way (perhaps an "XML for libraries" could be done)... The best stuff to learn from is programs that let you mess around and manipulate them at a high level in realtime and let you see what your changes do.
Sure it may be pie-in-the-sky sounding stuff, but maybe in the future you could just highlight a bunch of libraries and tools, hook them up flow-chart style (the app does some magic to determine the reguired & optional bits to control options/parameters, see which menus they should live in, and create a default template GUI), and you could have just started creating a new program. Maybe something like this only a lot more abstract.
Twinstiq, game news
Steve Jobs once quoted Henry Ford regarding how they feel about what customers think they want: "If I'd asked my customers what they wanted, they'd have said a faster horse."
Ford was still producing the Model T well into the 1920s - despite alarming declines in sales. The Ford came with a hand crank until 1919.
Ford's competitors were offering better styling, better brakes, suspensions and so on.
Ford offered one of the first farm tractors. But it was Ferguson and John Deere that introduced the PTO and three-point hitch.
I call BS.
bash is UNIX2003 standards compliant because of Apple contributions back to bash.
vim is UNIX2003 standards compliant because of Apple contributions back to vim.
I could repeat sentences of this format for about 80 different Open Source versions of UNIX command line commands.
Apple just doesn't make a press release every time it contributes a patch back to an Open Source project.
-- Terry
The Truth About Commercial vs. Open Source ...is that in a commercial setting, there is dictatorial editorial control, and people are willing to work on things they wouldn't ordinarily work on for the joy of it, in trade for money.
Without that, there's no way to prioritize customer input ahead of developer desires, and there's no way to get a developer to work on something that they disagree with.
The closest the Open Source community has come to this are companies like Mozilla, RedHat, and Ubuntu, which are large participants in particular Open Source projects, but which internally exercise a single editorial philosophy over the product, and have paid engineers to work on the things that no one would work on at all, if it weren't for the money.
I have absolutely no idea (and I expect no one else does, either) how you would cause a bug report to be responded to in a timely fashion and get it resolved to the satisfaction of the person who filed it, in an Open Source project, unless the person who filed it wrote the fix, and the fix was acceptable to the some pigs who were more equal than others in the project. Most large changes to Open Source projects are arbitrated by a board of people who are self-selecting, who are there because of seniority, or nepotism, or as a result of a popularity contest. From such groups, you're going to get consensus. Anything that goes against that is going to get strong resistance, even if the consensus is basically what Frank Herbert called a "demopoll", which means you will always end up with the lowest common denominator.
Great products (and terrible ones) require an 800 pound gorilla to force its views on the participants, and for those participants to be willing to stick around despite the force.
-- Terry
The truth is that what makes so much open-source software so great is fundamentally incompatible with the desires of the normal, day-to-day morons who make up the "wider" demographic. Typical users hate options; they want things to "just work." They hate not having the Start button in the lower left corner of the screen. They're lazy cretins who don't want to have to learn that it might be at the *top* of the screen instead, much less that there is no C: drive. They never want to have to set up their hardware; they'd rather have huge swaths of memory and disk space taken up by seldom-if-ever used drivers just in case they ever want to attach that random device. If compromise on the power of open source is what is necessary - and to some extent, it is - then forget them.
The hope for a coherent "Linux Desktop" is a mirage. It can never occur.
In "The Cathedral and the Bazaar" Eric Raymond examines two software development models. One restricted and the other open. The Bazaar model has the advantage that "given enough eyeballs, all bugs are shallow" but I would say that given enough designers all Cathedrals are bazaar. Bug free, but incoherent.
He agrees that it is necessary to "define goals and keep everybody pointed in the same direction" and that "it's fairly clear that one cannot code from the ground up in bazaar style. One can test, debug and improve in bazaar style, but it would be very hard to originate a project in bazaar mode." The "Linux Desktop" originated in bazaar mode.
A coherent "Linux Desktop" cannot converge from hundreds of application visions without strong outside forces. Apple's desktop evolved in an environment with strong design guidelines enforced by both a benevolent dictator from within and a demanding user base from without. It originated with the well documented "Apple Human Interface Guidelines". http://devworld.apple.com/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGHIDesign/XHIGHIDesign.html#//apple_ref/doc/uid/TP30000353-TP6 The pragmatics evolved over the years, but the basic principles are as true today as they ever were.
Until the Bazaar development community operates under a the dictates of a powerful "Home Owners Association", it will continue to look and feel like trailer trash.
The problem with linux on the desktop IS THAT IT'S RUBBISH.
On console, it has stupid basic mistakes like 'cal'-program missing the 'ncal' symlink. I've heard that on programmer level it's very unstandard (no specifics here, sorry, but for example the author of 'UADE' said so and I have high respect for his skills).
The GUI is plain, but works. Compiz-tuned gnome or recent KDE beats it in looks and effects but it works. The file requester is the second best I've encountered, the best being the ReqTools requester for AmigaOS 15years ago.
Spotlight is excellent and fast. The bundled apps _work_ and are a delight to use, except the Mail app which is pure unpropelled shit. I still use the Mail app because most other apps expect me to use it and "mail to"-function won't work. Plus Thunderbird 3 still won't use the system address book which is already synced to my iPhone etc.
I use Linux at work (both as desktop and for about half the servers), have a Winshit gaming puter (XP) at home, and use a macbook for all the "fun" stuff. Videos, photos, music, syncing with my phone, car player... Apple has the desktop thing done right. It all costs tons of euros and is not FREE but I don't care, I get premium product for the price.
'Once scientists, even the dim-witted social scientists, get muzzled, the Western Civilization is finished.' - oldhack
e17.
If there was ever an example of a "closed" open source project...
e16 was damn cool window manager. And then e17 happened.
But then I had a big 'No friggin way' moment right at the end:
Do you know why so much open source software sucks? It's because the programmers suck! They don't measure themselves against any standard of excellence. They stop when something works, ignoring the fact that it doesn't work well. It's plain old slob apathy.
That wording is just far too broad a brush to use, even in this "Apple desktop" context.
If we considered the great breadth of FOSS software we'd have to conclude that excellence is a FOSS hallmark, but only for projects that have are targetting a technical or programmer user base. This is critical! It means that FOSS programmers are disconnected from non-technical users (more aptly, non-technical use cases, where fir instance Bob
Never mind, my text cursor in Ubuntu's Firefox just disappeared again and I'm tired of trying to figure out where it is for adjustments and corrections. Back to my Mac...
I hadn't posted, I'd mod up for I dunno what.
What Open Source Can Learn From Apple
1. Advertise the hell outta your product
2. Make it cool to the mainstream
3. Make it more understandable to a non-computer person vs. a CS grad.
4. Appear democratic when you're a dictatorship.
5. Use the geeks fanboi as your propaganda tool. It's about BRAND.
Of course, open source will never reach those objectives, unless open source folks want to make money. It's not right or wrong, but a choice.
As I was saying, its more a matter of FOSS devs ignoring non-technical use cases, not just users.
If Bob can't use his email or spreadsheet effectively on the FOSS platform, he is going to be more apt to go (back) to the Apple or MS platform even if he is highly technical. In the end, most technical Linux users will probably reserve Linux mainly for niche functions while they spend most of their time on Mac & Windows for office- and arts-related work flows.
I'm not sure why Firefox (the main FOSS exception, since it is quite excellent) runs poorly on Linux. Not only does my cursor disappear more, but all the way through version 2.x the radio buttons would disappear when clicking on them (kind of a show stopper). I think the relative formlessness of the "Linux desktop" contributes to a situation where Mozilla does less testing for each distro than they do for Windows and OS X, leaving the distros to carry out testing for the last mile.
Mozilla also doesn't even create proper packages for Linux users to download. They may feel it is too difficult to target so many distros and so many different versions of each distro (and provide tech support for all that variety).
If I am paying some dude to write a custom solution for me, he damn well better listen to what I have to say. If not, then we have a problem and I can find someone else. Usually, I can.
That's commercial software.
I think the truth is often developers care less for end users (or have less time or patience) then one might think. In a business environment this tends to have less impact because somewhere in the chain people who aren't the programmers will be included and some missing or poorly designed elements will be addressed. In open source projects there isn't really much marketing and from what I've seen even a little resentment towards the very idea, the 'scratching an itch' model often results in projects which seem actively hostel towards much of its own user-base, and why shouldn't they be, it's their time and their itch. Hopefully as the mainstreaming of open source continues the developers involved in may of these projects will become more interested in their respective user bases and a lot of the trouble is probably that it's actually really hard to process feedback so many developers simply assume that because users can't always express themselves accurately that they don't know what it is that they want: communication is tough and not all talented programmers are such talented people persons.
Quack, quack.
It's great that Apple gives a little back to the command line code they lifted wholesale from NetBSD, but why no iTunes for NetBSD users? Why no Quicktime for NetBSD users? And why is it that there is this absolutely HUGE development community around OS X, but almost nothing that comes out of is ever written portably? The mailing lists for long standing Linux and BSD Open Source projects everywhere are full of requests to port code to OS X. The vast majority of projects are able to satisfy those requests because, as I pointed out, OS X is designed as a roach motel for code: Open Source checks in, but it doesn't check out. By comparison, the list of *novel* Open Source desktop software written originally on OS X and ported to Linux or BSD can be counted on one hand. Let's see, there's Transmission, and ... ?
Two points:
Are you adequate?
I'm a programmer and even I have to admit that just thinking about contributing to a FOSS application is a PITA. There is a lot of boilerplate skill required to start contributing patches.
In general the process is something like this:
Locate the source management system, whether it be hg, bazaar, git, svn, cvs, etc. or just plain tar ball
Set up an IDE
Set up a project in said IDE, this more or less includes setting up a source management system of your own.
Find the piece of source you want to modify, this usually consist on either editing a button callback or extending a GUI form/window, some times even creating your own window.
Generating a patch.
Interface with the project's bug tracking system open a feature suggestion ticket and attach the patch.
Add to that that everybody uses a different language and libraries.
For most feature enhancements that a regular user would be willing to code himself the setup phase is way overkill.
But... the future refused to change.
Here's where us techies usually get it wrong. The user does not want or need a flashy interface like Compiz, it is actually very unhelpful when what simple users need is a clear, concise and easily understandable interface.
They need fewer options, less flashy distractions and background "noise".
I use all major operating systems and hardware, I like them all, but I know how my parents and less advanced friends work. Give them less options, less flashy features.
Like many other people on Slashdot, I'm a developer, and I have strong opinions on user interfaces. I develop for a Microsoft ERP-system, Dynamics AX, one of the features I really like is the way you add custom forms and classes. All the extra windows and forms are dynamically redrawn and only use standard designs and components. They scale well and they always feel like a part of the same system. The users never get distracted by different styles and colors, and they learn/use it faster and more effectively. Of course the system was not developed by Microsoft, they just bought it from Denmark.
Is that you Michael Dell?
Homework assignment for commercial apps on NetBSD
(1) Provide an accurate count of the number of NetBSD installations
(2) Disregard all server installations of NetBSD (subtract them out)
(3) Disregard all non-Intel installations of NetBSD (subtract them out)
(4) Disregard all versions of NetBSD that are not binary backward compatible with the most popular one because of changes to system libraries (subtract them out)
(5) For the remaining desktop machines, identify the percentages of each GUI toolkit; include binary incompatible library versions of the same GUI toolkit as separate toolkits
(6) Of those, pick the non-GPL'ed one with the highest market share
(7) Report that number ...that is the potential market for a commercial GUI application running on NetBSD.
(8) Now multiply this by the percentage of those installations which would get the application. ...that is the actual market or a commercial GUI application running on NetBSD.
Obviously, you could increase the number from #7 drastically by standardizing on a particular version of a particular GUI toolkit and having a strategy for maintaining binary backward compatibility with future versions of system libraries. That would increase the overall value of the market
-- Terry
Yes, that's the reason the changes were made.
No, that's not the reason the changes were given back to the various Open Source projects, instead of just keeping them in Mac OS X and not sharing them. It's not like those projects have licensed the test suites from The Open Group themselves, so someone giving them the changes is about the only way they would end up being standards compliant, since they couldn't do it on their own.
PS: Many of those projects are changing to unusable licenses, so there's no maintenance benefit to Apple for giving the code back. This is genuinely a case of Apple being "the good guy".
-AC
I am an avid Linux user - not a developer. I am actually impressed by their vision of freedom - and not the monetary kind. /. a lot, and majority of opinions were that even grandma can use it, I bought a Linux m/c from Dell while I was with them - 2 weeks. Also, since they use it sparsely, they subscribed for the base internet connection - i.e. 2 GB max / month.
Now, my parents wanted a desktop 2 months back, and since I know more about computers, I was consulted. My parents are ~60 years old. Since I read
My dad is a doctor - so he has a lot of CDs which he wanted to run - most of them excerpts from conferences, some videos etc. Most conferences actually make their own .exe files for slideshows etc.
I got the system, set it up and tried to run CDs - but it did not - Wine was not installed. So, I downloaded Wine.
I tried to run it in wine, even then it failed with some error boxes saying things - like floating point issues are there etc.
I tried to run the videos - but none of them ran. I dont remember the format - but that format - even though supported - had some issues with xine and the default media players used.
Since I had just 2 days to debug, (i was there only 2 weeks, and the system came in 2 days before I left) and limited internet connectivity, I couldn't solve it.
Now, I have a system which is not used in my parents place and I lost some respect that my parents had for me :-(
If anyone asks me for a machine now, I will ask them to install windows from now on - less hassle all around.
Any MBA should know the opportunity cost of time: If he can ditch this and earn something doing some other work, he is doing a loss. Open source development is a challenge, and challenging tasks need to offer rewards.
I know, most developers wouldn't understand this, but it is no more "I will do stuff because I can". For MBAs, it is (ofcourse I am being generic) "What am I going to get in return for this".
Have an incentive structure in place, attract people who are either devoted to the cause or are interested in things other than money and a few MBAs might actually go work with open source projects.
If I need to explain why an MBA is needed at all, here is what you do: Take a proprietary software (market leader or otherwise), calculate its revenue from the particular product. If you had a decent MBA, you would be in that position and the social impact you could have caused is the revenue, which is saved by customers by not buying the proprietary product.
http://monkeynesianeconomics.blogspot.com/
Well written. Linux will never amount to much of anything mass market (other than for server use) because the market is too fragmented. Most users don't want to compile their own software. Yet there are way too many distros with their own eccentricities.
Take a look at DistroWatch. Can you imagine providing tech support for umpteen OS variants? Okay, so you're running Gentoo on an XBox with a 2.4 kernel but without the foobar patch on the Reiser FS using GNOME and Firefox 3.0 compiled with GCC 4.4 with stack protection off and GLIBC 2.10.1 under XFCE 4.6.1 and Flash won't run...
How can you run a nearly unique OS and expect anybody to even try to support it? Who will bother building or doing any kind of QA for a community of 3? Do you know how many QA guys it takes for even a tiny application on Windows or OS X? But at least you might sell a good 10,000 copies of it.
Usability is inversely proportional to the number of mouse clicks for the user desired feature.
Slashdot = Sarcasm
Why people are wanking about with KDE and Gnome when there is a perfectly usable environment with various libraries common to MacOS X puzzles me.
Sure, the work done on KDE and gnome is nice, but it still a FAR way off what NextSTEP had in 1991. Pretty up the front end of GNUStep, and you'll have something akin to OS/X / Cocoa, with a fairly high level of source and development methodology compatibility.
I guess the lesson "open source" could "learn" is to stop reinventing the wheel, when that problem was solved many many years ago, and concentrate on moving FORWARDS to newer and more ambitious goals.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
We've got a "Help Us" page ( http://www.tuxpaint.org/help/ ) that explains how contributors can help in all sorts of ways (code being only one). We keep the latest translation files online for easy download (no CVS needed), along with stats on how complete they are.
One of these days I'll get around to finishing the asset management web application I started working on, to make it really easy for graphics-oriented folks and photographers (and just folks who find usable PD and Creative Comments artwork) can collaborate.
Linux is NOT Microsoft Windows and it is NOT Apples OSX and it is NOT HP-UX or anything else.
The strength of linux (and with this I mean the whole opensource enviroment that you can find on a ubuntu CD) is that it is its own thing.
You have Ford and it produces cars that appeal to some people. You have Ferrari and those cars to appeal to some. But you also got people who build their own cars (possibly from kits) and that is a market too.
It would be absolutely silly to ask a kit-car to have the same build qualities as a porche or the same features as a mercedes.
The people who want linux to learn from either apple or MS are the same who would put a radio in a ferrari or an airbag on a buggati. Or for that matter require that a dune buggy has an airco.
Linux is what it is because it is what it is. That includes a thousand techies "designing" software to their own tastes. If you happen to like their taste, you are in luck. If you don't... well then you either become a techie or pay someone to be a techie for you OR buy Apple/MS.
What always amazes me in these type of stories is that non-linux users seems to thinkthey can demand unpaid linux developers to dance to their tunes, yet happily pay both MS and Apple to NOT listen to them. I told apple not to go to Intel and did they listen? I told MS to not do Vista DRM and did they listen?
Before you try to tell linux developers how to their their hobby, try telling the people you actually PAY how to do theirs. Get safari the way you want it if you want to bitch about the mozilla team not listening.
For that matter, if you want linux to listen to customers, then you need to talk to RedHat or Ubuntu or whatever. They are the ones who have customers. Linux does NOT have customers. It has developers and users. If the user does not like what the developer does he first has to become a customer. Good luck with that.
I am working on an UI right now that is inspired by Apple, and yes--it's based on Linux.
The long term goal is to put together an operating system. The short term goal is to create a intuitive, zooming user interace.
http://brevityos.blogspot.com/
"Stable" has two meanings: 1)features set 2)failures are rare
A problem is an opportunity http://mrpogson.com
One of the richest companies in the world produces a crappy user interface. So much for the thesis that GNU/Linux must have professional UI designers. Take, for example, GIMP. Many say it has a lousy user-interface. I can give GIMP to folks who have never used PS and they have no trouble at all making the fish larger, eliminating fly-away hair, whitening teeth and eliminating ex-boyfriends. In what way is the UI not good? Only in that GIMP is not identical to PS, apparently. Folks who take the trouble to learn how to use GIMP have no problems with its user-interface.
A problem is an opportunity http://mrpogson.com
If Apple has to spend a bundle on marketing to get the meagre share they have, why has GNU/Linux twice the share? Could it be that its not about marketing only but price also matters?
A problem is an opportunity http://mrpogson.com
... So everybody likes them?
Apple is an open source success story. OS X and WebKit are massive open source successes. The iPod is as good an Internet citizen as BSD Unix. The Mac is the easiest to use computer yet gets no viruses. The Web was created on an early OS X and ported easily to open source Unix as a result.
The people who should be learning from Apple are not open source coders who work on the many successful projects. Open source is at least 1 step further into behind-the-scenes than the consumer. It's HP, Dell, Sony, possibly Google and Microsoft, and maybe other manufacturers of consumer technology like car makers who should be studying Apple very closely. Not only to notice Apple's design chops, but also to notice their very successful engineering, including open source efforts.
You only have to say "What Microsoft can Learn from Apple" and contemplate how much better Windows XP would have been if the core OS was BSD-compatible. No viruses. No botnets. All of the engineering efforts that went into the failed Windows 2004 could have been used more productively in the user-facing features. All of the engineering efforts to redo that for Vista could have been used more productively. The typical Windows user installs more patches than apps, and the patches are for stuff they never see or use. Microsoft could be platform-independent through open source, so they could choose to run Windows on ARM right now, which they are not at all prepared for. If they had done their browser engine a la Gecko and WebKit, then they wouldn't have 4 wholly incompatible engines running in great numbers on the Web right now, which they analogized to puke in a recent ad and they were the last ones to admit it. Apple has none of these problems. Apple runs the same kernel on iPod, iPhone, Mac, and XServe and no crashes or viruses anywhere.
On the other hand, with Palm, in the Pre you have a Linux kernel and WebKit browser engine replacing Windows Mobile and IE Mobile from the Treo. Because of Apple. That is Palm learning from Apple about open source.
So it's Apple's competition that needs to learn both from Apple and from open source. Apple and open source are both very successful.
What most developers of poorly designed software forget is that the features are just part of your application's user experience. The larger portion of the user-experience is the aesthetics and usability of an application. aesthetics and usability help in two crucial areas : 1. The first impression : It is the first impression of an applications that would make or break a deal. Very few users would read the technical specs/feature set of an applications. Most will decide on whether to use an application based on its first impression. In my opinion, aesthetics is the major reason among windows to mac switchers. Many say they use mac because 'it just works'. However, they would be able to decide on whether it works only after they use the mac for a while (I mean not just the 5-10 mins in apple store). Some might get a chance to use the mac at their workplace or use a friend's mac. But I believe most of them really decide on switching based on aesthetics alone. [This might be a very controversial statement, but somewhere deep inside in our brain we are wired to make our decisions based on aesthetics (or beauty) if we have to make a quick decision, probably because the other factors like tech specs and usability would take more time] 2. Loyalty : This is another area where aesthetics and usability play an important role. I person might be using your software for its features (or because there is no other alternative) but he/she would switch to another software in heartbeat if the other software has almost the same feature set but a better looking UI. On the other hand a person using a well designed software would hesitate to switch to a feature rich application if its UI is crappy. Here is my personal experience. I had been a devout user of open source software including the Linux OS for quite a few years. Last year I decided to buy a desktop since my old machines couldn't be upgraded any better. I decided to go for mac instead of windows. Now when I need any particular software, I still try to find an open-source alternative, but then I also look for an equivalent software from apple or any other mac developer. Usually the apple/mac software has almost all the features that I need , is priced at $20-$40, and has a much more beautiful UI. After about a month of testing both, the open-source software and trial version of apple/mac software, I normally end up buying the apple/mac version.
That post is a "free translation" of a member in the family of posts that are quite often posted at the spanish version of slashdot, "Barrapunto", by some Trolls. They don't care about the content of the post, that's why you've seen nonsense when you read. They just copy-paste the same text again and again, and so on.
Those post that belong to that family are often titled as "The truth about Milanga", (La verdad de la milanesa)
A more accurate translation of a typical "The truth about Milanga" would start like...
Although I love Linux and free software a lot, in fact I'm writing this from [Insert Linux distro here] Linux, I think we everybody must assume the astonishing reality.
Nowadays, it doesn't matter if KDE XP or GNOME Millenium are released. When Linux had a chance to earn a place among the desktop market, then it wasted the time and strenth while doing again and again already done jobs. If KDE and Gnome would had work together shoulder to shoulder for giving Linux an unique desktop, surely we'd have a decent GUI. But, instead what we get are two shamed trials of desktops that are useless unless you own 1Gb of RAM and the whole time in the world for setting up the screensaver
But there are many members in that family, some of then begin like...
Although I love Microsoft Windows Vista and privative software a lot, I think we everybody must assume the astonishing reality.
Although I love RIAA and recording companies a lot, I think we everybody must assume the rude reality.
Although I love Apple and software for Snobish people a lot, I think we everybody must assume the astonishing reality.
Although I love Rails and its derived languages, I think we everybody must assume the astonishing reality.
Although I love Digg and Social Medias a lot, I think we everybody must assume the astonishing reality.
Actually, it is a translation of a troll comment that was pasted again and again on different news on the spanish Slashdot mirror "Barrapunto". People is so bored.
Hi guys, I just want to advice that this post is just a c&p/traslation from a troll coming from the spanish version of /.. It has been around from many years and it seems that finally the troll learned to writte in english.
You can take a look on the lots of versions of this same shit here lookig for the parents of the comments.
So, don't feed the troll!