Thursday, November 08, 2007

37 Signals on why enterprise software sucks
Quick Note : I just had a revolution in my thinking, triggered by Enso but influenced by several other recent trends.

You write Enso "extensions" as XML-RPC servers sitting on your local machine, register them with Enso and it calls them using XML-RPC. I tried the example from the tutorial and it's very cute and simple. So I've decided this may be a way forward for the dilemma which has kept the "new SdiDesk" on hold for several years(!!!)

If you remember, the issue has been whether the new SdiDesk should be a "web"-application (accessed through the browser) or a desktop application? And how to implement the UI.

The problem with the "browser" answer has always been : "but how to do the network diagramming bit?" - which requires interactive vector graphics. SVG doesn't seem quite stable or cross-browser enough. Canvas isn't cross-browser. Flash is proprietory.

The problem with the "desktop application" is, well, the many rival Python GUI libs with different degrees of maturity. And the question of getting them to work cross-platform.

A meta-problem : I just don't have time and energy to go through learning lots of different GUI frameworks to decide which I want to use. And the ideal answer to the browser / desktop question is probably "both" which doubles the amount of work.

In fact, one of the motivations for GeekWeaver is to see if I can use it define a higher-level UI description that can be compiled down into both XHTML and a GUI widget-set.

Of course, with XUL, Open Laszlo, Adobe Flex, XUML etc. lots of people have been looking at something like HTML for defining desktop apps. too, but the free Python frameworks don't seem to have caught up with that yet. XUL sounds most promising especially with the open sourcing of Active State's Komodo ... but that's also a big complicated thing to even start looking into.

Anyway, inspired by the Enso extensions and Bruce Eckel's interesting example of hooking up a Python XML-RPC server behind an Adobe Flex application I've been wondering about blowing the project apart entirely into a number of services connectd only XML-RPC or something more ReSTful.)

So there'll be a WADS (SdiDesk PageStore) service, a GeekWeaver interpreter service, a "user navigation history service" etc. Even the glue which ties all this together will be another service that's neutral about the user-interface. Effectively the model, view and controller will be completely separate programs. (I know, I know ;-) )

Then there'll be a variety of different types of access with different UIs.

Now that Adobe's AIR has put Flash on the desktop and made it a serious rival to the Java virtual machine - I *am* tempted to put some time into learning it. It would give me a reasonable GUI widget set (including TreeGrid, yay!) and the vector graphics needed for networks. It will run both on the desktop and in the browser and on Linux, PC and Mac. The tools are free-as-in-beer (Flex beta) or free-as-in-speech (Open Laszlo). It's also possible to imagine generating the Flex XML or the Open Laszlo format directly from GeekWeaver. (Aside : I wish ActionScript hadn't borrowed quite so much from Java, but still, I'd only be using it for the front-of-the-front-end UI stuff.)

Then I want to experiment with Enso access - for example, Enso commands like "page HelloWorld" or "pagehistory ChocolateCake"

And there'll be web-browser access probably through a "gateway" that accepts http requests and spits out HTML for a browser. The only thing I don't know is whether I *really* should be using WSGI somewhere here.

Anyway ... that's a quick update of my thinking this week ... tune in soon for the next GeekWeaver release (really, it's coming together, and gonna be very powerful). Then it's back to work on this larger project.

Tuesday, November 06, 2007

Next installment of the must-read series on FogCreek's Wasabi.

Fascinating to see the problems they've come up against and the solutions. What Stefan calls "picture functions" sound close to GeekWeaver "blocks".

Thursday, November 01, 2007

Very interesting ... seems that FogCreek's Wasabi is a language to compile into the various parts of a web-app in ASP or PHP.

So kind of a competitor to GeekWeaver. :-) Better take notes.

I wonder if it's gonna be released to the public.

Tuesday, October 23, 2007

DAn McWeeney has a great post on what he calls "synthesizers" : which seem like generalist / hacker / blogger / communicator type.

Personally I think the existence of the web is pushing us all in the direction of being synthesizers.

Thursday, October 18, 2007

Important statement (actually essay / braindump) on my thoughts on widgets and YASNS over on my personal blog.

Wednesday, October 17, 2007

Mark Bernstein has a great post (and sounds like a great talk) on NeoVictorian Computing.

Wants to return software development to the personal and to making meaning.

Via Bill Seitz
Cool!

Thanks to Dave Stein I now have "programming" on my Behance Profile

Tuesday, October 16, 2007

New meme : GeekWeaver is Language Oriented Programming for everyone else.
Good weekend for GeekWeaver development ... you can now pass arguments to functions that are more or less table-shaped - like this :


:f Fruits
apples,, oranges,, pears
grapefruit,, passion-fruit,, grapes
bananas,, lychees,, mangos



It's not public yet, but it will be available in the next installer.

Also, although GeekWeaver is designed to be written in an outliner, I'm close to a plain-text mode which will look something like the above.

But I have a problem which I'm still not sure of how to solve. GW has to preserve literal text. So using spaces for indentation like Python is not so easy.


abc
xyz



could mean either a node "abc" with a child "xyz" or two nodes at the same depth : "abc" and " xyz". How can we tell the two apart?

Currently my plain text parser works with code that looks like this :


* abc
** xyz



Which keeps the continuity with wiki-markup and disambiguates from


* abc
* xyz



But it's pretty ugly if you really were going to do any serious programming with it.

Suggestions welcome.

Thanks to Zby for turning me on to Behance which seems to be an interesting combination of social networking for creatives backed by a GTD-style how-to-organize methodology for disorganized creatives, and has special stationery too. Yay!

Could fall between a lot of stools, or could be the next-big-thing (more fun than Linkedin, more serious than Bebo, easier to use than degenerate art)

I do like the explicit emphasis on trying to solve the problems of disorganized people.

I don't like that "software architect" is a creative label you can attach to yourself but "programmer" isn't.

