Mark Damon Hughes Topic: News [Parental Advisory: Explicit Lyrics] [about]

RealMac's Clear to-do app is out.

Clear is lovely, the animation and even the sounds are perfect.

Most of the gestures are nice by themselves, but overloaded to the point you don't know what will happen—is it going to add an item or go up when you pull down? Depends. So it actually takes longer to use than a less-gesture-friendly app.

The list items are useless, they hold maybe 20 chars, no notes, no due dates, no priority. Completely vapid. Ironically the tips & tricks "list" has detail text, you just can't do the same.

Apple's Reminders (which can be managed from Siri!) and Cultured Code's Things (see my long discussion 2.5 years ago, nothing has changed since) are less pretty but far more functional. Clear is a lovely tech demo, for $0.99, but is in no sense a usable to-do app.

← Previous: Apple Future (Mac) Next: Teenage Mutant Ninja Turtles (Media) →
Apple Future
Sat, 2012Jan21 07:18:27 PST
in Mac by kamikaze

Hello, people of Twitter 2012! I am from the #AppleFuture of 2024! It is nothing like 1984!

Apple fans live in perfect glass arcologies for a 30% flat tax. Feist and Dylan play from iPod Hifis all day.

Xcode works great, it never needs rebooting! The cable into my eyesocket doesn't itch much all the time.

In the Redmond Wastelands, gangs of subhumans use MS Office and communicate only thru XBox Live Arcade (NAMBLA).

The Googleplex is "open", but every surface is covered in ads, and you are never allowed to leave.

Cannibalistic Linux Underground Dwellers (CLUDs) lurk beneath the cities, lecturing captives on free software.

Samsung operates a series of cheap plastic arcologies filled with smog. Nothing works, but it looks familiar.

The Talk Show broadcasts 24/7, but it's mostly what cheese @gruber likes. He was never the same after the war.

I must now return to the #AppleFuture! Prepare yourselves! Keep watching the skies!

Over on my new Mark Rolls Dice RPG blog, I have posted about Hasbro Announces Dungeons & Dragons Fifth Edition.

(I won't normally repost links, but this is a new site)

← Previous: Using JetBrains AppCode aka JetCidr (Mac) Next: Apple Future (Mac) →
Using JetBrains AppCode aka JetCidr
Fri, 2011Dec30 05:36:56 PST
in Mac by kamikaze

After not using Xcode 4 for a week, my head was clear and I was feeling optimistic. When I relaunched Xcode 4 to try to write a little toy app, it was like being held down and gang-raped by angry, horny baboons. I am displeased, Apple. So I decided to have a go at JetBrains AppCode again, the Java-based Objective-C IDE. Sure, it's by ugly Java dorks who make ugly Java apps, but it cannot be worse than being violated by baboons, right?

Download. Very slowly (my ISP or their servers?). The demo videos are in Flash, so I couldn't watch them on my iPad while I waited. Appalling. Who the fuck uses Flash video in the 21st century? I don't even have Flash on my Air anymore.

Set up, open a recently-created Xcode project. Works. Files are auto-sorted (yay), folders first, but language bundles are hidden, so XIB and strings files just seem to float at the top. Whatever, beats the manual file arranging in Xcode.

All the appearance defaults are awful, but fixable in preferences:

  • change color scheme: Solarized Light, change text background to white, caret row (current line) to no background
  • increase font size to Menlo 13
  • turn off code folding
  • turn on soft wraps
  • turn on line numbers
  • turn off that insanely stupid "Allow placement of caret after end of line" thing JetBrains likes which makes me want to stab them in their stupid faces.
  • change code formatter to use tabs, 4 spaces per indent, and put newline between method/function and first curly brace, as the One True Brace Style directs. No, I don't wanna hear about it, fuck you.
  • KeyMap, add Opt-Up to Page Up, etc., add Cmd-Up to Move Caret to Text Start, etc. Ctrl-D to Main Menu/Edit/Delete. Why can't these dumbass Java people get Mac keyboard keys right? I used to be a Java & Linux guy, and I still got them right whenever AWT didn't cock-block me.

Start writing code. Learn that completion key is Ctrl-Space instead of Ctrl-. I'll be using that a LOT. F1 brings up docs, and it works. Hey, already you're doing better than Xcode!

The editor tabs work correctly (though they have the x on the right, instead of the left where Apple puts them). Double-click a file, and it opens in a new tab. A new, UNIQUE tab. Hit Ctrl-Cmd-Up to edit counterpart, and it just magically opens the .h/.m file.

FUCK YEAH, EDITOR TABS THAT WORK.

For this, I already love you and forgive you for a lot of shit, JetBrains.

No code completion for the dealloc method (no, I'm not using ARC today). Add dealloc to "Live Templates", in Objective-C context:


- (void)dealloc
{
	[super dealloc];
}

And to use it, just type dealloc[TAB]. I'd prefer if it was a code completion, but still nice.

The Property List Editor Misadventure

Need to edit a property list? AppCode only thinks it's text. Even if you convince it it's XML, an XML editor for plists is a shit solution. And Xcode 4 doesn't ship with Property List Editor.app!

Sane Option: Buy PlistEdit Pro, $30 to nice developer Brian Webster. But that's blowjob money. Cheap Bastard Option: Dig PLE.app out of Xcode 3.2.6. Problem: I don't have any old Xcodes in my backups, so I would have to install it on Snow Leopard, and my original white MacBook runs too old a version of SL for Xcode, all others have Lion.

MAD SCIENCE TIME!

Igor! Open the Xcode 3.26 dmg, and the hidden "Packages" folder! Use Tim Doug's unpkg! Drop in "DeveloperTools.pkg"! Copy Applications/Utilities/Property List Editor.app to ~/Applications where THOSE MEDDLING FOOLS at Apple won't bother it! Igor! Copy these obsolete libraries from Library/PrivateFrameworks to ~/Library/Frameworks: (NO, IGOR, WE ARE NOT PLAYING GOD! WE ARE GODS!)

  • DevToolsCore.framework
  • DevToolsCParsing.framework
  • DevToolsFoundation.framework
  • DevToolsSupport.framework
  • JavaKit.framework
  • PlistEdit.framework

Throw the switch, Igor! Throw the motherfucking switch! Property List Editor lives! AGAIN! MUAHAHAHAHAHA!

So anywway. In AppCode's preferences, under External Tools, add an item, name it "plistedit", give it a group like "Mac Tools", program: open, parameters: -a "Property List Editor" --args $FilePath$, working directory: $FileDir$

Now I can right-click on a plist file, Mac Tools, plistedit, and BAM, I'm editing plists like an old-timer. Fuck me. Totally would've been easier to just buy PlistEdit Pro. And at some point, this entire edifice of obsolete frameworks that I have constructed will come crashing down.

Back to Work

Opening a XIB file pauses for a long time… then opens Xcode. Well, fine, can't build Rome in a day. Hopefully they'll replace that someday. I miss standalone Interface Builder.

To build and run or debug on a device, you'll have to edit the configuration dropdown, but it found my device, and built and launched the app just fine. Turn on "Stop running session", so it'll kill the old debugger when you start a new one. I haven't really used the debugger yet, but it has GDB and LLDB, so it might be OK.

AppCode supports Lion full-screen. It does mostly play nice like a Mac app, not a Java app.

I was extremely dubious when I first heard of JetCidr (the original name). The first beta was laughable and unusable. But it's now actually… not bad. Maybe better than Xcode as long as you're just editing code. The lack of a property list editor and Interface Builder are crippling, so they need to get on those fast.

AppCode is on sale for $69 until 2012Jan02, then goes back up to $99. I'll have to decide on the 2nd if it's a keeper, but it sucks less than the baboons.

← Previous: Apps Are the New Apps (Software) Next: Hasbro Announces Dungeons & Dragons Fifth Edition (Roleplaying) →
Apps Are the New Apps
Mon, 2011Dec26 23:21:49 PST
in Software by kamikaze

Another day, another very silly ex-Microsoft person says "apps are dead", "app developers … are mostly irrelevant", "mobile's old, dead, and boring". This isn't even correct enough to be wrong, it's just nonsense.

App store markets have exploded, see Distimo's 2011 mobile app store report:

Distimo-2011-12-app

A new mobile platform isn't even viable until it has a decent stable of basic apps (email, Twitter, Facebook, some camera/photo editing tools, book readers, task lists, etc.), games (at least Lights Off and Angry Fucking Birds), and maybe media apps (Rdio, Spotify, Netflix, JustinTV, etc.). And past that, it's all about who has the most good apps, the most good games.

Right now, and for the forseeable future, that's iOS. Android's store is mostly junk, often outright frauds or viruses, but it's on the chart. Everybody else is in the gutter, under 50,000, with nearly flat growth.

When you ask people what they do with their phones, they talk about apps. Not "Oh, I like to look at my contacts list, because those are the people I care about, and then I call them like some Hallmark fucking special painted by Thomas Kincaid". BORING. SO last century. Small talk now consists of "check out these awesome apps I found!"

You can't be on every app store, you don't have time, and you can't afford it. Unless you're Angry Birds, which relies on massive scale, payola from platform owners and carriers, and cheap eastern European codemonkeys to port to the shit platforms.

You can try making cross-platform web apps. Developing for HTML5/JS/CSS is incredibly hard to get even half-right, the experience is totally awful, and every platform still needs tweaking to work. And then how do you make money? Advertising? Ugh. Facebook's doing the worst of both worlds, making a web app with a native wrapper to handle system notifications for their iOS app… and it's the worst thing ever.

Compare that to a beautiful native app, like the new Path, which is fun and the little (+) button pops out SNIKKT! like Wolverine's claws, the clock moves down the page to show you where you are (which gets in the way after a while, but it's a thing no web app would even try to do), and the thing is fast and obvious and it works.

So what you end up with is you ship on the best platform: iOS. If you have time and money, you maybe target the also-ran Android (Path did, but their Android app is a seriously sub-par experience). This costs a lot, because us iOS devs are not cheap; even Android devs aren't as cheap as you'd think. Charlie's estimate of $100K-250K for an app is ridiculously low. That's a year of one or maybe two devs. For that you get a 1.0, if you're lucky. You don't get multiple platforms, you don't get cloud servers, you don't get anything fancy. Developing on the gutter platforms like Symbian, Blackberry, or Windows Phone 7 won't even pay the bills. You're throwing money away for no ROI.

Apple's managed to stay out of carrier-run marketing and carrier-fucked-up phones, but the reason it sells so well is the App Store. The iPhone 4S runs every iPhone app. The year-old 4 runs almost all of them, and the current OS. Even the 2-year-old 3GS runs 80-90% of the apps, and the current OS. The iPad 1 and 2 run almost all iPhone apps, and all the iPad apps, and a lot of the apps are universal. So if you make an iPhone app, you reach millions of happy customers, who will then spend every waking moment playing with your app and telling their friends about it.

Android handset makers have been stupid enough to let the carriers screw up their devices, the carrier marketing is abysmal, and the OS on any given phone is fragmented and often 2 or 3 versions obsolete, but you can make an "Android app" and reach millions of customers. Their customer satisfaction levels are low, and they don't pay for software, but they'll download free stuff and you can advertise at them.

This is why Windows Phone 7 is screwed. It needs apps. And to get apps, it has to compete for developer time and money with platforms that make money, either directly or by advertising. It has nothing to do with the carrier system. It has nothing to do with marketing. You have to convince developers to: Install Windows (which they won't do), learn the Windows dev tools (which they won't do), and then release on the Windows store, where it won't make any money, because there's no customers.

We must never forget the fond memories of last September, when Microsoft gave themselves a parade, claiming:

RIP Windows Phone 7 RIP U-Haul
OS Platform
☠ Buries the Competition ☠
Burma Shave

← Previous: C is a Wonderful Language (Software) Next: Using JetBrains AppCode aka JetCidr (Mac) →
C is a Wonderful Language
Mon, 2011Nov07 06:12:39 PST
in Software by kamikaze

I started programming with BASIC in 1980, 6502 assembly and LOGO soon after, Pascal and Action! in ’85. So I had high-level languages and the lowest-level, but none were suited to building large programs where efficiency mattered.

Then in '86 I learned C (from Stephen Kochan's Programming in C). Even with what were then very primitive tools, it made all other tools obsolete. It took me a couple years to learn proper memory management: for a long time, I just made big-enough arrays of structs, didn't use malloc. Took a long time to learn the right way to write programs, not just imitating BASIC and assembly. But C is just high-level enough that you can make a structured program, and still low-level enough that you can write efficient code, device drivers, graphics and sound, networking, and so on.

