Latest Posts (15 found)
mdubakov 1 months ago

Malleable software = solid bases + custom code

I joined the productivity tools market in 2004 and have had the luxury of observing its dynamics for 22 years now. From time to time the market changes and I write a holistic "visionary" article. The last one was in 2019 when I bet on the no-code revolution . Now it's time to write a new piece, because the market is experiencing tectonic shifts that will change its landscape enormously. Everyone knows that AI lowered the barrier, so now anyone can build software. You can't vibe-code a full OS (yet), but you can easily vibe-code small apps to solve personal problems. Things get more complex when you add "collaboration" as a dimension. If you work alone it's relatively OK to break things and move forward until you're happy with the app, but if you work in a team it becomes harder to implement all the needed bells and whistles to cover collaborative use cases. You suddenly need data storage with relations, concurrent editing, notifications, changes history, permissions, etc. It raises an interesting question: where is the hot spot of malleable software in the AI age? Should we always start from scratch in Codex? Or should we have some solid base that can be tailored via custom code ? Imagine you have a small mushroom farm that employs 10 people (don't worry, we will grow champignons here (for now)) and are looking for software to run all operations. Most likely you are using Google Sheets, since the market is too small to have specialized software (ha! no market is too small ). You have several options. The irony is that… none of the options are ideal. What is happening in the productivity tools market? It seems the ideal solution is to have a solid base covering 80% (databases, permissions, history, collaboration, notifications, etc.) and let users mix these things and extend via custom code. As a result, many vendors are heading in this direction, closing the gaps in missing areas. And while vibe-code and low-code tools are adding more solid bases, malleable tools should add more extension points. In the past the only solid bases you had were a compiler and an OS — everything else was your problem. Beautiful time of true hackers! Now we have the luxury of higher abstractions. The most interesting question is: where to stop? For example, a specialized tool without any customization is as solid as it gets, but the lack of customization is exactly what makes it unusable in many cases. With Codex your solid base is almost non-existent, but you have enormous expression power and can build almost whatever you want (expression power is how far you can bend the tool to do exactly what you need). I think both extremes are suboptimal for the productivity tools market, and we should find a sweet spot somewhere in between. Current solid bases differ in kind: Here is a more detailed table of all the options. Note that ★ defines a category, this is the reason why it exists. If the base covers what's identical for every team, custom code covers the rest: your unique interfaces (a harvest screen for the growing room tablet), your business logic (mushroom batch quality rules), your connections (the wholesale client's API, the humidity sensors). This 20% is small in volume, but it is your company , so no vendor will ever model it exactly right. Code made an unexpected (to me) comeback with LLMs at the end of 2025, so now all no- and low-code tools can rely on code more and more, ironically! But custom code works well only when the following conditions are met: AI coding has already brought us two new categories of tools (Codex-like and Lovable-like), but it also empowers low- and no-code tools to solve customizability problems faster, easier, and deeper. In the past custom code extensions were hard (think about the Jira plugin ecosystem), but now they can be easy! Programmers always had full expression power, but even programmers do not create a lot of personal tools. Why? Well, because it's quite time-consuming. Now the tides are shifting and you can really vibe-code useful personal tools in hours. In the productivity market you always have this tradeoff: spend time and build a tool for your company or purchase something ready to use. Specialized tools were the default choice for many, but now AI shrinks configuration time (everybody can prompt). It means malleable software becomes approachable for not-very-technically-savvy users and can beat specialized tools more often. Here is the chart that shows the current positions of all the niches and how they will move to the green area where it is possible to unite high expression power and short build time . Everyone wants the same territory, but each road is different: Which vendor/segment reaches this territory first, and is there space for many vendors? I bet there is! Solid bases somewhat differ in kind: some are built for IT departments assembling internal tools, some for teams with heavy collaboration flows, some for tinkerers solving their own problems. A year ago you had 3 options, now you have 5! Working alone? You may try to vibe-code it and have fun. A specialized tool covers 90% of your process? Buy it. But for a team with an evolving process, like our mushrooms farm, I would start in a malleable tool today. The base is already there, with batches, orders, history, permissions. And the missing 20% gets more vibe-codeable every month. For example, with Fibery Custom Apps you can have a tailored UI for many use cases very fast. One principle is quite important: select your base, not the interfaces. Data, history and permissions accumulate and are relatively hard to re-pick in two years. The UI is becoming the cheap and replaceable part. In 2019 I bet on no-code tools, in 2025 code came back in a very surprising way. This comeback is inverting our market. For many years vendors sold interfaces, while the base (storage, permissions, history) was boring plumbing underneath. Now interfaces are generated in minutes, while a base construction still takes years. So here are my new bets: See ya in 2030. We'll check whether that mushroom farm finally got rid of its spreadsheets 🍄‍🟫. P.S. This essay looks at malleable software from the productivity market side. For the research side, see Ink & Switch's Malleable Software manifesto and Geoffrey Litt's Malleable software in the age of LLMs . P.P.S. HN discussion Build from scratch ( Claude Code , Codex ) - from 2024 . Problem: When you prompt-code everything from scratch, you have to care about everything, including hosting, auth, basic permissions, database, etc. The first 80% may be easy, but the final 20% would be hard Future hope: Here we can hope that eventually AI will be so cool and powerful that it will just do things right and fast Vibe-code ( Lovable , v0 ) - from 2023 . Problem: Somewhat better than #1, since you get a hosted app, a database, auth and deploy out of the box, and it looks finished sooner. But when you outgrow what the generator does well, you will be stuck Future hope: More powerful models make it better. Also these vendors will add more and more components, moving into "solid base + custom code" space Low-code & app builders ( Retool , Softr ) - from 2017 . Problem: This category has been selling "solid base + custom code" last ten years: auth, permissions, hosting and audit logs out of the box. But it's an app base, not a work base. Your data is assumed to live somewhere else, and even when these vendors add their own database, it stores app data: no collaboration, no comments, no changes history Future hope: Move deeper into "solid base + custom code". The open question is whether an app base can grow into a work base fast enough Assemble it in a malleable tool ( Notion , Fibery ) - from 2013 . Problem: This might look tempting, since you will get many things ready fast. The problem is how to tailor these tools to your process. They are quite flexible, but might not support your specific needs and do not have enough extension points Future hope: Add more extension points and let users vibe-code the missing ~20% of use cases, so these tools will move into "solid base + custom code" territory too Buy some specialized tool - from 1999. Problem: This is still a very good option sometimes, since a specialized tool was built with your domain in mind and it might look very relevant. Go for it if you don't need customization Future hope: Moving into flexible tools territory will be almost impossible for these vendors (and it is not needed at all). The moment it gets generically flexible, it stops being specialized 🙂 Vibe-coding platforms give you a tech base (servers, raw database, auth) Low-code platforms give you an app base (UI components, connectors, access control) Malleable tools give you a work base (the data itself lives there, together with everything a team needs around the data) It inherits the base. Permissions, history and data integrity apply to custom code automatically. If every generated app needs its own auth, storage and audit trail, you are doomed It is bounded. Custom code can break itself, but it cannot corrupt the base (and in case of corruption, rollback should be easy). A bad app should be an inconvenience, not a data-loss incident Vibe-code tools must build a base. Now it takes a lot of time to rebuild these solid bases and make the solution viable Malleable tools must add expression power. Now malleable tools are not flexible enough to give users the expression power they need Low-code tools need both. Now they are in the middle and should move in both directions ? And maybe AI from scratch will make the whole map obsolete (but not yet!). Solid bases + custom code wins the productivity market Malleable tools have great chances to get there first, because extension points take quarters to add, while a solid base takes years

0 views
mdubakov 10 months ago

What is success?

You built a product and had your first release . You had some customers. You had a seed round . You had a small team . You worked hard. Things grew. You had a Series A . A few years passed. You had very hard times. You had good times. Now you have hundreds of happy customers , a solid 30-person team and few million in ARR. You spent eight years of your life on that . How do you feel? Are you happy? Are you satisfied? Are you successful? 😅 What is success? Success is multidimensional for startup founders , and it depends on the game you play. One dimension is never enough. For example, if you care only about innovation — go do science. If you care only about users — release something free and open source. If you care only about fun at work — build an organic small company and don’t worry about growth. If you care only about money — learn chemistry and… breaking bad. When you have a VC-funded startup, you have to define success as a multidimensional thing. For one startup, success may look like: For another startup, it may look like: Notice that if you are in the VC-backed startup game, an exit is always a part of success . If you can’t bear that — don’t take VC money. Try to grow organically and play a different game. From a pragmatic VC viewpoint, a good exit is the only real thing that matters. They gave you money, they want their money back with at least a 4x return (100x is better) in 10 years (5 years is better). For example, if a startup: ❌ Innovates + has fun + ships fast, but has no rapid growth = not a success story 🥹 Does not innovate + does not have fun + does not ship fast, but adds $1M ARR every month = success story Money is the primary indicator of startup success in the market. The chain is simple: Product generates a lot of value + people know about it → more users → more 💰 It is very hard to measure product value and awareness, but it is very easy to measure MRR — so that is what we do as a proxy metric of growth. For a startup growth = life 🍀. With decent growth, a startup evolves and shines. Without growth, a startup stagnates and dies. Typically, for founders, money is not the primary or even secondary motivator — at least not intrinsically. Founders are builders, creators, innovators. For us money are just not enough to keep going. We have to find the balance between money and intrinsic values and goals, thus success is multidimensional. It's an interesting exercise for me to define success. I never really formalised it before, but it helps to set goals and expectations. Here is my definition of success as a first-time-VC-backed startup founder (more important items are on top): If all these things are true I will feel good about our long journey and call it a successful one (I'm OK to ship slow and be anxious, but at least I should have fun anyway). There is nothing about time here, to me personally time is not very important if we're moving forward with a good pace. I personally could develop the story for 20+ years, but… as a VC-backed-startup it is often time-boxed. Anyway, someday we will get to the exit and it will be a part of my success or failure (honesty, remember?). The journey is the destination. 🐌 💰 Is it a $10M/$100M/$1B exit? An IPO? 🔨 Is it having 10K/100K/1M active users? 🎁 Is it shipping 200/500/1000 features per year? 😍 Is it making most customers happy? 🛞 Is it inventing something new that other companies copy and build upon? 🥸 Is it having fun at work? 🏖️ Is it having a relaxing lifestyle? Having anxiety-free months? Oh, just don’t do startups then… Keep my authenticity (stay sincere, honest, humble, and witty). Don’t break it no matter what. Embrace complexity, invent something new. Make target customers as happy as I can. Let the core teammates pocket at least $0.5–1M after the exit → $100M is a successful exit. Manage my anxiety.

0 views
mdubakov 11 months ago

Zero-bugs policy is a myth

Linear recently claimed that they have a zero-bugs policy . It means they fix any reported bug within seven days. It may sound like a fantastic practice! Who wouldn’t want to have a bug-free software product? The reality is not that simple, though. Linear still has bugs. Any software product has bugs (well, except maybe trivial ones — but Linear is not trivial). So “zero-bugs” is somewhat misleading. Let’s check some popular open-source projects. They have great communities full of enthusiastic contributors. How many open issues do these projects have? As you can see, any relatively large and popular project has quite a few bugs. Why don’t communities fix them all? Because any community (and any company) has limited resources. With unlimited resources, of course you’d fix them all — but in the real, non-ideal world, you have to prioritize what to work on. Let’s say you’re doing house cleaning. You could spend three days hunting down every tiny dust particle, scrubbing every small spot on the wall, and enjoy the total cleanliness for… a few hours. Or you could spend one day and remove almost all visible problems. I bet most of you would spend even less than that — like three to four hours tops — and be happy enough with the result. I think the Pareto principle works well for house cleaning, and it works just as well for bugs: fix 80% of bugs and keep the 20% low-pain bugs open (pain isn’t so easy to measure, but still). A zero-bugs policy treats every bug as if it’s very important. But that’s just not true. Let’s say 1,000 users are complaining that your fancy task tracker lacks multi-assignment, and one user is unhappy about a misaligned icon in Arc browser. With a zero-bugs policy you’d have to fix the icon, but I’d personally go with the multi-assignment feature, since it generates much more pain for the product’s users right now. Some bugs take a lot of time to fix. It’s perfectly OK to spend days fixing a security vulnerability, a crash, or a data-loss bug. These have an outsized impact: they can break trust and cause churn. But spending that same amount of time on an obscure rendering glitch that only happens in Safari 14 when the user has three monitors and a custom zoom level? No way. Time is also unpredictable with bugs. Sometimes you think, “I will fix it in 5 mins” and it turns into a day-long rabbit hole of debugging and refactoring. In our company we even have internal meme about "looks easy" phrase (said with some, but minor doubts), since in some cases it becomes very very hard. 🐞 ❌🐙 Rust: ~5k open bugs Linux: 1.5k open issues (this is impressively low!) VS Code: 3.5K open bugs Tensorflow: 0.5K open bugs Zero-bugs policy does not mean that there are no bugs in the product With zero-bugs policy you likely waste some time on unimportant things Fixing 80% of bugs usually good enough Always fix security, crashes, data loss, or highly visible bugs fast

0 views
mdubakov 1 years ago

SaaS Ethics Manifesto

Every vendor has some vibes, positive, neutral, or bad. To me, Notion Linear, or Ghost have positive vibes, Slack is kinda neutral, while ClickUp or Motion have bad vibes. Why is that? I analysed my feelings and it all lead to... ethics. As a result, I created my personal SaaS Ethics Manifesto. It's just a set of rules I will never break in companies I lead : I think these rules are self-explanatory, but let's dig into them anyway and find some examples. Exploring software should be easy. I personally don’t like any commitments behind paywalls. People tend to forget things, and surprising charges will follow. Some revenue for a vendor maybe, but headache for a person. In real life so many vendors are doing it... For example, Motion provides 7 days (quite short period, to be honest) free trial and asks for the credit card right away. I had to provide it and cancel right away to not forget. Moreover, there is only annual plan available, so in case of sudden charge you will loose $600! Huh. If someone feels the product isn’t right for them, we give their money back. Trust matters more than squeezing out some money. Speaking of which, if you forget to cancel your Motion trial in 7 days, your $600 are gone 🤯, because ... I think when you beg for it or make a public statement on Reddit you will get your refund anyway. By contrast, this is our policy: No one should have to beg support to leave. Make cancellation simple and easy. I have to admit, we broke this rule for years because we didn’t want to spend time building the functionality. We finally did it, but I still feel guilty for not doing it sooner 🥲. Mistakes and failures happen. I always choose honesty, accountability, and learning over silence. We didn't have many downtimes, but when we did , postmortems followed. Postmortems are often interesting to read, since they provide real life cases. Slack did it well , GitHub even decided to do monthly Availability reports , so cool! Data belongs to the people who create it — not to the vendor. Any vendor should ensure it’s always portable and accessible. I remember 10 years ago I had to purchase quite expensive Salesforce plan just because of API. This is crazy practice to me. I checked Salesforce today (for small business), and.., no change. I believe artificial urgency is harmful. I dislike when products push sales at any cost — whether it’s Black Friday hype, "50% off for 24 hours", or "only 3 tickets left". That’s why we never use these tactics. Udemy case is particularly telling. They used machine learning to show fake base price and make it look like you have a really good discount. Well, it costed them $4M. Udemy has agreed to pay $4,000,000 to settle a case alleging it advertised fake discounts for its courses. Remember: using fake reference prices to run sales is illegal under the FTC Act and California's laws. 1/ pic.twitter.com/faqA2tu9An Sometimes you visit a new startup and see some really cool logos, like Coca-Cola, Microsoft, etc. It is quite clear for any experienced SaaS vendor to feel that something is off. Maybe a single lead with @microsoft.com domain is enough to put the logo into the home page? Or maybe a pilot is enough? Very rare such things become public, so 11x.ai story is a nice exception. Recently I stumbled upon Breeze website. Quite small company, quite weak product, quite famous customers. Customers page has all these loud logos, but testimonials are from very small companies only. I think they mislead leads. We decided to not put logos at all on our homepage so far. While we do have some quite well known customers, they are not as famous as Disney or Red Hat. When we compare Fibery with other products, we try to do it honestly (and mention that the comparison is still biased ). Our goal is to inform and empower, not to just sell. This rule is so hard to follow and very few vendors are doing it. Even Notion can't resist putting all ✔️ into the Notion column (but still they're more honest than ClickUp). Notion vs. ClickUp vs. ClickUp vs. Notion We want to support communities that make the world better. Offering at least 50% off is one way we can help. I think this practice is widespread, which is good! We also decided to support startups 🚀 (6 months for free) and Ukrainian companies 🇺🇦 (50% discount). 🤔... P.S. I also hate SEO, but not sure it is fair to include it into the manifest. What are your rules? Trials are always free, with no credit card required Purchases and renewals are fully refundable within 30 days Users can cancel anytime, with service active until the paid period ends Downtime and security incidents are disclosed openly, with postmortems for major events Data is always exportable, and every plan includes full API access No fake scarcity No fake customers logos and testimonials Products comparisons are honest Nonprofits, open-source, and educational projects receive meaningful discounts 🤔 (did not come up with anything decent, provide your ideas to complete the list!)

