waffle

Waffle was a weblog that ran for nine years and five days from 2003 to 2012.
The last post has been written and comments will be closed by the end of March 2012.
The author of Waffle, some guy in Sweden, also occasionally writes stmts.net.

(If anything will ever succeed or revive Waffle, it will be announced in this location, and in the feeds.)

Bust that Cycle

Nokia to developers (finally): Symbian phones only planned throughout 2012.

Over the past weeks we have been evaluating our Symbian roadmap and now feel confident we will have a strong portfolio of new products during our transition period – i.e. 2011 and 2012. [..]

I’ve been asked many times how long we will support Symbian and I’m sure for many of you it feels we have been avoiding the question. The truth is, it is very difficult to provide a single answer. We hope to bring devices based on Windows Phone to market as quickly as possible, but Windows Phone will not have all language and all localization capabilities from day one. [..]

What I can promise you is that we will not just abandon Symbian users or developers. As a very minimum, we have a legal obligation, varying in length between countries, to support users for a period of time after the last product has been sold. Our intention is that when users come to the end of the natural lifecycle of their Symbian device they will make the change to a Nokia Windows Phone device and so it would not be in our interests to undermine their Nokia smartphone experience.

Nokia’s Developer “Why Nokia” page:

Nokia platforms open up a world of opportunity to developers of Java and Symbian C++ applications. [..]

Qt, Web and Java – simplifying the development choice. At the same time, Symbian C++ and other frameworks continue to play a vital role, and are fully supported.

Almost all these things are now patently false. They could have handled this smoother, to say the least.

Let’s try for Steve Jobs announcing the PowerPC to Intel transition in 2005:

We’re going to begin the transition from PowerPC to Intel processors, and we are going to begin it for [the developers] now, and for our customers next year. Now — why are we going to do this? Didn’t we just get through going from OS 9 to OS X, isn’t the business great right now? Why do we want another transition?

Because we want to be making the best computers for our customers looking forward.

Now, I stood up here two years ago in front of you and I promised you this — [gigantic photo of a Power Mac G5 with the words "3.0 GHz?" on screen behind him] — and we haven’t been able to deliver that to you yet. I think a lot of you would like a G5 in your PowerBook and we haven’t been able to deliver that to you yet. But these aren’t even the most important reasons.

The most important reasons are that as we look ahead, though we may have great products right now, and we’ve got some great PowerPC products still yet to come, as we look ahead, we can envision some amazing products we want to build for you and we don’t know how to build them with the future PowerPC road map. And that’s why we’re going to do this.

Nokia hasn’t been plainspoken about anything since Stephen Elop acknowledged that he knew that they were in trouble and that something drastic would have to be done. In hindsight, it seems more and more like the letter was nothing more than a rationalization to taking the leap to Windows Phone 7 — better than frying with the platform we know just because we’re not accustomed to taking it places.

Nokia can play almost the same tune as Steve Jobs did, and do: they say they’ve got great products right now, and they say they’ve got great products coming up (they spend a lot longer saying so, which I believe is to their disadvantage). But it’s the new platform that they can’t make do what they want. Not the old.

I’m sure Windows Phone won’t stand still for the next two years, but Nokia’s now obviously put all its chips on Microsoft to take the world by storm with a phone OS that has yet to really prove itself and that needs to grow features out the wazoo, new user interaction model be damned, just to not force Nokia to drop markets. This is going to get interesting.

Dot What

Expensify wrote a post called “Why we don’t hire .NET programmers”:

Programming with .NET is like cooking in a McDonalds kitchen. It is full of amazing tools that automate absolutely everything. Just press the right button and follow the beeping lights, and you can churn out flawless 1.6 oz burgers faster than anybody else on the planet.

However, if you need to make a 1.7 oz burger, you simply can’t. There’s no button for it. The patties are pre-formed in the wrong size. They start out frozen so they can’t be smushed up and reformed, and the thawing machine is so tightly integrated with the cooking machine that there’s no way to intercept it between the two. A McDonalds kitchen makes exactly what’s on the McDonalds menu — and does so in an absolutely foolproof fashion. But it can’t go off the menu, and any attempt to bend the machine to your will just breaks it such that it needs to be sent back to the factory for repairs.

It’s hard to quote just one part of the article. It’s just considerate enough that it’s hard to catch it being completely dismissive, a complete lie, an absolute fabrication built on fear, uncertainty and doubt. What the article is trying to say is that .NET programmers, on the whole, don’t know their shit. I’ve got one word for you: duh.

Programmers in general don’t know their shit. Sturgeon’s law predicts as much and reality bears it out along all axes. Many Microsoft products in particular will attract people who want to create programs without that worrisome understanding and coding, where dragging a data-bound grid onto a surface and charging the client is good enough, but that’s a property of the approachability of those kinds of products, which Microsoft isn’t alone in offering, just successful in doing so.