By '93 I got corrupted by Perl, Python, Java, and spent a decade away from C with high-level languages, doing server software, where efficiency mattered less. These languages have two or three well-padded layers between you and the machine, and they're comfortable. They're slower, in some cases much slower, but the worst part is that you can't even touch the hardware, you can't drop down to a lower level—unless you write native extensions in C, and there's a horrible set of compatibility APIs then. Java's JNI and Python extensions make you write so much wrapper code that you lose any advantage of doing C.

When I got Mac OS X, I had to learn Objective-C, and that meant re-learning C. And I re-realized how great C was. C's greatest virtue is that it hides most of the variations between hardware, but is still right above the machine level. The truth of what a computer is, is a CPU manipulating numbers in registers and memory addresses. There's nothing else in C, it provides libraries to handle those numbers as if they were strings or whatever, but you can read their source and see exactly how they work. No magic, no black boxes. Yes, it's low-level, and managing memory requires discipline and good habits, but these are good traits to cultivate anyway.

In iOS and Mac OS X, I think of apps as a collection of small programs. Each part (a view controller, say) has an Obj-C setup and teardown, limited interaction with other parts, and internal guts. You can go a long way with Obj-C, but if you write the internal guts in it, your performance will suffer, and it's tedious to box and unbox everything in object wrappers. It's much faster and more natural to write that in C. It's sweet that Obj-C just fades seamlessly into C, unlike Java JNI.

I suppose I wouldn't use C to build an entire program, unless it was just a little command-line tool. But C's survived from 1972 to present, and will be essential to understanding a computer for decades to come.

As for C++, the answer is just "No." C++ is symptomatic of everything that's wrong with programming, the glorification of complexity for no gain. The only good part about C++ is C, and you can just use C instead.

See also: Brent Simmons and Daniel Jailkut’s arguments for and against C.

← Previous: Goodbye, Steve Jobs (Mac) Next: Apps Are the New Apps (Software) →
Goodbye, Steve Jobs
Thu, 2011Oct06 08:17:59 PDT
in Mac by kamikaze

Bye, Steve, we'll miss you more than anyone.

I didn't grow up an Apple or Mac user. I liked them, in UI computer labs and at work, but most of the time I could've had one was the very confused post-Jobs era, random-number Quadras priced twice as high as competition. But NeXT excited me, though I also couldn't afford one. And when Steve came back and brought NeXTstep into Apple, that was the turning point.