0 views
mdubakov 1 years ago

Malleable Software: code → low-code → no-code

After my last post Malleable Software Will Eat the SaaS World many people assumed that I was talking about code-level tools only. But it is not exactly right, malleability lives on multiple layers — from raw code to low-code to no-code. There are several categories of malleable tools with different abstraction levels (building blocks): Each layer has different strengths, limits, and audiences. Let’s break them down. Notable tools: Cursor , Lovable Use cases: anything (in theory) Code is the lowest level you can get. Building blocks are very granular and power is enormous. However, it is also harder to modify and evolve the solution. You can quickly build some basic app in Lovable, but creating something relatively complex will quickly bring you to programming itself. Basic apps and prototypes are easy to build, complex solutions are impossible without deep programming knowledge. Notable tools: Retool Use cases: internal tools, basic apps Here you deal with some code and low-level building blocks, like text inputs and buttons, queries, actions, etc. Some knowledge of programming is required, but you can go deep enough with basic understanding of databases, functions, loops and conditions. Variety of solutions and apps you can build are narrower than with just code, but still quite impressive. Learning curve is still relatively high. Notable tools: Airtable , Notion , Fibery Use cases: internal tools, vertical solutions Here you deal with quite high-grained building blocks. For example: You can build quite powerful solutions based on these blocks and do it fast, but they will be “boxed“ by existing components. For example, if you need something very custom, it will be impossible. Here you can live in AI-building-mode for a long time and only for ~20% of complex use cases dig into details, like learn automation rules. In near future I'm relatively pessimistic about full-blown Code level AI tools for mere mortals. It is still hard to imagine how complex products can be build without programmers. With fewer programmers — maybe, but programming experience still a cornerstone for any complex product. So code / no-code dichotomy will live for some time. However, most vertical SaaS tools in near future can transform to no-code/low-code AI-based tools. They will have a well-designed set of high-level (and low-level) building blocks and almost any technically savvy user will be able to compose tailored solutions for specific business contexts. In some specific cases no-code will even write code to support user's need, but code will just power small extensions here and there, not the foundation of the entire product. Cursor , Lovable Fibery , Airtable Building blocks ultra-granular medium granularity higher-level, simple 🔥 limitless limited (but growing) Easy of use 😵 low 🚀 highest Speed to build a solution 🐢 slowest 🚴 decent pace ⚡ fastest Who is it for? programmers anyone with domain knowledge AI is what finally makes malleable software truly accessible. The “how” becomes invisible. The user only has to decide the “what.” Code : Cursor, Replit, Lovable Low-code : Retool No-code : Airtable, Fibery (and maybe Notion) database tables with different field types, relations, formulas views to visualise tables: table, board, report, map, timeline, etc. with filters, sorting, grouping, etc automation rules and action buttons permissions/access schema custom UI components

