Tablet User Interface Design

February 13th, 2010 by yuit

This is a rather good article about the state of user interfaces for tablets.
http://gizmodo.com/5461767/the-two-wrong-ways-to-make-a-tablet

The summary is that in the market currently, there are 2 main ways of building a tablet interface:
- Taking a desktop interface and shrinking it to a tablet interface (Windows Tablets)
- Taking a mobile device (phone) interface, and blowing it up to the size of a tablet (iPad and Android tablets)

Both cases are suboptimal. What is needed is a radically different way of doing a tablet interface.

Introducing the Microsoft Courier Tablet.
http://www.pcworld.com/article/181487/microsoft_courier_a_feature_breakdown.html

I have never been a fan of Microsoft, but I must say that I would definitely be interested to lay my hands on one of this tablet if it were available!

Amazing Battery life on my Palm Pre

February 4th, 2010 by yuit

Battery life on my Palm Pre has never been that great, maybe because smartphones, in general, encourage you to really use them. 3g, surfing, calls, sms… everything is so easy and fast and usable.
In the last 4 days that I’ve been in china, I realised something - the Palm Pre has amazing standby life!
Ok, some disclaimers here. I think over here, my connection is limited to 2G/EDGE connection. That, from what i’ve read, helps. My usage has been really low, a few sms’s a day, checking calendar and contact information, and a few phone calls, and even wireless surfing a bit.
But it has been on *all* the time, no recharges, no airplane mode, always on.

But still, I’ve been absolutely amazed. It has lasted me absolutely 4 days. Full 4 days!

This is something I should investigate more….

Rotating screen in Thinkpad x61T Tablet with Ubuntu Karmic

February 2nd, 2010 by yuit

If you read my comments on my own post on screen rotation on my thinkpad tablet you’ll read that I was having problems rotating my screen on my X61T tablet (1400×1050 resolution). I didn’t have any luck with that until this week, when I had some time to do some research again.

Thanks to this site, I am now able to do it:
http://www.shrapnull.com/v1/node/22

Basically, the scripts here are much simpler and cleaner.
Below is the code to rotate the screen :

#!/bin/sh
#/etc/acpi/x200tsdown.sh
echo ‘Rotating screen…’
if [ "`/usr/bin/xrandr -o right -v | grep -i 'randr' | wc -l`" -ne "1" ]
then
echo ‘!! Something went wrong…’
export DISPLAY=”:0.0″
export XAUTHORITY=/var/lib/gdm/\:0.Xauth
/bin/xset -display $DISPLAY dpms
echo ‘Trying to rotate again…’
/usr/bin/xrandr -o right
fi
echo ‘Rotating stylus…’
/usr/bin/xsetwacom set stylus rotate cw
echo ‘Starting keyboard…’
/usr/bin/onboard&

Now, this code doesn’t *quite* work 100%. Somehow on the x61t, the wacom digitiser is not listed as “stylus”. Instead, running the command

xsetwacom list

shows me that it is listed as “eraser”. So the script works perfectly when you replace “/usr/bin/xsetwacom set stylus rotate cw” with “/usr/bin/xsetwacom set eraser rotate cw”

What I couldn’t get working was the acpi events. It basically means that I can’t get the tablet to rotate automatically when I flipped it to tablet mode, and revert to normal orientation when I flipped it back to laptop mode.

Instead, I used Gnome’s System-> Preferences -> Keyboard Shortcuts to map the tablet rotation key to launch the rotation script, and the Thinkvantage key to launch the back-to-normal script.

I couldn’t find a way to override the Tablet “Toolbox” key NOT to go into screensaver mode… something for me to do in future I guess.

Oh yes, and the instructions here http://liken.otsoa.net/blog/index.php?entry=entry080617-120522 on Keyboard in GDM and Screen Lock

GDM

In /etc/gdm/Init/Default, before exit 0, add:

/usr/bin/cellwriter –keyboard-only –read-only –window-y=600 –window-x=200 &

In /etc/gdm/PostLogin/Default, add:

killall -u root cellwriter &

In /etc/gdm/PostSession/Default, before exit 0, add:

sudo killall -u $USER cellwriter

SCREEN LOCK

Edit Gnome Registry with gconf-editor. In apps/gnome-screensaver

embedded_keyboard_command cellwriter –keyboard-only –xid
embedded_keyboard_enabled [TRUE]

works very well.

I am happy. :-)

Interesting stuff about Google

December 26th, 2009 by yuit