In 2005, I got so frustrated with my big Linux box not mixing sound that I bought a cheap Mac mini, as a Unix workstation that Just Fucking Worked. From there on I've bought nothing but Macs, quit accepting shitty Linux or Windows workstations at work, and eventually switched to iOS development.

Now I'm accused of being a "Perfectionist Mac Elitist". I take that as a compliment. Accepting shitty hardware and software wasn't good enough for Steve, and it's not good enough for me. The Mac developer community is full of others like this. Shitty stuff gets criticized and ground down until it's awesome or goes away. These are not impossible standards. Everyone should try to make everything they do the best they possibly can.

I never met Steve, but I've seen him on the WWDC stage 3 times. He was (usually) as excited about the new things as we were. A couple of times you'd catch him sorta flattening when it was a lame or tedious thing, not up to his standards. Only once I recall we rebelled, shouted back at him, when he told us the "sweet solution" to iPhone development was HTML/JS. Train people to be perfectionists, and they won't accept anything but perfection.

I didn't feel like going out to a real Apple Store to mourn in public, so I made one in Minecraft:

Applecraft-20111006-01-sunset-256x160.png Applecraft-20111006-02-front-256x160.png Applecraft-20111006-03-logo-256x160.png

← Previous: Top 100 SF and Fantasy Books (Media) Next: C is a Wonderful Language (Software) →
Top 100 SF and Fantasy Books
Fri, 2011Aug12 02:02:42 PDT
in Media by kamikaze

NPR has a nice survey list of the Top 100 SF & fantasy books. My top 13 (lucky!) list would be different:

  1. The Hitchhiker's Guide To The Galaxy, by Douglas Adams
  2. The Call of Cthulhu, by H.P. Lovecraft
  3. Snow Crash, by Neal Stephenson
  4. The Dune Chronicles, by Frank Herbert
  5. Schismatrix, by Bruce Sterling
  6. Axiomatic, by Greg Egan
  7. The Elric Saga, by Michael Moorcock
  8. Software, by Rudy Rucker
  9. Gridlinked, by Neal Asher
  10. Chasm City, by Alastair Reynolds
  11. The Conan The Barbarian Series, by R.E. Howard
  12. The Fafhrd & the Grey Mouser series, by Fritz Leiber
  13. The Shockwave Rider, by John Brunner

If you read all of those and any sequels, you will be able to think more like me. And isn't that what everyone wants?


Here's NPR's list, with my note of R (I have read this, it was OK), L (I read & liked this), H (I read & hated this), or - (I have not read this). I "score" 79/100. Literacy is good for you. Or will drive you mad. Whatever.

R 1. The Lord Of The Rings Trilogy, by J.R.R. Tolkien
L 2. The Hitchhiker's Guide To The Galaxy, by Douglas Adams
R 3. Ender's Game, by Orson Scott Card (don't give Card money, he's an asshole)
L 4. The Dune Chronicles, by Frank Herbert
H 5. A Song Of Ice And Fire Series, by George R. R. Martin
R 6. 1984, by George Orwell
R 7. Fahrenheit 451, by Ray Bradbury
L 8. The Foundation Trilogy, by Isaac Asimov
L 9. Brave New World, by Aldous Huxley
H 10. American Gods, by Neil Gaiman
L 11. The Princess Bride, by William Goldman
H 12. The Wheel Of Time Series, by Robert Jordan
R 13. Animal Farm, by George Orwell
L 14. Neuromancer, by William Gibson
L 15. Watchmen, by Alan Moore
L 16. I, Robot, by Isaac Asimov
L 17. Stranger In A Strange Land, by Robert Heinlein
L 18. The Kingkiller Chronicles, by Patrick Rothfuss
R 19. Slaughterhouse-Five, by Kurt Vonnegut
L 20. Frankenstein, by Mary Shelley
L 21. Do Androids Dream Of Electric Sheep?, by Philip K. Dick
H 22. The Handmaid's Tale, by Margaret Atwood
L 23. The Dark Tower Series, by Stephen King
L 24. 2001: A Space Odyssey, by Arthur C. Clarke
L 25. The Stand, by Stephen King
L 26. Snow Crash, by Neal Stephenson
L 27. The Martian Chronicles, by Ray Bradbury
R 28. Cat's Cradle, by Kurt Vonnegut
L 29. The Sandman Series, by Neil Gaiman
L 30. A Clockwork Orange, by Anthony Burgess
L 31. Starship Troopers, by Robert Heinlein
L 32. Watership Down, by Richard Adams
L 33. Dragonflight, by Anne McCaffrey
L 34. The Moon Is A Harsh Mistress, by Robert Heinlein
R 35. A Canticle For Leibowitz, by Walter M. Miller
L 36. The Time Machine, by H.G. Wells
L 37. 20,000 Leagues Under The Sea, by Jules Verne
R 38. Flowers For Algernon, by Daniel Keys
L 39. The War Of The Worlds, by H.G. Wells
L 40. The Chronicles Of Amber, by Roger Zelazny
R 41. The Belgariad, by David Eddings
H 42. The Mists Of Avalon, by Marion Zimmer Bradley
- 43. The Mistborn Series, by Brandon Sanderson
L 44. Ringworld, by Larry Niven
L 45. The Left Hand Of Darkness, by Ursula K. LeGuin
R 46. The Silmarillion, by J.R.R. Tolkien
L 47. The Once And Future King, by T.H. White
R 48. Neverwhere, by Neil Gaiman
L 49. Childhood's End, by Arthur C. Clarke
R 50. Contact, by Carl Sagan
L 51. The Hyperion Cantos, by Dan Simmons
- 52. Stardust, by Neil Gaiman
L 53. Cryptonomicon, by Neal Stephenson
L 54. World War Z, by Max Brooks
- 55. The Last Unicorn, by Peter S. Beagle
R 56. The Forever War, by Joe Haldeman
L 57. Small Gods, by Terry Pratchett
L 58. The Chronicles Of Thomas Covenant, The Unbeliever, by Stephen R. Donaldson
L 59. The Vorkosigan Saga, by Lois McMaster Bujold
- 60. Going Postal, by Terry Pratchett
L 61. The Mote In God's Eye, by Larry Niven & Jerry Pournelle
- 62. The Sword Of Truth, by Terry Goodkind
- 63. The Road, by Cormac McCarthy
- 64. Jonathan Strange & Mr Norrell, by Susanna Clarke
L 65. I Am Legend, by Richard Matheson
- 66. The Riftwar Saga, by Raymond E. Feist
H 67. The Shannara Trilogy, by Terry Brooks
L 68. The Conan The Barbarian Series, by R.E. Howard
- 69. The Farseer Trilogy, by Robin Hobb
- 70. The Time Traveler's Wife, by Audrey Niffenegger
- 71. The Way Of Kings, by Brandon Sanderson
L 72. A Journey To The Center Of The Earth, by Jules Verne
H 73. The Legend Of Drizzt Series, by R.A. Salvatore
L 74. Old Man's War, by John Scalzi
L 75. The Diamond Age, by Neil Stephenson
L 76. Rendezvous With Rama, by Arthur C. Clarke
- 77. The Kushiel's Legacy Series, by Jacqueline Carey
L 78. The Dispossessed, by Ursula K. LeGuin
L 79. Something Wicked This Way Comes, by Ray Bradbury
- 80. Wicked, by Gregory Maguire
- 81. The Malazan Book Of The Fallen Series, by Steven Erikson
- 82. The Eyre Affair, by Jasper Fforde
L 83. The Culture Series, by Iain M. Banks
- 84. The Crystal Cave, by Mary Stewart
L 85. Anathem, by Neal Stephenson
- 86. The Codex Alera Series, by Jim Butcher
L 87. The Book Of The New Sun, by Gene Wolfe
- 88. The Thrawn Trilogy, by Timothy Zahn
- 89. The Outlander Series, by Diana Gabaldan
L 90. The Elric Saga, by Michael Moorcock
R 91. The Illustrated Man, by Ray Bradbury
- 92. Sunshine, by Robin McKinley
L 93. A Fire Upon The Deep, by Vernor Vinge
L 94. The Caves Of Steel, by Isaac Asimov
H 95. The Mars Trilogy, by Kim Stanley Robinson
L 96. Lucifer's Hammer, by Larry Niven & Jerry Pournelle
- 97. Doomsday Book, by Connie Willis
L 98. Perdido Street Station, by China Mieville
R 99. The Xanth Series, by Piers Anthony
R 100. The Space Trilogy, by C.S. Lewis
← Previous: Kindle Cloud Reader (Software) Next: Goodbye, Steve Jobs (Mac) →
Kindle Cloud Reader
Wed, 2011Aug10 22:48:26 PDT
in Software by kamikaze

