Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

August 12 2014


A huge number of web conferences for the past year or two have been sponsored by the Internet Explorer evangelism team. The message has been clear: The last few versions of our browser is actually pretty good. We know we did bad things in the past. And we have even printed some funny(-ish) t-shirts about how much we used to suck. (Or rather the people that worked on the code ten years ago used to suck.)

The thing is though that those people didn’t suck. Internet Explorers 5.5, 6.0 and possibly even 7.0 were really good browsers for their time. They redefined what’s possible on the web in very fundamental ways by bringing us away from markup and presentation to actual web programming. Much has been made of the fact that Microsoft stopped developing the browser for a few years, but even that is forgivable because it didn’t actively hurt the web community, its developer and its supporters.

The original sin of Internet Explorer is that older versions were never, ever made to go away. The enduring problem of the platform is that Microsoft simply hasn’t taken its role as a stewart of the web seriously. Instead they’ve displayed an ongoing distain for web developers year after year by not making it easy or even automatic to upgrade browsers.

Now, why should we care? Isn’t the new Microsoft all about clouds, web standards and developer love? Nope.

Last week, Microsoft started a small PR push to tell the world that they’re deprecating support for IE8 by January 2016, and of course every tech site under the sun wrote about it as if it’s a victory for developers. The PR line is how important for security it is to have an updated browser and how the deprecation is a win for developers and users alike with performance and standards support.

But it’s happening again, and by now we should frankly know better: The problem with previous version of IE weren’t the browsers themselves, but that they never went away. And in the press release, you’ll find a reference to the ongoing slap in the face of developer that is the Internet Explorer version roadmap: By 2016, Vista will still be limited to running Internet Explorer 9 and there are other recent operating systems still limited both to IE9 and IE10.

By the same token, none of the existing Internet Explorer 8 installations with be auto-upgraded to more recent version (just as we never saw automatically bringing IE6 or IE7 into the future). And no one is mentioning that the 3-4 major versions of the browser still in circulation two year from now will all ship with the rendering engines of IE7 and IE8 built into them — ready-made with with meta tags that people can use to trigger them.

Don’t be fooled: This is not a victory. It’s merely a convenience for Microsoft’s internal roadmap — and for some reason something that people has bought as good PR.

This is the question I always ask of the evangelism teams at web conferences: When will the automatic updates to Internet Explorer 11 be rolling out? It usually halts the sales pitch for a split second, which is nice — but of course it’s a disingenuous question because I know that IE11 won’t even fucking run on all of Microsoft’s operating systems — even if they’re all perfectly capable of running the most recent versions of Chrome and Firefox.

The Modern.ie site is the perfect exhibit that Microsoft simply doesn’t understand the core of the problem. You can’t keep hating on us. We’re doing really cool stuff now. Didn’t you hear?, the site is screaming. But the problem was never really that Microsoft weren’t putting out good browsers, rather that they were shitty shepherds of the afterlife of those browsers. And while the company hasn’t learned that lesson, we cannot let them get away with meaningless PR deprecations that doesn’t get to the root of that problem.

September 29 2013

A feature request for long-form audio apps

For the longest time I’ve been suggesting a simple feature for podcast apps, but no one so far has listened to me. I am misunderstood.

The feature is simple to understand, simple to implement, won’t add clutter to a play screen if implemented through click-and-hold — and it eliminates entirely the need for sleep timers (along with my personal need for bookmarks).

The feature is Sleep Play.

I usually fall to sleep listening to a podcast or an audiobook, and within a few minutes of hitting play I no longer pay attention to the contents. That’s a problem because I’m a completist: I want to listen and pay attention to every word of the show. So to be able to find back to my spot I’ll use the sleep timer to pause playback after 10-15 minutes — and when I wake up, I’ll rewind by that duration.

How clumsy is that? I have to set a timer. I’ll need to consider if there’s less than 10 minutes left, because if that’s the case the timer needs to pause before the show is over — to make sure it isn’t marked and played and deleted from the phone. And after setting the timer in the evening, I have to remember my preference the next morning and figure out how to rewind.

Introducing Sleep Play, which is enabled by holding the play button for a few more seconds than would usually feel normal.

When this is on:

