a glob of nerdishness

June 29, 2010

Skeuomorphism

written by natevw @ 11:46 am

One intriguing aspect of designing for direct multitouch devices is the re-introduction of skeuomorphic interface designs. In desktop applications, it’s a major faux pas to force a user to control a pictures of real life objects via a mouse. Dragging a phone “handset” off its virtual “hook” to answer a call would be simply ludicrous, yet there are still many desktop interfaces that let you slowly aim and click, aim and click, aim and click… to dial numbers via your trackpad.

A software "phone". Oy vey.

On a touch-controlled device, Fitt’s Law doesn’t apply and users can use more “natural” motor skills to quickly interact with virtual devices. (I learned this years ago when I totally dominated playing a PocketPC port of Missile Command with the help of a stylus: like swatting reeeeeeeally slow flies.) A touch screen provides a strong temptation to fall for pre-computer/tactile metaphors, but there’s an offensive discord between Apple’s visually efficient hardware design and their woodgrain sticker interface guidelines.

While the iPhone’s infamous Notes application — the poster child of froofy-faux-foo-fah — doesn’t actually bother me (much), my preference and my goal is to see new affordances developed specifically for the plane pane of touch screens. The flat aesthetic of the physics papers web may actually be the right one for these Safari Pads and Mini Safari Pads.

A brief pause so we can all recoil at the spectre of this Nielsenesque future.

Now hypertext, despite its high-dimensionality and familiarity, may not be the most appropriate model for all interface design: its foundation on resource statelessness can make users themselves feel like the state machine. We most certainly shouldn’t shy away from native applications from a design perspective (ignoring anti-competitive censorship or other platform limitations that may discourage use of a proper framework for stateful app creation). We do need to shy away from letting the visual accoutrement of old building materials clutter our thinking and our available screen space. Don’t let the past crowd out the possible.

I’d encourage you to read Designing for the iPad. It simply calls skeuomorphism “kitsch”, thus leaving more syllables over for dealing with all the practical concerns ignored by this post.

May 22, 2010

The right Orwell

written by natevw @ 12:39 pm

I’ve sneered at Apple for calling the iPhone, iPod touch and iPad “revolutionary” when their App Store’s economic model seems a bit outmoded. But the devices are impressive, and while Orwellian comparisons referencing the 1984 ad are fun I haven’t been totally convinced of the analogy. Thought control is really more Google’s goal: knowing the world’s information and making it universally adsensable. All Apple control is the means to publication (German: Publikationsmittel) on their revolutionary new cropland.

Orwell’s 1984 wasn’t about a revolution and its metaphors are more apt for pervasive, world domination type situations. Orwell did write another book, however: a much funner read that just happened to be all about a revolution. So without further ado, I present:

The Animal Farm SDK Agreement

I wonder — what will be this revolution’s “Four legs good, two legs better” moment?

May 19, 2010

HTML 5.0 Transitional

written by natevw @ 9:18 pm

Today I officially accepted a full-time job as “Web Application Developer and GIS ExpertJourneyman” — employee number seven — at &yet. Since meeting &yet (when it was just Adam Brault) a little over a year ago, it’s moved in my regard from “cool local website company” to “top-notch team” to “dream employer”.

To be honest, though, the job offer was mostly unexpected and I’m still adjusting to the task of becoming “dream employee” instead of an independent contractor. Writing shareware for Calf Trail was a chance to explore all my ideals. Especially the one about money not being important. Working with &yet is about combining diverse talents and perspectives into one team that shares responsibility for breadwinning — and fantasticmaking, of course.

I’m deeply grateful that I’ve been led to and then given this opportunity. While desktop software still interests me as a hobby, times were shifting and I’d already chosen the open web over giving 30% ownership of my livelihood to a corporation who squish liberty like bug. Joining &yet mostly means a much greater chance of success in this next stage of life.

We’re still working out the details, but the basic gist is that I will be moving all my paid geo, web and technical writing services to &yet. Calf Trail will remain, for the time being anyway, but mostly as a home for some desktop and photo management experiments. (More about that later, and I’ll be posting the official “Calf Trail” plan on the company blog when Calf Trail has an official plan.)

So, yeah…uh…that’s today’s nerdishness news. DRAMATIC CLOSE

May 7, 2010

