Saturday, November 24, 2007

Why KDE4 (might) suck!

kde4 rc-1
I've been a kde user for very long time, since from before version 3.0. I vaguely remember being excited with version 3.0 to the point I was using the beta releases on a daily basis.

Similarly I have been anticipating kde 4.0, the next major release since 3.0 I suppose. But it seems that is just its problem! Its too much of a major release to be pushing out in such a hurry. I have been following kde 4 from time to time by reading some of the discussions on the panel-devel list, trying out the alpha releases via the SUSE live cd and of course discussing with Siraj, our local kde developer, on the internals (technology and community wise).

While things have improved a bit, with each release of kde 4, its far from ready. We are now at RC1 and the announcement says its ready for prime time testing.

Building on this, the majority of applications included in KDE 4.0 are now usable for day to day use. The KDE Release Team has recently underlined this by calling on the community to participate in reporting bugs during the time remaining before the release of KDE 4.0 in December.

Meanwhile, preparations for the KDE 4.0 release event is taking place, with the main event taking place in Mountain View, California in the USA in January 2008. Make sure you don't miss it!

Well from what I saw on the Debian based LiveCD, its far from being usable on a daily basis. I sincerely hope this is because the Debian guys didn't compile or package it correctly, even though thats very highly unlikely.

And while I don't want to ruin the January release party at Google, which by the way, goes up to Jan 19, which happens to be my B' day (Whooo!), my feeling is kde 4 should have been pushed back to June/July to make give that polish.

Anyway rather than just rant on and on, let me put forward my main issues with it, coming from a kde 3.x background. My testing procedure involved booting up kde 4-rc1 debian live cd and taking notes on the iTouch. To get a bit more background to the issues I was facing, I mailed those comments off to Siraj and I have included his comments and my replies to his comments :) Even he seems a bit frustrated with some aspects of the current state of kde. I'm sorry I don't have screenshots. All this was tested in 30-40 minutes, which only goes to show that its too easy to be annoyed with kde 4.

Legend: My initial comment, Siraj's comment, My response to his comment :)

Bugs like

* I see a floating klipper with black background

> Not a bug, plasma is yet to find a way to using XEmbed windows
inside a QGV , so till that is ready clipper will float.

>>Well its a bug! I get this from time to time even on kde 3.5.x after compiling with library versions used with beryl/compiz. But that happens randomly on 3.5.x and is predictable on 4.0. This should be fixed before final release

* I can't adjust time using clock applet. How do I change time format from 12/24

> you can't ;) it's a known issue :P

* I can't remove some applets like Lancelot. Why not have a remove applet functionality inside add applets dialog

> I don't think the IPC (dbus call) to remove an applet is not ready yet

* I can't resize plasma applets!

> hehe, the clock you can! others u can't ;)

>>Thanks for adding that feature. But its still crude (you need to type in a value under configure menu). Resizing should part of (inherited in )all applet

* Its not clear how I add stuff to kde menu's quick access tab.Would've been easy if I could drag and drop from app tab

* Plugging in my iPod, USB disk didint fireup the what should I do pop up. Neither did it show anything on my desktop.

> I don't thing solid supports all that, but do u have the solid applet loaded ?

>>No didn't have this loaded. I think such applets, if there are any needs to be loaded by default.

* I can drag a file from file browser to desktop but it only shows icon not file name and I can't move its position

> I think the applet lock is on, unclicking unlock should let you move it

>>I'd really like to believe that, except there is nothing that shows its the case. There was no indication in the icon (via an emblem of a padlock for example) and I don't recall an unlock option in the context menu or even a context menu :) Its also bad you don't see the file name. Imagine having 10 files on the desktop all having just the same icon!

* How do I get multiple desktops. Used to be more intuitive

> there is an applet for virtual desktops.

>>If there is, this should be on by default.

* Launching the pager applet crashed the desktop and upon reload all the applets I had added were gone.

> Kwin and plasma is having lot of problems, this is just one of those. Yeap, no history support implemented yet ;)

>>A critical must fix bug, since kde4 seems to depend so much on these applets to provide core functionality previously supported natively (via kicker, konqueror)

Usability issues (and sometimes bug like)

* On the top right seetings widget has zoom in/out. Zoom out shrinks the desktop to a point of no return. Why not have a zoom default. Also this should be implemeted better esthetically.

> this is a pre plan for ZUI, which mean the default should be keep to zoom out. ZUI is not ready so it's a feature not a bug ;)

>>:) its a bug, because its a missing feature ;)

* Lots of missing icons so defaults to ugly icon.

> Oxygen is doing some major rework, when done should be ok!

* Default clock in systray looks ugly

> Agreed, argued no use, users are stuck with that! Aaron likes it

* In add applet dialog its not clear what the star does. If to rate then why 1 star.

> hehehe, maybe for the looks!

* Kde menu based on kicker looks unpolished and ugly

> :( life!

* Would be nice if I can clear recently used histry on that tab itself

> you will just have to wait :)

>>I can wait. Just wish kde can too instead of being released in Jan without all these

* Left and right click has the same effect on k menu button. How do I
add a custom item to menu?

> you can't for now :)

* I can't right click on taskbar. What happened those functionality.

> not implemented yet !

* Right click on desktop and I can't create new file, folder, launcher icon. WTF. Bettr to offer this along with option to hide icons from desktop. Dont cripple it

> not ready :)

* Where is trash icon? Should be in desktop or dock. Its not even an applet. It should be there by default.

> trash widget should be there but not ready yet :)

These are just some of the issues I found after playing with it for 45 min or so using the debian live cd. Definitely not RC1 quality. More like beta 1 or alpha 3!

kde4 rc-1 kde4 rc-1