0 views
mdubakov 1 years ago

Malleable Software Will Eat the SaaS World

In the AI era, the winners won’t be the tools you adapt to — they’ll be the tools that adapt to you. Let's take Linear . It is a beautiful, well-designed, simple but inflexible tool with little room for AI to add value. AI thrives in messy, open-ended spaces where it can design, assemble, and adapt — but in Linear, the major design choices have already been made. At best, AI might shave a few seconds off repetitive tasks or auto-fill a few fields, but it can’t reinvent the core process, because the tool doesn’t allow it. Let's take Fibery . It is somewhat beautiful, quite well-designed, complex and flexible tool 😝. However, it is relatively hard to setup Fibery for your needs. LLMs turn complexity from a barrier into an advantage, collapsing weeks of setup into a few prompts. In a world where “how” disappears, the most adaptable tools will win. The biggest shift LLMs bring to malleable software is moving the focus from designing the solution to defining the problem . In the past, when you had a problem in mind (the what ), you still had to figure out the how — which meant learning the tool, assembling components, and translating your needs into its language. Now, in many cases, LLMs can handle the " how " for you. You describe what you want in plain language, and the system works like a programmer or system analyst: breaking your problem into building blocks, mapping a flow to solve it, and creating the first version. You review the result, give feedback, and iterate. The entry barrier drops dramatically, and the loop from idea to working prototype becomes fast. Historically, malleable software was a niche for tinkerers . It demanded time, patience, and a willingness to wrestle with complexity. Learning it took effort. Building with it was cognitively heavy. That’s why simple, vertical solutions thrived. You picked something popular, used it as-is, and avoided customization altogether. Linear, for example, gives you a well-designed, opinionated process for software development. It’s a good process — but not the right one for everyone . This changes when customization becomes fast and easy. If AI can bend a tool to your process in minutes, why settle for a rigid default? At some point, your needs will evolve, and with a locked-in tool, you’ll hit a wall. With malleable software, you just keep going and bend it to fit your new needs. My take is that malleable software will replace less flexible hardcoded tools in some observable future. When configuration and setup is fast, easy (and fun), there is no way back to rigid tools. This shift won’t happen overnight, but the trajectory can be like this: 2025–2027 – AI starts removing the steepest parts of the learning curve in malleable tools. Teams still pick rigid tools for speed, but migrations accelerate when processes evolve. 2028–2030 – The default buying question changes from “How fast can we start?” to “How easily can we change later?” Rigid tools lose ground in competitive evaluations. 2030–2035 – Malleable platforms, powered by AI assistants, reach a point where setup feels like a conversation, not a project. Switching costs collapse, and most rigid vertical SaaS tools become niche or legacy solutions. Rigid tools won’t vanish completely — some industries will still prize absolute standardization over adaptability — but for most use cases, they’ll be relics of a pre-AI era. The future belongs to software that bends without breaking. P.S. HN thread if you feel like it.