Multitouch usability

written by natevw @ 9:15 pm

An interesting comparison of the iPad to the Kindle with respect to accidental button pressing reminded me to share some observations and a link about the “naturalness” of multitouch gestures.

I let Tobias hold my iPod touch occasionally. He’s at the age where flipping it back to front and back is plenty fun and his curiosity is mostly towards how it might taste. He’s not very interested in interacting with it, but I think he could be if it were a little closer to his normal experience.

Tobias holding an iPod touch

Of course, with the glass screen he feels no relevant tactile feedback. So there’s a significant abstraction right up front. Furthermore, since my iPod is the first model, it doesn’t have a speaker for regular apps to use. So he rarely hears audio feedback. But the issue that I noticed most is that, typically, he doesn’t even get to see any visual feedback. The touch gesture he is paying attention to simply doesn’t work.

Since Tobias can’t “palm” the iPod (he just turned ten months old) he’s typically got one thumb smeared across the screen just to hold it. In this situation, most software just ignores the actual touching of his free hand [okay, it's more like slapping, but...]. Software that does handle multitouch often fills its corners with hot areas that activate settings instead, which is even less interesting than interface he might otherwise start figuring out.

I don’t entirely fault the software; most of it is designed well for adults or at least children who can talk and follow verbal instructions. It’s just been food for thought, making me even more embarrassed that Sesamouse (my utility for enabling real multitouch gestures on the desktop via a Magic Mouse) doesn’t even recognize gestures when they start in the top part of the mouse.

Multitouch is still a new field to most developers, and gesture recognition is not without challenge. I suspect that as more designers and more programmers are given more time to use and think about handling multiple fingers through multiple frames, multitouch software will become more sophisticated. Not in the “draw a squiggle with your index finger while tapping your pinky up and down” sense (as even many simpler gestures are neither intuitive nor discoverable) but in the “it just works” sense.

April 12, 2010

Glastnost sold separately

written by natevw @ 12:39 pm

Last week Apple held a press event and updated their developer agreements in anticipation of a major upgrade to their iPhone OS. One change in the App Store rules has been generating quite a lot of news: Apple now forbids writing applications using anything but native tools.

Much has been written about what this means for cross-platform toolkits, game engines and advanced programming techniques. Certainly, if this rule is taken to its logical conclusion, App Store developers can’t even invent programs in the shower. In short, Apple continues to bring “innovation” to their digitally restricted “revolution”.

But I agree with Michael Tsai in this article: “I doubt that Apple cares whether applications use libraries or interpreters or parser-generators for their engines.”

It’s surprising to me how many dozens of articles have focused on a tiny little extension of Apple’s incredible power over App Store developers. The written rules have changed a bit: so what? Apps still get rejected for all sorts of unwritten reasons or just sit unapproved for “continued study”.

Why is this? The official answer came last week, and it’s straight out of Orwell’s 1984: “There’s a porn store for Android…so we’re not going to [stop censoring apps].”

Translation: “We have triumphed over the unprincipled dissemination of facts.” to quote from Apple’s own “1984″. Either Steve Jobs has been buried by the confusion of his own Doublethink, or he is a liar. There is nothing right about pornography, but the best solution Apple can come up with is dressing every iPhone, iPod touch and iPad in a corporate burqa, strings attached to their Cupertino Ministry of Plenty?

So Android owners have the freedom to succumb to sensual lust, just like iPhone users can browse to any site they desire in Mobile Safari. It’s not the business of any corporation to have any say in what freedoms me or my children have. All Apple needs to do is take the provisioning infrastructure they’ve had in place for years, and give the user the right to decide which developers to trust. That’s all.

Until then, we are talking ourselves to death. I am certain now that either Apple hates the App Store and loves the HTML-based SDK they originally announced, or they love power and hate independent developers. Against evidence, I’ll give them the benefit of the doubt and go with the first option.

Web applications must overcome many technological, usability and privacy deficiencies. They cannot (or at least, should not) provide a native experience on most devices. Dealing with broad spectrum of screen sizes and browser capabilities slows down web development. While this means I won’t have time to whine much about some megalomaniacal yet innovative corporation down in California, it also means it will be an interesting challenge. And I do like interesting challenges.

I hope I’ve made myself abundantly clear through my many tweets and blog posts on this tired subject. I no longer have time to waste thinking, complaining or explaining about the dystopia of App Store development. Just as I enjoy listening to the music of Shostakovich despite the influence of Soviet censorship, there are so many beautiful and user-friendly apps that have been approved for these devices. I am happy that there are developers willing to produce under the conditions.

I’ll be even happier if a free world of decentralized Web technologies can compete well enough to encourage Perestroika in the motherland. Maybe then I can return. Until then, I’ve got some work cut out for me.

March 31, 2010

Taking Pills

written by natevw @ 1:19 pm

My name is Nathan and I have ADD.

I know it’s vogue to glorify our overloaded lives and our craving for instant happiness with a generic “Whee, I’m so ADD!” It’s a fair enough analogy, but that’s not what I mean. There’s also a tendency to romanticize the effects of real ADHD. My disorder has its moments, but contributed greatly to my depression through college and my frustration at work since:

  • ADHD is killing precious time because what I need to be doing is boring.
  • ADHD is wasting extra time because what I am doing is too exciting to just finish.
  • ADHD is rambling on and on instead of listening to others.
  • ADHD is buying into lust for possessions that shouldn’t own me.
  • ADHD is brainstorming a thousand ideas when I should be sleeping.
  • ADHD is chasing an emotional high with no regard to its consequences.
  • ADHD is staying consumed by unfinished projects while my family yearns for my missing attention.

ADHD is trying to overcome all that, while being undermined by all that, while the past grows ever larger and the future arrives ever faster. After trying “on my own” for way too long, I read Reaching for a New Potential. It’s a well-written book about adult ADHD, and convinced me of its thesis: “It is the combination of treating the disability specifically and strengthening the non-disabled parts generally that helps us succeed.”

By “treating the disability specifically”, the author means: medication. As a kid, I took ritalin every school day. I was still hyper, but could channel my creativity and close my mouth often enough to make most teachers proud. After 8th grade I stopped taking the pills; my high school provided enough challenge, emotion and structure to compensate. I began to look at medication as something like cheating. You know, the New Yorker published this article about how stimulants are being exploited as study drugs, neuroenhancers used to get ahead in the rat race.

The fact is, ritalin and a few of the other medication options are stimulants. They can be used like caffeine, they can be abused like cocaine. But decades of proper prescription have shown that ritalin can provide an additional, special effect against ADHD. I’ve come to accept that — along with needing glasses to see clearly, and lactase supplements to digest dairy products — I need pills to respond properly to extrinsic motivation.

And if a meandering fifteen page exposé of “study drugs” implies that pills make my accomplishments phony? Well, Easter weekend tells just how God swallowed up all my broken failures and phony triumphs and gave the final success to Jesus. If taking Ritalin is a constant reminder to claim his accomplishments and not my own, so be it.

March 15, 2010

Android isn’t for me (yet?)

written by natevw @ 12:35 pm

Tim Bray wants to learn how developers approach the Android platform. Pouring disproportionate effort into things that don’t matter and don’t make money is what Tiggers do best, so I lost the entire morning agitating a few quick notes into an essay that would then swallow my lunch break for rewording. But hey, free blog post, right?


Greetings Mr. Bray,

I enjoyed your post about how you’ve joined Google to promote Android. I’m watching with interest as the platform improves, but I still can’t imagine myself spending any time on Android development. Here’s why:

Java

This one’s probably the most ridiculous, so I’ll get it out of the way. Java makes the Android feel more accessible to many coders, but I decided long ago that I’m not going to learn this era’s diploma homework. I’m stubborn, idealistic, and I’m going to stick with C++ as the only language bureaucracy I navigate. Can I develop for Android without learning Java or dealing with bloated Eclipse?

User interface

Surely the Nexus Two will fix the spacebar issue, just like the Nexus One fixed the Droid’s issues and the Droid fixed the “Android sucks” issue. But seeing the ugly little plus and minus zoom buttons in Maps was a huge shocker. It made me realize just how much multitouch matters. I’m glad Google is finally starting to step up in this area, but am worried the trend has been set for interfaces cluttered for finger-as-stylus, rather than direct manipulation.

Culture

I’ve only seen Android phones in the hands of Windows power users. Others try Android devices but get fed up with the platform’s overall sloppiness and leave. Who stays? It’s great that some people love rooting their open source phones, but I’m worried my carefully considered interface simplifications will be a liability in that kind of Android Marketplace.

Skynet

I don’t want to pour my life story into Google Calendar, Google Reader, Google Docs, Google Picasa, Google Mail, Google Finance, Google Health, Google Politics, Google Faith… just to keep my laptop in sync with my pocket. What’s really worse: a centralized developer app store, or a centralized user data store?

HTML5 / iPad

I’m young in the Mac development world, but waving goodbye as all the Xcoders board boats they’ll burn on the shores of the App Store. The iPad’s siren call has already lured back many who had gotten fed up with iPhone development. Despite being a compiled code, native API, local data junkie, I’m being driven towards HTML5 to avoid being left behind. There are many exciting things going on in HTML that make it viable for even anti-centralized apps. If Android gets sued into oblivion or Windows Mobile-ed into irrelevance, then Chrome OS is the future in a nutshell.

Cost

I write shareware and do contract work to scratch a living in rural WA. (When I say rural, I don’t mean “a suburb with trees”. I mean, corn and cows and lousy internet.) Given all the other points above, paying $529 just to kick the Android tires is a bad investment, especially when I could permanently lease one of Steve’s Safari Pads for thirty dollars less.

March 13, 2010

Numbers spreadsheet for 2009 IRS Form 1040 tax preparation

written by natevw @ 1:58 pm

I shared a Numbers template two years ago that helped me estimate my 2007 taxes. In 2008, I co-founded Calf Trail Software, LLC, and let an accountant do the filing. That luxury ended up being a major financial setback, so the spreadsheet is back:

Sample scenery from the 2009 federal tax Numbers worksheet

I’m sharing my efforts under a Creative Commons license again, so you can download my 2009 Federal Tax Form 1040 worksheet as a Numbers.app template.

Reminder: Don’t trust the results of this unofficial spreadsheet. It is not a substitute for the official forms, instructions, tax tables, or the advice of a certified accountant. Please do let me know if you find any errors, though.

January 29, 2010

A story NOT about iBooks.app

written by natevw @ 10:35 am

Some fellow perfects the bound book. He threatens to have drawn and quartered anyone who tries to make a similarly improved book. Then he says to the writers, “If I like what you write, I’ll bind it as one of my books and give you most of the profits.”

Some experienced writers say, “Silly books, clay tablets are so much better at knocking sense into people. Part ye from my paddock, fellow!”

But this man’s books are very well made. And so long as you don’t write a sequel to one of his own stories, or speak against his friend the mayor, you can make a good bit of money writing bound books. Most writers respond, “Books are clearly the future, and look how good they are for the readers!”

But there’s this other crowd. They’re not really writers, because they spend most of their time patting themselves on the back and talking about politics and how the future isn’t clay tablets or bound books, because papyrus scales so much better. Some of them are stitching their scrolls together so they can be read kind of like books. These scroll-books are a bit awkward to page through, but you can read them in any library branch and even sign some of them out for a few weeks.

Now the interesting part of this story is that scrolls and, by extension, scroll-books can actually be used on clay tablets and between any sort of book cover, including our book-binding fellow’s. The analogy is falling apart now, so I’ll finish explaining my previous post more directly.

No cheap, flimsy Chrome OS netbook will have more necessary features or be more pleasant to use than the iPad. I am also sure that native, platform-specific applications will always be superior to web-apps. What I am saying is this: until we can develop native iPhone/iPod/iPad/iPony applications with our First Amendment rights intact, making “native Chrome OS applications” (i.e., web apps) is the only way to publish independent software for Apple’s newest and best devices.

January 28, 2010

A Gradual Divestment

written by natevw @ 10:13 pm

I’ve been thinking about the last two years’ investment on a number of levels. Regarding the platform I chose, I’ve been struggling to find the right words for several months. I came across them today, at the end of a dead-on post by Alex Payne:

Wherever we stand in digital history, the iPad leaves me with the feeling that Apple’s interests and values going forward are deeply divergent from my own.

I’m most energetic while inventing a self-contained tool to improve some aspect of life. Writing native software for OS X was a dream come true. I hope the Mac’s open platform has many good years left, but it’s time I learn to enjoy building native software for Chrome OS as well.

Next Page »