Metacircular thoughts

November 28, 2007

Learning Lift – Step 0: Learn the Java platform

Filed under: Java, RIAs, Scala — metacircular @ 9:57 pm

Lift is a Scala web framework. Its creator is none other than the mighty David Pollak, a man who was a mature programmer when I was a newborn infant.

It combines many of the best ideas from other web frameworks. It’s at the point where it’s small enough to be manageable but large enough to be featureful. Now is the perfect time to get in on it.

The problem is that it until about a week ago, my computer couldn’t even handle Lift, I didn’t have enough RAM. That problem has been solved.

But I still don’t have a clue about Maven and the other Java components Scala depends on which I don’t think David even realizes are nontrivial to learn. (They are trivial if you are David Pollak.)

And besides, Lucene is too awesome to pass up.

So, the first step is getting comfortable with Java web programming.

To do this, I am going to create a wiki/PIM type product that is more or less a Backpack ripoff. It will start as a trivial wiki, with Backpack-type features added later. Here are some features that are essential:

  • Fulltext search. This is an essential feature of all modern data-driven applications. Lucene will do the job.
  • Version control. I insist on knowing who changed what and when on pretty much any digital artifact I work on on computers these days, even binary assets like Photoshop files.
  • Simplicity. It must be beyond braindead simple to jot down quick notes, as simple as it is to type in a query to Google.
  • Responsiveness. I fucking hate slow software! Unfortunately we will have to dirty our hands with JavaScript in order to carry out nice Ajax stuff. I hate Ajax hype more than anyone I know, but it’s simply a fact that client-side scripting is the way to make excellent, responsive web applications.

In order to make this tractable, Internet Explorer compatibility is entirely optional, and I’m not going to waste my spare time on it.

Probably mobile access is important but I barely ever use cell phones.

The book I’m going to be working through is a recent release from APress: Beginning JSP, JSF and Tomcat Web Development: From Novice to Professional.

Let the games begin.

June 26, 2007

Someone please make the bubble die

Filed under: Life, Politics, RIAs, The Dark Side, Web development — metacircular @ 11:38 pm

OK, we’re now deep in 1998-1999 territory with respect to Web 2.0 bullshit. Like the real estate crash, if you don’t see what’s going to happen in about 8-24 months coming a mile away you’re living under a rock.

Look at what’s on the top blogs, mang. Remember all those experimental psychology papers you’ve seen which make a pretty convincing, fairly scientific argument that people aren’t effective at multitasking? Disregard that and embrace meaningless phrases like connected mode: do stupid shit faster! That’s right. All the old facts (who has time for facts anymore?) are irrelevant. It’s different this time. Smug dipshits who can’t produce code wearing ironic t-shirts gather at parties and rub each other’s balls in a circlejerk of self-congratulatory praise. We are so awesome. We’re wiseguys. Everyone outside our incestual Valley echo chamber is a sucker.

Somehow, human nature has changed in the last three years: cool office + caffeine + slave labor = startup success! Or, alternatively: MacBook Pro + Rails + Ajax todo-list app = startup success!

Another forgettable blog proclaims non-chalantly: “…as businesses … get more productive to remain competitive…” The same message is everywhere: no one (an absolute) has time to do anything: (another absolute) read books (except masturbatory productivity ones), write coherent essays, or learn new things that don’t involve Javascript. The same people using motherfucking PHP talk about increasing productivity without a hint of irony in their high-pitched voices! Unfuckingbelievable!

OK, so proprietary vendor Z wants to lock users in to new platform C, which garners significant mindshare from developers busy locking people in to platforms A and B from proprietary vendors X and Y, and I’m supposed to be impressed? Ignore the fact that you can’t link to a single fucking thing in this RIA widget shit Z is pushing, and you can’t increase the size of the text, or use Firefox extensions on it, or do most of the things a web browser is currently useful for. Nevertheless: game-changing!

