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

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.

Thursday, September 29, 2005

OPML inclusions in the gutter.
There's a discussion going on at John Robb's Weblog about Web 2.0

I got inspired to write a couple of long comments. The first is about what I think Web 2.0 is a response to John's request "What are the 3 big themes that undergird the upgrade?" :




    open data
    .
    You open whatever data you have, and positively encourage others to take it and "join" / "remix" it with their own. Plenty of people always understood this, but were probably swamped in web 1.0 by an influx from traditional media who tended to see data as something they created and sold access to.


    specialization.

    Open data allows more niche re-users. One company doesn't have to do it all. It's a distributed bazaar where you can get famous (and possibly rich) doing one thing really well, as long as you're plugged into the ecosystem in the right way. Being well plugged-in is probably more important than having a stunningly good and original idea, or great execution. The irony here is that people who get famous doing one thing well, then get rich by being bought by a bigger conglomerate.


    automation.

    For now, RSS and search engines. I guess we'll see further developments in crawlers, scutters, search and inference engines etc. With or without RDF. The important point is that integration doesn't just happen in the brain of the user any more.



AJAX I'm ambivalent about. It makes cute interfaces, which seem like a big deal to some people. But if we didn't have AJAX we'd probably be doing more with custom client software as was already happening with things like iPodder, Flickr's Uploadr, RSS aggregators, Napster etc.

Of course, the smart people (like Dave Winer) could see all this years ago. But O'Reilly think of memes as platforms they can own. I guess this does help to get a bundle of ideas more widely distributed, and to a certain extent provides a shared vocabulary we can use to communicate more effectively.

Lots of people will misunderstand it all, though.


The second, in response to John's mention of custom services, how I see the developer ecosystem.


I wonder if there's really a continuum. At the far end we're talking users doing their own customization and remixing, possibly with the help of GreaseMonkey or special purpose software. Maybe tagging goes on here too. These are the ultimate specialists, as they are specializing in something that's only for themselves. (With possibly positive externalities)

Further along, we're looking at nano-corps, micro-ISVs and one-(wo)man projects which provide either a service or tool to a narrow niche or geographically local area. (What Shirky calls "Situated Software")

Larger companies provide more comprehensive or more general tools, or tools backed by more robust levels of service.

At the other end of the scale are the real internet players : Google, Yahoo, MS etc. who need to build platforms comprising seriously reliable and customizable service, and integrate dozens of applications.

The key for them is identifying deep commonalities between different applications. In Web 2.0 anyone should be able to plug the output of one application into the input of another. That's for the end users and small-fry. Going beyond that requires owning some very generic infrastructure which can power dozens of applications, the way eBay does with online auctions and payments. Or Google does with search. Or Amazon does with recommendations.

Saturday, September 17, 2005

Tuesday, September 13, 2005

Creating Passionate Users: You can out-spend or out-teach
Quick bit of market research.

Anyone reading this who uses SdiDesk?

Anyone?

Anyone at all?

Anyone actually reading this?

Ah well ... (sigh)

If someone was reading this.

And they did use SdiDesk.

I'd ask these questions :

What kind of info do you keep in it?

What features do you find useful?

What functions do you never touch?

What bits drive you crazy?

All responses can be on the wiki or added as comments to this posting. Thanks ...

Saturday, September 03, 2005

Bloody hell! Spammers have caught up with the wiki.

WikiMinion is fighting them off, but this isn't good.

Friday, September 02, 2005

Good post.

Why Good Programmers Are Lazy and Dumb

Basically following the three Perl virtues : laziness, impatience and hubris. Remember, these are all virtues as long as they're not false laziness, false impatience, and false impatience :-)

Monday, August 15, 2005

Bruce Eckel asks What is Consulting?

And there's a link to a classic Joel Spolsky story too which sounds suspiciously like it's about Ars Digita.

When I worked at an Ars Digita inspired start-up a couple of years ago, I had a suggested solution for the problem Joel raises : take a lesson from how smart individual cells scale up to multi-cell creatures : mitosis.

Particularly splitting into smaller fairly autonomous units which specialize in different things according to the tastes of those joining each of the separated units.

What happens next is that each subdivision either thrives or dies. If it thrives, it probably grows and sub-specializes again. If it dies, good members may get absorbed back into other cells. There's no reason to write a manual, because no two cells are meant to be doing exactly the same thing. Each will become more specialized, expert in it's field. And that specialization can lead to wider recognition and higher fees.

A reader writes :

I'm not sure I understand or believe this. Can I ask a couple of questions?

Sure. Fire away.

Isn't there a danger in becoming over specialized and going bust?

Sure. Isn't there always. But here's how it's different from just striking out with a completely independent company. Other cells in the company are at least partially aware of and watching what goes on in your cell. In the event that your specialization turns out to be not what your market needs, then a good member of a cell should have a high hope of being absorbed into a more succesful cell.

This could possibly be put on a slightly more formal basis. Eg. cells have some obligation to recruit from inside other cells before looking elsewhere.

Isn't this like an ordinary large company then?

No, because it's not heirarchical. Cells are fairly independent, with just a few co-ordinating principles such as a shared constitution, maybe some shared services (eg. office space, server hosting),

So how does this count as "scaling up" for the greedy founders? How do they get paid more?

Well, I'd say they could get paid more by selling services to the other cells. Let's suppose one cell becomes an extreme programming consultant, while the other promotes a variation on the unified process. Other cells might become venders of software or legal services to these consultancy cells. They can charge high prices for being extremely attentive to the needs of their siblings.