Amazon's Kindle Cloud Reader is up. It's a Safari webapp, mainly intended for Mobile Safari for iPad.


Installation is by visiting the site, then hitting the Bookmark icon, and "Add to Home Screen". Then it prompts you to increase a database size. Weird and technical kind of install, rather than the standard App Store. Of course, they do this to avoid Apple's "draconian" request to be paid for stuff sold out of their storefront.

The webapp is slow to load. When you start up, you see a lot of spinners and "Kindle No Image Available", even though supposedly it's caching the book covers. Scrolling behavior in the book list is jerky and does not behave like a proper iOS scrolling area (it bounces too quickly, and keeps scrolling from a flick longer than it should). Better to just do pagination or linear scrolling than to do non-native scrolling like this. I don't like to even touch it, it's a visceral wrongness.

They've gone to considerable effort to make a non-native webapp that looks as much like the platform native apps as they could, but it doesn't behave like one. Amazon's "native" Kindle iPad app has a jarring, non-native look, and the Mac OS X app is built with the Qt cross-platform toolkit, so it looks completely weird and non-native. But none of them behave like native apps, and that's the part that matters.

There's a "Kindle Store" link in the top corner of the app, but it doesn't react immediately. Several seconds later, with no activity indicator or animation, it fades in a store page. Awful user experience. But the store itself is okay, a big section of "recommended for me" from my Amazon purchases. Oddly, there ARE animations in this section, and it's kind of a tolerable experience. Except there's no Fantasy or Science Fiction category in New & Noteworthy, and in the main categories everything's greyed out, disabled? The store page is a giant mess. I soon give up on this without making any purchases, go back to the H.P. Lovecraft collection I already have in my Kindle account. Closing just BLINKS the store out of existence. Jarring.

Reading a book is OK, but has a jarring instant page flip, no animation. It often sits and spins for seconds when switching between pages. Thanks for recreating the awful experience of the hardware Kindle on my high-tech iPad 2, Amazon.

The font appearance & options in the webapp are better than their native app, though it still doesn't allow selection of different fonts, only different sizes. You can set black-on-white, black-on-sepia, or white-on-black text, but you can't change brightness because this is not a native app.

Pagination and dragging the slider is still by "location", not by actual pages as defined in the paper book, or even by the font size. Remembering "location 328 of 7791" is not useful like "page 15 of 300" is.

The table of contents is just blue hyperlinks, no page numbers so you can't tell how long a chapter is. I would like to see "Dagon ... page 15", "The Statement of Randolph Carter ... page 22" and know that Dagon is 7 pages long.

You can make location bookmarks, but they have no titles and you can't rename them. You can't select text at all, so you can't look a word up, make notes, highlight, copy, anything. They went out of their way to completely cripple TEXT SELECTION, a basic goddamn system function. Buncha fucking savages at Amazon. THIS, above all else, fills me with hate.

Footnotes sort of link back, with the same mis-pagination behavior of their native apps, if you can even hit the back link. "Circular Logic1" will jump to "1 Logic, Circular", but you can't actually tap the back-link because it's covered by the "tap left side to go back" behavior.

There's still no way to properly import non-DRM epub and PDFs, such as those from Baen webscription or Pragmatic Programmers. Amazon lets you convert a PDF into their proprietary DRM format, but it destroys formatting and makes the book unreadable. Amazon is absolutely hostile to epub books, which are the industry standard. I don't care a lot about DRM, but DRM + shitty reader + shitty formatting + no epub import = no sale.

And that's about it. The webapp is marginally less awful than using the Kindle iPad app, but not nearly as pleasant as using iBooks. In iBooks, every transition is animated & responds immediately so you can see what's happening and why. The page reading is superior, you have multiple font choices, footnotes work both ways, and you can highlight and copy text. Almost everything now comes out in the iBooks store, and of course it reads DRM-free epub and PDF just fine. Apple doesn't care if you buy content (books, music, movies, whatever) elsewhere and load it on, they just don't want 3rd-party stores in their own storefront unless they get a cut.

This is the existence proof that you can make a webapp that's as good or better than a poorly-made native app. We still don't have any evidence of a webapp that's as good or better than a quality native app, though.

I don't understand how an organization with Amazon's size and technical talent can produce such an unbelievably awful series of book readers, and why their policies are so closed-minded.

← Previous: When Will Computers Go Away? (Mac) Next: Top 100 SF and Fantasy Books (Media) →
When Will Computers Go Away?
Sat, 2011Mar12 14:02:38 PST
in Mac by kamikaze

The iPad 2 launch seems to have gone well, Apple's lack of pre-orders resulted in the fun publicity stunt lines they love (as opposed to the Verizon iPhone 4, which was up for pre-order, because Verizon doesn't understand "free advertising", and everyone stayed home and bought that).

The reviews aren't just glowing, they're basically blowjobs for Apple:

Looks like iPad 2 is a very nice upgrade of the iPad 1. I'm still happy with mine, so I'll probably wait for next year's model; if you don't have an iPad, you should get it.


So, when do we turn the lights out on desktop/laptop computers? I use my iPad as a reading/web surfing/Twitter sidebar (and it is my constant companion because of that), but I can use it for a lot more. What I MUST have a laptop for:

  • Long writing in BBEdit (MAN, if there was BBEdit on iPad… I could happily use the BT keyboard instead of this). I could work in Pages, but I don't like WYSIWYG editing, need BB's regular expression support, and would have to write some AppleScript to pull Pages docs out of Mail and convert them to HTML; my MultiMarkdown process is easier. So one app away from usable.

  • Software development. No Xcode or Python on iOS. Yet. YET. And it's probable that this will be the last thing to leave the desktop, not so much for technical limitations as for Apple's control issues, and to get iOS devs to buy Macs. If you want to develop webapps on iOS, you already can.

  • Unix & AppleScript toolchains. Half the time I solve problems by gluing together a few other tools. None of the scripting tools I need are on iOS, and it doesn't have AppleScript, though it's the same basic OS, and wouldn't be hard to expose as services. I doubt that Apple will bother with classic AppleScript, but some kind of scripting is inevitable. You can, if you know the app, sorta do this now, with hyperlinks: Some apps respond to queries. If they let you specify a "callback URL", you could make something like Automator by calling one URL, then using the results to call another, etc.

  • Highly (sorta) demanding videogames like Minecraft, Myst Online, and World of Warcraft. But the iPad has Minecraft coming soon, classic Myst and Riven, and Pocket Legends MMO. iPad, iPhone, consoles, and handhelds are a better gaming experience than a desktop PC in almost every way, and cost 10-20% as much.