TechCrunch is a sea of forgettable names: PopSugar, Meebo, Cellfish, Jobster, Topix, Kiptronic, PicLens, Pixoh, Snipshot, Cumshot, Gazeebo, Dildo, whatever. That sinking feeling in your stomach and glaze in your eyes as you read those names is the knowledge that this has all happened before (and that it doesn’t have to be like this). Yes, it’s not as insane as it was during the first bubble. But there are still millions of dollars going after companies that can’t possibly actually have, you know, customers, revenue, the stuff that actually sustains business. This Valley-blog-startup-TechCrunch-iPhone-Digg bullshit is not indefinitely sustainable. Like Sarah Connor stuck in her Armageddon nightmare, you can pound against the fence and scream all you want, but the mushroom cloud is coming, man.

Look, you little Bay Area-dwelling, public transportation-using, podcatching, bespectacled too-cool-for-cool circlejerk pricks: calm the fuck down. Chill the fuck out and read a computer science textbook. Learn a functional/concurrent/logic programming language. Read Steve Yegge. Face the fact that your startup, rather than being “game-changing,” is boring and banal, just like most businesses; what matters is whether revenue - expenses > 0 or not. Learn how code generation in a modern compiler works. Make a toy operating system. Learn how the CLR in .NET works by reading books, documentation, and examining IL bytecode. Tinker with OpenBSD and write a solid technical article about what Mac OS X/Linux users could learn from it (crypto? firewalls? there has to be something). Do something real for once, for fucks’ sake! Do something a bright teenager could grasp the outcome of but when asked how he’d do it would scratch his head and say, “uh… hm.” REAL! And I’m not talking about robotic toys that don’t do anything interesting from a science/engineering perspective! And no data center/sysadmin shit that only applies to web hosting companies who are hosting 50 terabytes of data, nor something a smart 15 year old kid could do in a weekend in between Bangbus marathons. You’re driving me nuts. Less TechCrunch, more Fog Creek. OK?

(Am I just jealous I’m not on the gravy train? Uh, obviously.)

March 20, 2007

My fears about RIA usability are coming true

Filed under: RIAs — metacircular @ 12:29 am

I’m having a look at Apollo. I commend Adobe for doing a lot of things right: favoring PNG for icons, releasing early to get community feedback, etc. However:

This looks to be creating a new wave of unusable applications. Jakob Nielsen had this to say about Flash in 2000, before Macromedia made serious improvements to Flash’s usability:

… [M]any Flash designers introduce their own nonstandard GUI controls. How many scrollbar designs do we need? … [T]he specification of a new GUI widget is a major human-factors exercise. The current Macintosh and Windows scrollbars emerged after the world’s best interaction designers worked for years testing numerous design alternatives. A new scrollbar designed over the weekend is likely to get many details wrong. And, even if the new design was workable, it would still reduce a site’s overall usability because users would have to figure out how it worked. They know how to operate the standard widget. When you use standards, users can focus on content and their reasons for visiting your site. Deviate, and you reduce their feeling of environmental mastery.

None of these usability problems are inherent in Flash. You can design usable multimedia objects that comply with the guidelines and are easy to use. The problem is simply that current Flash design tends to encourage abuse.

My middle mouse button doesn’t work in Adobe’s sample Apollo applications. Perhaps there are other issues such as this lurking.

Then again, maybe Apollo, which requires basic programming ability to use, will scare away the kind of people who used Flash improperly. However, Adobe is certainly not setting a good standard by creating fucked up, non-standard widgets.

Overall I think Apollo is pretty cool. There are some things about it that are no doubt due to the fact that it’s only an alpha: the applications feel slow and unresponsive, and the only place you can install packaged applications is to a specific pre-chosen directory, for instance. To anyone who’s also playing around with Apollo, realize that possibly the best stuff is yet to come:

  • Drag and drop and cut and paste support.
  • Additional HTML and Ajax support.
  • Window transparency for HTML-based applications.
  • Flash within HTML.
  • PDF support.
  • Native dialog support for opening and saving files.

To Adobe: I personally find this stuff just fine. I’m thinking of people like my grandma, is all. Could you make some tutorials on how to make Apollo/Flex apps look fuckin’ dope, like Finetune?

Next Page »

Blog at WordPress.com.