Currently there are 18 apps (called "modules") on Nino:
- Database types: Sheet, Form, Calendar, Gallery, Board, Todo, List
- Composition types: Doc, Slide, Drive, Notebook, Canvas, Grid, Blog, Site
- Communication types: Channel, Chat, Meet
I want to improve these modules and build more. Your feedback is important!
FAQ: How is it different from Google Workspace, Microsoft 365, or startups like Notion and Clickup?
A: I think Nino has a better foundation to (1) consolidate a lot more apps than they currently do, (2) drastically improve speed with offline architecture, and (3) offer unmatched privacy and security with end-to-end encryption (coming soon)
Let me expand on these points:
1. Consolidation
In Nino, pages and blocks are interoperable with each other. Google and Microsoft still have mostly isolated apps. Nino is one (super)app that supports 18 modules, saving you time from switching and integrating between different providers.
2. Offline mode
This is actually more complex than it seems, but I ultimately decided it's worth it, not only for people who need to work without internet, but also for everyone else who want instant page load. Everything is saved locally by default.
3. End-to-end encryption (E2EE)
This is just a preview and not open to public yet, but is something I have been building alongside since day 1. In fact, it's likely not architecturally possible for existing products to add later on. Nino is built to offer both E2EE and cloud features (backup, search, collaboration).
One more thing: pages on Nino are also publishable! There are blog and site modules, but you can also publish other modules (i.e. sheet, board, canvas, etc.) on your custom domain or on a free nino.page subdomain.
Give it a try and let me know how it can improve. I want to hear from you.
Customers are going to store surprisingly large items in Docs, where you’d be tempted to inline them instead of offloading to S3 et al.
Chat practically needs to be its own DB. Discord runs on Scylla, Slack runs on Vitess over MySQL. The needs of chat access are wildly different from other types of storage.
If you’re doing any kind of active-active, have a plan for how to move off of that, because it does not scale (at least, not without breath-takingly expensive hardware).
Source: DBRE at one of your competitors.
EDIT: The fact that you’re doing offline saves (which is very cool!) makes me think that you may be using something like Ditto [0], which IIRC is MyRocksDB under the hood. I have no experience with either, but I do know some super sharp folks working at Ditto.
[0]: https://ditto.live
Unless they define, upfront, specific problems people really have, that their unified solution solves, then nobody is going to pay attention.
The second biggest problem is having an interface design team that makes all of those disparate apps consistent enough to be more usable than individual solutions. The fact that nearly no popular user-facing applications are developer-managed FOSS (as opposed to Firefox/blender/signal/et al which are managed by a company that hires professional designers) despite being free, tells you everything you need to know about dev-driven UI/UX. This is coming from someone that worked as a full time developer for years and contributed many thousands of hours of coding to FOSS projects before switching to design.
To me, rsync.net is peak design. It has just enough modernity to appeal to people who might expect that, but it quickly gets out of the way and tells you what it is, why it matters, and how much it costs.
At the other end of the spectrum, there’s tarsnap.com, which is probably a turnoff for anyone who doesn’t like text. I love it (as, apparently, do enough other people to keep its author comfortably employed), but I get that it’s an extremely narrow niche.
Case in point of “engineers are not product people”
Back in the day, here is Sokovia, there was a local competetitor to Facebook. They had a great start and everything went perfect for them, but it quickly turned out that the technical side was really bad. Sluggish interface, constant outages, etc.
They tried to rewrite the app from scratch two times, and eventually failed.
So yes, making sure you're moving in the right direction at the beginning of your journey is pretty important. You don't have to overengineer and stay in your shed until you have a complete, feature complete product, but at least make sure, that you're building on the right foundation.
I wish we would develop software where the data model could easily change.
To do this every data dependency in the system needs to traceable. Nothing does this so far. And everyone just picks a database off the shelf but none are even remotely useful for this.
Schemaless was one of the original drivers for NoSQL databases.
Now, when I need something schemaless, I start with a Postgres table with an ID and a jsonb or json field... which at least makes it easy to have a schema when the inevitable happens and schema-dependent code ends up getting added to the project.
> To do this every data dependency in the system needs to traceable.
This is a hard problem.
Unfortunately, at a very deep level, that’s simply not how RDBMS works. The tuples are a B+tree, and in some (MySQL [InnoDB], SQL Server) cases everything is clustered around the PK. If you don’t create a data model that’s easily exploitable for optimizations designed around that data structure, you’re gonna have a bad time. It’s no different than if you decided to use strings to store ints – you _can_, but it’s a bad idea for a variety of reasons.
What you can do is give yourself as much leeway as possible, by following some basic best practices. For example, it’s a hell of a lot easier to update a tiny reference table than to update billions of rows when you decide that column `region` should say `European Union` instead of `EU`.
> Sync aPPS WItH OR WItHOUt tHE InTeRneT
IME, many SaaS companies have eschewed the idea of having any DB experts, and this inevitably leads to pain down the road.
[0]: https://www.notion.so/blog/data-model-behind-notion
[1]: https://www.notion.so/blog/sharding-postgres-at-notion
[2]: https://www.notion.so/blog/the-great-re-shard
As a business user it's not clear how I would use it, and why I would care.
Your front page reads as:
> Nino is a collection of apps that can interoperate with each other on the block-level from one uniform interface. It has interoperable pages and blocks. It is flexible, extensible, and adapting to your needs as you grow, as Nino helps you consolidate tools and reduce costs. It has page sourcing so you can view pages in a different way. It has page embed, so you can sync page to another page. It has sync block to another page, but you can also block mirror and sync block on the same page.
A good comparison against your front page would be against monday.com or Asana who start with use-cases and practical application. See Monday:
> Monday - A platform built for a new way of working. What would you like to manage?
> * Work Management - Run all aspects of work
> * Sales CRM - Streamline sales processes
> * Dev - Manage product lifecycles
Then if I click any of those categories, it goes into the exact ways it can help me.
Was willing to spend 5 minutes on a walk. Tried the web app - ios safari is not supported :( downloaded the ios app and registered. Got a totally blank app - no onboarding, no template / samples, no obvious way to import from my existing google sheets to see how things scaled. I added a datasource and a few fields (which felt confusing) and my walk was over.
Dead Comment
https://www.youtube.com/watch?v=u4ZoJKF_VuA
I also suggest reading his book.
In terms of this theory you should communicate like this: Why, How, What
You are starting from your 'What'.
I haven't really grasped the core of your product, but to restructure it could be something like:
Stop wasting time looking up documents, e-mails and chats in different systems. Stop paying for 20 different single purpose services just to run your business.
By having everything in one place it is easier to find and share information throughout you business. Creating custom combinations of docs, chats, sheets, forms, etc will allow you to create the tool to support your own processes and ways of thinking rather than having to learn some app's way of thinking.
Nino allows you to quickly build your own custom flows using modular building blocks. Create the tools that you need and have all of your information in one place.
Thanks guys for the feedback. I think it's pretty clear what should be worked on next.
Sounds quite a bit like Notion. A comparison would be apt.
Also sounds a bit like OLE / OpenDoc on desktop, embedding an Excel sheet into a Word doc along with an Access form. If it can do that, it could make quite a demo.
But seems to have devolved into generic state synchronization library these days.
My initial thought was, this vision looks like what happens when a company realizes that their core product is less valuable than everything adjacent to it and starts growing their product a dozen different directions simultaneously.
But maybe there's something different about embracing this holistic vision from the start, as opposed to trying to be focused and then getting forced into scope creep.
Use case 1, document management: This basically just means that you need to implement the capability to “publish” a document version, permanently view that document version (think tag), and auto generate a document “identifier” using the companies naming convention (and allow this to be embedded automatically in the document so the client can use it too). The document ID might look something like SOP-2401001.
Once a document is published it should be read-only, and you should be able to put artifacts a long with published documents … ie exported PDF copies, or signed copies or something.
Use case 2, document siloing: One of the most difficult parts of document management is creating forms for procedures, and then teaching everyone how to not ruin the document management of these forms once they are filled. I have always wanted a silo that automatically copies a form when you start to fill it out, allocates it a brand new document ID, and collects it together with all the other forms of the same kind.
This could be integrated with an automation platform so that ie if you fill out a form it sends someone an email or something like that. Or if you wanted to get really fancy, you could allow people to define “workflows” for documents and actually visually show a business process alongside a document.
I've installed it on my Mac and am trying to add a set of records representing contacts with a couple of basic fields: name, phone, birthdate. I want to query those records elsewhere in other modules.
The app is giving no guidance on how to do this. On open, it just shows me a blank tab, and I had to try a few different controls to work out how to add a module. I don't know which module I should use to add queryable records, so I'm trying Board.
Now that I've added a board, I can add a first record but there doesn't seem to be a way to add a second. There are columns named "None" and "Unnamed"; the one named "None" has the first contact in it. Pressing the "+" button in the corner adds another column. Eventually, I drag the record from "None" to "Unnamed"; "None" disappears, now there's just "Unnamed", and I can add other records.
I'll keep playing with it a little, but there's only so far that people can be expected to try to work out the usage model that you've designed this for. Sure, there are loads of modules, but how do they link together? An example setup for a fictional team might really help here.
I'd be interested in giving it a try, but doing so would replace existing tools and workflow. As a user, I'm unwilling to do this is I can't both own my data and application hosting.
If Nino doesn't pan out and the product gets shut down, how do I continue to access my now (trigger warning, words used to describe as I understand, not critique) tightly coupled proprietary data? Can I self host? Is source code available? Are document formats open? How do I not get screwed as an enthusiastic adopter in the unhappy case that things don't work out? If I put my data in and the product isn't working for me, how do I get my data out?
Most elements of Nano have widely accepted standards, presumably easy to integrate, so that guarantee should be doable.
Self-hosting might be too complex to setup, but do you think single tenant offering helps? I don't know if it makes sense for individuals tho.
In addition to HTML & CSV, there is an option to export JSON, which supports more formats. In a way, it is an open format (.json) but I'll have to add relevant documentation. PDF support will also come at one point.
Check out Bitwarden and Gitlab's self-hosting approaches, and congrats on the launch. I'm excited to try it.
And regarding self-hosting complexity, start with a "docker-compose up" example and iterate from there.
Some feedback:
Who is the customer for this? Can you describe what their day looks like and how Nino helps them get their work done better/faster/cheaper? What are the top 5 problems that they face that Nino is clearly better than the competition? Be specific and show the workflows.
Where do they work? Who do they collaborate with? What are they collaborating on? Do the same exercise - SxS comparison with how they do things in existing tools and show how Nino is clearly better than their existing solution.
Finally, don't ever underestimate how difficult it is to get people to change from whatever they are doing today. Today is not 1990 - people have been using solutions to the general information worker problem for decades now. Why will they switch?
For example as the head of devrel at the last company that I worked for, we used Atlassian products for internal documentation and work tracking, we used Google's docs and sheets for collaborative writing with external teams, and we used github and markdown for external docs building. It's all text, but the work flows were different, had different needs (like permissions), and ultimately we found the right tools for the job.
I wish you luck with this endeavor, but I hope that your looking for a specific problem. To solve that isn't "app chaos".
I'm building something similar after spending 10+ years working with those numerous different apps day in and day out in quote-unquote "high stakes" white-collar roles. It's early days and I'm approaching it from a slightly different angle, but there's a certain amount of overlap between the two visions. I'm focusing on a smaller set of apps but more fleshed out set of features, aiming for feature parity with incumbents + my own features (which incidentally is why this is taking a while to build well...)
Curious to see how Nino progresses and we should connect later on when I have something tangible to show, if you're up for it