Thursday, October 11, 2007

Monday, October 01, 2007

Just commented on a topic dear to the hearts of all smart, disorganized individuals over at Ward Cunningham's Vision Thing.

Friday, September 21, 2007

Resolver Systems seem to be a cool, python + spreadsheet company based in London - with the right attitude. Nice demo.

Hmmm ... and they're hiring ... (drifts off into daydreaming)

Wednesday, September 19, 2007

Joel Spolsky :


And your programmers are like, jeez louise, GMail is huge, we can’t port GMail to this stupid NewSDK. We’d have to change every line of code. Heck it’d be a complete rewrite; the whole programming model is upside down and recursive and the portable programming language has more parentheses than even Google can buy. The last line of almost every function consists of a string of 3,296 right parentheses. You have to buy a special editor to count them.


Spooky.

I mean, that wasn't exactly the whole GeekWeaver gameplan. But "high level" lisp-like language that compiles down into complex web-applications, is not so far off. I was thinking of Dojo as the Javascript library, PHP at the server, and Facebook itself (or Ning) as the layer at which applications can be glued together. So read with Marc Andreesen too.

It's the zeitgeist I tell ya'

Saturday, September 15, 2007

I'd forgotten that Processing Processing by Paul Ford was one of the inspirations for GeekWeaver.
Reading more discussions on the business of Joel has got me thinking about the problem of marketing GeekWeaver.

So here's the pitch ... in the classic 5 points of selling ;-)



    1) The pain you didn't know you had!


    Oh, the horror, the horror, too many tags too many files, you have to reach for the mouse and click to find the file menu and open up a new file and then scroll around in that silly little common dialog where the files are all represented by little yellow blobs that are 2mm square and then you click one and open and your hand has to come off the mouse and down to the keyboard and you try to scroll around but there are tags and tags and tags then you change something and you forget to close the tag and everything's position gets screwed up and you think ... oh if only I'd used CSS, but there wasn't time and anyway you have twenty pages the graphic designer made by copying and pasting in Dreamweaver (oh BAD Dreamweaver) and now the client wants them all changed and if you were working with a content management system you'd have put some common things into includable subtemplates but you don't have that and you think why am I watching the grains of sand draining through the hourglass of my life doing the same mechanical transformations on dozens of static html and xml files and you know the customer will only want them changed again next week .... aaaaiiiighhh why can't html be like a proper programming language instead of this ???? WHY GOD? WHY??


    2) The generic solution.

    Yes, a programming language. That would have the requisite controls over abstraction that I need. And a decent IDE. If only writing HTML files could be more like a programming lanaguage.


    3) Our solution is your solution.

    Fear not because GeekWeaver will solve all your problems.

    All your pages are kept in one file, which you can navigate around with the keyboard in the comfort of your favourite OPML editor. You never have to close an HTML or XML tag again with the .<tag> notation that takes advantage of the outline structure to know what blocks are meant to be inside what blocks. Never, ever copy and paste when you can define your own re-usable, parameterizable blocks at any level you like including outside the level of a single page ... that's right folks, you can define a reusable component which actually evaluates to a number of pages or other output files.


    4) Accept the price

    Think ... just think ... of the hours of your time that could be saved if your static web-pages (and everyone has a few tucked away somewhere - remember that old departmental intranet-site no-one's been updating in years? Remember that customer who needed to access the documentation off-line?) were all safely in GeekWeaver format? How much would that be worth? (And at 50 quid an hour you're underselling yourself, but hours of tranquility can be bought for a mere ... well, let's see download and install Python 10 mins on Windows, probably already have it on Linux and Mac. OPML editor? 5 mins on broadband. GeekWeaver ... 2 mins?


    5) Act now!

    Get it today! because it's Saturday and you know you'll be too busy wasting time manually editing HTML once Monday comes around. And if you're an early adopter, and send me emails, then I'm more likely to listen to your requests and stuff ...


An idea I had, over at Joel's Business of Software :

Here's a thought.

I was re-reading this a couple of days ago :

http://www.joelonsoftware.com/articles/fog0000000348.html

as I'm trying to persuade the overworked developers in the place I work to take some time out for this kind of cleaning.

And it occurred to me that there could be a market for specialist code-cleaners. After all, you have specialist office cleaners instead of making the clerical staff take the Dyson around after work. Why not somewhere you can outsource legacy code to simply be carefully and lovingly refactored and polished without any claim that this company are doing new development?

Normally companies from rich countries imagine they can bang out a few UML diagrams, ship them off where labour is cheaper and have it coded up. We all know that this is a fallacy (coding and designing are too tightly entwined).

But could "take my OK but ugly code, with these existing unit tests, and return it with identical behaviour but all the HTML tags closed and the variable names consistent" be a more viable way of dividing labour?

Anyone know of anyone currently offering this? Could "code cleaning" be a small service business? Maybe even part-time for people who have a few hours free each day to work from home, know how to code, but can't commit to a full development job?

Friday, September 14, 2007

I've done a slightly improved GeekWeaver screencast.

Still very sketchy, and without audio, but the SWF is smaller, and shouldn't crash.

It just concentrates on the basics :

* making several pages
* using the .tag notation with outline indenting to save on closing HTML / XML tags
* defining a reusable and parameterizable block (in this case, page template) and calling it for each page.

I'll try to get the next one done in a few days, with some more surprising capabilities.

Monday, September 10, 2007

I've been struggling with Python's distutils over the weekend, and I'm finally making some progress. There's a new GeekWeaver page and a new release.

The page is part of a revamp of my personal site, which is now being built with GeekWeaver. And the release is the first built with distutils.

I was hoping that it would put the code somewhere on the PATH so that you can include the GeekWeaver modules from anywhere, but that doesn't seem to be happening. So although the code goes into "site-packages" I'm not sure what that buys you at present. Any Python experts able to shed some light on this?