In which case, how constrained are cells to buy from other cells in the overall company. Isn't this just a restricted, limited internal market, which is likely to be less efficient than buying from outside? Why are these cells still part of the same company? Wouldn't they just be better off as entirely independent companies with maybe a shared history and a completely informal culture of co-operation and sharing of staff. Rather like Savile Row's tailoring culture in London or Silicon Valley?

Good point. The actual formality of the interdependence might be negotiable.

Which reminds me. Would enterprising independent start-ups be allowed to join this slime-mould?

Hmmm. Hadn't thought of that. Maybe ...

Tuesday, July 12, 2005

Monday, July 04, 2005

Ross Mayfield on the wikiHow story.

wikiHow to Open Content
Danny Ayers is looking for a business model to fund his life of RDF and personal knowledge management research.

Danny has a range of interests very similar to mine. (He even has some software that really wants to be SdiDesk ;-) And which was written long before I got started.)

At the same time, some of his intuitions are diametrically opposite to my own. I would never have written SdiDesk in Java, and I'm pretty sceptical about the Semantic Web as a whole.

Nevertheless, good luck to Danny on this. It's always inspiring to see people chasing their dreams, particularly of a life of independent software R&D. And I look forward to seeing what he comes up with.

Saturday, July 02, 2005

LifeHacker has a story that speaks to one of my fantasies.

Now we're getting cheap digital cameras and camera-phones, I'd like some really good software which could let me take photos of diagrams, scrawled on a piece of paper, and turn them into something useful. I want something really smart. Which can figure out the basic topology of a diagram viewed from any angle, and would then allow the user to quickly hint it into shape.

Saturday, June 25, 2005

Dave Winer : Why [do] we have to design our software to the user who freaks out? ... when we are basically disempowering the user who is curious? ... People aren't stupid. And people who design software for people who are stupid, get what they deserve, which is stupid users. I prefer to design software for people who are smart, because I'd much prefer to work with people who are smart.

And ... sometimes people who are smart act stupid because you treat them like they're stupid. So I prefer to treat them like they're smart.


Yes!!!!

Great Morning Coffee ramble. :-)

MP3 here : http://mp3.morningcoffeenotes.com/cn05Jun23.mp3

Tuesday, June 21, 2005

I've been meaning to read Hugh Macleod's How to be creative for a while but never got round to it until today.

Haven't finished yet, but wow!, it's good. (So far)
Interesting question : Where to find a startup company if you want to work for one.
Sigurd Rinde vs. hierarchy :


Do the test:

1. Write a letter, using a word processor, to a friend about some tax issues, some personal stuff and a great new joke you just heard.

2. Save the file to a folder. Choose the folder according to either recipient, theme or whatever you normally choose. Your choice.

3. Wait two months.

4. Find it.

Did you find it immediately? Or did you have to think hard, trying to put yourself into your own mind two months ago - was it in a folder named 'Friends', 'Letters', 'Jokes' or in a folder somewhere named 'Tax issues'?



I also like this :


The sticky point about two dimensional tree-structures is that you have to assimilate the logic of somebody else. Or yourself two months ago.


Tree structures should be chopped down

Sigurde then goes on to suggest something even wilder. Why not tag people within organizations rather than put them into slots in the org.chart.

Hey! You can officially be a programmer, and accountant, and tea-maker : all at the same time, if that's the part you play.

Seems like Thingamy are going to support this idea in their software too :


Hang on a few weeks, we're tinkering with a slightly wacky CMS for the heck of it (and to test these ideas in practice) to produce navigation-bar-less-no-trees-in-sight websites/knowledge repositories, should be fun. Watch this space.

Monday, June 20, 2005

Ross Mayfield blogs Thomas Malone's CTC Keynote
So, I was all set to start writing some unit tests to begin the refactoring I described below.

But then I needed to do a bit of procrastination, first. :-)

That article is good advice for procrastinators. But what grabbed me was this :

You can accomplish a lot more in small increments -- even fifteen minutes is enough time to do a little bit of quality work. Just get a decent start, and don't worry so much about finishing. If you start often enough, the end will take care of itself.

That's the ideal for the smart disorganized individual. Working in a lot of 15 minute (or shorter) fragments according to your inspiration, energy and available time.

But there's a big problem : switching costs. Every time you drop something and pick it up later, you have to re-aquaint yourself with the context of what you were doing. You have to recharge the short-term memory. Of course, if you'd documented what you were up-to initially, returning would be easier. But in fifteen minute bursts, who has time to write documentation too?

Without that, a lot of your fifteen minutes, and a lot of your energy, get wasted on rediscovering what you were doing previously. Or even, if you've totally forgotten (as I sometimes have), redoing something that was already done! That makes the SDI way less effective than someone who can actually concentrate and stick at one task for a reasonable length of time.

Not surprisingly, I think personal wiki is the beginnings of a solution. What's needed is somewhere to keep track of what you're doing as simply as possible. And while you are doing it.

Notes should be written to accompany the process. Ideally, you can open a notebook, create a new page and just get down to it in less than a minute. Using the notebook as a scratch-pad for your ideas while you work.

Then, when you want to switch out of that context, You want to hit "save" and be finished with it. Not hit "save" and be having to think : "where shall I put this document in the file-system? Oh, God! Is it better to put it under 'My Documents/teaching/advanced-programming/examples/' or better to put it under 'Development/Python/adPro/' Wow! I'm such a loser because I can't keep my files sorted"