0 views
mdubakov 2 years ago

Emigration

My psychotherapist (my wife) told me I need to write. “What should I write about?” I asked. “It doesn’t matter, just write. When you write, you feel better,” she answered. For the last four years, writing hasn’t come easily. Since August 2020 . Writing has been heavy, to put it bluntly. Life itself has been heavy. No, sometimes it feels fine, but mostly it doesn’t. Not very light. Well, sometimes it does feel light—out at sea. But on land, not so much. “I’ll write about emigration,” I said, finishing my whiskey. And so here I am, writing. I haven’t written in a long time, so it’ll be rough. But you have to start somewhere. You’d think: I live in Cyprus with my beloved wife, a cozy dog, and a curious son, in our own apartment, ten minutes from the sea. Work is interesting (though not everything goes smoothly yet). The winter weather is beautiful. We have enough money for everything. Life should be good, right? But no—it’s somewhat heavy. The first few months after moving hit you like a high. You’re all positive, walking around with a happy face, speaking English, picking up a few phrases in the local language, exploring shops and restaurants, watching the stars, studying the slope of the seabed, worrying a little about your residence permit. Then you rent a long-term place, get your kid into school, meet local shepherds, get your residency, breathe out, and try to set up a new daily routine. And this is where something goes wrong. The routine that sets in isn’t the right one. A broken routine. For example, I’ve almost stopped reading books. I used to read one a week, now it’s one a quarter . I used to play guitar every day, now it’s once every two weeks. My energy at work used to be at level 8–9, now it’s 6–7. Everything feels heavier. I think people almost always underestimate the impact of emigration. Even when you have a loving wife, a beautiful dog, a curious son, your own apartment, and the damn sea ten minutes away—a global, and often forced, change of context shift your life of balance. Harmony vanishes for some mysterious reason. I can’t imagine how people emigrate without family, without money, and without the sea nearby. They probably all fall into depression for a while. For me, it’s just "somewhat heavy". Luckily, I have a couple of friends here, and we help each other as we can. I wonder how many years in emigration it takes for balance and harmony to return. Two and a half years ago I thought they were finally coming back. And then the Russian president got bitten by imperialism, and we were all pretty fucking shocked here. You look at it all and think: “Shit, it’s a disaster there, rockets are flying, people are dying—so why the fuck, Michael, are you walking around with a sad face when your only problems are slow company growth and a late courier with khinkali delivery?” I still don’t have an answer. Harmony hasn’t returned. But I don’t despair. Humans are adaptive creatures, so sooner or later life’s balance will be found again, and harmony will return. External factors matter, but it’s better to focus on what you can actually change. Presidents will die, wars will end, and some things will get better. On the other hand, new presidents will come, new wars will start, and some things will get worse. And life is singular. So I’ll go walk the dog, swim, read a book, learn a new song on the guitar, and hug my wife. In emigration you need to find a new balance. And a new harmony. The old one is gone forever.

0 views
mdubakov 5 years ago

Dissatisfaction leads to progress. Doesn’t it?

