What is Querki?
Everyone's first question about Querki is, of course, "What is this? Why would I need it?" I have lots of different answers, but my favorite goes like this.
We all have a lot of information floating around our lives that we want to keep track of. It's different for each person, based on what we're interested in and what we do. Some of my personal examples (which I have used Querki for) include:
- Keeping track of the gear owned by a bunch of friends I camp with
- The various games that my monthly poker table has come up with over the years
- Listing all of the audio courses I listen to in the car, and what I thought of each one
- Reviews and notes on my wife's and my favorite recipes from our cookbooks, and the shopping list for each recipe
- Photo galleries for my wife's cross-stitch projects
- Our daily shopping list
- The lyrics to songs that I like for sing-alongs
- Writing documents (this tutorial is all perfectly ordinary Querki)
And so on -- I have a lot of these by now. Each of them is very different, but each one is basically a bunch of information for me or one of my communities. None are really all that complicated, but you need to keep track of different information for each.
And the thing is, while there exist online apps for some of those, they don't exist for all of them. And those apps often aren't quite right: they don't record everything I need, or they're organized wrong, or (more often than most folks realize) they're selling all of my information to advertisers, who use it to send me more spam.
That's where Querki comes in. It is a way for you to keep track of your information, the way you want it, not the way some distant programmer or corporate executive thinks you should. You should be able to share that information with exactly who you want, without advertisers (or worse) spying on it, and it should be easy to work together on it. You should be able to use it from your computer or your smartphone, having it all there when you need it.
Sidebars: from time to time in this manual, you will come across "Sidebars" like the one below. These are topics that are probably interesting to some folks, but not everyone, so they are hidden by default. Just click on the Sidebar to open it up, if you'd like to read it.
For programmers, database engineers, and the like, I happen to like this simple elevator pitch:
You're a serious programmer. You eat Perl, drink Java, and nibble on Rails for dessert. You know that you could come up with your One True Online CD Database app in just a day or two of hardcore hacking.
Why would you spend two days on that? It should take ten minutes!
Querki is to a modern database-centric website more or less exactly what a wiki is to an old-fashioned static website. It's not as powerful (yet) as building it all yourself in SQL (or Mongo or some other DB), Rails (or PHP or Perl or some other server language) and Javascript (or CoffeeScript or whatever HTML plugin you like). But it is one heck of a lot faster and easier, and most of the time it's plenty good enough.
Querki is basically a wiki on steroids: a site where you can create your own distinct Spaces, each of which contains just the data structures (Models), records (Things), reports and permissions that you choose. Each Thing knows how to render itself as a webpage, so instead of just having plain pages the way a traditional wiki does, you have self-rendering data. You describe how to render rich text using the QText language (basically a dialect of Markdown), with arbitrary logic written in QL, a relatively simple programming language designed specifically for this purpose.
Frankly, Querki isn't trying to solve every problem -- and that's kind of the point. Since its inception, the software industry has spent most of its effort chasing the 20% of problems that are Hard and Interesting. But they've been ignoring the 80% that are just plain easy. The result is that people tend to use things like spreadsheets or even text documents to manage problems that are really simple databases. And we engineers wind up cobbling together hacky little apps when it finally annoys us too much.
So Querki's motto is "Easy problems should have easy solutions". Querki is mainly aimed at making it really easy to build tiny Apps for individual use. It's useful for small businesses, but we're not even trying to tackle the Enterprise market. (Yet.)
It's worth noting that Querki is limited to "small" databases. Initially, that means hundreds-to-thousands of Things, and we're eventually shooting for tens of thousands -- plenty big enough for most personal and community applications, but not trying for corporate. Everyone else is working on Big Data; Querki is trying to lead the Small Data Revolution. We're specifically focused on the problems that are a little bit complex structurally, but don't involve tons of records.
What do you get from it? Not only is it easy to build Spaces, but every Querki Space is:
- Mobile -- the system uses modern Responsive design, based on the Bootstrap libraries. So long as you don't do anything to defeat that, Querki pages usually work well on smartphones.
- Collaborative -- Spaces are designed to be shared as appropriate, and allow Conversations on each Thing. Most Spaces involve more than one person, and in the modern cloud-oriented age it's silly to not be able to share and collaborate. Under the hood is a robust security model that provides fine-grained control over who can do what.
- Repurposable -- Querki is built for the tinkerer, but most folks don't want to reinvent the wheel. So Querki's App system (currently in alpha) will let you take your nicely-tuned Space, and in just a few clicks you can pull out its structure, letting you share it with others.
- Social -- over time, Querki will get integration with social networks like Facebook and Twitter, so you can let your friends know what you're working on, and invite them to join in if you choose.
All of this will be available right out of the box. Instead of cobbling your app together from lots of disparate pieces, and wrestling with integration, Querki is combining many best-of-breed elements to make it really easy to build good stuff.
The philosophy is simple: it should take less time to build your application than it takes to figure out the schema. Build it fast, try it out, tweak it, let it evolve, and focus on filling in your data instead of programming.
What "Beta" Means
One caveat to keep in mind: Querki is still in Beta. That means that we're still working on it hard, making it better. There are definitely still bugs, and you should expect the details to keep evolving for a while yet. On the plus side, that means that the power already here is just scratching the surface. Over the next few years, we're going to keep fleshing this out and making it better, and you'll get those new features as they come in, automatically: the Spaces you create today will continue to improve as Querki does.