|
|
Subscribe / Log in / New account

DeRose: Designing pro creative apps (Part 1-3)

Jason Gerard DeRose, a developer with Novacut, is working on a collaborative video editor for Ubuntu. DeRose has been blogging about the project and lessons learned along the way. This is from part 3; "Please don't lecture artists about how they should be using free-software for ideological reasons. Instead, talk to them about how you're going to build them superior creative tools. Many well-intending free-software advocates have made this mistake. I know I've been guilty of this. But as a community, we must become more sympathetic to artists. If we're asking them to switch to inferior tools, we're asking them to make a totally unreasonable sacrifice. You cannot expect artists to toss their child in the river to get a new pair of sneakers." You might want to start with part 1 and part 2. (Thanks to Paul Wise)

to post comments

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 19:55 UTC (Mon) by mattdm (subscriber, #18) [Link] (24 responses)

I notice this follows a disturbing pattern of being an article about Ubuntu that <i>has no mention of it being a Linux distribution</i>. It almost seems like community segregation is an outright goal.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 20:15 UTC (Mon) by manishsinha (guest, #61915) [Link] (2 responses)

So a person cannot take the name "Ubuntu" without writing 10 lines about it's udnerpinnings and ideology and the various components it is made up of.

This post is about Artists and designing pro creative apps. As Jason told, you can brag all about your GNU and Linux philosophy. It hardly works on artists. This post isnt about telling Ubuntu has GNOME, Linux kernel, GNU and 200 other technologies as the base.

Now can you discuss what this post is about?

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 15:31 UTC (Tue) by mattdm (subscriber, #18) [Link] (1 responses)

> So a person cannot take the name "Ubuntu" without writing 10 lines about it's udnerpinnings and ideology and the various components it is made up of.

You are absolutely missing my point. I don't mean that at all.

This isn't about underpinnings. It's about the Unix wars all over again. It's a great companion piece to today's article where Google says "Android is the Linux desktop dream come true".

In short, no it is not. Rather than having a whole ecosystem with many different parts filling different niches but in general part of the same thing, we have segmentation and fragmentation. That's not good.

pr0 cr34tive appz, sure

Posted Jul 22, 2011 8:39 UTC (Fri) by gvy (guest, #11981) [Link]

They don't even try to get the point, it seems. :(

Personally, "for ubuntu" rather reads like "for clueless by clueless".

But that's just the sort of crap that follows the trend of spoonfeeding the crowd and not educating the conscious people -- which Shuttleworth is trotting along with Ballmer (and to some extent Jobs but that's a bit, well, different). Saw this in sounder@ubuntu back in 2005, and there was no change to any better in this regard.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 21:24 UTC (Mon) by smadu2 (guest, #54943) [Link] (19 responses)

OT, but may be the community at large can convince ubuntu.com and android.com folks to put GNU/Linux somewhere on their respective homepages.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 21:46 UTC (Mon) by pizza (subscriber, #46) [Link] (18 responses)

Just FYI -- Android is just Linux, not GNU/Linux, because the only GNU component Android uses is GCC.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 6:23 UTC (Tue) by tdwebste (guest, #18154) [Link] (17 responses)

pizza, I assume you met to say gcc and kernel.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 6:58 UTC (Tue) by viro (subscriber, #7872) [Link] (16 responses)

Excuse me? The kernel in Android is Linux, which is *NOT* GNU anything, TYVM... They (both Android crowd and GNU one) are allowed to use it, but that's it. Credit where credit is due, and GNU project has earned none whatsoever as far as kernel is concerned.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 8:15 UTC (Tue) by k3ninho (subscriber, #50375) [Link] (15 responses)

I think we have a poster confused by the GNU-as-in-FSF and the GNU-as-in-GPL-licence. The latter one is a rare rendering of 'GNU', but it's worth noting.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 14:41 UTC (Tue) by anselm (subscriber, #2796) [Link] (13 responses)

So it's supposed to be »GNU/Linux« the way most other free-software projects are called »MIT/X11«, »Apache Foundation/Apache«, »UCB/FreeBSD«, »LaTeX Project/LaTeX« and so on? A »rare rendering«, indeed …

Also note that the GNU project itself consists of packages using a variety of licenses including not only the GPL and LGPL, but also MIT, BSD, and others. IMHO, equating »GNU« with the GPL is, to say the least, misleading.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 18:34 UTC (Tue) by tdwebste (guest, #18154) [Link] (12 responses)

http://www.gnu.org/licenses/license-list.html

The GNU project recommends GPL and can use only software with licenses compatible with GPL

Yes there are many non-GPL licenses compatible with GPL which allows them to be part of the GNU project.

The original BSD is not compatible with GNU GPL is NOT part of the GNU project. However FreeBSD, modified BSD, MIT /X11 are compatible.

Linux is part of the GPU project.
http://www.gnu.org/gnu/linux-and-gnu.html

On the other hand GNU software projects are only GNU GPL, AGPL, LGPL, FDL.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 18:47 UTC (Tue) by dlang (guest, #313) [Link] (4 responses)

STallman can claim that the linux kernel is part of the GNU project, but since the people writing the linux kernel don't agree, and especially since they refuse to comply with the Stallman's 'requirements', it's hard to take the claim seriously (other than taking it as a case of someone trying to appropriate other people's work and claim it as their own)

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 16:25 UTC (Wed) by tuna (guest, #44480) [Link] (3 responses)

What is "the linux kernel". I thought Linux is an operating system kernel. Is "the linux kernel" some kind of microkernel?

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 14, 2011 2:03 UTC (Thu) by bronson (subscriber, #4806) [Link] (2 responses)

At least dlang didn't call it "the kernel Linux" like Stallman advocates.

(you can still see examples on gnu.org, it's downright weird)

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 14, 2011 5:11 UTC (Thu) by dlang (guest, #313) [Link] (1 responses)

I called it the Linux kernel to differentiate it from the Linux Operating System family of distributions.

I am explicitly not agreeing with Stallman's views on GNU/Linux. please don't imply that I at all agree with him on that.

David Lang

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 14, 2011 14:27 UTC (Thu) by bronson (subscriber, #4806) [Link]

Confusing joke, my bad. I only meant to poke fun at those who are never happy with what the kernel is called.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 20:32 UTC (Tue) by k8to (guest, #15413) [Link] (3 responses)

I see no claims on that page that Linux is part of the GNU project. I do see claims that Linux is viewed as part of a whole "GNU system".

In Stallman's mind anything that is free software and can be used as a component to build his dream of a free system built along the GNU Project goals can be part of a constructed "GNU system" that fulfills this dream. This claim is somewhat independent from the idea that the GNU Project provided tools are the important part of this system, although that is implied in this text.

This is not to claim that those other parts which can be combined into a "GNU system" are part of the GNU Project. He would never claim that, because those other untouchables do not conform to the ideologitecture.

There is no shrinking for overclaiming at times, such as the whole idea of GNU/Linux, but specifically to claim that Linux is a GNU Project work is a claim I do not expect to ever see.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 21:09 UTC (Tue) by anselm (subscriber, #2796) [Link] (2 responses)

In particular, RMS is as free to incorporate the Linux kernel into his GNU system as the folks at Google are free to incorporate the Linux kernel into their Android system. It's free software, after all.

There is certainly no obligation on Google's part to acknowledge the fact that Linux – a project largely unrelated to the GNU project – is also useful for the GNU system, when they themselves don't put anything from the GNU project into their own offering. RMS may have half a leg to stand on when he insists on the name »GNU/Linux« for the case, frequently seen on servers and desktop PCs, of a Linux kernel with GNU tools (among other things), but in the case of Android, no GNU tools on the system, hence no »GNU/« prefix. End of story.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 23:54 UTC (Tue) by JoeBuck (subscriber, #2330) [Link] (1 responses)

I think that one reasonable way to settle the language wars here is to call glibc/eglibc-based systems with a Linux kernel GNU/Linux, but not to use the term "GNU" for embedded systems or devices that lack GNU libraries or userland. That way credit is given only where deserved. This is a distinction that also makes sense for developers, since applications generally interface with the C library and not (directly) with the kernel. So Ubuntu would be a GNU/Linux system while Android would not be.

(And eglibc is to glibc as egcs was to gcc, still owned by the FSF, forked for more efficient development practices).

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 0:12 UTC (Wed) by dlang (guest, #313) [Link]

first off, before you go there, justify why glibc is so much more important than gnome/kde/xorg/etc

secondly, the fact that a program forks away from the FSF lead project would indicate to me that it should no longer be considered 'owned' by the FSF, even if later on the FSF abandons it's 'trunk' and accepts the fork as a replacement.

there's no need to fork a project to get more efficient development practices if you are the ones doing the leading/management of the project, that step is only needed if you need to get out from under the management of the project.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 22:57 UTC (Tue) by viro (subscriber, #7872) [Link] (2 responses)

Linux is *used* by GNU project. They have a right to do so. What they do not have is any kind of right to demand that other projects using the same thing would promote GNU/FSF/Stallman's religion/whatnot.

Mind you, I'm less than fond of their demands of that kind directed at anybody, but in case mentioned upthread (i.e. Android) it's really over the top. Toolchain is not enough to describe something as GNU system (according to RMS et.al.) and the kernel is *not* something GNU has a claim upon.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 0:08 UTC (Wed) by Trelane (subscriber, #56877) [Link] (1 responses)

> What they do not have is any kind of right to demand that other projects using the same thing would promote GNU/FSF/Stallman's religion/whatnot.

Sure they do. Just like you have the right to demand that they stop. What they lack is the right to enforce their demand, just like you do.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 15, 2011 22:27 UTC (Fri) by k8to (guest, #15413) [Link]

These claims are not similar in some ways. Viro's claim is based on truth, and the RMS suggestion is based on distortion.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 18:40 UTC (Tue) by bronson (subscriber, #4806) [Link]

Rare rendering?? Saying "GNU" when one means "GPL" is simply a mistake.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 0:16 UTC (Tue) by Duncan (guest, #6647) [Link]

That IMO is far better than the reverse, articles about "Linux" that just /assume/ that all Linux is Ubuntu (or alternatively, RPM-binary-package based, or all Gnome or KDE, or...).

At least if the headline or first paragraph says Ubuntu, I know I can reasonably safely skip it. If it says Linux and looks interesting, only to find out a third or a half the way thru that it's simply /assuming/ all Linux is Ubuntu... THAT'S what gets me!

Duncan

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 20:14 UTC (Mon) by k8to (guest, #15413) [Link] (15 responses)

"When card is imported, automatically import all files."

This sort of design concept makes me very leery. Software that tries to do what I want usually does what I don't.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 20:18 UTC (Mon) by manishsinha (guest, #61915) [Link] (3 responses)

If you see the workflow of most of the pro artists, importing is a very very exhausting task. The first thing they do is to import everything from the card on a redundant storage disk.

This application isn't about giving 200 different options of configuration but atleast having one default configuration which works perfectly and that default configuration is the one which is widespread used by artists.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 19:14 UTC (Tue) by k8to (guest, #15413) [Link] (2 responses)

It's going to be pretty damn exhausting when you accidentally plug in the wrong thing and it starts importing 8gb of stuff you don't want.

There's a difference between streamlining and forcing.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 14, 2011 16:24 UTC (Thu) by sorpigal (guest, #36106) [Link]

It sounds like artists want importing to be easy, not that they require importing to be automatic. Better to make it easy and harm no one then automatic and harm some people some of the time.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 22, 2011 8:46 UTC (Fri) by gvy (guest, #11981) [Link]

Perhaps hitting Esc or mousing to "Ouch, stop it!" button (with a second question like "erm, wrong card, [drop imported content on the floor] [lemme think]") would still let the main use case go uninterrupted but mistakes be cured easily and painlessly?

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 20:44 UTC (Mon) by jzb (editor, #7867) [Link] (1 responses)

"This sort of design concept makes me very leery. Software that tries to do what I want usually does what I don't."

I have the same problem - but neither of us are likely representative target users for this application.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 20:46 UTC (Mon) by dlang (guest, #313) [Link]

it sounds like this application needs and 'import all from directory' (with a clickable option, possibly on by default that imports from subdirectories as well)

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 18:16 UTC (Tue) by rgmoore (✭ supporter ✭, #75) [Link] (8 responses)

What's wrong with auto-import? Part of the idea of matching the artist's workflow is that the software is supposed to serve as an abstraction layer between the way the system manages data and the way the artist manages data. Auto-import can help to make that abstraction better by freeing the user from unimportant implementation details.

For example, for photos it's now fairly common to group files according to shoot and then tag them with content specific tags. If you want to find the file later, you look for it within the software by tag rather than having to remember where you put it. That lets you group the pictures according to relevant criteria- including combinations of criteria that you might not have thought of when you first took them- after the fact. For the user, it's a much more logical way of managing the data than a system of nested directories.

Once you settle on that kind of content aware data organization, a lot of the arguments against auto-import go away. If I'm going to be looking at the data from within a specialized program, I don't really care what's going on behind the scenes. All I care is that I can back my data up and get it out of the program when I need it. It might actually be better to hide implementation details from me, because that frees the programmer to choose whatever system is best for managing the data even if it's hard for the average user to understand. Even if you do follow a human recognizable system, the user will want it to be systematic, so it will be a set and forget configuration option rather than something that has to be asked about every time.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 19:17 UTC (Tue) by k8to (guest, #15413) [Link] (7 responses)

Okay, but is the import a modal popup, in which case its interfering and annoying? Or is it a background task I'm not aware of in which case I end up with data corruption on insert/remove? Or is it a thing that has an unobtrusive progress meter that I forget about most of the time with the same result?

I'm just not convinced that "do stuff without asking the user" generally works, because the user is not mentally engaged, and errors result.

I'm very much invested in "make it as simple as possible for the user to do what they want." For example, inserting cards could present window-corner icons, and clicking on them could trigger import, with another action (rightlick menu?) offering status and cancel, or similar.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 0:49 UTC (Wed) by rgmoore (✭ supporter ✭, #75) [Link] (6 responses)

I just don't see inserting a memory card to download your files as something that's done casually. I never do it casually; it's always something I'm doing as part of a deliberate attempt to download the data on them. That goes double if it actually requires a second affirmative step, like firing up my editing software, to start the download. And the download process isn't just a matter of copying files; the program will also be churning away to extract metadata, generate thumbnails, etc. If you feel a need to produce popup messages, the correct time is when the download is finished, it's safe to take the card out, and the user can start looking at the newly downloaded stuff.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 1:04 UTC (Wed) by dlang (guest, #313) [Link] (5 responses)

you mean you never insert a card into a machine to see what's on it?

I'm nowhere near that perfect about labeling all my removable media accurately enough (and I have trouble understanding how you would put enough detail on some of the smaller cards)

the problem isn't with having a way to import everything from the card, the problem is in kicking off a job to do so as soon as the card is detected by the program.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 4:31 UTC (Wed) by rgmoore (✭ supporter ✭, #75) [Link] (4 responses)

you mean you never insert a card into a machine to see what's on it?

I don't with the cards from my camera. I know what's on them because they never sit around for long enough for me to forget. When I'm done with a shoot, I download my cards onto the computer and then format them in the camera. They are either full of photos that are recent enough for me to remember taking them or empty. I even have a system to keep my full cards distinct from my empty ones when I'm out photographing so I don't have to check by looking at them in the camera.

I think this is a key part of Mr. DeRose's idea of targeting serious users*. Somebody who takes a few vacation photos or videos the school play may be able to get away with ad hoc organization and workflow. When the files start piling up, that approach gets less and less viable. Serious users are forced to adopt a structured approach to dealing with their data or they'll wind up drowning in it. A program that provides a structure that matches what users are doing is great. One that imagines how they could do things better and provides it can be a godsend.

*He talks about designing software for professionals, but I think this is something of an artificial distinction. Dedicated amateurs like me can be just as serious about our tools as full-time pros.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 10:51 UTC (Wed) by jubal (subscriber, #67202) [Link]

He talks about designing software for professionals, but I think this is something of an artificial distinction. Dedicated amateurs like me can be just as serious about our tools as full-time pros.
Dedicated amateurs are usually more serious about their tools, full-time pros are usually more serious about their data and the final product.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 14, 2011 16:28 UTC (Thu) by sorpigal (guest, #36106) [Link] (2 responses)

It seems like the assumption here is "Users of this program will never insert a card they don't intend to immediately import." This is an assumption that is unlikely to hold true when all future users are not known.

Just because a program is *for* serious users doesn't mean it should raise unnecessary barriers to everyone else, all else being equal.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 16, 2011 15:05 UTC (Sat) by Wol (subscriber, #4433) [Link] (1 responses)

All things are NOT equal.

Remember the thread on Jack? Where the penny finally dropped that Jack was targeted at a corner case such that while 99 point whatever percent of people didn't need what Jack offered, those that *did* need it made up 99 percent of Jack users?

This is directly aimed at a small subset of "all users". It's aimed at users with unusual needs. If you don't want what it wants, you go elsewhere, you don't suggest that they delete the functionality that 99% of its users want.

I read the article. Seems like many people didn't. It came over quite clearly that the software designers asked themselves "what is a professional workflow? How can we automate it?". The fact that you and me as amateurs think its completely daft merely shows us up as the amateurs we are.

Bit like my brother with emacs :-) When he first used it he dismissed the UI as "totally idiotic". But the more he used it, the more he *understood*, and the more he appreciated how the UI actually was designed to make his life as a programmer easy. Emacs is a professional programming tool. You don't give it to a two-fingered typist.

Cheers,
Wol

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 27, 2011 17:04 UTC (Wed) by nix (subscriber, #2304) [Link]

Emacs is a professional programming tool. You don't give it to a two-fingered typist.
A lot of programmers are two-fingered typists, because they taught themselves to type when very young and two fingers works well enough when you have young hands. It's only once the RSI hits that they're forced into proper typing. (Speaking from experience here...)

Bugginess

Posted Jul 11, 2011 21:15 UTC (Mon) by dskoll (subscriber, #1630) [Link] (1 responses)

Disclaimer: I am not a pro video editor by any means. But it seems to me that most video editing software under Linux is very buggy and prone to crashing. It's extremely annoying. So my #1 usability enhancement: Don't crash!

On the bright side...

Posted Jul 11, 2011 21:16 UTC (Mon) by dskoll (subscriber, #1630) [Link]

I think his design ideas are very good and are applicable to most software, not just creative software.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 22:49 UTC (Mon) by SEJeff (guest, #51588) [Link] (13 responses)

"""And you know what? We're not intimidated anymore. When it comes to the time-saving workflow issues that we obsess over night and day, we're far ahead of said magical company."""

Thats an _awful_ bold thing to say from a guy who has 0 lines of code and no video editor to show. Something tells me this is a solicitation for funds which will pay off the developer's own debt.

He has already said he is broke in TFA:
"""We totally threw ourselves into Novacut (only way a design-focused upstream can succeed), but we've backed ourselves into a corner financially. We're so broke we don't have the needed window to find investors. So we really need Kickstarter to work."""

Giving this guy money sounds like giving a bottle of whiskey to an alcoholic. It might make him feel better, but it won't solve the problem. Thats not me saying he might not be a brilliant developer. Quite the contrary, the idea of novacut is revolutionary. I just have serious doubts in someone naive enough to bankrupt themselves financially writing an open source project and then begging for money. $5k for a BBQ with him that you have to pay for your own flight for? I almost thought it was a joke.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 11, 2011 23:16 UTC (Mon) by jderose (guest, #53578) [Link] (9 responses)

Hey Mr Nasty,

Not that I care what you think, but to set the record strait, dmedia weighs in at a tight 20k lines, and I've probably done 80k lines of change in 9 months:

https://launchpad.net/dmedia

Why did I start there? Because that's where the competition is weakest:

http://www.kenstone.net/fcp_homepage/fcp_x_managing_disk_...

So instead of making fun of this poor old alcoholic idiot who clearly doesn't know what he's doing, why don't you make yourself useful and review the hashing protocol I designed for dmedia:

http://bazaar.launchpad.net/~dmedia/filestore/trunk/view/...

Cheers!
-Jason Gerard DeRose

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 0:34 UTC (Tue) by cmccabe (guest, #60281) [Link] (3 responses)

Hi Jason,

It sounds like what you are trying to create is a distributed peer-to-peer filesystem. This has been done many times before.

Check out POHMELFS by Evgeniy Polyakov. It's based on distributed hash tables. http://www.ioremap.net/projects/pohmelfs

Xtreemfs is another peer-to-peer filesystem. I'm not sure how it stacks up against POHMELFS. My suspicion would be that POHMELFS would be faster, since the latter is in the kernel, and Xtreefs uses FUSE-- but I have not tested it.

The Tahoe Least-Authority Filesystem (Tahoe-LAFS) is also distributed, also peer-to-peer. They have an interesting security model. Basically, you do not have to trust your storage nodes, which could be helpful.

I know it seems obvious that distributed peer-to-peer filesystems should take the world by storm, but they haven't done so yet. In my opinion, the main reason is speed. People just do not have fast network connections. As soon as you start talking about going "offsite" you generally immediately start talking about 100BaseT type speeds, even if the overhead of the filesystem is 0 (fat chance). And then we can start talking about the heinous "asymmetrical" and traffic-shaped connections that many broadband companies are pushing today.

It might make sense to use one of the filesystems that already exist rather than rolling your own. The more time you spend writing your own filesystem, the less you spend optimizing the code you already have to read and write less data. And remember-- for something like this, you're going to be I/O bound.

If you are determined to create a new filesystem, a good place to start is with the Chord papers. That was the original project at MIT that gave rise to all the DHT-based filesystems.

- Colin McCabe

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 2:34 UTC (Tue) by cmccabe (guest, #60281) [Link]

Another thing to consider is just using git. Git is a content tracker, not just a source code tracker.

In order to use git effectively, you will need to segment your media files into bite-size chunks (30 seconds each, maybe?), but that is something that you probably needed to do anyway. You also need some kind of file saying what order the chunks go in.

You will obviously need to provide your own diff function between chunks, but again-- that is something you needed to do anyway. In a distributed system, conflicting versions *will* happen, and people *will* want to resolve the situation (aka merge.)

Git has a very, very efficient, very well-tested codebase. It doesn't require users to run any server besides sshd. It is truly distributed. Basically, you get what is effectively snapshots and revision control for free.

Please remember that usually, git doesn't do a SHA-1 on any objects. Usually, all it has to do is check the timestamps (mtime) of the files in the git repository.

So all in all, I'd use git.

C.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 4:52 UTC (Tue) by jderose (guest, #53578) [Link] (1 responses)

Colin,

dmedia is somewhere in between a distributed fs and Media Asset Management.

dmedia was designed to solve worklow problems faced by photographers and film makers. Most of the dmedia code is domain specific, focused on replacing error prone and time consuming file management tasks with smart and opinionated automation.

True distributed p2p file systems tend to be far more ambitious, would bring in a lot of unneeded complexity. Plus we really needed the meta data in CouchDB. It would likely have been far more work, not less, to build needed user experience on top of something like Tahoe-LAFS (although Tahoe-LAFS is way awesome). And at this point... well, dmedia is basically done.

BTW, dmedia uses whatever filesystem you already use (ext4, btrfs, etc). It just puts the files in a special layout according to content hash.

Chord paper is awesome! Read it about six years ago, if I remember correctly.

Cheers,
Jason

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 18:14 UTC (Tue) by cmccabe (guest, #60281) [Link]

I am curious how you handle merging the work done by different authors. Do you just have something like the latest author winning, or is there a real merge system? Also, are you intending the changes to the project to show up in a realtime way, or may there be some time skew?

> And at this point... well, dmedia is basically done

Software is never done, until it gets replaced by other software :)

Interesting project, hope you are successful!

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 13:08 UTC (Tue) by SEJeff (guest, #51588) [Link] (4 responses)

Please do not put words in my mouth I never said. I said that the idea of novacut was quite revolutionary. I also said that no code for novacut has been written. Where is novacut? I know that you've written dmedia, but didn't say you hadn't written any code for it. I never once called you an idiot OR an alcoholic.

I said that the idea of giving some random guy who says he has ruined his personal finances working fulltime on an open source app is a very bad idea. Clearly that shows a lack of responsibiliy yet very strong convictions on your own part. How do I know you won't use those $$$ to go pay down your own debt and then disappear? I don't and by nature, I'm sceptical of people who say they will do things without accountability. Open source / Free software people are often very big proponents of transparency. I find it almost repulsive that you're going about it asking for donations this way. It sounds an awful lot like pan handling. Now if you were to say setup a novacut non-profit (difficult) or something through the Software in the Public Interest (free for you to do) to solicit donations that could be:
- Tracked
- Accounted for
- Claimed on tax forms as donations to a non-profit

I might actually even give you money. No seriously, my main beef is with the way you've went about things and the ridiculous claims (you already are better than final cut) to get media juice. It sounds like a snake oil salesman. If that was all incorrect and I am an a$$ (very likely), I apologize, however I still stand by everything previously said. You are going about asking for handouts the completely wrong way.

When I said you have 0 lines of code, it was referring to novacut, which still seems to be a theoretical piece of software. Sorry if this upset you.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 14:17 UTC (Tue) by spaetz (guest, #32870) [Link] (3 responses)

> How do I know you won't use those $$$ to go pay down your own debt and then disappear? I don't ...

So you are trusting those internet startups that get $50m for doing a web-IM app or whatever much more?

RMS foregoing a safe University position to create GNU shouldn't be trusted either, I mean that man acted irrational.

:-) Sorry, for all the right things you could have said ("show me the code") is certainly more convincing, the "ran out of money- so not trustworthy" part is the least convincing...

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 15:26 UTC (Tue) by SEJeff (guest, #51588) [Link]

And in reality, he likely will do the right thing. But it is important that he proves he will do the right thing vs just says he will do it. Jason has talked with the upstreams of a few other video editors if I recall correctly about dmedia and decided a new one from scratch is the right way to do things. But right now, there isn't any code for novacut. As you said already, show us the code is the best response. Until there is some, I will remain skeptical.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 8:26 UTC (Wed) by farnz (subscriber, #17727) [Link] (1 responses)

Those internet startups aren't asking me to put my money towards their project, so they're kinda irrelevant; if they did ask, I'd have exactly the same reaction as SEJeff - "You want my money? Fine. Show me what you've got that indicates that I'm going to get something I want out of it". Similarly, had RMS asked for money before he'd got useful GNU stuff for me to pay for, I'd have had the same reaction to him; he didn't get money from me until I found GNU Emacs sufficiently useful to be worth paying for (at which point I bought the paper documentation to supplement the electronic docs, and made a small donation with it).

If there was enough of Novacut out there to see that he's got the basis for a project, and just needs money to complete it, I might get interested; as it is, for all I know, I'm about to be like the guys who spent millions on Boo.com.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 9:03 UTC (Wed) by spaetz (guest, #32870) [Link]

And with that we'll simply have to agree to disagree. I wasn't implying that you should throw money after every project. I am simply taking offense with this attitude:

> I said that the idea of giving some random guy who says he has ruined his personal finances working fulltime on an open source app is a very bad idea. Clearly that shows a lack of responsibiliy yet very strong convictions on your own part.

I'd rather give the man who ruined his finances and works towards achieving something he believes than any nutcrack applying for millions of VC funds without any personal engagement. But that's all besides the point and not part of the article, so I will stop here.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 6:53 UTC (Tue) by jhs (guest, #12429) [Link] (2 responses)

Excuse me!

I met Jason and his team at the Ubuntu Developer Summit, where they were invited guests. They are a disciplined team with an ambitious yet clear goal. How petty and self-defeating, to disparage them so cynically? How dare you.

Wake up.

Every startup with any sense is making iPhone apps and web services. Yet Novacut writes free software for a new, growing, and previously-unwelcome user base, building a platform with the same convictions about data freedom that we feel about software freedom.

*Plonk.*

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 13:10 UTC (Tue) by SEJeff (guest, #51588) [Link] (1 responses)

Please read my response to jderose. Novacut has 0 lines of released code and he is doing things like soliciting donations of $5000 for a BBQ where you have to pay for your own flight. I'm sorry, but as a long time open source user and small time contributor, this doesn't sit right. dmedia is good stuff, but novacut still has 0 lines of released code until he proves me wrong.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 13, 2011 18:37 UTC (Wed) by jderose (guest, #53578) [Link]

SEJeff,

Please stop saying Novacut has zero lines of code... it's not true. Yes the "novacut" project on Lauchpad has very little code. But Novacut the project has cranked out code at a breakneck pace the last year.

This would be a better response:

"Jason, thanks for working so hard to bring industry leading, ground breaking Media Asset Management to the freedeskop! PiTiVi can use dmedia also, a huge win for everyone!"

I could have put dmedia internal in "novacut", in which case "novacut" would have many lines of code. I was nice enough to split it out into a separate component so it can be easily used by other projects.

Cheers,
Jason

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 0:08 UTC (Tue) by duffy (guest, #31787) [Link] (4 responses)

"Please don't lecture artists about how they should be using free-software for ideological reasons"

No, just tell them the story of how much money you wasted on closed suites and how much work you lost and how much of your skillset was rendered obsolete when the company that built your primary tool decided to dump it, and then got bought out by another company.

Not that I speak from experience or anything. :)

And yes, my sad story DOES meet a receptive audience.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 11:41 UTC (Tue) by mjthayer (guest, #39183) [Link] (1 responses)

> "Please don't lecture artists about how they should be using free-software for ideological reasons"

> No, just tell them the story of how much money you wasted on closed suites and how much work you lost and how much of your skillset was rendered obsolete when the company that built your primary tool decided to dump it, and then got bought out by another company.

Or more generally, tell them why free software ideology benefits them (this doesn't just apply to artists). FLOSS people trying to sell their ideology to others often sounds to me like "what is good for me is good for you". As in, software developers get more stuff they can hack, and that must benefit everyone.

(Sorry, one of my favourite rants.)

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 13:32 UTC (Tue) by pboddie (guest, #50784) [Link]

FLOSS people trying to sell their ideology to others often sounds to me like "what is good for me is good for you". As in, software developers get more stuff they can hack, and that must benefit everyone.

Or rather, for copyleft-licensed works at least, end-users get more stuff they can hack on or get other people to hack on for them. The message is sustainability, but you sometimes need concrete examples to focus the mind of the listener: far too many people think that their favourite vendor would never discontinue support for some application, favourite feature, or the file format they're using for everything or whatever, and unfortunately, for some people only bitter experience can be the teacher.

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 12, 2011 13:22 UTC (Tue) by danieldk (subscriber, #27876) [Link] (1 responses)

Except, that it doesn't work like that in the real world. If some tool makes an artist 20% more productive compared to not having that tool or a flawed free alternative, it's usually a good investment.

E.g. Adobe Lightroom costs 299 Euros, but it's vastly superior than any free tool for everything from basic photo management to lens barrel distortion correction and noise reduction. If your income depends on photo management and editing, it is a great investment.

Your second point is more accurate, e.g. see the recent fall-out about Final Cut Pro X. However, some suites have been around for many years and have predictable releases (e.g. Adobe CS).

DeRose: Designing pro creative apps (Part 1-3)

Posted Jul 15, 2011 21:55 UTC (Fri) by duffy (guest, #31787) [Link]

Um, yes, it *does* actually work like that in the real world. My example was my own personal experience with Macromedia Director. Proprietary companies like Adobe are real pains about coming up with their own asset formats that aren't open (e.g. INDD, AI, etc. etc.). You work with the free tool, it'll use an open format, so at least when you're a college senior trying to put together a portfolio of work you slaved over during your freshman and sophmore years, prospective employers will actually be able to open and view your work! (Yes, Director.)

The skillset loss is a huge, huge, huge hit as well. And yes, this also happens in the real world. I know an artist who still uses Macromedia Freehand, because it's what they're most efficient with, but they're going through awful pains to continue using it as you might imagine!

The $$ issue isn't a key issue for professionals as the two above, no. The ongoing upgrade fees are just the cherry on top of the 'haha, sucker!' ice cream sundae for them. You need a tool to get your job done, yeah of course. It makes you 20% more efficient and costs $1K, sure that's worth it. $1k every year or two? Maybe. Until the product is inevitably dropped or screwed up in such a way you've got little option but to have to relearn something else and involuntarily have to completely overhaul your workflow in the middle of a key project? Yeah, not so much.

The initial cost and ongoing fees is absolutely a key issue for educational institutions... we had *two* labs on campus that had Photoshop, and of course it was the lab you could never get access to because the hours were bad and when it was open it was overcrowded. Forget about giving pre-college students legal access to Adobe tools via a school system! Even today many primary and secondary schools are lucky to even have one computer lab for their students.

What an artist wants

Posted Jul 12, 2011 3:39 UTC (Tue) by ncm (guest, #165) [Link]

Artists have different criteria from commercial illustrators. The latter control most of the money, so they are the ones catered to by the proprietary vendors.

To an artist, a sharp tool that might cut you is much better than one that won't cut. If a library of effects / textures / filters is interesting to an artist at all, it is as examples of tools they might cobble up themselves, if they could. Don't be surprised to see them make only one, haphazardly, and then spend weeks or years exploring how it may be abused, moving on to another only when they feel its potential is exhausted. Expect them to be interested only in tools that are hard to describe, with results hard to recognize, and whose potential seems inexhaustible.

Lecture, Lecture Lecture

Posted Jul 15, 2011 7:28 UTC (Fri) by ldo (guest, #40946) [Link]

Sure, lectures on Freedom are just as boring and off-putting as lectures on wearing seatbelts. The difference is that, somehow, someday, someway, your accident will happen. And then what are you going to do?


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds