Tuesday, December 20, 2005

Visual secrecy: viewing angles et des autres animaux

Here are some ideas how you can prevent other people from reading your notes as you write them:
  • Write your notes in 3D, so that only people with appropriate 3D visors will be able to read.
  • Wear data visors that leave part of your visual field free to follow the lecturer; have your notes transmitted encrypted to the visor.
  • Use a laptop with very limited viewing angles.
Feel free to implement any of the former two and let me know when you succeed!

Monday, December 19, 2005

Linux/BSD utility: importing settings from remote $HOME

I'm just following and participating in a discussion about the desirable extent of customisation here that was caused by Linus' recommending the use of KDE.

What is sorely needed is a simple tool that will allow a user to connect to his home machine by ssh-entunneled ftp and just press a button for importing all his settings. Otherwise any extent of customisation will aggravate the user as soon as he has to work on a different machine.

Saturday, November 26, 2005

Xen and the desktop of tomorrow

Tomorrow's computing world will be dominated by servers hosting multiple different OS's as virtual machines, to which users log on by protocols such as VNC from their local thin client terminals, which are no more than a bit of RAM, flash memory, a marginal CPU and display and input peripherals.

I predict that in less than five year's time, the preferred practice for booting a computer will be by Linuxbios -> GNU/Linux -> Xen -> Virtual OSs; this will happen on a central server with parallel 64 bit CPUs and large amounts of RAM. By using virtualisation technology, the conflict over which OS is being used is avoided - users will be able to switch between Linux, Windows, and possibly Mac OS X (or Free implementations of Mac OS X) guest OSs effortlessly, as a pool of virtual OSs will be available for users to sign on to. Multiple users could log on to the same OS instance, or a new instance be created for each user; advanced users could request root-jail type sessions, for instance. It is clear that Linux with Xen will be the host OS of choice, since this combination has the lowest total cost of ownership (TCO).

Users will work at thin client terminals that have no more than a small amount of RAM and flash memory - no more than is needed to hold the kernel and sufficient graphics routines for a minimal VNC client; there will be a display and reasonably powerful video card, and fundamental audio hardware. Such hardware is already typical of today's thin clients. Linux, due to its virtues in embedded applications, is likely to be the foundation of such a thin client set-up.

As more services get transferred to the web - such as office applications in the guise of ThinkFree Office and GroupOffice; photo albums on Flickr; email services at Yahoo and Google, etc.; the browser will increasingly be the user's window to the world, and classical desktops will be displaced by the browser as the graphical user interface; tabbed and extensible browsers such as Firefox will gain in marketshare, but be themselves displaced by derivative projects that eliminate the "application" behaviour of the browser and implement the browser as the exclusive GUI to which the user signs on.

This presents a somewhat alternative scenario, in which the vast majority of virtual OS sessions hosted by the server would be a simple browser OS, allowing legacy hardware to drive the server and clients, with the labour-intensive services bought in from external service providers such as Yahoo and Google.

The niche for commercial desktop software is vanishing, then, with the advent of standards-compliant, Free browsing environments, that through high-level language-written web applications (in JavaScript and Java on the client, and Python, Perl and PHP, with an sql variant, on the server) achieve all of today's and tomorrow's objectives. Key to the success of this new way to using computers is the elimination of file traffic through the user's machine through sensible cross-integration of different web services and service providers with each other.

Friday, November 18, 2005

Technorati tag proliferation

Technorati (possibly along with other tag-based websites) urgently needs to address the problem of tag proliferation. I don't think it is justified to have "cell phone", "cellphone", "cellphones", "cell phones", "mobile phone" and "mobile phones" as separate tags. See wikipedia and its "redirected from" feature!

Technorati tags:, , (see?)

Mobile phone networks by P2P

About a year ago, I was at a conference (nothing to do with IT, actually) and jotted down some notes that I've just found.

There are two problems with mobile phones:
  • reception is not possible when too far from a mast
  • emittance is often high and suspected of causing brain damage or dysfunction
Both problems can be alleviated to at least some extent by having phones forward other phone's calls. In principle, in large cities, it should be possible to make within-city calls without ever using a mast, because there is a continuous and dense net of phones throughout the city that can pass on the call. There are other people who understand more about routing methods than I do, but I'll just take it as given that a call can reach its destination by this method. In fact, I heard a physics talk by Neil F. Johnson, in which he alluded to the optimal way for satellites to compete for transmission of a signal. I don't remember the details of his talk, and don't have time to look them up.

One of the main challenges in routing is how to ensure a) that the signal is passed on, and b) that it travels by a single route (i.e. does not fork). It is easier for now to think of a single data packet, such as a text message, travelling in one direction only (we'll pretend it doesn't send a "received" signal back; afaik this is a recent feature anyway).

One thing that helps is for a phone to be aware of other phones in its environment and haggle with these phones over how many milliseconds it should wait before passing on a signal it has just caught. This is necessary to prevent forking and overdubbing (again, this may not be a problem with current mobile phone data protocols, but I know nothing about mobile phone signal transmission).

It also needs to memorise the ID of all packets it has recently sent and not transmit them again when they come back to it (inevitable if all phones emit with the same signal strength). However, there may be other routing approaches that yield the same results.

A phone may also want to haggle for a larger delay if it has recently transmitted large amounts of data, to save battery life.

Further complications arise from phones that are switched off while data is in transit or while they are sitting on a computed route (it makes sense to first find the route and then send the data over it).

I'll also quickly admit that, as usual, some other people had the same idea at around the same time. It is a rather obvious idea, but it does surprise that it took so long... I'd like to learn how their protocol works. We've had walkie-talkies for so long, why did they ever think of putting base stations in?

tags:, , , , , , , , , , ,

Thursday, November 17, 2005

Sending calendar items over email

As far as I know, there is no standard format for sending calendar items over email. Such email items could be immediately put in the calendar without much effort on the user's part (at worst, clicking a "Yes" button). I could allow certain people's calendar submissions to be automatically allowed into my calendar ("Always" button). Granted, this requires a mechanisms such as PGP/GPG to establish authenticity of emails, otherwise one is vulnerable to "calendar bombs".

The same could be done for addressbook items.

tags:,,

Auto-reply interface priorities