Was reading an article complaining about supposed search engine spamming by Target on Google (http://www.goodroi.com/why-google-allows-target-com-to-spam-results/)
While its still not clear if it is an intentional spamming attempt by Target (general consensus is that it is not), there are 2 things that you learn about how Google operates from reading through the comments:

a. Google datamines from the Google Toolbar. Based on what and where you visit, Google gets that information from its installed Search Toolbar, and uses it as references to crawl and index.
b. Google is looking into submitting forms and indexing the results too (http://googlewebmastercentral.blogspot.com/2008/04/crawling-through-html-forms.html)

The 2nd thing is pretty interesting… anyone noticed this behaviour of Googlebot in the wild?

Guidelines when building a consumer-facing website

October 8th, 2009 by yuit

This is a pretty good post by Kevin Rose on how to take your website to a million users.
http://highscalability.com/blog/2009/10/6/10-ways-to-take-your-site-from-one-to-one-million-users-by-k.html

To sum it up:

  • It should feed the user’s ego. Top scores, Twitter Follows (how many followers do you have?)
  • Focus on 2-3 items that your site should do well
  • Release often. This means that your operations/process has to support immediate feedback and release
  • Leverage on your user base
  • Provide value to 3rd party sites and leverage on their traffic
  • Market through unique techniques like Invite Only signups (eg: Gmail in the early days)

CRM Systems

August 9th, 2009 by yuit

Checking out SugarCRM in terms of features and capabilities:

Helps when you are running Ubuntu on your laptop:
http://www.howtoforge.com/installing-sugarcrm-community-edition-on-ubuntu-8.10

Search & Move in Ruby

August 4th, 2009 by yuit

Its interesting that one can still get an adrenalin rush from coding…
Ever wanted to be able to move a set of opening and closing tag from one part of the document to another? Across 100 files?

This was a quick hack I did up over a night in Ruby.

#### Initialisation ############
files = Array.new
filelines = Array.new
locationfiletype = “/home/yuit/*.html”
destinationfolder = “/home/yuit/Desktop/”
loggingfolder = “/home/yuit/Desktop/”

#### loading all files into memory ######
files = Dir["#{locationfiletype}"]
files.each do |f|
# puts “#{f}”

filename = “#{f}”.split(’/')
filelines = IO.readlines(”#{f}”)
puts “Opening file #{f}”

############################################
## initial scanning : Form tag replacement##
############################################
a = 0
foundstarttagsource = false
foundendtagsource = false
foundstarttagdestination= false
foundendtagdestination = false
locationstarttagsource = 0
locationstarttagdestination = 0
locationendtagsource = 0
locationendtagdestination = 0

filelines.each do |g|
if “#{g}”.include? “

” then
locationstarttagsource = a
foundstarttagsource = true
end
if “#{g}”.include? “” then
locationstarttagdestination = a
foundstarttagdestination = true
end
if “#{g}”.include? “” then
locationendtagsource = a
foundendtagsource = true
end
if “#{g}”.include? “

Notes:” then
locationendtagdestination = a
foundendtagdestination = true
end
a = a+1
end

if foundstarttagsource && foundstarttagdestination && foundendtagsource && foundendtagdestination then
puts “Found the form tag in #{f}”
puts “#{locationstarttagsource}, #{locationendtagsource}, #{locationstarttagdestination}, #{locationendtagdestination}”
filelines[locationstarttagsource].gsub!(”
“,”)
filelines[locationendtagsource].gsub!(”",”)
filelines[locationendtagdestination].gsub!(”

Notes:”,’

Notes:

‘)
filelines.insert(locationstarttagdestination,”

“)

file_output = File.open(”#{destinationfolder}#{filename[-1]}”, “w”)
filelines.each {|line| file_output.puts “#{line}”}
file_output.close

else
File.open(”#{loggingfolder}error_replacement.log”, ‘a+’) { |file| file << “#{Time.now}\t #{f}\t : Form tag not replaced\t #{foundstarttagsource}\t#{foundstarttagdestination}\t#{foundendtagsource}\t#{foundendtagdestination}\n”}

end
end

#### Clearing up memory ##########
files.clear
filelines.clear

Building An Intranet Knowledge Base while Leveraging on Wikipedia

July 17th, 2009 by yuit

There’s an interesting discussion on Slashdot over this question of
“Integrating Wikipedia With a Local Intranet Wiki”. Something that some of us have come across.
Some of the proposed solutions are:

a. Complete dump of Wikipedia and add your own stuff to it
b. Build a simple proxy server that rewrites wikipedia content to include a header of your local content
c. IFRAME? Intelligent proxy/page modification?
d. Browser extension somewhere that lets users add their own comments to any arbitrary web page
e. Create an internal wiki, and wherever relevent you link to the wikipedia article
f. Its probably not going to work because “You are trying to force a technical solution on a social problem.”

Someone also posted an interesting conceptual paper:
http://www.galois.com/files/MLwiki_Datasheet.pdf

Pretty interesting ideas. What are the pros and cons of the above suggestions? Any ideas on top of those?

http://slashdot.org/comments.pl?sid=1304239

200k, 33.3%

July 15th, 2009 by yuit

Just a figure that I want to keep in my head.

Taking a step forward

July 1st, 2009 by yuit

Progress forward, no one says he does not seek.
Yet, does he know what it actually is?
Money? Status? Power? Love? Peace?
Maybe one should look inward
To understand exactly what is it that is missed.

Not many can bare to look in the mirror,
To see themselves in their stark contour.
For in most parts of our life’s grand tour,
We have spent building up our own little pretty manor.

But it is from my personal observation,
that looking within is a necessary action.
Not to tear it down our years of construction,
But to understand its flaws and limitations.

Only then will things be set in motion,
for that step in the forward direction.
The things that you normally do without much consideration
Now is guided by almost a double vision