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 Sat, 23 Apr 2016 14:07:38 GMT
ok fine. I’ll press the button Tuesday 10:00 CEST

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 17:35, Jan Lehnardt <jan@apache.org> wrote:
> 
> Great job everyone, this looks fab! :)
> 
> I’d say lets keep this for Tuesday late morning EU hours, Fridays are notoriously slow.
> 
> If anyone else has another good idea, I won’t be against it :)
> 
> Best
> Jan
> --
> 
>> On 22 Apr 2016, at 10:53, Andy Wenk <andywenk@apache.org> wrote:
>> 
>> 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/
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>> 
>> 
> 
> --
> Professional Support for Apache CouchDB:
> https://neighbourhood.ie/couchdb-support/
> 


Mime
View raw message