Many current auto-reply setup interfaces don't have the following invaluable features:
  • Setting start and end dates (most now have this)
  • Displaying a big warning in the client to indicate that auto-reply is active
  • Setting a threshold to prevent replying to list emails; for instance, if the email is received by more than 10 ppl, do not send the reply; also, if it is received by addressees *@lists.*, do not reply.
Would be really easy to implement.

tags:,

Tuesday, November 15, 2005

Intel and Apple

Finally, since a visitor to this site, rich, challenged me to find more reasons why the pears will turn sour for Apple (pun and reference to FOSS projects intended), I'm at it again.

Some critics have argued that had Apple put more effort into optimisation of ppc compilers, they would not have had to abandon the architecture. The PowerPC architecture, of course, will survive on the merits of its floating point registers, and GNU/Linux will likely be the most popular operating system for it.

As for Apple's switch to Intel hardware: Mac OS X is Apple's greatest asset, but the business model has always been "want the OS, buy the computer". Whether or not the current reports of such achievements are truthful, Mac OS X will be hacked to run on ordinary x86 hardware.

However, there are benefits from the move. I have been wondering what the next generation Mac OS will be like, and it's clear that Apple could now at any point choose to switch to a different kernel, such as Linux (which also exists for PPC), opensolaris (which does not) or more exotic plants, such as DragonflyBSD.

One thing is clear. Whatever they do, they're stuck with POSIX compliance as a minimum.

The OS wars are coming to a computer near you. And this time, MS-DOS is going to lose.

tags:,,, , ,,,,

Friday, November 11, 2005

Remote access to Mac OS X through osxvnc

At long last, I can now access my Mac OS X desktop remotely from Linux at home. The installation of osxvnc on the desktop and tightvnc on the laptop was trivially easy - much recommended!

If you're going to do this, choose a window manager on the client side that will support full screen mode, and change the keybindings of the window manager to something other than the default, so you can use the default bindings on the host. In my case, I found that the Alt key mapped to Apple's Cmd (command) key, and the Meta (aka Windows) key to Apple's Alt. Ctrl was as expected.

Tags: , , ,

Sunday, November 06, 2005

High impact blogging

There are a lot of blogs out there - how do you stand out? Some people, no doubt, are making money from Google Adwords et al., so how to be one of them?

Well, the first lesson, as always is, if you want something from people, you've got to give them something they want. Think hard about the content of your site - is it useful for the viewer? So far, so trivial.

The second obvious point is that you need to give people a chance to find your site. That's what this article is about - a basic outline of how I'm currently trying to promote my blog. [1]

The first rule in the modern world is that you need to include tags as you're writing the blog. Think of these as the analogues of keywords in the old world of simple, single html pages. I suspect that some blogging engines have a separate field for entering tags - can anyone confirm this?

You can further promote your blog by offering helpful advice in forums related to your blog subject, and have your blog url in your signature. This also ensures that web crawlers can find your blog. A similar and similarly important strategy is to link to other relevant blogs and websites from your blog. This gets you listed on "what links here" lists! Perversely, linking to popular blogs may just get you more hits, although they may also be less specific.

You'll also want to open an account on each of the online newsfeed aggregator and social bookmarking sites listed in my previous post, and add your blog or even, in the latter case, individual blog posts with appropriate tags. Especially that last strategy ensure that your blog entries will come up when people search for appropriate combinations of tags.

Technorati also allows you to alert them to new blog posts on your claimed blogs by "pinging" them [2]. I'd really like to see some data on the effectiveness of this.

I'll just close by saying that I am aware of ways to abuse this system, but will refrain from expanding on them here. Keep it fun for everyone - your gains, if any, would be ephemeral!


[1] Not to give the wrong impression - my actual objective is to attract the right sorts of viewers to my site and make an impact with my writing; I don't yet care about the advertising revenue - as you'll be able to tell from the absence, at the time of this writing, of any advertising on the site!

[2] Ping originally is a utility that allows you to test if you can reach a given server (technically, the question actually is whether the response packets make it back to you; the response is "pong").

Tags: , , , , , , , , , , , , , ,

Wild, wild world of blogging

If you're obsessive like me about choosing the best sites for managing your blogs and subscriptions, you may find this list a useful starting point:

Blog hosts
Blogger.com
LiveJournal
WordPress
Blogware
TypePad
blog.com
Blog-City

Blog rolls aka RSS Readers
Bloglines
Rojo
FeedBurner
NewsGator
Google Reader
Feedster
NewsIsFree

Tag engines
del.icio.us
Spurl.net
Furl.net

In a class of its own
Technorati

Image hosting
Flickr
Buzznet
Deviantart

Tags: , , , , , , , , , , , , , ,

Thursday, October 13, 2005

One more thing?

After complaining about how Apple are driving the depreciation of value in their iPods by releasing too frequently, here's my commentary on their recent keynote:
  • The remote control is a very good example of Jef Raskin style interface design. Well done!
  • Who's going to buy music and videos when you have podcasts and movie trailers?
  • Your line-up has never looked this good? What's so great about a black and a white model? Give us some decent colour - what happened to black and red?
  • Amazon has had customer reviews for years - what took you so long? (To repeat that phrase used in relation to Apple's switch to the x86 architecture. Do I see a pattern of late adoptism here?)
  • Where's the productivity?
  • You didn't quote Mossberg on the scratchability of your iPods, did you?
  • Well done for dropping the eMac - I believe it no longer fits in the line-up (using Jobs jargon).
  • Congratulations on your taste of music - I've been following Wynton's music for years!
Now, I won't comment on the two major versions of iTunes within 5 weeks of each other, as the marketing strategy behind it, and the numbering scheme, seems straightforward to me.

In any case, hope you get better soon, Steve! (Healthwise, that is.)

Tags:,,,,,,,,,,,,,,Wynton Marsalis

Saturday, October 08, 2005

GNOME 3 vs. KDE 4 - sensible workflows

Mockups for KDE 4 and GNOME 3 (scroll down to the pictures) - looking fairly alike? Which is no bad thing. ;)

Well, I can't say it enough times: there are clear relationships between different data types, especially multimedia, and these need to be taken into account in interface design. An example of this is my Mugar project (interface description at the bottom of page).

What I mean is, slideshows want music, phone calls want to go into the address book, photos may want to have character recognition performed on them, text messages may want to be forwarded as emails, spreadsheets may want to be converted to databases, and address book entries may want to be emailed to colleagues.