What's definitely happened is I tidied up the whole directory structure. Unit tests and library modules are in sub-directories, and you can run the program from wherever you like as long as you give the right path to the gwMain program.

If you go into the "examples" directory in this new distribution, you'll see some examples of .bat and .opml files. You should be able to run the .bat directly there. You can put your own projects in their own separate directories using this as a model.

As always, I'm keen to have feedback, questions and suggestions for GeekWeaver. It's starting to come together although I also need some proper docs and screencasts to really show what it's capable of. The example files show the most basic (but most useful) features of GeekWeaver, the fact you're using an outliner for your whole site, the fact you can manage multiple pages within the same file, the way you can use .< notation to save yourself having to close tags, and the definition of re-usable, parameterisable blocks.

There's a more complex example of GeekWeaver's power in the tests sub-folder. It's not that well explained yet, but it shows how you can produce tables, how you can map a block-call to a sub-list of items, define blocks which are bigger than a single page, and pass block-names as parameters to other blocks.

Thursday, August 02, 2007

I see Zbigniew beat me to blogging about wiki-wednesday. That's one of the perils of laying around in bed all morning.

He's dead right about Alan Wood's presentation being very exciting. I'm probably even more impressed by Wood's "Rel3" than Zby is.

What most impressed me was Alan's apparent good taste that seems to be formed by real experience. Rel3 isn't an attempt to take a particular genre of social software as it exists and force it into the enterprise, but a crafted, pragmatic response to particular needs.

Yes, it looks very like a non-threaded discussion forum. In fact it's also a bit like a page of "River of News" for a single issue being handled within a group. There are echoes of TopicExchange and explicit inspiration from Twitter.

Behind the scenes things seem just as interesting. Written originally in Java, then ported to Rails and now to Erlang. It's designed to use Amazon's S3 and EC2. (The fact that it keeps data in files on S3 prompted leaving Rails.) Each page (or conversation) allows files to be attached so you can manage Word, Excel, PDF docs, etc. When asked if he's thinking of creating some kind of Ajaxy online editor for collaborative documents, Alan sensibly says he won't re-invent the wheel but will provide hooks to other providers of this kind of stuff.

In other words, this is a very nice, minimal "glue" to tie together the people and resources that temporarily need to be brought together to solve a particular problem. After which the page doesn't hang around cluttering up your ontology when you have lost interest in it. (I mean, it probably *does* hang around. But Alan Wood, interestingly, contrasted Rel3 with wikis which allow a small group to work producing a more permanent document that must stake its claim to some part of the name-space.)

In this, it has some of the best features of other social software, in particular, I think it has potential to rival email's special power of spontaneous group forming and dissolving. Let's see if actually creating, subscribing and unsubscribing to pages can be quick enough.

Also, Alan has a very smart blog at Folknology

Thursday, July 12, 2007

Know what QEDWiki reminds me of?

Visual Basic.

And I mean that in a good way ... ;-)

Wednesday, July 11, 2007

IBM's QEDWiki looks pretty nice.

This is really taking wiki in the direction of application development tool that I've been dreaming about for ages.

Wednesday, July 04, 2007

Fairly crummy screen-cast of GeekWeaver basics (no sound, sorry)

Need to find a decent screen-recording software. Anyone got any suggestions?

More soon ...

Monday, July 02, 2007

OK ... everyone who's wondering why I've been so quiet and apparently unproductive lately ... very soft (in little more than a whisper) announcement ...


GeekWeaver is a mutant cross-breed of outlining, wiki-attitude, templating and some duct-tape that would like to be a programming language ...

tell you more soon ...

Tuesday, June 19, 2007

Listen everyone, I gotta come out to you all ...

I am now officially an outliner.

For a long time I thought that outlines, like all hierarchical documents, were limited and inferior to graph-shaped wikis.

Now I get it.

The point of the outliner is not the hierarachical structure as a navigation aid - free-form hypertext is still superior.

No, the point of the outliner is the collapse which lets you manage and manipulate bundles of items at the same time. That's something I never managed to get right in SdiDesk. Although I perceived the need for a "PageSet" to create a bundle that could be used for, say, exporting etc. I a) never got that working technically, which was partly because b) I never really made sense of it "conceptually" to myself.

What's great about the outliner is its "scale-free" / "fractal" / "recursive" / "self-similar" nature - which means the same operations (collapse, copy, move, publish) can work on anything from a short list, to a chapter to a volume composed of multiple chapters. I've really started to realize this over the last few months as I've used the OPML editor for more things that I'd have once used SdiDesk for.

Now, don't get me wrong. I still love wiki. It's still my favouritest type of software in the world, ever. And I still use SdiDesk every day. But now, I'm starting to appreciate that there's a need to manage a hierarchy of scales, and until I find out how to combine that with wiki-nature (and into SdiDesk), I'll probably be outlining most days too.

(In my day-job I also spend a whole lot of time with spreadsheets, but that's another story. SdiDesk was always meant to handle grid-shaped data, it just wasn't developed enough to be really usable.)

Thursday, May 31, 2007

Sig :


You talk to one person. You lunch with one purchaser. You present for one or more, same Powerpoint. Why the difference? It's all about people and a person is singular, always.

Tuesday, May 22, 2007

David Brin has a nice post summarizing his vision for "what we need from science" :

Given the daunting range of problems and opportunities that we face, I'd have to say that our most urgent scientific and technological need is to develop better methods for problem-solving.

Some pieces to the puzzle are already getting attention. Governments and big institutions are developing ways to combine sensor meshes and data mining with powerful analytic and projection tools. But this emphasis on centralized or professional-level anticipation ignores the other half of the solution -- generating a resilient citizenry. A populace so knowing and capable that all problems get noticed and addressed, quickly, by a billion eyes


Great point!