Similarly, when you return to the project, to make the most of those 10 - 15 minutes, you want to recover that context quickly, not frantic scrabbling around hard-to-click little folder-icons in Windows Explorer, waiting for the turgid "Find files or folders".

You usually remember enough about the project to remember its name. So you really just want to type that name into a convenient place on the screen and be there.

Alternatively, stick a link to each project, slap bang on the start-up page of the notebook in large letters. In a personal wiki this is trivial. You just hit edit; type the page-name link; save; go to the page. Now the context is reachable within one click of opening the wiki.

If you have several projects on the go, put a bullet list of links to them as the first thing on your front page. That puts them all easily within reach. When the project finishes or becomes less of a priority, you can move the link elsewhere : further down the page or onto another one.

On the other hand, maybe when you started thinking about "BirthdayInvites" yesterday, you forgot to link this from the front-page. It's not really a big project, but today it would be nice to get there quickly. But what did you call it? In this situation, the RecentChanges button is invaluable. Hit "Recent" and yesterday's (and the day before's, and the ... etc.) edits are within one-click.

In exceptional circumstances you forgot the name of the page; you last touched it months ago; and you don't remember a route to it from the front-page. Now "search" comes into its own. If you can remember just a name or word that's likely to be in the page, you can search for it. It's a little longer, but it will still get you there faster than wandering cluelessly in Windows Explorer.

Why is wiki so good for this? Well, having built-in search and RecentChanges is handy. But hypertext, not hierarchy means that a wiki can have "small world" properties. Everywhere is only a few clicks from everywhere else. Compare this to what happens once your file-system gets crowded and in getting from the Ping project to the Pong project you might find yourself going up five or six levels to find a common root of the two, and then navigating (more or less blindly) down another branch of the file-system. Going down is less comfortable than going up. You have to scroll around to find the right icon to click in the absurdly cramped "file open" dialog. That's assuming you recognise which route to take at all. Often you find yourself guessing wrong, going down the wrong sub-branch, and having to backtrack.
Bill Seitz agrees about the importance of smart-ascii as fundamental. He says the trick is finding a "style" of plaintext editing that can be rendered to a format that can then provide an outliner-ish view (collapsing hierarchies, etc.) (I'm pretty sure that can still just be HTML v4). And then Transclusion comes next... or an [Outlin Ing] editor that gives you more capability in restructuring the page, but still saves in that Smart Ascii format so you can still get work done in a plain browser window...

I think I like all of this. Today I had a series of small brain-quakes which might have reconfigured the geography of SdiDesk dramatically.

Here's a list of random thoughts.


  • Yep, pages won't change from being smart-ascii underneath.

  • But maybe internally I can represent them as a more tree-shaped structure.

  • A page can be a sequence of PageSections. Each of which can be either a paragraph, or a table or a bullet-list (sub-tree)

  • In fact, in the last refactoring, I experimented with the decorator pattern. Networks are actually decorators for ordinary pages. They implement the "Page" interface, have an inner component which is a MemoryResidentPage, but offer extra functionality. I've been thinking of doing the same for Tables.

  • Now I am wondering if I can define a standard interface called "PageSection" or something : make each object : Page, Network, Table, BulletList etc. implement it. And use it as the basic component of a tree-shaped document.

  • At the moment I have some rather confusingly (clunkily) named function which serialize Tables and Networks into Smart Ascii and parse them back again. (I was calling these serializations the Pretty Persist. And so there were functions like SpitAsPrettyPersist etc.)

  • But the cleaner, more logical thing would be that raw should be a public, string property of any PageSection. And setting it would automatically update the object, and getting it would also get the most up-to-date version.

  • Same could be true of Pages themselves, of course. I would then have a common interface convention for ...



KLUUUUNNKKKK!!!!

This is where it gets awkward. I'd like a fully generic, nestable, recursive structure. That's easy to do internally, but I'm quite a long way from that with my particular markup implementation. Can you do fully recursive in Smart Ascii? How? And how do you stop that becoming as awkward as XML?

I guess that's what Bill means by "a "style" of plaintext ... that can be rendered to a format that can then provide an outliner-ish view"

Hmmm. That was fairly stream of consciousness. I hope it made sense. It helped me anyway. And comments on this, welcome as usual.

ps : Transclusion I already have, of course. (Or at least, including the body of one document in another.) If I could only solve how to embed a network in an ordinary HTML page, then I could make that general as well.
Channel 9 talks to David Ornstein, who's a wiki guy inside Microsoft and creator of FlexWiki.

Some interesting points on name-spaces, semantics, and the limits of wiki-popularity.

Friday, June 17, 2005

Bill Seitz : I think treating every page as an outline is a better direction to go

http://webseitz.fluxent.com/wiki/z2005-06-17-PhilJonesWikiOutlining

I'm wondering what this means in the SdiDesk context. That every page should really be a tree, rather like an HTML or XML document?

That the basic, underlying representation of pages is plain-text is a non-negotiable virtue for me. I don't want to get involved in XML as the base representation.

On the other hand, at present SdiDesk treats pages with a bunch of heuristic substitutions (much as traditional wiki does). You can go a long way with this approach, but my rewriting bullet-lists is actually an admission that a more structured way of thinking works for this part of a page.

The same is true of tables too. These are parsed into a special Table class.

And if I allow table objects and list objects to be embedded sub-parts of pages, why shouldn't we treat the page as a list of "nodes" which can be either table, bullet-list or paragraph?

Could also be used to generate "table of contents" as with wikipedia . And allow finer (purple) addressing.

Aaargh! Too many ideas to implement. Not enough time. Worth mulling over though. Comments welcome, as usual.
My friend Scribe asked about outliners on Tribe.net

I'm not an outliner person, I prefer freeform rhyzomes myself. But recently I find I'm starting to write a bit of an outliner as part of SdiDesk.

I didn't plan to. I was simply trying to nail some of the bugs in the code which renders the nested bullet lists. However, the code was getting a bit long and convoluted, a so I realized I needed a more coherent way to parse and process it.

I pulled out the code that was doing this, which was simply part of the whole WikiToHtml class and have made a special NestedBulletList class which is essentially a recursive tree data-structure. This is used to represent bullet-lists, and has the code which parses them from the raw text, which can render them in HTML.

It could easily be adapted to allow sub-trees to be hidden or not and provide some other outliner-like features. I already record whether items are "checked" etc. I could record whether they're open, or the estimated time, or the percent done, too. (I have some Perl which already does something like this from a couple of years ago.)

Not sure I want to go that way yet. What's more likely, short term, is that I'll make outlines a separate page-type, the way network diagrams and tables are. This would allow me, at some point in the future, to have a special edit modes for them, as with these other types, that could include a standard expanding / collapsing view.

After I've got this component and used it to clean up the parsing, I don't think adding more features is actually next on my to-do list. (Exporting is a much higher priority.) But it's on option which is open.

Any comments. Who'd like to see more outlining, or project management lite (a la ta-da, task-toy etc.) in SdiDesk?

Thursday, June 16, 2005

I know I said I wouldn't talk about this kind of thing.

But it does make me wonder. Whatever happened to Filofax? If they were smart they'd be all over this trend, hiring David Allen, putting ads on 43 Folders, buying Tasktoy etc.

Or even, ahem, sponsoring SdiDesk :-)

As it is, there isn't the slightest hint of recognition on their site.

While on the subject of paper-based organizers and incestuous cross-branding and consolidation in the life-hacking space, I wonder how long it will be before Lulu or Cafe Press offer print-on-demand 3'' x 5'' cards?
Toby Segaran thinking of setting up a wiki to support tasktoy.
Good (but only temporarily available) discussion on Web 2.0 stuff (wikis, blogs, RSS feeds etc.) and the way they challange and change business.

The big surprise for me is this, quote from Philip Evans.

One of the simplest arguments I've used to get people out of a traditional mindset is to point out a statistic -- the cost of transactions in the U.S. More than 50% of the non-government GDP in the U.S. is based on transaction costs. Now, what's interesting is that the way most people think about economics is that execution costs are on the periphery. If you start from the premise that transaction costs are central to the productivity of any system, and if you then recognize that most of our time is spent negotiating, securing, monitoring, making sure people did what we expected them to do, dealing with the fact that motivations aren't entirely aligned, and so on, you realize that we have to find a way of working together amid this asymmetry of information. About half of our time is spent doing those things.

This changes the way you think about productivity in organizations where innovation, adaptability and dealing with complexity are the key challenges. So much of reengineering, which is what major corporations have been about for the last 10 or 15 years, has been about linear efficiency -- lining everything up in as tight a way as possible along a path. That's wonderful if you know exactly what it is you want to do, and the aim of that task will never change. Increasingly, that's not the relevant challenge. The challenge is adaptability, complexity, uncertainty and your capacity to mine the elements of your business, people and knowledge into different and new combinations. If that's what you are trying to do, then your transaction costs become the biggest inhibitor to your capacity to do that."


I'm not surprised that we need to get more flexible (disorganized). I'm surprised that the opportunity is so measurably large. Yet more reason to be searching for disorganized strategies.
Dave Winer's Bootstrapping vision.

He's at it again.
Myscreencast.com is a forum dedicated to screen-casting. I put up my debugcast to get some feedback.

Tuesday, June 14, 2005

Wired News: Wiki Targets How-To Buffs

Interesting. The guy buys a dot.bomb site with some content, but no editorial work being done, and essentially "open sources" it as a wiki.

I wonder what else that would work for?
More examples of how you could use instant outlining
Ross Mayfield links wiki videos
Maybe Instant Outlining can run hierarchical organizations better than email.
Jon Udell has a good story on Wikipedia and the social construction of knowledge. I don't follow the "social construction" of knowledge line myself. As a critical rationalist I think this guy has a better understanding of knowledge. One which is also 100% compatible with wiki-nature.

ps : and Wow! Udell thinks Wales deserves the Nobel Prize. If he does, he ought to share it with Ward Cunningham.

Monday, June 13, 2005

Ross Mayfield's Weblog: Doug Englebart, Rebooted
Chris Dent is less partisan than I was about software for individuals, vs software for institutions

He sees the division as being between two "necessary and useful" types :

One type is interested in enabling or augmenting the subtle interplay of people found in synchronous encounters, in synchronous settings as well as extended into asynchronous settings. These extroverts are the true and hopeful believers in collaborative action.

The other type is more interested in augmenting the individual to allow them to manipulate information so it can be found, created and then distributed in a way that it can be manipulated by others. Introverts in an augmented dialectic.


I think that's an interesting distinction to make. Although I think the Smart Disorganized Individual embraces both. The SDI is not the opposite of extrovert. She believes in collective action and intelligence. Supporting the SDI is simply a strategy towards that end.

I also like Chris's point about diversity of tools. Individuality is a competitive advantage. You need tools which can see round corners precisely because they aren't the tools everyone else is using. If you rely on Word and Excel for all your augmented thinking, then how are you able to differentiate yourself from all the other Word and Excel users? Many times you are going to be involved in a minority game but your tools won't help you to see things differently.

Of course, there's a tension. Because information tools also need to exchange information. So there's always a tendency towards standards and even "lock in". But evolution requires that there's variation.

Final thought. Wiki is a kind of genius. As you start to load it with more interlinked pages, you start to find yourself discovering new connections between ideas you hadn't associated before. There's no technological wizardry about it. It's just that you connect X to Y, and find that Y is already connected to Z, but you'd never thought about X and Z together at the same time. Now you do, and often the results is a little mental explosion.

Sunday, June 12, 2005

Lifehack gets it. On the virtues of using wiki : Good tool to brainstorm ideas: If you are not familar with tools like FreeMind for mind mapping, wiki may be your best tool.

LifeHack

But the real insight is this : It is all due to the fact that the way that wiki markup able one to edit content easily.

Yeah!!

Though, remember everyone, that the virtues of wiki-nature also apply to local wiki-like things, such as, say, SdiDesk. ;-)