So you'd identify the sensible interactions of your datatypes, and implement these in the interface. It looks like GNOME and KDE are beginning to learn this. Also, if anyone can tell me what this strategy is called, do please let me know!

Like I've probably said before, this is what I think Apple are up to with their Automator. Once they've found out what users are actually doing, they'll concentrate on those workflows in their GUI design.

Technorati tags: , , , , ,

Saturday, October 01, 2005

Ideas for Website Baker

This is a post for Ryan Djurovich, the developer of Website Baker, one of the most user-friendly web content management systems (CMS) out there.

So here are the first few suggestions I have for the next version (v3):
  • in the navigation menu browser on the admin interface, remember which submenus were open and keep them open unless closed by the user
  • implement syndication (RSS)
  • make links update themselves automatically when a section is moved up or down the navigation menu hierarchy, or when media are moved between folders
  • make sure all main templates are W3C conformant so that people who enter html manually can check that it's correct without being inundated with error messages actually caused by the template
  • have an option to have the main menu horizontal and the submenus vertical - there are probably templates that allow this already
  • the wysiwyg html code generation needs some work - I can't remember the specifics of the problems I had, and for me they're easy to resolve using the raw html interface, but not for other people... Maybe it's still useful for me to mention it.

Reply all for marked list

cross-posting from mozillazine:

Would be really nice if I could mark a number of emails, and send a new message to all senders (and optionally other recipients). By marking I mean the normal process of selecting mails with shift and mouse cursor or cursor keys.

The situation I envisage is when you've just sent out some instance of mass communication (a press release, say), and ten people get back to you with the same question. Select those emails, click "send to all", write, send off - simple? I think so. And useful. It's very Apple, but they haven't come up with it yet!

You could even give people the option to save the list into their address book after they send the mail, similar to the way that Yahoo mail always asks.

tags:,,,,,

Thursday, September 29, 2005

Name change: interface design

As my posts have recently concentrated more and more towards interface design, I've changed the title of the blog to reflect this. I'll be moving my population genetics posts over from here to another blog soon. I may also be merging my other blog, brainspark.blogspot.com, with this one.

I'll be announcing changes here.

Apple overdoing it

When Steve Jobs recently introduced the iPod nano, my first reaction was, "Oh my God, they're killing their own business." The iPod nano is an unreasonable proposition:
  • The device is too small to comfortably control - certainly not with your thumb!
  • The screen is too small to view photos - why bother making it colour?
  • Enough has been said about the scratching, which, unfortunately, holds for the iPod photo as well.
On the other hand, the iPod minis have just reached cult status and will probably undercut the nano sales.
What is most critical is that Apple have released too many products in too short a time - the mini, the shuffle, the nano (which also competes in the shuffle niche), and the phone - they're wearing out their customers, who will eventually become annoyed that they can't own the most recent thing for long enough before it stops being the most recent thing. The only thing that's keeping the iPod above the competition is the iTunes integration, same as with their computers and the operating system. However, the OS will eventually be hacked to run on other vendors' PCs, and as podcasts (which are also supported by a number of other programs) rise above bought music in importance, and internet radio services such as Pandora, LaunchCast and AudioScrobbler become important, iTunes, too, will no longer push sales of the hardware.

Edit: Ladies and gentlemen - I proclaim it official. Hot on the heels of the iPod nano scratches (and I thought my iPod colour was bad!), we have this report of Apple charging extortionate license fees. May the iPod rest in peace.

Friday, September 23, 2005

Interface design: the window title bar

Wow! Having installed the Windows version of iTunes 5 yesterday, I now have the second example (the other one being RealPlayer) of how the title bar and menu bar should be integrated for more efficient use of screen real estate and better usability. Others please follow! It makes sense. (Damn, I regret never writing down and publishing that recommendation way back then...)


tags:,,,,,, , , ,

Tuesday, September 20, 2005

Why do we have menus?

We have menus in our user interfaces for two principal reasons:
  1. Because screens used to be smaller so that not all of a program's functions could be shown at a time.
  2. To reduce visual clutter.
As we started having a little more space, we started having toolbars, but some user interfaces, such as that of Blender, are deemed overwhelming in the amount of functionality that they provide at one glance.
The impression I get is that there is no silver bullet in interface design: toolbars can be useful, but icons are not always clear to decipher - Apple, for instance, introduced the "Show all" button with text in their System Preferences dialogue, apparently because this is easier to understand than any symbol they could come up with.

tags:,,

Thursday, September 01, 2005

Debian-based = desktop focus?

These days, a lot of people seem to be talking about MEPIS, Ubuntu, Xandros, Progeny, Linspire and Libranet, all of them Debian-based, and all of them thought of as more user-friendly than the original Debian*, or most other Linux distributions out there, for that matter. Bruce Perens was going to pull off the same trick, but it seems his more business-oriented UserLinux was ill-fated.

I've heard good things about MEPIS and Xandros - I hope that the new efforts to create strong standards within Debian will pay off in terms of interoperability and ability of users to easily change from one distro to another. For anyone wanting to get real work done, this is a very important efficiency question.

* Lycoris is the counter-example, being based on Caldera and having recently been acquired by Mandriva, the merger of Mandrake and Connectiva. (It seems, without me having any specific knowledge, that Mandrake started buying lots of companies after they barely survived at the mercy of customer donations. I find that to be slightly dubious business practice.)

tags:, , , , , ,, , , , , , ,

Wednesday, August 31, 2005

Free end user privacy and anonymity tools

I've recently become interested in lightening my electronic footprint. In that line, I'll give you a quick list of the programs I've been playing with.

Instant messaging: For real anonymity, you want the gaim-otr Plugin. Adium already has OTR in it. OTR stands for off the record, and offers the highest privacy you could have in an online conversation, including most significantly, deniability - the other person can provide no subsequent proof that you said what you said. That's what I call privacy! A number of *nix distributions provide a package of gaim-otr, so you can just install it, namely Arch, Debian, Fedora, FreeBSD, Gentoo, NetBSD and linuxpackages.net for Slackware. If you didn't know, you can easily check package availability using the whohas tool.
Note that the current version of OTR has a flaw in it, but this will be fixed soon.

