tag:blogger.com,1999:blog-86492454432063189812024-03-13T11:10:57.892-07:00Python and moreMartin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.comBlogger46125tag:blogger.com,1999:blog-8649245443206318981.post-3701729228358084622012-01-01T07:21:00.000-08:002012-01-01T07:42:04.289-08:00Comparison of Camera PhonesFor two years the N900 was my digital camera. With the mobile phone replacing my digital camera I don't have to carry an extra device with me. Besides that my old digicam is broken and thanks to the N900 I didn't have to buy another one.<br />However, the good old days of the N900 are gone. Can any of Nokia's new phones keep up with the N900 camera-wise?<br /><br />I'm going to compare the N9, the N950, and the Lumia 800 to the N900. I'm not comparing to the N8, simply because I don't have one, and it's known to be the best camera phone anyway.<br /><br />The N9 is Nokia's flagship Qt device. It is mostly sold in countries where the Lumia devices are not on sale. Online retailers and some electronics stores sell the N9 in other countries as well. It features a 8 MP camera.<br /><br />The N950 is not on sale at all. It got cancelled due to unknown reasons before it went on sale in late 2010. It also has a 8 MP camera, but rumour has it that the hardware is actually capable of 12 MP. You only get 8 MP out of it with the software, though.<br />In my opinion the N950 is not very good as an everyday's phone. It's a developer's device but not a reliable phone.<br /><br />The Lumia 800 is Nokia's current flagship Windows Phone 7 device. It has stolen the design from the N9 right down to the retail box and its contents. The Lumia 800 and N9 look like twins. I assume both phones have exactly the same camera hardware with 8 MP.<br /><br />The N900 is the legendary but aging king of Nokia's premium devices. It is a Linux box in your pocket, rather than a mere smartphone. Since the device is quite thick, it actually feels like a digicam in your hands. It is the only device with a movable lens cover. To take a photo, simply open the cover, aim, focus, and shoot. The camera has only 5 MP, but used to be one of the best (if not the best) cameras in mobile phones at its time.<br /><br />Only the Lumia 800 got a dedicated camera button like the N900. That button is placed well and works with two steps (focus - shoot) just like the N900. During regular one-handed use, however, this button is a little disturbing on the Lumia. It is not as recessed as the other buttons and it breaks the otherwise beautiful design of the phone.<br />The N9 and N950 both don't have a camera button.<br /><br />All of these phones use Carl Zeiss optics. So they should all produce good images in theory. The N950 is a little different here, because it bears no Zeiss logo. Only devices with Zeiss optics that passed the Carl Zeiss certification may use the logo. One can only speculate about the N950. Didn't it pass, or has it just never been submitted for certification due to being cancelled before going no sale?<br /><br />None of these phone cameras can do optical zoom. If you need to zoom a lot, you should consider getting a real digicam.<br /><br />Let's compare the most common situation: aim, focus, shoot with automatic settings. You can always get a lot more out of the camera if adjusting the various parameters. But for quick pictures you usually won't do that.<br />My scene for comparison is a look out of a window with the focus being on the traffic sign outside. Some curtain is visible inside the room, and lots of leaves are on the hedge and in the forest outside. So there are quite a lot of fine details to capture for the camera. A little reflection on the window pane makes focussing harder. The lower part of the image is quite dark. Digital cameras tend to produce a lot of grain in these areas.<br /><br />These are the images taken by N900, N950, N9, and Lumia 800, respectively:<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-HdD31hfQMdc/TwB61qKIGrI/AAAAAAAABXo/DulvIXo3AHw/s1600/N900.jpg"><img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://1.bp.blogspot.com/-HdD31hfQMdc/TwB61qKIGrI/AAAAAAAABXo/DulvIXo3AHw/s320/N900.jpg" alt="" id="BLOGGER_PHOTO_ID_5692684991264725682" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-7V942beqCNI/TwB61-V8flI/AAAAAAAABX0/ib_jNF93-uE/s1600/N950.jpg"><img style="cursor:pointer; cursor:hand;width: 242px; height: 320px;" src="http://2.bp.blogspot.com/-7V942beqCNI/TwB61-V8flI/AAAAAAAABX0/ib_jNF93-uE/s320/N950.jpg" alt="" id="BLOGGER_PHOTO_ID_5692684996683005522" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-s0Zg8FaLLXA/TwB62OKlq0I/AAAAAAAABYE/ZVs4EO1aSYc/s1600/N9.jpg"><img style="cursor:pointer; cursor:hand;width: 242px; height: 320px;" src="http://4.bp.blogspot.com/-s0Zg8FaLLXA/TwB62OKlq0I/AAAAAAAABYE/ZVs4EO1aSYc/s320/N9.jpg" alt="" id="BLOGGER_PHOTO_ID_5692685000930339650" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/--MRMpK1vRVc/TwB621H8czI/AAAAAAAABYM/kuzk_44vUTg/s1600/Lumia800.jpg"><img style="cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://2.bp.blogspot.com/--MRMpK1vRVc/TwB621H8czI/AAAAAAAABYM/kuzk_44vUTg/s320/Lumia800.jpg" alt="" id="BLOGGER_PHOTO_ID_5692685011388232498" border="0" /></a><br /><br />While images on the N900, N9, and N950 are easily accessible, the Lumia posed a problem. USB mass-storage mode or Bluetooth file transfer are not available. So I tried to upload the photo to SkyDrive and download it to my computer. But SkyDrive crippled the image's resolution even when attempting to download the "original image". So I sent the photo via E-Mail to me. This worked, but still, the image was crippled to 2 MP. So if I cannot get an 8 MP photo off the phone, I will compare the 2 MP photo with the others instead. Well done, Microsoft! The photo doesn't show more details in the gallery on the Lumia, either, so I'm wondering if the Lumia does save with a higher resolution than 2 MP at all.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-_2ZX5UNGkDI/TwB7YTkEt5I/AAAAAAAABYY/Bg328gDtF-E/s1600/sign.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 100px;" src="http://4.bp.blogspot.com/-_2ZX5UNGkDI/TwB7YTkEt5I/AAAAAAAABYY/Bg328gDtF-E/s400/sign.jpg" alt="" id="BLOGGER_PHOTO_ID_5692685586494961554" border="0" /></a><br />Let's take a look at the traffic sign first. The N900 produces the sharpest result. But with 5 MP, the camera fails to capture the details. The sign is getting quite pixelated. The blurry image and the washed-out colors of the N950 are totally unacceptable.<br />The Lumia 800 and N9 are about on par. The 8 MP capture the details pretty well, but they're both a bit blurry. The colors are most natural on the N900 and N950. The Lumia is over-saturated.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-GoNRs5c0950/TwB7iMg__pI/AAAAAAAABYk/XNjd-Q5Wrkc/s1600/curtain.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 100px;" src="http://2.bp.blogspot.com/-GoNRs5c0950/TwB7iMg__pI/AAAAAAAABYk/XNjd-Q5Wrkc/s400/curtain.jpg" alt="" id="BLOGGER_PHOTO_ID_5692685756401712786" border="0" /></a><br />Next we look at the curtain, which is supposed to be out of focus. None of these images appear to be clearly out of focus, though. The N950 produces a very blurry image. The colors are quite OK, except for the Lumia this time. The N900 and the N9 produce the best images, but the N900 shows more color artifacts. The most color artifacts are visible on the Lumia.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-LOpc8_aYrVs/TwB7qqxoqlI/AAAAAAAABYw/wH9B55u8egE/s1600/hedge.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 100px;" src="http://1.bp.blogspot.com/-LOpc8_aYrVs/TwB7qqxoqlI/AAAAAAAABYw/wH9B55u8egE/s400/hedge.jpg" alt="" id="BLOGGER_PHOTO_ID_5692685901963504210" border="0" /></a><br />Look at the hedge now. Again, the N950 produces the worst result. The Lumia and N9 are lacking contrast, but the Lumia is slightly better than the N9 here. The N900 even though it only has 5 MP is the clear winner this time.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-uYl5FFIqKS8/TwB7wyCI5AI/AAAAAAAABZA/D4VKUvAGdDU/s1600/dark.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 100px;" src="http://2.bp.blogspot.com/-uYl5FFIqKS8/TwB7wyCI5AI/AAAAAAAABZA/D4VKUvAGdDU/s400/dark.jpg" alt="" id="BLOGGER_PHOTO_ID_5692686006990988290" border="0" /></a><br />Now let's prepare for the really shocking results and compare the darker areas. The Lumia produces a very dark area that is too dark, but there is almost no color noise. The other phones produce very noisy images with the N900 being the worst. There is a tint of green in all images except on the Lumia, which is the clear winner this time.<br /><br />To sum it up, the N950 is the clear loser in this comparison. It does not have and in my opinion does not deserve a Carl Zeiss logo.<br />Next comes the Lumia 800. While its camera is about on par with the N9, the fact that you cannot easily get your pictures off the phone in full resolution, makes it a bad joke. The colors are a bit over-saturated and generally a bit too dark on the Lumia 800, too.<br />The N9 scores second place. It has serious trouble under low-light conditions, however.<br />The N900 has problems under low-light conditions as well, but captures more color detail in general. With some software improvements, the N9 could beat the N900 one day.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com4tag:blogger.com,1999:blog-8649245443206318981.post-86958166311924690292011-07-23T14:19:00.000-07:002011-07-23T14:32:01.988-07:00Put Your Music Shelf in Your Pocket - With Harmattan or N900CEMy little app <a href="http://gitorious.org/meego-music-shelf">Music Shelf</a> is a MeeGo music player that aims to be simple, easy, and good-looking. It is the proud winner of the <a href="http://wetab.mobi/qt-wetab-app-challenge/">1st WeTab Qt App Challenge</a> in category Entertainment with <a href="http://apps.facebook.com/meine-umfragen/view/zul6ab9i">67% of votes.</a><br /><br />Now that the challenge is won, I'm working to target other MeeGo platforms besides the WeTab as well. Thanks to QML and Qt, this is not really a big issue.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-J26v30Ox82w/Tis7kCg42LI/AAAAAAAABFE/jxlQvf_KuW0/s1600/musicshelf-harmattan.png"><img style="cursor:pointer; cursor:hand;width: 356px; height: 200px;" src="http://2.bp.blogspot.com/-J26v30Ox82w/Tis7kCg42LI/AAAAAAAABFE/jxlQvf_KuW0/s400/musicshelf-harmattan.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5632661249293080754" /></a><br />There are bad news for N900 users, though. Maemo5 PR1.3 is not capable of running the app smoothly, so I'm not releasing it for Maemo5. The N900 MeeGo Community Edition, however, runs the app just fine.<br /><br />Another target is MeeGo Harmattan for the new Nokia N950 and N9 devices, where Music Shelf does really shine!<br /><br />By the way, Music Shelf is powered by the Qt incarnation of <a href="http://maemo.org/downloads/product/Maemo5/mediabox/">MediaBox</a> (which is my popular Maemo4 and Maemo5 project) technology. You can expect first releases for N900CE and Harmattan soon. And on the WeTab you can already download Music Shelf version 1.0 in the WeTab Market for free.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com1tag:blogger.com,1999:blog-8649245443206318981.post-69427710743512899282011-03-03T11:15:00.001-08:002011-03-03T11:45:35.999-08:00Book Animation Tech Demo on the N900In the course of learning to use <a href="http://qt.nokia.com/qtquick/">QML</a>, I have tried to build a book animation with QML for MeeGo. It not only runs well on the N900 with Maemo5, but also on the <a href="http://wetab.mobi/en">WeTab</a>, the Lenovo IdeaPad S10-3t with MeeGo, my Ubuntu Laptop, and a friend even showed me how he was running it on Windows.<br />This is truly <a href="http://doc.qt.nokia.com/">"Code less. Create more. Deploy everywhere."</a> :)<br /><br />This is a short video running a tech demo I made for the N900.<br /><br /><object width="320" height="195"><param name="movie" value="http://www.youtube.com/v/-0w93UcuxKg?fs=1&hl=de_DE&rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-0w93UcuxKg?fs=1&hl=de_DE&rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="195"></embed></object><br /><br />Maybe we'll see some MeeGo software with this technology one day. For now it's only a tech demo looking for an application.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com0tag:blogger.com,1999:blog-8649245443206318981.post-6573003622818951372010-10-30T12:23:00.000-07:002010-10-31T04:19:54.234-07:00WeTab - A Look at the first MeeGo TabletA lot has been written in German media about the <a href="http://wetab.mobi/en">WeTab</a>. Mostly, every news magazine tried to compare the Tab to Apple's iPad and came to the conclusion that it's not an iPad. What a surprise!<br /><br />I've been using my WeTab 32GB for about a month, and this is what I can tell about it. Hell, I enjoy it!<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GrwhB3fzGXM/TMx2TEClPyI/AAAAAAAAAMI/VafRHQctBcg/s1600/20101030_001.jpg"><img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_GrwhB3fzGXM/TMx2TEClPyI/AAAAAAAAAMI/VafRHQctBcg/s400/20101030_001.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533928112005660450" /></a><br /><br /><b>Hardware</b><br /><br />The hardware is manufactured by Asus, or more precisely, their OEM branch Pegatron. The Canadian <a href="http://www.exopc.com/">ExoPC</a> running Windows 7 makes use of the same hardware design, thus is the Windows brother of the WeTab. Asus is already well-known for their netbooks, so the WeTab hardware shouldn't disappoint, right?<br /><br />The WeTab is available in two versions. One version has a 16 GB SSD on board, and the other version has a 32 GB SSD, GPS, and a 3G modem with SIM card slot. Both versions have a slot for SDHC cards and two USB slots, next to the audio out port and HDMI out.<br />The soon to be released <a href="http://wetab-community.de/forum/viewtopic.php?f=56&t=1519">dockingstation</a> will have 3 USB (or was it 4?), microphone in, audio out, and RJ-45 Ethernet.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GrwhB3fzGXM/TMx2gX5IA8I/AAAAAAAAAMQ/SYCeHRBAGic/s1600/20101030_002.jpg"><img style="cursor:pointer; cursor:hand;width: 400px; height: 98px;" src="http://4.bp.blogspot.com/_GrwhB3fzGXM/TMx2gX5IA8I/AAAAAAAAAMQ/SYCeHRBAGic/s400/20101030_002.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533928340673004482" /></a><br /><br />Another big plus of the 32 GB version is the built-in Broadcom Crystal-HD chip which enables the tablet to play 720p or 1080p HD videos fluently. The Crystal-HD chip is automatically used by the GStreamer framework and will soon also be available to the Flash player in the webbrowser.<br /><br />It also features a proximity sensor (called the quickselect button) and an ambient light sensor that is not yet enabled by software. The built-in webcam is 1.3 megapixels. At the bottom there is a connector port for the soon to be released docking station. I saw a prototype model of the <a href="http://wetab-community.de/forum/viewtopic.php?f=56&t=1519">dockingstation</a> yesterday and it looked really sexy.<br /><br />The built-in accelerometer can be used for automatic screen rotation (currently the browser does this), or for games (but as of now there are no such games available). You can also turn around the tablet by 180 degrees and the screen will flip for all applications, including accelerated videos.<br /><br />The tablet features a capacitive multitouch-capable 11,6" touchscreen with 1366x768 pixels (that's HD Ready resolution). The CPU is an Intel Atom N450 at 1.66 GHz, and it has 1 GiB of RAM. There's also Bluetooth 2.1 and WiFi 802.11n. 3G on the 32 GB version is quad band with UMTS / HSDPA 850 / 900 / 1900 / 2100 MHz.<br /><br />The touchscreen is a <a href="http://en.wikipedia.org/wiki/Liquid_crystal_display#Twisted_nematic_.28TN.29">TN panel</a> and thus not well readable from the sides, or from below, as the viewing angle is narrow. According to 4tiitoo, the reason for using a TN panel was that at the time of product design, there were no better panels available in that size and resolution.<br />The screen is glossy, so works well as a mirror, too, just like the Apple products.<br /><br />The touchscreen initially had some firmware problems which resulted in repeated phases of unresponsiveness, with a duration of up to 3 seconds. Many people, including myself, suffered from this. The newly produced units will have an updated touchscreen firmware, so this problem is gone now. On older tablets, the new firmware will be available for flashing soon. I already got the new touchscreen firmware flashed by a 4tiitoo employee at the WeTab Community Meeting in Munich yesterday, and the problems are since gone. I'm sooo happy now! :)<br /><br />Being Atom-powered, it has a fan on board. The fan itself is very silent but of course audible in a silent environment. It's not so much of a problem, though, IMHO. On the other hand, the fan-less iPad tends to switch itself off on hot days, so having a CPU fan could also be seen as an advantage.<br /><br />The built-in battery currently lasts for about 4 to 5 hours, which is due to the fact that there are virtually no power optimizations in place yet. Future software updates will enable a Atom-optimized kernel and WiFi powersaving. This could help expand the runtime a bit.<br /><br />Unlike the Nokia Internet Tablets and N900, there is no idle mode and you have to switch to standby instead, like on a netbook. Waking up from standby is instant and well below one second, though. The standby mode is actually "suspend to RAM".<br /><br />The tablet weighs about 1 kg. Being larger than the iPad this does not come as a surprise. Was the iPad as big as the WeTab, it would weigh even more, if you do the calculation.<br /><br />3G works great and I was able to surf the web during a two hour train journey yesterday, on a course where I usually have some problems surfing with the N900 at some places.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GrwhB3fzGXM/TMx2sZmhI7I/AAAAAAAAAMY/_zob2_Xpyjc/s1600/20101030_004.jpg"><img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_GrwhB3fzGXM/TMx2sZmhI7I/AAAAAAAAAMY/_zob2_Xpyjc/s400/20101030_004.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533928547290260402" /></a><br /><br /><b>Software</b><br /><br />The WeTab runs <a href="http://www.meego.com">MeeGo</a>, and that's the reason why I bought it in the first place. It's the first consumer hardware available running MeeGo. As there is no tablet edition of MeeGo yet, it runs a MeeGo core with a custom Qt-based UI developed by <a href="http://www.4tiitoo.com/">4tiitoo</a>.<br />And MeeGo pays off! It boots up within 20 to 30 seconds. That's really quick.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_GrwhB3fzGXM/TMx28KTjQ8I/AAAAAAAAAMg/QVX6cZ7zObs/s1600/2010-10-30_20-50-12-721.png"><img style="cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://2.bp.blogspot.com/_GrwhB3fzGXM/TMx28KTjQ8I/AAAAAAAAAMg/QVX6cZ7zObs/s400/2010-10-30_20-50-12-721.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5533928818062083010" /></a><br /><br />When the product was launched in late September, the software was at a rough and unfinished state, which could be due to the switch over to MeeGo shortly before the release. 4tiitoo had a lot of hardware problems with Ubuntu, so they (luckily) decided to switch over to MeeGo shortly before product launch.<br /><br />The first time you switch on the WeTab, you will have to register yourself. This currently gives no real benefit, but eventually you will be able to access the WeTab cloud (which will be voluntary). It kinda reminds of Android phones and their registration with Google. After registration, the tablet automatically pulls the latest updates, so that you start with the latest firmware.<br /><br />Since release, there have been quite a few software updates. About one major update per month and several minor bugfix updates in-between. Updates come over the air and usually install when you power off. You can also look for updates manually.<br /><br /><b>Let's take a look at some of the bundled software</b><br /><br />The pinboard is the WeTab equivalent of the desktop. You can place and arrange application launchers and widgets there. The board scrolls vertically so you have lots of space! The background image can currently not be customized, but this will be enabled in a firmware update in November.<br />You cannot add launchers by yourself unless editing files via the terminal. This is just not supported as installing the software will install the launchers.<br /><br />The webbrowser is probably the most critical part of the tablet's user experience. It was really bad back in September but has since greatly improved. The developers put and are putting a lot of effort into this. The browser is based on Webkit, comes with Flash 10, and since the last firmware update features multitouch pinch-to-zoom gestures for fluently zooming in and out. It's a pleasure to use. Of course on a screen with that resolution, you rarely have to zoom unless you encounter some tiny text. Kinetic scrolling in the browser feels great, too.<br />There is no menu for bookmarks, so all your browser bookmarks are placed as launchers with preview image on the pinboard (just like the N900 can do).<br /><br />The bundled e-Mail client is Claws Mail with touchscreen improvements (it doesn't look like Claws at all anymore). It works well with fingers but since I am not using it much, I won't say more about it. People who don't like Claws did install Thunderbird.<br /><br />The file manager is a weak piece. It does its job but leaves much to be desired. Especially, there are only two kinds of icons, folders and files. If you want to know more about a file, you have to select it to view the preview. Luckily, there's also Thunar available, and this is a good file manager. Nautilus is available from the RPM repository, too.<br /><br />The media player for audio and video is Banshee. I don't use Banshee since I have MediaBox on my WeTab, so I can't say much about it. Other people have successfully installed XBMC, too.<br /><br />The image gallery shows photos, plays slideshows and videos. It supports multitouch for zooming, and wiping gestures for skipping between images, but takes a long time to build preview images if you have a lot of photos. If could be a decent piece of software once it was faster. I'm expecting a later update to fix this.<br /><br />The eBook reader is FB Reader with a custom GUI. The GUI is not that good but works for reading books. You cannot set bookmarks or directly skip to a certain page, though. And the book selection dialog (or should I rather say file dialog) is not touch optimized at all, yet.<br />Of course, FB Reader cannot load DRM-crippled books. For these books, some people have successfully installed Adobe Digital Editions or Amazon Kindle on the WeTab using Wine.<br /><br />OpenOffice.org comes with some touch optimizations such as larger icons. But this kind of software is better used with external keyboard and mouse. Then it works like you're used to.<br /><br />The maps application uses Microsoft Bing maps and comes with a widget for the pinboard and a full application with multitouch for zooming and GPS support. 4tiitoo also announced turn-by-turn voice navigation for later. OK, maybe the tablet is a bit too large for windshield mounting, though... ;)<br /><br />There is a market where you can get more software like Adobe Acrobat Reader, Skype, Stellarium, some games, widgets, etc. The market is currently very small and there is no pay-content yet. You can expect more software, once the SDK (based on Qt Creator and VirtualBox image) will be published later this year.<br /><br />Root shell. There is a root shell available for download in the market. Once you install it, you'll lose software warranty (of course, since from now on you can tinker with everything), but hardware warranty won't be affected. Having the root shell installed is called "expert mode", but actually it's just a launcher for a terminal (Xfce terminal to be precise) on the pinboard.<br /><br />If you want more apps like Opera 10 or Opera Mobile, you can e.g. go over to <a href="http://portablelinuxapps.org">http://portablelinuxapps.org</a>. <s>But you need the terminal for running this stuff.</s>As it turned out, it's also possible to download them via Chromium, which opens the download folder in thunar, which in turn is able to launch them directly, after setting the executable bit. Thanks to andreas5232 from the WeTab-Community for this tip!<br /><br />The next major update will add support for a wide range of DVB-T sticks for turning the WeTab into a portable TV.<br /><br />Of course on a keyboard-less device the onscreen keyboard is a crucial part. The one on the WeTab feels great, is big enough for comfortable typing, but lacks keys like tilde or pipe for Unix people. On the other hand, there is a Ctrl-C key. Well, actually, it's the copy key, which happens to map to Ctrl-C, too. ;)<br />Keyboard layouts can be edited via a XML file, though, so missing keys can be added, if necessary. The default layout also misses the dot on the same page as the numbers, which realy sucks for entering IP addresses. :(<br /><br />Should I mention multitasking? Of course, unlike that other pad, the WeTab does multitask. The task switcher works similar to the one on the N900, but without the eye candy transitions (as of today).<br /><br /><b>Android Support</b><br /><br />The OS with the little green <s>trashcan</s> robot runs on the WeTab, too.<br />Support for Android can already be installed by brave people, but it's not officially out yet. Android 2.1 runs in a virtual machine and lets you use Android software. Since Google does not allow tablets to access the Android Market (with the exception of the Galaxy Tab, which is technically a tablet-sized phone and thus good for Google), the market in use is the Android Pit App Store.<br />There are quite a lot of apps available, but most stuff from the Android market not (yet). Currently Android runs rather slow (hopefully this will become better once it's officially released) and does not play videos yet. Also, many Android apps look weird when running on a large screen, because they're optimized for tiny phone displays.<br /><br /><b>A Geek's Delight</b><br /><br />The device can easily be opened to add more RAM. Some people are running it with 2 GiB of RAM.<br /><br />As of yesterday, a recovery USB image is available for restoring the device if you bricked it. Until yesterday, the brick had to be sent to the Medion support company for restoring, but this is no longer necessary, thanks to the recovery image.<br /><br />People have installed Windows 7 (which runs very well according to those who run it), and Ubuntu or MeeGo netbook. It's kinda hard to boot a different OS, because this is not supported, but Linux geeks find a way. Booting from an attached USB device is locked at EFI level by Asus/Pegatron, but there are ways around.<br /><br />The root shell gives you full access to the underlying MeeGo core. What else do you need? :)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GrwhB3fzGXM/TMx3I20mKKI/AAAAAAAAAMo/8BCksIh9QJQ/s1600/20101030_005.jpg"><img style="cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_GrwhB3fzGXM/TMx3I20mKKI/AAAAAAAAAMo/8BCksIh9QJQ/s400/20101030_005.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5533929036170274978" /></a><br /><br />In the beginning the WeTab was a bit disappointing with the touchscreen problems and unfinished software. But with every update it becomes a bit better and I really like it very much now. The battery life time is still short with approx. 4 hours, but this should be fixed by software, soon. Since I have the WeTab every week is like Christmas with little new presents all the time.<br /><br />I was able to meet some people from 4tiitoo at the Community Conference yesterday, and it's really amazing how a small startup from Munich managed to bring out a MeeGo tablet with some great features before everybody else. Patience definitely payed off with the WeTab as 4tiitoo are fulfilling their promises. The future looks bright and MeeGo rocks! :D<br /><br />Currently the WeTab is only available in Germany at Amazon, MediaMarkt, Otto, Conrad, Cyberport, and Lufthansa Miles and More Shop. Hopefully it will launch internationally soon.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com10tag:blogger.com,1999:blog-8649245443206318981.post-38660197660371952622010-06-27T05:59:00.000-07:002010-06-27T09:22:50.856-07:00A New Version of MediaBox for N900, N800, and N810<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GrwhB3fzGXM/TCdLq1bs_UI/AAAAAAAAALc/5kBQScrByT8/s1600/Screenshot-20100627-145610.png"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 180px; height: 300px;" src="http://1.bp.blogspot.com/_GrwhB3fzGXM/TCdLq1bs_UI/AAAAAAAAALc/5kBQScrByT8/s320/Screenshot-20100627-145610.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5487437870244101442" /></a><br />There is now a new version 2010.06.26 of MediaBox Media Center available in extras-testing for N900 and extras for N800 and N810.<br /><br />It's somewhat a small premiere. :)<br />As far as I know, MediaBox is the first 3rd party media player on the N900 to support the Maemo MAFW framework for media playback.<br />MediaBox is also the first media player written in Python to use MAFW for playback. Of course <a href="https://garage.maemo.org/plugins/scmsvn/viewcvs.php/trunk/mediaplayer/MAFWBackend.py?root=mediabox&view=log">my code for using MAFW</a> is open for anyone to use in their Python programs.<br /><br />Using MAFW on the N900 has some benefits. For instance, audio will play in silent mode and doesn't stutter while locking the screen. And you are able to control the volume with the hardware keys while the screen is locked (this requires Maemo5 PR 1.2).<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GrwhB3fzGXM/TCdLiGje44I/AAAAAAAAALU/yab2EiZ3Gmk/s1600/Screenshot-20100627-145421.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 300px;" src="http://4.bp.blogspot.com/_GrwhB3fzGXM/TCdLiGje44I/AAAAAAAAALU/yab2EiZ3Gmk/s320/Screenshot-20100627-145421.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5487437720221311874" /></a><br />In case you prefer mplayer over MAFW, and have mplayer installed on your device, you can use it as media backend as well. Or just use plain GStreamer as before. The backend to use is configurable per media type.<br />On the N8x0, the available backends are OSSO Media Server (the predecessor of MAFW), mplayer, and GStreamer.<br /><br />How do you normally get music onto your device? Now you can browse your UPnP media shares and download whole folders with their media contents onto the device. YouTube videos can be copied to the device, too, and MediaBox manages all this with the new download manager component.<br /><br />There have also been made some (a lot) performance improvements in the new version, and the handy sleep timer from the 0.96.x series of MediaBox is back.<br /><br />Enjoy, and please don't forget <a href="http://maemo.org/packages/repository/qa/fremantle_extras-testing/">to vote for the package</a> if you're using it from extras-testing on the N900!Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com4tag:blogger.com,1999:blog-8649245443206318981.post-68943423335463050942010-01-31T05:21:00.001-08:002010-01-31T05:25:31.495-08:00FM Radio for the N800The Nokia N800, introduced in January 2007, was the first internet tablet from Nokia that featured a FM tuner chip (without RDS unfortunately).<br /><br />And now the popular FM Radio application from the N900 is coming to the N800 real soon! I'm currently working on N800 support in the application so that both devices will be sharing a common code-base.<br /><br />See FM Radio on the N800 in action:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GrwhB3fzGXM/S2WEETH4xYI/AAAAAAAAAKU/xAQErljRfsg/s1600-h/FMRadioN800.jpg"><img style="margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 241px;" src="http://1.bp.blogspot.com/_GrwhB3fzGXM/S2WEETH4xYI/AAAAAAAAAKU/xAQErljRfsg/s320/FMRadioN800.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5432893734880068994" /></a>Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com7tag:blogger.com,1999:blog-8649245443206318981.post-86812281759753830032010-01-05T15:25:00.000-08:002010-01-05T15:31:44.799-08:00Isn't the Maemo community awesome? :)First we get a <a href="http://maemo-freak.com/index.php/component/content/article/1342-mkmms-first-working-third-party-mms-application-now-available-">proof-of-concept for MMS</a>, and now we can <a href="http://talk.maemo.org/showthread.php?p=454841">send USSD codes</a>, such as *135# or *100# for checking your balance.<br /><br />It's still very early, but here's a screenshot of a working app.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GrwhB3fzGXM/S0PK-mrgkcI/AAAAAAAAAJE/Su-d2Qew0IM/s1600-h/Screenshot-20100106-002113.png"><img style="margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="http://4.bp.blogspot.com/_GrwhB3fzGXM/S0PK-mrgkcI/AAAAAAAAAJE/Su-d2Qew0IM/s320/Screenshot-20100106-002113.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5423401553167946178" /></a>Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com1tag:blogger.com,1999:blog-8649245443206318981.post-67417424737838886702010-01-03T09:14:00.000-08:002010-01-03T09:17:08.720-08:00MediaBox Media Center for N900If you have been waiting for MediaBox Media Center on the N900, then I have good news for you.<br /><br />MediaBox version 2010.01.03 is now going to extras-testing for some QA. In the meantime for you to watch, I have recorded some videos with the N900's awesome TV-out feature.<br /><br />Browsing UPnP shares with MediaBox is as easy as browsing the filesystem. In this video MediaBox is used for watching a movie over WiFi on the N900.<br /><br /><object width="340" height="285"><param name="movie" value="http://www.youtube.com/v/qIXpwFZxwHk&hl=de_DE&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/qIXpwFZxwHk&hl=de_DE&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"></embed></object><br /><br />A new feature of MediaBox is the shelf. It's the starting folder where you can always return with the press of a button. You can put shortcuts to almost anything on the shelf for quick access (songs, albums, artists, videos, photos, folders, internet radio stations, playlists, you name it).<br /><br /><object width="340" height="285"><param name="movie" value="http://www.youtube.com/v/etusNunBNRs&hl=de_DE&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/etusNunBNRs&hl=de_DE&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"></embed></object><br /><br />MediaBox has a finger-friendly way of reordering playlists. Simply drag the items with your finger.<br /><br /><object width="340" height="285"><param name="movie" value="http://www.youtube.com/v/TwGmSOH_hvI&hl=de_DE&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TwGmSOH_hvI&hl=de_DE&fs=1&rel=0&color1=0x2b405b&color2=0x6b8ab6&border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="340" height="285"></embed></object><br /><br />Oh yes, this video shows MediaBox in portrait mode.<br /><br />The upcoming MediaBox for Diablo for N8x0 will be quite similar to this version.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com12tag:blogger.com,1999:blog-8649245443206318981.post-63933701382296540032009-11-01T04:17:00.000-08:002009-11-01T04:25:44.396-08:00MediaBox finally supports UPnP MediaRenderer OutputThe Fremantle version of MediaBox Media Center is coming along nicely. The latest development version (2009.11.1) is now in extras-devel, so if you're brave enough to test out hot fresh unstable stuff directly from extras-devel, you're invited to give it a try (installing just MediaBox from extras-devel should be pretty safe).<br /><br />The big news with the latest development version is UPnP MediaRenderer support. If you have a compatible (<a href="http://gupnp.org/sources/gupnp-media-renderer/">GUPnP-Media-Renderer</a> has been tested to be compatible so far) UPnP MediaRenderer in your network, you can have MediaBox play on that renderer instead of your phone.<br /><br />If the MediaRenderer supports it, you can even play local files from your phone on it, not only stuff hosted on another UPnP/DLNA server.<br /><br />Eventually, this cool stuff will be available for N8x0 users, too, of course.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com6tag:blogger.com,1999:blog-8649245443206318981.post-41464604840548989442009-10-11T23:20:00.000-07:002009-10-11T23:24:46.864-07:00Update on the N900 FM RadioSuccess! We can receive FM radio on the N900 now.<br /><br />Controlling the FM radio in the N900 is tricky stuff. At first, the hardware is disabled for power saving reasons. Bluetooth has to be powered up, the I2C communication bus has to be powered up, and only then, the FM radio driver will actually load.<br /><br />I have created a package <b>n900-fmrx-enabler</b> for this task. The FMRX-Enabler is a D-Bus service that takes care about enabling the FM radio hardware on request and powering it down again when no application are using it.<br /><br />After the driver has been loaded by the FMRX-Enabler, the FM radio provides two interfaces for controlling. A classic Video4Linux2 interface featuring only the basic stuff such as setting the frequency and muting/unmuting it, and a sysfs interface where you can read and write into file-like objects to control the radio.<br /><br />Another tricky part is getting to hear sound from the radio. Unlike the N800, the FM radio doesn't output to the speakers directly. You have to capture the sound from the PGA line and play it back. A simple GStreamer pipeline such as<br /><pre>gst-launch pulsesrc ! pulsesink</pre><br />does the job, after enabling PGA line2 and PGA capturing in the mixer.<br /><br />I have uploaded an application package <b>fmradio</b> for the FM radio to extras-testing. Testers are encouraged to test this, too.<br /><br />One drawback with the FM radio is that due to constant capturing and replaying, the FM radio is kinda demanding on the battery. There's no safe way around that. The unsafe way around that can damage your speakers, so capturing/replaying is a must.<br /><br />I'm gonna put up some developer documentation for the FM radio stuff.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com12tag:blogger.com,1999:blog-8649245443206318981.post-19498115578855888552009-10-10T07:59:00.000-07:002009-10-10T08:22:56.033-07:00MediaBox on the N900The popular NIT media center <a href="http://maemo.org/downloads/product/OS2008/mediabox/">MediaBox</a> is coming to the N900. Thanks to lots of user feedback the UI has been further simplified and optmized and of course "fremantlized". :)<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/Screenshot-20091010-154543.png" style="float: left; margin-right: 2em;"/><img src="http://mediabox.garage.maemo.org/sshots/Screenshot-20091010-154820.png"/><br /><br /><img src="http://mediabox.garage.maemo.org/sshots/Screenshot-20091010-154954.png"/><br /><br />The upcoming release for the N900 will be the first version to provide suport for portrait and landscape orientations. Browsing your music feels great in portrait mode!<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/Screenshot-20091010-153928.png" style="float: left; margin-right: 2em;"/><img src="http://mediabox.garage.maemo.org/sshots/Screenshot-20091010-154407.png"/><br /><br /><img src="http://mediabox.garage.maemo.org/sshots/Screenshot-20091010-154320.png"/><br /><br />MediaBox will support playing FM radio on the N900 as well (the N900 device specs don't list the FM radio, but there is one, on the <a href="http://www.alldatasheet.com/datasheet-pdf/pdf/175092/BOARDCOM/BCM2048.html">Bluetooth chip</a>).<br /><br />Media indexing is now driven by tracker, the native indexer of the Fremantle OS. And if you don't like indexing you can of course browse the file system as before.<br /><br />When you start MediaBox you will see the dashboard. This is where you can access your playlists, browse the device and your UPnP/DLNA servers, and access your indexed music, videos, and pictures. You can even put shortcuts to your stuff onto the dashboard for quick access, e.g. songs or albums you like, or folders with photos. No matter how deep within folders and subfolders you are, the dashboard is only one finger-tap away.<br /><br />Another new feature is the folder history where you can see the folders where you recently were and go back.<br /><br />If you have <a href="http://tuomas.kulve.fi/blog/2009/10/04/ogg-support-in-fremantle-extras/">Tuomas Kulve's ogg-support</a> installed, you will also be able to play Ogg Vorbis and FLAC music.<br /><br />MediaBox still uses its own lightweight UPnP subsystem instead of gupnp that comes with Fremantle. My experience shows that the UPnP subsystem of MediaBox is still more compatible with the servers out there than gupnp is right now.<br /><br />MediaBox is currently in the extras-devel repository for Fremantle and it's marked as an incomplete beta version. I expect to upload the full release later this month, after which it moves on to the extras-testing repository for community Q&A. Then it should only be a matter of time until it will appear in the extras repository.<br />The beta version in extras-devel is now updated frequently.<br /><br />The new version will also be available for Diablo after the release for Fremantle. Portrait mode will be supported on Diablo, too, if you have rotation-support installed.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com5tag:blogger.com,1999:blog-8649245443206318981.post-33545975452170703352009-06-04T11:33:00.000-07:002009-06-04T11:58:03.099-07:00MediaBox Media Center 0.96.5 with New FeaturesAfter several weeks of development, I have now released version 0.96.5 of <a href="http://mediabox.garage.maemo.org">MediaBox Media Center.</a> Lots of user feedback helped shape the new version.<br /><br />Most notably the user interface looks a bit different now as it has been tidied up for a more consistent look & feel and much better performance with reduced memory footprint.<br /><br /><b>Quick Scrolling and Search</b><br /><br />The item lists have a thumbable scrollbar and a index letter display helps you find your way while quick scrolling.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/mediabox-search.png" alt="Finding stuff in long lists"><br /><br />While searching for an item with the onscreen-keyboard or a hardware-keyboard, you can skip to the previous and next search results by pressing up or down on the D-pad.<br /><br /><b>Falling Asleep and Waking Up with Music</b><br /><br />If you like to fall asleep with music or want to wake up with music, you will love the new sleep timer. Simply set the time when MediaBox should start or stop playing in the preferences viewer and select the media you want to have played. The sleep timer simulates PLAY and STOP actions so it can be used with virtually any media. For instance, you can have MediaBox wake you up with FM radio on the N800. With this feature, my N800 finally earned a steady place next to my bed.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/mediabox-zzz.png" alt="The new sleep timer"><br /><br /><b>Timed Karaoke Lyrics</b><br /><br />Do you like lyrics? MediaBox displays song lyrics in <a href="http://en.wikipedia.org/wiki/LRC_(file_format)">LRC format</a>. LRC lyrics files need to match the file name of the song file, e.g. "Song.mp3" and "Song.lrc".<br />LRC is a popular file format in China, and you can find lots <a href="http://www.qqlrc.com/">of</a> <a href="http://lrcdb.org/">lyrics</a> <a href="http://winamplyrics.hit.bg/">on</a> <a href="http://powerlrc.atspace.com/">various</a> <a href="http://www.51lrcgc.com/">lyrics</a> <a href="http://lrc.bzmtv.com/">servers.</a> Since LRC files are text files, you can also create them yourself.<br />I plan on making a LRC editor for MediaBox in the near future, too.<br /><br />As always, MediaBox is available for N800 and N810 in the maemo-extras repository.<br />Nokia 770 users can retrieve MediaBox from the SVN repository or manually pull the<br />deb packages from the <a href="http://repository.maemo.org/extras/pool/chinook/free/m/">Chinook maemo-extras repository server.</a><br /><br />A full list of what's new can be found in the <a href="http://mediabox.garage.maemo.org/data/release-notes">release notes.</a>Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com2tag:blogger.com,1999:blog-8649245443206318981.post-6851298812450568132009-05-19T13:06:00.000-07:002009-05-20T00:50:41.428-07:00Mer plays videos with MediaBox<img src="http://wiki.maemo.org/images/a/ad/Mer-logo.png"/><br /><br />Another milestone has been reached in the <a href="http://wiki.maemo.org/Mer">Mer project</a> on its way to eventually replace Maemo on the N8x0 devices. It will be possible to play videos with Mer 0.13. The current SVN version of <a href="http://mediabox.garage.maemo.org/">MediaBox</a> supports Mer and uses the libxine backend for video playback.<br /><br />After installing libxine and <a href="https://garage.maemo.org/scm/?group_id=355">MediaBox SVN version</a> on Mer, you will need to install the D-Bus-Xine service. D-Bus-Xine is a simple D-Bus service for embedding libxine in applications. It was originally written for enabling DVD playback<br />with MediaBox on PCs.<br /><br />A version compiled for Mer-ARMEL can be found <a href="https://garage.maemo.org/frs/download.php/6105/dbus-xine-mer.tar.gz">here</a>. If you want to compile D-Bus-Xine yourself, you can also download its <a href="https://garage.maemo.org/frs/download.php/6040/dbus-xine-0.1.tar.gz">source code</a>.<br /><br />I haven't built deb packages for D-Bus-Xine yet, so you'll have to manually extract the tarball in the root directory (/) on Mer.<br /><br />After having started MediaBox, you should enter its preferences view<br />and set the media backends to Xine for all filetypes that you want to be able play.<br />However, there is no sound support yet in Mer 0.13, so don't expect too much.<br /><br /><b>EDIT: see the comments for how to get sound</b>Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com10tag:blogger.com,1999:blog-8649245443206318981.post-15986044048714488442009-03-06T13:46:00.001-08:002009-03-06T13:48:14.574-08:00MediaBox Media Center 0.96.4 released<b>Hilights of the new <a href="http://mediabox.garage.maemo.org">MediaBox</a> release:</b><br /><br />The overall performance of the user interface has been improved again and the lists now feature transition effects and remember the position where you where standing in the parent folder when you go back. This is especially handy when browsing UPnP/DLNA servers.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/mediabox-video.png"><br /><br />The mplayer backend has been optimized and mplayer now plays videos generally a lot smoother than before. Playback of higher resolution videos (e.g. 640 x 480) is now also smoother by automatic downscaling.<br /><br />Media indexing has been improved and runs faster. And if you don't like indexing of ID tags, you can always browse the filesystem to play your media, of course.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/mediabox-browse-by-genre.png"><br /><br />Music can now also be browsed by genre, additional to browsing by artist, by album, and by folder.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/mediabox-display-light.png"><br /><br />MediaBox can now be told to keep the display lit while playing media. Stop playing, and the device may enter powersaving mode again.<br /><br />If you use the Nokia headset that came with the device, you can now use the headset button to pause/play and skip to the next or previous track. Do this by pushing the button once, twice, or three times, respectively. Do not press the button to quickly because the headset is bad at detecting consecutive actions, though. Half a second between clicks is just right.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com0tag:blogger.com,1999:blog-8649245443206318981.post-76494589091569370872009-01-22T09:13:00.000-08:002009-01-22T09:18:38.258-08:00Extending MediaBox: Creating a Simple Component<b>Note:</b> If you're reading this article in a feed aggregator like planet.maemo.org, it might be truncated. Please click the link to the original feed to read the full article.<br /><br />Get your text editor ready because this time I'm showing you the basics of plugin development for <a href="http://mediabox.garage.maemo.org">MediaBox</a>.<br /><br /><a href="http://pycage.blogspot.com/2009/01/extending-mediabox-component-system.html">Last time,</a> I have explained the component system of MediaBox. If you haven't read <a href="http://pycage.blogspot.com/2009/01/extending-mediabox-component-system.html">this article</a> yet, please do so as it will help you understand what's going on.<br />Now we're going to write a simple plugin that displays a short notification when the application has started.<br /><br />As I have told you before, a plugin is a directory with some components in it. MediaBox looks for the plugin directories in its <tt><b>components</b></tt> directory. So we put a new directory in there with two empty files <tt><b>__init__.py</b></tt> and <tt><b>StartupNotifier.py</b></tt> in it:<br /><pre><br /> mediabox<br /> |<br /> +-- components<br /> |<br /> +-- my_first_plugin<br /> |<br /> +-- __init__.py<br /> |<br /> +-- StartupNotifier.py<br /></pre><br />Every plugin needs the <tt><b>__init__.py</b></tt> file. This is the place where components are loaded and messages are defined. In this example, we will only load our StartupNotifier component, though.<br /><br />Put the following code into <tt><b>__init__.py</b></tt>:<br /><pre><br /> def get_classes():<br /> <br /> from StartupNotifier import StartupNotifier<br /> return [StartupNotifier]<br /></pre><br />The function <tt><b>get_classes</b></tt> is called by MediaBox to load the components. This function must return a list of the classes (not instantiated objects) of your components.<br /><br />Now we are going to fill <tt><b>StartupNotifier.py</b></tt> with life. It is a simple component, so we derive StartupNotifier from the <tt><b>Component</b></tt> baseclass:<br /><pre><br /> from com import Component, msgs<br /> <br /> class StartupNotifier(Component):<br /> <br /> def __init__(self):<br /> <br /> Component.__init__(self)<br /><br /><br /> def handle_message(self, msg, *args):<br /> <br /> if (msg == msgs.CORE_EV_APP_STARTED):<br /> self.call_service(msgs.NOTIFY_SVC_SHOW_INFO,<br /> "Application Startup Complete")<br /></pre><br />That's all. This simple form of a component is called a <b>mediator</b> component, because it just listens for and emits messages. When a component wants to listen to the message bus, it simply overrides the method <tt><b>handle_message</b></tt> and checks for the message types it's interested in. The <tt><b>call_service</b></tt> method on the other hand sends a service call to the message bus.<br /><br />When you now start MediaBox, you will be greeted by your new plugin.<br /><br />Next time will be a bit more theoretical again. Then I'll talk about the different types of components and what they do in MediaBox.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com3tag:blogger.com,1999:blog-8649245443206318981.post-44569653309574127362009-01-17T01:42:00.000-08:002009-01-17T01:46:47.092-08:00Extending MediaBox: The Component System ExplainedI am going to write a bit about extending <a href="http://mediabox.garage.maemo.org">MediaBox</a> with new plugins. Let's start with the basics of the component system first. I will show you some code examples in a later article.<br /><br />Since version 0.96 MediaBox uses a component system for extensions. It is essential to understand this system when implementing plugins.<br /><br />Components in MediaBox are independent objects connected to a message bus, where they can send messages or listen to messages from other components. Every component gets connected to the bus automatically when created. You don't have to take care about this step.<br /><br />A plugin is a collection of one or more components grouped into a directory. The YouTube plugin, for instance, consists of a YouTube device component and a component for the preferences dialog.<br /><br />Plugins can also add new messages to the vocabulary of messages that can be sent across the message bus.<br /><br />Here's a little ASCII-art to summarize this all.<br /><pre><br /> consist of connect to<br /> Plugins -------------> Components ---------------> Message Bus<br /> | | | |<br /> | emit | | listen for |<br /> | | | |<br /> | | | |<br /> | define v v transports |<br /> +------------------> Messages <----------------------+<br /></pre><br /><br />Let's take a closer look at the message stuff now.<br />As explained above, the vocabulary of messages that can be sent across the message bus is defined by the plugins. Most of the messages are defined by the "core" plugin (which is not really a plugin but contains many of the core components of MediaBox).<br /><br />Some messages are of type <b>event</b>. They are used to notify other components about something that has just happened, e.g. that a new UPnP device has been discovered.<br />Some messages are of type <b>action</b>. They are used by components to trigger actions in other components.<br />There are also messages of type <b>service call</b>. While events and messages may be handled by any component that listents for these messages, a service call is only sent to one component and not visible to others. The message bus remembers which component can handle a particular service call and will route all subsequent calls for the same service to the same component again.<br /><br />To sum it up with ASCII-art:<br /><pre><br /> +------> Event<br /> is either of type |<br /> Message -------------------+------> Action<br /> |<br /> +------> Service Call<br /></pre><br /><br />When a plugin defines a new message, it has to give it a name. The name is all uppercase and consists of a domain name, the message type, and some descriptive name.<br />The domain name helps to avoid name clashes of messages defined by different plugins. It should be the name of your plugin.<br />The message type tells programmers about the type of message. It is one of <b>EV</b> for events, <b>ACT</b> for actions, and <b>SVC</b> for service calls.<br /><br />These are some examples of actual messages defined by components belonging to MediaBox:<br /><ul><br /> <li><tt>CORE_EV_APP_IDLE_BEGIN</tt> (event: MediaBox is announcing to go idle in order to save battery)</li><br /> <li><tt>CORE_EV_APP_IDLE_END</tt> (event: MediaBox is announcing to wake up from idle state)</li><br /> <li><tt>NOTIFY_SVC_SHOW_MESSAGE</tt> (service call: show a short message)</li><br /> <li><tt>HWKEY_EV_UP</tt> (event: user pressed up on the d-pad)</li><br /> <li><tt>HWKEY_EV_DOWN</tt> (event: user pressed down on the d-pad)</li><br /> <li><tt>HWKEY_EV_LEFT</tt> (event: user pressed left on the d-pad)</li><br /> <li><tt>HWKEY_EV_RIGHT</tt> (event: user pressed right on the d-pad)</li><br /> <li><tt>UI_ACT_SELECT_VIEWER</tt> (action: select a viewer)</li><br /></ul><br />Some messages take parameters. <tt>NOTIFY_SVC_SHOW_MESSAGE</tt>, for instance, takes as parameter the text of the message to show. Some service calls even have a return value.<br /><br />These are the basics of the component system. Next time I will show you how components are integrated in MediaBox, and how to create a simple plugin.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com0tag:blogger.com,1999:blog-8649245443206318981.post-78199245616924107542009-01-10T06:43:00.000-08:002009-01-10T06:49:11.925-08:00Making Themes for MediaBoxToday I'm showing you how to make new themes for <a href="http://mediabox.garage.maemo.org">MediaBox</a>.<br /><br />Every theme is a subdirectory in <tt>/usr/lib/mediabox/theme</tt> or in <tt>~/.mediabox/themes</tt> (MediaBox 0.96.2 or higher).<br />You can test your themes in <tt>~/.mediabox/themes</tt> and when distributing the theme as an installer package, it will install into <tt>/usr/lib/mediabox/theme</tt>.<br /><br />There are a two files that are absolutely necessary for a theme to work, and every theme must include them.<br /><br />The one is <tt><b>PREVIEW.png</b></tt>, which is a PNG image of size <b>112 x 67 pixels</b>, showing a preview image of your theme. This is the icon that the users will see in the theme selector.<br /><br />The other file that is necessary is a simple text file called <tt><b>info</b></tt>. This file describes the theme and looks like this:<br /><pre>name: MyTheme<br />description: My example theme for MediaBox<br />author: Your Name</pre><br /><br /><img src="http://mediabox.garage.maemo.org/sshots/mytheme.png"><br /><br />Of course, with only these two files, your theme will be pretty empty. Actually, MediaBox will load everything that it doesn't find in the current theme from the <b>default</b> theme. Thus, every theme inherits from <b>default</b>.<br /><br />When you look into the directory of the <b>default</b> theme (<tt>/usr/lib/mediabox/theme/default</tt>), you will see a lot of images in PNG format. These are the theme elements. Your theme can override any of these images by providing a PNG image of the same name and the same size. I have to stress that it is <b>absolutely necessary</b> that the theme elements provided by your theme are exactly the same size as the ones in the <b>default</b> theme! For instance, the element <b>mb_panel.png</b> is of size 64 x 64 pixels. If your theme provides <b>mb_panel.png</b>, it must be of size 64 x 64 pixels, too.<br /><br />A theme can have a bunch of .def files, which are text files containing font and color definitions. The name and number of the .def files is not important. Below are example entries of a .def file:<br /><pre>#<br /># Virtual Keyboard<br />#<br />color_mb_vkb_background: #000000<br />color_mb_vkb_text: #dddddd<br />font_mb_vkb: Nokia Sans Cn bold 20</pre><br /><br />Empty lines and lines starting with a <b>#</b> symbol are ignored by MediaBox and can be used for adding comments and making the file better readable.<br />The other lines contain key-value pairs, where key and value are separated by a <b>:</b> symbol. If the key name starts with <b>color_</b>, then MediaBox treats it as a color definition. If the key name starts with <b>font_</b>, then MediaBox treats it as a font definition.<br /><br />Color values are given in hexadecimal RGB (6 digits) or RGBA (8 digits) notation, prepended by a <b>#</b> symbol. Most color keys take RGB values only.<br /><br />Font definitions are given in Pango syntax, containing the font name, optionally a style (<b>bold</b> or <b>italic</b>), and the font size in points. Although the Nokia internet tablets have a screen resolution of 225 dpi, the system renders fonts with 96 dpi.<br /><br />Any keys defined in the .def files of the <b>default</b> theme can be overriden by your theme in .def files.<br /><br />Once your theme is ready, you may want to distribute it as a installer package for the application manager. I have created a <a href="http://mediabox.garage.maemo.org/data/mediabox-extension-builder-0.1.tar.gz">build script</a> for this task. If you have upload permission for the maemo-extras repository, you can then upload your theme with the <a href="https://garage.maemo.org/extras-assistant/index.php">Maemo Extras Assistant web site</a> and promote it to the extras repository, so that other users can enjoy it, too.<br /><br />Theme packages always depend on <b>mediabox-compat-theme</b> with a certain version number. For MediaBox 0.96 and some following releases, this version number will be <b>1.0</b>. So as long as MediaBox provides <b>mediabox-compat-theme, version 1.0</b>, your theme will remain compatible. At a later point some minor changes or extensions to your theme may be necessary to fully restore compatibility again.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com0tag:blogger.com,1999:blog-8649245443206318981.post-48650256447573988522008-12-28T06:23:00.000-08:002008-12-28T06:28:13.883-08:00A New Version of MediaBox Media CenterFinally, after several months of work I have now released <a href="http://mediabox.garage.maemo.org">MediaBox</a> 0.96, which was really overdue... ;)<br /><br />A lot of people were very helpful and regularly tried out the code fresh from SVN during the last few months and provided lots of feedback. Thanks to you all!<br />Special thanks also go to Hugo Baldasano for his work on asynchronous networking and for good help with UPnP event handling!<br /><br />The long wait is now over and MediaBox 0.96 is available in the maemo-extras repository for Chinook and Diablo. The .deb packages for users of OS 2006 (yes, that's Nokia 770) and OS 2007 will be made available soon on the <a href="http://mediabox.garage.maemo.org">MediaBox homepage.</a><br /><br /><b>UPnP Streaming</b><br /><br /><img src="http://mediabox.garage.maemo.org/sshots/upnp.png"><br /><br />UPnP/DLNA is a great technology for streaming music, videos, and photos to your<br />tablet. Simply put an UPnP media server in your home network and MediaBox<br />will discover it automatically for browsing and streaming its contents.<br /><br /><b>Playlists and media bookmarks</b><br /><br />Playlists can be created and edited and are saved automatically. You can reorder the items at any time, and you can mix audio, videos, and images in a playlist.<br /><br />You can now also set media bookmarks in any (seekable) file to mark the best spots and to find the place where you stopped listening to your audio book or podcast the last time. Simply click on the star-button to set a media bookmark for the current position.<br /><br /><b>Shuffle and Repeat</b><br /><br />I don't think I need to say much about these features anymore, except that MediaBox can do it now, too.<br /><br /><b>Car-Mode</b><br /><br /><img src="http://mediabox.garage.maemo.org/sshots/songinfo.png"><br />Car-mode is what I call the fullscreen mode of the music player because it's very handy to use while driving a car. Big buttons for previous, next, and play/pause, along with big cover-art and a big title label make MediaBox perfect for this situation. I use this mode frequently with a shuffled playlist when driving.<br /><br /><b>Themes</b><br /><br /><img src="http://mediabox.garage.maemo.org/sshots/themes.png"><br /><br />It seems like every media center these days needs to be themable. MediaBox follows this fad so you can give it a new skin by downloading themes from the maemo-extras repository.<br />The first extra theme available is called "DarkBox", and hopefully others and betters will follow. I'm going to give more details on theming and building theme packages later. It's really easy, so get your <a href="http://www.gimp.org">GIMP</a> or Photoshop ready! :)<br /><br /><b>Plugins</b><br /><br /><img src="http://mediabox.garage.maemo.org/sshots/plugins.png"><br /><br />MediaBox can be extended with plugins, and I'm going to cover plugin development later. Some plugins are already available for download:<br /><ul><br /><li>a FM radio (for the N800),</li><br /><li>a YouTube browser</li><br /><li>and internet radio with SHOUTcast directory.</li><br /></ul>Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com3tag:blogger.com,1999:blog-8649245443206318981.post-51721147978093268842008-08-18T23:03:00.000-07:002008-08-18T23:17:57.322-07:00Bluetooth-PAN fixed for DiabloYesterday I uploaded version 1.0.1 of <a href="http://garage.maemo.org/projects/maemo-pan">maemo-pan</a> to the Diablo extras repository. This new version finally fixes Bluetooth-PAN on Diablo.<br /><img align="right" src="http://maemo-pan.garage.maemo.org/img/maemo-pan.jpg"><br />Nokia recently uploaded a fix for handling DUMMY network connections in Diablo, which is needed for getting Bluetooth-PAN integrated into the connection dialog. If you install maemo-pan 1.0.1, the dummy-network package from Nokia will be installed as a dependency automatically.<br /><br />Nokia's networking fix uses a hardcoded name for dummy connections, so you'll have to connect to "Dummy network" instead of "Bluetooth-PAN" (as it was on Chinook).<br /><br />Apart from fixing the networking issue on Diablo, maemo-pan 1.0.1 is the same as maemo-pan 1.0. New features will be added in a later release.<br /><br /><b>maemo-pan 1.0.1 is only interesting to Diablo users. If you're running Chinook, maemo-pan 1.0 is fine. There is no version 1.0.1 in the Chinook extras repository because of that.</b>Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com10tag:blogger.com,1999:blog-8649245443206318981.post-59904254892755545822008-06-12T07:32:00.000-07:002008-06-12T09:21:29.505-07:00Tablet Python #4 - Sources of Memory LeaksMarius Gedminas blogged an <a href="http://mg.pov.lt/blog/hunting-python-memleaks">interesting article</a> about memory leaks in Python. On the tablet you don't have much memory available, so memory leaks will annoy the users very quickly.<br /><br />Python is a garbage-collected language (like Java or C#), so memory leaking is normally not an issue, but there are situations where you should be careful.<br /><br /><b>Bindings to C libraries</b><br /><br />Many modules are bindings to C or C++ libraries, and memory leaking is unfortunately quite common in those languages, esp. in complex libraries. A hot candidate for memory leaking on the maemo platform are the GdkPixbuf operations.<br /><br /><i>GdkPixbufs get not automatically garbage collected by Python. Always use <tt>del</tt> on a GdkPixbuf explicitly when you don't need it any longer.</i><br /><br /><br /><b>The __del__ destructor method</b><br /><br />Classes can have some sort of destructor method in Python.<br /><pre><br /> def __del__(self):<br /> <br /> ...<br /></pre> <br />This is called when you use <tt>del</tt> on the last reference you are holding. But be very careful! Classes overriding this destructor method are not eligible for breaking reference cycles by the garbage collector anymore! They have to be released manually. It's normally not necessary to override the <tt>__del__</tt> method, so you better stay away from it.<br /><br /><i>Always take special care when dealing with classes overriding the <tt>__del__</tt> method. Cyclic references involving such classes cannot be resolved by the garbage collector automatically.</i>Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com0tag:blogger.com,1999:blog-8649245443206318981.post-61082984994249976692008-05-09T12:06:00.000-07:002008-05-09T12:15:03.431-07:00MediaBox 0.95 releasedThe new version 0.95 of the <a href="http://mediabox.garage.maemo.org">MediaBox Media Center</a> is finally available. Thanks to all users who reported bugs and made suggestions for new features. Thanks to lot of feedback, many things have improved since the last release.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/playlist.png"><br /><br />With the new MediaBox you can finally compose playlists and rearrange them on the fly. If your internet tablet has a keyboard connected, you can also search for tracks in long playlists or albums by just typing a few letters of the title.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/search.png"><br /><br />The new version has an improved easy and finger-friendly user interface and reduces memory consumption, especially when dealing with large collections of media.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/menu.png"><br /><br />You can view the release notes at <a href="http://mediabox.garage.maemo.org/data/release-notes">http://mediabox.garage.maemo.org/data/release-notes.</a><br /><br />MediaBox 0.95 is available in the Maemo Extras repository. Click the arrow below for quick install.<br /><br /><a href="http://mediabox.garage.maemo.org/data/mediabox.install"><img src="http://mediabox.garage.maemo.org/images/install.png" border="0"></a><br /><br />Have fun!Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com1tag:blogger.com,1999:blog-8649245443206318981.post-73122485107982873122008-05-02T13:10:00.000-07:002008-05-02T13:15:22.433-07:00MediaBox Walkthrough: Search as You TypeToday I'm showing you another new feature of the upcoming version 0.95 of the MediaBox Media Center. Search-as-You-Type works on any internet tablet with a keyboard, either built-in or connected via Bluetooth or USB.<br /><br /><b>Find a track</b><br />If you have many tracks in an album or the playlist and want to quickly scroll to a particular track, just type some letters from its title.<br /><br />While typing, MediaBox searches your tracks for a match and scrolls the list to bring the track into view. You can see your search term displayed in the title bar while typing.<br /><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/search.png"><br /><br />You don't have to type the full title as it's sufficient to type just a few subsequent letters from anywhere in the title.<br /><br /><b>Make a new search</b><br />The search text field clears automatically after a few seconds.<br /><br />In order to make a new search, wait for the search text to disappear in the title bar, and enter your new search term.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com3tag:blogger.com,1999:blog-8649245443206318981.post-85714524382209621982008-05-01T09:07:00.000-07:002008-05-01T09:27:26.392-07:00Mediabox Walkthrough: Playlist EditingIn a few days the new version 0.95 of the MediaBox Media Center will be released for the Nokia internet tablets. Let me introduce a few of the new features until then. Today I'm showing you a bit about the new playlist feature.<br /><br /><b>Enter the music viewer</b><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/menu.png" align="right"><br />You can edit the playlist in the music viewer. To get there, press on the tiny arrow button in the bottom left corner once.<br /><br />The screen will slide up to reveal the viewer menu where you can switch between the different viewers of MediaBox.<br /><br />Tap on the music viewer icon to select it. You're in the music viewer now.<br /><br /><b>Choose an album</b><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/albums.png" align="left"><br />On the left-hand side of the screen you can see a strip of images representing your album folders which MediaBox has found on your device.<br /><br />You can drag the strip with your thumb to scroll through it.<br /><br />When you've found the album you're looking for, press on the little arrow button on the album image to open it.<br /><br /><b>Add tracks to the playlist</b><br />After opening an album, you can see all its tracks on the screen. Again, you can use your thumb to scroll through this list.<br /><br />The top item of this list represents the album itself and shows you the album cover (if available) and the number of tracks in the album. The other items represent the tracks in the album.<br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/item-menu.png" align="right"><br />On each track there is a menu button to the right. Tap on it to reveal the track menu, where you can choose between <b>[play]</b> and <b>[add to playlist]</b>. The album item does not (yet) have a menu button. Instead it has the <b>[add to playlist]</b> button there.<br /><br />That way you can either add particular tracks or complete albums at once to the playlist.<br /><br /><b>Switch to the playlist view</b><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/playlist-button.png" align="right"><br />There is a button in the toolbar where you can switch between album view and playlist view. Press it once to get to the playlist view.<br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/playlist.png"><br />The playlist view shows all your playlist items in a list. Use your thumb to scroll through this list.<br /><br />The album cover on the left side of each playlist item shows you where this particular track comes from.<br /><br /><b>Play or remove tracks</b><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/playlist-menu.png" align="right"><br />Each playlist item has a menu item on the right-hand side.<br />Press it once to reveal the item menu, where you will find buttons for <b>[play]</b>, <b>[remove from playlist]</b>, <b>[remove succeeding]</b>, and <b>[remove preceeding]</b>.<br /><br />The <b>[remove succeeding]</b> and <b>[remove preceeding]</b> buttons are special because they do not only remove the selected item, but also all items preceeding or succeeding it.<br />That way you can quickly clean up large portions of the playlist.<br /><br /><b>Reorder the playlist</b><br /><img src="http://mediabox.garage.maemo.org/sshots/walkthrough/playlist-drag.png" align="left"><br />You can use your thumb to drag playlist items in order to reorder them.<br /><br />Use the tiny dragging area at the left of an item to drag it around.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com0tag:blogger.com,1999:blog-8649245443206318981.post-28132094036823306472008-03-26T02:14:00.000-07:002008-03-26T02:21:24.925-07:00Laptop, External Monitor, and xrandr to the RescueI have just upgraded to Ubuntu Gutsy (I know I'm very very late) on my laptop. The installation went fine but when I connected an external monitor with a higher resolution than my laptop has, gdm and GNOME were not able to detect this, and instead displayed the picture in the upper left corner of the screen.<br /><br />This was especially funny with GNOME, because the desktop actually used the full resolution, and I could move windows over the whole screen. Only the panels were stuck in the middle of the screen.<br /><br />Apparently I'm not the only one with this problem, so let me tell you what I found out and how to fix this.<br /><br />Everything was fine with Ubuntu Feisty. When I connected an external monitor, the laptop screen switched off and the higher resolution was used. But now when I connect an external monitor, the laptop screen doesn't switch off automatically.<br /><br />Because the laptop screen is still on, the system now has two screens and GNOME will automatically adapt to the screen with the lower resolution.<br /><br />The moment I manually switched off the laptop screen with the tool <span style="font-weight:bold;">xrandr</span><br /><pre><br />$ xrandr --output LVDS --off<br /></pre><br />the GNOME panels jumped to their correct position. So let's investigate this <span style="font-weight:bold;">xrandr</span> a bit more.<br /><br /><span style="font-weight:bold;">xrandr</span> is a powerful tool for managing multiple video outputs, rotating the screen, and setting up multihead displays.<br /><br />You can get a list of what the graphics driver thinks it has connected by invoking<br /><pre><br />$ xrandr -q<br /></pre> <br />This will give you something like this:<br /><pre><br />Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 1680 x 1200<br />VGA-0 connected 1680x1050+0+0 (normal left inverted right) 433mm x 271mm<br /> 1680x1050 60.0*+ 60.0 <br /> 1280x1024 75.0 59.9 <br /> 1440x900 75.0 59.9 <br /> 1280x960 59.9 <br /> 1152x864 74.8 <br /> 1280x720 59.9 <br /> 1024x768 75.1 60.0 <br /> 800x600 75.0 60.3 <br /> 640x480 75.0 60.0 <br /> 720x400 70.1 <br />LVDS connected (normal left inverted right)<br /> 1024x768 60.0 + 60.0 <br /> 800x600 60.3 <br /> 640x480 59.9 <br />S-video disconnected (normal left inverted right)<br /></pre><br />The interesting entries are <span style="font-weight:bold;">LVDS</span> (the laptop screen) and <span style="font-weight:bold;">VGA-0</span> (the external monitor). Both are connected. <span style="font-weight:bold;">VGA-0</span> might be called <span style="font-weight:bold;">VGA</span> or similar on your system, as this name is driver-dependent.<br /><br />If I wanted to check if an external monitor was connected, I'd just run<br /><pre><br />$ xrandr -q | grep "^VGA.* connected"<br /> <br />VGA-0 connected 1280x1024+0+0 (normal left inverted right) 338mm x 270mm<br /></pre> <br />I want the system to switch off the laptop screen whenever an external monitor is connected, so that GNOME will use the higher resolution. This easily can be done by adding the following lines to <tt>/etc/gdm/Init/Default</tt> just before the<br /><pre><br />exit 0<br /></pre> <br />line:<br /><pre><br />xrandr -q | grep "^VGA.* connected" >/dev/null<br />RC=$?<br />if [ $RC = 0 ]; then<br /> xrandr --output LVDS --off<br />fi<br /></pre><br />It will also make gdm use the full resolution.Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com3tag:blogger.com,1999:blog-8649245443206318981.post-78819228831142586182008-02-26T13:56:00.000-08:002008-02-26T14:08:09.170-08:00"Native" PAN support for maemo<img src="http://maemo-pan.garage.maemo.org/img/maemo-pan.jpg" alt="maemo in a PAN" align="right"><br />The waiting is finally over. There is now support for phone-tethering via the PAN Bluetooth profile, which is so popular on Windows Mobile smartphones.<br /><br />By "native" I mean that it's quite well built into the system and does not appear as a separate application. And you no longer need a command line or root access for making PAN connections.<br /><br />After you have installed the <a href="http://garage.maemo.org/projects/maemo-pan">maemo-pan add-on</a> (sorry, only OS 2008 supported so far), you can get online with just a few simple steps:<br /><ul><li>Go to the system preferences and add your phone in the phone settings. Do not enter the wizard for configuring the dialup settings. PAN does not use them.</li><br /><li>Start internet sharing on your phone. It depends on your phone how and where to do this. On Windows Mobile 5, open the Start menu and select "internet connection sharing" from there.</li><br /><li>Make sure that Bluetooth is enabled on your internet tablet. Now open the connection dialog and you will see that there is a new connection called "Bluetooth-PAN". Select it and you will be connected to the internet via PAN.</li><br /><li>When you're finished, just close the connection the usual way. Wasn't this easy? :)</li></ul><br />Thanks go to aleksandyr for figuring out stuff and to Frantisek Dufka for writing the initial PAN connection shell script for OS 2008. Without you guys maemo-pan wouldn't have happened!Martin Grimmehttp://www.blogger.com/profile/05731836850583838971noreply@blogger.com12