Thursday, June 09, 2005

WebKEW: Welcome to WebKEW!
How to Make a Million Dollars, by Marshall Brain
The second Seth Godin piece linked from the earlier story is so good, I'm going to give it special attention here : Seth's Blog: more on small
Free from 9 to 5 � When is software ready to ship?
Project Aardvark has started to come alive. Looks like they're working hard.
Seth Godin on keeping it small - Signal vs. Noise (by 37signals)
Wow! A lot of buzz around the creation of sub-networks of blogs to appeal to advertisers.

Two thoughts strike me :

One is that there's nothing in John Battelle's address, good though it is, that should surprise anyone who's read one of the classic, early thinkers on web-publishing.

The other, is that aggregation is a common answer to the micropayment problem, and that it's still an important strategy for smart-disorganized individuals. The trick is how to aggregate without building some kind of hierarchical structure.

An affinity network of like-minded blogs may be one such strategy. It creates a scene and builds momentum. It makes the participants visible. But at the same time they don't help each other much. If you've come to my blog and clicked on the ads here, you won't necessarily be so likely to click on the same ads on a similarly themed blog in my blogroll.

The alternate strategy, of a stable of different blogs, doesn't suffer that problem. But risks the alternative, that there's no real benefit from membership, unless you're trying to appeal to very generic brands.