Browsing: The typical approach to make browsing untrackable is to use the tor proxy, which is actually an encryption and redirection technology, which allows traffic to be bounced through a series of onion servers, so that traffic appears to come from one of those servers rather than the user. Privoxy is a front-end to the tor client, and provides some further privacy filtering. A good summary and installation instructions for Firefox on Windows (Linux, for one, is very similar) can be found here. You can also use tor as a proxy for other internet services, such as IRC - the article describes how.
I think the fact that tor is an anagram of otr is accidental, but I'm not sure what tor stands for - something onion routing? Tor, again, is available for quite a few *nixes, namely Arch, FreeBSD, NetBSD, OpenBSD and Source Mage Linux, as well as Mac OS X through DarwinPorts.
There was at one point a LiveCD by the name of Privacy Knoppix, and I read somewhere (but can't find it, please let me know!) about a distribution of portable Firefox with Privoxy and tor - incredible amounts of privacy for internet café usage!

Email: Now, this is an old one, and most of you will know that the way to be safe is with Thunderbird, Enigmail and GPG (or gnupg, as packages are sometimes named). You'll find plenty of instructions by googling for those keywords. I could only find packages for enigmail in Debian and FreeBSD - I suspect this may be due to it having another package name; gnupg, however, is ubiquitous.

Thursday, August 25, 2005

What a Tiger wants

Just playing around with my new machine (iMac G5 20 inch, 2GHz) and OS. Here's a list of things you will probably want to install if you're in the same situation:

Adium
Cyberduck
Firefox (with extensions Document Map, AniDisable, Flashblock, textareatools; Enhanced Bookmark Search does not seem stable, unfortunately)
iTunes Monitor
Quicksilver
Skype
X-Chat Aqua

Unix heads will want to get Fink, which I found to be superior to DarwinPorts, but that's just my particular mileage. I also like Audio Recorder.

You'll also want to switch off auto-installing of Dashboard things (security vulnerability! find it in Safari settings), make Firefox your default browser (ironically, this is also done in Safari settings), get rid of the Dashboard icon, (more to follow...)

You may also want to get the following video players:
MPlayer OS X 2
VLC
Windows Media Player

I don't know what the deal is with RealPlayer at the moment - I don't seem to need it...

These not-strictly-necessary-but-currently-more-compliant messengers (Adium actually supports both protocols):
ICQ
Microsoft Messenger

Tuesday, August 09, 2005

Document repositories in an online classroom

This is the kind of thing I keep talking and thinking about:
Claroline (ClassRoom online) is a collaborative learning environment that allows teachers or educational institutions to create and administer courses through the Web. The system provides group management, forums, document repositories, a calendar, chat, assignment areas, links, and user profile administration in a single, highly integrated package. It has been translated into 28 languages.
Emphasis mine. By the sounds of it, version control could really make this particular project into a killer app. I'm sure if you sifted through freshmeat, opensourceCMS, the CMS matrix and OngETC long enough, you'd find something that matches the criteria.

Wednesday, August 03, 2005

Portable devices: lack of consolidation

Even five years ago, things were simple: you had PDAs, you had mobile phones, you had digital cameras and you had mp3 players. Synchronisation, if any, was always with a PC and by USB. Storage media were mostly supposed to stay inside the device. There was no particularly useable or affordable web access outdoors.

Nowadays, you have a head-spinning multitude of removable storage devices; you have various weird and wonderful attempts to unify the PDA and phone, you have camera phones and all intermediates between a PDA and notebook laptop. Everyone wants internet access through mobile networks, and everyone wants to be an mp3 player, even the USB sticks. Not to forget the games consoles that want to be more (anyone remember the Sega handheld games console that doubled as a TV?)

So where's the real innovation, where is the consolidation?

It's easy enough to come up with a concept for an ideal device, and I did so some time ago. But it seems to be incredibly hard for the large tech companies to integrate the technologies into one device in a sensible and user-friendly way. Notable exceptions are gizmondo and the Archos AV. I suspect that the technology companies' lack of confidence in users' abilities is a major part of the problem. Do technology leaders need to look for new methods for developing software that does exactly what the majority of potential users expect?

By the way, I'll probably be up for hire in about a year's time. ;)

The distribution homies

Linux seems to draw a lot of people who want to do specific things, like, say, video editing or bioinformatics. All too often, such groups of people go off and start their own distribution that does only one thing, but does that one thing well. This is a fruitful way to proceed if the issue is porting Linux to new hardware. I myself have been known to propose a dedicated distribution for laptops (and if I were to make the same argument again today, would doubtless include tablet PCs). But making a whole new distribution just because you mostly just need, say, the music editing tools, strikes me as counterproductive. Entrat autopackage, which allows people to define dependency relationships and build instructions in a distribution-independent way - using tools such as this, people could use any standard Debian, Slackware or Fedora base and put their own tools on top, without becoming incompatible with major package repositories.

So if what you're trying to achieve with Linux does not depend crucially on some very specific kernel patching, why not put your own distro aside and contribute to one of the big community-driven Linux projects, like Debian, Fedora or Gentoo?

tags:, , , , , ,

opinion: Firefox and the e-conomy

(This post is a year older than its post date here, so keep that in mind when reading!)

Since starting to use Firefox, my Windows has stopped getting corrupted. IE is now used merely to access windowsupdate.com, and suddenly, I feel safe. Happy to do my online banking. Happy to shop at amazon, buy tickets for transport and entertainment online. In this way, Firefox is indirectly better leveraging the potential of the web economy. Dot com bubble, where art thou?

There is one more step for me to go: from buying real-world goods online to buying virtual goods, online. I imagine that my events magazine could allow me to subscribe, at a small extra cost over what I already pay for the mag, to an online database of movie reviews. Maybe my Linux magazine will do the same. I don't want to subscribe to the mag, because not every issue interests me that much. But not having to keep boxes of old magazines around in case I need some information would be well worth a small investment.

In the same way, I am already paying for internet radio that came bundled with my broadband connection. And happily so. What else is there that I could become convinced is actually useful for me? Who else is going to reassure me that they are not spying on me, merely providing a transparent service that I feel in control of?

Currently, there is a reluctance on the part of the content providers to invest in such web databases, interfaces and new subscription models. After all, not all users may think like me. But they could. And once they start doing so, the web economy will be running smoothly once again. And Firefox is the key.

