a glob of nerdishness

January 17, 2012

The web is its own platform

written by natevw @ 1:57 am

Web apps are not cross-platform apps.

If the battle is whether Apple’s tools or HTML5 is the best way to write iPhone apps, whether Google’s frameworks or HTML5 is the best way to write Android apps, whether Windows Presentation Foundation or HTML5 is the best way to write Windows apps — my money’s on “native” in any and every case. Some developers aren’t as bothered by oppressive distribution policies as they are by the differences between platforms. They see JavaScript as the new Java — write once, run anywhere — and see generic-but-native-looking HTML5 apps as superior to the native apps they mimic.

The trouble is that users don’t value “consistent across platforms”. Why would they? They expect consistency within a platform. Developers who look at web apps as a “cross-platform solution” because of “HTML5″ do themselves a double disservice: not only do they devalue their own app by making it subtly inconsistent to native iPhone apps, they devalue the foundation they’ve built upon by muddying the web’s unique consistency.

Interestingly enough, it was Apple’s experiments that in large part sparked what we now call HTML5 — even before they tried to pitch web technologies as the iPhone SDK. Their 2004 introduction of Tiger’s new WebKit features, and their use in HTML-based dashboard widgets, was not uncontroversial — especially the debut of the <canvas> element. The controversy was not just about a browser adding this new element ahead of the standards process, but whether its nature fundamentally fit the web.

This wrestling may have been too quickly forgotten when the zeitgeist turned to The Web vs. Flash. Which one did we want in our pockets? Which one would we allow into the App Store? (We know who shot a rather rich mixture of fuel across that flame too!) Cute young <canvas> livened up that party, while the more web-ish SVG kept faithfully raising the children back in her own namespace.

Now APIs for 2-dimensional, and perhaps someday 3-onto-2-dimensional, drawing at such a low level as <canvas> provides is one of the most native-ish things a sandboxed web page could hope to ever do. But what distinguishes <canvas> from Flash? Very little as far as the topic at hand — the user experience may certainly benefit indirectly from an open standard implemented by competing vendors accessible from the same code that manipulates other document content, but its fundamental direct nature is one of a rectangular garden in which every website may try to plant its own reimplementation of superficial patterns and behaviour borrowed from hither and yon.

Like Flash, <canvas> is a useful medium for games. Games are their own platform. There are certain habits in game design; one of these patterns is that every game paints its own interaction. The Web, too, is its own platform!

Should the web platform shun games as one of its many contents? Certainly not! The web is a platform for content — perhaps the platform for content — and I’m beginning to suspect that that is exactly how a web *app* should look and behave as well. And not just any content, but linked content. Hyperlinked hypercontent for hyperconnected hyperhumans.

Raw pixels do have a place in that, as do video and audio and maps and molecule models.

You may recall me puzzling, in my early days of transition from desktop interfaces, at the attraction of building “apps” on what began as the physics paper platform. Just as physics is discovering what a tangled web may lie beneath their spherical cows of uniform density, it’s becoming harder and harder to ignore just how revolutionary “sharing within internationally dispersed teams” was even just for some academic information. And the web was never intended to be limited to a single format, so the idea of applying it — finding applications of it — building web apps for any task that can be turned into information, is not unfounded. Because of the web, any part of our lives that can be turned into content is limited only by the velocity of its light cone and the weight of its incoming links. It’s a powerful, powerful platform.

(The web’s other attraction is not unique to the web: any medium seems to gather a healthy school of builders who may not understand the first thing about foundations but are willing to keep bracing lumber together until they find an arrangement that’s worth tying a rope swing beneath. However, the web platform is actually especially conducive to this; how many of us don’t look back fondly at the first tree forts we built, that were our early homesteads in this great forest?)

