couchdb-marketing mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andy Wenk <andyw...@apache.org>
Subject Re: Blogpost: "Databases aren't boring"
Date Fri, 22 Apr 2016 08:53:46 GMT
Here is the preview: https://couchdbblog.wordpress.com/?p=973&preview=true

Not sure if you can see it Robert. Please someone else have a quick check. We can post it
then? The question is when?

All the best

Andy
--
Andy Wenk
Hamburg - Germany
RockIt!

GPG public key: https://pgp.mit.edu/pks/lookup?op=get&search=0x4F1D0C59BC90917D




> On 22 Apr 2016, at 10:47, Andy Wenk <andywenk@apache.org> wrote:
> 
> I am creating a draft at the moment … will be back in 30 Minutes with a link
> 
> Cheers
> 
> Andy
> --
> Andy Wenk
> Hamburg - Germany
> RockIt!
> 
> GPG public key: https://pgp.mit.edu/pks/lookup?op=get&search=0x4F1D0C59BC90917D
> 
> 
> 
> 
>> On 22 Apr 2016, at 04:32, Robert Kowalski <rok@kowalski.gd> wrote:
>> 
>> forgot to add the images:
>> 
>> https://github.com/robertkowalski/couch-labs/blob/blog/blog/databases-are-not-boring/1-to-1.png
>> https://github.com/robertkowalski/couch-labs/blob/blog/blog/databases-are-not-boring/diff.png
>> https://github.com/robertkowalski/couch-labs/blob/blog/blog/databases-are-not-boring/first-prototype.png
>> 
>> On Fri, Apr 22, 2016 at 12:10 AM, Robert Kowalski <rok@kowalski.gd> wrote:
>> 
>>> Hey there!
>>> 
>>> Here is the latest version, thanks to the awesome help of Jenn!
>>> 
>>> I am leaving for Cuba in 6 hours, it would be cool if someone could
>>> publish it. The feature is already merged. Please decide how you want to
>>> handle the video (embedded youtube, gif or something else).
>>> 
>>> Thank you,
>>> Robert
>>> 
>>> 
>>> Original video:
>>> 
>>> https://dl.dropboxusercontent.com/u/1809262/rev-browse.mov
>>> 
>>> gif: https://dl.dropboxusercontent.com/u/1809262/revision-browser.gif
>>> 
>>> Article:
>>> 
>>> ---
>>> 
>>> # Databases aren’t boring
>>> 
>>> It sounds super boring, sometimes scary. Let’s talk about database
>>> development, data management, and database administration. Sounds boring,
>>> right? I promise: it isn’t. I mainly develop for [Fauxton](
>>> https://github.com/apache/couchdb-fauxton), the UI for CouchDB we’ll
>>> release with 2.0. We are developing, designing, and concepting a UI for
>>> administration and data management.
>>> 
>>> When I tell fellow developers and designers that I develop a database,
>>> many of them look scared. Sometimes they also look bored, because people
>>> rarely imagine data management is exciting. Some of them might think of
>>> boring database courses in college. In this article we’ll discover what
>>> makes database development so interesting and exciting.
>>> 
>>> One of our main objectives is to make data management as frictionless as
>>> possible for the user. How can we lower the entry barrier for new users,
>>> but still support our power users? How can we display data in an accurate,
>>> detailed way, but still have a high density of information? How do we
>>> measure our success without traditional systems to measure engagement, like
>>> tracking? It is important to remember--we can be successful only if our
>>> users are successful.
>>> 
>>> A recent example where we want to make our users more successful is
>>> [eventual consistency and MVCC](
>>> http://guide.couchdb.org/draft/consistency.html). Large numbers of
>>> conflicts can be problematic; they will slow down the database and take up
>>> a lot of space. Some of the Fauxton developers recently had a hackweek. As
>>> part of one project we asked ourselves: “How can we make conflict detection
>>> and resolution a first class citizen in CouchDB and make it as frictionless
>>> as possible?”
>>> 
>>> Our goals:
>>> 
>>> - Conflict detection should be as easy as possible
>>> - Make conflict resolution as easy as possible and provide necessary
>>> tooling
>>> - Help to avoid situations where a large number of conflicts become
>>> problematic
>>> - Provide better education and tutorials for conflict resolution, directly
>>> in the dashboard
>>> 
>>> We focused mainly on conflict resolution as our time was limited to one
>>> week. A document with conflicts has different revisions, and Couch elects
>>> one as the “winning revision.” How to choose the right revision and get rid
>>> of the other ones? Our project, codenamed “The Revision Browser,” was born.
>>> We wanted to provide a way to easily diff revisions, and inspect the
>>> revision tree. We also wanted an easy way to delete conflicting revisions
>>> and select other revisions as a winner. The first, ugly prototype had two
>>> dropdowns:
>>> 
>>> ![The first prototype](first-prototype.png)
>>> 
>>> We are a distributed team, so use video calls for evaluating the
>>> iterations. We demo the current, incomplete work. Whenever possible, we
>>> test ad-hoc changes directly in the browser during the session. One
>>> addition that came up during our demos was to provide another view mode
>>> next to the “diff mode”. It shows both conflicting documents next to each
>>> other:
>>> 
>>> ![Both conflicting documents next to each other](1-to-1.png)
>>> 
>>> After the hackweek we had some work left to bring the project over the
>>> finish line. I am happy to announce that we have a minimum viable product
>>> now:
>>> 
>>> ![The diffing for both conflicting documents](diff.png)
>>> 
>>> The feature was created in close collaboration with other developers and
>>> UX researchers. [Here is a video showing the new features in action](
>>> https://www.youtube.com/watch?v=3G8d7PzMVsk):
>>> 
>>> 
>>> 
>>> <iframe width="420" height="315" src="
>>> https://www.youtube.com/embed/3G8d7PzMVsk" frameborder="0"
>>> allowfullscreen></iframe>
>>> 
>>> 
>>> Data management is also interesting from the technical point of view. How
>>> can we display a lot of documents, but keep the application snappy?
>>> 
>>> The revision browser is written in React. The code itself is pretty
>>> concise as we recently added ES 2015 / ES6 support to Fauxton. Thanks to
>>> our test coverage, we can refactor large parts of Fauxton. Recently, we
>>> changed the whole infrastructure underneath without much trouble.
>>> Interested in the code? It is available at:
>>> https://github.com/apache/couchdb-fauxton/pull/670
>>> 
>>> 
>>> 
>>> ## Conclusion
>>> 
>>> 
>>> Despite its image, data management and database administration IS
>>> interesting. We face hard problems from a product point of view. They are
>>> challenging and it is fun to solve them in a team including developers, UX
>>> researchers, and designers. We also face interesting technical problems and
>>> solve them with the best technology available.
>>> 
>>> 
>>> ## About the author
>>> 
>>> Robert Kowalski is a passionate software engineer and CouchDB contributor.
>>> He enjoys traveling and recently released a book about command line tools
>>> in Node.js, [The CLI Book](http://theclibook.com).
>>> 
>>> 
>>> 
>>> On Thu, Apr 21, 2016 at 12:50 AM, Robert Kowalski <rok@kowalski.gd> wrote:
>>> 
>>>> here is the original source of the video (maybe to create better gifs i
>>>> my does not suffice?):
>>>> https://dl.dropboxusercontent.com/u/1809262/rev-browse.mov
>>>> 
>>>> On Thu, Apr 21, 2016 at 12:48 AM, Robert Kowalski <rok@kowalski.gd>
>>>> wrote:
>>>> 
>>>>> here is the gif:
>>>>> https://dl.dropboxusercontent.com/u/1809262/revision-browser.gif
>>>>> 
>>>>> On Tue, Apr 19, 2016 at 8:56 PM, Jan Lehnardt <jan@apache.org>
wrote:
>>>>> 
>>>>>> ooooh, I really like this, the feature and the writeup! Thanks for
>>>>>> offering to post
>>>>>> it on the CouchDB blog. I’d be very much in favour!
>>>>>> 
>>>>>> I’d suggest we put this in a google doc and give it an editorial
>>>>>> once-over (looking at Jenn with puppy-eyes ^^), but then this is
ready to
>>>>>> go.
>>>>>> 
>>>>>> The video could maybe be a gif, so we can tweet/share it more easily,
>>>>>> if you are up for converting it (or anyone, really).
>>>>>> 
>>>>>> Great job! :)
>>>>>> 
>>>>>> Best
>>>>>> Jan
>>>>>> --
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On 19 Apr 2016, at 19:39, Robert Kowalski <rok@kowalski.gd>
wrote:
>>>>>>> 
>>>>>>> Hi there,
>>>>>>> 
>>>>>>> I went into a hip cafe this weekend, drank espressi and wrote
a
>>>>>> blogpost!
>>>>>>> 
>>>>>>> The draft is at
>>>>>>> 
>>>>>> https://github.com/robertkowalski/couch-labs/blob/blog/blog/databases-are-not-boring/databases-are-not-boring.md
>>>>>>> 
>>>>>>> If you want we can publish it on the CouchDB blog, but I am also
happy
>>>>>>> to publish it somewhere else.
>>>>>>> 
>>>>>>> btw.: seems GitHub does not support embedded videos in markdown,
so I
>>>>>>> linked it for the draft.
>>>>>> 
>>>>>> --
>>>>>> Professional Support for Apache CouchDB:
>>>>>> https://neighbourhood.ie/couchdb-support/
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
> 


Mime
View raw message