So in conclusion, kde 4, IMHO doesn't offer much that isn't already available via other add-ons but as a result as compromised on usability and most of all flexibility which differentiates it from say GNOME. Worse yet, it seems to be missing a lot of the things we currently have with kde 3.5.x and earlier.

As a result, I think kde 4 has diverted from what its current users love and expect of kde. Its as if it has tried to be something its not. So my main complaint is that it needs a lot of work to get the same polish which we currently enjoy with kde 3.5.x series and should take the time needed before releasing prematurely. There is a saying in FOSS - It will be released when its ready!

In the mine time lets continue making kde 3.y.x incrementally better :)

Tuesday, November 20, 2007

Hacking the iPod Touch / iPhone - Part 2

Previously on Part 1 ...

Just kidding! Scroll down and read it your self.

Its been a while, and I think I'm falling into the "Oh twittering is so much more easier than blogging" trap. So if you've been following my twitter, then you'd know that I've been discovering quite a few uses for the iTouch.Unfortunately its late and I think you'll have to wait for another post before I get into all that :( So instead, lets first cover some of the basics.

Freeing up some space for 3rd party Apps

I'm assuming you have already setup the openssh package as well as the BSD Subsystem, there by enabling you to remotely login or copy files (scp). If not, use the Installer app to install those two packages.

One of the problems you'll quickly realize as you begin to install more and more apps, is a pop up message notifying you that your running out of disk space! This is due to the root partition (/) which also happens to hold /Applications, being only 300MB. Most of this 300MB was already taken up by the Darwin (OS) itself as can be seen by doing a df -h, while sshed into the iTouch.

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/disk0s1 300M 268M 30M 91% /
devfs 15K 15K 0 100% /dev
/dev/disk0s2 15G 6.0G 8.9G 41% /private/var

Therefor what you want to do is to move /Applications directory over to the /private/var directory, as it has the rest of the free space and create a symbolic link (aka shortcut), to the root (/). The following command should do it:

cp -a /Applications /private/var
rm -fr /Applications
ln -s /private/var/Applications /Applications

Once your done, just logout and restart the iTouch, just to be on the safe side. You should now be able to install all the apps to your hearts content. Similarly, I also moved the /opt to /private/var to free up a bit more space.

Turning an iPod into an iPhone

The ipod touch is a crippled version of the iphone, in terms of missing applications (notes, google maps, mail) and missing hardware (bluetooth,speaker, mic) . While the missing hardware can't be compensated, you can install most of the iphone apps to the touch and get the PDA experience of the iPhone on the iTouch.

In order to do this, you do need to get a hold of the iphone apps. If you know someone with an unlocked iphone, then you can copy it from that person or else you might be able to download it off the net. Try here. Once you grab the files, its mostly a matter of copying the directory to the /Applications directory (using scp for example).

Most other 3rd party Free & Open Source or otherwise free-ware apps can be installed using the Installer application itself.

Finally here is an ipod touch compatibility list of iphone apps that also work on the touch. Stay tuned for part 3.


Sunday, November 04, 2007

Hacking the iPod Touch - Part 1

my new (hacked) ipod touch
So now that I had a little time to play around with this cool gadget, I think its time that I shared some of fun in hacking the iPod Touch. But first a friendly government warning :

WARNING: Hacking gadgets is known to cause bricking and in some instances may even void your warranty. As a general rule assume you won't be able to upgrade your firmware in the future. If your doing this, do it AT YOUR OWN RISK!

Don't worry in reality its almost impossible to brick the device since you can restore it using iTunes. So if you're still with me then "welcome to a brave new world of hacking!". First let me explain how the iphone/ipod touch hack works in layman's terms.

TIFF Exploit

The key ingredient for performing the hack is around a bug discovered in libtiff, a library used widely to provide tiff image handling capabilities. This bug can be used to cause a buffer overflow, allowing arbitrary code to be executed. Such exploits can aid (in a good sense) to unlock a device which has been locked, limiting its functionality to what ever the device manufacturer wants it to do.

Before the iPhone, the PSP firmware 2.0 was also hacked using a similar TIFF exploit allowing third party home brew apps to be executed.

In the case of the iTouch, you would visit a site containing a specially crafted TIFF image vis the Safari mobile browser. This would crash the browser and execute the payload. What that code does is simply to remount the root file system with full read/write permission, enabling the browser to break out of the chrooted jail its running under - jailbreak. This is possible thanks to Apple running the browser as root (admin), something any one with a little sense of security would not do.

You can read more about the TIFF exploit here.

Jail breaking the Touch

Jail breaking the touch has been made so easy that even a 5 year old could do it. The easiest method which was released less than a week ago, requires you to just visit and click on a link. It will display a TIFF which will jailbreak the device, making it suitable for running third party apps, install a user friendly App installer app and finally patch the TIFF exploit so you won't be compromised in the future! If your a GNU/Linux user, this also means you no longer need to goto a Mac or Windows to Jail break.

There are also a GUI tools which can be run inside MacOSX (iJailbreak) and Windows (Touchfree).

But I used the almost manual method since I thought it would be more fun going through the steps. I used my Mac Mini (PPC) but there is also a how to for Windows (sorry not for GNU/Linux).

If everything went ok, you will now be able to install apps by launching the ifrom the SpringBoard interface. All you need is to be connected to the net.

What ever you install, you'll definitely want to install OpenSSH server (and even client), BSD Subsystem, DNS tools, SummerBoard.

In part 2 I will talk about some of the productivity apps and some other interesting apps that you can run. I'll also try to touch up on getting the Touch to work on GNU/Linux so that you can transfer music, videos and may be even photos (still trying to figure this out) without using iTunes.

If you can't wait... subscribe to my twitter blog for a near real-time update of what I'm upto.