Other people have different lists, of course. Audio and video people need Final Cut Pro, not iMovie/iPad… 3D software like Blender or Poser are massive CPU hogs, in addition to burning video cards. But it's getting there. You can do amazing things in GarageBand/iPad, that are simply not possible with a desktop.

Tablet performance hasn't caught up to desktop yet, but soon will: iPad 2 is roughly 4x slower and less memory than a MacBook (which is adequate for all but the VERY highest end work). With Moore's Law, that's 3 years, 2014, and in 2017 it'll beat a current Mac Pro. While desktops will get faster, they're already a couple years past the point where 99% of the market makes use of it. And it may go faster, since ARM processors are simpler to develop & upgrade than Intel; Intel's made good use of scale, but ARM has even bigger scale now.

For user interaction, the iPad is already better. The mouse is a 50-year-old set of Etch-A-Sketch(tm) knobs moving a single dot around a screen, two levels of indirection; touch gives you direct manipulation. If an app needs precision, it can touch-and-hold to show a loupe (like the clipboard controls in text areas), or let you zoom in (like Brushes does). Your finger is the best pointing device there is, and you have 10 of them (usually). You cannot tap two or more places at once on a desktop, and the desktop thing of trying to hit a 1 or 2 pixel target never made any sense.

Desktop windows and dialogs and "spaces" are a pain in the ass. I just had to move 2 windows and a dialog box aside to get to iTunes to sync my iPod nanowatch. I do that crap a hundred times a day. How much of my life has a windowing GUI wasted? I'd like better background tasks than iOS handles, more like WebOS's cards, but complex GUIs were the wrong direction to go.

For display, an iPad can drive a monitor or projector. Hook it up to your Apple Cinema Display, and the app will either be mirrored on the big screen (useful for demos) or show whatever external video it wants, leaving the iPad as a controller.

If you need a physical keyboard for writing, the bluetooth or dock keyboard are exactly the same as a desktop's.

So I'm thinking somewhere between 2014 and 2020 at the latest, the desktop just goes away. There'll be servers and a few high-end workstations running dedicated software, and everyone else will be using tablets. And by "tablets", I mean iPads, because at this point I doubt anyone else is competent to produce a competing tablet.

← Previous: World of Minecraft (Toys) Next: Kindle Cloud Reader (Software) →
World of Minecraft
Fri, 2011Mar11 15:01:49 PST
in Toys by kamikaze

I've been playing Minecraft and thinking about it a lot more lately. I don't currently have spare time for other games, but I can spend 10 or 20 minutes, do a couple day/night cycles, and feel like I've accomplished something.

I've created a Mark Plays Minecraft blog with some ideas, thoughts, and screenshots.

← Previous: The Other Side (Mac) Next: When Will Computers Go Away? (Mac) →
The Other Side
Tue, 2011Feb22 07:32:56 PST
in Mac by kamikaze

I'm often accused of being an Apple partisan, an iOS bigot, wholly owned slave property of Steve Jobs. And that's fair, one could easily get that impression because it's basically true. I leave home each day with an iPhone 4G, iPod classic and Beats By Dre Solo HD headphones (exclusive to the Apple store), iPod nano with Hex watch strap, iPad, MacBook Air, and iPod touch 4 for development. "Saint Peter don't you call me, cuz I cain't go, I owe my soul to the iTunes sto'."

But for a moment, consider the current alternatives to Apple.


Android

Android has a lot of users, and a plethora of phones on every carrier.

  • The UI is terrible. It's slow. Dragging through a list will jerk along, then fall behind your finger, and then stop. Pushing buttons often doesn't register anything, and when it does, the visual response isn't immediate. "Did I hit it, I better hit it again, oh shit, now I've purchased TWO Bolivian howler monkeys!" Apps look like ass, are poorly organized if at all, and look like someone ported them from desktop without ever using a touch device to test, which is often the case. The thing on Apple products and even third-party iOS and Mac apps, where they "Just Work"? Android doesn't.

  • The hardware is terrible. Not one of these is as solid or real as an iPhone 4. The Verizon Droid commercial shows stealth bombers dropping missiles, hurtling through the atmosphere, impacting and smashing the ground open, and the bombs open and extend a Droid phone to menace and destroy mankind. The Droid X commercial shows military NBC-suited crew entering alien tunnels, past the helmet of a dead soldier, and getting transformed into nanotech cyborgs by touching a floating alien rock. So, Droid must be the bastard love child of the Terminator and John Henry's hammer, a hard motherfucking burning chunk of steel and hate, right? Nope, false advertising, it's a flimsy little plastic thing with a wobbly back. As far as I can tell by reading CrunchGear and Boy Genius Report, they're all toy crap like that.

  • The dev tools are terrible. It's Eclipse, which is an enterprise Java environment designed for handling gigantic projects with no UI. Then Google glued in their fake-Java compiler, which doesn't support Eclipse's incremental compiles, so you can't even see error messages until you run it, like some primitive thing from the 20th Century. There's no real UI builder like Apple's Interface Builder, but there's a third-party "DroidDraw" which is like Visual Basic, again from the 20th Century. When I've tried making Android apps (twice in the last 2 years), the debugger didn't work, the console was unreliably updated so I couldn't printf-debug. It's almost malevolent, how bad this is.

  • The market is full of spam "apps", because there's no quality control; for any app on iPhone or Android, there's a rip-off wallpaper that costs $0.99 where the spammer hopes you won't realize it's not an app. The real Android apps aren't much better, most are bare-minimum functionality, with bare-minimum to no UI, because making a good UI with Android tools is nearly impossible.

  • Making money on Android is unlikely. The store generates a tiny amount of money: TechCrunch: Despite 861.5 Percent Growth, Android Market Revenues Remain Puny. Apple's App Store made 17.5x as much money, even though Android now has more unit market share. Where's the customer money? It's not there. Why? Because A) Google Checkout's payment system is grossly inferior to Apple's and isn't available in many countries, and B) Android apps aren't worth paying for. So Android apps are mostly free or ad-supported; imagine everything you do with a chunky ad banner in the way. The growth numbers look impressive because they came from nothing to a bigger nothing, but they won't continue like that.

  • Android tablets which are actually available, like the Galaxy Tab, are running a scaled-up phone OS, which doesn't make any sense on a tablet. They actually take the terrible Android user experience, and make it worse. The Android tablet OS aka "Honeycomb", and the tablets that'll be good enough to run it, are still not out, are more expensive than the iPad, and will have no tablet-optimized software available at launch, maybe ever.

  • Android is open and "free", which really means that if you're sufficiently insane and technical, and don't care about making money, you can modify Android, and they don't restrict scammers from putting junk on the store. That's not an "open" or "free" that even I need, and I'm insane and technical. You're probably not.

Windows Phone 7

Nah, I'm just kidding. Seriously, don't buy another Zune, what's wrong with you? The hardware is by the same vendors who make shitty Android phones. Microsoft won't report actual sell-through sales numbers, only "2 million shipped to retailers". I believe that far less than 1 million have been sold to customers in a quarter.

Unlike with the Kin's aborted launch, this time MS seems determined to follow the Xbox strategy and throw money at Windows Phone 7 until it succeeds, even if it costs them billions of dollars which they will never recoup. But hitching your business to them is a foolish waste of time and resources.