I use the exact same products all day long in my day job, and I create any size of burger. I make any kind of food. With some API consideration, it even runs anywhere with Mono. I understand that hiring .NET developers may be prone to drawing in the drag-in-a-grid crowd along with the people who know what they’re doing. You can take advantage of this and cut the people who can’t manually code anything out of your process early. You can go farther: if they know LINQ, they understand functional programming and lambdas; if they know the Task Parallel Library, they are working on a sane approach to concurrency; if they have heard of the upcoming async extension to C# and VB, they’re excited about making continuations usable and probably grasp the distinction between concurrency and asynchrony.

It stands to reason that Expensify is just honestly trying to filtering the fools, and since there are a lot of out-of-work fools familiar (or should I say “familiar”) with a big platform on their heels, they’ve had it up to here with .NET programmers. But that doesn’t mean they’ve done their homework. They do particularly say:

Now let me clarify — .NET is a dandy language. It’s modern, it’s fancy, it’s got all the bells and whistles.

.NET isn’t a language. .NET itself is an implementation of a platform, with the CLR as the runtime, IL as the intermediary language, C#, VB.NET, F# or a cast of thousands as the actual programming language, and the constantly-expanding, McDonald’s kitchen-like .NET framework, including the Base Class Library but also the Task Parallel Library and many others, as its common standard library. It’s true that none of that matters if they’re correct. But it’s hard to be correct convincingly when you get basic facts wrong. There’s no “.NET language”. It’s a stack among other stacks, albeit a large one, made by Microsoft, with all that it entails.

Let’s go a little further into that stack. Again in my day job, I use ASP.NET MVC to churn out web apps at an alarming rate. ASP.NET MVC is a product with the same level of support from Microsoft as the drag-in-a-grid-compatible Web Forms, a mostly unsuccessful attempt to pretend the web has state, web pages can work like VB6 and alalalala I can’t hear you. ASP.NET MVC is virtually the same thing and as good as Rails (and its kin and predecessors) — a thin layer above HTTP, powered by a pattern based on MVC — and is proven enough to have powered Stack Overflow since its inception. It’s shock empty of the lock-ins that Expensify warn about later in the post, and indeed works unmodified on, nay, ships with Mono, because it’s open source too. It also ships with jQuery, which they both bundle and support with libraries, like a globalization library.

I deservedly praise this new branch of Microsoft with some regularity here, so regular readers may not be surprised to find these qualities, but considering the stigma against anything related to Microsoft, is there any wonder people applying for a non-Microsoft job leaves it off their CV? I had a much easier time, knowing Ruby, PHP, Objective-C, Perl, JavaScript and having worked a bit in C#, to get a Microsoft job than it seems you are giving people who have the opposite premise, but who may be way better than me.

So instead of going hog-wild, all-Visual Basic-programmers-are-clowns-style, and deeply embarrassing yourself in public (maybe without knowing; maybe shaking off every single criticism with the explanation that they must all be acronym-wielding MVP shills, sucking Bill’s teat and worrying about how real programmers will one day steal their jobs), try reading up next time. Had you taken five minutes to do research, you would have sternly asked any trouble makers whether they “had done any MVC” and known that no tricksters could come closer, because there’s nothing for anyone to hide behind in ASP.NET MVC compared to Web Forms, and it’s got all of your other favorite qualities.

If you don’t want incompetent people, that’s fine, and it is your right to choose the qualifiers for your own positions. But there are ways of enumerating your concerns that doesn’t alienate a bunch of people, including yours truly, that are a perfect fit for what you ask of them, but that see your accusations for the misinformed rationalizations that they are and that’ll move on to the next startup, hoping to find a company whose desire for adaptive programmers doesn’t come to an abrupt stop at the mention of Redmond.

Unlocked

Apple has paid tribute to Waffle Day, not merely with the release of the iPad 2 in Sweden, but by finally selling unlocked iPhones in the Swedish Apple Store. Like the erstwhile Mr Jobs, the pre-App Store Jobs, I hate going through orifices, and I am at least grateful that the carrier agreements expire.

Anti-Agency Aussies

Did you know? The agency model — where publishers set prices that resellers or distributors have to follow — is illegal in Australia.

Suppliers may try to impose a resale price to maintain brand positioning or to give resellers attractive profit margins.

Any arrangement between a supplier and a reseller that means the reseller will not advertise, display or sell the goods the supplier supplies below a specified price is illegal.

It is also illegal for a supplier to cut off, or threaten to cut off, supply to a reseller (wholesale or retail) because they have been discounting goods or advertising discounts below prices set by the supplier.

It turns out that at least some of the biggest publishers, which have now switched en masse to the agency model, are seemingly operating under it in Australia too. Whoops.

Older posts »