So what is “native” to the web? Cloning every desktop and mobile operating system into a least common denominator cross-platform app framework has failed before, and it will fail again. I even see a very low return on investment trying to mimic the design patterns and interaction behaviours of only The Mac (or the iPad, for that matter) with the new tools HTML5 has given. The Macintosh interface was designed for specific hardware and a rather earlier period of transition. Not to mention, its modern implementation has much deeper consistencies and broader features than the different 80% each one of us relies on, which varies whether we’re keyboard people or mouse people, know Emacs meta shortcuts or copy/paste, have a multi-button scroll mouse or prefer a braille display. A web app’s best bet is not to pirate these patterns, like a camcorder snuck into a matinee, but to embrace the medium of hypercontent it’s been given.

That’s really what the web is: important information, flexibly found and presented, easily shareable via links. Since the web is not the world, people need specialized means of integration between their lives and whatever information they care to share by projecting it into existing and still-missing forms of content. Making that better is what web apps are.

January 9, 2012

Seeing potential

written by natevw @ 10:09 pm

I wondered why I don’t really fit in, am not really a part of, any particular professional community.

What community could I be a part of? I listed. All were too this or too that. Too young, too old. Too clueless, too proud. Too pointless, too advanced. I would refuse to join, or they wouldn’t have me as a member.

I supposed maybe I needed to get better at seeing potential. And showing potential.

Which I do need.

What, though, about enjoying people for who they are, not what they could be?

I’m stuck with this world, until death do we part. There’s not much that will make it spin faster; the days are already too brief anyway. Somehow too the people in it. Every community. All the people.

January 5, 2012

Small business

written by natevw @ 9:16 pm

Last night with family. It’s 12:37 midwestern time, less than three hours until we get up to load their van and ride to the airport in the dark. I roll over, waiting to even feel sleepy, and must have let out a sigh.

“Ha! What you say, Daddy?” giggles Tobias, suddenly breaking the silence of our room, as dark and quiet as we can get it. Squirmy baby brother Malachi is now fast asleep across the hall with mommy, the most practical arrangement we could come up with as we corralled our bouncy little boy back into bed at eleven. He’s been laying quieter than me on his half, but what I sensed is correct: he’s as awake as I am.

We talk a bit about the situation, a two and a half year old young man and his insomniac father.

“Shall I put on some music?”, and he whispers in agreement back so Arvo Pärt’s choral works join us from the headboard. I keep clicking the tiny speaker quieter, and with it the morning’s alarm, as the beautiful music fills our silence and, gradually, flutteringly, my thoughts. I wonder what Tobias could be, would be, thinking about; his energetic fingers and legs and brilliant little vocabulary obediently mute beside me as I too try not to toss and turn.

I couldn’t have listened to both discs (all two hours?) but before I finally fell asleep I remember my iPhone and oldest son both at peace above and beside me.

It’s the same old questions. Sometimes I find serenity, deciding “what Tobias wants to be when he grows up — that’s more important now”. But Malachi is already growing up too.

Two boys already, whose dad still hasn’t ruled out firefighter or airplane pilot or rock star or farmer. But probably something to do with computers. Something that takes all the will and energy and unlikelihood of ever fitting in and turns it into something good, all within whatever amount of time we have here on earth to figure out why we’re here and get it done. Would they be better off if I proved it possible, or better if I didn’t fail again?

Maybe this, like so much else, really isn’t up to me. But it’s still keeping me up.

December 5, 2011

Beyond 1984

written by natevw @ 4:08 pm

A few weeks after writing that personal computers are no longer quite what they could be, I came across an article declaring that The Personal Computer Is Dead — with the implication being that this is not quite what it should be.

Jonathan Zittrain, in this article (which you should read) and in his book (which I should read), argues that a society in which a few corporations completely control our devices in the name of security, and to better serve their profitholders — that a society which allows that will ultimately end up an un-safe, and un-growing, society. So we should be building up and building on platforms that don’t discourage freedom and sharing and other similarly unpatriotic ideas.

Which is half, but not the better half, of my little Beyond 1984 project.