Nokia has abandoned its own OS projects and will be making WP7 devices later this year, but Nokia has no idea how to sell products to the US. Remember the N-Gage? The side-talking taco-phone gaming device where you had to pull the battery out to change cartridges? Yeah, nobody else remembers it either, because it was the worst product launch since the Apollo 1 disaster, which killed Gus Grissom, Ed White, and Roger Chaffee without even leaving the launchpad. I do not believe that Nokia will do any better this time around. They'll sell few WP7 devices in Europe (which despises Microsoft products even more than I do), none in Japan (where their lack of design sense will be up against the now-ubiquitous iPhone), and none in the rest of the world (where their phones will be too expensive).

Microsoft's plans for a tablet are the same as the last decade, and the decade before that: Put desktop Windows on a tablet, and ignore the usability problems. And they'll continue to fail at tablets exactly as they have for the last 20 years. Which means Nokia will fail at tablets. It's so stupid, but Microsoft's incapable of learning from experience.

[Update 2011Feb22: Microsoft can't even manage their updates to a few hardware vendors successfully: Windows Phone 7 update bricks phones ]

BlackBerry

Don't be stupid. RIM has had 3 years to try to make a touch phone that doesn't suck, and they can't do it. They're dead and floating face-down in Waterloo's Grand River.

HP/Palm WebOS

Not out yet, but honorable mention.

  • The UI is beautiful, powerful, and solves real problems. WebOS is the only mobile OS where multitasking makes sense and can be managed by normal people. It's not the same as iOS, but is just as good or even better.

  • The hardware is in HP's hands, and HP can make some awesome, fantastically reliable solid gear. Or they can make shitty $99 disposable printer junk. 50/50 chance.

  • The dev tools may be tolerable. Based on Eclipse, but with a UI builder, better error reporting. It's still inferior to Apple's Xcode, but it works.

  • The market is currently very small. Will HP/Palm take responsibility and keep a well-pruned walled garden like Apple, or just give up and let weeds grow like Google?

  • Making money is a giant question mark. How will HP/Palm take payments into the store? If they can get carrier billing, they can sell in more countries than even Apple. If they can't, they'll have the same problems Android has, with the added problem of initially low market share.

  • The TouchPad tablet looks pretty damned awesome, and the integration with the Pre makes it more of an essential third device. The rumored price is $699, which for the device shown might be reasonable.

It's a tragedy that the original Pre could only get out on Sprint, and nobody likes Sprint (I had a Treo on Sprint, and was happy to escape to AT&T even though I almost doubled my monthly bill). The new HP/Palm devices will be on several carriers. I think they have a shot, but it's going to be a hard fight.

Apple

My Lord and Master, Apple. There is no truth to the rumor that I have an Apple tattoo, and have changed my name to "iMark". … But only because I haven't got around to it yet.

  • Apple's UI is beautiful, simple, and it works. I think they've found a good balance of skeuomorphic pseudo-reality decoration, and abstract computery widgets. The opposite extreme is Windows Phone 7, which has no skeuomorphism, no familiar affordances, just sterile bleak panels with cut-off fragments of text. WebOS is sort of in between, a little more abstract but familiar enough that you can work out how to use it.

  • Apple's hardware is amazing. The iPhone 4G and iPad feel like solid glass and aluminum that magically display information, not electronic devices. Much of that is from Jony Ive "being inspired by" Dieter Rams, but with modern innovations. If you're going to steal, steal from the greatest industrial artist of the last century. Nobody else (except maybe HP) even shows the slightest sign that they understand that hardware design matters.

  • Apple's dev tools are fine. The current Xcode is a thin shell over great tools. The project manager is kind of awful; in team projects, we just warn each other before overwriting the project, you can't really merge it. The next version of Xcode has significant bugs right now, but it should be a better tool when done. The Xcode debugger and analysis tools are amazing, second to none. Interface Builder is the only GUI builder for any platform that actually works the right way. And you develop iOS apps in Objective-C and Cocoa, which are by far the most advanced and efficient language and library on the market. Nobody else is even within a decade of matching Apple's technical lead.

  • Apple's market is, as we all know, enormous. 10 billion downloads as of Jan 22, 2011. 10 BILLION. And while some of the apps are of dubious quality, there are few or none which are viruses, outright scams, or dangerous. Apple's "draconian" control makes things suck less. Most small developers can only afford to build for and support one platform, and it's going to be Apple's.

  • You can make money on the App Store. I get regular small checks from Apple for my games, and much more from the contract work I do, which is funded by checks from Apple. And that money flows because Apple has iTunes and your credit card, and can take payment in as many countries as possible, and they're responsible about paying out. If there was nothing else good about iOS, I'd still be on their store, because that's where the money is.

  • The iPad tablet is pretty much the only real tablet there is so far. And it's fantastic. I have ONE device where I can read books and comics and news and Project magazine, and Twitter and web, and plays games, and plays TV shows and movies, I can write on it, or draw, and the battery lasts forever (well, all day). I laughed at Steve Jobs' hyperbole for calling it "magical and revolutionary", but he was being deadpan literal. You can do much of what an iPad does on a laptop (say, a MacBook Air), but the reading experience is all wrong.

  • Against all that, Apple's not at all open. Nothing is free. You get what Apple thinks you should get, at the price they or a developer thinks is fair. If you want to sell stuff, Apple wants a cut. If you want in their store, you have to play by their rules. If you want to play by different rules, you can go to the web, or to Android, or just fuck off; Apple doesn't care. And to be honest, I don't care, the process works for me and produces good hardware and software.

Conclusion

So, there's really no alternative. Android's terrible and profitless. Windows Phone 7 is vile. RIM is incompetent. WebOS isn't out yet.

← Previous: You Gotta Pay a Fee, Dobbalina (Mac) Next: World of Minecraft (Toys) →
You Gotta Pay a Fee, Dobbalina
Mon, 2011Feb21 13:45:58 PST
in Mac by kamikaze

Wherein I tell three stories of unsuccessful business pitches.

Story #1

You go to a comics shop, and tell the owner: "Hey, Comics Shop Man, see this awesome new comic? I sell it by subscription, but I'm going to distribute it from your storefront. What? No, you don't get a cut."

Comics Shop Man will beat you like a red-headed sidekick and kick you to the side.

Story #2

You go into a diner, and tell the owner: "Hey, Mrs. Sammich, I'm'a sell my own Dagwood sandwiches from the front table in your diner, and keep all the money myself. I'm not even gonna buy your daily special."

Mrs. Sammich will call her husband and 6 brothers, all of whom are giant steel-girder-lifting construction workers, they will tenderize you like a roast beef, and bury your corpse in the foundation of a building.

Story #3

You send an app to Apple's App Store, and tell the owner: "Hey, Steve Jobs, I'm'a take all my money over on a website you don't control, and you get NOTHING! HAHAHAHAHA!"

Dear readers, I cannot begin to describe the horrors that Steve will visit upon you. Oh, yes, I can. Apple will reject your app.

The Moral

If you're in someone else's store, getting their distribution, getting their advertising presence, you pay them their vig or you don't fucking sell anything. Today, that fair share happens to be 30%; it was considerably more (50-70%) for magazines and books to newsstands and bookstores back in the physical media days. Quit trying to rip off the distributor.

← Previous: Xcode documentation viewer (Mac) Next: The Other Side (Mac) →
Xcode documentation viewer
Mon, 2011Feb07 19:11:49 PST
in Mac by kamikaze

The newest version of Xcode has some serious problems displaying documentation; the old mouse shortcut is gone, and the viewer doesn't have a useful section/method index anymore. Maybe nobody at Apple uses docs, they just read the source. Maybe it's an oversight. I have filed and will file more bug reports.

Meanwhile, for documentation viewing I'm using Ingredients.

To launch it, create an Automator workflow, Run AppleScript, and paste in:

on run {input, parameters}
    set q to item 1 of input
    tell application "Ingredients"
        activate
        search first window query q
    end tell
    return input
end run

Then in System Preferences, Keyboard, give it a nice key, like Cmd-Ctrl-/

Sigh. I hate having to spend my time making workarounds instead of writing code.

← Previous: MultiMarkdown (Mac) Next: You Gotta Pay a Fee, Dobbalina (Mac) →
MultiMarkdown
Sat, 2011Feb05 18:03:56 PST
in Mac by kamikaze

Mention this morning of writing tools like VoodooPad, Scrivener, and Circus Ponies Notebook made me rethink a long-standing pain in my writing process.


I like

  • Writing in BBEdit, or OmmWriter when there's too much noise in my head to concentrate, or Pages on iPad with the formatting bar rolled up.
  • Having formatted output.
  • Definition lists, so Standard Markdown isn't fully useful to me.
  • One keypress to preview my document.

I don't like:

  • Writing in a word processor. I get distracted with all the shiny formatting tools. VoodooPad and Scrivener are nice for organizing formatted text, but I often don't want that.
  • Writing plain HTML. Even after almost 20 years, I can't see the text for the <tag>s.

Solution

MultiMarkdown does almost all of that.

To preview, I wrote this script, made it a BBEdit Unix Filter, and gave it a key Cmd-Ctrl-M in the Unix Filters Palette:

#!/bin/bash
$HOME/Applications/MultiMarkdown/bin/mmd2XHTML.pl "$1"
outfile=`dirname "$1"`/`$HOME/bin/splitext.py "$1"`.html
mv "$outfile" "$TMPDIR/Markdown-Preview.html"
open "$TMPDIR/Markdown-Preview.html"

splitext.py is a little Python utility I wrote to remove the extension from any filename passed in, put it in your ~/bin

#!/usr/bin/env python3.1
import sys, os.path
filename = os.path.basename(sys.argv[1])
print(os.path.splitext(filename)[0])

Also, add a BBEdit Language entry for .md = Markdown, and you get syntax highlighting.

To turn off those stupid goddamn “smart” quotes, open MultiMarkdown/bin/SmartyPants.pl and change the line:

my $smartypants_attr = "2";

To:

my $smartypants_attr = "0";

Obviously, this is only a valid solution for serious Mac/Unix nerds, but I'm liking it so far.

@Verso says: "MultiMarkdown is The Way, The Truth, and The Light. So say we all."

← Previous: The Daily Two Minutes Hate (Mac) Next: Xcode documentation viewer (Mac) →
The Daily Two Minutes Hate
Fri, 2011Feb04 14:17:13 PST
in Mac by kamikaze

The Daily is out, yet another News on the iPad app.

The best comment I've heard about this is:

"I would hope the staff is as appalled about the experience as we are. Because otherwise they're doomed. If they think this is okay, they're out of their minds."
John Gruber, Talk Show #28


The UI is wretched. It's another unselectable images-as-pages piece of crap, it's inconsistent between portrait and landscape, and it's slow and awful.

Worse, the content is just what you'd expect from Rupert Murdoch. They explicitly state in the initial editorial that it's "against government control", in other words, it's a teabagger retard conspiracy theory propaganda organ. The "article" on global warming was typical denial nonsense, from the kind of Christian idiots who believe that God won't flood the Earth "again", because He promised not to with a rainbow and a dove. The article on Egypt suggested that "democracy" in Egypt is doomed because Gamal Mubarak, the dictator's son, left the country. They honestly think the son of a psychotic murdering dictator is the most democratic choice to take over.

What I don't understand is how Apple teamed up with this piece of shit. Al Gore is on Apple's board. Steve Jobs seems to be pragmatic but very liberal. Rupert Murdoch, on the other hand, is a lunatic educated only with a 1700-year-old fantasy novel, bent on spreading ignorance and hatred throughout the world through FOX "News", the New York Post, and other propaganda wings.

← Previous: NOW IN 3D! (Media) Next: MultiMarkdown (Mac) →
NOW IN 3D!
Wed, 2011Jan26 16:16:23 PST
in Media by kamikaze

Slate debunks some reviewer's anti-3D diatribes.

The thing is, Roger Ebert was a fine reviewer of mid- to late-20th Century movies, and a terrible scriptwriter of same. But he's also a pod person who's never in his life left the theatre and seen the real world, nor read a book (his understanding of movies based on books, like 2001: A Space Odyssey, ranges from laughable to painful to pitiable if you have read the books). His understanding of 21st Century filmmaking is just sad. So when he says "3D is unnatural", what he means is "it's not a super-bright light projected through a strip of film being changed 24 times per second on a silver screen 10-20 yards in front of me at 4:3 or 16:9 ratio, producing the illusion of motion even though it's just a slideshow". He doesn't mean it's "unnatural" like nature as we know it, because he's never seen nature except in Koyaanisqatsi and The Life Aquatic With Steve Zissou.


Not that 3D movies as they are today are natural and convincing, but they are very slightly LESS unnatural and unconvincing than 2D cinema, and in time they will improve. 3D with polarized or shutter glasses lets both eyes see something slightly different, so you can locate the action in "real" space; you had to learn to see 2D, but most of us grew up with television so we don't remember. A 3D film takes advantage of the fact that our brains can assemble two images into a mental construct of a space, far better than they can with a 2D image.

Modern 3D movies are of two kinds: Those shot in 3D, and those post-processed into 3D. Post-processing makes the movie darker, because the same amount of light is being split into two polarized views (if you try to up the contrast, you blow out the bright areas; you can't win). Movies shot in 3D can have the brightness at an appropriate level for each eye. The post-processed films also just look terrible, because they're basically "painting" 3D cues into a 2D film, and it's a fallible human process, and looks like a ViewMaster slide. The future of 3D film will be to use 2 real or virtual cameras, separated at an appropriate focal distance, and they'll look GOOD. You can see this now, in CGI-heavy films like TRON:Legacy and Toy Story 3, where the 3D is not POKING YOU IN THE EYE, but giving you depth and a sense of place and distance that 2D would lose.

Not every film needs to be 3D, any more than every painting needs to be a hologram, but it is objectively superior in long run, just as talkies were superior to silent films, just as color was superior to black and white; you think you can only do "moody noir" in B&W? Watch Le Samourai, Chinatown, or L.A. Confidential, all three of which rely on the kick of color in places, and the play of shadow and light in others. In a few years, the ridiculous early 3D movies will be seen as flawed but essential experiments while filmmakers learned to film space, not just a flat image.

Art moves on, some old reviewers don't.

← Previous: Thoughts on TRON: Legacy (Media) Next: The Daily Two Minutes Hate (Mac) →
Thoughts on TRON: Legacy
Mon, 2010Dec27 18:04:15 PST
in Media by kamikaze

I can't post this openly yet, since it won't be out everywhere for a while yet, but I wrote up some of my thoughts on what's happening in this movie: SPOILER TRON: Legacy SPOILER

As a general review: Excellent sequel. It's not the equal of the first film, but it does a fine job telling a similar-but-different story with some new creative elements, and effects that match that story. It's like "Alien" (best hard science fiction movie of all time) vs. "Aliens" (dumb but very amusing Vietnam-in-space flick using leftover sets & costumes from Alien).

The goddamned Recognizers are apparently burned into my subconscious as terrifying hunters, because I have a visceral response to them, just like I do to Daleks. "KILL IT, KILL IT, GET A TANK!".

Only real disappointment: Bit does not return. Aw. I liked Bit. "Great, another mouth to feed." "YESYESYESYESYES"

← Previous: Chrome OS: The Return of the Network Computer (Software) Next: NOW IN 3D! (Media) →

Google's finally released a very early prototype of its Chrome OS laptop, the CR-48 (because that's a sexy, easy-to-remember name). There's the obvious problems with prototype hardware (see MG Siegler's TechCrunch review).