I am not often satisfied with any results: not of my own work, not my teams’, not that of the company as a whole or each individual person in it. When someone shows me something, I usually go: ” Well, that’s not quite my tempo .” Alright, I don’t throw chairs. Though I almost always find something to pick at. Is this constant discontentment a good personality trait of mine? Most definitely not! People were doing their utmost best, worked nights risking a burnout, they gave it all that they’ve got… And here I am, giving their work a quick look and having neither praise nor approval for them but just a dry “There at the end, you should put a dash instead of a hyphen.” That’s not good. Any book would tell you a leader should praise and encourage people for  motivation . You know, the worn rule of wrapping your criticism into a sandwich with enough praise to give people a nice feeling. Something like “John, the design is wonderful, very good. Right there below, I would advise putting a dash instead of a hyphen. And then your work will be complete and very harmonious.” But c’mon, if I’ll make a sandwich out of everything, I’d become a Subway! Besides, what’s the point of all these ridiculous manipulations, cheap NLP techniques? I frankly expect my teammates to be adults, mature enough to reasonably respond to comments and take criticism without taking it personally. Although some people are offended by absolutely ridiculous things. Like when you don’t start a Slack message with “Hey, what’s up, whatcha doin?” Personally, I hate when people start a working text with the “Hey, whatcha doing?” and then wait, like, two minutes for you to answer then what it is exactly that you’re doing before they’d jot down a decent follow-up. What is that? What could I be “doin” at my workplace? Why are they forcing me to write this “hello, how’re you”? Isn’t it easier to just straight away make your point? Excuse me, I got a tad distracted here. What I actually wanted to say is that to me personally, dissatisfaction leads to progress. It’s the engine of my personal growth. Like any human, I like positive feedback and praise, because they trigger the release of endorphins. But hey, that’s pure physiology. You have to be above this kind of trivial matters. Embrace frustration! The imperfections all around are my best motivator. I look at things, I get frustrated, and I immediately see what can and must be done better. The design can be improved. Architecture should be perfected. Working conditions? Must be refined! Interviews? We should do it better! And, finally, we must put that damn dash where it belongs! Now, probably, this is why I like the  Whiplash  movie so much. I watched it five times. It’s the only film in the last twenty years that I’ve watched that often. Don’t get me wrong, I’m not into the extreme-psychological-pressure approach. I do admire the philosophy of discontent driving better results. I do believe that only dissatisfaction drives people to go forward and push the world to progress, too. If a person is peaceful and satisfied, they don’t really have a reason to wish for more, and so it’s easy to just go with the flow and stop striving for better things. People who’re always content with everything don’t have a reason to give a shit about anything. They’re just happy. Tinkering on things could even destroy their content. So a company needs to create a culture of constructive dissatisfaction.  Praising a mediocre result is a crime. You should only praise a completely effing fantastic result. You know, the one you look at and drop your jaw, the one that makes you think, “This is unbelievably, mind-blowingly damn great!”

0 views
mdubakov 5 years ago

Startups and near-death experience

Startups are hard 🐝. Nobody has a ready recipe for a successful startup. It’s like life. Nobody has a ready recipe for a fulfilling, happy and successful life neither. Few startups are successful from day one and never really struggle. Most startups do struggle and die. But I think that  quite   many   top   startups  had a  transformative near-death experience that changed everything and help them to find a path to success . It’s common that near-death experience in life changes everything. Many people reported that it changed their lives. They became more focused, less distracted, more calm, less worried, more enlightened, less gloomy. In some way they feel that they just “get it”, they suddenly understand why they live, what’s important, what’s the meaning of all this. It’s hard to wish for a near-death experience, but it can be a useful thing for a startup. If everything is kinda OK, you tend to disperse your attention: hire unnecessary people, enter unnecessary markets, add not-essential features. Eventually, it may lead to stagnation, slow growth, and the same near-death experience in the end, but with a large team, a heavier product with some boxes of technical debt, and weird customers. It is much harder to survive in this case when you are big. Significant cuts are extremely painful and can kill a company, like a complex surgery can kill a patient. It’s much better to have this near-death experience somewhere in the beginning, like in the first 2–3 years of operations with a smaller team, lighter product, fewer markets, and fewer customers. Changes are much easier here. You can have just a few people on board and re-think everything. You will have to focus on the most important things and cut everything else. The real problem here is to define what’s important. However, when you are close to death, your senses sharpen and there is a good chance that you will find them. For example, you may suddenly discover that the most pressing issue is not a lack of features, but a poor onboarding process. Or you may discover that product complexity is just too high and simplify the product (a common theme). Or you may discover that you have to focus on a very narrow niche and put all effort into it. Anyway, you will  have to  focus. This necessity can do wonders with your life, or your company. I think we should not be afraid of near-death experiences, but embrace them, reflect on them and rebuild the foundation of our life or our company.

0 views
mdubakov 6 years ago

Use networks to prioritize product features