I’m tempted to say the other half is about homeland-warming things like such as in money making and consumer happiness. But that’s a cynical take. The other half is about putting away cynicism. We already have Zittrain’s “angry nerds”: they’re the Stallmanites, the cypherpunks, the anarcho-pacifists and other tinfoil-hat flouride-fearers that you’d never want at your company Christmas party.

Angry nerds? Angry nerds are a dime a dozen! We’re the solution to what exactly now?

Meanwhile, Twitter’s repressed are excited that maybe Google+Path can re-centralize the violence inherent in Facebook — O frabjous day! And if that’s already more than what 99% of computer owners care about, it’s certainly not the world’s richest 1% who are going to patronize the development of a free society either.

So the other half of going Beyond 1984 is going not so much by avoiding what’s wrong with the Orwellian but by embracing what’s good. Embracing well-distributed, privacy-respecting, citizen-empowering hardware and software designs may be a worthwhile goal — or maybe not.

I don’t imagine anger, or fear, or even schadenfreude, can inspire much great industrial design. Angry nerds like me need to go beyond building systems that are Anti-Ungood. Going beyond what 1984 represents will require abandoning those themes ourselves.

So that’s what this little Beyond 1984 project is: researching libertarian technology, if it could be built for healthy reasons.

November 14, 2011

Triumph of the Nerds

written by natevw @ 10:27 pm

I love the history of personal computers — we’ve gone from the Altair 8800 to the Kindle Fire. We’ve gained so much, but I worry we’ve lost sight of something along the way.

-

-
We’ve gone from blatantly complicated devices that Only Nerds Control, to superficially simple devices…that Only Nerds Control.

-
Somehow it is cheaper to build iCloud on top of a new $1 billion data center across the country than on, say, a couple hard drives attached to an Airport Extreme in my living room and yours.

-
One billion dollars.

-
That’s what storing our data is worth to Apple.

-
They aren’t the only ones giving away the mainframe to sell the…the what? “If you are not paying for it, you’re not the customer…”

-
…though that’s not always the full story. Of the biggest datacenters: only Google and Facebook simply sell our Attention. Amazon mostly asks for our Acquirings. Apple hopes to earn our iAllegiance.

-
It’s worth, by their estimation, over one Billion dollars.

-
The end result is that Personal Computers are no longer quite what they could be.

-
We’ve outsourced backups, we’ve outsourced shared storage, we’ve outsourced network security. These were once luxuries of only the dedicatedly computer-savvy.
We value these luxuries enough to give up whatever it is the big iron gets for providing them.
-
We’ve outsourced ourselves.
-
We’ve gotten some very accessible technology — in exchange for our previous privacy, our former fraternity and our iNdividuality.
-
Us nerds escaped centralized mainframes for complete computers we could call our own.
But now we’re escaping back to centralized mainframes which complete computers we could call our own.
-
Our users’ computers, or perhaps the computerized “users” themselves, we can now own.
-
And we’re finding it quite profitable.
-
Is this okay? Or —
-
Is this some 1% winning?
-
Is this just economies of scale?
-
Or is this a tragedy of the commons?
-
The joke is the jocks start with the power in school, which buys them nothing, and the nerds end up with the power in the rat race, which buys them yachts. A better triumph of the nerds would be changing the world order, rather than controlling it.
-
Or so I suspect.

October 20, 2011

Creating a self-signed S/MIME certificate for Mac and iOS 5 email

written by natevw @ 12:43 pm

Today I needed to send some passwords to someone over the internet again. The recipient recommended using PGP/GPG to send an encrypted email, but unfortunately that protocol appears to be quite a hacky hassle if you use the built-in email clients on Apple’s (and apparently Microsoft’s) platforms.

Fortunately, iOS 5 just added support for a more standard protocol called S/MIME, and so I had recently come across a nice article on setting up secure email on both Mac OS X and iOS 5. Since I mostly want S/MIME for email encryption rather than signing (there’s a good overview of the distinction on its Wikipedia article) I decided to just create a self-signed pair rather than procuring a certificate from some annoying, overpaid and insecure centralized certificate “authority” as that article recommends.