Is there a middle way? A strategy whereby different people can link complimentary blogs profitably?
Keith To-done is rolling, here :

Geek To Live
wikiHow : a giant wiki howTo.

Tuesday, June 07, 2005

Thinking of working in construction? Don't bother, advises the Construction Contractor's Blog :

Smart, disorganized people in construction are common and not well compensated nor respected.

Being well organized is everything, apparently :-(

The Construction Contractor's Blog: Field Management Archives

Sunday, June 05, 2005

On the subject of early releases, Slashdot says the Linux Kernel gets a fully automated test across platforms within 15 minutes of release.

That's something to aspire to.
Does Canada suffer from too many small start-ups and not enough medium sized players?

Something Ventured - May 20th, 2005

Friday, June 03, 2005

Ultimately what we see is the re-conceiving of the role of the firm. Traditionally the role of the firm has been to increase the efficiency of transaction costs, whereas we see more and more that the firm has to provide opportunities for capability building of the people within the firm. If the firm cannot do that, people will leave and seek out environments that can help them accelerate capability building better. It's a very different way of thinking about what the firm needs to provide to its employees, and the role of the employees within the firm.

Read it all :
Can Your Firm Develop a Sustainable Edge? Ask John Hagel and John Seely Brown
Ross Mayfield's Weblog: A Flip/Flop Bubble of Microventures?

Thursday, June 02, 2005

Finally managed to make a DebugCast that didn't crash my machine.

Here it is. Just a simple bug, nailed in the unit-tests. But conclusive evidence that I'm working ... ;-)
Today's exercise :

Compare this article on the segments of The Long Tail with Ross Mayfield's Ecosystem of Networks.

Way cool!

Spell with flickr :-)



DE

ION RSS seems to be a company focused purely on RSS.
Good story on the rise of blogs, wikis and social software in business.

Blogs and social networks and wikis, oh my! | CNET News.com

Don't forget. Wikis are going to be massive over the next few years. They will take over everywhere for collaboration. Most desktop software will be wikified in some way : collaboratively edited spreadsheets and documents will be the norm.

Wednesday, June 01, 2005

What is trackback?

A friend of mine just asked me this question. So as I've spent 10 writing a quick description in an email, I might as well post it here.

The original idea of trackback is to help find out who links to you.

Your blog publishes a URL which I can "ping", ie. which alerts your blog to the fact that I have a post on mine that links to it.

Trackback is a kind of automation of the practice of posting a comment on someone's blog saying "You're wrong. And I responded over at .... "

Normally, the blog which receives the trackback shows a short snippet of the responding post.