Features prioritization is the  hardest  problem in product management. There are many techniques that might help and I’ve tried them all (with no great success). I think something important is missing. In a nutshell, these techniques are just linear models that work as good (or as bad) as intuition of an experienced product manager. I think one important missing thing is… network. Any system can be represented as a network. In our case we work with a software product. Here I use Feature as a node, and Features have connections. Let’s take Google Suite. You have Document feature and Search feature. Search is connected with Document, since you find something in docs. Abstract features network looks like this: The main idea is simple: More connections —the importance is higher. Less connections—the feature is less important. Overall, less important features will be quite lonely and isolated, while important features will form a system’s core. I call well-connected features  core features . NOTE: Here you may immediately feel that this is somewhat similar to PageRank algorithm by Google. Indeed, every node is a page and connections define page importance. Promising similarity so far. Let’s explore this model. They may be there for a reason. For example, you may explore new opportunities and new areas of product applicability. In Google Suite it might be Video calls. It still has some connections to features like Auth, User Profile, but overall this is a peripheral feature. This situation is not uncommon, by the way. You have a backlog, use some linear model like  RICE  and ta-dam, decide to implement top 10 features in a new release. It may happen they have few connections. It’s spray and pray tactic, in fact, when you try to explore dozen different areas without depth. In almost all cases this superficial exploration will be a disaster for the product. That is why linear models may not work without network. It means you try to explore new area with a set of  coherent connected functionality  and increase your chances. Basically, when you try a new area, it might be loosely connected with product core, but most likely it forms a new solid cluster. When you do this, you should always think about a completely new product or a new module that can be enabled/disabled. Atlassian follows this strategy with great success. Note that this approach is good  when the product core is solid enough  and you can’t find new growth points inside the core. Another situation when this might work is a crisis. When the core functionality can’t find market fit, you have to try new areas as quickly as possible and this might be a good way to do that. This is the real meat. You almost always improve core functionality and core focus of the product by adding super-connected features. Imagine in Google Suite you have docs, spreadsheets and presentations, but no search. New Search feature will affect all these areas and will improve core user experience a lot. I work on Fibery, so let’s check Fibery as an example Any LEGO block here will be a core feature. For example, new Hierarchical List View can be used in dozen use cases: product backlog management, work hierarchy, candidate tracking, etc. New field type, like URL field, is a core feature as well, since there are many applications for URL field. These features are well connected. However, Intercom integration is relatively loosely connected feature, that affects only product management and customer success cases. Let’s say we have 10 requests for URL field and 8 requests for Intercom integration. Should we implement Intercom integration or URL field? From network perspective the answer is definite. In fact we can’t be sure without use cases. Feature is just a solution. Problems are missing here. To have a better product picture we need two networks: Problems (Use Cases) and Solutions (Features). Use Cases can be grouped by Work Processes. For example, “as a product manager I want to aggregate feedback in a single place” is a use case, that relates to “Customer Success” process. Features can be grouped into Epics. For example, “Full Text Search” is a Feature that belongs to “Better Navigation” Epic. Follow me carefully from here, since it’s easy to get lost in features. Intercom integration was a hint for us. Why people requesting it? They wanted to link Intercom chats to real work in Fibery. Is it enough to solve this problem? Well, maybe, but if we blindly do it, we’ll miss a great opportunity to make product managers life easier. What people  really  wanted is to have Intercom chats in Fibery, review them, highlight important insights and connect these insights to real work (features, bugs, stories). Let’s call it “Feedback Review” use case. We have to add three features to make this case smooth: As a result, we have two strategic choices: From pure network perspective core features always better, but you have to take strategic opportunities into consideration. In the  best case scenario you have both: well connected features and completed strategic use cases . For example, Feed View is a core feature that will be useful in many other cases, like backlog review. Highlights in text can be helpful for all kind of bi-directional references, like connect meeting notes with work. So it seems only Intercom sync is peripheral feature, but we have to implement it to close the case. Finally, we can define a function for Feature Importance: The function should be more complex for sure. It should take into consideration at least two more parameters: Most likely the real function will be quite complex and closer to  PageRank . The fundamental problem here is this: Are the any good tools for that? Exactly zero. All current solutions for product managers like  Aha!  or  Productboard  don’t have anything similar. All specialized tools to create networks are not connected to product management apps and can’t be used to calculate Feature Importance. Here are some properties of the tool that can solve this problem: I’ve tried to build part of our own Features Network in  Fibery  to explore the idea. Here is the result: The problem is that you don’t see relation to real use cases. For example, all blue features on the right side belongs to “Feedback Review” use case, but this information is missing here and you don’t see why these features are planned. Still you see that all blue features on the right are connected and form a cluster, this is a good sign of coherent strategic choice. I’m curious to explore this idea further. So far I just throw this rough idea with a hope that it will resonate with some people. UPDATE : Anton Iokov  enhanced this idea further and now you can have a real framework to prioritize features! Intercom sync  to feed chats to Fibery Feed View  to scroll through all recent chats and read all text right away Highlights  to mark important insights in text and link highlights to real work. Improve general platform (add more LEGO blocks) like ULR field and better Formula fields. Add a new cluster “Feedback Review” and implement all important features to make this use case cool. Current strategy and use cases we focus on (more weights on them) Effort to implement It should be  inside a product management software  that product managers work with. Integration will not work, since you need to see the connections all the time. It should be possible to quickly connect use cases and features via relations. It should visualize the whole graph or sub-graphs of a product. It should allow to customize exact formula or algorithm for Feature Importance calculation, since products are different and it is hard to define all parameters upfront. Green — core features Light green—missed core features. Blue — features in near future plans. Gray — peripheral features.

0 views
mdubakov 6 years ago

Automations Concepts Overview for No-code Tools

Almost any serious no-code tool should have automations at some point. Automation is bread and butter of a useful system that help people be more productive. First stage is data collecting for sure, but second is automation. We are thinking about automations in  Fibery , since it seems data collection problem in Fibery is close to its ultimate resolution. However, automations creation is hard, since it is very close to programming. In this article I tried to briefly review all possible ways to add automation layer into a system. Feel free to add more if you know any. You have to explain your desired automation flow to the computer and be precise enough to not mislead it. Any vagueness will be penalized by errors and unwanted outcome. The lowest approach is just code. Scripting language was used in many software tools, like HyperCards, FileMaker, etc. It provides enormous flexibility, but there is a huge entry barrier and only programmers can penetrate it in general. We can represent code using graphical blocks + text. This approach is used in  Scratch , for example, and kids quite quickly grasp it. In general, the power of such system can be comparable with low-code solution, since you still operate with all programming language constructs.  The benefit is more clear scoping and prevention of bad composability . For example, you can’t insert some blocks inside another, since shape is different. This prevents some groups of mistakes. The downside is that it becomes hard to grasp for large programs. However, automation rules might be small enough to use this approach without problems. We can create a special language designed only for automation purpose. In this case it will be easier to grasp by knowledge workers, since you may use familiar terms and  restrict language flexibility . For example, iterators and recursion are hard to understand and debug, so this DSL may wrap such constructs into something less complex. When Task.State.Name is “Coded” Then GitLab["Profile"].Create.PullRequest(Task.Id + Task.Name) This approach might be promising, but console interfaces are hard to grasp for most people. It seems this should be a fall-back from some other solution. Tools like Siri show some promise. In general some people use it to do actions like setup a meeting or send an email. However, it is not about automation. NLP can be used to describe desired automation, but it is very hard to do even conceptually, not even thinking about technical difficulties. We have to transform human text into formal lower level constructs (like DSL), and this is hard to do. Still there are some attempts in  NLQ  that looks interesting. Forms is one of the most popular approach to design automation rules. There are many systems like IFTT and Zapier that follow this way and all of them are quite successful. People are familiar with point-and-click interfaces, so it is natural to use this approach for everything. The problem is that automation rule is an algorithm, not a static structure. And it is  very hard to visualize dynamic things like algorithms using static images and static UI . You have to be able to re-play the flow in your head with some visual hints from UI. We can “show“ to a system what we want to do and “record“ a manual flow to translate it into automation flow. For example, Photoshop has macros’ that can be recorded and executed on many images. It looks like a possible way to go for a single system, but almost impossible for several systems. For example, we can merge several actions in Fibery into one: This is a simple case where we select  exact  values, so we can record this flow and execute it with a single button click. Let’s say, we create Plan button that will execute these actions when clicked. It can be more complex: In general we want to assign all search related bugs to Vadim, but system will not understand this generalization. However, if we create this macros, it might be easier to clarify what we want in the macros than creating the whole rule from scratch. Imagine, we can edit a macros and set a condition (filter?) for entity creation, like Name.Contains(“Search“). You can assemble automation rules using pseudo-code or block-schemes. The advantage is that  it visualizes flow  somehow. You can imagine that entity flows from top state to bottom state via some conditions and actions. Still it is an abstract representation that barely adds something useful on top of basic text. In fact, you can imagine that every line of text is just the next step and have a very similar representation with one exception — conditional logic. It is much easier to see logic branches here: Moreover, here we have DnD interface that you manipulate directly and it is closer to WYSIWYG principle. Basically, you name every step of the algorithm and thus have better understanding what is going on here on a high level. However, details of every steps are somewhat hidden, so for power users it might be not the fastest way to create automations. You can create high level flow using blocks and specify block details using Form UI. You can create the overall flow using blocks, but every block has DSL or code inside. Thus you split algorithm/flow creation into manageable pieces and it may not look like programming at all. It may be as complex and Formulas in  Fibery  and this level of complexity can be low enough to allow many people create automations. Change state to  Planned Set Planned Quarter to  Q1 2020 Assign to  Me Create new Bug named “Problem in Search module“ Assign to Vadim Automations creation is a heavy cognitive task . It demands significant effort from a person and somewhat “programming-oriented mind”. You have to think about the process flow and this is often very hard. Even simplest algorithms are  hard to grasp and internalize  to a formal form. Validating and debugging automation rules is very hard . You should be able to understand what step failed and why. This is as close to programming as you can get. Connecting external tools is hard . You have to pass authentication barrier and somehow get the tools terminology to understand what to do. When tools name same things differently, you have a mismatch to overcome every time you create a rule. It seems WYSIWYG approach with some real-time feedback  (check  Bret Victor ideas )  is a way to go for mere mortals . Still flow visualization is hard. We should try to help people with visual queues, current state visualization, etc. We should augment human thoughts and help them penetrate rules creation barrier. For example, user can provide some sample data and on every step we can show how this data looks. It is interesting to think about declarative approach. Can we describe  what we want to achieve with a rule instead how to execute it ? SQL does that well. Can we apply similar approach? Like describe initial state, describe event, describe final state. Can system build rules based on this info?

