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:, , , , , ,, , , , , , ,