I think it's still heavily used, but might be falling out fashion due
to the blog search engines. If I respond to you on my blog I still
need to find your trackback URL and ping it, often manually. OTOH, as you're already probably using Technorati etc. to find people who link to you anyway, maybe I don't need to bother.

I could be wrong about this. And trackback is possibly still playing an important (and increasingly popular) part in the ecosystem. I have no statistics to back me up. It's just that people aren't "talking" about trackback much ... OTOH maybe it just works :-)
Good Lord! I "earned" 64 cents from AdSense in May. :-)
Good interview with Weed, the file-sharing, pyramid marketing people.

They have some interesting ideas about how to sell content in an age where information can always be copied.

Tuesday, May 31, 2005

Today's thought : All successful large systems were successful small systems
This Gillmor Gang show (MP3) is worth a listen.

Several smart people cover the implications of iTunes handling Podcasts, whether Microsoft missed the boat on audio, and whether that's due to an obsession with DRM, and a a fair bit on RSS. Plus lots more.

Monday, May 30, 2005

Chris Dent asks Why Wiki?. He raises the important distinction between automation and augmentation.

Automation is trying to get computers to replace what people do. Augmentation is helping people do more.

I'd echo Chris's sentiments almost word-for-word. I also want to build tools to augment humans rather than try to replace them. Of course, augmenting human capability often requires automating repetitive chores. Email replaces the postman with machines.

But this distinction is good to keep in mind.

And here's the SDI angle. "Smart Disorganized Individuals" is my mantra. It reflects my aspirations as to what I want to make, or rather who I want to build tools for. Who do I want my software to empower in society?

Let's look at that last word : "individuals". I want to make software for individuals. What I mean is, I want to make software that helps people express their individuality. That helps them to solve their problems. That helps them to work better on their own terms.

What I'm sick of, is writing software for institutions. I'm sick of software that one person commissions for someone else to use. And which has features designed to oppress. I'm sick of software that's designed to impose uniformity on a workforce. Sick of software designed to police your actions. Sick of software that helps keep people under the thumb of their managers. That tries to turn the public into a mindless audience.

The good news is, I don't think I'm alone. Every day on the internet I come across people like Chris, who want to "augment" not "automate", who want to build cool stuff that people can really use to do their own thing.

There are plenty of the other sort too, of course. Companies who sell software to other corporations, designed to turn their employees into deskilled, replacable parts : call-centerization, content management with workflow modules etc.

But I think the individualists are winning. Content management dinosaurs are dying out. And smarter, more individual focused software is flourishing. People's expectations are rising. And it's a challenging but good time to be making software.
Bubbler - web publishing for the Flickr generation?

Saturday, May 28, 2005

Project Management - On Scale Larger than ever Dreamt :-)
Tom Peters's site meets Richard Florida to talk Creative Class.

I can't help feeling a bit disturbed though, that the instigator of Brand You has anonymous interviewers working for him. How about a bit of Brand Them? Would it hurt Tom's brand to raise independent stars in his stable?

Florida is great though.
Bill Seitz on Wiki As Pim

Friday, May 27, 2005

Robert Cringely has some interesting predictions about what things are going on at the moment, that might change the shape of the computer industry.

PBS | I, Cringely . May 12, 2005 - Inflection Point

What he didn't see is Apple's move into podcasting, although downloadable enclosures does fit Cringely's story of Apple's dominance of video.

Something for all software developers to think about ...
After reading Adsense Tips for Bloggers 6 - Relevant Ads I realize I have to emphasize that this blog is mainly about wiki. Yes, that's right wiki. Wiki in the enterprise, in small business, in the home, in the garden shed ... wherever. And that wiki is a great aid to personal productivity and success.

You got that, yes, Googlebot? Wiki? Hello? Can I have some wiki (or even hyper-text) related ads. Not ads about b**gs please.

Thursday, May 26, 2005

Interesting new feature has appeared in Google Ads. There are now links to swap the ads to a slightly different set.

The ads are turning into content. In one sense, it's a promising evolution. Advertisers (or Google on the advertiser's behalf) are starting to see their message as something people will want to read. At the same time, as the ad-bar becomes a kind of contentful space controlled by Google. What else might they choose to put there?
Bill Seitz on Issue Trackers.

I'm not very happy how my online wiki is turning out for "issue tracking" in SdiDesk. I'm wondering if this is a "tool problem" or simply a "culture problem".

Needs some experiment ...
Why ‘Enterprise’ Development is Hard is also why small scale, independents, ocassionally and temporarily teaming up, ought to be able to out-compete "enterprises" any day of the week.
Ah ... AdSense came up with an ad for Eastgate's Tinderbox

Now that's an improvement. A product I'm glad to be seen in the company of. Also I note they're getting into the real, paper notebook side of things.
I advertised! Although only in a blog comment.

Free from 9 to 5 � Everyone wants to be free from 9 to 5

Nevertheless, I feel kind of embarrassed. Thanks "Eric" for making it easy.

This is what's hard about entrepreneurialism for people like me. I don't like asking for stuff. And "ask for the sale" is the first rule of selling.

The world is divided into people who don't mind asking for things, and those who do. And being willing to ask is a necessary condition for success.

This troubles me, because it's not clear that the skill of asking is actually "productive". It doesn't create value or bring new things into the world. It's a completely zero sum competitive activity. The most succesful "asking" (advertising, marketing, retail positioning) is succesful at the cost of a lost sale to another supplier.