0 views
mdubakov 7 years ago

📘 A Small Matter of Programming: Perspectives on End User Computing

Back in the ’90s, people were already doing what we’re more or less trying to do now at Fibery . Unfortunately, the arrival of the internet practically froze all progress in the field of no-code solutions (tools where users solve their own problems by creating custom apps—think Excel, AutoCAD, etc.). Almost every chapter in the book is excellent. In particular, you can find answers to questions like: Why are voice interfaces unlikely to become mainstream? Because for many tasks, they’re simply too slow. Why shouldn’t we underestimate the intelligence of users? Most people are focused on solving a specific problem in their own domain. Programming, as an intellectual game, doesn’t interest them at all. But many still manage to do surprisingly complex things with their tools—building incredible spreadsheets full of formulas or writing macros. Why are general-purpose languages bad for end users? Because the learning curve is too steep, and they’re too far removed from the user’s actual domain. Advanced users need task-specific languages—in other words, DSLs. What are the possible approaches to creating applications? Visual programming, form-based programming, programming by modifying examples, automatic app generation. And why none of these approaches really work on their own—because only a healthy mix of different techniques can deliver the right level of abstraction for different problems. Why did HyperCard (long ago) and Eve (more recently) fail? Because they were too generic as app development environments, which created a high barrier for curious end users. And programmers had no interest in them at all—they already had IDEs and Java. For anyone building no-code platforms, this is a fascinating book, full of examples and deep insights. I found it especially interesting to realize how much of what we’re doing at Fibery mirrors the authors’ ideas—reinventing wheels from 25 years ago. But what can you do? On the web, we’re forced to invent those wheels all over again…

0 views
mdubakov 7 years ago

📒 The Buddha's Way of Happiness

The Buddha's Way of Happiness is the sixth book about Buddhism that I’ve read, and one of the best. Maybe it just felt that way because my brain has finally accumulated enough connections. Or maybe the author really does know how to convey Eastern concepts to Western readers. I won’t analyze the book in depth, let’s just look at what stayed with me after reading it. Apparently, dissociation, interconnectedness of reality, and mindfulness truly are the only path to happiness. I liked the concept of universal interconnectedness and constant change. The atoms of your body come from many different places, forming a complex dissipative system that will last a few decades and then fall apart back into atoms. In your body there are parts of the sun, the Baltic Sea, some pine tree, and maybe even a couple of atoms from Isaac Newton. Later, your atoms will end up who knows where. This perspective on life makes it easier to understand death. The concept of no-self is very difficult, and I can barely grasp its essence. The book spends quite a bit of time on it, but it’s still hard to gain a clear understanding. The general idea is that you can’t find a “self” in the body — it just doesn’t exist. You can change your body, perception, brain structure, and everything else, yet remain the same complex system. The hardest question for me was about consciousness, but my wife gave a great example. Suppose you have late-stage Alzheimer’s. Is that still “you,” or not anymore? Your consciousness has changed so drastically that it may differ from your past consciousness even more than it differs from someone else’s. Is that still “you”? In such a thought experiment, it’s actually very difficult to locate a “self” in the body. It’s not there. You are a dynamic system, whose characteristics change over time — sometimes slowly, sometimes very quickly. This kind of dissociation is hard to reconcile with our past experience, because we barely notice changes. We see ourselves every day and only notice big things, like serious illness. People in general don’t perceive time well. I can say that I developed some intuitive sense of no-self, but attempts to accept this principle provoke fierce resistance in the mind. The path to happiness is very short. It runs through immersion in the present moment . In our society, this is lost, and that’s why mental disorders are on the rise. We are always living in the past or the future, or somewhere off to the side, and we rarely dive fully into the present. But happiness in the past or future is impossible — it’s only possible now . There are many practices to learn how to be in the now . Lots of different meditations. In general, meditation is the foundation of mindfulness. You need this foundation in order to return to mindfulness as often as possible throughout the day. I really liked the practice of using pauses. For example, when you stop at a red light, don’t let your thoughts run away somewhere far — instead, pay attention to what’s happening around you: people crossing the street, clouds, the architecture of the buildings, the rain, or the shop signs. It’s like a mini-meditation in the moment. You can do the same while going up the stairs, waiting for the subway, taking the first sips of coffee, or stepping into the shower. There’s also a cool walking meditation: you just walk, count your steps with your inhales and exhales, and stop to admire something interesting (hint: everything around you is interesting).

0 views
mdubakov 7 years ago

No-code Revolution. Why Now?