* The app doesn’t update its internal playhead position for the show.
* The app doesn’t mark the show a played, even if playback reaches the end while I’m sleeping.

That’s it. When I wake up in the morning, I can start listening to the show where I left off. I might need to forward a few minutes, but I’ll have a decent grasp of how long because this is how long it took me to fall asleep. And instead of rewinding slowly over stuff I haven’t listened to yet, I can forward over stuff I do remember.

Very long post, a few if statements and everyone’s happy?

June 23 2013

The changing face of web development on the Opbeat blog

I’ve been thinking a lot about how static web development must seem from the outside — and how rapidly it’s morphing into something radically different on the inside. And I wrote about it for the Opbeat blog.

May 14 2013

The Glue JavaScript framework


We just released the library behind our new players a open source. Glue makes it easy to build JavaScript applications with CSS styling and more importantly with HTML and Liquid views.

There’s some magic in there as well: Automatic animations, keyboard bindings and building apps with optimized JS/CSS containing all graphics and templates.

November 24 2012

Putting your best foot forward

Why isn’t Apple software on Windows world-class? And the other way around?

I’m not a car guy. I drive my girlfriend’s small car a few times every month, but otherwise let her deal with it and its maintenance. Still, I have noticed people highlighting the repair services of certain manufacturers; for example, we have been recommended to take our Peugeot to a Toyota shop multiple times.

This is probably a well thought-out strategy on Toyota’s part: It makes me more likely to interact with the company, which could lead to me buying a car from them some day. This isn’t rocket science, but this idea hasn’t caught on in the desktop market.

If there’s really a competition for switchers going on between Microsoft and Apple, this is not reflected in their cross-platform software. The most common complaint I hear about Apple from Windows users is about iTunes, the first and only piece of Apple software customers meet when setting up their new iPods, iPhones or iPads.

iTunes is bad at the best of times, but on Windows it’s plainly horrible: It stubbornly brings over all the wrong things from the OS X version with an ugly, watered-down Mac UI and shortcuts that no Windows user would ever be able to guess. From there, it’s cluttered and buggy — and it’s no wonder that PC iTunes users aren’t easily convinced that switching to a the full Apple experience would make for a better computing life. Imagine being trapped in an iTunes-like operating system all day, every day!

Quicktime, Safari and iTunes were all opportunities to show Windows users what they were missing. What good design and human interface thinking means. Such an effort though would need to be rooted in a Windows UI and then just be well executed from there. Instead, the result is clumsy and un-Apple-like — and it comes off as nothing more than a fuck-you to Windows users.

The other side of this is just as glaring. I very rarely need to open up Microsoft Office on my Mac, but whenever I do I’m met with the best possible reminder of why I will never switch back to Windows: Microsoft asking be to update Auto Update. Again.

Updating auto-update is a 7-step procedure. Do I agree to the terms? Where do I want to install to? Do I want to grant root permissions? Continue, continue, continue. Then I need to update Office itself for some security purpose. And once that’s done… I need to update Office again? What? Didn’t I just fucking do that? Arghhh!

The worst thing about having spent 15 minutes navigating meaningless dialog boxes that no human in their right mind would have created? After all of this, there is still no retina screen support for Word.

There’s something quite telling about both of these accounts, and maybe both Apple and Microsoft are revealing their true nature here: Apple doesn’t want to build something that would be soiled by making it cohere with Windows. And Microsoft just cannot escape the need for layering option upon option on to the user. (Suggestion: Ask the user “Do you want to make sure your Micrsoft software is fully up to date and secure?” Yes! Done!)

November 01 2012

How we fail

The big news out of the Danish start-up scene is that AppHarbor, a Heroku alternative for .NET, is both bankrupt and going strong. It seems the founders of the company have stopped paying their Danish employees, and are riding a Danish bankruptcy by letting Lønmodtagernes Garantifond pick up the cost of the outstanding salaries. Classy act.

Nick Bruun has a good rant on how the startup community has glorified failing by allowing “pivoting”to be a catch-all excuse for all things bad. In this case, AppHarbor co-founder Michael Friis (under @friism) even denies it as a failure, because salaries are covered by a private fund, not with tax payer money.