Now, I don't see any harm in competition between suppliers as to who is going to make the best stuff, or the most useful aggrograte package of stuff. But when competition hinges on who is able to shout loudest, or who employs the salesman with the best Jedi mind-tricks, this just looks screwed up.

Obviously people need to get the message out. And maybe blogs and Cluetrain will make it so that engaged "Gonzo" marketing which actually makes all communication channels between suppliers and customers, informative and useful, will save us.

Update : if you hear a muffled thudding sound as you read this blog-entry, that's my commercial super-ego who wanted to make the above "Cluetrain" link into an Amazon link which pays a kickback. This time, I managed to have said commercial super-ego stuffed into a box and the link goes to the online version of the book.
Getting Things Done: "Official" Definition

David Allen has a go at pinning it down. Now, in one sense, since he wrote the classic book, he has every right to try to control the definition.

On the other hand, GTD is beloved of the disorganized and creative. Often these people are fairly relaxed about allowing terminology to wander and extending ideas through metaphors and analogies but still aspire to a little more self-control.

Possibly a fairly loose definition of GTD has been part of its success. People think they know what it's about, but are really mapping it onto ideas they received second and third hand, and which they've personally remixed with other intuitions. Maybe they'll prefer a fairly loose notion.

Having said all that, the actual definition Allen gives waffles like Belgium. So maybe he knows his market pretty well ;-)
Vaspers the Grate : Keep Blogging!

Tuesday, May 24, 2005

Ross Mayfield points out that small companies can outsource the employing of their employees.
Ross Mayfield's Weblog: How to fire your team and make them happy

Questions :

Is there a catch?

Is this different from an employment agency?
Vaspers the Grate follows the Hugh Train's advice ... with added deconstruction.
On second thoughts, I'm not very convinced at all that Google's AdSense is any sort of business model for this blog. Ads needs loads of people. Whereas self-describing Smart Disorganized Individuals are probably rare as hen's teeth.

Not only that, but after casually glancing at some of the ads so far, I don't think they're that well matched to the content yet. Maybe they'll get better. (Is AdSense adaptive?) But how many times do I need to mention "wiki" before I get a wiki related, rather than blog related ad?

Hugh Macleod has news of some ideas that might help on the modelling front.
Dave Winer's podcast of May 21st has a good discussion of his coming OPML outliner, an example of what he's calling an "Idea processor".

What does he want? Extreme easiness. Cool!
SdiDesk Wiki: DifferentBrowserRequest

Could SdiDesk open links to external sites in another browser rather than IE? I'm sure it could, but it's not so straightforward.

Some experiments to be done.

Monday, May 23, 2005

Release Early, Release Often for proprietory software?

I got a copy of Real Basic via their competitive upgrade scheme for Visual Basic owners a couple of months ago. I've looked at it, and at one point thought about porting SdiDesk to it. The deal breaker is that there's no equivalent to Visual Basic's DHTML control. Nevertheless I'd like to try something using RB this year. And I'm following their "getting started" mailing list.

Currently there's a fair old discussion on that list about REAL Software's "Rapid Release Plans". RealBasic 2005 will be released with a 90 day release cycle. In other words, they plan to bring out new versions more or less every 3 months.

Some users are suspicious that there's a shift towards a "rental" model for the software, but REAL point out that if you allow your subscription to upgrades to lapse you won't lose your existing software. You just won't get any more upgrades.

So how and why are REAL Software making this shift? In their PDF white paper they point out :

In a nutshell, the amount of time a company can take to develop and release a software product has traditionally been driven by the needs of the retail distribution model rather than the needs of the software developer and its customers.

Now, naturally, the internet makes it possible to shorten that. "Live" updating to customers of existing products is often used to distribute bug fixes.

However, this introduces its own problem : if a company is developing a new version of a program, while continuously distributing fixes to the existing release, it ends up working on two versions of the code at the same time.

That adds plenty of cost. Both the dual effort and in managing and synchronizing the two versions of the code-base. The rapid release model tries to reduce this cost by making new releases smaller, more incremental improvements.

The idea is not that software is written any faster. Simply that if you intend for release 2.0 to add 6 new features over 1.0, it's better to add one feature and release it every three months, than wait and release them all after 18 months. After each three month cycle, the "current" version is refreshed, and any new bug fixes can be made to that. New development, and maintainence of existing releases is easier and cheaper to keep synchronized.

As well as reducing the cost of maintaining two versions for 18 moths, rapid release also allows the company to be more flexible if the user's requirements change. This reduces the risk of working on something that will be out-dated or unwanted when finally released.

Another point made by REAL, is that the media itself is changing. The print media are being supplemented or surpassed by the online media : mailing lists, blogs and discussion forums which are, themselves, working on shorter time-spans. The result of more, more frequent, releases, is more points to touch this fast moving online media. Every release is an opportunity for an online discussion, bringing the product to the attention of new people.

As REAL put it : In the Internet marketing game, each new
release provides a fresh opportunity to grab a fleeting moment of
coverage and online advertising can be focused on the benefits of each new release.


Having listed these benefits of pulverising the development of software into a finer granularity, REAL then have to worry about a different problem. What's the business model?

Here a new set of forces come into effect. While the company and users benefit from the faster release cycle, there remains a problem of how to charge for it. The user's perception is likely to be that she shouldn't be spending more money every three months. The last bastion of slow cycle thinking is in corporate purchasing departments. Especially when the company must think about whether the upgrade is worth it. If you need to get permission from your boss's boss.