What Brin understands is that the "collective" and the "individual" are not in opposition but that smart, disorganized individuals can come together in dynamic, ad-hoc networks to solve problems.

Traditionally, we've relied on certain types of static "organization" (typically hierarchical and procedural) to achieve the benefits of acting collectively. These work. But at a high cost. They're often dumb (information flows badly through hierarchies because no one passes bad news up, and the top becomes a bottleneck); inefficient (participants waste their energy politicking against each other); and unpleasant.

In contrast, we want (and can start to seriously imagine being able) to retain our capacity for individualistic action while working together in loosely co-ordinated, ever changing but highly effective groups. The internet has taken us a long way in this direction, but as Brin points out, there's still room for more scientific understanding and other tools to take us further.

Thursday, May 03, 2007

Q : Phil! Why have you put a Grazr widget in your gutter?

A : Something's happening. And it's about OPML, Grazr, and widgets ...

;-)

Q : Oh, and I noticed you changed the template.

A : Er ... yeah. The look didn't go with the widget. I wanted something that was more, I dunno, evolvable.

Q : What are you up to, exactly?

A : You know, general house-keeping, wanting to learn about new things. The truth is I've been using the OPML Editor a lot recently. Even tried to write a several thousand word essay in it.

And it's good. Perhaps I'm getting the outlining religion ...

Friday, April 20, 2007

Cool video showing WikiCalc embedding YouTube. And showing several evolving lines of thought in the multiple texts being created.

Tuesday, April 17, 2007



Bleaahhhgh! Least inspiring Hughtrain cartoon evah!

Thursday, March 22, 2007

There's a new crop of business wikis. And some interesting discussion.

But what's wrong with this picture?


SystemOne, an enterprise-knowledge-management system masquerading as an ordinary business wiki. What's cool about this product is that it automatically creates, at the bottom of each page, a list of relevant other wiki pages, feeds, and Web search results. The autocreation of the links removes some of the need to manually create links to connect wiki pages together. This is a key feature if the wiki is to be used by a lot of people who aren't hypertext-savvy.


Answer : Everything is wrong here.

Firstly, what's the point of automatically making hyperlinks for people who aren't web-savvy? Or rather, why are you trying to get people who don't understand hypertext to use wiki? (In fact, in 2007, why are you even employing people who aren't hypertext savvy? But that's another story.) At the very least you should ask how exactly they are going to use wiki if they can't understand what hypertext is, or have some intuition about how to use it?

Remember, this is wiki we're talking about : all the hard graft of making links (like the trivially fiddly writing of "anglebracket a href", and the genuinely tricky part about finding the right URL to point to) has been eliminated by the simple WikiWord or [[double square bracket]] conventions. What's left is the only other difficult question : deciding what links to make.

SystemOne "solves" that part for you. But remember, the links are part of the valuable decision-making and information that goes into your wiki. Wiki links are not meant to mean that "this page is vaguely similar to that web-page". If I want to know what pages are vaguely similar I can use Google. Wiki links mean "I, the author, want the reader to notice this kind of similarity between this page or this paragraph or this word, and that page because I think it's significant." Which is far more precise and subtle piece of information.

A wiki which automatically creates links is as useless as a word-processor which claims to write your letters for you.

The purpose of creating documents is not to kill trees or fill up as much disk space as possible. The purpose of creating documents is to capture the value added by human intelligence. Attempting to automate away that, in order to help consume more wood-pulp or fill the screen with more blue-underlines is counterproductive. Bad links devalue the good links. The reader of a page is overwhelmed and confused.

Tuesday, January 30, 2007

Joel Spolsky on a good hack :


I think what makes a good hack is the observation that you can do without something that everybody else thinks you need. To me, the most elegant hack is when somebody says, "These 2,000 lines of code end up doing the same thing as those 2 lines of code would do. I know it seems complicated, but arithmetically it's really the same." When someone cuts through a lot of crap and says, "You know, it doesn't really matter."

For example, Ruby on Rails is a framework that you can use with the Ruby programming language to access databases. It is the first framework that you can use from any programming language for accessing databases to realize that it's OK to require that the names of the columns in the database have a specific format. Everybody else thought, "You need to be allowed to use whatever name you want in the database and whatever name you want in the application." Therefore you have to create all this code to map between the name in the database and the name in the application. Ruby on Rails finally said, "It's no big deal if you're just forced to use the same name in both places. You know, it doesn't really matter." And suddenly it becomes much simpler and much cleaner. To me, that is an elegant hack—saying, "This particular distinction that we used to fret over, just throw it away."

Monday, December 25, 2006


When I wrote SdiDesk I explicitly decided that I wanted many small, hand-layed-out diagrams which are hyperlinked together, rather than automatically generating a large diagram. (Of course, it helped that that was the lazy thing to do, in terms of coding :-)

Manually drawing diagrams doesn't help with *discovery* of new connections or of other structure but, for me, it's the right way to capture some of the structure in *my* thinking. I tend to create diagrams with around 10 (15 max) nodes where I might be deliberately representing a hierarchy or a supply-chain or some other small chunk of the world. And I can arrange the nodes in a way that makes sense for that kind of thing. If I really need more nodes, I probably want to break it up into an overview page and sub-pages with details. Of course, SdiDesk nets are more primitive than even I want, visually (so yeah, I am thinking about how to improve on that in my next opus) But I prefer them to Buzan-style mind-maps where I find most software forces me to build one "butterfly" shaped hierarchy. Or to something like TouchGraph which is very clever but actually not much use when you want to get acquainted with the shape of your information.



3-D web of idea nodes : TiddlyWiki ... - Smart Disorganized Individuals - tribe.net

Saturday, September 23, 2006

SocialText 2.0 is out.

Check out the screencast. Some nice work on the UI.

Here's what looks good to me :

* the automatic backlinks