In the final tally, I don’t have a stake in what has happened at AppHarbor — but it’s a symptom of a problem, a symptom of startup chic infecting us. There is honor and character in how we succeed and how we fail, and AppHarbor reflects poorly on the Danish startup community. It is another case where web startup becomes about opportunism and gamesmanship, rather than about building something and about changing something.

We live in a unique time where a few people armed with Macs and standing on the shoulders of open source giants can build something incredible. This should be the challenge to the next Danish startup, rather than to shop a business plan or to learn how to network.

Update Nov 1st, 11pm: A status update from AppHarbor:

Why did we do it then? We didn’t really have any choice. As a venture-backed startup we quickly grew the organization to a point that wasn’t sustainable without further investments. We’ve been hard at work trying to raise more money for our startup, but so far without any luck. When it became clear that we were not going to raise money in time it was too late to simply lay off the employees.

Update Nov 7th, 10pm: Another follow-up from AppHarbor in Danish concluding the case. The article nicely describes the context of my criticism and that of others. It also captures why the impatience of that criticism (this article included) before at least having heard the AppHabor side of the story was probably ill-advised.

December 25 2011

The LBJ Book Club: New job, New deal / discussion of Path 13-16

Our LBJ Book Club is getting interesting…

Random observations:

  • - Johnson giving dictation on the toilet is one of the most told stories about his time in the White House, and its genesis is revealed here. I wonder if anyone has tried to emulate this tactic?
  • - Johnson felt that coffee would distract Latimer and Jones — not only making the coffee, but also the small act of drinking it would waste valuable time.
  • - “Burn this — others probably won’t understand the personal references” is a great way to end personal correspondence.

Are you following along?

December 01 2011

The LBJ Book Club: Is this the trap?

Guan and I are teaming up to bring you an online book club over the next few month. We’ll be reading the Robert Caro’s series of biographies of Lyndon B. Johnson to celebrate the forthcoming release of the fourth book in the series, The Passage of Power.

If you aren’t rushing out to buy the books just for the pleasure of our company, here’s the pitch for why you need to do so anyway.

November 16 2011

Is it a box or a TV? Yes...

There’s been much speculation about Steve Jobs’ “I finally cracked it” remark on Apple’s role in the TV industry. I am not following the Apple blogs closely, but the future Apple TV strategy has been a recurring topic on my weekly soaps.

Mainly, the discussion has centered on whether the product will be a new box (as the current Apple TV) or a full-fledged television set? (Consensus: A TV.) And on how the product will get its content? Obviously, it will be hooked in to the iTunes infrastructure, but will it have a cable connection for ordinary TV watching? (Consensus: Probably not.)

The conversations though have missed a few pretty obvious options, and I thought I’d gather my predictions here. If for no other reason that to be wrong on the record.

It will be both a box and a TV: Apple will release both an iTV Mini (essentially a new version of the Apple TV box) and an iTV Cinema, a large and beautifully designed LCD screen with the same hardware built in as the box. Both the Mini and the Cinema will run the same iOS based software, which will account for the entire user experience.

(Relatedly, the PC media will ridicule Apple for shipping the large TV screen without the ability to change and upgrade the hardware box — because the company has chosen not to simply build the Cinema with a replaceable Mini box inside.)

You can connect your cable: How is Apple going to get sufficient content penetration has been the biggest question so far. The strategy might require an AT&T-like partnership with Comcast (or whatever other cable provider is willing to play), but generally the idea is this: You hook up your cable to the Mini or Cinema, you put in your cable card, and you will have access to content based on your cable subscription. Live TV is played directly from cable, and the electronic program guide will look purdy and Apple-like.

Recording is done through iCloud: The magic is in the recording of shows though. Rather than shipping the hardware with hard drives, any piece of content available through the cable package can be recorded to iCloud — and playback in done over IP. Since you’re technically just recording the content available in the cable package, content availability is eliminated as a problem. The content you current get through TiVo will be available on the Apple solution, and you might even be able to record two or three simultaneous shows with a single cable card.

(On the server side, Apple would need to store massive amounts of data; but much less than you’d expect on first glance. De-duplication to the rescue. Apple would be recording everything from a few thousand channels/live feeds, and making this single version available to everyone who’d thought to record the show.)

There will be iTunes and there will be apps: I think this goes without saying, but the iOS SDK is coming to the iTV. And all the standard iTunes content will be there as well.

This strategy seems to solve the pricing problem: Rather than having to choose between an inexpensive product (the Mini) to get market share and an expensive one (the Cinema) to maximize profits, the dual strategy achieves both. The Cinema will be a 5% thing, but it probably would be in either case.

This strategy also seems to solve the content problem: Yes, Apple is still relying on the cable companies (just as they rely on mobile carriers to sell iPhones), but the compromise maximizes content. Over time, the iTV will pop up in more and more homes and cable will become less important while Apple’s negotiating power with content providers increases.

The iTV Mini will be $149 and the iTV Cinema is $2000.

September 07 2011

[DK] Podcast med @jacobchr, @guan og jeg selv om perspektiverne i den nuværende valgkamp. Det er spændende og heldigvis bredere end blot, hvem der har vundet i meningsmålingerne i dag.

Du kan downloade eller abonnere som podcast og i iTunes

September 06 2011

A call for a progressive IT agenda

Version2 is using the upcoming Danish election to run a series on the IT policies of the individual parties running for Parliament. The first two articles interview the IT spokespeople for the two largest parties, and frankly the outcome is disheartening. In each interview, fifteen questions are asked and the result is vague and non-committal statements on issues affecting us all — both in how we interact electronically with the government and more broadly how we conceive digital democracy.

Asked about the value of software patents, on legislation limiting the use of cookies and on personal data protection, Yildiz Akdogan (Social Democratic Party) argues both sides of the issue and then leaves the question unanswered. Michael Aastrup Jensen of the Danish Liberal Party isn’t much better. Software patents? Yes and no. Cookie legislation? Yes, but it’s not our problem. Blame it on the European Union. Personal data protection and cloud computing? Yes, no, whatever.

We deserve better. We deserve a political system where important digital democracy questions are actually handled by people with a clear vision of where we’re being taken. Not by catch-all answers amounting to barely muddling through. The Internet and the society revolving around it is too important a force to be discussed in such general terms. So what should we think?

Do you support software patents?

Whether you want to answer Yes or No to this question, you should have a clear answer ready. Software patents and their selective application has been the subject of a lot of stories over the past few months: NPR’s Planet Money team has done a number of great overview stories about patent. The indie mobile developers have been hit by Lodsys. And we’ve seen Apple, Google and other giants in a land grab for patents with a $3.14B price stamp.

Whether you find the arguments for patenting software compelling or not (I don’t, but that’s not the issue here) you should and must have made up your mind as a Danish political party acting in 2011. Nuanced views are more than welcome, non-committal ones aren’t.

Do you support the EU “cookie directive”?

The EU cookie directive is a policy which should have taken effect in May of this year, but has been postponed until 2012 due to implementation and guidance issues. Put simply, the policy mandates that web publishers must inform users about their use of cookies and other tracking technologies — and can only make use of such technologies in an opt-in fashion.

This is an amazingly stupid idea. The directive is based on a fundamental misunderstanding of how the internet works; cookies do not track individual users on a personal level, they track visitors anonymously on the level of usage patterns. Through tracking within a web page, web publishers can build a persona and track usage of a site in order to make it better. For example, we use cookies with 23 Video to track video usage and present aggregated statistics to our customers — we don’t use it to track named users. In an opt-in world, all such legitimate usages of cookies to improve the web experience for users would be outlawed (at least in practice since opt-in will never work).

Cookies are not the enemy here. Cookies are necessary for the Internet to work. The enemy might be particular uses of cookies to track behavior across domains, but even that evil doesn’t warrant this policy.

So what do the Danish parties say? On the one hand, consumers should be informed. On the other hand, it shouldn’t burden publishers. Please, please, please don’t make me have a real opinion about anything!

(Also, see the somewhat annoying interactive guide to the policy.)

Should internet traffic from open hotspots be logged down to the individual and personal level?

Here, there’s actually some clear answers. Unfortunately those answers are wrong. The Social Democrats want to allow personal logging of traffic, while the Liberals only want to log terrorism while minding our civil rights. It’s unclear how that distinction should be made without actually logging all traffic, but Michael Aastrup Jensen worked in an IT company before being elected to Parliament, so he probably knows.