At the limit, small payments for small pieces of value tend to fail because the cost of decision making outweighs the benefit of the purchase. Users prefer a scheme which aggrogates several cheap pieces of value into a single larger price because it's easier to reason about and decide.

REAL clearly understood this, because they're bundling several upgrades under a single price. Or rather a 12 month subscription (which should cover more or less 4 releases, though it's not clear what happens if a release slips a couple of weeks and you only get 3 in your 12 months)

Those 12 months might still be too short for people, hence the low-level kvetching on the RB mailing list. But it's in the right direction. Maybe if REAL demonstrate this working over the next year, they could make longer term subscriptions available and some customers will prefer them.

All interesting stuff. Obviously, rapid releases are a corner-stone of eXtreme Programming, and other agile methods. But the business model is another thing to think about, with wider implications than just releasing software.

Finer granularity gives more flexibility and reduced co-ordination. That's implicit in free-software and one of the reasons that weblogs are exciting. It's why loose agregations of smart, disorganized individuals; free agents, bootstrappers and microISVs can compete with larger, more structured groupings.

But there's sometimes a mismatch between the granularity and time-scales of those people, and the requirements of customers. So there's a need for a kind of adapter pattern. For encapsulating a fast spinning, high kinetic energy production, and presenting a slower moving interface to the outside world. Something like a gear box.

Smart disorganized individuals like to do a little bit of lots of things. But sometimes this needs to be packaged up as one big, consistent thing. One strategy is learn self-discipline. But self discipline isn't always cheap or desirable. A software company doesn't want to revert to 18 month release cycles just to appeal to purchasing departments. And maybe you don't want to revert to doing one thing for six months, just because the employer needs it.

But if you're going to avoid self discipline, you'll need something else : an interface, a bundling strategy, or tools which can tame the chaos.
A View from Elsewhere : Whatever Happened to the Micro ISV?

Sunday, May 22, 2005

This, the SDI blog, blog is starting to warm up. Just added a call to my new (in progress) blogroll generating script. (See the right-hand column).

And some, er, Google ads down the side.

Why? What's up with that?

Well, I'm a "portfolio worker" (read, under-employed). I have a regular part-time job, teaching programming in the university, which I love doing. And I'm starting to do some contract work too. Nevertheless, this isn't keeping me in the manner to which I'd kind of got accustomed. But I don't really want to give up teaching to go back to full-time programming.

So I decided I'm going "pro". I want to try to get some kind of income from some of my online activity.

Of course, most of my online life is still emphatically non-commercial. But I'm going to do some experiments with a slightly different attitude. This blog will be run on different principles to my other stuff. It will be focussed ... ;-) ... and well written ... ;-) ... and regularly updated ... ;-) ... and intended to capture a larger audience than my personal blog and other online writings.

It's also aiming to be "profitable". Sort of.

I'm starting with a first mission that's relatively low-aspiration : I want to build up the audience and revenue from this blog and SdiDesk related activities to pay my monthly hosting bill. That's about 16 dollars a month. If I get there, I'll have at least found where my bootstraps are, and will promptly set about trying to pull at them.

Over the next few posts I'll start to further develop the themes of this blog and what I'm trying to do. The mantra "Smart Disorganized Individuals" sums up what I'm about. But I'll need to keep elaborating. SdiDesk is part of it, though not the whole thing story.

If you look at my blogroll, you'll see links about the increasingly fashionable area of life-hacking, getting things done, mind-mapping, idea processing etc. It's hard to be as disorganized as me and not to care about this kind of thing. Or not be attracted to the tools. On the other hand, you probably won't find me lusting over brands of paper notebooks. [That attitude must change! If it brings in ad revenue, you'll be writing 500 words on Post-it notes - Ed]

So this blog isn't going to be a "me-too" copy of 43-folders or life-hacker. (For one thing, it will be a damn-sight less Mac obsessed than 43-folders. :-)

You'll also see links to people trying to be Micro ISVs. That's quite a tempting idea too. But it's hard to reconcile with being still fairly dedicated to the ideal of Free Software. I'm not going to start charging for SdiDesk or anything like that. [Careful! - Ed]

No, really, I'm not!!! Although, remember I am (at least later this year) available to do custom modifications.

Even shareware works on a certain guilt-trip that's hard to maintain while explicitly giving people the four freedoms. So, I know you can be a reasonably succesful software company with some sort of free-software commitment. But does it make sense to try to be micro and free? I'm not optimistic. Hell, even smart, experienced developers with popular weblogs are finding it hard to reach their minimal targets in this game.

Maybe this is an experiment in absurdity ... ;-)

Friday, May 20, 2005

If you do a search for the word "wiki" on Amazon.com, it's surprisingly empty.

I suspect there's an opportunity for someone there ... :-)

Update : that's interesting. Amazon tells me I have a bug in the browser when I click that link. Seems like you can't simply copy the URL from search result pages.

Thursday, May 19, 2005

Joel Spolsky's Project Aardvark gives Fog Creek's student temps a chance to build a product from scratch in four weeks.

They're making a video too.

Tuesday, May 17, 2005

Well, that's not too bad. Only a year and five months since the first post ;-)

But now, SDI the blog is being resurected from hibernation ... just as SdiDesk 0.2.2 is released.

Watch this space ... (but you can talk quietly amongst yourselves while you're waiting.)