* deciding you can be "expert" (an explicit recognition that SmartAscii mode corresponds to expertise),

* watched pages,

* the sortable table views of RecentChanges, watched pages and other queries. (I like this very much.)

What I'm still ambivalent about :

* "tagging". Why are tags special? Why are they not simply a convention on top of full-text search (as in CategoryCategory)? Maybe it's simple optimization. Faster to search an "index" of explicit tags. Maybe the flickr / deli.cio.us folksonomic culture is too deeply ingrained to fight?

* they haven't quite got there yet with blog integration. As I'm always banging on about, the tough problem with wikilogs or blikis is that you have two incompatible addressing schemes : pagenames and dates. Deciding which addressing scheme you need for any particular item of information is difficult. As SocialText 2.0 allows everyone in a group to edit blog-posts as wiki pages, blog-items can blossom into full pages. What's not clear is how you can link to a particular blog-item, or how such an item could migrate out of the context of a specific conversation and become a more independent citizen of the wiki.

As always, the problem isn't technical but one of shared concepts. If you have two types of objects with distinct addressing schemes : temporal and permanent, how do you make sure that you and the rest of the community understand which information is of which type? Are people putting it in the right place? Are they looking for it in the right place?

I don't have any answers. But I'll only really get excited about a wiki that *also* provides blogging when someone finally does find a nice way to help the users navigate this conceptual gap. Otherwise, you might as easily use two different products. (Not trying to beat up on SocialText here. I'm just saying that this in one of the grand unsolved problems in the area, and they don't seem to have solved it yet.)

Why I'm still on the edge of my seat :

* WikiCalc? What's happening here? When will grids become first class citizens of the SocialText product?

Note here that conceptually, grids are much less trouble to integrate than blog-posts. Yes, they're technically very different from ordinary pages. But addressably they're the same kind of animal. Individual cells are perhaps more problematic, although the spreadsheet convention is very strong.

Given that Chris Dent's at SocialText, and EEK's involvement, do they (still / yet) have purple numbers in the SocialText wiki? Perhaps they do but that's too geeky for this screencast.

In fact we may see SocialText having to come to grips with questions about integrating four different addressing schemes : page-names, purple-numbers, cell-addresses and blog-items. I suspect proliferation of incompatible addressing schemes will be one of the major issues faced by wiki as it starts to take over the enterprise.

Thursday, September 07, 2006

Very interesting.

Now HyperScope has been released, don't miss Brad Neuberg's great Screencast of Douglas Engelbart's Augment System

How much was SdiDesk influenced by Engelbart? Directly, not so much. But indirectly, obviously a lot. My direct influences were wiki, the Smalltalk environment, Emacs, HyperCard and the web-browser. Obviously, all, heavily indebted to Engelbart's work.

Wednesday, August 23, 2006

Dave Winer says he made 2.3 million with his blog, without advertising.

What I think he means (as I explain to Bill Seitz, here) is that he sold the weblogs.com server last year.

For Winer, the blog is a full media and communications strategy. It’s how he does his personal branding, hypes his projects, and most importantly makes his connections with important users and developers.

Without Scripting News Dave wouldn’t get invited to the right kinds of parties and conferences, wouldn’t have people working with OPML, or reading River of News, or his podcast directories etc. Without Scripting News how would he (or anyone else) understand that there was even an opportunity called “weblogs.com” or what form it should take?

Update : Somehow this reminds me of another Steve Pavlina article : the $10,000 hour.

Not in the letter, of course, - Pavlina's tactics for commercializing his blog are antithetical to Dave's - but in the spirit.

Both eschew mere optimization of the normal microchunk in favour of the hard-to-measure, riskier, higher potential stroke of genius. For Pavlina that means merely increasing your hourly rate by gradual, evolutionary steps is a bad deal if by doing so you miss out on the $10,000 flash of inspiration. Winer says the same for merely monitizing eyeballs rather than making the connections, and having the conversations, that lead to the next weblogs.com.

Sunday, July 23, 2006

WTF!!! I've been Googling for references to SdiDesk, like, forever, but I've never seen August Agricola before today!

Wow! The guy has an SdiDesk mod that looks beautiful.



And sounds like he's done a tonne of cool stuff with it. Damn! I wanna see more!

Good point too, about SourceForge. The stupid thing is I even have an account ... just never got round to uploading it ... doh!

Here's more from August.

Monday, July 03, 2006


SdiServer screengrab
Originally uploaded by interstar.
Don't get too excited. This is just eye-candy at the moment. :-)

But it is what you think it is ... a page from an SdiDesk PageStore served by a web-server (I'm using web.py), and viewed in Firefox with some cute graphic tabs.

Thursday, June 29, 2006

Hey, guess what ...

SdiDesk rocks!!!



Seriously.

I've been working, on and off, on the Python translation and making some progress, but the whole VB code-base had gone stale for me. And, although I've been using SdiDesk for the odd notes, I've been dabbling with other things like the OPML Editor and writing more on online wikis.

But this week I've started a new job in a fairly corporate environment. I've been expected to get up to speed on a lot of things fairly quickly. This is a local division of an international company, selling one component in a larger enterprise system. In the first three days I've had to get an idea of where our place is among various partners, suppliers, customers, systems integrators etc; I've had to get a picture of a range of different products and modules and libraries produced or consumed by different players; I went out yesterday and watched as someone upgraded the installation of our product on-site with one of our partners and will probably be expected to do it by myself the next time. SdiDesk has been absolutely, amazingly, invaluably useful as a place to dump all the information which is being thrown at me.

I've used most of the features : drawn a quick network diagram to sketch out our position in relation to our partners, clients, their clients etc. etc. And as each box in the diagram links to its own page, I can add other information about the parties : web-sites, contact info etc. I've drawn similar network diagrams to show the relations between the various tiers and modules in the software. My first drafts are often wrong but the diagrams are easily modified as new data comes in.

I've written out the steps to installing the software, using nested bullet lists. And, naturally, cross-linked to the modules when relevant. I can throw in login names and passwords. I've used footnotes, and tables, and hyperlinks to both online documentation and the actual web-based interfaces to the system. I'm confident that SdiDesk will become the dashboard that I will work through.

I've also seen its many flaws. SdiDesk has many rough edges, bugs, abandoned and unfinished roads, and is distinctly ugly. But, frankly, I haven't been this excited by, this in love with, it since the release of 0.2. I'm definitely back into it in a major way. (Of course, I don't have any time :-)