But I think the entire premise is flawed, and has failed before, and will continue to fail every time people present it, for exactly the same reasons. I've talked about this before, in The Cloud is Not a Panacea.

The competition to a Chrome OS laptop is the iPad, or light laptops with SSDs (the MacBook Air). The latter keep files locally, let you work on them, and then shove stuff to the slow network. Chrome OS has no choice but to work on the network. It cannot be other than slow and unreliable.


Reliability

Wireless network connections like wifi and mobile fail all the time. The weather, or birds squatting on antennae, or passing vehicles, sunspots, microwave ovens, tin foil hats, bad moods, anything can weaken or disrupt your signal.

If you're working on a local file, you don't care or notice, you continue working and when the network works again, you can send it out. If you're working on a remote file, you can do NOTHING until you get the network back. Quite likely, you'll lose everything you hadn't saved.

Autosaving documents works great on a local system, because HDDs and flash memory are relatively fast; it does not work well over a network, because the network is slow, and in any case won't happen because writing that functionality in a JavaScript app is almost unbearably painful.

Speed

Read this: Latency Trumps All, in particular:

Relative Data Access Latencies, Fastest to Slowest

  • CPU Registers (1)
  • L1 Cache (1-2)
  • L2 Cache (6-10)
  • Main memory (25-100)
  • --- don’t cross this line, don’t go off mother board! ---
  • Solid-State Drive (1e5 = 100,000) [mdh: estimated]
  • Hard drive (1e7 = 10,000,000)
  • LAN (1e7-1e8 = 100,000,000)
  • WAN (1e9-2e9 = 2,000,000,000)