Original post published on Jan Fri 21st 2005:
http://forums.mozillazine.org/viewtopic.php?t=205381

Edit: What has been missing from the publication model so far is to allow customers to mirror content locally, so that if they unsubscribe from a magazine, they keep their past copies. This is particularly important in scientific publishing, where published articles retain their importance for at least several decades after publication. Unfortunately, this is especially poorly understood in science, and it has been hard for me to communicate the importance of local mirrors to library staff and boards at my institution.

The evolution of the web

What Tim O'Reilly saw many moons ago is now becoming clear even to me. The web is going to take over; the browser will be our window to the world.

In that line, let me revise what I said about tabbing and browsers in a previous post here. What is actually happening is that the tabs are becoming the windows, as the browser increasingly is going to become the window manager. As Bloglines is taking over from desktop news aggregators, other web-based applications (take GroupOffice as an example) will take over from other desktop applications. Web services such as Flickr will take over from local photo management suites. What I said about the browser turning into the operating system was spot on: this will happen. From the perspective of the browser alone, the change is seamless. If you take other applications into account, the migration may be a bit bumpy. I would predict that any desktop environment that smoothly integrated access to web services such as Flickr, Blogs and data storage on Yahoo or simple ftp hosting services, with local applications for file manipulation, such as office and image manipulation software, will do extremely well, even financially.

Curiously, this is what .Mac should have done - I can only guess that its platform dependence made it unattractive, a disadvantage that has been Apple's deliberate bane for a long time.

And hence my post about version control for the desktop, with the link to an article about keeping all your settings in version control on the web.

What Microsoft have never understood...

...is that they have the power to grow or shrink the economy in which they operate. Sell overpriced products, cease to innovate, and you shrink your economy.

This may be why Apple is doing so well. People who use Apple keep getting richer. (No, I have no data for this, let me know if you find some!)

Package lists

All distributions must have package lists that are publicly accessible on the web without downloading iso images.

You must tell your customers what's inside the box - don't expect technically literate people to get interested in your distribution if you don't give them this information. And let's face it, it's the technically literate users you're after, as they're going to be more helpful with bug reports, and are more likely to end up helping with the development of your software!

Tuesday, August 02, 2005

Domain vs. IP: the future of bookmarks

Since several cases have come to my attention recently of domain registration being borked up by a provider, or due to some threat of legal action, as in this case, I will reiterate my suggestion, originally made on May Sat 7th 2005:
http://forums.mozillazine.org/viewtopic.php?p=1463579
of saving IP addresses with bookmarks, in addition to domain names, so that when domain registration is discontinued for some website for some reason, the website can still be reached through its IP address (assuming that this has remained the same).

Necessary for this is some mechanism for the user to indicate that the website he was redirected to by a bookmark was not the one he intended to visit, and hence try the IP instead. I suggested to give the user a button in the status bar, maybe labelled "IP", that shows up when he's used a bookmark. The user can then decide whether the page that showed up is the one he was looking for, and failing that, can press the IP button to get to the IP address of the original server (plus the rest of the URL, i.e. the path on the server and/or parameters for php, perl or other (database) scripts).

This will lead to IP-hogging as a new phenomenon, but we're no worse off than we were before, as long as domain is given precedence over IP.

Complete browser history

A common problem with browsing context is that when you go back one page and forward to a different page, you lose the previous branch of the tree you were on:

1) index.html <- about.html
2) index.html -| [snip] about.html
-> contact.html
I can think of three possible solutions:

1) Weaving: under this rule, the above move would imply a history of
index.html -> about.html -> index.html -> contact.html
Problem 1: with larger jumps, it moves recently accessed pages back quite a bit in the history.
Problem 2: the chain grows forward by quite a bit as you go back and then onto a new branch.

2) A nested history interface, where each accessed url is like a folder, containing any pages that you accessed by following a hyperlink in the former. Typing a url in the top bar puts you back in the "root" directory, as does accessing a bookmark.
Problem: The hierarchies thus created are very deep and are difficult to represent graphically.

3) The banana throw: Only pages not immediately adjacent in the chain get appended to the head of the chain upon being visited.
Problem: the historical context in which pages were visited is not preserved.

The original post was made on
Apr Fri 8th 2005:
http://forums.mozillazine.org/viewtopic.php?p=1373879

A discourse on GUI layers

Over the last few years, we've seen the Mozilla family of browers [1] evolve into feature-rich, usability-oriented browsers, especially with the new concepts of tabs and extensions, the latter allowing, amongst other things, new side pane applications.

This differs markedly from the traditional "one app, one function" mantra of the Unix community, although there are parallels with the history of the editor Emacs, which some say is now an operating system in itself. (Someone is bound to remark that Firefox is not primarily a Unix application, neither one with a strong Unix history, but - read again - I wasn't saying that!)

From a Linux perspective, it may seem like a mistake to embark on including tab functionality within the application rather than contributing to existing window manager projects that allow tabbing. Will the Linux community thus come to suffer from a Windows legacy in Firefox?

Secondly, the idea of side panes can also seem short-sighted under the same considerations. While some side panes provide functionality that is clearly part of the browser, others do not, and other parts of Firefox that could fall under the side pane paradigm are not implemented in that way: for instance, the download window.

A compromise would be to rebuild the framework such that the user could decide whether a given app should run in the sidebar or an external window. However, the main browser window menu does not interact with sidebar content except to determine what should be shown in the sidebar. Hence, the sidebar could always be a separate window that the window manager could be instructed to always place next to the browser. The simplest way to deal with switching between different sidebar views, e.g. history and bookmarks, would be to simply spawn a new window. Hence, different sidebar windows could be shown as tabbed.

I conclude that having "Downloads" as a separate window is a step in the right direction, and that this should be applied to all extensions. The focus must then be on contributing to a window manager that supports the above features. The one I am thinking of is Ion [2]; there may be others with similar features.

The fundamental problem is that there are three layers: virtual desktops, windows and elements within windows (e.g. sidebar vs. main pane), and this affects the generality of Alt+Tab, leaving aside for a moment the question whether we really need three layers anyway.

Multi-window apps like the Gimp (before version 2.0) are difficult to manage in some existing tabbed window managers because there is no one-to-one mapping of processes to windows. In addition to this, it must be possible to identify the function of a process (e.g. download window vs. main window) - I'm not sure what the functionality sysfs provides in this regard. (I should check whether there is one-to-one mapping in KDE, although process names are even less helpful there!)

So let's go back to the question, how do users use the outermost layer, the ability to have several desktops? To (a) group apps by current activity, (b) have less clutter over the desktop (minimising windows has a similar effect, although the effect varies according to how your taskbar is set up, if any) and perhaps originally, to (c) always have one virtual desktop where one actually had access to the files represented on the desktop. Now, compare this to what Exposé can do:
1) group windows by apps (c.f. (a))
2) unclutter windows (c.f. (b))
3) provide a clear view of the desktop (c.f. (c))

