https://www.baldurbjarnason.com/2022/more-better-web-apps/ * Archive * Work * Notes * GitHub * Email Baldur Bjarnason ... web developer, writer, and consultant based in Hveragerdi, Iceland. I write about web dev, interactive media, digital publishing, and product development. I'm available for consulting and hire. 4 July 2022 I don't care how you web dev; I just need more better web apps Contents 1. Everybody seems to disagree with everybody 2. The different roles we play in online discourse 3. Cultural differences mean everybody is operating under different rules of engagement 4. My intent: stated as plainly as I can 5. Paradigms, what the word actually means 6. We need more better apps 7. We need to talk more about the better web apps that are already out there 8. The Recap Everybody seems to disagree with everybody You don't need to look far on web dev social media to find somebody lecturing everybody and nobody about how you should do web development. Hell, I've been guilty of that myself. You should use this or that framework. Or, you should not use this or that framework and instead use a cognitive framework like Model-View-Controller with 'vanilla' web components. No, no, no Functional Reactive is where it's at. You should be writing code test-first and unit test everything. Or, you should go light on the unit tests and focus instead on integration tests. Or, end-to-end tests. Just test the shit out of the actual running app. Or, you should use this different kind of unit test which doesn't look anything like that other kind of unit test. Those aren't integration tests! This is an integration test! What's wrong with you?! You don't pair program? Wow, your code must suck. Everybody seems to have an opinion on how you do your web dev and how websites and web apps should be structured. Except... That's just how it seems. The different roles we play in online discourse Of course, web dev social media has a ton of posers and assholes who are genuinely lecturing the rest on the one true way to dev. But most in online discussions belong to one of five categories: 1. They are describing how things are done where they work and assume that if you're describing something different you must be describing it wrong or not following your place of employment's best practices. 2. They are describing how they'd prefer to work and are assuming that your different take means that you think that they're making a big mistake. 3. They are educators teaching a specific approach to solving a specific problem. They're aware that there are often many different solutions to each problem but are describing the one they teach. They also are probably assuming that you think they're teaching the wrong approach for bad reasons. 4. They are testing out different approaches and weighing the pros and cons of each, with data. They're assuming that you can't make good decisions in a vacuum. Which is a good assumption, admittedly. 5. They are concerned about the long-term sustainability of the field. They keep encountering highly flawed websites or web apps and are assuming that regular web devs can do something about it. The first two are probably the most common. Given the casual and often escalating nature of most online discussions, it can get quite hard to tell them apart from the assholes. The third--marginally less common, but you can usually tell them apart because they tend to be specific about the problem being solved and use words like "many of my students found this helpful". The people who do number 4 are obviously gems that we should all cherish. They're the sort who drive progress and keep the proverbial trains running on time (so to speak). The fifth group of online 'lecturers' deserves a special mention because they frequently skate over into the obnoxious. After all, if you genuinely believe that the web is facing an existential threat and that developers can do something about it, then the stakes are high enough to bully people a bit, right? I don't think that's a particularly productive way to go about it. Primarily because I'm of the opinion that bad apps are almost always down to management, not developers. But I'm also not in a position to judge anybody for being annoying on the internet. Cultural differences mean everybody is operating under different rules of engagement Given how little context social media discussions have in general, it can get pretty tricky to tell the well-meaning from those who are being dicks. Are they being an asshole or are they Nordic and so not in the habit of using ambiguity qualifiers in their conversation? Are they arrogant or are they from a culture where the employment context of the conversation is assumed to be obvious? Are they from an environment where educators are expected to project an air of infallibility? The web is a global environment and the rules of conversation and discourse vary a lot depending on the country and language. For example, I'm Icelandic and Icelandic colloquial language tends to use absolutes. It's the worst thing in the world. Or, it's the greatest. Icelanders also tend to be blind to rank in conversation which regularly leads to accusations that we're being disrespectful. (The Icelandic counter would be that your CEO/university dean/church bishop has done nothing to earn the Icelander's respect.) I'm also raised in England and the tendency there is to assume that you will automatically adjust what is said depending on context. "He's done a great job, all things considered", can be genuine praise or a scathing condemnation depending on the context. As you can imagine, I frequently get into disagreements with North Americans who either think I'm rude and disrespectful (if I'm operating in my Icelandic mode) or that I'm disingenuously downplaying important parts of the discussion (if I'm in my English mode). Multiply the issue by the number of different cultures online and you can see how we have a problem. Every participant is operating under different rules of engagement. Even though it might not feel like it's true, it probably is true that very few of the people talking about how to web dev on social media actually care how you, in particular, do your web dev. If they are talking about specific methods, most aren't implying that other methods are wrong, they're just describing their favoured approach. If they are describing specific flaws in a particular method then that should only be taken as a call to ensure that flaw doesn't recur in future projects. (And a few are genuinely being dicks. Not much you can do about that.) My intent: stated as plainly as I can I tend to fall squarely into the second category: my goal with most of my online writing about web development is to make it easier for me to work the way I think is best. Like most who have been in a field for more than five minutes, I have specific ideas, based on experience, about what works in what situation. The problem I've regularly encountered in my work is that I don't get to do my job the way I think is best for both me and my employer or client. The employer, who isn't the web development expert, almost always has a clear idea of what real web development is supposed to look like: Single-Page-Apps and React (or React-like frameworks). Every solution I propose is measured against what they perceive to be the web development exemplar. We might have a project that has a limited budget and resources but also a user-base that isn't demanding the Single-Page-App 'experience'. In which case, the logical approach is to make a multi-page web service instead of a Single Page App. It'll cost less both in the short term and the long term. And you're much more likely to be able to deliver it on time. But you almost never get to do that these days because only a Single-Page-App is a 'proper' website. An intimation that it wouldn't be the right solution for this particular problem is taken as an admission of incompetence. I must be arguing against an Single-Page-App because I don't know how to make one. Framework authors, well-meaning as they are, frequently make this situation worse. Many of them keep arguing in favour of Single-Page-Apps because of the theoretical superiority of the experience they can provide. They argue that a 'properly' made Single-Page-App won't have the accessibility and correctness bugs that frequently plague many of the Single-Page-Apps you see in the wild. The problem is that doing a Single-Page-App 'properly' is even more expensive than doing a mediocre Single-Page-App, which in turn is considerably more expensive than an old-style multi-page web service. If a lack of resources is the limiting factor for the project, any suggestion that involves more work or more resources makes the problem worse. What we end up with is an industry plagued with cost and time overruns. Projects go way over budget and get delivered much too late, if ever. Because everybody wants to do 'proper' web development and nobody wants to adjust their expectations of what can be accomplished with their resources to something more realistic. Static site generators did turn things around a bit, for certain types of websites. But then you also have static site generators that take Single-Page-Apps to new excessive extremes: when you have no server-side, some people respond by shipping everything to the client as JS. So, I don't think talking is working. But one thing that static site generators showed is that examples work. Which makes a lot of sense if you believe in a Kuhn-style paradigm model of how fields work. Paradigms, what the word actually means The short version of the theory in Kuhn's Structure of Scientific Revolutions: * The mental models or worldviews that govern each field aren't governed by texts but by examples. * The best examples of ideas, practices, and theories become a rubric that others are measured against. * A field is thus governed by its exemplars (hence 'paradigm', a synonym for example or 'exemplar'). Currently, that exemplar in web development is the Single-Page-App implemented in React. * A paradigm shift takes place when a new exemplar presents a worldview that better addresses a field's extant problems. Now, I'm not going to debate whether web development is currently facing a paradigm shift or not. That sort of thing only becomes clear after the fact. But what we are missing is more variety in our exemplars. Not to put a too fine a point on it but most of the web apps and websites I've had to use over the past few years are kinda awful. The amazing benefits offered by all the latest versions of all the latest frameworks remain thoroughly hypothetical. Demoware, if you will. Some of the web apps and websites are just stupendously awful. Even many widely celebrated apps tend to be highly flawed. Some suffer from major accessibility problems. Others are unusable on a slow connection. Almost all of them have serious UX flaws or resort to UX compromises that are disastrous on one major OS or another. (A fake context menu is a common one, which disconnects your app from a host of vital native OS features on macOS. Another frequently fatal flaw is making an app real-time when that only serves a minority of your end users and does an active disservice to the rest. I could go on as the list of UX flaws is quite long. We seem to be pretty bad at it as an industry.) Many of the popular apps are borderline unusable but survive by virtue of being free or next to free (i.e. bundled with another service or paid for at the enterprise level making them the default for all employees, even if they find the app unusable). I'm hard-pressed to name more than a handful of web apps that I would say are genuinely good with no major flaw. Content websites are a different matter. A static or server-rendered content website with adequate typography and semantic markup is generally going to do its job pretty well. But web apps? There are a ton that I tolerate because they are marginally more useful than they are flawed but very few are what I'd say were genuinely good. Native apps are a different story. Both because there are many more genuinely great native apps, but also because many of these apps are made by small teams, which are exactly the examples I'm looking for. Y'know, teams that are way too small to be able to pull off a quality React Single-Page-App. * Acorn is a really great image editor for the Mac. Made mostly by Gus Mueller. * Ulysses, on both the Mac and iOS has about five developers and started off with, IIRC, only two. * Daniel Jalkut at Red Sweater makes five apps, each of which is genuinely nice to use in ways that most web apps aren't. Small- to medium-software houses that make decent specialised native apps are a thing. Almost all of my favourite native apps are made by small- to medium-sized businesses. Not all, but definitely most of them. They aren't that common but there's enough--enough of them to prove that you can indeed make a quality native app with a small team. It isn't easy by any means, but the notion of a single person or two person team being able to make a decent native app isn't too far-fetched. But a single person making a decent web app seems to be a fantastical notion. Hell, you rarely even see big teams making decent web apps these days. I would like to see that change. And there are two ways to make that change happen. We need more better apps It's clear that whatever we're doing now, whatever it is that passes as standard practice in the industry, isn't resulting in a high number of great web apps. Which is fine. Our job isn't to make great web apps or websites. The job is to make whatever the client or employer wants us to make. If they have bad taste, the outcome will be in bad taste. Arguing against that is pointless and counterproductive. But the best way to get the client to ask for better apps, made within the bounds of the resources that are available to them, is to have more examples of great web apps, made by modestly sized teams. This should be doable. Right? After all, a single person can make a great native app. So we should be able to figure out a way for small teams to make great web apps. Right? Right? Anyway, I believe in you all. It can be done. But I do think we're at a point where we're going to have to admit that it'll only be done by doing something different from the way we've been doing things so far. We need to talk more about the better web apps that are already out there Web dev is thoroughly in bed with money, more so than the native app ecosystem which has a long history of small- to medium-sized software houses. Web dev was born in the dot-com financial bubble and has been riding VC money and big tech money ever since, to a degree that pays very little attention to the proverbial "little guy". A lot of the online web dev community just sounds like a bunch of MBAs that just happen to be using a different set of buzzwords. Web dev social media discourse is almost entirely about: * The trendy startups and how much funding they're getting (or not getting). * What the big tech cos are doing and how they're doing. * What you need to keep up with in web dev to get hired at a trendy startup or a big tech co. * People trying to sell you stuff that's supposed to get you hired at said companies. * Open source projects that can save said companies time or money and help you get hired at one of them. * Browser vendor infighting. * People who treat browser vendor infighting as a spectator sport. Whether any of the stuff people work on is actually good barely gets a mention. So, I'd like to challenge us (mostly myself, but you are more than welcome to try as well) to talk more about the good apps we see and use. The more we remind each other of the well-made apps that exist, the more likely we are to make more apps like them and the more likely our employers and clients are to want something like them. The Recap So to recap: I would like us to be making more better web apps, please and thank you. I don't really care how we make them, but they do need to be genuinely good. Because it's the exemplars that define the practice. I would also like us to talk more about the good apps that are out there. I'm guessing that there is a bunch of them out there that I don't know about. We should know about them. A genuinely good web app will guide us and help us convince our clients and employers to follow suit. Which will lead to more better web apps; creating a virtuous cycle. And we like those because they're, y'know, virtuous. The way to get there is for us to focus on the outcomes. What matters is the end result: the site, the service, the app. What matters less is the particular approach, architecture, testing strategy, or even programming language. Once we have more exemplars, their commonalities will become more and more obvious and new approaches will fall out from that. Make cool web things. Then talk about them. Find cool web things. Then talk about why they're cool. Let the exemplars drive the field; don't let the discourse drag us down. On online collaboration and our obligations as makers of software Join my Newsletter Do you ever wonder why a newly released open source project matters? Why it doesn't? How new or old standards or specifications affect your work? Why the web, tech, and publishing are the way they are? This is an unapologetically political newsletter about tech, the web, and publishing--with context. Because, to decide whether to use a piece of software, web standard, or open source project, you need to know why it's interesting, not just that it's interesting. Your email address [ ] Subscribe I won't send you spam. Unsubscribe at any time. Archive Writing * I don't care how you web dev; I just need more better web apps 4 July 2022 * On online collaboration and our obligations as makers of software 2 June 2022 * On online collaboration and our obligations as makers of software 2 June 2022 * The different kinds of notes 6 May 2022 * What I learned about markdown from interviewing a bunch of people 6 May 2022 * The Colophon Cards User Survey 2 February 2022 * How to keep up with web development without falling into despair 31 January 2022 * Let's just not talk about 2021 and look forward instead 5 January 2022 * Making Colophon Cards 29 November 2021 * What do I need to read to be a great at CSS? 19 October 2021 * The event listening toolkit: five ways to get out of an event handling mess 11 October 2021 * FormData and fetch, why is serialising a form such a pain? 29 September 2021 * The Single-Page-App Morality Play 6 September 2021 * Software Crisis 2.0 25 August 2021 * Lessons in Interactivity, 2021 redux 13 August 2021 * Nobody gives a hoot about groupthink 29 July 2021 * Spontant: in praise of grey 26 July 2021 * Ways of reading without the influence of community 6 July 2021 * The Open-Source Software bubble that is and the blogging bubble that was 11 May 2021 * You are what you do, not what you say or write 4 May 2021 * The Curious Case Of The Crashing Conic Gradient And How I Used A Technique I Learned In The 90s To Fix It 28 April 2021 * 136 facts every web dev should know before they burn out and turn to landscape painting or nude modelling 21 April 2021 * I'm available for work 20 April 2021 * Which type of novelty-seeking web developer are you? 31 March 2021 * Every Day; a Fair Warning (You Should Read These Articles) 3 March 2020 * Weeknote 3 - Resistance and the dull blade 10 February 2020 * Weeknote 2 (2020) - News, Bad News, and Star Wars 2 February 2020 * Weeknote 1 (2020) - Ending the hiatus 26 January 2020 * The Ed Tech Conundrum 2 January 2020 * Thinking about the past, present, and future of web development 1 January 2020 * The Web Falls Apart 3 November 2019 * Weeknote 19 - blog redesign and changes at work 27 October 2019 * When life hands you lemonades, sit down and contemplate the meaning of life 10 September 2019 * Weeknote 18 - Uncertainty and Discomfort 11 August 2019 * Web Dev: The Red Queen Wire Mommy of Modern Tech 6 August 2019 * Weeknote 16 - Vacation 29 July 2019 * Weeknote 15 - Counting Down the Days 1 July 2019 * Weeknote 14 - Shadows and DOMs 25 June 2019 * Weeknote 13 - The weight of deadlines 16 June 2019 * That Web Dev Thing Where Everybody Says Something Clever Involving Toast 15 June 2019 * SwiftUI, Privacy, macOS, and the Web 9 June 2019 * Weeknote 12 - The genres of web media 5 June 2019 * The Aesthetics of Concentration 3 June 2019 * Weeknote 11 - do I have focus? 29 May 2019 * Weeknote 10 - A clear view and more reading 20 May 2019 * Weeknote 9 - Being contemplative, finishing a photo project 12 May 2019 * Weeknote 8 - Moving, Endgame, and more musings on colour 5 May 2019 * Weeknote 7 - Story length and that thing about colour 29 April 2019 * Weeknote 6 - Star Trek, rest and spring finally arrives 22 April 2019 * Weeknote 5 - Stuff, comics, superheroes, and other nonsense 14 April 2019 * Weeknote 4 - TV week with The Expanse 7 April 2019 * Weeknote 3 -- MVPs, fatigue, and emotional crutches 31 March 2019 * Weeknote 2 - Web Development Mistakes, Mary Sues, and Icy Spring 24 March 2019 * Weeknote 1 18 March 2019 * Hitchcock and the author construct 12 February 2019 * Seams, Stitches, And The Decline Of The Mac 3 November 2018 * Neither Paper Nor Digital Does Active Reading Well 3 September 2018 * Leftover Thoughts From 2017 7 January 2018 * Over-engineering is under-engineering 25 November 2017 * The process is the thing 23 March 2017 * Von Be Don: A few notes on a recent digital publishing project in Iceland 19 February 2017 * W3C and EME: it isn't about preventing DRM but saving the W3C 14 February 2017 * Unpopular opinion: dismissing indirect pointers is a mistake 4 February 2017 * Anger feels like poison 24 January 2017 * Is JavaScript more fragile? 7 December 2016 * Debating Progressive Enhancement 5 December 2016 * The downside of believing in Apple 1 November 2016 * A short primer on Icelandic politics on the day of the 2016 election 29 October 2016 * The Tragedy/Farce of the Open Web according to journalists 18 October 2016 * Notes on debating for the web development community 17 October 2016 * Addendum on loose coupling and the iOS App Store 11 October 2016 * Idle thoughts on modularity and loose coupling in digital media 9 October 2016 * When fear is rational 24 June 2016 * Once upon a time, I couldn't imagine a better word processor than Word 7 June 2016 * A thought to consider 24 May 2016 * A few thoughts on standardisation, W3C, and the IDPF 16 May 2016 * Filling in the gaps - the dynamics of zero marginal cost 21 April 2016 * Which CMS/blog system would you choose? 12 April 2016 * A few simplified points on web and document security 30 March 2016 * Judge the work 21 January 2016 * Why did Paul Graham argue against equality? 13 January 2016 * Purpose, Joy, Capability 4 January 2016 * You can't fix the App Store, so here's how you fix it 20 November 2015 * Why I am worried about Twitter and why you should be too 4 November 2015 * The crossroads or the wilderness 23 October 2015 * You can't solve people problems with software 28 September 2015 * The discussion about ad blocking is very dumb (but not in the way you think) 18 September 2015 * This is not a book, but it is a podcast 10 September 2015 * A week of 'This is not a book' 7 September 2015 * Launching "This is not a book" - what it is and why you should be interested 1 September 2015 * My kingdom for a new bookstore 28 August 2015 * Modern software sucks 26 August 2015 * The cost versus benefits of disorganised programming power 25 August 2015 * Who benefits the most from Open Source Software? 25 August 2015 * Sex Apocalypse Later 24 August 2015 * Random thoughts on work and that Amazon thing 23 August 2015 * Bookmarks - UI flaws and other great capers 14 August 2015 * Bookmarks - learnable programming 13 August 2015 * Bookmarks - More money for open-source 12 August 2015 * Bookmarks - Leaving bosses 11 August 2015 * Bookmarks - Promoting other people's work 10 August 2015 * Bookmarks - What Would Kamala Khan Do? 7 August 2015 * Bookmarks - Trickle down golden geese 6 August 2015 * Bookmarks - Hateviews are us 5 August 2015 * Bookmarks - Milk it 4 August 2015 * Iterating the web away: losing the next generation 4 August 2015 * Bookmarks - You haven't been paying attention 3 August 2015 * Bookmarks - It's a note card world, we just live in it 31 July 2015 * Bookmarks - Just call it Smylfeste 30 July 2015 * Bookmarks - That one is shaped like an idiot 29 July 2015 * Blogger nostalgia 28 July 2015 * Bookmarks - Make it simpler 28 July 2015 * Wet streets cause rain and criminal responsibility 27 July 2015 * Tweet bookmarks galore 26 July 2015 * Random links that catch my fancy, part four of [?] 23 July 2015 * Random links that catch my fancy, part three of [?] 22 July 2015 * Mythic visions of sexuality 21 July 2015 * Random links that catch my fancy, part two of [?] 21 July 2015 * Random links that catch my fancy, part one of [?] 20 July 2015 * An exercise for the reader in integration and modularity 17 July 2015 * How to read my nonsense 17 July 2015 * Is it distributed or just a disorganised hierarchy? 10 July 2015 * On the vaunted robustness of the web 10 July 2015 * The rules of the game have changed for RSS 10 July 2015 * The web app developer's lament 6 July 2015 * Other people write about digital media 25 June 2015 * The plural of 'Medium' is clearly 'clusterfuck' 25 June 2015 * Burnout 24 June 2015 * The files Steven Pressfield works with 24 June 2015 * iOS 9 content blocking extensions are not a mobile advertising armageddon 14 June 2015 * Writing the Other: a book that's useful to all writers 3 June 2015 * Should I make a WWDC prediction? Yes, let's 3 June 2015 * Grim Meathook Present #2 2 June 2015 * Other people discuss software quality (spoiler: it sucks) 2 June 2015 * Other people talk about startups and entrepreneurship 2 June 2015 * A few quick links and thoughts on big web problems 29 May 2015 * I really want the Supergirl TV show to be fun 25 May 2015 * Our Grim Meathook Present 25 May 2015 * The new age of HTML: the web is being torn apart 20 May 2015 * Her movie, his name; Mad Max: Fury Road 19 May 2015 * We are a violent species 19 May 2015 * Toxic environments: inequality in tech is a symptom of something worse 18 May 2015 * Where I write about Facebook's Instant Articles 16 May 2015 * Facebook and the media: united, they attack the web 15 May 2015 * Speeding up decision cycles with rules and heuristics 14 May 2015 * You are here #5: UX, design, and CSS as a parasite 14 May 2015 * You are here #4: an epic journey through app dev and male bodies 13 May 2015 * You are here #3: the glorious wonders of online reading await you 12 May 2015 * 2015-05-11-18-39-16 11 May 2015 * You are here #2: an artisanal curation of reading material 11 May 2015 * You are here #1: a selection of fine links and tweets for your pleasure 10 May 2015 * 2015-05-07-00-59-18 7 May 2015 * Five publishing-related thoughts on a Friday afternoon 4 May 2015 * Why should people read more books? 4 May 2015 * How is taxing ebooks as print books supposed to work? 4 May 2015 * Kathy Sierra's Badass: Making Users Awesome - the book you all should read 4 March 2015 * Idle Sunday thoughts about web trends 1 March 2015 * Repetition only works in fiction 1 March 2015 * The web has covered the basics -- that's why it'll get harder from now 1 March 2015 * A draft of a chapter of some thoughts on things. 9 January 2015 * Taking stock of 2013 and 2014 31 December 2014 * The weather, of course 17 December 2014 * Publishing business ideas are a dime a dozen 3 December 2014 * EU VAT changes shift the digital landscape 25 November 2014 * Money is a poor measure of value 25 November 2014 * On conferences 13 November 2014 * Crushed by multinationals 12 November 2014 * Software as a strategy: prefabricated publishers 7 November 2014 * Software as strategy in the ebook world 6 November 2014 * The five types of unpublished books 5 November 2014 * Four hundred words from Anita Elberse's book "Blockbusters" 4 November 2014 * The splintered author 4 November 2014 * There is no war between Amazon and Traditional Publishing 3 November 2014 * Ebooks suck for learning 10 October 2014 * The Poisoning of Social Media: A Reading List 9 September 2014 * Wobbly Amazon 10 August 2014 * This week's must-read post 24 July 2014 * Friends don't let their friends become authors 10 July 2014 * Both at the same time 4 July 2014 * So I had to make an ebook cover... 15 April 2014 * So long, Readmill, and thanks for all the fish 31 March 2014 * What ebook production problems are self-publishers facing? 24 March 2014 * Many stories, many truths 13 March 2014 * Problem statements for digital publishing research 28 February 2014 * To do, to do 21 February 2014 * iBooks Author tempts you with bling 20 February 2014 * Microsoft Word is a liability 19 February 2014 * The print design mentality 18 February 2014 * Book contracts 12 February 2014 * Intermission: sorting through the banal 5 February 2014 * How to create value with a new thing 30 January 2014 * HTML is too complex 29 January 2014 * The ebook as an API 28 January 2014 * My last word on DRM 27 January 2014 * Except, except, except 23 January 2014 * A thought exercise 22 January 2014 * Losing faith in yourself 21 January 2014 * Changing your readership mix 20 January 2014 * Sex, education, readers, and futures: what works, what doesn't 18 January 2014 * The various types of readers 17 January 2014 * The unevenly distributed ebook future 16 January 2014 * Sex, violence, and stilbrot 15 January 2014 * Recipe for pundit response to Hugh Howey's suggestions 14 January 2014 * Bling it up for education 13 January 2014 * Blogging has trained me to assume you're stupid 9 January 2014 * Ergodic literature 8 January 2014 * What I thought I wanted versus what I really wanted 7 January 2014 * The mistake of 'enhancing' novels 6 January 2014 * Pessimistic ramblings and other fun links (week overview + further reading) 4 January 2014 * Stumbling into publishing 3 January 2014 * The publishing industry's new product categories 2 January 2014 * The last two Knights and Necromancers stories 1 January 2014 * Random, loosely connected, thoughts on the future 31 December 2013 * Old photos posted without context: Reykjavik Cats 29 December 2013 * Old photos posted without context: Sweep After Use 22 December 2013 * The Checklist: fix iBooks image handling 20 December 2013 * Great text transcends nothing 17 December 2013 * Quarantine all ebooks 17 October 2013 * The self-publisher's perspective of the ebook market 17 October 2013 * Light evening trauma 10 October 2013 * Just say no to ebook CSS and JS 2 October 2013 * The Google Wave Heuristic 17 September 2013 * Amazon's biggest ally is Apple 12 September 2013 * Readmill versus Kindle - Readmill is worth the hassle 26 August 2013 * Proprietary ebook formats versus DRM 19 August 2013 * Publishing has catered to dumb for a long while 16 August 2013 * Computers are too difficult and people are computer illiterate 14 August 2013 * Why disruption goes unchecked 12 August 2013 * Make ebooks worth it 9 August 2013 * Ebooks and cognitive mapping 8 August 2013 * Ebook silos, update 7 August 2013 * Ebook silos and missed opportunities 6 August 2013 * Technology is not inherently good 5 August 2013 * Administrative note on baldurbjarnason.com and feeds 29 July 2013 * Posted without comment 29 July 2013 * The inefficiencies of joy 24 July 2013 * Winner takes all versus the Matthew effect 23 July 2013 * What you people read (on my websites) 22 July 2013 * Tolerating the heat, noticing the water 19 July 2013 * If the Kindle fails so will ebooks 18 July 2013 * Followup to 'this ebook is a lemon' 16 July 2013 * This ebook is a lemon 12 July 2013 * Caught between madmen and mercenaries 10 July 2013 * Major update to Studio Tendra's Oz project 3 July 2013 * What are self-publishing's biggest pain points? 1 July 2013 * Intellectual terrain 1 July 2013 * Good books don't win 26 June 2013 * Why does it matter? 10 May 2013 * The OZ Reading Club: Books three and four 7 May 2013 * Which kind of innovation? 3 May 2013 * Books and Print Showcase 2 May 2013 * Peasants 30 April 2013 * For the love 14 April 2013 * The idiocies of young men 5 April 2013 * Studio Tendra's grand and marvellous Oz Reading Club 2 April 2013 * Iceland's 'crowd-sourced' constitution is dead 29 March 2013 * The B&N fallacy 27 February 2013 * Hire me! 19 February 2013 * A question only you can answer 15 February 2013 * Respect the reader 6 February 2013 * 33 observations on the year 2012 5 February 2013 * Knights and Necromancers: new books and megapacks! 4 February 2013 * The falcon's shriek 2 January 2013 * What is actually going on in Iceland 29 December 2012 * Merry Christmas! 25 December 2012 * Tag soup is history 21 December 2012 * Schlock 15 December 2012 * Strange definitions of 'nice' 5 December 2012 * Books of Christmas Past 4 December 2012 * Using IDs in CSS 26 November 2012 * Design highlights from the Icelandic book season 22 November 2012 * News, updates, and the Icelandic book market 19 November 2012 * A response, of sorts 15 November 2012 * High tide and a room of your own 8 November 2012 * Knights and Necromancers 2 has been released 6 November 2012 * The comment-fiction challenge post-mortem 30 October 2012 * Fantasy, Collapse, and a sense of history 29 October 2012 * Two questions on putting books on the web 26 October 2012 * iBooks 3.0 25 October 2012 * Perceptions of society 22 October 2012 * What I've been up to 19 October 2012 * The Readmill comment fiction challenge 1 October 2012 * Is it safe? 27 September 2012 * The time work takes 24 September 2012 * I need your help 21 September 2012 * Designing the covers 19 September 2012 * Free Kindle version 19 September 2012 * What is this? 17 September 2012 * The stillborn creature 1 August 2012 * EPUB javascript security 27 July 2012 * I be writing 21 July 2012 * Farce 16 July 2012 * Bad writing 19 June 2012 * A few random points on DRM 7 June 2012 * The web and ebooks have little in common 7 May 2012 * The end of ebook development 26 April 2012 * Aftermath - notes on the Amazon post 20 April 2012 * Today is not tomorrow (or, how to beat Amazon) 15 April 2012 * Bits, bobs, and anecdata 3 April 2012 * Lessons in interactivity 29 March 2012 * Hierarchies of ebook design 20 March 2012 * It's time to treat ebook developers as developers 12 March 2012 * Code doesn't change minds 7 March 2012 * Game over, Amazon wins 3 March 2012 * On CSS Page Templates 2 March 2012 * Javascript in ebooks 29 February 2012 * Explanatory windows 20 February 2012 * Readium and other good intentions 13 February 2012 * ePub windows and widgets - a proposal 10 February 2012 * The semantics of ebook widgets 4 February 2012 * iBooks widgets - to javascript or not to javascript 1 February 2012 * What do we want from the Kindle platform? 1 February 2012 * Disruptive crap 27 January 2012 * Me, elsewhere 26 January 2012 * The pros and cons of the iBooks 2.0 textbook format 21 January 2012 * The iBooks 2.0 built-in widgets 20 January 2012 * The iBooks 2.0 textbook format 19 January 2012 * The publishing animal 17 January 2012 * A day of innovation on the future of the book 8 December 2011 * What a publisher does 30 November 2011 * Design pseudoscience 8 November 2011 * A tale of three blog posts 28 October 2011 * CSS and ebook design 24 October 2011 * The loss of ambient intimacy 15 September 2011 * Friday links and reading 26 August 2011 * Convert or engage 4 August 2011 * CSS3 Hyphens 30 July 2011 * Just you & Google 29 July 2011 * Knowledge is not adoption 24 July 2011 * HTML5 history API 23 July 2011 * Your friends, in boxes 17 July 2011 * Localstorage & messaging in ePub 27 January 2011 * Javascript in epub 26 January 2011 * An epub experiment 25 January 2011 * What is an ebook? 21 December 2010 * Hypotheses and testing 25 October 2010 * Identifying publishing innovators 7 October 2010 * On quality in publishing 7 October 2010 * An interesting discussion 28 June 2010