So if you don't know what I'm talking about because you haven't yet checked out SdiDesk; but you work in an environment where you need to cope with a lot of information including information that is list, table and graph-shaped; and you're a smart, if a little disorganized, individual; then you know what to do.

Yeah, there are still dozens of things that suck or are aesthetically challenged. Yep, I'm a slow and inattentive developer. But, to misquote Tati Quebra-Barraco, SdiDesk "is ugly but it's fashionable".

(And works off your pendrive.)

Tuesday, April 18, 2006

I notice Eastgate do stationary.

Is this the future for GTD / personal organizer / hyper-text companies? Give away software, sell paper based products?

Saturday, April 01, 2006

Thursday, March 30, 2006

Can you run SdiDeskOnAPenDrive?

Of course.

Hmmm. I wonder if there's a market for a generation of software aimed at pen-drives. As a complement for server-based web 2.0 stuff.

Friday, March 17, 2006

Another wiki-oriented blog : Wiki That!
Brilliant graph of user happines and feature creep. Well worth bearing in mind.
Recent discussion between Albert and me. Albert highlights what SdiDesk does, and what he wants it to do. I give my latest, still evolving plans, for future SdiDesk development. Yes, Python is the future.

(NB : it's a long page that needs refactoring. Scroll down.)
Here's a cool looking blog dedicated to wiki :

RecentChanges.info : Understanding Wikis
Hey! It wasn't me. But someone made an Sdidesk page on Wikipedia. !!! :-)

Monday, March 06, 2006

LOL! Dave Winer on DMOZ vs. Wikipedia


DMOZ has a bad rep for having editors with conflicts of interest. And it's exclusive, unlike Wikipedia which at least has battles (never thought I'd say that) of people with conflicts, DMOZ doesn't even have dissent among conflicted people, only one point of view exists, because there's only one editor for each category.


(My emphasis.)

Scripting News: 3/6/2006

Interesting to note how Dave is spinning against the DMOZ hierarchical catalogue (I never heard of any repution for conflict of interest that he claims, though it's plausible) just as he's about to launch a revolution in online hierarchical directories. :-)

Thursday, February 16, 2006

Stowe Boyd : The Individual Is The New Group -- Part 1

which kind of reminds me of all those ideas about PersonalKnowledgeManagement that were floating around last year.

Monday, January 30, 2006

Quick comment I made about personal timeliness vs. personal individuality Blogger


100% right.

At some point we realize that some of our information consumption has to be a "minority game".

The winners will be those who know things that other people *don't*. That's what makes you valuable to other people. Being an expert in the top ten most known topics makes you worth what?

By definition, there's no algorithm which can give this to you. You need to cultivate your own tastes and ideosyncrasies. Your outlier blogs.

Don't worry about being the first to follow the fashions. Something which is number one on memeorandum or digg today (and is actually important) will probably turn up on one of your regular blogs within a week. So decide how you'll trade-off your own personal timeliness for personal individuality.
This isn't a problem. It's the solution.

Politicians who try to spin their wikipedia entry are getting named and shamed.

Thursday, January 26, 2006

Latest news copied from the ShowStoppers page

I'm still thinking, more and more seriously, about rewriting at least the wiki-to-html engine in Python.

I'm also seriously thinking that the next release will actually be a complementary "web-server" edition, which allows you to edit pages via a browser (over the web) rather than through the VB program.

Right now I have a simple webserver application which let's you access the SdiDesk pagestore via the browser over HTTP.

Of course, this raises questions about security which will have to be answered before release. Will there have to be a login? Can you mark some pages as personal and private, while others are public, etc?

If I go 'browser only' I'll initially lose the network diagrams. (Would anyone miss them?) Although it may be possible to put them back for the more recent Firefox using SVG / Canvas tags.

None of this is ready yet. But it is looking promising. And the main reason is that the new code is in Python which will allow me to work on a proper Python based rendering engine. (Where I should fix all those bugs.)

If the Python rendering engine works out, I'll then try to retrofit it behind the current VB front-end.

Thoughts anyone?

Tuesday, January 03, 2006

Wednesday, December 28, 2005

OK, some more thinking out-loud about possible futures for SdiDesk in light of that TurboGears demo.

Nothing is fixed. Particularly not SdiDesk. This is all speculative.

What is SdiDesk? Idea? A prototype? A useful tool? A code-base? A finger-post pointing out the direction I'd like to see individualistic knowledge tools evolve?

All of the above. Of course.

SdiDesk is the future. :-)

But there's also no doubt in my mind that the code-base (or rather, the language VB) is a major strategic problem.

I won't say "error", because it's very unlikely I'd have written the program at all without the support of the VB environment and easily accessible components like the IE DHTML control.

But it's a major problem because VB classic is a dead language :


  • a) No one is actively supporting it, or developing free components. It's more dead than Lisp and Smalltalk who have enthusiastic free developer communities. VB's main virtue is its symbiosis with MS, and now MS have dumped it (I mean VB classic), there isn't even that.

  • b) Nobody wants to write it or become involved in the code-base. Not even me.

    The code-base could be evolved towards either RealBasic or VB.NET. And if I had a strong incentive, I could take it in one of these directions (OK, if somebody offered me money :-) But I feel no personal urge to get involved in these languages.