"Avoid going halfway to the moon whenever possible"

So the text in your local text editor can be accessed 20 million times faster than text over a mobile data connection. That it works at ALL is awesome, but doesn't make it a good choice for interactive editing.

It gets worse for photos, music, and video. You can just barely play a low-quality music stream over WAN. Video needs a fast wifi, or local. Even loading a photo gallery is SLOW over the network, try it with a big Flickr gallery. Compare that to working with those on a local device: You can smoothly flip through a gallery of media on an iPad and instantly play anything in high quality.

Development

HTML5/AJAX/JavaScript are quite nice for doing many of the things Java applets and Flash does, and can often do it with shorter startup time and lower resources. I've written AJAX-based web apps, done some impressive things in it, and for front-end input validation, submitting without a page refresh, and a bit of animation, it's more than adequate.

HOWEVER, there's no comparison to a native app. JavaScript is thousands of times slower than native C or Objective-C code. Most complex tasks require a lot of processing power, and/or access to native APIs that JavaScript simply doesn't have.

[Updated: After some prodding from Steve Streza, I actually tested the performance of JS.

I get 4.5-5x faster in Objective-C than JS, doing the most naive drawing possible. If I used OpenGL, it'd easily get 10x or more faster, but this is minimal effort.

You still can't access native APIs in JS, and I think even that speed hit is unacceptable, but it is better than it used to be...

]

On a cheap, resource-constrained device, the last thing in the world you want is a slow, interpreted language like JavaScript. That's why Mac devs rejected and mocked Steve Jobs' "sweet solution" of HTML for iPhone apps. The native iOS SDK is already one of the most successful platforms in the history of computing, by any measure: money, number of apps, and creative work.

The development tools for HTML5 are unbearably primitive. JavaScript debuggers sort of work now, if you don't mind eating 100% CPU on a fast computer. Forget about doing it on something like the target device. There's nothing like Xcode plus all the iOS SDK development tools and Instruments for profiling.

When you do get a web app running on one browser (say, targeting Chrome), you'll find it doesn't work the same, or at all, in other browsers; and you (and Google) are going to want and need those apps to run elsewhere. It's a development and maintenance nightmare.

Now, I might be biased in favor of iOS, despite a career of doing cross-platform Java and web apps, right? But it's easy to verify that I'm correct about this: Compare the state of the art of webapps to their native iPad equivalents.

Google's gmail vs. Apple's Mail app? Gmail is marginally more powerful for searching, but Mail.app wins in usability every time. Trying to read through my inbox in gmail would be insane, and composing in gmail is a great way to throw away my writing when the network goes down.

Google Docs word processing vs. Apple's Pages, or spreadsheets vs. Numbers, or presentations vs. Keynote.

The Google apps aren't even as good as the '80s native versions of MS Word, Lotus 1-2-3, and Powerpoint, let alone anything close to modern. They're like a kid's hobby project. They also have ludicrously incompetent visual design, like using a 3.5" floppy disk icon for "Save" on a web app, 12 years after Apple stopped shipping floppy drives. And these are the work of Google, the biggest and most technically advanced web company.

While in theory it's possible to make webapps less atrocious, in practice that rarely happens, because the same effort yields far better design results and financial rewards in native apps.

Motivation

So if a wireless network/cloud computer with no real local storage or apps is such a terrible idea, why does Google pursue it? MONEY. Google is an advertising company. The easiest (often only) way to make money from a web app is advertising.

It is in Google's self-interest to drive people to web apps, and just as importantly to drive them AWAY FROM local platforms where they make no advertising money. Google's ideal world would be Minority Report, where you can be retina-scanned and given "targeted" (like a sniper rifle) advertising everywhere you go. Every surface projects another damned ad. To anyone sane, that's hell, but to Google, that's "increasing eyeball share".

I am not just an eyeball host, I am a guy who likes using quality software on his computer, iPad, and iPhone.

← Previous: Buffy Minus Whedon (Media) Next: Thoughts on TRON: Legacy (Media) →
Buffy Minus Whedon
Tue, 2010Nov23 10:42:39 PST
in Media by kamikaze

So apparently Warner's is making a new Buffy the Vampire Slayer movie without Joss Whedon. And his response:

Kristin, I'm glad you asked for my thoughts on the announcement of Buffy the cinema film. This is a sad, sad reflection on our times, when people must feed off the carcasses of beloved stories from their youths—just because they can't think of an original idea of their own, like I did with my Avengers idea that I made up myself.

I'm not sure if he's being sarcastic here; it may be a necessary blind spot for him to do his work. Certainly fandom is not taking that as sarcastic, but that's not surprising, either. Whedon has done his own share of scavenging on the corpses of media. He wrote for Roseanne, a crime against humanity if ever there was one. He wrote the unbelievably terrible Alien: Resurrection, and the failed Wonder Woman script, and has written a bunch of X-Men comics; those are generally considered quite good, but the last thing the world needs is more geriatric X-Men stories. And now he's doing Captain America and The Avengers movies.

Captain America was created by Joe Simon and Jack Kirby in the '40s; The Avengers by Stan Lee and Jack Kirby in the '60s. They've gone through a lot of changes in writers/artists since, but the core is still those original stories about a team of powerful but unstable heroes who take on the threats nobody else can. Captain America joined the team later, he is in no sense "The First Avenger" as Whedon's upcoming movie is subtitled. There's nothing creative to be done there, it's just moving around action figures someone else created.

Page:   0    1    2    3    4    5    6    7    8    9    10    11    12    13    14    15   Archive  
Feedback  | Key: ] =local file, * =off-site link  | Copyright © 2003-2010 by Mark Damon Hughes | Subscribe with RSS 2.0