More from ben-mini
I just finished listening to Lenny’s conversation with Nan Yu, Head of Product at Linear, about what it takes to build a great SaaS product. Like many SaaS apps, the Kibu team and I have taken inspiration from Linear. But as we plan our roadmap and implement new solutions, I ask myself: What’s preventing us from building a product as beautiful as Linear, Slack, or Figma? Sure, time and resources matter, but I sense deeper things at play. Lenny and Nan’s conversation shed light on Linear’s approach and helped me articulate some thoughts: No Dogfooding Nan said that ideas for SaaS apps often start as useful products inside of larger companies. A typical story: a developer solves a personal problem, shares it with her coworkers, gets tons of praise, and considers if other companies have the same problem. I recall the story of Slack going a lot like this, and I suspect Linear is similar. The advantage of this approach is that the founder is customer zero. By building for yourself, user empathy has an instantaneous feedback loop, allowing you to rapidly build based off “vibe” alone. This is obvious advice, as the “built by X, for X” has been a marketing cliché for decades. It explains why the most lauded products in app design are almost always built by a team who can dogfood their own product. Kibu cannot dogfood its own product. As a content provider and documentation platform built for disability providers, Kibu operates with no day-to-day usage of its own product, as one may see at Linear, Slack, or Figma. Without dogfooding, “vibe development” is overshadowed by the voice of the customer. Of course, there’s nothing wrong with customer feedback, but Kibu’s lack of dogfooding handicaps our ability to have that “spidey-sense” of our customers’ needs. This could lead us down a complicated or unscalable path. I am particularly concerned with the latter, as our stellar dev team always ensures the UX passes user acceptability. I wonder how Kibu can mitigate our inability to dogfood: Try to dogfood: We once tried dogfooding by documenting our company goals and providing weekly updates in Kibu (similar to how our customers provide daily updates to their special needs members’ life plan goals). This was a positive step but still a square peg in a round hole. We simply do not operate with the same speed, setting, vocabulary, or consequences as our customers. Hire industry folks: Wow, wouldn’t it be nice to hire a former caretaker that turned into a valuable SaaS contributor! We’re starting to find those on the business side, but we haven’t found an engineer that fits that description. Regardless, by joining Kibu, the employee would have left the industry and no longer be engaging in Kibu. I assume that Strava developers still jog after getting hired lol… Ignore the issue and build: This has been our status quo and likely will be for a while. Let’s double down on customer feedback by scheduling recurring meetings with diverse users. Maybe we even pay them! Is there a company that we can take inspiration from that’s been in our position? What’s the most beautiful app that can’t be dogfooded? My first thought is Shopify, as I’m guessing Tobi Lütke and the whole team don’t personally maintain an e-commerce snowboard shop. Let me know if you can think of other companies. Saying No to “The Man” On the topic of preventing bloat, Nan said Linear is hyper-focused on delivering an exceptional IC experience and is willing to turn down feature requests that don’t align with that vision. For example, if Nan got a request from a middle manager to make end-of-month reporting slightly easier, Linear will deny that request if it means the IC’s work is strained a bit. This “bottom-up” prioritization philosophy is downright enviable! Kibu is in the business of compliance, meaning that we are limited to the needs of our customers’ regulators. If a government agency or grant provider want our customer to complete a 3-page questionnaire for every member every day, then our customer has no choice but to pass that requirement down to us. Our ability to design a frictionless experience for ICs hits a ceiling when met with regulation, no matter how dumb. This hindrance is particularly frustrating because we recognize the economic value that an exceptional IC UX could bring to our customers. If a low-level caretaker can take notes and track attendance on a tool that won’t make them want to blow their brains out, then: The data will be better, incurring less failed audits and penalties. The data will be better, allowing management to better identify inefficiencies that lead to better resource allocation. The staff will spend less time record-keeping and more time caring, leading to better outcomes and success stories. At the same time, regulation is why Kibu Documentation exists in the first place, so if we’re sticking to a Linear-like “bottom-up” product strategy, then it is our duty to make compliance painless, if not a little fun. Reports Come Second: While the economic buyer and regulators relentlessly emphasize the importance of reports, Kibu must remember that reporting is merely a representation of rows and columns. What truly matters is the data inside—which aligns with our philosophy of prioritizing the IC’s data input experience. Kibu has already done a great job delegating customers’ reporting needs to the Customer Success team (hey, that’s me!) with custom Looker reports. Customers stay happy with white-glove reporting, while our product team remains focused on ICs. No BS copy: On the front page of every customer’s Documentation homepage, we have large text that reads “Your org is X% compliant. Found out why” If the goal is compliance, then let’s not blur anything. I’d rather sacrifice a little extra text on the page if it means our nontechnical users know exactly where to go and why. We should take this one step further and extend it to each entity in Kibu, like the member: “Here’s what you need to do to be fully compliant with Athena…“ More unicorns: Whenever you complete a task in Asana, a unicorn flies across your page! So cool. Per my bullet points above, a fun Kibu experience will lead to better financial outcomes for our customers. Tiny Thoughts Okay, the two sections above were the most provocative. Here are some more takeaways that Kibu is already doing. If we’re not, I don’t think it would be too controversial to implement: Y-combinatify Kibu: Our marketing page should be fast, fun, minimal, with lots of polished-up screenshots of our product (like Superhuman or Mintlify). Our brand should be “the new kids on the block” or “finally… Silicon Valley’s best are solving my disability provider problems” Say No to Enterprise: Linear demonstrates great restraint in saying no to Enterprise-level requests that they believe will lead to poor long-term growth. My last company experienced this, and I’m wary of going through it again. The 11-star Experience: The Linear team occasionally plays in a world where resources are unlimited and they can design the best gosh-darn experience. They’re always surprised by how many ideas are viable! Kibu should do the same… I love one developer’s idea of “Call Kibu”, where an IC can simply call a phone number and log their notes for the day- having a back-and-forth conversation with a robot who knows all compliance requirements.
Quick Update: I updated my domain to ben-mini.com! All old URLs and the RSS feed under ben-mini.github.io will automatically redirect, so no changes are needed on your end. By far, the most useful LLM app I’ve made is the Kibu Schema God: I try not to make my posts too technical, but I can’t resist. I’d like to briefly explain what the Kibu Schema God is, how I set it up in a day, and how you might create something similar. What it is The Kibu Schema God (KSG) is a Custom GPT that helps me get immediate answers on my product’s data. It has full knowledge of my company’s database schema and context around it. KSG allows all Kibu employees with a basic understanding of SQL to construct queries that provide insights into our customers. Humbly put, it is an omniscient data deity that takes mortals’ plain-English requests and provides the path to the data in seconds. As a VP of Customer Success with an engineering background, I use KSG daily to gain insights into our customers’ product usage. Which organizations watched the most videos this week? How many time-tracking events occurred after 5 PM ET this month? Relative to ARR, which customers have the most alarmingly low usage? I can copy+paste these exact questions into KSG, and it will return exactly what I need. The beauty of KSG is that it’s completely disconnected from our actual database, ensuring privacy and HIPAA compliance. No customer, user, or health-related data is ever shared with Schema God or the LLM. Further, it took me just a few minutes to create, with occasional tweaking and maintaining- all without code. How it Works This morning, I wanted to know which users watched the most classes on Kibu (by the way, Kibu offers a library of 400+ videos of educational and exercise content for adults with special needs). So, I logged onto ChatGPT.com, went into my Kibu Schema God GPT, and asked the question: Instead of returning data, KSG generates a MySQL query. A query is a structured language that enables interaction with Kibu’s MySQL database. I then copy+paste that query into an SQL editor, like TablePlus, and view the results: Not only has KSG saved me hours of writing these tedious queries, but it’s also proven worthy in crafting some of the most complex, disgusting, 25+ line queries in my life. I used to think of SQL query writing as an art- now, it’s a commodity. Configuring KSG was relatively simple. When creating a Custom GPT, I provided the following instructions: You are helpful assistant for Kibu employees to better understand their customer. Kibu is a software tool that supports the IDD community. It offers a library of video classes to individuals and Disability Provider organizations, as well as an admin tool for organizations to take notes & attendance of their members (IDD individuals). Your job is to provide MySQL queries upon request given Kibu’s MySQL schema. Always use the provided Prisma schema in schema.txt when constructing a query. A schema is the structure that defines how a database is organized. It includes the tables, columns, data types, relationships, and other elements that shape how data is stored and accessed. Even a Google Sheet can have a schema. In the image below, the schema of this Google Sheet consists of a User table with five columns (ID, First Name, Last Name, Age, and State) and two other tables (Activity and Medical Info) that are likely related to the User table. Most production databases and SaaS providers maintain a document that defines your data schema. Kibu’s schema is explicitly defined with Prisma. Schemas are written in a structured way that makes them readable to computers but indecipherable to humans. This is the perfect recipe for an LLM use case. When creating KSG, I went to my dev team and requested our Prisma file. I uploaded it to the Kibu Schema God, giving it the blueprints to our database’s design. After explaining to the GPT a few nuances (what time zone our dates are in, what each “status” value means in a business context, etc.), KSG was complete. I occasionally tweak KSG’s configurations when the schema updates or more context needs added. How to Implement Your Own Schema God Schema Gods are an awesome way to unleash your data analytics potential with minimal IT overhead. Regardless of your role, you work with data, and you need to get insights from it. Here’s how you can build your own Schema God: 1. Identify your data source and find its schema For someone in Product or CS, this could be your relational database or a layer on top of it (Mixpanel, Amplitude). For a salesperson, your data is likely in a CRM. Ask the owner of this data source for the schema. Salesforce has its own schema tool that lets you view and configure all the objects in your org. 2. Insert the schema into ChatGPT. Visit ChatGPT.com (or your preferred LLM) and paste your schema into a Custom GPT configuration or start a new conversation. 3. Explain the schema to ChatGPT Think of your Schema God as a really smart data analyst intern who still needs to learn. Explain your product, its core “nouns”, and what a successful answer may look like. The more specific, the better. 4. Ask ChatGPT to return your queries in a desirable format. Every data repository has its own method of analyzing data. For a database, this will likely be query language. For SaaS apps, it might involve using an “advanced filter” language available in its reporting interface. It might be an API. Salesforce has its own query language called SOQL that runs on sites like Workbench. Find the format that gets you from copy -> paste -> data as quickly as possible. Final Thoughts In about an hour, my six years of SQL knowledge became nearly obsolete. Granted, building and tweaking the Schema God would have been much more challenging without my data fluency, and my more advanced prompts to KSG are still grounded in pseudo-SQL-speak. However, in its current state- with all the context and rules I’ve provided- I have complete confidence that it can help my non-technical colleagues with minimal mistakes. The best KSG users are those who understand the business of Kibu the most, not the codebase. Fuck man… maybe it was a good idea to get that business degree instead of computer science! This year, “talk to your data” apps have exploded in growth. But, I’m yet to find a tool as cheap, easy to use, and privacy-friendly as the Schema God. Hopefully, this can help some of you become the data-driven business visionary you never knew you could be.
Between 2009 and 2012, Apple iPhones and iPod Touches included a feature called “Send to YouTube” that allowed users to upload videos directly to YouTube from the Photos app. The feature worked… really well. In fact, YouTube reported a 1700% increase in total video uploads during the first half of 2009- crediting that growth to its strong integrative ties to Apple and social networks. However, this two-click upload feature was short-lived when Apple severed ties with YouTube by removing its homegrown app in 2012. While Send to YouTube can be thoroughly analyzed as a milestone on the “frenemy” timeline between Apple and Google, I want to explore a pleasant consequence of this moment. Apple uses the ‘IMG_XXXX’ naming convention for all images and videos captured on iOS devices, where XXXX is a unique sequence number¹. The first image you take is named “IMG_0001”, the second is “IMG_0002” and so on. During the Send to YouTube era of 2009 and 2012, the title of one’s YouTube video was defaulted to this naming convention. Unwitting content creators would then upload their videos on a public site with a barely-searchable name. To this day, there are millions of these videos. Try searching for “IMG_XXXX” on YouTube, replacing “XXXX” with your favorite numbers (I used my birthday, 0416). See what you get! There’s something surreal about these videos that engages you in a way you’ve never felt. None were edited, produced, or paraded for mass viewing. In fact, many were likely uploaded by accident or with a misunderstanding that complete strangers could see it. YouTube automatically removes harmful or violent content, so what remains exists in a unique, almost paradoxical state: forbidden, yet harmless. Putting all this together, searching IMG_XXXX offers the most authentic social feed ever seen on the Internet- in video, no less! While many videos are redundant snippets of a concerts, basketball games, or kids’ recitals, you also get one-of-a-kind videos that provides a glimpse into a complete stranger’s life. You’ll see a tumultuous event that made them, their partner, or their friend say, “hey, let’s record this”. I’d like to show you three of these videos that I found in my search. IMG_0416 (Mar 17, 2015) - 23 views The video shows a woman excitedly unboxing a book she received in the mail. From context clues, she seems to be a wife and mother from Memphis who’s unboxing the first published copy of her book. She thanks the friends, family, and publishers who made this happen. After a quick Google Search, I was able to find the book: A Profit / Prophet to Her Husband: Are you ready to be a wife? The book is meant “to help wives understand who they are and who they were designed to be.” It clocks in at 94 pages and has 30 ratings on Amazon! Go IMG_0416! I don’t care what you’re creating- I’m just a fan of creators. It looks like she kept at it- making a second book in 2020! IMG_0416.MOV (June 24, 2015) - 26 views The video appears to show a woman playing a matching card game that teaches you “the basics of the potash stuff” according to the cameraman. As the woman (who I assume is the cameraman’s supportive mother) flips two matching cards, she reads off the countries who produce the most potash. I honestly didn’t know anything about potash! Turns out that it is a mineral with large amount of potassium, which is helpful as a plant fertilizer. With Canada producing the largest reserves in the world, the vast majority of Canadian potash is found in Saskatchewan. I wonder if this family lives in Canada. Or, if this is just another school project of useless facts… I miss those! IMG_0416 (Feb 8, 2011) - 114 views Let’s end on a fun one. The video shows a young man snorting powdered sugar and dealing with the consequences of it. Given his BU hoodie, Dunkin’ Donuts location, and ironic depiction of drug use, I gotta say this is a VERY Boston video. What’s genuinely heartwarming is the shared laughter between the man, the camerawoman, and the motherly figure leaving Dunkin’. The camerawoman calls her “Myra”, suggesting they all know each other. We have nothing better to do, so we’re snorting powdered sugar captures an essence of suburban America that I’m sure many of us can relate to. Edit: 11/3/24 IMG_0417 (Mar 14, 2014) - 16 views I found this after posting, and it’s just too amazing to not include… a woman filming her partner as he finds out she’s pregnant. Assuming all has gone well, the child is now almost 10 years old. I wonder if the family even knows this video still exists. After posting this on Hackernews, it looks like somebody commented on the video lol. I hope the family receives a notification it and is able to share this with their kid. ¹ Edit: The IMG_XXXX sequence isn’t truly unique—after 10,000 photos, the numbering restarts at IMG_0001 (Source).
I just finished reading The Inner Game of Tennis by Tim Gallwey. Originally published in 1974, the book explores how the thoughts of an athlete affect their game. It’s lauded as being at the forefront of what we now call “sports psychology”. Although my competitive sports days are over, I was still intrigued to read it in context of my current life as a startup professional, rec basketball player, and coach. Here are a few takeaways that I have from the book. To preface, Gallwey talks a lot about Self 1 and Self 2. Put simply, Self 1 is the critical, judgmental voice in your head, while Self 2 is the instinctive, natural self that performs effortlessly when trusted. The goal is to remove Self 1 as much as possible so Self 2 can perform. How to Learn “To Self 2, a picture is worth a thousand words. It learns by watching the actions of others, as well as by performing actions itself… The benefits to your game come not from analyzing the strokes of top players, but from concentrating without thinking and simply letting yourself absorb the images before you.” Gallwey argues that every human is encoded with a natural learning process. This process allows babies to walk long before their parents could explain it to them. The key activity of observing a successful outcome with your eyes, ears, and nose is more effective than any technical explanation. I remember watching countless highlights of Shane Battier and Andre Dawkins as a kid- just trying to imitate their exact basketball shots. I would go as far as to open my mouth and scrunch my eyebrows in the same position as their posters on my wall. No one had to explicitly tell me to jump with my legs, position my hands, and flick my wrist; simply observing Battier and Dawkins taught my Self 2 to do it without me realizing. Relating this to career, it’s important to observe those who you aspire to be. In addition to reading books from those at the top, there’s value in being in the room where it happens. This is one reason young professionals should consider starting at large organizations. At Google, one can see how their Senior Directors react to pain, pleasure, choices, and adversity. Talent rubs off, and proximity to leadership is a great way to become a better professional without needing to take a single note. A good coach will encourage their student to find a mentor whom they can observe. Once the observation period ends, the coach should not ask the student what they observed. That’s that trap of Self 1. Rather, the student should immedaitely act and trust that Self 2’s naturally encoded learning will lead to them success. Thinking While Performing “Before hitting the next set of balls, I asked Joan, ‘This time I want you to focus your mind on the seams of the ball. Don’t think about making contact. In fact, don’t try to hit the ball at all.” It’s happened too many times in my golf game; I’d pick up a new, exciting feeling on the driving range, codify those feelings into rules, then enact those rules on the course… only to disastrous results. Creating rigid, conscious rules is a Self 1 exercise that prevents Self 2 from effortless performance. People often misinterpret “thinking” for “performing”. Thus, if you do not think about your newest backswing, you will not do it. However, if you trust the learning process of observing, feeling, and experiencing, you will build a muscle memory that goes beyond any thought. At the beginning of every spring, I would pick up my clubs and play some golf. I always play well in my first couple rounds. And, it used to piss me off! I would think, wow, I must be really bad at practicing if rusty Ben always plays better than golf-every-day Ben. But, I now realize that “rusty” is a poor word. This version of me doesn’t overthink. It is a version that has had time to hibernate and naturally encode all my greatest golf habits (and forget the others). To keep Self 1 from creeping in, Gallwey suggests focusing on something harmless, like the seams of the ball. This keeps Self 1 occupied and lets Self 2 take control. You’re not thinking about what to do with the seams—you’re just acknowledging them. Calm your mind, trust your body. You’re more talented than you think! Competing Against Others “It is the duty of your opponent to create the greatest possible difficulties for you, just as it is yours to try to create obstacles for him. Only by doing this do you give each other the opportunity to find out to what heights each can rise… Instead of hoping your opponent is going to double-fault, you actually wish that he’ll get it in. This desire helps you achieve a better mental state of returning it.” This is a great way to reframe “challenge” as “opportunity.” Whether you’re competing against another person, the environment (a golf course, the stock market), or yourself, pressure is a privilege. If I see a great tennis player on the other side of the net, I ought to smile, as it’s an opportunity to prove to Self 1 that Self 2 is even more awesome than he thinks! I’ll admit, I’ve lost some of my competitive edge since entering the workforce. My competitors are less often other people and more often internal feelings—fear, change, complacency. But I’m starting to see that competitive joy can still be found in these areas too. When I face a difficult situation at work, it’s an opportunity to improve and sharpen my skills. Judging Yourself “Why shouldn’t a beginning player treat his backhand as a loving mother would her child? The trick is to not identify with the backhand. If you view an erratic backhand as a reflection of who you are, you will be upset. But you are not your backhand any more than a parent is his child… Remember that you are not your tennis game. You are not your body. Trust the body to learn and play, as you worst trust another person to do a job… Let the flower grow.” It’s easy to see performance as a reflection of your character or work ethic. A big part of my personality that I’m working on is how negative outcomes in one area of my life tend to impact others. I’ve heard the saying, “would you talk to a friend that way?” and how I should separate my mistakes from my self-worth as a human. This is essentially Gallwey’s advice, although I found his perspective much more optimistic and constructive. First, one must detach the activity from the human. You are not your tennis game. Once you do that, you can see your game for what it is- a living entity that’s filled with potential, secrets, and passion. Go off and explore! That said, I struggle with this idea when it comes to my career. Perhaps I’m too American, but I find it hard to say, “You are not your career,” and mean it. Since college, I’ve expected that my accomplishments, my friends, the places I’d live, and even the women I’d date would spawn from my career and the experiences within it. I think many young professionals feel the same way. This makes detaching from outcomes difficult, and it’s something I still need to think about.
More in literature
A recent visit to Teotihuacán — the ancient Mesoamerican city in present-day Mexico, built by earlier cultures around 600 BCE and later rediscovered by the Aztecs — left me wonder-smitten by the see-saw of our search for truth and our search for meaning, by a peculiar confluence of chemistry, culture, and chance that unrinds the layers of reality to put us face to face with the mystery at its core. Situated at the foot of a dormant volcano, Teotihuacán stunned the Toltec settlers with the discovery of a lustrous black material partway between stone and glass, brittle yet hard, breathlessly… read article
The post 0 Percent Chance appeared first on The Perry Bible Fellowship.
A longtime reader of Anecdotal Evidence has commented on my March 1 post: “One of my worst apprehensions about my son’s college education came true in his freshman English class. The professor brought up Lamb only to highlight something he said that would strike modern progressives as racist. Such a great language stylist, and my son’s likely only exposure to him was in the villains’ gallery of his college’s CRT indoctrination. Grrr!” By now, a familiar story. That Lamb of all writers should be Zhdanov-ized is a bitter joke. Yes, he is “a great language stylist,” but also one of the funniest writers in the language. His sense of humor, spanning the spectrum from nonsense to erudite wit, is distinctly modern. As he wrote in a letter to Robert Southey: “I was at Hazlitt’s marriage, and had like to have been turned out several times during the ceremony. Anything awful makes me laugh. I misbehaved once at a funeral.” English profs tend today to be humorless and puritanical, at least about other people's beliefs, disapproving of the pleasure we are meant to take in literature. In Nabokov and the Real World: Between Appreciation and Defense (2021), Robert Alter reflects on a visit he made to the Soviet Union in the final year of its existence. He was there to attend a Nabokov conference, contrasting it with “the never-never land that American academia has become.” He writes: "Literature in our own academic circles is regularly dismissed, castigated as an instrument of ideologies of oppression, turned into a deconstructive plaything, preferentially segregated by the pigmentation and the sexual orientation of the writers, or entirely displaced by clinical case studies, metaphysical treatises, psychoanalytic theories, and artifacts of popular culture.” Let’s ask the basic question: why do academics, some of whom are intelligent and well-educated, behave this way? It seems to boil down to two things: a hunger for power (always the highest value on campus), a withered aesthetic sense and and a peculiar form of laziness. You don’t have to bother reading a book if you know in advanced you want to disapprove of it. Such descendants of the kids in grade school who complained about reading a book are now in a position to get their way. Alter bluntly states the reality for many of us: “There is something irrepressibly celebratory about Nabokov’s writing . . .”
20 years of Linux on the Desktop (part 3) Previously in "20 years of Linux on the Deskop": After contributing to the launch of Ubuntu as the "perfect Linux desktop", Ploum realises that Ubuntu is drifting away from both Debian and GNOME. But something else is about to shake the world… 20 years of Linux on the Desktop (part 1) 20 years of Linux on the Desktop (part 2) The new mobile paradigm While I was focused on Ubuntu as a desktop solution, another GNOME+Debian product had appeared and was shaking the small free software world: Maemo. It will come as a shock for the youngest but this was a time without smartphones (yes, we had electricity and, no, dinosaurs were already extinct, please keep playing Pokémon instead of interrupting me). Mobile phones were still quite new and doing exactly two things: calls and SMSes. In fact, they were sold as calling machines and the SMS frenzy, which was just a technical hack around the GSM protocol, took everybody by surprise, including operators. Were people really using awkward cramped keyboard to send themselves flood of small messages? Small pocket computers with tiny keyboard started to appear. There were using proprietary operating systems like WinCE or Symbian and browsing a mobile version of the web, called "WAP", that required specific WAP sites and that nobody used. The Blackberry was so proprietary that it had its own proprietary network. It was particularly popular amongst business people that wanted to look serious. Obama was famously addicted to his Blackberry to the point that the firm had to create a secure proprietary network only for him once he took office in the White House. But like others, Blackberries were very limited, with very limited software. Nothing like a laptop computer. N770, the precursor In 2005, Nokia very quietly launched the N770 as an experiment. Unlike its competitors, it has no keyboard but a wide screen that could be used with a stylus. Inside was running a Debian system with an interface based on GNOME: Maemo. The N770, browsing Wikipedia Instead of doing all the development in-house, Nokia was toying with free software. Most of the software work was done by small European companies created by free software hackers between 2004 and 2005. Those companies, often created specifically to work with Nokia, were only a handful of people each and had very narrow expertise. Fluendo was working on the media framework GStreamer. Immendio was working on the GTK user interface layer. Collabora was focusing on messaging software. Etc. Far from the hegemony of American giant monopolists, the N770 was a mostly European attempt at innovating through a collaborative network of smaller and creative actors, everything led by the giant Nokia. During FOSDEM 2005, GNOME developer Vincent Untz lent me a N770 prototype for two days. The first night was a dream come true: I was laying in bed, chatting on IRC and reading forums. Once the N770 was publicly released, I immediately bought my own. While standing in line in the bakery one Sunday morning, I discovered that there was an unprotected wifi. I used it to post a message on the Linuxfr website telling my fellow geeks that I was waiting for my croissants and could still chat with them thanks to free software. Those days, chatting while waiting in a queue has been normalised to the point you remark someone not doing it. But, in 2005, this was brand new. So new that it started a running meme about "Ploum’s baker" on Linuxfr. Twenty years later, some people that I meet for the first time still greet me with "say hello to your baker" when they learn who I am. For the record, the baker, an already-old woman at the time of the original post, retired a couple years later and the whole building was demolished to give place to a motorbike shop. This anecdote highlights a huge flaw of the N770: without wifi, it was a dead weight. When I showed it to people, they didn’t understand what it was, they asked why I would carry it if I could not make calls with it. Not being able to use the Internet without a wifi was a huge miss but, to be fair, 3G didn’t exist yet. Another flaw was that installing new software was far from being user-friendly. Being based on Debian, Maemo was offering a Synaptic-like interface where you had to select your software in a very long list of .deb packages, including the technical libraries. Also, it was slow and prone to crash but that could be solved. Having played with the N770 in my bed and having seen the reactions of people around me when I used it, I knew that the N770 could become a worldwide hit. It was literally the future. There were only two things that Nokia needed to solve: make it a phone and make it easy to install new software. Also, if it could crash less, that would be perfect. The Nokia (un)management guide to failure But development seemed to stall. It would take more than two years for Nokia to successively release two successors to the N770: the N800 and the N810. But, besides some better performance, none of the core issues were addressed. None of those were phones. None of those offered easy installation of software. None were widely released. In fact, it was so confidential that you could only buy them through the Nokia website of some specific countries. The items were not in traditional shops nor catalogues. When I asked my employer to get a N810, the purchasing department was unable to find a reference: it didn’t exist for them. Tired by multiple days of discussion with the purchasing administration, my boss gave me his own credit card, asked me to purchase it on the Nokia website and made a "diverse material expense" to be reimbursed. The thing was simply not available to businesses. It was like Nokia wanted Maemo to fail at all cost. While the N800 and N810 were released, a new device appeared on the market: the Apple iPhone. I said that the problem with the N770 is that you had to carry a phone with it. Steve Jobs had come to the same conclusion with the iPod. People had to carry an iPod and a phone. So he added the phone to the iPod. It should be highlighted that the success of the iPhone took everyone by surprise, including Steve Jobs himself. The original iPhone was envisioned as an iPod and nothing else. There was no app, no app store, no customisation (Steve Jobs was against it). It was nevertheless a hit because you could make calls, listen to music and Apple spent a fortune in marketing to advertise it worldwide. The marketing frenzy was crazy. Multiple people that knew I was "good with computers" asked me if I could unlock the iPhone they bought in the USA and which was not working in Europe (I could not). They spent a fortune on a device that was not working. Those having one were showing it to everyone. With the iPhone, you had music listening and a phone on one single device. In theory, you could also browse the web. Of course, there was no 3G so browsing the web was mostly done through wifi, like the N770. But, at the time, websites were done with wide screens in mind and Flash was all the rage. The iPhone was not supporting Flash and the screen was vertical, which made web browsing a lot worse than on the N770. And, unlike the N770, you could not install any application. The iPhone 1 was far from the revolution Apple want us to believe. It was just very good marketing. In retrospective, the N770 could have been a huge success had Nokia done some marketing at all. They did none. Another Linux on your mobile In 2008, Google launched its first phone which still had a physical keyboard. Instead of developing the software from scratch, Google used a Linux system initially developed as an embedded solution for cameras: Android. At the same time, Apple came to the realisation I had in 2005 that installing software was a key feature. The App Store was born. Phone, web browsing and custom applications, all on one device. Since 2005, people who had tried the N770 knew this was the answer. They simply did not expect it from Apple nor Google. When Android was first released, I thought it was what Maemo should have been. Because of the Linux kernel, I was thinking it would be a "free" operating system. I made a deep comparison with Maemo, diving into some part of the source code, and was surprised by some choices. Why Java? And why would Android avoid GStreamer in its multimedia stack? Technical explanations around that choice were not convincing. Years later, I would understand that this was not a technical choice: besides the Linux kernel itself, Google would explicitly avoid every GPL and LGPL licensed code. Android was only "free software" by accident. Gradually, the Android Open Source Project (AOSP) would be reduced to a mere skeleton while Android itself became more and more restricted and proprietary. In reaction to the iPhone and to Android, Nokia launched the N900 at the end of 2009. Eventually, the N900 was a phone. It even included an app store called, for unknown marketing reasons, "OVI store". The phone was good. The software was good, with the exception of the infamous OVI store (which was bad, had a bad name, a non-existent software offering and, worse of all, was conflicting with deb packages). The N900 would probably have taken the world by storm if released 3 years earlier. It would have been a success and a huge competitor to the iPhone if released 18 months before. Is it too late? The world seems to settle with an Apple/Google duopoly. A duopoly that could have been slightly shacked by the N900 if Nokia had done at least some marketing. It should be noted that the N900 had a physical keyboard. But, at that point, nobody really cared. When failing is not enough, dig deeper At least, there was the Maemo platform. Four years of work. Something could be done with that. That’s why, in 2010, Nokia decided to… launch Meego, a new Linux platform which replaced the Debian infrastructure by RPMs and the GNOME infrastructure by Qt. No, really. Even if it was theoretically, the continuation of Maemo (Maemo 6, codenamed Harmattan, was released as Meego 1), it felt like starting everything from scratch with a Fedora+KDE system. Instead of a strong leadership, Meego was a medley of Linux Foundation, Intel, AMD and Nokia. Design by committee with red tape everywhere. From the outside, it looked like Nokia outsourced its own management incompetence and administrative hubris. The N9 phone would be released in 2011 without keyboard but with Meego. History would repeat itself two years later when people working on Meego (without Nokia) would replace it with Tizen. Yet another committee. From being three years ahead of the competition in 2005 thanks to Free Software, Nokia managed to become two years too late in 2010 thanks to incredibly bad management and choosing to hide its products instead of advertising them. I’ve no inside knowledge of what Nokia was at this time but my experience in the industry allows me to perfectly imagine the hundreds of meetings that probably happened at that time. When business decisions look like very bad management from the outside, it is often because they are. In the whole Europe at the time, technical expertise was seen as the realm of those who were not gifted enough to become managers. As a young engineer, I thought that managers from higher levels were pretentious and incompetent idiots. After climbing the ladder and becoming a manager myself, years later, I got the confirmation that I was even underestimating the sheer stupidity of management. It is not that most managers were idiots, they were also proud of their incompetence and, as this story would demonstrate, they sometimes need to become deeply dishonest to succeed. It looks like Nokia never really trusted its own Maemo initiative because no manager really understood what it was. To add insult to injury the company bought Symbian OS in 2008, an operating system which was already historical and highly limited at that time. Nodoby could figure out why they spent cash on that and why Symbian was suddenly an internal competitor to Maemo (Symbian was running on way cheaper devices). The emotional roller coster In 2006, I was certain that free software would take over the world. It was just a matter of time. Debian and GNOME would soon be on most desktop thanks to Ubuntu and on most mobile devices thanks to Maemo. There was no way for Microsoft to compete against such power. My wildest dreams were coming true. Five years later, the outlooadministrative hubris. The N9 phone would be released in 2011 without keyboard but with Meego.k was way darker. Apple was taking the lead by being even more proprietary and closed than Microsoft. Google seemed like good guys but could we trust them? Even Ubuntu was drifting away from its own Debian and GNOME roots. The communities I loved so much were now fragmented. Where would I go next? (to be continued) Subscribe by email or by rss to get the next episodes of "20 years of Linux on the Desktop". I’m currently turning this story into a book. I’m looking for an agent or a publisher interested to work with me on this book and on an English translation of "Bikepunk", my new post-apocalyptic-cyclist typewritten novel which sold out in three weeks in France and Belgium. I’m Ploum, a writer and an engineer. I like to explore how technology impacts society. You can subscribe by email or by rss. I value privacy and never share your adress. I write science-fiction novels in French. For Bikepunk, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, contact me!