It seems no-code software is booming. Fast adoption, huge rounds, insane valuation 🦄, happy customers. Why now? Why not 20 years ago? Why not 20 years in the future? This is an interesting question I got from one VC partner. I didn’t manage to answer it clearly on the spot and have been thinking about it for two weeks. Now I get the answer, but we have go back in time first. Software industry is relatively young, we can give it ~60 years. First programs were focused on military and scientific needs and commercial software appeared somewhere around 1960. Rapid growth was ignited by microcomputers around 1980 and it means commercial software enjoyed only 40 years of rapid growth. All milestones are pretty obvious: I define four waves that describe influence (hype!) of software in a given period. Note that I focus mostly on productivity tools, not games and entertainment. The waves below are not discrete for sure, they are continuous and overlapping, so take exact years as an approximate timeframe of major influence. Four software waves from 1960 to 2030. 1960–1980 Smalltalk, SQL, NLS, AppleWriter. NLS by Doug Engelbart (1968). No GUI, sorry. In 60s almost any software user was a programmer. Golden age of true hackers! Want some game? Write one. Want some programming language? Create one. Want a computer? Assemble one. Altair 8800 (1975). Programming Altair using switches was  not an easy task . Hackers didn’t need no-code tools. Why? They can code fast and do all the things they need. Any no-code tool may slow them down and make feel less powerful. It was not a good time for no-code tools. 1980–2000 VisiCalc, Microsoft Word, Excel, PowerPoint, Photoshop, Dreamweaver, Microsoft Project, etc. VisiCalc on Atari (1980). Commercial software development evolved here. Hackers transformed into entrepreneurs and become to start companies. Games, productivity software & development tools blossomed. Macromedia Dreamweaver (2000) People usually used all the tools alone. Collaboration was hard. You exchanged files and source code. For example, how to review MS Word document? You write the document, send it to an editor by email, pray the editor uses the same version of MS Word, receive the document back in a couple of days, review all corrections, add your own comments and send the document again, etc. Huge email threads with dozens of document versions were usual things. Most processes were rigid, with clear phases and no overlaps. Waterfall was popular those days. It is not now. Personal no-code tools did appear in this period. Spreadsheets, CAD systems, statistical packages, Wolfram Mathematica and other specific solutions. Spreadsheets were very popular and people did insanely complex things with them. Do you remember  HyperCard ? Do you remember Microsoft Access? These tools were popular, but still demanded some (or even significant) programming skills. There were attempts to bring end user close to the problem, but with moderate success. Hackers generation has been busy with startups, new generation has been exploring PC and games. No revolution. Still I think we’d start to see significant progress with no-code tools, but the third wave collapsed the early attempts. Why? Because internet was invented. 2000–2020 Google Docs, Google Spreadsheets, Figma, JIRA, Salesforce. Google Spreadsheets (2010) Internet changed everything. Initially traditional businesses were transferred to the web, but productivity tools followed shortly. Salesforce was founded in 1999, JIRA appeared in 2002, Google Docs released in 2006. Internet powered collaboration software.  You can write documents together, work on business models, plan team work and design interfaces together. Collaborative software started to replace personal software. Eventually almost all software migrated from desktop to the web. The last bastions are design, programming and games, but Photoshop lost to  Figma  and it seems in the next decade programmers will follow. Web based IDEs are not super powerful at the moment,  but they will  for  sure . We can safely proclaim that desktop is almost dead by now. Only games and heavy apps are keeping it alive. No-code tools did evolve at this period. Spreadsheets moved to the web and few notable vendors appeared, like  QuickBase . However, web development was not mature enough to replicate power of HyperCard or Access.  We suddenly lost all advances in desktop software development and had to start almost from scratch.  Remember how hard was to create Gmail in 2004? And it was not even close to desktop email clients! In the next 10 years we learned how to live with Javascript, invented React and started to gradually replicate and kill desktop software. No-code time has not come yet technologically, while users were ready for it to happen. It was pointless to create no-code software on desktop at this period, but it was hard to create no-code software on the web as well. It was a technological pit that buried no-code revolution. 2015–2035 Airtable, Coda, Notion, Webflow, Retool, Bubble.is, Zapier, Zoho, Shopify, Readymag, Fibery. Webflow (2017) Web development grew the muscles and is ready to attack any problem now. Complex web applications are a reality. Finally web catch up with desktop (well, almost) and started to innovate. What we have already? The wave of no-code tools is happening right now. Still, why now? Is it time? I think it is time and I see three major factors: In a nutshell, web is finally evolved technologically to make it possible and people are ready to accept it to shorten feedback loops and iterate faster. Indeed if a marketer can create and update website she can iterate and try various copy and ideas faster. If a consultant can automate her unique process into a tool in hours, she can solve customer’s problem faster and show the value of her efforts. If a small business owner can build an app for his needs, he can increase business efficiency with automation and save valuable time to expand his business. I hope at this time some company is disrupting JIRA. We can’t be sure that existing vendors will dominate the no-code space (I mean Airtable, Notion, Coda, Webflow, Retool, etc). But I’m pretty sure this wave is here and in the next decade it will flush many “Wave 3” vendors into oblivion. 🌊 Personal computers & desktop applications Internet & web applications Mobile and cloud (this milestone is not so important here I think) Microsoft Excel → Google Sheets →  Airtable ? Microsoft Word → Google Docs →  Coda ? Notepad → Dreamweaver →  Webflow ? SQL & Programming → Microsoft Access →  Retool ? Microsoft Project → JIRA →** ?** We have to keep up with accelerating world.  Future is less predictable, choices are less clear, hardcode solutions are less efficient.  End users have to be closer to solutions and should solve their problems by their own, using their domain knowledge and power of no-code solutions . People demand faster solutions, faster iterations and faster feedback. We accumulated enough knowledge to  generalize existing solutions and rise abstraction level . We can build general UI and flexible domains. Web moved out from technological pit and finally we can expand software from 2000 and move it closer to makers. We can  co-create things and share results immediately  with our team members. This is much more satisfactory for makers than do everything alone and use it alone.

0 views
mdubakov 7 years ago

📘 The Dream Machine

J.C.R. Licklider is quite unknown outside US. It’s a pity, since he influenced computers evolution enormously. As a head of ARPA he put money into many obscure research groups, thus literarily emulating VC in 60s! He did not like to write papers and books, but loved to invent things, talk to people and share ideas. And he had many. This is an overview of the whole computer industry from 50s to 90s. And this is good and bad at the same time. Overall this is a very decent book , but somehow you have very few highlights after reading it. There are still some: You feel broad picture and how huge areas were evolved and connected You jump into some details to zoom into PARC, ARPA and somewhat MIT Too many names and characters. It is hard to follow them all, but I don’t know how to solve this problem to be honest Few technical details, so it is hard to get the technical evolution right. APRA indeed greatly affect computer industry evolution and sponsored researches by Doug Engelbart and other un-obvious people that most likely would not get funding otherwise PARC indeed invented the future (Alto) and throw it away. They were 10 years ahead with personal computers… You often have a vision, but can’t foresee all details. Thus it is good to pursue it via dozens groups that probe various directions and discover new information. This is expensive, but grand ideas are always expensive… VC works (in general).

0 views