I'm on my way back to Infinite Loop, and I'm starting on Tim Cook's first day as CEO. Wish us luck.
I'm on my way back to Infinite Loop, and I'm starting on Tim Cook's first day as CEO. Wish us luck.
I don't actually have anything to say. Kathleen is due any day, and I'm looking forward to a few weeks of staying home, getting poor sleep, and changing diapers.
But mostly I'm testing to see if journal saving works properly.
We've made some significant updates to the submission/journal system. Visiting Submissions and Journals yields a new form that allows stuff like tags to the data types. There are a number of annoying bugs, but for the most part the dust is starting to settle. More notes will be coming, but this journal entry is really just me putting the final test on the new Journal form.
1) Mac users are highly sensitive to the quality of your products' user experience. What this means is, go native or don't bother. Even though Google Earth and Photoshop are rife with UI atrocities, don't imagine that you can get away with ignoring the rules like they can. They're 500-pound Gorillas, and you're not. If you are Google or Adobe, get with the program and write a Cocoa UI, already. It's about time.
2) The native language for the Mac and the iPhone is Objective-C. Get used to it; it's not hard to learn. Any developer familiar with C should be able to learn Objective-C in a day, and be an Objective-C language lawyer within a week if he cares to. Yes, there are Ruby, Python, and other bridges you can use, and they work just fine, but limit this to integrating existing libraries with your apps. DO NOT try to use the bridges as a way to avoid learning the environment you're working with.
3) A cross-platform GUI is neither feasible nor desirable. You can't #ifdef the difference between Cocoa, xlib, and Win32. Don't believe me? Look at OpenOffice. (If OpenOffice looks OK to you, then please, forget about offering your products on the Mac. You'll only cause us pain.)
4) Don't bother with third-party cross-platform GUI libraries like Qt. Yeah, you can make it sort of work, but you'll get a lot of complaints from your Mac customers, and it will be more expensive than properly factoring your code and writing a native GUI for each platform. For every Mac customer who complains about a bad UI, there are many more who took one look at it and decided never to do business with the vendor in question. I just learned from a friend that Qt is far worse than I'd realized: if you use Qt, you wont' get any hardware acceleration , and you won't be able to deliver ADA compliance.
5) If you're shopping for people with years of experience in Cocoa and Objective-C, you should know that they're pretty scarce due to the flood of iPhone projects going on these days. I'm hearing about people getting $200 to 250/hr for iPhone projects. Keep in mind that you're also competing with Apple for those developers, and chances are your project isn't as interesting as Apple's. If you're a start-up and you can offer equity, then it's not too hard to find people who are willing to gamble with you if they believe in your business plan. Mac and iPhone developer tend to be somewhat less risk-averse than the average engineer, in my experience.
6) If you can't afford experienced Mac developers, you'll have to make your own. Save yourself a lot of time and money by sending your people to a class. I recommend Big Nerd Ranch, that's where Apple sent their own people when they quit doing Cocoa training in-house. Keep in mind though, that once your newly-minted Cocoa developers have a year or so of experience under their belts, you'd better be prepared to offer them market rates, or you'll lose them. Back in the NeXTSTEP days, Fannie Mae insisted on low salaries, and they lost people steadily to other NeXTSTEP shops. Attrition is expensive; it will cost you more than you think when your institutional knowledge of your product scatters to the winds.
7) Send your people to the Apple developer conference every year. I can't emphasize this enough. Time is money, and the connections you can make there with the Apple engineers you need to know can save you weeks or months of trial and error.
That should do for starters.
8) When interviewing an Objective-C expert, DO NOT try the "Microsoft style interview". (See #5 above.) We are not entry-level, fresh-out-of-DeVry kids who have the time for solving the little brain teasers that someone looked up on the web last night. Talk about the actual work at hand, how the candidate's previous experience is relevant to what you need to do, and ask for some examples of creative solutions they've come up with before.
9) Probably the best place to advertise for iPhone or Mac developers is the cocoa-dev mailing list at lists.apple.com. You have to be a subscriber to the list, and you have to send your ad to the moderator for approval first. In any ad on Cocoa-dev, be very specific about what kind of developer you're looking for, and what the job entails. This is not the place to just list buzzwords or try to lowball anyone.
10) When advertising for candidates, don't hide behind a webform or an e-mail address. Put a phone number in your ad that reaches a human being. People with skills that are in high demand aren't going to mail their resume to recruiter@companyNobodyEverHeardOf, because that kind of thing gets you spammed.
This goes out to every left- or right-wing power seeker, who believes that everything will be just dandy if only they get the right bunch of little tyrants in office.
Ok, time for a bucket of cold water in the face, kids.
First, income is not "distributed", it's earned, and it belongs to those who earn it.
Second, you have no moral right to take someone else's earnings, even if they have more than you do. It doesn't become moral if you hire a thug to do it for you, and it doesn't become moral if you have a group of hundreds of thousands of thugs and bureaucrats to do the dirty work.
The legitimate power of the state can ONLY derive from a delegation of the rights of the people. Free people institute governments to secure our rights, not to interfere with them.
We have a written constitution in this country, and despite its having been routinely ignored whenever government found it inconvenient, it is nevertheless the entirety of the legal basis for the government's existence. If the government doesn't want to follow the constitution, then the government has no legitimate authority, at all.
Maybe you can make a compelling utilitarian argument for some of the currently unconstitutional activities that the federal government engages in, and if so, then propose an amendment, let's have that national debate, and maybe you can get your amendment ratified. Until and unless that happens, the federal government has no legitimate basis to harass sick people for using marijuana, to take our hard-earned wealth and give it to failed banks, to "redistribute" our earnings, to interfere with the choices we make for our health care, to prevent us from traveling to any country we care to visit, or to draft us into "national service."
We are not the property of the state. Get that through your power-hungry little minds.
We now abbreviate journals in the firehose... so they are more like slashdot stories with a Read More link to the full text.
The big user facing change this week was structural: historically we had 2 different "skeletons" on Slashdot, but with this refresh we unified to a single one. This change simplifies maintenance for us quite a bit (maintaining the idle section and the firehose views of the same data was a royal pain).
You also will see some changes to the firehose.pl layout. We're playing with the tab layout a bit, moving some menus around and better integrating the core functions into the site chrome. It's a bit buggy atm, so feel free to email me if you see something wonky. We're extinguishing a few minor brush fires but there's no forest fires that we're aware of.
The first real change is that we've changed the meanings of the UI around. The old system is 'Fair' and 'Unfair' and the new system is '+' and '-'. The meanings are subtly different. You are no longer rating individual 'Insightful' or 'Troll' or whatever... you are now stating basically "Is this comment good or bad for you". Personally, since I find very few Score:5 funny comments to be actually really funny (and not just cliche memes) I '-' most of them. You are encouraged to be harsh if you don't actually think something is insightful or funny, call it such. The system encourages more of what you + and less of what you -.
You are also welcome now to do more than 10 m2 per day... however we internally have diminishing returns after 10, so you can do more, but they start to matter less and less.
There will undoubtedly be bugs so feel free to email me or vroom at slashdot if you find them. Probably next week or so we'll move this out to everyone, so your assistance is appreciated.
We also added a thing to 'collapse comments after reading' which I think I might turn of as a default setting soon. This is only usable for subscribers atm as well. But basically, as you navigate through a discussion, it collapses the comments you've read after you move on. This makes it really easy to navigate large discussions without having to scroll over 150 comments you've already read.
we're aware of a number of annoying bugs, but hopefully most of them will be squashed by Pudge for this weeks code refresh. If things are stable, we hope to roll this out for everyone rsn.
also my baby cut his first tooth yesterday. My furniture will never be ungnawed upon again.
I happened to hear a recording of a fine performance of our national anthem a short while ago, and the question posed at the end of the song suddenly caught my attention.
"O, say does that star-spangled banner yet wave, over the land of the free, and the home of the brave?"
That's really the most profound thing that Francis Scott Key ever wrote. The question isn't whether the symbol of freedom still exists, we can see that it does. The question is: are we still free? Are we still brave enough to demand and defend our liberty?
The issue is about the use of Flat/Threaded/Nested modes. D2 cleanly replaces both threaded and nested modes- you effectively get nested mode by bringing the 2 sliders together. And threaded mode is vastly more flexible because you can choose the level at which comments are abbreviated or displayed in full text. So users of those modes should be set (obviously there are other reasons not to use D2, I'm just talking about the layouts here tho)
What's left is flat mode, which has a number of sort options. Now flat mode is used by roughly 4% of our active population. When i think about flat mode, I think about 2 reasons you would have to use it:
Now I Would think that the only reason to use flat mode is #2... except that only a couple hundred Slashdot readers have the 'ignore threads' sort order enabled. So either they don't understand what they are doing, or #1 above is the real reason that they use flat mode.
So in a nutshell, the question I am asking in this journal is 'Why do you use flatmode?' Is it cosmetic? To more easily keep your place in a discussion? Something I'm just missing? We have plans to implement a read/unread state retention for discussions, so maybe would you migrate to a threaded view if that function exists? Or is it purely aesthetic... an irrational hatred of scrollbars and whitespace?
The reason this matters is that simply formatting the page flatly is easy. Probably a simple greasemonkey hack or maybe a few lines of CSS. But re-implementing the alternate sort is gonna take some work. And I'm ok with that... except that the logs say that nobody actually USES that sort... they ONLY are using flat mode for the cosmetic reasons.
Speak out! Stay on-topic or you WILL be moderated down.
A few new keybindings aren't documented yet... v (end) t (top)  change upper threshold and
The only major complaint so far is that the design changes consume a lot more whitespace. I have mixed feelings on the subject, but am aiming to strike a balance. We noticed 2 very clear places where the whitespace is excessive and hopefully that will be fixed RSN. But on the other hand, making deep threads visually clear, and drawing some attention to the 'reply' buttons is beneficial to everyone, so bare with us as we work to strike some sort of balance.
this functionality is currently only available to paid subscribers, and several hundred of them have tested it out already. We still need to make it look pretty and add a few minor things (like the CAPTCHA for anonymous posting) but it's almost done.
Also worth noting is that logged in users can click on the 'Score' field of comments to view the moderation information on the comment. This information was previously not visible within D2, unless you navigated outside the d2 system (opening a comment in a new window did it). I doubt most people really care about this info, but it's available.
We also have one (perhaps minor) thing to get in... right now if you visit a comment directly via a CID link you can navigate within that thread, but navigating 'up' the comment hierarchy results in a new page, and a new discussion... this makes context a pain to maintain. So pudge is going to change that page to display the parent posts in an abbreviated format. This will mean that you can climb back up the thread easily, even if you entered the forum via a link deep into a thread.
A few minor items left on the todo list (keybindings for threshold changes... maybe press 'r' to open the reply slideout from the current comment, and a bunch of small design issues to make the threads a little more visually clear and easily navigatable) and we're ready to call D2 finished.
We have no plans to remove D1, so those of you who hate D2 are welcome to stay on the old system, but obviously new moderation tools and whatever else we think of will be attached to D2, not D1, so you've been warned
there are 2 huge wins here for everyone... the first is retention of context. You can wade into a thread, retrieve more comments, change your threshold, all without losing your place like you did in the old system. And using the WASD keys to navigate makes it very easy to peruse discussions in a number of interesting ways. mouseover the help text in the floater for more information about how they work. We're open to suggestions on how this should work- i'm not totally happy with it yet... but it *is* possible to mash a single key and go from start to end of a discussion, which pleases me.
the second is that the default users see the highest score comments first. You can change this by logging in and toggling the retrievable order to oldest first, but for most people this means that the first comments they see will be the best. There are so many great comments on Slashdot, but most users don't see them because they are buried within the discussion. I think this goes a long ways towards helping.
A final word about the ads in there- unfortunately there are ads in the new system. Changing from a static page-page-page system to a dynamic ajax system with a single 'page load' causes us to serve hundreds of thousands of fewer ads. We worked out roughly how long people read discussions and are trying to strike a balance so that you see roughly the same number of ads under this system as you would have under the old one. We'll tweak it of course, but we gotta pay the bills here people!
And obviously all of this is a work in progress. Pudge is leading development work on this. The next project is to make it possible to post without losing your place in the discussion, and then to refine navigation keybindings and thread expansion/contraction controls to make the whole UI clean. We appreciate constructive criticisim. There are bugs (especially in IE, but almost no slashdot user runs IE) but we're mashing them out- thanks for your feedback on them. As we sand off the rough edges I think you'll all find the new system a vast improvement if you just play with it for a bit and give it a fair chance. Not all change is bad
"Kill the Wabbit, Kill the Wabbit, Kill the Wabbit!" -- Looney Tunes, "What's Opera Doc?" (1957, Chuck Jones)