If you did a Find-Again by choosing the menu item, it worked reliably.#
However if you did it by pressing Cmd-G on the keyboard, it would skip a certain number of instances. #
This is now fixed. When you press Cmd-G you reliably go to the next occurrence of the string you were searching for. #
Reminder to self: The keyboard handling in Drummer is a patchwork. Some of it is inside Concord, some is handled by a Drummer-level keyboard handler (including stuff that should move down to Concord, for example the inclusion code).#
Concord is getting some attention these days, so I put together a little reader app that follows the Change Notes outline. Not sure what I'm going to do with it, but I wanted you all to see it. These are instant outlines, that means the reader app opens a socket to the server the file comes from and when it updates, gets the latest version and shows that. It's kind of like a self-updating feed in an outline. Proven to be an effective way to communicate. #
You can have it view your own OPML file by using the url parameter. An example of a reader that's viewing the States outline. #
A note from Ken asks if he should be seeing 2.0.8 as the version for web Drummer.#
Yes. I haven't been bumping version numbers in the user-facing code. I have been doing it for the JavaScript modules as new versions are released. #
I don't find we need to bump the versions to communicate at this point. Maybe soon there will be a need. For sure when there is a "release" I will bump the version number on both web and electric releases. #
All hell broke loose. I couldn't imagine that it would be hard to fix, but it turned out the problem was much more general, that's why it was initially hard to pin down. Turns out you could get Drummer to fail by doing this:#
Boom. Everything in the newly opened file is garbage, all the headers, structures.#
It was a one-line fix. We just needed to empty out the hoist stack in the newly opened file. Instead the hoist stack from the previous outline was inherited by the newly opened file, and as they say hilarity ensued.#
I love getting out big bugs like this one. The reason I didn't see it myself is I wasn't hoisting much. #
Good teamwork on this one. I really like the way this feels. #
You do it infrequently, as did the cluelessnewbie.#
This bug has been in there a long time, but I never saw it with Scripting News because basically I blog every day even if I don't have anything to say. 😀#
There was some discussion during the Friday meetup about Anton running a Drummer server. I hadn't given this a lot of thought as of Friday, other than I was pretty sure it would be easier this time than it had been with LO2. The server behind Drummer is a simpler architecture. #
Anyway, I am relieved that Anton doesn't want to run a server. Supporting other servers makes my job an order of magnitude harder, because I would have to lock down things, and manage migrations on other people's installations. I've taken on that job quite a few times in the past, with Manila, Radio Community Server, all the Poet's projects. It's only worth doing if you think it's a Change The World kind of thing. At this point I know better. It's just work. With not much if any reward. #
I'm going to keep the focus on work that delivers benefits to end-users, and has the potential to get people excited about Drummer. #
When opening an instant outline, if Drummer can't read the file, it would previously go ahead and open a tab, which didn't have a close box and couldn't be closed via the Close command in the File menu. Now it puts up a dialog saying it can't read the file and doesn't open a tab. #
Suppose you want to remember a particular note in my Change Notes outline. #
The natural thing to want to do is bookmark it. But it didn't work -- although Drummer did remember the cursor location in the bookmark, when you used the bookmark, it ignored the cursor. #
Now it not only remembers the cursor location, it uses it. 😀#
It appears to the user that an outline in an inactive tab is actually present in some way, but it isn't. The outline isn't loaded until you activate it. So the twitter.opml software has to first be sure the tab has been loaded before proceeding to add the tweets. It wasn't doing that.#
The reason it appeared that only the title was changing was that Drummer was reading all the tweets each time. So the new tweet would appear at the top of the outline, as you would expect. It looked like everything else about the outline was working, but in fact it was re-creating the whole outline every time. Not the way you want it to work! 😀#
He wrote the code, you'd think he'd remember how it works, but he didn't. This new way Drummer works was a month-long project to re-do how the tabs work, so you won't have to wait for all the outlines to load before you can use the one you want to work with. As my outlines were getting larger, this had become a serious usability issue. This "corner-turn" was done earlier this year, in April if I recall correctly. #
Anyway, in the intervening months, I had just been using the software and had largely forgotten that it was just an illusion that all the outlines appear to be open even when only one or two are.#
The lesson: You have to pay close attention to everything when using or programming a computer. It was working fine. It was my understanding of the software that was incorrect. It tricked me in a fun kind of way. #
fixed a bug, where if tweets.opml is not the active tab, and tweets that are in reply to other tweets in the outline are part of what's scanned, the replies will not be added to the outline. to be clear, this was not a problem if tweets.opml was the active outline at the time of the scan. #
instead of creating a link node out of a tweet with a link, now we replace the bare t.co link with (link) with the text "link" which is hotted up so that when you click on it it takes you to that page. a screen shot might illuminate.#
You're out and about, and get an idea that belongs on the to-do list for your latest project. Open Twitter, post a note. When you get back to your desktop the note will already be in a Drummer outline, ready for you to act on it. It doesn't matter what kind of writer you are, whether you write for yourself, as a note-taker or designer for your workgroup, if you write docs, or a blog, novels or Pulitzer-winning news reports. If you are a writer and and a steady user of Twitter, and interested in tools for thought and outliners, this new Drummer feature, tweets.opml, is for you.#
It seems such a big thing that for sure I would have gotten a lot of reports on this by now, but I need to ask.#
It was reported yesterday, and I want have an idea if it's an isolated problem, or not. I find here that E/D is perfectly reliable at saving, I've been using it steadily since May. #
If you've seen this please post a comment in this thread.#
When reporting a problem it's important to look in the JavaScript console to see if there was a program error that might have been the source of the problem. #
In Chrome on the desktop, the command is in the Developer sub-menu of the View menu. From there, click on Console. #
In Electric Drummer, look in the Mac menubar, Window menu. #
Errors usually appear in red, but sometimes in black if they are code I put in the app to help diagnose problems. Usually it's pretty obvious when an error is being reported. #
Headlines with a type attribute of "tweet" now have an icon to go with it.#
This is a feature I turned off in June, because outlines with lots of tweets don't look that great, but I'm swinging the other way now. You need a visual clue that a headline represents a tweet, because a lot of power comes with that. #
I made a change to how it works internally that is intended to be fully transparent, i.e. no change in behavior. So if you see it fail in some manner, it's not your imagination, it's something to try again and see if it's repeatable.#
Scott found problem with menus disappearing after changing the Scripts menu. At first he thought it was E/D but the problem shows up in web Drummer too. This is going to be a new thing to look out for. Problems that are unique to one version or the other. The thing to know is that most of the code, except for dealing with files, are identical in the two products. That was one of the toughest parts of the project, coming up with an internal API that made that possible. In the previous product, LO2 and Electric Outliner did not share a common code base, which made maintenence so difficult it was better to completely reorganize the code. #
Allen noted that when you click on the name of the product in Electric Drummer, you are taken to a dysfunctional place. Another difference between the web and the desktop versions. #
Anton found chaos in the enabling of menus. It looks pretty bad, but I'm fairly sure it'll be straightforward to fix. I did an overhaul of how enabling and disabling works in the menus, and wasn't thinking about E/D, which has different rules. #
The bug reports are getting good as people develop a sense of what to expect from the software, and we've learned how to communicate on this stuff. #
There will be updates to the web Drummer that will not immediately be reflected in Electric Drummer. As explained in the docs, all the code is baked into the download, not accessed over the web, as a security thing. So I don't anticipate releasing a new E/D every time there's an update to web Drummer. We'll figure out the right way to do it.#
Right now the language in Drummer doesn't have a name, and that's starting to be a problem. #
The language is an extended JavaScript. It does one very important thing that JavaScript doesn't, it generates code that makes synchronization automatic.#
The resulting code is so natural, a few people don't even notice it, and that's a good thing. #
With Frontier we more or less punted on the name of the language. We hired a writer, Dan Shafer, to write the docs, and he couldn't do it without a name for the language. The programmers were busy working on other things, so I told him to just pick a name and go with it, thinking there would be a moment when we could change it if we came up with something better. We didn't. The name he came up with was UserTalk. I hated that name. It means nothing, and it's a lie. Programming isn't for people we think of as users. It's almost a definition of what a user is, someone who doesn't program. #
This language is far from the only language that generates JavaScript code. Because of its ubiquity, lots of language developers take the route of generating JavaScript code from their language compiler. Here's a post about pre-processing for JavaScript. #
Cmd-/ -- pronouced "command slash." Because that's how you run scripts in the outliner. I have a domain reserved for this. #
javascriptscript -- imho javascript is not a scripting language at all, it's a system language. Like C, Pascal, other algol-like languages. The thing that prevents it from being a scripting language is the thing that this language adds. #
DrummerScript or DrummerTalk or something with Drummer in its name. I like the idea of binding the name to the outliner. Even though you hardly notice it when programming in Drummer, the fact that the default editor for the language is an outliner is pretty innovative (for most people, in Frontier we were doing it a depressingly long time ago).#
Or none of these, something altogether different. #
You may find that Mac OS refuses to run the app. But you can tell it to run it anyway. Open the System Preferences app, then open the Security panel. There will be a place where you can decide to open Electric Drummer. You may get a few more dialogs confirming you want to run the app, or open a file. #
Please read the docs. Certainly read them before reporting problems. 😀 #
Here's a special page for comments and questions about Electric Drummer.#
Also, if it basically works, it would be helpful to hear that. #
I've been putting off buying a domain for Drummer, preferring to put most of it under scripting.com. But there are some things that will need their own sub-domains, so they can be moved. scripting.com obviously is pretty immovable and it would make no sense to move it when only a small part of it needs to be somewhere else. Planning for the future..#
I found myself typing the term drummer land again into some text I was writing, so none of the other possible choices made any sense. and of course the .com, .org, .net etc names are taken. And I like the idea of drummer.land. 😀#
A (public) braintrust query. Starting to think about import/export to gain some level op interop with Markdown-based outliners.#
A LogSeq user is pitching in. Lots of questions about what's software-generated vs what the user enters. #
Their OPML import does not preserve head-level or item-level attributes. So whatever we got back from LogSeq after it was edited would be problematic in Drummer-land. #
It's a desktop version of Drummer that runs on the Mac. #
I've been using Electric Drummer since May to write Scripting News and all the docs for Drummer and other stuff. It's as solid as the web Drummer, and it does more. And it's different because all your files are on your local computer, and can easily be accessed by other software. #
I hope to have something for you to download tomorrow or Monday. The docs are written, and I believe the software is ready to go, but I want to do a fresh review in the morning and probably rewrite the top-level stuff, explaining how it's different from the web version. #
It will only be available for the Mac, but it should be possible to create Windows and Linux versions. #
I want to call your attention to a very useful Drummer feature re Twitter.#
You can write a tweet in a headline. Just click the Twitter icon in the left margin and off it goes to Twitter. The headline then acts as a pointer to the tweet. If it's published as part of a blog, the headline has the tweet attached. #
Here's an example of a post where every paragraph is a tweet.#
Electric Drummer is the desktop version of Drummer, in development. It's not in testing yet.#
There was some confusion in Electric Drummer about what the View OPML command in the File menu should do. Since the files in E/D are on your local hard drive, the correct answer (or so it seems) is to open the file itself. This has an unusual effect on my machine, because now Viewing OPML opens Frontier which is configured (somehow, I forget how) to open files ending with a .opml extension. I can live with this. On your machine I hope it will open in the browser. Since at this time I am the only user of E/D it'll take some time to find out. #
I realized the immediate need for it when a newbie asked for info that was in the change notes outline. The instructions for finding the info were awkward. Now it'll be possible to provide an URL. Much easier.#
When you create a bookmark, Drummer not only remembers and opens the file, it also remembers where the cursor was when you created the bookmark, and the cursor goes there when you open the bookmark. I fixed a bug so now this important feature works again. #
Also, the bookmark still works if you move the node you bookmarked to another location in the file. In other words it's not based on the path to the node.#
Include nodes point to other outlines, anywhere on the web. When you double-click on one, Drummer, behind the scenes, reads the other outline, and drops the result under the bar cursor headline. It sounds complicated and time consuming, perhaps -- but it's not. Today's internet is amazingly fast, and so is the computer you're running Drummer on. There is documentation on include nodes in the OPML spec. #
Drummer has one enhancement implemented, and another mostly implemented as of today. #
You can use file:// urls in include nodes, they point to files in your Drummer account. #
You can include part of an outline, by using an identifier for the node in the outline you want to include. #
The two features work together, so you can include part of an outline in your Drummer account. #
There is no spec on the partial inclusion, so I'll give you a preview here.#
That points to a section of the states outline in my test account. #
If you create an include node with that as the url attribute, you'll get part of the states outline, not the whole thing.#
Here's a demo. Double-click on it in Drummer. Be sure to reload the app before doing so (new software).#
(The demo only works in Drummer, not in the email or on the blog.) #
I love this soooo much. Been wanting to get to this place for quite some time. Other devs are working in this area, but I don't think anyone is this far along. We shall see.#
If you were a ThinkTank/MORE user, this is a web-like version of cloning, which was a very popular feature.#
BTW, many of you already know how to use the suitcase icon to look at the attributes of a headline. You can very clearly see what's going on by looking at the demo node and seeing what the attributes are. Very low-tech. "Small pieces loosely joined."#
What's not finished about this? Not sure. It's very new, so I want to let it settle in. Use the feature lightly, there very likely will be breakage. 💥#
I'm going to be a super hardass about this so test me if you want, but there will be no "give."#
The only reason I'm running the private testing repo is to answer questions for users who need help.#
I also love it when other users help, when they know they have the answer. Don't guess here, we'll get the right answer. If you don't know the answer, kick back.#
A couple of times people have innocently asked questions of people, which I understand, we're all community-oriented but the support forum is not for that. Why? Because I know where that goes, I've been there many times, and I don't want to go there. #
People behave weirdly in mail lists and in spaces where everyone is following everyone. It becomes about power. "Who does he think he is?" Well here, in support for a product I am developing, I am in fact a special person. Usually in support forums you don't communicate with the person developing the product. But I need to do that, to do my job. It's how I do my job at this stage in its development, with contact with users.#
Once when I was testing a product, naively, gave everyone the means to communicate with every other user in the product itself. I had to kill the product because in about a week they were telling me what to do with my time. People very quickly forget in these contexts how to be a decent human being. #
Anyway -- we need a way to help people get their questions answered. So that's where the line is. And as I said at the top, there is no give. #
Yesterday we added new users to the Drummer test group. #
If you're part of this group, you should have a fresh new-user experience in your mind, having created an account on Drummer, and seen your Notes outline open, and maybe tried to do something beyond that. #
Do you have any observations on the new-user experience?#
Before reporting a problem, make sure it's repeatable. That's the first thing I'm going to need to do.#
When repeating it, read and follow the docs, and this time do it more carefully than the first time. I always try to provide a clear checklist of things you need to do. There aren't many wasted words in those checklists. You need to read all of them. #
I assume the person repeated it and it's a real problem.#
Sometimes there isn't enough info to repeat it, and I have to decide whether to ask for more info or move on. #
But if there is enough info, I go to the docs, and do it myself. #
If I spot the problem, good -- this was a success. If not, we begin a process to find out if the product is wrong, or the user is. #
If you don't try to repeat it before reporting it, there's a good chance it was your mistake, not the software's. And we will have wasted time that could have been spent more productively.#
The URL for my linkblog JSON file is: http://radio3.io/users/davewiner/linkblog.json#
If you have a Radio3 linkblog, yours is just like mine, except of course replace my name with yours. If you add a urlLinkblogJson head-level attribute with this value and rebuild you will have a second tab, Links.#
I'm going to upload the source for the template HTML, CSS and JavaScript to the DrummerCMS repo, so you can if you're skilled in this tech, create your own template, and you could theoretically add more tabs by following the example in the code. I would like to see one or two people take up that project. Two templates are a lot more fun than one. 😀#
I did the monthly rollover on Scripting News and I'm happy to report the caching appears to have worked. So the radical change I made a couple of days ago seems to have worked. Onward! 😀#
If you did a Find-Again by choosing the menu item, it worked reliably.#
However if you did it by pressing Cmd-G on the keyboard, it would skip a certain number of instances. #
This is now fixed. When you press Cmd-G you reliably go to the next occurrence of the string you were searching for. #
Reminder to self: The keyboard handling in Drummer is a patchwork. Some of it is inside Concord, some is handled by a Drummer-level keyboard handler (including stuff that should move down to Concord, for example the inclusion code).#
Concord is getting some attention these days, so I put together a little reader app that follows the Change Notes outline. Not sure what I'm going to do with it, but I wanted you all to see it. These are instant outlines, that means the reader app opens a socket to the server the file comes from and when it updates, gets the latest version and shows that. It's kind of like a self-updating feed in an outline. Proven to be an effective way to communicate. #
You can have it view your own OPML file by using the url parameter. An example of a reader that's viewing the States outline. #
A note from Ken asks if he should be seeing 2.0.8 as the version for web Drummer.#
Yes. I haven't been bumping version numbers in the user-facing code. I have been doing it for the JavaScript modules as new versions are released. #
I don't find we need to bump the versions to communicate at this point. Maybe soon there will be a need. For sure when there is a "release" I will bump the version number on both web and electric releases. #
All hell broke loose. I couldn't imagine that it would be hard to fix, but it turned out the problem was much more general, that's why it was initially hard to pin down. Turns out you could get Drummer to fail by doing this:#
Boom. Everything in the newly opened file is garbage, all the headers, structures.#
It was a one-line fix. We just needed to empty out the hoist stack in the newly opened file. Instead the hoist stack from the previous outline was inherited by the newly opened file, and as they say hilarity ensued.#
I love getting out big bugs like this one. The reason I didn't see it myself is I wasn't hoisting much. #
Good teamwork on this one. I really like the way this feels. #
You do it infrequently, as did the cluelessnewbie.#
This bug has been in there a long time, but I never saw it with Scripting News because basically I blog every day even if I don't have anything to say. 😀#
There was some discussion during the Friday meetup about Anton running a Drummer server. I hadn't given this a lot of thought as of Friday, other than I was pretty sure it would be easier this time than it had been with LO2. The server behind Drummer is a simpler architecture. #
Anyway, I am relieved that Anton doesn't want to run a server. Supporting other servers makes my job an order of magnitude harder, because I would have to lock down things, and manage migrations on other people's installations. I've taken on that job quite a few times in the past, with Manila, Radio Community Server, all the Poet's projects. It's only worth doing if you think it's a Change The World kind of thing. At this point I know better. It's just work. With not much if any reward. #
I'm going to keep the focus on work that delivers benefits to end-users, and has the potential to get people excited about Drummer. #
When opening an instant outline, if Drummer can't read the file, it would previously go ahead and open a tab, which didn't have a close box and couldn't be closed via the Close command in the File menu. Now it puts up a dialog saying it can't read the file and doesn't open a tab. #
Suppose you want to remember a particular note in my Change Notes outline. #
The natural thing to want to do is bookmark it. But it didn't work -- although Drummer did remember the cursor location in the bookmark, when you used the bookmark, it ignored the cursor. #
Now it not only remembers the cursor location, it uses it. 😀#
It appears to the user that an outline in an inactive tab is actually present in some way, but it isn't. The outline isn't loaded until you activate it. So the twitter.opml software has to first be sure the tab has been loaded before proceeding to add the tweets. It wasn't doing that.#
The reason it appeared that only the title was changing was that Drummer was reading all the tweets each time. So the new tweet would appear at the top of the outline, as you would expect. It looked like everything else about the outline was working, but in fact it was re-creating the whole outline every time. Not the way you want it to work! 😀#
He wrote the code, you'd think he'd remember how it works, but he didn't. This new way Drummer works was a month-long project to re-do how the tabs work, so you won't have to wait for all the outlines to load before you can use the one you want to work with. As my outlines were getting larger, this had become a serious usability issue. This "corner-turn" was done earlier this year, in April if I recall correctly. #
Anyway, in the intervening months, I had just been using the software and had largely forgotten that it was just an illusion that all the outlines appear to be open even when only one or two are.#
The lesson: You have to pay close attention to everything when using or programming a computer. It was working fine. It was my understanding of the software that was incorrect. It tricked me in a fun kind of way. #
fixed a bug, where if tweets.opml is not the active tab, and tweets that are in reply to other tweets in the outline are part of what's scanned, the replies will not be added to the outline. to be clear, this was not a problem if tweets.opml was the active outline at the time of the scan. #
instead of creating a link node out of a tweet with a link, now we replace the bare t.co link with (link) with the text "link" which is hotted up so that when you click on it it takes you to that page. a screen shot might illuminate.#
You're out and about, and get an idea that belongs on the to-do list for your latest project. Open Twitter, post a note. When you get back to your desktop the note will already be in a Drummer outline, ready for you to act on it. It doesn't matter what kind of writer you are, whether you write for yourself, as a note-taker or designer for your workgroup, if you write docs, or a blog, novels or Pulitzer-winning news reports. If you are a writer and and a steady user of Twitter, and interested in tools for thought and outliners, this new Drummer feature, tweets.opml, is for you.#
It seems such a big thing that for sure I would have gotten a lot of reports on this by now, but I need to ask.#
It was reported yesterday, and I want have an idea if it's an isolated problem, or not. I find here that E/D is perfectly reliable at saving, I've been using it steadily since May. #
If you've seen this please post a comment in this thread.#
When reporting a problem it's important to look in the JavaScript console to see if there was a program error that might have been the source of the problem. #
In Chrome on the desktop, the command is in the Developer sub-menu of the View menu. From there, click on Console. #
In Electric Drummer, look in the Mac menubar, Window menu. #
Errors usually appear in red, but sometimes in black if they are code I put in the app to help diagnose problems. Usually it's pretty obvious when an error is being reported. #
Headlines with a type attribute of "tweet" now have an icon to go with it.#
This is a feature I turned off in June, because outlines with lots of tweets don't look that great, but I'm swinging the other way now. You need a visual clue that a headline represents a tweet, because a lot of power comes with that. #
I made a change to how it works internally that is intended to be fully transparent, i.e. no change in behavior. So if you see it fail in some manner, it's not your imagination, it's something to try again and see if it's repeatable.#
Scott found problem with menus disappearing after changing the Scripts menu. At first he thought it was E/D but the problem shows up in web Drummer too. This is going to be a new thing to look out for. Problems that are unique to one version or the other. The thing to know is that most of the code, except for dealing with files, are identical in the two products. That was one of the toughest parts of the project, coming up with an internal API that made that possible. In the previous product, LO2 and Electric Outliner did not share a common code base, which made maintenence so difficult it was better to completely reorganize the code. #
Allen noted that when you click on the name of the product in Electric Drummer, you are taken to a dysfunctional place. Another difference between the web and the desktop versions. #
Anton found chaos in the enabling of menus. It looks pretty bad, but I'm fairly sure it'll be straightforward to fix. I did an overhaul of how enabling and disabling works in the menus, and wasn't thinking about E/D, which has different rules. #
The bug reports are getting good as people develop a sense of what to expect from the software, and we've learned how to communicate on this stuff. #
There will be updates to the web Drummer that will not immediately be reflected in Electric Drummer. As explained in the docs, all the code is baked into the download, not accessed over the web, as a security thing. So I don't anticipate releasing a new E/D every time there's an update to web Drummer. We'll figure out the right way to do it.#
Right now the language in Drummer doesn't have a name, and that's starting to be a problem. #
The language is an extended JavaScript. It does one very important thing that JavaScript doesn't, it generates code that makes synchronization automatic.#
The resulting code is so natural, a few people don't even notice it, and that's a good thing. #
With Frontier we more or less punted on the name of the language. We hired a writer, Dan Shafer, to write the docs, and he couldn't do it without a name for the language. The programmers were busy working on other things, so I told him to just pick a name and go with it, thinking there would be a moment when we could change it if we came up with something better. We didn't. The name he came up with was UserTalk. I hated that name. It means nothing, and it's a lie. Programming isn't for people we think of as users. It's almost a definition of what a user is, someone who doesn't program. #
This language is far from the only language that generates JavaScript code. Because of its ubiquity, lots of language developers take the route of generating JavaScript code from their language compiler. Here's a post about pre-processing for JavaScript. #
Cmd-/ -- pronouced "command slash." Because that's how you run scripts in the outliner. I have a domain reserved for this. #
javascriptscript -- imho javascript is not a scripting language at all, it's a system language. Like C, Pascal, other algol-like languages. The thing that prevents it from being a scripting language is the thing that this language adds. #
DrummerScript or DrummerTalk or something with Drummer in its name. I like the idea of binding the name to the outliner. Even though you hardly notice it when programming in Drummer, the fact that the default editor for the language is an outliner is pretty innovative (for most people, in Frontier we were doing it a depressingly long time ago).#
Or none of these, something altogether different. #
You may find that Mac OS refuses to run the app. But you can tell it to run it anyway. Open the System Preferences app, then open the Security panel. There will be a place where you can decide to open Electric Drummer. You may get a few more dialogs confirming you want to run the app, or open a file. #
Please read the docs. Certainly read them before reporting problems. 😀 #
Here's a special page for comments and questions about Electric Drummer.#
Also, if it basically works, it would be helpful to hear that. #
I've been putting off buying a domain for Drummer, preferring to put most of it under scripting.com. But there are some things that will need their own sub-domains, so they can be moved. scripting.com obviously is pretty immovable and it would make no sense to move it when only a small part of it needs to be somewhere else. Planning for the future..#
I found myself typing the term drummer land again into some text I was writing, so none of the other possible choices made any sense. and of course the .com, .org, .net etc names are taken. And I like the idea of drummer.land. 😀#
A (public) braintrust query. Starting to think about import/export to gain some level op interop with Markdown-based outliners.#
A LogSeq user is pitching in. Lots of questions about what's software-generated vs what the user enters. #
Their OPML import does not preserve head-level or item-level attributes. So whatever we got back from LogSeq after it was edited would be problematic in Drummer-land. #
It's a desktop version of Drummer that runs on the Mac. #
I've been using Electric Drummer since May to write Scripting News and all the docs for Drummer and other stuff. It's as solid as the web Drummer, and it does more. And it's different because all your files are on your local computer, and can easily be accessed by other software. #
I hope to have something for you to download tomorrow or Monday. The docs are written, and I believe the software is ready to go, but I want to do a fresh review in the morning and probably rewrite the top-level stuff, explaining how it's different from the web version. #
It will only be available for the Mac, but it should be possible to create Windows and Linux versions. #
I want to call your attention to a very useful Drummer feature re Twitter.#
You can write a tweet in a headline. Just click the Twitter icon in the left margin and off it goes to Twitter. The headline then acts as a pointer to the tweet. If it's published as part of a blog, the headline has the tweet attached. #
Here's an example of a post where every paragraph is a tweet.#
Electric Drummer is the desktop version of Drummer, in development. It's not in testing yet.#
There was some confusion in Electric Drummer about what the View OPML command in the File menu should do. Since the files in E/D are on your local hard drive, the correct answer (or so it seems) is to open the file itself. This has an unusual effect on my machine, because now Viewing OPML opens Frontier which is configured (somehow, I forget how) to open files ending with a .opml extension. I can live with this. On your machine I hope it will open in the browser. Since at this time I am the only user of E/D it'll take some time to find out. #
I realized the immediate need for it when a newbie asked for info that was in the change notes outline. The instructions for finding the info were awkward. Now it'll be possible to provide an URL. Much easier.#
When you create a bookmark, Drummer not only remembers and opens the file, it also remembers where the cursor was when you created the bookmark, and the cursor goes there when you open the bookmark. I fixed a bug so now this important feature works again. #
Also, the bookmark still works if you move the node you bookmarked to another location in the file. In other words it's not based on the path to the node.#
Include nodes point to other outlines, anywhere on the web. When you double-click on one, Drummer, behind the scenes, reads the other outline, and drops the result under the bar cursor headline. It sounds complicated and time consuming, perhaps -- but it's not. Today's internet is amazingly fast, and so is the computer you're running Drummer on. There is documentation on include nodes in the OPML spec. #
Drummer has one enhancement implemented, and another mostly implemented as of today. #
You can use file:// urls in include nodes, they point to files in your Drummer account. #
You can include part of an outline, by using an identifier for the node in the outline you want to include. #
The two features work together, so you can include part of an outline in your Drummer account. #
There is no spec on the partial inclusion, so I'll give you a preview here.#
That points to a section of the states outline in my test account. #
If you create an include node with that as the url attribute, you'll get part of the states outline, not the whole thing.#
Here's a demo. Double-click on it in Drummer. Be sure to reload the app before doing so (new software).#
(The demo only works in Drummer, not in the email or on the blog.) #
I love this soooo much. Been wanting to get to this place for quite some time. Other devs are working in this area, but I don't think anyone is this far along. We shall see.#
If you were a ThinkTank/MORE user, this is a web-like version of cloning, which was a very popular feature.#
BTW, many of you already know how to use the suitcase icon to look at the attributes of a headline. You can very clearly see what's going on by looking at the demo node and seeing what the attributes are. Very low-tech. "Small pieces loosely joined."#
What's not finished about this? Not sure. It's very new, so I want to let it settle in. Use the feature lightly, there very likely will be breakage. 💥#
I'm going to be a super hardass about this so test me if you want, but there will be no "give."#
The only reason I'm running the private testing repo is to answer questions for users who need help.#
I also love it when other users help, when they know they have the answer. Don't guess here, we'll get the right answer. If you don't know the answer, kick back.#
A couple of times people have innocently asked questions of people, which I understand, we're all community-oriented but the support forum is not for that. Why? Because I know where that goes, I've been there many times, and I don't want to go there. #
People behave weirdly in mail lists and in spaces where everyone is following everyone. It becomes about power. "Who does he think he is?" Well here, in support for a product I am developing, I am in fact a special person. Usually in support forums you don't communicate with the person developing the product. But I need to do that, to do my job. It's how I do my job at this stage in its development, with contact with users.#
Once when I was testing a product, naively, gave everyone the means to communicate with every other user in the product itself. I had to kill the product because in about a week they were telling me what to do with my time. People very quickly forget in these contexts how to be a decent human being. #
Anyway -- we need a way to help people get their questions answered. So that's where the line is. And as I said at the top, there is no give. #
Yesterday we added new users to the Drummer test group. #
If you're part of this group, you should have a fresh new-user experience in your mind, having created an account on Drummer, and seen your Notes outline open, and maybe tried to do something beyond that. #
Do you have any observations on the new-user experience?#
Before reporting a problem, make sure it's repeatable. That's the first thing I'm going to need to do.#
When repeating it, read and follow the docs, and this time do it more carefully than the first time. I always try to provide a clear checklist of things you need to do. There aren't many wasted words in those checklists. You need to read all of them. #
I assume the person repeated it and it's a real problem.#
Sometimes there isn't enough info to repeat it, and I have to decide whether to ask for more info or move on. #
But if there is enough info, I go to the docs, and do it myself. #
If I spot the problem, good -- this was a success. If not, we begin a process to find out if the product is wrong, or the user is. #
If you don't try to repeat it before reporting it, there's a good chance it was your mistake, not the software's. And we will have wasted time that could have been spent more productively.#
The URL for my linkblog JSON file is: http://radio3.io/users/davewiner/linkblog.json#
If you have a Radio3 linkblog, yours is just like mine, except of course replace my name with yours. If you add a urlLinkblogJson head-level attribute with this value and rebuild you will have a second tab, Links.#
I'm going to upload the source for the template HTML, CSS and JavaScript to the DrummerCMS repo, so you can if you're skilled in this tech, create your own template, and you could theoretically add more tabs by following the example in the code. I would like to see one or two people take up that project. Two templates are a lot more fun than one. 😀#
I did the monthly rollover on Scripting News and I'm happy to report the caching appears to have worked. So the radical change I made a couple of days ago seems to have worked. Onward! 😀#
Copyright 2021, Dave Winer.
Last update: Thursday September 30, 2021; 8:58 PM EDT.