I want to write in Python. (Or maybe Ruby or Smalltalk.)

I guess if somebody else wanted to drive it, I'd support, and help out with, a port to Java too. (At least there'd be some potential future.)

Over the last few months I've been dabbling in Python for some smaller projects and I've seen quite a lot of how a Python port of SdiDesk could go. I even have a strategy to start implementing "exporters" in Python and some rudimentary code for that.

But the big issue is that I'm happy with none of the GUI libraries. My new program (which is coming out real soon) uses Python and Tkinter. It's alright. It's easy and it works. But the results are not going to win any beauty contests. It's uglier than SdiDesk (although you chromophobes might find that hard to imagine. :-)

wxPython looks better but needs installation of third-party libraries; as do GTK, Qt etc. And I don't want to be dependent on Windows.

And then there's AJAX.

A few weeks ago I was speculating on another blog about Python, Gecko and XUL.

But, in fact, there's something simpler. Watching the TurboGears demo (and just how bloody simple it is to put together basic wiki functionality in TG - something which takes plenty more lines of code in SdiDesk's current VB implementation) I'm starting to wonder whether a browser based UI might not be as good as any other.

Python has an easy-to-use web-server component in the standard library. To someone using the program, a server at the heart would be transparent. But it would allow you to create shared wikis with others on your LAN or even over the web.

At the same time, AJAX component libraries are starting to get pretty sophisticated. Look at Rico and Dojo.

The only thing SdiDesk can do that a standard browser can't is the network diagrams. And on Firefox, with its canvas and SVG tags, even that might become possible.

Of course, TurboGears needs a database, and I don't want to get away from the current file-system.

But, forgetting TG, I am starting to wonder whether browser-based UI technology has basically caught up to pretty much the standard of any interface I could implement with Tkinter or similar GUI toolkit; and whether it wouldn't be just as useful for SdiDesk users to go via the browser.

Any thoughts?
Wow! I just saw the TurboGears: 20 Minute Wiki Tutorial and I must say, I'm impressed.

Lion Kimbro doesn't like TG so there's a warning there. But I must say, it's the first Python demo I've seen which comes close to the infamous Rails video.
Chandler 0.6 is out

Chandler seems to have been coming along fairly slowly for a while. I'm not sure how exciting this is but could be the beginning of something interesting.

The Chandler team have been building up some Python infrastructure, grappled with various technologies, and rejected the ones which have turned out to be too much trouble to work with.

Maybe they have some nice components?

Now they've done a sensible thing and focused on one application : shared calendaring, which they hope will get them some users and attention (the most useful resources). After that, they can expand to other applications.

OTOH, calendaring doesn't interest me much.

Sunday, December 18, 2005

Structured blogging–what's in it for users?

Well, trying to make ordinary users add more structure to a blog entry is a non-starter. The way to go is to find people who are already entering structured data, and allow them to do it to their blogs.

The clue here is spreadsheets. Dan Bricklin is on the right track with WikiCalc, although the UI isn't right. But what about a plug-in that lets you post to a blog directly from Excel?

Wednesday, December 07, 2005

Today, a comment I left on Don Park's blog got quoted by David Berlind.

Here's what I said :
Here's the amazing thing : there are about 8 billion pages accessable through the browser. And not one of them is that difficult to get to. (Assuming you find links going there.)….How many OSs and desktop applications have 8 billion options and functions? Yet, access to these is through a bewildering variety of different methods : menus and submenus, button-bars, wizards, right-click on the icon to change configuration options, hidden XML configuration files, command line arguments.


But then David says something very right :
Given the way wikis make child's play out of Web authoring (and the emergence of applications like WikiCalc), instead of a desktop operating system, how about a Wiki Operating System. Call it WikiOS (WOS for short).


This is, of course, something I've thought for a long time. And it's one of the guiding principles behind SdiDesk, hinted at several times in the screencasts.

Saturday, December 03, 2005

Dave Pollard continues musing on wiki and a page-oriented view of the world.

Tuesday, November 29, 2005

Google Thinks Small - Forbes.com
I think the next tipping point will be focused on wikis. We are close to the point where we will no longer have to pick an 'application' to create, open or change a document, any more than we have to pick a particular type of writing implement to do so in the physical world. What that will allow us to do is convert our entire hard drive -- every document -- and all the content we maintain on central servers -- every message and blog post, into a single 'virtual' wiki, a kind of giant tableau of all our stuff, everything we have created or contributed to, and everything created by others we have filed away or bookmarked or otherwise 'taken as our own'.


Dave Pollard

Saturday, November 26, 2005

Wednesday, November 23, 2005

Tuesday, November 15, 2005

For some reason I find this article intensely annoying and depressing.

Here's why. I'm one the (possible minority) of people on the planet who if I ask what you do, am genuinely interested in what you do.

Not because I'm a cuddly people person, (though, of course, I am), but because I'm intensely curious about the way the world works. Every damned bit of it. I'm curious about the bits of the world you wouldn't dream anyone might be curious about. About the fashionable and unfashionable bits. The grand scale and the minutae.

Recently I was sitting with a bunch of friends discussing whether you'd rather drink with a philosopher or a dentist. The unanimous opinion was philosopher. But for me, I know it was a close call. And now I'm wondering if that was the right decision. You see, I know a small bit about philosophy. But hardly anything about dentistry. What might I be missing?

Exciting ideas are ideas that cross-pollinate from one field to another. If you don't know the field, how do you know what's useful?

That's why if I ask you what you do, I want you to tell me what you do. I can figure out myself far better than you can how that might (or might not) be useful to me in one of the dozens of projects I'm involved in that you don't even know about. You trying to second guess that, is just going to muddy the signal.

Look! This is a world where markets are conversations, and information and attention are the true mediators of commerce. And "sales technique" is just noise getting in the way of real communication. These sound-bite examples given in the article are the conversational equivalent of pop-up ads.

