The Software Engineer’s Guidebook: a recap

Mike's Notes

An excellent article by Gergely Orosz on publishing a software book. Ajabbi will eventually need to publish some books for users (I won't be the author), so I'm learning from his experience.

The original article has many links.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > The Pragmatic Engineer
  • Home > Handbook > 

Last Updated

10/12/2025

The Software Engineer’s Guidebook: a recap

By: Gergely Orosz
The Pragmatic Engineer: 12/11/2025

Writing The Pragmatic Engineer. Previously at Uber, Skype, Microsoft. Author of The Software Engineer's Guidebook.

Reflections on publishing The Software Engineer’s Guidebook two years ago, which has sold around 40,000 copies. Also: an unexpected trip to Mongolia to visit the startup which translated it

Two years ago almost to the day, I published The Software Engineer’s Guidebook. Originally, it came out in paperback, then as an ebook and an audiobook. I’m happy to share that it is now available as a hardcover, and is also on the O’Reilly platform.

Hardcover edition: Durable and could make a nice gift for the holidays. You can get it here

Today, I’d like to draw back the curtain on the process of writing a book as a techie:

  1. Pitching to publishers. And why I ended up breaking up with a publisher.
  2. Self-publishing. The tools I used for writing and the platforms I published on.
  3. Traveling to Mongolia to meet the startup which translated the book. A 30-person startup called Nasha Tech translated the book for the benefit of their company and the Mongolian tech ecosystem.
  4. How much did my book earn? $611,911 in two years from sales totalling 40,000 copies, to date. We need more good books in tech, so I hope that sharing these numbers inspires other techies to write them.
  5. Learnings from writing my book. It’s hard to judge a book’s impact, but good books stay valuable for longer – that’s why they’re hard to write.

1. Pitching to publishers

In late 2019, I was an engineering manager at Uber, the ridesharing app. For the first time in my career, I was a manager of managers: suddenly, I had “skip level” software engineers, and it was here that the inspiration came to write a book that provides some advice and observations for these tech professionals.

During a 1:1 catchup with a new joiner skip-level engineer, they asked about getting up to speed in the workplace faster. They were at the Software Engineer 2 (L4), and wanted to figure out how to get to the Senior engineer level (L5A at Uber). I thought it would’ve been nice to give them a book with a bunch of pointers about what it takes to become an effective software engineer in this environment.

With that inspiration to write a book about professional growth at large tech companies and startups, I looked for publishers who could help make it a reality. I pitched my book to 3 publishers behind the highest quality tech books in the industry – O’Reilly, The Pragmatic Bookshelf, and Manning. O’Reilly and The Pragmatic Bookshelf passed, but Manning said yes.

Mental model of publishers in 2025. I pitched my book to the 3 most reputable tech publishers

I learned a lot by working with a publisher: the process of preparing a book to be ready for sale is much more involved than I’d assumed! I even came to appreciate why publishers may keep up to 85-90% of sales revenue, with authors typically getting 7-15% of royalties from print sales.

The chart below sets out the publication process at a typical tech book publisher, from the author pitching their idea for a book, all the way through to its launch:

Steps to publish a book with a publisher

Unfortunately, after three months with Manning and one editorial review, it was clear that the publisher and my book weren’t a good match. At the time, Manning had a very opinionated template for creating books which I felt pushed my own in a direction I wasn’t happy with: I felt the book would be dumbed down, and that following some of the guidance would weaken it. Also, I was less comfortable with some of the conditions and feared my hands could be tied if I wanted to share draft material online,. Also, I would not be able to choose the book title. So, we parted ways. You live and learn!

I shared more details about my experience of working with publishers in this article, including the financials of choosing a publisher as a writer.

2. Self-publishing

The biggest downside of not having a publisher is the lack of deadline pressure. Below is the rough structure I used for writing my book:

  1. Getting the idea and the motivation
  2. Rough outline
  3. Procrastination about the topic
  4. Table of contents
  5. Writing the draft – the longest part of all
  6. Copyediting
  7. Content feedback
  8. Final copyedit
  9. More procrastination about the final draft
  10. Production layout editing: getting the book ready for print
  11. Cover design
  12. Test printing
  13. Launch planning
  14. Launch!

Weighted table of contents

One very useful thing I took from Manning’s process is to start the book with a table of contents, where you estimate the rough number of pages one section will be about. This is helpful because the published version should not be too long or too short, so this helps set its scope and how topics should be tackled.

Here is an example of the weighted table of contents for one chapter:

My weighted table of contents

This exercise resembled estimating the size of a piece of work during the planning for a software project, and provided a sense of what the longer and shorter parts of the book would be.

Write, write, write

The biggest part of writing a book is… writing it. I tried to have some regular cadence of writing, but struggled to get into one. I ended up making progress in bursts, and shared drafts on social media – like this one on healthy and unhealthy teams. This generated more ideas and I continued writing.

It’s easy to get distracted and procrastinate. A 400-page book is too large a project to take on in one go, and sometimes parts of the book change shape: an estimated 4 pages on something can turn into 20 pages a week later. It was like treading water: not making much progress with the book as a whole and being distracted by interesting topics.

Starting The Pragmatic Engineer Newsletter to finish the book

Two years into writing the book, its completion was forever 6 months away. I realized my writing process, with no publisher involved, was inefficient and unfocused.

In August 2021, I started The Pragmatic Engineer Newsletter with the hope that writing a weekly newsletter would speed up completion of the book. My thinking was to send out a draft version of a part of the book as a newsletter every few weeks.

The idea was sound, but I quickly realized that online newsletter issues can be a lot more in-depth than a chapter in a book can be, due to the issue of space constraints. Also, newsletters are timely by nature (covering what’s happening, right now), whereas a book often covers ideas that remain relevant for years.

I am thankful to have started The Pragmatic Engineer Newsletter, but doing so didn’t hasten the publication of The Software Engineer’s Guidebook. It actually delayed it by another two years.

Tools I used for self-publishing

There’s many tools available for writing a book, not including new AI tools for generating ideas – or even doing the writing in certain cases. Here’s the tools I chose:

  • Writing process: Google Docs and Craft. Most of my drafts were in Google Docs, and all my ideas and notes went into Craft.
  • Creating an ebook: Vellum. A one-off purchase, which helps generate e-book and print versions. I didn’t use it for print generation, as the software seems to be optimized for fiction.
  • Print layout: Overleaf. The PDF layout for print took significant effort, as I wanted to have an index in the end of the book. I ended up hiring a LateX expert who helped create a nice print layout, which would have been challenging for me to do, and time-consuming to learn.
  • Reader feedback: Betabooks. I wasn’t entirely satisfied as it’s pretty janky to use. In hindsight, sharing drafts in Google Docs and letting readers add comments might have been equally effective.
  • ISBN numbers: when self publishing, you need to purchase your own ISBN and these depend on your region. ISBN Services is a popular choice for the US. I’m residing in the Netherlands, so used the Dutch Mijn ISBN.
  • Book cover design: Canva. Lots of templates to work with, and it’s easy to work with the exact size requirements for print covers, as well. The cover you see today is my wife’s work.

Publishing platforms

I publish my books on these platforms:

  • Print book: Amazon Kindle Direct Publishing (KDP) and Ingram Spark. Amazon covers most countries – but not all; notable gaps include India. Ingram Spark allows libraries and bookshops to order the book. If your title is not expected to be highly popular, Amazon KDP will probably be more than sufficient for print distribution.
  • Ebook: Gumroad (to sell the ebook DRM-free), Amazon KDP, Kobo Store, Google Play, and PublishDrive. Publishdrive is a neat service that publishes ebooks and audiobooks to all large and small platforms. In hindsight, I’d probably just use them to publish to all major platforms.
  • Audiobook: Voices (formerly: Findaway Voices). For some strange reason, Amazon’s audiobook platform (ACX) only allows residents of the US, Canada, UK, and Ireland, to publish on it. Being a resident in the Netherlands, I had to go with a third-party platform to publish to Amazon. Voices used to be owned by Spotify, and has been spun out into its own company. If I published today, I’d likely just go with PublishDrive for my audiobook, as well.

There’s a long tail of ebook and audiobook platforms, and it makes sense to use an aggregator service that publishes to most, if not all of them, and which then sends a combined payout, instead of lots of small payments from each platform.

Don’t forget the launch

Going with a publisher has the benefit that they coordinate launch activities, and also list your book on their New Releases pages, which leads to added awareness. Superior publishers also reach out to potential reviewers, and are hands-on in helping with the launch.

I knew I couldn’t count on launch support, so built a landing page where I collected emails of people who wanted to know when the book was released. To incentivize this, I provided details about the book, and the table of contents.

In hindsight, this was one of the best things I did: a good chunk of sales at launch came from people who received the email that the book was ready for purchase. Here’s how the book’s website looked, back then.

Landing page for the book, pre-publication

Another approach that worked well was having a dedicated social media account for the book, where I shared drafts while working on certain chapters. I was surprised by how many reshares a page or two of the work-in-progress book got, like this one.

One of many examples of sharing a work-in-progress version of a chapter. Source: X

Still, the biggest benefit of sharing drafts was that I got nearly as much feedback from social media users as from beta readers.

Procrastination is real – deal with it

Writing “the book” I’d always wanted made me freeze at times: it was something I’d never done before, it was a large project, and I wanted to get everything right.

In the end, as with software, “done is better than perfect”. Just like when working on a big software launch, the best way to make progress is to forget about how many people might use the product, and to just focus on the next task to complete… then the next… then the next.

It was amusing to remind myself that tech products I’d worked on were used by many times more people than the book could ever hope to reach – so why procrastinate? Plus, mistakes can be fixed with ebooks, they are trivial to do with a re-publish. Of course, this isn’t possible in the same way with print books, but print-on-demand means issues can be resolved in future copies.

3. Traveling to Mongolia to meet the startup which translated my book

An unexpected highlight of publishing the book was ending up in Mongolia in June of this year, at a small-but-mighty startup called Nasha Tech. This was because the startup translated my book into the Mongolian language. Here’s what happened:

A little over a year ago, a small startup from Mongolia reached out, asking if they could translate the book. I was skeptical it would happen because the unit economics appeared pretty unfavorable. Mongolia’s population is 3.5 million; much smaller than other countries where professional publishers had offered to do a translation (Taiwan: 23M, South Korea: 51M, Germany: 84M people).

But I agreed to the initiative, and expected to hear nothing back. To my surprise, nine months later the translation was ready, and the startup printed 500 copies on the first run. They invited me to a book signing in the capital city of Ulaanbaatar, and soon I was on my way to meet the team, and to understand why a small tech company translated my book!

Japanese startup vibes in Mongolia

The startup behind the translation is called Nasha Tech; a mix of a startup and a digital agency. Founded in 2018, its main business has been agency work, mainly for companies in Japan. They are a group of 30 people, mostly software engineers.

Nasha Tech’s offices in Ulaanbaatar, Mongolia

Their offices resembled a mansion more than a typical workplace, and everyone takes their shoes off when arriving at work and switches to “office slippers”. I encountered the same vibe later at Cursor’s headquarters in San Francisco, in the US.

Nasha Tech found a niche of working for Japanese companies thanks to one of its cofounders studying in Japan, and building up connections while there. Interestingly, another cofounder later moved to Silicon Valley, and advises the company from afar.

The business builds the “Uber Eats of Mongolia”. Outside of working as an agency, Nasha Tech builds its own products. The most notable is called TokTok, the “UberEats of Mongolia”, which is the leading food delivery app in the capital city. The only difference between TokTok and other food delivery apps is scale: the local market is smaller than in some other cities. At a few thousand orders per day, it might not be worthwhile for an international player like Uber or Deliveroo to enter the market.

The TokTok app: a customer base of 800K, 500 restaurants, and 400 delivery riders

The tech stack Nasha Tech typically uses:

  • Frontend: React / Next, Vue / Nuxt, TypeScript, Electron, Tailwind, Element UI
  • Backend and API: NodeJS (Express, Hono, Deno, NestJS), Python (FastAPI, Flask), Ruby on Rails, PHP (Laravel), GraphQL, Socket, Recoil
  • Mobile: Flutter, React Native, Fastlane
  • Infra: AWS, GCP, Docker, Kubernetes, Terraform
  • AI & ML: GCP Vertex, AWS Bedrock, Elasticsearch, LangChain, Langfuse

AI tools are very much widespread, and today the team uses Cursor, GitHub Copilot, Claude Code, OpenAI Codex, and Junie by Jetbrains.

I detected very few differences between Nasha Tech and other “typical” startups I’ve visited, in terms of the vibe and tech stack. Devs working on TokTok were very passionate about how to improve the app and reduce the tech debt accumulated by prioritizing the launch. A difference for me was the language and target market: the main language in the office is, obviously, Mongolian, and the products they build like TokTok also target the Mongolian market, or the Japanese one when working with clients.

One thing I learned was that awareness about the latest tools has no borders: back in June, a dev at Nasha Tech was already telling me that Claude Code was their daily driver, even though the tool had been released for barely a month at that point!

Why translate the book into Mongolian?

Nasha Tech was the only non-book publisher to express interest in translating the book. But why did they do it?

I was told the idea came from software engineer Suuribaatar Sainjargal, who bought and enjoyed the English-language version. He suggested translating the book so that everyone at the company could read it, not only those fluent in English.

Nasha Tech actually had some in-house experience of translation. A year earlier, in 2024, the company translated Matt Mochary’s The Great CEO Within as a way to uplevel their leadership team, and to help the broader Mongolian tech ecosystem.

Also, the company’s General Manager, Batutsengel Davaa, happened to have been involved in translating more than 10 books in a previous role. He took the lead in organizing this work, and here’s how the timelines played out:

  • Professional translator: 3 months
  • Technical editor revising the draft translation: 1 month
  • Technical editing #2 by a Support Engineer in Japan: 2 months
  • Technical revision: 15 engineers at Nasha Tech revised the book, with a “divide and conquer” approach: 2 months
  • Final edit and print: 1 month

This was a real team effort. Somehow, this startup managed to produce a high-quality translation in around the same time as it took professional book publishers in my part of the world to do the same!

A secondary goal that Nasha Tech had was to advance the tech ecosystem in Mongolia. There’s understandably high demand for books in the mother tongue; I observed a number of book stands selling these books, and book fairs are also popular. The translation of my book has been selling well, where you can buy the book for 70,000 MNTs (~$19).

Book signing and the Mongolian startup scene

The book launch event was at Mongolia’s startup hub, called IT Park, which offers space for startups to operate in. I met a few working in the AI and fintech spaces – and even one startup producing comics.

Book launch event, and meeting startups inside Mongolia’s IT Park

I had the impression that the government and private sector are investing heavily in startups, and want to help more companies to become breakout success stories:

  • IT Park report: the country’s tech sector is growing ~20%, year-on-year. The combined valuation of all startups in Mongolia is at $130M, today. It’s worth remembering that location is important for startups: being in hubs like the US, UK, and India confers advantages that can be reflected in valuations.
  • Mongolian Startup Ecosystem Report 2023: the average pre-seed valuation of a startup in Mongolia is $170K, seed valuation at $330K, and Series A valuation at $870K. The numbers reflect market size; for savvy investors, this could also be an opportunity to invest early. I met a Staff Software Engineer at the book signing event who is working in Silicon Valley at Google, and invests and advises in startups in Mongolia.
  • Mongolian startup ecosystem Map: better-known startups in the country.

Two promising startups from Mongolia: Chimege (an AI+voice startup) AND Global (fintech). Thanks very much to the Nasha Tech team for translating the book – keep up the great work!

4. How much did my book earn?

There’s usually little information about the key topic of how much authors make from their books being published, beyond “not much”. Author Justin Garrison shared that his co-authored title Cloud Native Infrastructure earned $11,554 in its first year – and without three unexpected sponsorships, that amount would’ve been $3.500. Conventional wisdom states you should not write a book for money, but for the other benefits like building your status as an expert in a domain, or exploring a topic in more depth.

A notable exception to this rule is Designing Data Intensive Applications, whose author Martin Kleppman made $477,916 in royalties in the first 6 years of publication, as he shared. Martin published with O’Reilly, and the book sold 108,000 copies, generating around $4.50 per copy in royalties for the author. Still, Designing Data Intensive Applications is one of the most successful books, and Martin argues that a book’s real value lies in the value it creates:

“Writing a book is an activity that creates more value than it captures. What I mean with this is that the benefits that readers get from it are greater than the price they paid for the book. To back this up, let’s try roughly estimating the value created by my book.

It’s hard to quantify that, but let’s say that the people who applied ideas from the book avoided a bad decision that would have taken them one month of engineering time to rectify. (I’d actually love to claim that the time saving is much higher, but let’s be conservative in our estimates.) Thus, the 10,000 readers who applied the knowledge freed up an estimated 10,000 months, or 833 years, of engineering time to spend on things that are more useful than digging yourself out of a mess.

If I spend 2.5 years writing a book, and it saves other people 833 years of time in aggregate, that is over 300x leverage. If we assume an average engineering salary on the order of $100k, that’s $80m of value created. Readers have spent approximately $4m buying those 100,000 books, so the value created is about 20 times greater than the value captured. And this is based on some very conservative estimates.”

The Software Engineer’s Guidebook will probably be another exception; it has sold 40,000 copies and netted $611,911 in royalties in the two years since publishing:

Cumulative royalties for The Software Engineer’s Guidebook

Here is how revenue from different platforms adds up:

Print:

  • Amazon KDP: 29,806 copies, $470,000 in royalties ($16 per book)
  • Ingram Spark: 1,316, copies, $10,322 in royalties ($8 per book)

Ebooks:

  • Kindle: 3,909 copies, $42,992 royalties ($11 per book)
  • DRM-free ebooks: 2,713 sales, $54,963 royalties ($20 per book).
  • Other ebooks: 388 copies, $6,882 in royalties ($17 per book). 90% of sales came from iTunes, Google Play and Kobo.

Audiobook:

  • Amazon, Spotify, and other platforms: unclear how many purchases, $6,511 royalties (Audible typically pays around $1.50-3.50 per audiobook, Spotify closer to $9)
  • DRM-free ebook: 241 sales, $3,241 royalties ($13 per book)
  • I previously shared more about how I created the audiobook

Translations:

  • 5 languages, $17,000 in upfront royalty payments (South Korea: $5,000, Japan: $4,500, Germany: €3,000, Taiwan: $2,000, China: $2,000)

Total: $611,911 in royalties, circa 40,000 in copies sold (38,373 copies, plus audiobooks, plus foreign translations that don’t have exact numbers)

These are good numbers for a tech book, and it enjoyed the advantage of being published after The Pragmatic Engineer newsletter found an audience online. Thank you to everyone who purchased a copy of the book or gifted one!

It’s interesting, as someone who self-published print and audiobook versions of their title, that royalties per book sold are highest in paperback, and much lower for the ebook and the audiobook. This is because Amazon takes 70% of the purchase price of the Kindle ebook, and 75% for the audiobook, but only 40% for the print book, in marketplace fees.

Self-publishing definitely helped substantially increase the royalties generated from the book, which would be 4-8x lower if done via a publisher. At the same time, self publishing increased the amount of time and effort I needed to invest.

5. Learnings from writing my book

The impact of a book is hard to know with certainty. When I publish a newsletter article or a podcast episode, the feedback is almost immediate: I get comments, emails, and mentions about the contents for a few days – perhaps a week or two. After that, I rarely hear feedback again.

But I run into people at events and conferences who say the book helped them focus more on their career, or get a desired promotion to senior-or-above.

A lot more readers than expected find the book via recommendations or gifting. I hear stories about my book being recommended or purchased for engineers by managers, or peers, or friends – and then they felt obliged to start to read it. This kind of dynamic also exists with articles and podcast episodes, but my sense is that being given a book is a very strong nudge to invest time in the resource.

Good books stay valuable for longer – that’s why they’re hard to write. The final 18 months of writing the book mostly involved editing the existing draft. I tried to remove details that were likely to age poorly in the near to medium term future – like mentions of specific frameworks, or things that felt like short-lived fads (e.g: “web3” engineering as a category, which seems to have mostly vanished from the discourse.

Even so, I got burnt by the fast-changing nature of tech. In my last edits, I added short sections on AI, about how it’s a useful tool to learn languages with, or for getting unstuck. I gave examples of tools that were popular in 2023, and predicted they would remain relevant: ChatGPT, GitHub Copilot, and Google Bard. I figured that OpenAI would be around for at least 5 years, and that Microsoft and Google know how to name their products.

I was wrong: Google renamed Bard to Gemini four months after my book was published. In response, I removed all product mentions from an updated version of the book: who knows when the search giant will change the name again!

Amazon’s print-on-demand service is incredibly good. Amazon prints books on demand in 10+ markets, and ships these on-demand books to even more countries. Books printed this offer the highest price-per-value across all print-on-demand services I found. Amazon’s KDP is considerably more price efficient compared to the other major print-on-demand player, Ingram Spark.

One paperback copy of my book (a 413 page book) costs $8 to print with Amazon. With Ingram Spark it’s double this: $16! This is a massive difference in printing costs that is hard to ignore, and is one reason to choose Amazon’s print-on-demand service as primary distribution for print books. This explains why my royalties per book are $16 with Amazon prints, and $8 with Ingram Spark prints.

Ebook, audiobook and print sales reporting feels stuck in the 1990s. Both ebooks and audiobooks are digital products, so you’d expect it would be possible to get near-real time sales data. But the reality is that it’s not: audiobook platforms like Spotify and Audible release reports monthly (as I understand), and good luck trying to figure out which sales equate to what! This is after Audible takes 80% from sales.

Ebook reporting is similarly slow, due to sales being reported in a delayed fashion. There are so many audiobook and ebook platforms to buy on that it’s only sensible to use an aggregator like Publishdrive or Voices. This adds one more layer of abstraction and more reporting delays. I understand that print sales take months to be reported, but did not expect it to be the case with audiobooks.

Even today, I have no idea how to find out how many people have listened to the audiobook, and by now I would have hoped for better reporting. It shows that if there are few suppliers in a segment (like audiobook publishers, who use these reporting tools) and not much competition: companies can get away with poor tooling.

Print reporting is perhaps even more unusable. Ingram Spark is one of the biggest print-on-demand providers - but it’s not possible to get a report about a sales period longer then a year. The cherry on the cake is how if you query a period longer than 100 days, they can only email these reports:

Ingram Spark’s reporting interface and functionality feels stuck 10+ years in the past. Responsive web applications, anyone?

This is a portal that has had no usability testing — and customer seem to put up with it:

Ingram Spark: instead of implementing queuing of reports, they just push the error onto the user. A hostile user experience in 2025

Amazon has an unhealthy monopoly on the audiobook and ebook sectors. Amazon generated more revenue from books sold on its site than I did, as a self-published author:

  • 75% of revenue for all audiobooks sold via Audible
  • 70% for all Kindle ebooks
  • 40% for all print books as Amazon marketplace fees

That Amazon has a take rate of 75% for audiobooks and 70% for Kindle ebooks (those priced above $10) and still controls most of the market, makes this segment look like a monopoly. I offer my ebooks and audiobooks as DRM-free versions, and am happy to see more customers choose these options over the Kindle or Audible ones. Still, market forces alone don’t feel strong enough to challenge Amazon’s dubious pricing and practices. I wrote more about Amazon’s monopolistic audiobook practices.

Looking back on the experience of writing my book, it was worth it for the thinking and organization that it forced on me. It has been an unusually long professional project that stretched across four years and I’ve learnt a lot from the process: it forced me to think deeply about topics like the importance of software architecture, and figuring out how a business works, as a Staff+ engineer. It forced me to rewrite and refine my ideas multiple times, and with each rewrite came fresh ideas and a clearer understanding of the subject. This is what really matters for software engineers to progress professionally in the industry, I believe.

Ultimately, I hope the book generates more “wealth” by helping out devs in a career rut, or who are seeking inspiration to get stronger as engineers. Obviously, commercial success is nice – and I shared those numbers in the spirit of transparency because I believe in the value of detailed, in-depth, and thoroughly researched and written information. Every anecdote helps dispel the myth that books cannot be decent earners for their authors.

If you’re in the process of writing a book, why not get in touch about doing a guest post in this publication? Personally, I’ve found guest posts tend to be a good fit for engineers midway through writing a book!

Time to First Byte (TTFB)

Mike's Notes

I discovered TTFB via an item in Smashing Newsletter.

"Because TTFB precedes user-centric metrics such as First Contentful Paint (FCP) and Largest Contentful Paint (LCP), it's recommended that your server responds to navigation requests quickly enough so that the 75th percentile of users experience an FCP within the "good" threshold. As a rough guide, most sites should strive to have a TTFB of 0.8 seconds or less."

- WebDev

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Subscriptions > Smashing Newsletter
  • Home > Handbook > 

Last Updated

09/12/2025

Time to First Byte (TTFB)

By: Mike Peters
On a Sandy Beach: 09/12/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Here are the results of a recent test. The ajabbi.com website is hosted in a data centre in Singapore.


TTFB test by debugbear.com of https://www.ajabbi.com 3/12/2025

Test Location TTFB
Atlanta, United States 1211 ms
San Francisco, United States 1167 ms
São Paulo, Brazil 1893 ms
Sydney, Australia 574 ms
Tokyo, Japan 632 ms
Singapore, Singapore 315 ms
Bangalore, India 986 ms
Dubai, United Arab Emirates 1692 ms
Brussels, Belgium 1369 ms
Helsinki, Finland 1222 ms

Workspaces for Culture

Mike's Notes

This is where I will keep detailed working notes on creating Workspaces for Culture. Eventually, these will become permanent, better-written documentation stored elsewhere. Hopefully, someone will come up with a better name than this working title.

This replaces coverage in Industry Workspace written on 13/10/2025.

Testing

The current online mockup is version 2 and will be updated frequently. If you are helping with testing, please remember to delete your browser cache so you see the daily changes. Eventually, a live demo version will be available for field trials.

Learning

In 2021, I attended Te Urungi: Innovating Aotearoa, a COVID-19 response innovation program run by the NZ Ministry of Culture and Heritage. At that time, I was working on a GLAM (Gallery-Library-Archive-Museum) SaaS product hosted on top of Pipi 8. (Note the "on top of" rather than "created by". That was the significant advance of Pipi 9)

There was a 2-day workshop in Invercargill. The organisers were very friendly, and their encouragement was helpful at the time. However, over the 2 days, I saw clearly that there wasn't a pathway for this to work, given how long the likely customers take to decide on anything. I need early adopters, not bureaucratic mazes.

The GLAM product has now become part of this Pipi 9 workspace.

Why

I love art and art studios to make stuff in. My happy place is a big workshop with lots of gear, music and coffee, and happy artist workmates making fabulous stuff. There is a real buzz amid the sweat, sawdust and paint. Then there is Opening Night, or The Premier, when your part of the creation comes into full glory.

This is for all the artists who make stuff that awakens our hearts.

Resources

References


References

  • Reference

Repository

  • Home > Ajabbi Research > Library > Training > Stan Winston School of Character Arts
  • Home > Handbook > 

Last Updated

9/12/2025

Workspaces for Culture

By: Mike Peters
On a Sandy Beach: 9/12/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Open-source

This open-source SaaS cloud system will be shared on GitHub and GitLab.

Dedication

This workspace is dedicated to the life and work of.


Person

Source: 

"

" - Wikipedia

Change Log

Ver 2 combines arts, learning, GLAM and screen. Each will also be available as a separate workspace.

Existing products


Features

This is a basic comparison of features in culture software.

[TABLE]

Data Model

words

Database Entities

  • Facility
  • Party
  • etc

Standards

The workspace needs to comply with all international standards.

  • (To come)

Support

There will be extensive free documentation sets tailored for users, developers, and data scientists.

Ajabbi will provide free support to developers with a paid DevOps Account who are supporting end users of Workspaces for Agriculture.

Workspace navigation menu

This default outline needs a lot of work. The outline can be easily customised by future users using drag-and-drop and tick boxes to turn features off and on.

  • Enterprise Account
    • Applications
      • Arts & Culture (v.2)
        • Art (v.1)
          • Dance
          • Drama
          • Facility
          • Magic
          • Music
          • Painting
          • Photography
          • Puppetry
          • Sculpture
        • GLAM (v.5)
          • Collection
          • Event
          • Facility
          • Loan
        • Learning (v.2)
          • Institution
            • Courses
            • Learning Objects
            • Students
            • Teachers
          • (Mode)
            • Docs
            • How-to-Guide
            • Reference
            • Tutorial
        • Screen (v4)
          • Development
            • Casting
            • Script
          • Preproduction
            • Budget
            • Location
            • Previsualisation
            • Schedule
            • Story Board
          • Production
            • Craft
              • Animals
              • Armour & Weapons
              • Atmosphere
                • Fog
                • Explosions
                • Rain
                • Snow
              • Costume
              • Greens
              • Makeup & Hair
                • Prosthetics
                  • Bake Ovens
                  • Moulds
                • Wigs
              • Minature
              • Prop
              • Set
              • Stunts
              • Vehicles
              • Wardrobe
            • Technical
              • Audio
                • Mics
              • Camera
                • Shot
                • Data
                • Filters
                • Lense
              • Grips
                • Cranes
                • Dollys
                • Drone
                • Stands
                • Track
              • Lighting
                • Control
                • Fixtures
                • Power
          • Post Production
            • Editing
            • Music
            • Subtitle
            • Visual Effects
          • Distribution
            • (To come)
    • Customer (v2)
      • Bookmarks
        • (To come)
      • Support
        • Contact
        • Forum
        • Live Chat
        • Office Hours
        • Requests
        • Tickets
      • (To come)
        • Feature Vote
        • Feedback
        • Surveys
      • Learning
        • Explanation
        • How to Guide
        • Reference
        • Tutorial
      • Settings (v3)
        • Account
        • Billing
        • Deployments
          • Workspaces
            • Modules
            • Plugins
            • Templates
              • (To come)
            • Users

      The unforeseen rise in curiosity about Pipi

      Mike's Notes

      Ajabbi and Pipi don't appear in Google Search results. This is deliberate, while I work out how to build Pipi from versions 6 to 9 to solve a big, complex, expensive problem for humanity. 557 pages of notes so far on this blog. I do share links with people who want to video chat about stuff, so is this website traffic coming from people sharing links? I would be fascinated to know.

      Traffic is growing rapidly.

      • 2019-2023 - 20K views
      • 2024 - 20K views
      • September 2025 - 22K views
      • 3 am to 4 am, 3 December 2025 - 30K views

      How curious.

      “Curiouser and curiouser!” Cried Alice (she was so much surprised, that for the moment she quite forgot how to speak good English).”

      ― Lewis Carroll, Alice’s Adventures in Wonderland / Through the Looking-Glass

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      08/12/2025

      The unforeseen rise in curiosity about Pipi

      By: Mike Peters
      On a Sandy Beach: 08/12/2025

      Mike is the inventor and architect of Pipi and the founder of Ajabbi.

      The Plan

      My plan was to

      1. Understand the problem
      2. Solve the problem
      3. Offer the solution so anyone can use it
      What I did
      • Started building in 1997
      • Focused on what was required, not what I shouldn't do
      • Learned by doing
      • Sometimes in production in NZ, and very popular
      • Went through 9 major versions
      • Thousands of moving parts
      • No version control
      • No documentation, just drawings on paper
      • Wrote bullet point notes to myself so I wouldn't forget
      What I thought might happen
      1. Get into a startup program
      2. Create an MVP
      3. Start out in NZ

      What actually happened

      • A community grew out of nowhere
      • All overseas, not in NZ
      • An audience of data scientists and MLOps
      • Got a brave first customer to experiment on
      • Pipi generates initial documentation for developers using templates based on the models in my head (20K web pages so far)

      What happens next

      • I'm sure it will be fun 😈
      • I'll tell you when I know 😀
      • It's like waiting for Santa Claus 👽

      Sharable Content Object Reference Model (SCORM®)

      Mike's Notes

      This has been used in the Learning Object Engine (lob).

      The original article has many links to resource material.

      Resources

      References

      • Reference

      Repository

      • Home > Ajabbi Research > Library >
      • Home > Handbook > 

      Last Updated

      08/12/2025

      Sharable Content Object Reference Model (SCORM®)

      By: Mike Peters
      On a Sandy Beach: 01/12/2025

      Overview

      The Sharable Content Object Reference Model (SCORM®) was created in 2000 by ADL to address e-learning interoperability, reusability, and durability challenges. This research was driven by the challenge that enterprise organizations faced when upgrading systems or changing vendors, which often required them to abandon expensive content and start from scratch. Conversely, large content vendors often specified their own delivery environment, requiring organizations to implement different delivery modules for each content vendor. To provide organizations with the capability to reuse instructional components in multiple applications and environments regardless of the tools used to create them, ADL led and conducted the research required to ensure that content could be separated from context specific run-time constraints and proprietary systems so that it could be incorporated into different applications.

      With this, ADL designed SCORM to leverage standard web technologies as well as emerging learning technology specifications. SCORM allowed browser-based e-learning with plug-and-play portability, reusability, and instructional sequencing of self-paced content.

      Under a series of DoD Instructions – most recently DoDI 1322.26 – SCORM has been officially specified as one of the allowed metadata tracking options for DoD e-learning content.

      To extend these concepts to track performance data on emerging learning capabilities (e.g., mobile learning), DoDI 1322.26 has been updated to allow a more capable standard called the Experience API, or xAPI. Unlike SCORM, xAPI can be used to track and share data from mobile learning, simulations, virtual worlds, serious games, real-world activities, wearable devices, experiential learning, social learning, offline learning, and more.

      SCORM History

      A 1999 executive order signed by President Bill Clinton established a task force charged with developing new standards and specifications for e-learning across the Federal Government and the private sector. Version 1.0 of SCORM was released in 2000, followed by SCORM 1.2 in 2001. The most recent release (2009) is SCORM 2004 4th Edition.

      ADL maintains documentation for SCORM 1.2, SCORM 2004 3rd Edition, and SCORM 2004 4th Edition (see Versions & Resources section below). In 2008, the Learning-Education-Training Systems Interoperability (LETSI) Federation was formed to investigate the next generation of SCORM requirements. LETSI produced over 100 white papers that would later become essential artifacts and sources of requirements for the newer xAPI specification for e-learning.

      While ADL (and DoDI 1322.26) now recommends xAPI and cmi5 solutions for new e-learning acquisitions and implementations, it is understood that SCORM solutions are still in wide use to enable interoperability (course re-use) across compliant systems. Developers who are implementing other versions of SCORM are encouraged to modify their work to comply with one of the existing specified versions. DoDI 1322.26 contains the current guidance for SCORM conformance in DoD.

      SCORM Acquisition Guidance

      DoD and other Federal Government organizations are encouraged to use the following statement in their acquisition documents (e.g., statements of work, performance work statements, or other applicable program requirements documentation):

      The contractor shall ensure distributed learning content is conformant to SCORM [insert preferred edition].

      The following documents will be cited in the solicitation document (keyed to the appropriate section) for distributed learning (DL): ADL SCORM [insert preferred edition] conformance testing requirements.

      Acceptance shall be based on the following:

        • Conformance: An error-free repeatable test log output saved as a .zip file for each Content Package (CP), providing evidence that the CP SCORM [insert preferred edition]. Conformant conformance label has been achieved, shall verify SCORM-conformance.
        • Target DL System Verification: A report from the target DL system or operator of the target DL system certifying that the content ran properly.

      SCORM Technical Details

      The latest SCORM specification consists of three different technical “books” (available in the Versions and Resources section below) that collectively address challenges associated with interoperability, portability, reusability, and the instructional sequencing of self-paced e-learning content.

      Interoperability

      The SCORM Run-time Environment (RTE) book defines a common data model and application program interface (API) for e-learning content. This combination of data model and API allow for standardized communications between client-side content and a system component (called “the run-time environment”), which is commonly provided by a Learning Management System (LMS).

      Portability

      The SCORM Content Aggregation Model (CAM) book defines how to package content for exchange from system to system, in a transferable ZIP file called the Package Interchange Format (PIF). Packaging enables a standardized portability mechanism between various learning environment applications.

      Reusability

      The SCORM Content Aggregation Model (CAM) book describes the components used in a learning experience and how to describe those components to enable search and discovery. Therefore, the CAM book promotes reusability of learning content across LMSs and repositories. The CAM book describes responsibilities and requirements for building content and content organizations (e.g., course, lessons, modules, etc.). It contains instructions for applying metadata to the all the content organization components in the content package. On the server side, the CAM details the format an LMS must be able to “import” for the purpose of providing content to users.

      Sequencing

      The SCORM Sequencing and Navigation (SN) book, in combination with the CAM book, describe how SCORM-conformant content is delivered to learners through a set of learner or system-initiated navigation events. The branching and flow of that content may be described by a predefined set of activities. SCORM 2004’s sequencing rules allow instructional designers and content developers to specify the order in which sharable content objects (SCOs), the smallest piece of content that tracks progress, are delivered to learners and what navigation controls are present in a SCORM 2004-conformant LMS.

      SCORM Conformance, Certification, and Adoption Support

      Although SCORM is being overtaken by newer, more capable e-learning specifications, ADL continues to support SCORM adoption, including with help-desk verification of conformance through validation of test suite logs for vendors and content developers. The US Army has also developed a SCORM 2004 (3rd Edition) Test Suite, last updated in 2018. Conformance Test Suite software and documentation are provided for each version in the SCORM Versions and Resources section below.

      Many products claim to be SCORM certified, SCORM conformant, or offered by a SCORM Adopter. ADL has specific terms and criteria regarding each of these levels of conformance:

      SCORM Conformance – The only criteria for claiming SCORM conformance (to a specific version of SCORM, i.e., SCORM version 1.2) is to pass the corresponding test within the ADL Conformance Test Suite, or the Army-developed conformance test for SCORM 2004 (3rd Edition). These tests are done on an honor system and require no ADL involvement. Test logs should be submitted to ADL to confirm an organization’s SCORM adoption.

      SCORM Adopter – A product must be SCORM conformant before it can be considered a SCORM Adopter. The logs that result from a passing test in the ADL Conformance Test Suite are submitted to ADL and if found to be correct, the product is labeled as a SCORM Adopter.

      SCORM Certification – Certified products are those that have been tested through ADL Certification Testing Centers. Certification is no longer offered through independent centers or ADL.

      NOTE: As an alternative to previous SCORM Certified Products and SCORM Adopter forms and searchable databases, ADL has posted locked spreadsheets of the data until the forms and process are updated. Click the links below to access these static resources.

      • SCORM Certified Products
      • SCORM Adopters List

      Known Issues

      Members of the SCORM user/developer community have identified some JavaScript vulnerability and cross-domain API issues. ADL has assessed these issues and published the following papers to provide solutions and workarounds.

      • Securing Your Assessments
      • SCORM Content Vulnerability Workarounds
      • Cross-Domain Scripting Issue

      SCORM Versions and Resources

      Multiple versions of SCORM remain in use worldwide, with SCORM 2004 (4th Edition) being the most recent. ADL encourages content developers and those who produce distributed learning products and must use SCORM (as opposed to xAPI or cmi5) to conform with this version. Support resources for the three prominent versions are provided below, including zip file downloads.

      SCORM 2004 (4th Edition)

      • Technical Specification (4th Ed.) (zip file)
      • Testing Requirements

      Compatibility Testing Resources

      • 2004 4th Edition Conformance Requirements Version 1.1
      • Conformance Test Suite 1.1.1 (zip file)
      • LMS Test Packages (4th Ed.) (zip file)
      • Sample Run-time Environment 1.1.1 (zip file)

      Extensions

      • Content Packaging Extensions Version 2.0 (zip file)
      • Navigation Extensions Version 1.0 (zip file)

      Content Examples

      • Bookmarking (zip file)
      • Data Model (zip file)
      • Manifest Basics (zip file)
      • Sequencing Essentials (zip file)

      SCORM 2004 (3rd Edition)

      • Technical Specification (3rd Ed.) (zip file)
      • Impact Summary

      Compatibility Testing Resources

      • Conformance Test Suite 1.1.2 (zip file) (recommended)
      • Conformance Test Suite 1.0.2 (zip file)
      • LMS Test Packages (3rd Ed.) (zip file)

      Content Examples

      SCORM 1.2

      (See the official SCORM 1.2 specification below for a complete list of changes and improvements from 1.0 to 1.1 and the 1.2 version.)

      • Technical Specification (Version 1.2) (zip file)
      • Conformance Test Suite 1.2.7 (zip file)

      SCORM 1.0

      • Institute for Defense Analyses Report, July 2000

      Additional SCORM Resources

      • The Next Generation of SCORM: Innovation for the Global Force
      • Users Guide for Instructional Designers
      • Users Guide for Programmers
      • SCORM Starter Template (zip file)
      • Official ADL SCORM API Wrappers (zip file)
      • RELOAD Content Editor (zip file)
      • Guidelines for Creating Reusable Content w/SCORM 2004
      • Utility and Applicability of SCORM Within Navy Higher Education
      • Choosing a Learning Management System (LMS)
      • Choosing a Learning Record Store (LRS)
      • Choosing Authoring Tools
      • SCORM and Experience API Roadmap
      • SCORM + xAPI Roadmap Release and Resources
      • cmi5 and the xAPI SCORM Profile
      • SCORM to xAPI Wrapper (GitHub page)
      • XAPI SCORM Profile (GitHub page)
      • Interactive PowerPoint and Printer-friendly PDF – (2011)

      Videos

      • Training and Learning Architecture- Webinar - Meeting the Needs of the Next Generation of SCORM 51:16 – (2013)
      • Creating Reusable Content in SCORM 2004 – Part 1 6:00 – (2011)

      Publications

      • DAU xAPI Content Module Analysis Chadwick, R.; Creighton, T.; Haag, J.; Potrack, J. 2019
      • Choosing a Learning Management System (LMS) Berking, P.; Gallagher, S. 2016
      • Choosing Authoring Tools Berking, P. 2016
      • Choosing a Learning Record Store (LRS) Berking, P. 2016 
      • The Next Generation of SCORM: Innovation for the Global Force Poltrack, J.; Haag J.; Johsnon, A.; Hruska, N. 2012, IITSEC
      • Sharable Courseware Object Reference Model (SCORM), Version 1.0 Ball, R; Burke, R; Fletcher, D; Hoberney, A; Jesukiewicz, P 2000