Creating a self-signed S/MIME certificate is actually very quick and relatively easy using the Keychain app that comes with Mac OS X, but I wanted to document the process as getting a certificate that Mail recognizes did require overriding at least one of the assistant’s defaults:

Update: Turns out Mozilla Thunderbird will not accept the certificates generated through this process. I’ve had success by creating a standalone personal certificate authority and then using that to sign a user-only certificate. I need to test it a bit more before writing it up here, but it might be a bit simpler process in the end.

  1. In the Keychain utility application’s menu, choose “Create a Certificate…”:
    Self-signed S/MIME certificate creation, figure 1
  2. I had to override the defaults primarily so I could include my email address necessary for Mail.app to use it:
    Self-signed S/MIME certificate creation, figure 2
  3. Confirm that self-signed is okay
  4. I just accepted the default serial number (1) and validity period (365 days)
  5. Then the part where you enter (at least) the email address you want to use this certificate with:
    Self-signed S/MIME certificate creation, figure 3
  6. For the actual keypair, I went with DSA mostly just because:
    Self-signed S/MIME certificate creation, figure 4
  7. I unchecked all the certificate metadata stuff in the next 4 steps, you can try playing with it but didn’t seem worth the complication:
    Self-signed S/MIME certificate creation, figure 5
  8. Then just have the assistant create it in your login keychain unless you have some different setup. It will take a bit to generate the keypair.
  9. Once it’s created you’ll need to find the certificate and double click it…
    Self-signed S/MIME certificate creation, figure 6
  10. …so that you can manually trust it for at least S/MIME:
    Self-signed S/MIME certificate creation, figure 7

Once you’ve done that, you’ve taken care of the “The Certificate” step and can just follow the rest of the instructions in Ars Technica’s “How to secure your e-mail under Mac OS X and iOS 5 with S/MIME” article using the certificate you created instead of one from some corporation.

There is one major drawback to a self-signed (decentralized) certificate. As you’ve seen yourself after creating your certificate, it will not be trusted by default — only several dozen corporations and governments and rogue nations are trusted to forge certificates; you are not on any platform’s pre-approved issuer list. So: after you give your public key to your email contacts (as will be necessary for them to decrypt your messages) they will have to repeat steps 9 and 10 above to manually trust your self-signed certificate on their own machine.

October 15, 2011

KRTConf

written by natevw @ 8:46 pm

I didn’t get a chance to meet Steve Jobs, and I’m not sure I ever will.

I hadn’t thought to be an audience for Dennis Ritchie until now, and — that chance is gone too.

But I have been privileged in recent years to meet many others: through Seattle Xcoders, at DjangoCon, NodeConf, at CouchConf, in the Tri-Cities and during this week’s visit to Portland.

It would feel like name-dropping to compile the “have met” list here, and honestly, these people have been unanimously surprised to hear that I’d been wanting to meet them in the first place.

It’s an honor to meet so many human heroes and be honored as a human back. To learn to listen better and learn better from them. To hope that I might have something someday to share back, technically or socially or spiritually?

I’m becoming less and less of an independent developer and finding more and more that “indie” should never mean “lonely”. No matter how fast or far the trail, there are many to share it with.

That’s a part of our vision at &yet, and a part of the reason we’re hosting a conference next month. A good conference isn’t to parade heroes or meet new contacts, but to be community.

I have to admit I’m excited to meet more amazing people and to talk again personally with online contacts next month. But I’m also glad that the theme of the conference, Keeping It Realtime, is not about one technology that’s pulling ahead. It’s about a tactic that many technologies in the lead share.

Seems like a heroic strategy to me, as far as those go.

September 10, 2011

You are never alone

written by natevw @ 7:00 am

Man’s chief and highest end is to glorify God, and fully to enjoy him forever.