The built-in contradiction is that web publishers are not allowed to track anonymous usage, while government can access personalized and detailed information about how we all use the web.

There’s a fundamental disrespect for the Internet inherent in such as view: To me, the Internet is a democratizing force with a potential to stand above any individual person or individual government — and realizing this potential, we also need to respect the neutrality of the Internet. Open societies have downsides, but those must be embraced to capitalize on the much bigger upsides.

Should ISPs be forced to block site access through DNS?

Both parties answer with a heavily qualified Yes, and I’m guessing the only qualification is bound to court mandates.

The correct answer though is No. DNS is designed to allow propagation or caching of internet addresses in order to make for a faster and more resilient browsing experience. TDC, Telia or whichever name server provider you’re using is a caching relay for information published by other nodes, and the view that Danish ISPs are responsible for the IP addresses served up by their name servers is ludicrous. We need to protect the web from intrusion of political idiocracy, and whenever this line is breached we become a less democratic society.

Should public IT projects be open source?

None of the spokespeople want to mandate open source in the public sector, and here we agree. Of course, public IT projects shouldn’t utilize open source project just for the sake of it. Open source can stand on its own, and if it isn’t the best available option for the job, the commercial alternatives should be chosen. Of course.

The politicians miss the larger point of the question though. It isn’t a matter of using other people’s open sourced code — it’s a matter of open sourcing code themselves. I couldn’t care less which office suite is being used in the halls of the public sector, but the truly interesting potential is to open source the code being written for tax money. Whenever a new service, a new piece of software, a new integration is developed, we should all be able to evaluate the code — and both other public institutions and private ones should be able to reuse and improve on the code.

To summarize, I’ll reiterate my sense of disillusion: It isn’t that either of the politicians asked in the articles are particularly wrong. Rather, this is a missed opportunity. IT policy is faced with a number of really interesting issues that could potentially propel us forward with a progressive IT agenda. But when our leaders cannot even muster a modicum of interest in those issues, we’re failing ourselves.

August 23 2011

[Danish] Tryk Optag #3: Men drømmen slutter jo ikke dér, Morten

Jeg og Morten Saxnæs tager fat i de højtflyvende emner, som cyborg tattoveringer, rumturisme og flydende lande, men slutter af med en mere jordnær debat om open source-bevægelsen og fængselsstraf for Facebook opdateringer.

Du kan downloade som MP3 eller abonnere som Podcast eller i iTunes.

August 21 2011

Android has been so successful through a) hard work by engineers and b) a disruptive and very different business model. Java is yesterdays technology though, and if we saw webOS at Google I think that Android would have been even more than it is today.
Dion Almaer on webOS’ troubles at Palm an HP, because going on to make a pitch for Facebook to take over

August 18 2011

August 16 2011

[Danish] Denne uges podcast fra hr. Morten Saxnæs og jeg selv under den fine titel Det er jo klart, de skal sige det. Vi snakker om ytringfriheds og politik i sociale medier, og åbenhed i Android og om min nye titel som JACSHT developer.

Du kan downloade som MP3 eller abonnere som Podcast eller i iTunes.

August 14 2011


CANDIDATE: No, sir, I don’t know JACSHT.

HIRING MANAGER: How can you expect me to employ you if you don’t know JACSHT? The whole world is moving towards JACSHT.

CANDIDATE: Sir, I wish I knew as much JACSHT as you.

HTML / CSS / JavaScript – We Need An Acronym

Org-Mode: Your Life in Plain Text

It’s one if the joys of being an Emacs user that you will always find another hidden gem in your text editor. Here’s a plain-text todo list mode for Emacs which seems built for the world git and Dropbox.

July 24 2011

I'm a developer and I hate networking. Here's why.

Tine Thygesen, a previous colleague from 23, declares provocatively that developers hate networking for the wrong reasons:

The reason developers, and many non-business people, hate networking because the terms is largely misunderstand and misused! … The reason [is] they think they have to entertain hot shots they have nothing in common with with witty oneliner or deep business insights.

Tine is absolutely right. As a breed, we don’t really like chatting for the sake of chatting. (And we absolutely don’t have neither wittiness nor insight when let out of the cave. By then the uncaffeinated climate has shocked our systems enough to keep us quiet in the corner.)

