My full disclosure: I work for the company that this guy has been flaming at and he’s been doing it for a while now.
Disclaimer: Everything I say in response to this guy comes from years of experience with software development before I started working for Apple and in no way nor context am I disclosing internal specifics about my employer.
There was an old hypocrite who lived in a shoe. And by shoe, I mean glass house. And by old hypocrite, I mean, well, a lame, hypocritical stone-maker who throws stones.
Here’s a little background information on software development. Development is more than just writing a program. It involves interaction with ‘domain experts’, in other words, those people who will be using the software and who know best the tasks they need the software to accomplish, you also need to keep in mind that working with a software testing standard like misra is a must. It’s also up to engineers who either have a background in the domain or at least do some seriously legwork in learning about the domain. This is the fundamental catch-22 that’s usually one of the most difficult parts of software development. Think of it as, say, a Tibetan historian trying to communicate with an American engineer alone in a room with no moderator nor translator. This stage is arguably also the most important. Software exists to enable or enact…people, businesses, teams, other computers..whatever. Software’s purpose is to accomplish something.
People usually pay far too little attention to this. From small developers to large ones: Microsoft doesn’t care about people who need to produce documents so much as they care about the marketing people who need add extra features bullets on their Powerpoint slides.
The software itself—that is, the final product that goes out to the public—often lives or dies mainly on how much care was spent at this stage of the game. The short version of all this: know your audience!
Here’s how software product development works in every development house I’ve ever worked for:
- Create a proposal for a feature set based on what you expect the app should do.
- Speak to domain experts before and/or during this process.
- Prioritize those features, again using the expertise of the domain experts’ assistance
- Produce a schedule and have engineers write the appropriate code, designers produce the graphics, HCI/UE people approve or create workflow scenarios within the app
- Have QA people come up to speed on all these things and along the way, test and file bugs against each interim build of the app.
- Jettison features for which there is no time to implement or get working acceptably.
- Continue QA, including filing bugs against errors and broken features
- Along the way, all bugs filed into a database are reviewed by managers and engineers. When bugs are fixed, they are re-categorized so that the QA people can verify the fixes.
- Eventually, all high-priority bugs are fixed and decisions are made whether to release the software or not, with remaining bugs deferred until a future release (like Mac OS X was released as 10.5.0, quickly followed by a 10.5.1 version which included fixes for many of those bugs that were deferred from 10.5.0.
In many cases, it’s a user out in the field that has discovered a bug. And for reasons already explained, those users are encouraged to file the bugs through official channels. That almost always means filing the bug directly to the company, which adds the bug directly to the aforementioned database of bugs, which means they go to god, which means they end up in the only place they can possibly be found and tracked.
So this guy at Rixstep hasn’t gotten fast-enough satisfaction when he’s filed bugs, so he stopped submitting bug reports for the bugs that bug him. Completely illogical, unless he actually believes his cheap potshots posted solely on his own little website is going to be more effective in getting Apple to fix bugs than actually getting bugs entered into a bugs database. Then it’s not illogical, it’s delusional.
But I read most of these rants and found them a bit hysterical (unraveled, not funny). After a while I discovered that he puts out his own software, one of which is called Xfile. He touts it as a replacement for the Finder because he hates the Finder and its bugs.
Fair enough. That’s what official SDKs are for: writing software as a third-party. I even applaud him for it, did applaud him for it. Until I started on the path to obtain and install and use it.
The software downloads as you’d expect, and the Finder (irony!) uncompresses the file, leaving you with a folder. Ok, we’re still well within a user’s expected experience, all’s familiar.
But what’s in the folder? A bunch of applications, a “readme.html” file, and something called APC.framework.
Most of my friends don’t know what to do with a .framework item. Certainly my mom has no idea what the hell ACP.framework might be. Most Mac users might have heard of a framework, but only from a certain distance, thanks to Apple for shielding as much of the techie stuff as possible from a user.
But there’s that “readme.html” You have to drag the ACP.framework into the /Library/Frameworks folder and you have to create that folder if it doesn’t yet exist. Then you drag all the other contents (other than the framework and the readme.html) into your Applications folder.
Does the Rixstep guy know that the Mac comes with an Installer.app? Does he understand how to build one? The behind-the-scenes reasons why it’s preferable to build an installer package?
So I ran the app, cuz I’m a software guy and I happen to know how and why those steps exist (even while I fail to understand why I must perform them manually), and this is what showed up (click for full-size):
thanks for putting so many icons in the toolbar that you had to set it to Icon-only just so that they’ll all fit in the toolbar. And for moving, willy-nilly, the standard user folders from a sidebar (where both icon and text label can be shown) to the toolbar, a non-standard location for any Mac application. There’s no use of space to group icons by function or meaning. (see iWork’s Numbers app for an excellent example of toolbar icon grouping).And thank you so, so, so much for the frequent modal nag dialogs that remind me I haven’t yet purchased it. Or are you going to blame the Dock for bouncing at me every time any app puts up alerts?
I should have asked you rixstep folks for the webpage wherein I could formally submit bugs, but hell, you’ll just ignore those because you believe that petulant, petty ranting on a blog is the better way to go to get your concerns addressed.
Rixstep doesn’t stop there with all the duplicity, they have a page with the incredibly misnamed “Industry Watch”.
A sample, about a well-loved and popular blog editor called MarsEdit:
Everybody loves MarsEdit - but that’s not the issue. A lot of people loved their Fords before those Firestone tyres started exploding. It’s not about what you see - it’s about what you don’t see. And the likes of the Macosphere are not good at seeing these things. Irretrievable tards like Jonathan Wight, Gruber, and all the people Malcor hates simply don’t have the chops to do a lot more than use good old MarsEdit to write more blogposts about everybody else’s blogposts and crisscross links.This is about as productive as it gets there.
They did offer some help, tho:
Do not accept half-arsed half-baked pieces of shit software from the Landed Gentry of Mac Development™. They want you to sit down and shut the fuck up. They’re used to getting away with murder. Don’t do it. Don’t sit down, don’t shut the fuck up, don’t let them get away with it.
There’s only one way you’re going to get quality software from this crew: by demanding it. They’ll never give it to you for free. Ok, so here I go…
So the developer of MarsEdit left a few tiny and harmless files within the shipping application bundle? You fucktards at rixstep don’t even know how to build an installer package! When I tried to quit the POS that is Xfile, first I had to answer the nag alert one more time that I most certainly didn’t want to buy their lame-ass software.
Rix-dicks, your own back yard is a pestilent swamp. How’s about you dry that up and remove the that contagion from the world before you go taking unfounded and overblown potshots at people who actually write software that people love to use?
But hey, at least your terminal-window-with-a-toolbar “application” can count the number of files in a man-pages directory lickety-split! Well done you.
Note: This person posted from Germany, and was too much of a coward to supply a valid email address. Just as cowardly as rixsteppers
Jeff, what you call a “Terminal with a toolbar application” is actually precisely that: it translates everything the UNIX underpinnings of OS X offer into a GUI application. Have you even looked at the Xfile “Info” sheet? Where outside Terminal can you read and set all those permissions and flags for a file? Where outside Terminal do you get the whole output from the “stat” command? Where outside Terminal do you see all the .dotfiles? Sadly, Finder isn’t capable of most of this. Very sad for an OS that boasts its UNIX descendancy at every possible occasion.
UNIX doesn’t seem to be your forte, but that’s OK. You can use applications like Xfile to help you.
And, btw., I love to use Xfile. I even changed my system settings to use Xfile as the default file manager instead of Finder.
So the rixstep guy doesn’t know what an installer package is? I bet my Granny’s dentures he knows. Did it ever occur to you that his way might actually be the better way? So users have to create a directory? And copy files into this directory? Do those users know how to operate the power switch on their computer or would they be better off just playing with their pink iPod? And what is their reward for accomplishing those arduous tasks? Knowledge!! They know precisely what they added to their system!! You seem to indicate that you don’t like Xfile. Fair enough. So what are you going to do? You delete the Xfile application. And the ACP.framework. And whatever else you copied into your system according to the readme file. Hey, you just follow their instructions in reverse! Where they say copy, you delete! It’s as simple as that. Isn’t it nice of those guys that they give you complete control over what you are adding to your system, as opposed to installer packages, where you don’t get a clue what you added? Where you have no idea what to remove when you want to get rid of an application you don’t like?
And the developer of MarsEdit … he “left a few tiny and harmless files in the shipping application bundle”. The files may be tiny and harmless. Or not. I don’t know, I don’t use MarsEdit. The point is, by leaving those files in the shipping application, he acted SLOPPY as opposed to professional. And I am glad somebody speaks up against SLOPPINESS. There is no profession where SLOPPINESS should be tolerated. I freak when I smell SLOPPINESS, and SLOPPINESS that I paid for, at that. Do you work SLOPPY at your job? No, didn’t think so. If a developer acts SLOPPY where even I, a non-programmer, can catch him out, where else might he have been sloppy where I have no means of finding out? Can I trust said developer and use his half-arsed, half-baked, SLOPPY software?
NO !!!
It’s not even about posting rants as a way to get Apple to fix bugs— because he’s taken the step of blocking traffic to his blog from apple.com. He’s not filing bugs, and he’s proactively trying to block people from Apple from seeing what he says. It’s not about getting bugs fixed, it’s about having an excuse to post angry, personal attacks on people. I expect he relishes bugs he finds and hopes they persist for a long, long time so that he can continue to hammer on them.
SLOPPY, like not bothering to move keyboard focus to the directory contents pane when you click on a directory in the “explorer”-type pane?
SLOPPY, like posing a modal nag dialog when you try to quit the application?
SLOPPY, like requiring you to pay up front before you can try out all its features?
SLOPPY, like using turgid, convoluted, grammatically incorrect question-answer semantics in that nag dialog?
SLOPPY, as in giving you no way to cancel out of a quit command, so that if you quit the app accidentally, there’s no way to rectify it?
You don’t need to use MarsEdit to know if those ” types of files are harmless or not. If you don’t know what those files are and don’t know what problems they may or may not cause, you have no business bitching about them. Go back and learn what they are, and THEN come back and bitch.
Xfile is a sloppy application. It ignores Mac development conventions, it abuses the toolbar. It MAY add something that you can’t do in terminal, so I took your advice and tried to look at the Info panel. Guess what? I have to PAY FIRST in order to use that “Feature”, so no, i DIdn’t look at it.
As for having to manually install a framework, most users will likely install it their own persona Library folder and not the system folder.
You said:
No, it didn’t occur to me because it’s indefensible. If you know why it’s “better” to force someone to manually install a framework, I’m all ears.
And finally, how SLOPPY will it be when typical Mac users just drag the folder into the Applications folder or, not reading the fine print (i.e., the readme.html file) would just do a “select all” and drag everything into the Apps folder. That results in 836K of “useless” files and folders on the majority of the Macs it gets installed on.
By the way, MarsEdit has a 30-day evaluation period. Of note:
So go download MarsEdit and give it a go. Costs you nothing. Or stay unfledged and at disadvantage. Your choice.
By the way, there are no “tiny and useless” files within the MarsEdit.app bundle. I even used Xfile to demonstrate this. Irony can be useful, you know:
http://www.godofbiscuits.com/blog/images/MarsEditHier.png
Five bucks says commenter #1 is Rixster himself. He’s a notorious sock puppeteer.
Thanks for presenting a realistic look at how development works Jeff.
As someone who randomly shifted from the subject of Rixstep’s accolades (Sean Collins wrote me on behalf of the entire operation (nudge, wink) to say “Good job, Rixstep’s staff is very hard to please. Very, very, almost impossibly hard to please” and wrote up favorable blog entries that praised lots of what I wrote) to suddenly become the regular target of extremely long diatribes about my “insanity” and all around misguided badness as a horrible person—as well poorly spoofed emails from rixstep.com that “anonymously” attacked various things about me—I’d say the best way to deal with Sean Collins is to not deal with Sean Collins.
He seems a bit like Lewis Black without a punch line crossed with Bill O’Reilly without a political agenda: an angry storm of frustration. As Andy Ihnatko might say, “‘Avoid’ is my general message.”
Dan - RoughlyDrafted
“thanks to Apple for shielding as much of the techie stuff as possible from a user.”
you must be nuts. there is no other way!