So window handling in Mac OS X makes a huge amount of sense, although typically, Mac OS X apps have only a single kind of window, and the use of sidebars is favoured. Note also that Safari includes tabs, so even Mac OS X certainly still deviates from a purist ideal.

[1] Mozilla, Firefox, Epiphany, Galeon, Camino, ...
[2] http://modeemi.cs.tut.fi/~tuomov/ion/intro.html

My original posts on this were made on and after Jul Wed 6th 2005:
http://forums.mozillazine.org/viewtopic.php?p=1585763
http://www.linuxquestions.org/questions/showthread.php?s=&threadid=340583
http://www.linuxforen.de/forums/showthread.php?t=188370 (in German)

tags:, , , , , , ,, , ,,

iArsey

If anybody's looking for a name for their next IRC client, how about iArsey?

Sunday, July 31, 2005

The music and film industries

Due to too large a variety of copy-protection mechanisms for the normal consumer the keep track of, some of which prevent playing of CDs and DVDs on certain devices (inadvertently or deliberately), consumers can no longer be sure of being able to play a given CD or DVD they might have considered buying. Throw in single-region DVD players, and you've got consumer frustration: to prevent the experience of not being able to use an item that we've forked out 10 to 15 Pounds for, we simply don't buy.

As a result of this, the record industry will vanish, while the live music business will remain. And with the simultaneous demise of music television, we'll be seeing less of Britney and more of Wynton. I'll toast to that.

Sunday, July 24, 2005

Mockup for a LaTeX editor

You can write great apps in GTK, and this is an idea for an easy-to-use LaTeX editor.Edit:
There has been some discussion of this at
http://www.mrunix.de/forums/showthread.php?t=40207

I also had a response from Jeroen Wijnhout, author of Kile, who said that the code-folding feature should work for larger sections now or in the near future.

I should probably have some GTK coders look over this, since Glade2 doesn't offer a text-folding widget.

Saturday, July 23, 2005

A file manager or desktop environment with version control

A quick google showed that I wasn't the only one who had been thinking this: the next generation graphical user interface needs version control inbuilt, so that you are always working with the head of a version tree checked out, and every "Save" is a commit. Applications must allow users to specify commit titles when saving. File managers must allow users to access previous revisions, and rolling back must be possible both at the application and file manager level. But here's what other people are writing.

Examples of how useful version control really is on the normal desktop - in fact, some of the physicists and statisticians in our institute are already using version control for their manuscripts.

Some of the screenshots of Mockup suggest that the developers may have caught on to the idea of version control integrated in the desktop (I looked in their very scarce and sparse specification docs and found nothing).

I can't really talk about Mockup without mentioning the very promising Symphony OS, which once again treats the computer as a device, with user friendliness benefits to boot!

And if you're getting into the looking glass, here's Syllable.

IRC logbot and whohas

I've finished the IRC logging bot to my own satisfaction; a few more tweaks are possible, but basic grepping and threaded execution to ensure responsiveness are there.

I've also already quietly released the second version of whohas, numbered 0.11. whohas is a utility for querying package databases of such distributions as Debian, Gentoo, Slackware, Arch Linux, Source Mage, and also FreeBSD, NetBSD and OpenBSD.

I'll be publishing the roadmap for whohas soon, and am thinking about writing yet another white paper (like there aren't enough already) about what "release", "repository" and "section" or "package group" mean in different distributions, and how to unify the concepts.

Tuesday, July 12, 2005

Why software vendors want to support Linux

Having taken a look at how hardware vendors may benefit in the near future from adopting GNU/Linux, I will now show why some software vendors should also do this.

Adobe is in the process of buying Macromedia. Some observers have surmised that this is because they can better withstand the pressure that will be put on them by Longhorn's technologies. Specifically, it seems that Microsoft will use the technology shipped with Longhorn to support Metro (an XML-based fixed document format) and Sparkle (Microsoft's answer to Flash; Metro, similarly, is a rival to PDF). Longhorn is thus a less fruitful platform for Adobe/Macromedia to develop for - Mac OS X is much friendlier in this respect. While Adobe and Macromedia stand to benefit from Apple's growing hardware market share, they must compete on the PC platform. The sweet thing about Mac OS X 10.4 Tiger is that it ships with sophisticated graphics functions built efficiently into the OS. In this way, Apple has done some of the work for Adobe and Macromedia, and is sharing the secret - Apple thrives on its innovative developer community!

So how can Adobe get the same advantage on the PC? With Linux! Linux gives software vendors the chance to influence OS development - the same functionality that Mac OS X provides with respect to graphics, could be implemented on Linux. In fact, most of the technology is there - it just needs consolidation, something that hackers are prone to neglect, and that can be difficult due to the large number of competing projects with similar objectives. I believe Adobe would be a very welcome directional force.

Monday, July 11, 2005

OS market development prediction

Let's have a little thought game. Let's suppose that when Windows Longhorn comes out, the users don't like it and Apple continues to pick up market share. What impact will this have on the OS and hardware market?

Quality PC makers like HP will be seeing their sales drop because the Mac platform is still tied to Apple hardware, and will be for some time - PearPC notwithstanding. For this reason, they will be looking for a better desktop operating system so they can keep selling their hardware. What gives? Linux. Although Linux does not quite run perfectly on some devices such as laptops and especially tablet PCs yet, PC vendors will be helping out to make it run even on those machines.