To the developer mind, networking changes any focus from short-term action to the long-term talking. Networking challenges us to talk our way into key relationships - rather than to act, build, do. And above all, any good developer will prefer to do.

Tine’s call for a different way to talk about networking is spot on, but she is aiming her arguments in the wrong direction. It’s a mistake to try to teach developers the value of community and of relationships though. Ask any developer how he or she learned to code, and I guarantee you that the answer is through tutorials and questions on blogs and forums. And by reading open source software.

The interesting bit is that the social web (take Twitter as an example) is teaching The Network People to network the same way that developers have been doing for ages: By showing yourself to knowledgeable and interesting within an accessible and flat structure. It’s modern networking through content and personality, rather than through access, status and position.

Twitter creates informal bonds and provides ample room to listen in to a conversations form the side-lines. And then to contribute. It starts off with an open invitation and slowly encourages people to get involved. This is very similar to how geeks have been setting up well-functioning open source and crowd-sourcing projects through the ages.

I think we are teaching the bizzies to network, not the other way around.

July 10 2011

Fault-tolerant HTML5 uploads with Resumable.js [Open JavaScript]

With 23 Video we (at 23) receive a large number of really, really large files every day. At times, we get files of several gigabytes transferred over a simple HTTP connection. Usually, this works out alright, but we’ve wanted to make better use of some new features in modern browsers to make uploads more stable — specifically, to allow users to pause their uploads and have the uploads automatically resume if the internet connection fails (either locally or to our servers).

This approach is fairly new and is only available in Chrome (11+) and Firefox (4+), so no one has packaged the feature-set we wanted nicely yet. This calls for open sourcing a few hundred lines of code and a victory lap:

We bring you Resumable.js as our answer.

Resumable.js is a JavaScript library built on top of the HTML5 File API to:

  • Allow selection or dropping of multiple files.
  • Handle queuing and progress indications during upload.
  • Uploads files in small chunks, rather than in a single big batch.
  • Automatically resume uploads if something fails, for example if the network connection drops.

The first two features have been available through Flash and related tools for quite a while, but I’m pretty excited about the latter two. Chunking and auto-resuming will allow for a degree of stability in HTTP uploading we haven’t seen before: Resumable.js will simply keep uploading until all the bits of a file has been sent. And it all happens transparently to the user.

The Resumable.js-based uploader will make its appearance in 23 Video later this summer, but we will also add support for this method in our API for direct browser uploads — in fact the prototype uses this API method behind the scenes.

February 12 2011


Guan is paranoid, but it’s probably a good list to consider. My own strategy is much simpler and involves both a trade-off in terms of immediacy and restorability:

  • I’m running Backblaze to do an almost full back-up. It doesn’t include my VMware machines or my system files so I won’t be able to restore immediately — as Guan would from his SuperDuper! drive once he’s opened his safe deposit box. This means that I keep no data on my virtual machine that I actually couldn’t live without.
  • I’m using Dropbox for all my actual documents — including symlinking in my Desktop and other system folders I use frequently. And an encrypted Notational Velocity notebook of my every thought and secret. This means that I can install a clean OS X and have access to 95% of my documents just by installing Dropbox.

The major upside in this much simpler approach is that everything happens automatically, and there are very few moving parts. In fact, I’m relying only on two excellent and stable services. I’m always backed up at least to within 24 hours of my machine crashing, which is frankly better than I’d manage if I relied on myself remembering to connect physical devices to my computer.

The major downside is that I don’t have either a full backup or an offline backup. If my machine crashes, I can restore everything I care about — but it will probably take about 10 hours of hard work. When it happened last in late 2009, this was the approach:

  • Get a new machine.
  • Power up a clean Mac OS X and install all the software I needed.
  • Start up Dropbox which within about two hours managed to restore most of my documents. With 20 minutes of linking, I had my Desktop and other bits and pieces in working order.
  • Identify the last 5% of files. Most of these files, I was able to restore from my previous machine’s hard drive, although this might not be an option if the computer is stolen.
  • Retrieve the last missing pieces from Backblaze. This was in fact the hardest part. Backblaze is amazing for backing up, but a bitch to work with for restoring: I spend a few days generating and downloading zip files with music, podcasts, audiobooks and other lost bit and bytes.
Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!