The very light of nature in man, and the works of God, declare plainly that there is a God; but his word and Spirit only do sufficiently and effectually reveal him unto men for their salvation.

-
amirite?

-
Should you google that to help decide, you’ll find that:

  • I’ve copied two paragraphs verbatim from a Catechism
  • nerd version: Instructional FAQ
  • cynical nerd version: Instrument of Sheeple Opium

Some healthy cynicism is warranted: I’m quoting from the translation of the Westminster Larger Catechism accepted by the “Orthodox Presbyterian Church”. Read that like a DNS entry: “Orthodox” names a split among Presbyterians, who have denominated themselves apart from the Church, which in this case refers to Protestants who left the once-Καθολικός religion, that as far as those go was an (eventually three)-way split between Abraham’s sons.

If you think that’s cause for concern, just imagine the mayhem when half the “Orthodox Christian Reformed [protestant] Church” members fall into heresy.

-
ridiculous.

-
Like all our goals,

-
alone.

-
Jesus Christ — who BTW can raise sons for Abraham out of rocks — promised that he would never leave what he’s created alone.

-
That’s why I’m struggling and remain dogmatic about this The Goal: to glorify God and enjoy him forever.

Goals are hard, and staying sure of Them is harder, especially when our minds let Goals lead us into jaols lest They fade into ghosts.

-
Practically imposible. Severe budget constraints.

-
But if God is not dead, whether we killed him or not.

-
Then that is a comfort.

Which you may call a crutch.

-
You may be right but I’m a perfectionist, and while time has proven very competent at making humanity and its Goals, bigger.

-
It seems They never get, better.

-
Or closer; on their own.

-
so

-
Here’s to the crazy one.

-

September 9, 2011

Goals 2: Lost in Zen York

written by natevw @ 5:00 pm

So the question is why?

Obviously, our goals are the why we have other goals.

-
but what’s The Goal?

-
I mean, why have the goals in the first place?

To recap: we have goals, and goals whose goal is to make those goals possible, but What’s. The. Goal. ??

-
To back up a bit: do we have big goals that we attain by setting little goals? Or do we have little goals that we achieve by big goals?

-
Or both?

-
I’ve now written “goal” so often, it’s feeling like ghoul and reading like gaol. Which is either a typo, or a British correctional facility.

-
goal goal goal goal
goal goal
goal goal goal

-
Or only one?

-
(Aside:

-
Zen and the art of zen writing…maintenance.)

-
We may disagree on The Goal. Even though neither of us probably’s actually really figured out — learned? — what it is yet, even.

-
(Do they really still spell jeeaol that way, in the English translation of English?)

-
At least I haven’t, which is probably why I’m a bit dogmatic.

-
(fully figured out the goal)

-
To be continued.

-
p.s. — it’s not Learning.

September 8, 2011

Goals, or: You are not alone

written by natevw @ 12:02 pm

I am a perfectionist, which is difficult but probably more difficult for my family and friends. I am also sloppy, which is difficult for a perfectionist.

-
When I started working at &yet, the team then were all throwing themselves into one exciting project. Those days are gone, and these days I find myself stuck with “the mess”, while “those responsible” have scattered.

I also find myself having to just build more mess, because that’s the best I can do. And wanting to scatter.

-
We can do better, and must.

-
The perfectionists need to learn patience with people. People change, even are made anew, and sometimes suddenly but never from the outside in.

The slopsters need to learn patience with products. Products change, are in need of constant refactoring, and to build them suddenly rarely leaves anything salvageable behind.

-
We can’t do better alone.

That’s the thing. If I were fired from &yet tomorrow (HI ADAM!) this, what I have learned, would be my severance package (JUST KIDDING ADAM!):

You can’t do better alone.

-
We have really lofty goals — we do don’t we? — they are Ridiculous Goals. If we think we can accomplish them more ideally or more quickly alone.

-
So my goal is to teach, a team to teach.

-

Next Page »