That way, they may end up building a desktop operating system that is more advanced than Mac OS X, depending how conservative they are in their choices of versions and how much extra work they are willing to put into QA. RedHat is very well placed with its Fedora distribution, which already covers much of the home desktop market, even in Europe. Debian is still a strong force, and Ubuntu will be the prime champion of the Debian way, because it's desktop, it's good and it's free. Gentoo is a possible choice for high-specs machines, Mandriva are in a hole again, and Slackware and Arch will be lingering in their specialist, Unix flavour niche. Suse causes users too much frustration, but alas, some hardware vendors may be unaware of this and will perish.

An interesting question, again, is Mono (see earlier post). Hardware manufacturers must stay clear of this, otherwise they may find that Microsoft's got them by the balls after all. This is why RedHat's choice to implement huge amounts of Java (which is nearly as good as C# aka Mono) in Fedora is smart and may give them a head start in the desktop race.

Not only will PC vendors potentially push ahead of Mac OS X in terms of technology, but they may find it works out cheaper, too, particularly as driver problems will be fixed in kernel development, rather than hardware vendors having to keep replacing faulty driver software.

The upshot is that Apple will be driving everyone else to become software-hardware vendors rather than pure hardware.

*nix configuration files always concatenatable

Linux and Unix configuration files that may need to be changed by the addition of extra programs, that is, files containing menus, mimetypes, startup script configurations etc. must not have any strong inherent structure, e.g. a header section of the file. Ideally, they would instead be perfectly concatenatable in any order, or at least, allow new programs to add lines at the bottom (by the >> operator) whose order does not affect operation. I suspect that menu configuration has already been more cleverly solved by the large desktop environments than to require programs to add their own menu items in the right places, but I'm just testing Arch Linux, and the configuration here is somewhat retrograde in that most of it is in one file, rc.conf, which is therefore highly structured.

Sunday, June 26, 2005

How to beta-test your Linux distribution

Many GNU/Linux users keep old computers around for testing purposes. Many of these same users like to change from one distribution to another once in a while (Fedora was quite popular for a while, then it was Ubuntu, and so on...)

So many of these people test final versions of their candidate distribution on their old machine. If it impresses them there, they'll try installing it on their production machine. But here they can run into problems, because the hardware might not be supported out of the box, making time-consuming tweaking necessary.

The solution:
  1. Decide that you are going to give a certain team of developers a chance of making the distribution work for you (be they Ubuntu or Fedora or whoever).
  2. In the run-up to the next release, try their public betas on your new computer, doing your normal work. Save often and keep backing up to another machine. (It's a good habit to get into anyway...)
  3. If bugs occur, report them, and follow up whether they are being resolved. Give all the relevant information that developers will need to find and fix the problem, i.e. describe the bug as accurately as possible. If possible, help with debugging!
  4. Meanwhile, keep your old machine productive so you don't endanger your work, your job etc. You can only devote so much time...
  5. Keep testing until the final release (i.e. install and test every new beta as soon as it is released) and beyond - some things may still need fixing in the first few weeks after release. It often happens.
  6. Enjoy a Linux distribution that you know will work on your new production machine!
It is likely you will only have to do this once, and that even subsequent releases of the same distribution will just keep working (the only exception will be a new kernel series, but it'll probably be about 2 years before we have to even think about that again).

Friday, June 24, 2005

Mac OS X 10.4 Tiger

These are some thoughts I had back in December, following the Apple conference where Tiger was introduced. I'm opining on the main features of Tiger, which are:

Automator seems to be some intermediate between an AppleScript front-end and an IDE. AppleScript, incidentally, is also being described as being new, although I seem to recall it being in Mac OS. Dashboard is the idea of a virtual desktop with the generalisation removed. Do Apple users really need this level of guidance? You could have just given them a virtual desktop and shown them how you think it could be used.

Spotlight is a desktop search engine, apparently based on Lucene, from which dotLucene, the library driving the Linux Spotlight equivalent, Beagle, also springs. Spotlight is why you want Tiger.

I don't want to say much about RSS processing in Safari, other than that I'd be surprised if they had a better implementation of it than Thunderbird, and Thunderbird had it much earlier, as did Firefox - even before the conference!

Then there are CoreImage and CoreVideo, components that remarkably acelerate your graphics manipulations - it made quite an impression at the conference. I expect CoreAudio will be similarly effective. I hope I'll find time to look into how they are designed and work - what level of the OS they reside at etc.

So now you know what I was thinking back in December!

Laptop specifications (wishlist)

In order of importance:
  1. Long battery life: in excess of 3hrs under load (if you need to give me an extra battery for this, fine, but why not make the first one last longer?)
  2. Large, easy to view display aka screen, even in bright light (quite a few models now seem to have ~1400*900, good to see)
  3. Decent keyboard
  4. Quiet operation
  5. Fast DVD/CD-ROM drive - so I can run LiveCDs at more appreciable speeds. Some laptops now ship with 40 times drives, and my current laptop has already got a 24 times one!
  6. Fast hard drive so GNOME can load faster.
  7. I used to think CPU speed was important. I'm beginning to accept the idea that I need a separate headless machine to run big simulations on. However, with Linux, processing power really matters at the moment, because you've got a lot of cool Python apps on that platform, but Python is very slow. I haven't tried Mono yet. Leaving aside the question of whether we should use Mono, it will be interesting to find out how fast it is. And of course - fast memory and front side bus. So I guess I'll have to watch the benchmarks in the magazines.
  8. A high-quality microphone, or preferably just microphone and headphone jacks that don't suffer from interference (like my current one, sadly, does!).
  9. Enough USB ports for my keyboard, mouse, printer and either a PDA or digital camera. How about another one for an external HDD? That makes five. Hmm, maybe forget about the printer, don't seem to use it much lately. So four USB ports.
  10. Weight: not that important to me, but sure, I prefer them lighter if I can have them.
  11. Graphics cards: leave me alone - I'm not a gamer! So long as any variant of X and window manager run on it without noticeable lag, I'm happy.
Technical specs:
  • at least 512MB RAM, I guess extensible until 1.5GB would be nice
  • no inbuilt speakers (headphones are the way to keeping friendships at the office), no wireless (too insecure)
  • 80GB+ hard disk
  • Dual-layer DVD writer, hmm... is 8-speed asking too much?

Wednesday, June 22, 2005

Filenames

The problem with files is that they need to have a different name, depending on context. Let's suppose I've written a travel diary about Belize. On my computer, this could be called "Belize2005_v5". On my girlfriend's computer, "PhilBelize2005Diary"; when I upload it to a travel website dedicated to Belize, it needs to be called "Belmopan PhilippWesche May2005 english" etc. (Belmopan is a place name in Belize.)

Files need to know which filename is most informative in a given context. This is addressed to some extent by meta-tags in some filetypes such as mp3 and pdf. However, I am not currently aware of any OS or desktop environment that filters out only the most informative information, e.g. test whether the file is residing in the filespace of the creator; if not, include the name of the creator in the label. I'm sure one could think of many more simple rules that would be enormously helpful, and in combination could revolutionise the way we interact with files.

Edit 24/07/05: This is of course where Unix was going all along, with the idea of uid and gid for files!

Sunday, May 01, 2005

Famous evolutionary biologists

Ernst Mayr, deceased 3 February 2005
John Maynard Smith, deceased 19 April 2004
Douglas Falconer, deceased 23 February 2004
Stephen Jay Gould, deceased 20 May 2002
Bill Hamilton, deceased 7 March 2000

Even though I arrived in Oxford before Hamilton died, and in Edinburgh before Falconer did, I never met either of them. I did hear Stephen Jay Gould on a guest lecture in Oxford, although I'd have to admit to not being a particular fan. (Although, coming from Oxford, that is very conformist!)

Friday, April 08, 2005

IT for the institute and beyond

I still intend to have a close look at the opensource graphing solutions some time, and give a talk on them. I may end up doing the same for the mathematical tools - could be a two-part series. Very early days, though. (But I could recycle the talks for a meeting of EdLUG, my local Linux User Group.)

More realistic is that I finish my IRC logging bot (hopefully complete with "grep" and "tail" interfaces) and get the department onto the server. All howtos and powerpoint presentations are prepared. I should get into gear! :)

Saturday, March 26, 2005

Edinburgh Lib Dems disgrace democracy

This completely doesn't belong here, but since this is my only blog, here goes...

The Liberal Democrats in South Edinburgh play on the fact that people are fed up with Labour. With Lib Dems as second strongest party, they try and convince people they must vote Lib Dem if they don't want Labour. To emphasise the threat, they produce this bar chart in which Labour and Lib Dem bars are of equal height, and the Tory and SNP bars are about 1/3.

First point: The actual election results are, Lib Dem 10,005, Labour 9,847, Conservatives 5,180 and SNP 4,396. Hence, Tories have more than 50% of what Lib Dems have. That is, the Lib Dems' graph is a stark misrepresentation of actual election results.

Second point: Democracy in a nutshell works like this: whoever most people vote for, wins. By saying that Tories can't win, the Lib Dems are seriously perverting democracy - clearly, if everybody votes Tory, they win. In my humble opinion, one should vote for the party one most agrees with, because any party can win.

Thursday, March 03, 2005

buying RAM is cheap

Replacing my laptop's RAM with the good stuff from Micron aka Crucial (giving a total of >600MB). That should make it run more stably, and give me plenty of time to think about what computer to buy next (or wait for the prices for 2GB PC2100 CL2.5 RAM cards to come down enough that I'll want to make that jump!)

"Internet" Explorer

Why on Earth didn't they call it Web Explorer? The only part of the internet that MSIE helps explore is what is accessible by http/ftp, i.e. pretty much the World Wide Web (the web) as conceived by Tim Berners-Lee.

I wonder whether Microsoft's marketing department could be largely to blame for the confusion about the difference between the web and the internet.

Tuesday, March 01, 2005

frustrations with tablet pc makers

I'd love to have a tablet iBook, but so does the rest of the world, apparently. Also look here and here. Anyway, as you may have gathered, I don't really like Windows, and prefer to double-boot with Linux. In fact, the last couple of days I have been renegotiating with myself whether I shouldn't really ditch Windows completely.

Slates appeal to me because I could get more display for the same weight (thank/curse Apple for showing the world how much nicer a large display is!), and I've recently converted back to doing things on paper and blackboard in any case, so it fits with my general line of thinking.

Now, my current laptop has a 40GB hard drive. If I were to upgrade, it would have to be to something bigger. Unfortunately, most slates (tablet PCs without inbuilt keyboard and touchpad/other mouse device) seem to be a bit short on hard drive and even more seriously, memory (256MB? you'd almost have to run Linux). More crucially, the makers don't understand that any slate needs at least 3 USB ports: one for keyboard, one for mouse, and one for some other device that you may be trying to operate and which needs mouse and keyboard. Okay, they didn't think of Linux, and I haven't tried Linux on a slate, so I don't know if a mouse wouldn't really by superfluous. If anyone in the Edinburgh area would like to volunteer their slate for a test run, I'll let it be worth a few beers.

Why laptops don't make sense

As a preamble to a post about tablet pcs that is to follow this one: in most laptops, the hard drive is underneath the keyboard. Anyone who understands anything about hard drives will instantly understand why this doesn't make sense: motion shock kills hard drives. So I always use a USB keyboard and mouse with my laptop, unless I am really travelling (I have one keyboard at home and one at work).

Thursday, February 24, 2005

Masters project suggestion

I thought of a challenging undergraduate or masters research project this morning: an IRC logging bot or server add-on (aka plug-in) that intelligently transforms IRC content into threads. I may put up an example of what I mean if there's enough interest.

I also wanted to point you at my Mugar page again. It presents a new* multimedia gadget that integrates phone, mp3, radio, camera, PDA, web and email functions, along with (of course) voice recording and mp3/ogg/etc. encoding. There's an unbelievably funky user interface to go with it. Check it out!

* (actually, one and a half years old, but alas, the time was not ripe!)

Wednesday, February 23, 2005

Different communities: GNOME vs. KDE

It occurred to me today that there is a difference between the KDE and GNOME developer communities. Strong-minded, experienced hackers tend to prefer the code-cleanliness of the C-based GTK world, where they are relatively free to execute their own ideas about user interfaces. Newer hands and especially teenagers are more often happy to join an existing project, and KDE has the right climate to allow them to do this [1]. KDE has one CD burning program, k3b. It's the major selling point of KDE. GNOME, on the other hand, has almost countless different ones...
(I still prefer GNOME. The Mac-inspired panels are unbeatable... although admittedly, that's less to do with the toolkit used.)

[1] Compare with Gentoo Linux, which is being maintained by a young community, and uses KDE as its main desktop.