Wednesday, November 02, 2011

Someone please create a Multi-Tablet User Interface

With tablets becoming an increasingly viable option for manipulating all kinds of information, and with their prices coming down so much that we'll soon have people with multiple tablets (perhaps you have your new tablet, your old/smaller tablet and your phone (mini-tablet)), it is about time someone create a way to operate on all tablets at the same time, with them cooperating and alternating their function between data visualization, selection and specialized controls to affect the selected data.

Suppose I like to design race cars (really a supposition, since I don't know the first thing about it) and I'm having a coffee at my preferred café. The sinuous forms of the vapour coming out of the espresso inspire me and I fetch my main 12" tablet and start sketching with the digitizer pen (ThinkPad tablet has it) until I create a beautiful shape. I decide this could become a serious design, so I fetch my older, 7" tablet and pair it with the larger tablet as an additional control pad.

In this moment, I am able to select the shape I just drew on the larger tablet, and the smaller tablet immediately shows me the manipulations I can do with this object. Perhaps some color cubes, shading, texture, etc. Then I select another object on the larger tablet, and the smaller tablet again changes with inputs and manipulators for that kind of object. Perhaps the whole of it becomes a smart keyboard for me to describe my design, typing text into the larger tablet.

Now I want to easily rotate the shape around and watch it under different kinds of lighting. My phone has a digital compass, accelerometer and other such nice controls already, so I get my phone out of my pocket and pair it with the other tablets. I can immediately rotate my phone on the table and the design on the larger pad rotates accordingly. At the same time that I rotate or tilt the phone (and the design), I can slide my finger around on the 7" tablet to change how the lighting is positioned to achieve the effects I want to visualize.

Is this too difficult to implement? Certainly not, as we have everything we need, tablets and phones with bluetooth. Just throw the necessary bluetooth protocol in there for the pairing and exchanging of input events, and make applications aware of the fact they can ask the other paired tablets to represent any kind of input control they want. Or allow one tablet to "export" input controls into the others so that the other tablets would run those controls and feed the input events back to the originating tablet. I really think it would be easy to sit down and implement this kind of stuff with existing technology right now.

It is funny that months ago I dreamt about a computer made of transparent sheets of touchscreen-like material, and one could "unfold" it to allow for a larger operating environment, or even "rip" parts of it for smaller pieces of dedicated control pads. Each part of the remaining surface was able to present information and receive touch input, so you could start with a screen, but unfold it (like opening a transparent book) and have the lower portion present a keyboard, and then perhaps unfold that part again to the side, and that side-screen would present additional controls and input such as digital sliders and knobs. And then now I suddenly realize we can actually come fairly close to that with a Multi-Tablet User Interface. :)

Thursday, May 26, 2011

Fedora "Face" header for email


Express your love for Fedora in every email you send! Add a color "Face:" header in your email client using a very optimized 48x48 Fedora logo. The file is 628 bytes, and expands to 846 bytes in total when base64 encoded and after adding the "Face: " header name.

If your email client does not have a way to insert a Face header explicitly, but lets you add a custom header, here is the line claws-mail created for me:

Face:
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4
c6QAAADNQTFRFgE1yJD1tKUFxLEh9MlOOP1aEOmetS2eaO263VmyVWITBbo
GkjaTHrr/Y0dzo7fL1/f/89Nam/gAAAAF0Uk5TAEDm2GYAAAABYktHRACIB
R1IAAAACXBIWXMAAAUzAAAFMwHIE+vbAAAAB3RJTUUH2wUaDwEFIUT8NAAA
Aa1JREFUSMetlumygyAMhSVA2GR5/6e9KIsgoHbmnh+dTns+EoEkbtsoqNo
+CG760f6CwEJf7SRphQx24FwpxTklU2Lwc2NdiHI7pxNiWF7ZULTjSAz5G1
/9wWlktCeGfExoZKWUrIsx+FVe3zvnvNUoZZ/VkJBLdmuUMkbLQ9gktUjIG
3qeA8WTaEIMQNogk84MMnE9xeCn5xO46xdWcoI5IHwKcK2AbU6w2CMxA2AK
pEPj/wXAO9A8dCTegbKtc+A4qR5oD+4GRAflUQkw8TuNSvaSUQNQhtL60Mv
vN38FjoVwv/svgkEPnIHRhlH2/IdBD9AUdg/zCDWfAiS/lNr6Q9l6yiJGO+
mBvBEYK1fExpLL3xwSNLpJ19SuhFhuXPUcahvrmmD8wLRvZHk1bkA+eQKfg
T7AI7A1APwIjLd10fcnKaUbAi9AfWiS2pgji8Fy31aSA9gHgOULnA4q921F
FpOrXg1EJWLx5JKwy0lXihy1O1RunlhOxtIWdFcMZj1Jc3lK7ZoiePCXimP
yiuDU06SuPUBkwhn+ONib33kcN4rTt/cAeNYPbxhz9x/7pCg2het4mQAAAA
BJRU5ErkJggg==

OK, this means you'll bloat every email you send with another 846 bytes. Here's how you can compensate:
1. Do not send HTML email. Ever.
2. Do not use a signature containing all your personal information.
3. Do not use large/useless disclaimers in your signature.
4. Make them count! Do not send crap or useless email. :)