What's really annoying is that it's articles like this, pedaling this kind of nonsense, that are responsible for the crap that gets continuously sprayed out over real conversations : whether online or in real life.

Monday, November 14, 2005

Not exactly the way to get rich.



The following is a summary of your Amazon Mechanical Turk activity for the week ending Nov 12, 2005.

Weekly HIT Activity
- Number of HITs accepted: 6
- Number of HITs returned: 0
- Number of HITs abandoned: 0
- Number of HITs submitted: 6
- Number of HITs approved: 5
- Number of HITs rejected: 0
- Amount earned this week: $0.15


Friday, November 11, 2005

Thursday, November 10, 2005

This is very cool to me : Dan Bricklin is writing something called wikiCalc.

Bricklin invented the spread-sheet, an easy, user programmable tool that has a lot in common with wiki (in philosophy). I wonder what he'll come up with.

Wednesday, November 09, 2005

A P R E S S . C O M : Micro-ISV: From Vision to Reality
Express - Visual Basic

Alright, I admit, I'm tempted. The new Visual Basic plus development environment, free (as in beer) to download today.

Should I take a look? See how hard it'd be to translate SdiDesk into it?

Things to consider, positive and negative :

- It's .Net 2.0 only, so part of MS's forced upgrade strategy.

- The output will probably look good.

- There will probably be good web protocol and XML handling libraries available.

- It's a different language from VBClassic so serious rewriting will be needed. OTOH, although I'm not a fanatic, I'm a pretty sensible OO developer, I haven't used VB that differently from the way I'd write Java, so the changes shouldn't be too much of a shock. (I explicitly declare the types of all my variables, I use Interfaces a lot in the design)


Tuesday, November 01, 2005

RossMayfield on PodTech
What's going on with SdiDesk?

bodnotbod writes :

'Q: I would love to see section editing like they have at Wikipedia. I've just started working on my first ultra long page and am finding it very unweildly. One work-around would be for me to break the page up into smaller pages but for the task I'm doing that would actually not help my productivity. A way to edit a section (defining section as the text between two headlines [at the ==foobar== level, say]) on its own would be of great help.

'Comment: I too love your product and hope you continue to develop it. I'm still using it months after I first discovered it. I am sorry to see that all your 'recent changes' here online seem to be spam-fighting. I hope you are able to do that with a few clicks and are not having to deal with it all by hand.



No, not fighting the spam by hand. That's being done by the wonderful WikiMinion. Still very annoying though. :-(

I haven't given up SdiDesk, though I am having a play with a couple of other things at the moment. And I have a new computer, so I have to get my world from one to the other.

I've started looking seriously at working with XML, and doing this by way of a couple of other small projects using the Python language. This is making me realize how hampered I am by using Visual Basic classic for SdiDesk.

So, I'm back to thinking about some options for migration at the moment. (While coming up with something else I think will be quite cool.) I definitely see a Python port of SdiDesk sometime (which will, of course, work with your existing data) and will be able to grow in new directions.

Subsections (or pages which are actually trees which can contain sections and subsections and subsubsections) are actually part of the next release of SdiDesk which I'm already working on. Still some way to go before this is finished, but should be there in the next VB version.

-- PhilJones

SdiDesk Wiki: FeatureRequests
Who the hell are Wikisphere?

Whatever! They
get $5.25 million dollars in VC

Sunday, October 23, 2005

Sad scene on SdiDesk Wiki: RecentChanges as the wiki-spammers catch up with us.

WikiMinion is on the case, but this is fucked. I'm coming round to the view that UseMod / OddMuse is no longer sufficient to keep a public wiki open, we need something that allows proper automatic rollback and elimination of spam.

Tuesday, October 18, 2005

Seth Godin : This guy buys old magazines and sells them online, one page at a time!

Seth's Blog: Understanding the Long Tail

Sunday, October 16, 2005

When SdiDesk grows up, does it want to be MindRaider?

Interesting question. MR looks pretty advanced. And taking advantage of a lot of Java libraries.

I'm not sure I see myself wanting to compete directly with this. Expect SdiDesk to stay more closely wiki-oriented : emphasizing ease of use and the pages with concrete names.

Friday, October 14, 2005

Tuesday, October 04, 2005

On an impulse, I just created a new blog which may be of interest to readers of this one.

Platform Wars is a place for my comments on the ongoing struggle between different web and software companies. This isn't meant to be a generic tech. news blog. (Of which there are more than enough.) I'll try to give it a slightly different tone.

There'll be more about strategy, and analysis using insights I've nicked from Clayton Christensen through Joel Spolsky, and possibly even to the real "war theorists" I've found myself following recently. Plenty of my more wild speculation. And maybe some other theoretical stuff.

Monday, October 03, 2005

Rick Segal's post is a good snapshot of the response to writeboard.

Personally I love wiki. And I want to see the wiki idea and name become as widely known and adopted as, say, "blog". So I'm not really into brushing "wiki" under the carpet as too geeky for ordinary people to understand. (Which is, naturally, why I named my program SdiDesk and not something obvious like wikipad, wikinotes or uga-uga - doh! :-( ).

37 Signals are a smart company. They have a genius for doing one little thing (that often seems trivially obvious) in a very usable and user-friendly way, and turning it into a massive hit. So it's not surprising they're coming in to disrupt wiki (and JotSpot) with a simpler-than-you-can-possibly-believe one page, wiki-like thing.

It will be interesting to see how it takes off. What strikes me, is that they've removed what seems to me to be the wiki "essence" : the ease of creating multiple pages and links between them via concrete page names. And, of course, what most people remember : unrestricted access.

What's left is a little bit of wiki-markup. Plus versioning. And the fact that this is a collaboratively editable document.

I wonder if they'll subtly introduce multiple pages with links between them at a later date.