Mittwoch, 23. Dezember 2009

gPodder "after 2.1" Maemo 5 UI Changes (#maebar)

Quick note about the stable version: Thanks to the hard-working testers, gPodder 2.1 has received its necessary karma points in Extras-Testing before the quarantime time is up, so we are just waiting for some more days to pass before gPodder 2.1 will finally enter the Extras repository.

In the mean time, there have been some important developments in the Git repository, mostly based on ideas from the Barcelona Long Weekend - thanks to all the people who provided valuable input, especially Tuomas (tigert) for all the hard work. I have created a new set on Flickr with some screenshots of the current development version:

The new UI is not set in stone, and still has some rough edges, so I'd like to receive some feedback on what can be improved.

If you want to test the development version interactively, use Git to checkout git:// on your device, and then run bin/gpodder --fremantle --verbose inside the checkout to start the development version in debugging mode. Make sure to have the current version of gPodder installed to drag in the required dependencies (alternatively, install the dependencies by hand). As with all development versions, if it breaks (or messes with your downloads/subscriptions), you got to keep the pieces.

Thanks in advance for the feedback :)

Dienstag, 8. Dezember 2009

Charging a BL-5J (N900) battery in the N810

There are several reasons why you would like to charge your N900 battery in a N810. Maybe you have a spare battery that you want to charge while using the other battery in your N900, or maybe your N900 refuses to charge the battery by itself. Please note that even though it works for me, the standard disclaimer applies - it's all your fault if this destroys your devices and/or batteries :)

Now, let's have a look at the pinouts and connectors of both batteries:

So, the connectors seem to have the same size, even though the batteries do not. Trying to put the N900 battery into the N810 is not straightforward, as there is a white piece of plastic that prevents the battery from getting close to the connectors. The solution is to simply use the N810 stylus as a lever to push the battery towards the connectors:

After the stylus and battery are fixed, simply connect the N810 to the power adapter, and it should start charging. Thanks to Quim for this helpful hint :)

Samstag, 28. November 2009

Experimental Maemo 5 UI: Alternative Portrait Mode

The usual way to do rotation to portrait mode in Maemo 5 is to set special flags on a window and let the window manager rotate our window and relayout after the switch. It's not as fast as it could be, and task switching (even between two portrait mode apps) is only possible by switching to landscape mode. Apart from that, things like the system menu don't work in portrait mode.

For some applications, an alternative could be to stay in landscape mode and simply rotate widgets without the window manager even knowing...

It's probably best described in a short demo video of how a simple media player could look like (sorry for the sloppy video, forgot my digital camera, so the webcam had to act as a replacement) - have a look, and tell me what you think. (For comparison, have a look at the older Panucci rotation video that uses the "normal" way of going into and leaving portrait mode.)

Dienstag, 24. November 2009

Experimental Maemo 5 UI: gPodder Episode Actions

With the Long Weekend just a little more than one week away, I though about doing some experiments with gPodder's UI. Some users want a quicker way to play/download/delete episodes instead of opening the shownotes window and using its application menu. Here's one approach I tried out today (I know the icons are pixellated and ugly - please consider them as placeholders):

The idea is that you click on an episode, and instead of opening the shownotes view, you get this selection screen where you can choose to play/download/delete the episode or view the shownotes. Of course there have to be some fancy animations, because that's what all the cool kids do today. Just watch the video on YouTube and tell me what you think in the comments here (especially in terms of non-standard UI and annying animations - seriously ;).

In unrelated news, headphoned 1.4 for N800/N810 has been released and pushed to Maemo Extras with support for Panucci and MPlayer for all your "public transport situation" avoidance needs.

Freitag, 13. November 2009

Search-as-you-type in gPodder and a tag cloud

The uni semester is in full swing again, so development has slowed down a bit again compared to September. At least we are able to work on the webservice as a project in one of the courses (so expect some new development there soon). Anyway, here are some thing I've been working on recently:

gPodder has gained search-as-you-type filtering for both the podcast list and the episodes list. This allows you to make good use of the hardware keyboard, and text searches temporarily override the current view mode (e.g. only podcasts with unplayed epiosdes or hide deleted episodes), so you will always find the podcast or episode you are searching for (independent of the current view mode). This will obviously also be available for Maemo 4:

In non-gPodder news, I have been working on a tag cloud widget. It will allow developers to provide a set of tags and a weight for each one, and the tag cloud will display something like this:

The tags displayed act as buttons and can be used as an alternative to long lists of items (depending on the kind of data that is to be displayed and selected). This tag cloud might come in handy in a future project..

Mittwoch, 21. Oktober 2009

Panucci - Portrait mode Media Player for the N900

You probably know Panucci from your N8x0 where it allows you to playback, resume and bookmark audiobooks and podcasts. Some users seem to use it as a normal audio media player, too, although the primary design goal is to support resuming for long audio tracks.

Just today I asked on maemo-developers how to get GStreamer's playbin to work on Maemo 5 when several people (thanks, guys!) pointed out that playbin2 should be used.

After that, a new package was only some UI fixing and merging of the rotation code from gPodder away. While you are eagerly waiting for the autobuilder to put Panucci into Extras-Devel, here's a short video of it in action:

Please test Panucci when it finally appears in Extras-Testing and give some feedback! And thank you to all of you who were kind enough to take the time to review the new gPodder version - it has made its way into Extras today! :) Guess the next version should allow Panucci to be selected as audio player in the preferences dialog, then.. ;)

Important: Due to the way optification works, upgrading from older versions of might break the package (application does not load). To fix this, simply uninstall and re-install the package. Both Panucci and gPodder are affected by this if you have installed an older version.

Mittwoch, 14. Oktober 2009

New gPodder version with automatic downloading

Thanks for all your comments on talk.m.o, Flickr and bugs.m.o and directly at the Summit. The result is a shiny new release with improved UX and automatic feed updating/downloading.

The new version is currently in Extras-Devel (promoted to -Testing, waiting for someone to confirm the promotion). Please take the time to review the new release and rate/comment it on gPodder's page.

One thing that did not make it into this release: Direct play/download/delete buttons in the episode shownotes window. I'm thinking of just popping up a list of actions when a episode is clicked and make "display shownotes" one of these actions. What do you think?

Please report bugs, discuss and rate the package. See the complete set of screenshots on Flickr.

Samstag, 3. Oktober 2009

RSS Feed Handler 2.0

We have been talking about browser integration for all RSS-based apps before, and the initial standalone adaption of Canola's feedhandler (in canola-tuning) was nice, but it was written in Python and therefore startup time was not as fast as it could get (startup time is important for the feed handler, which usually only runs for some seconds, and to the user does not look as if it is a separate application, but rather a "feature" of the browser).

If you need the performance of applications written in C combined with the comfort of higher-level languages, use Vala :) That's what I have done, and feedparser 2.0 is the feedparser re-implemented in Vala.

Done so far: Reported a Vala D-Bus bug (thanks to Jürg Billeter for fixing this very quickly), registered a garage project, committed some source code, created a package (in Extras-Devel) and created a product page on Downloads.

As you can see, the UI still needs much love, but at least the infrastructure and feed handling is there for Diablo and Fremantle already, and some initial links to applications are there, too (shameless plug for gPodder, which has arrived in Fremantle Extras this week - yay!).

Plans for the next release:

  • Add a mechanism to register and display other RSS-based apps (the current list is hardcoded)
  • Contact authors of RSS readers and ask them to add feedhandler support to their apps
  • Add more web-based services (tell me the ones you would like to see)
  • Wait for Fremantle Widgets support in Vala (Philipp Zabel is working on this)
  • Fremantleize and Diabloize the UI
  • Integration with other browsers (Tear?)

Feel free to try out the "Feed Handler" from Extras-Devel and send some feedback.

Mittwoch, 23. September 2009

gPodder 2.0 for Maemo 5 is here

This release brings the Fremantle version up to the current upstream release (and all Fremantle-specific tweaks are now integrated upstream). gPodder 2.0 has been released last week, and the new package version includes all changes necessary to make gPodder look good on Maemo 5. Based on your feedback, the next version of gPodder will support Maemo 5 at the same day at the release for other environments (Linux, Maemo 4 and Windows).

Don't forget to send some feedback after you've tried it out:

Go get it from Extras-Devel and (hopefully soon) Extras-Testing! Be sure to read the upgrade instructions if you have used an earlier version of gPodder for Maemo 5 before, so you don't run into problems.

Some highlights of the new release compared to the old releases:

  • Automatic screen rotation (Portrait mode)
  • YouTube user channels (try for example NokiaConversations or Rocketboom)
  • Filters in the AppMenu (podcast/episode list)
  • Visiting URLs (should open in web browser)
  • Opening audio and video files (should open in media player)

Freitag, 18. September 2009

gPodder 2.0 for Diablo is here + Fremantle progress

A new version of gPodder (2.0; "Day of the Tentacle") was released a few days ago, and it has already landed in Extras for both Chinook and Diablo. I wrote about the Maemo 4 UI changes some weeks ago, and you can enjoy them all on your tablets right now.

Tuomas Kuosmanen (tigert) has suggested some UI improvements for the Fremantle version of gPodder, and I'm currently working on implementing those ideas. First of all, there's an all-new front page:

The podcast directory (which allows you to discover new podcasts) which looked ugly previously has also been "Fremantleized", and is very usable now:

I'm still thinking about the best way to implement indicators for new, downloaded and listened episodes, but at least the GtkPaned-based split view is gone now:

The episode list is also quite unspectacular, but you can use the AppMenu to unsubscribe from the podcast (splitting up the UI in so many views automatically makes the AppMenus not so filled - good move!).

You can find some more screenshots depicting the current status of the UI in this Flickr photoset, and expect a new release next week or so.

Mittwoch, 9. September 2009

gPodder on Maemo 4 gets a facelift

I finally got around to redesign parts of the dialogs in gPodder for Maemo 4, because some dialogs were still not really finger-friendly and usable. It's still a work-in-progress, but it looks really slick already and the whole UI is completely finger-friendly.

Let me show you some highlights (gPodder 0.17.0 is the current version available in Maemo Extras and "some old version" is from April 2008):

Pretty icons and slicker UI for the main window (compared to the same window in gPodder 0.17.0 and some old version).

The updated podcast directory dialog allows easy discovery of new content (compared to the same dialog in gPodder 0.17.0 and some old version).

The new episodes dialog shows more text and has finger-friendly rows (compared to the same dialog in gPodder 0.17.0 and some old version).

You will be able to filter the episode view and only show downloaded or unplayed episodes (a new feature!).

The complete set of screenshots can be found on Flickr.

Montag, 31. August 2009

Fullscreen and portrait modes for Panucci

Summer is always nice for travelling around, especially by train, which is quite cheap here in Austria, if you have the Sommerticket. Given that, I find myself having more time for listening to podcasts, and Panucci served me well so far.

Panucci, by the way, is a resuming podcast/audiobook player for Maemo.

There were just two annoyances until recently: First, there was no fullscreen support (yeah, a no-brainer, but it simply was not implemented..). Second, the UI looked ugly when the screen was rotated to portrait mode. And I wanted to play/pause the currently-playing podcast by touching the cover art. After a day of hacking, this is the result:

Nokia N810 running Panucci full-screen in landscape and portrait mode

You need Panucci 0.3-7 (which entered Maemo Extras today) and enable support for screen rotation on your tablet. After that you can listen to podcasts (and audiobooks/live concerts) and hold your tablet like this. If you only believe moving pictures, watch the live demo on YouTube.

As an added bonus, Panucci is now available for Fremantle, although I believe we have to wait for the PyMaemo guys to fix bug 5026 before supporting portrait mode there (if the instructions on this Wiki page are correct).

Dienstag, 11. August 2009

Multiplayer Tennix coming to your tablets soon

Last Tuesday, I have started working on adding network-based multiplayer support to Tennix (a free 2D tennis game for Linux, Mac OS X, Windows and Maemo). In addition to two players playing on one computer (which already worked a long time ago), we now support playing Tennix over the network on two tablets (obviously, playing a tablet-versus-PC game will also work).

Currently, this network play runs over UDP, so WiFi connectivity is needed when you want to play tablet-versus-tablet. I might be able to add Bluetooth support later on, but the BlueZ API seems way more complicated than SDL_net's API which I currently use. Let me correct myself here: There's no real documentation for the BlueZ C API that I could find.

A small library with a clean API that abstracts Bluetooth, WiFi and maybe some other connectivity options and provides an easy way to establish a transport between two hosts/tablets would surely help boost developer interest in creating multi-player games and cross-tablet applications.

A video demoing the controls on two tablets can be found on YouTube.

Sonntag, 9. August 2009

gPodder 0.17.0 for Maemo 4 and Fremantle progress

The podcast client gPodder has had its 0.17.0 release some days ago, and after some testing in Extras-Devel (thanks to Dan Ramos) we fixed some last bugs. Most notable changes are an improved feed update logic and UI wording fixes (thanks to timeless for reporting these). Now it's time to hit the street, so gPodder 0.17.0-2 should appear in Maemo Extras on your tablets running Chinook and Diablo today. Please report any problems you find. Still have not got gPodder? Go to the downloads page.

gPodder for Fremantle has also seen some fixes lately, related to changed (fixed?) API behaviour in the beta 2 SDK. Downloads are now stored in the user's $HOME, as this is the location where user-specific data goes on the new devices. Please test the latest version (0.16.1-8fremantleui) and report back if it's ready for Extras-Testing in your opinion.

For Fremantle, one thing that probably does not work yet (except if xdg-open is available and works) is starting the playback of files with the built-in media player. As this is not included in the SDK, testing it is impossible for me here. Future versions will probably use MAFW to create podcast playlists, which is now available in PyMaemo thanks to the PyMaemo team and Andrea Grandi. As soon as alternative media players (Panucci?) become available for Fremantle, these will be selectable for playing back episodes, soo.

Mittwoch, 29. Juli 2009

Emulating multi-touch using two tablets

Kaj Grönholm's post about multi-touch motivated me to implement my previous idea of using two tablets to emulate multi-touch input (which should allow for 2 "real" multi-touch cursors). So, I quickly hacked together a modified version of the SimpleSimulator from TUIO_CPP and loaded it on a N800 and a N810. The result works quite well: (link to the video)

Again, the multitouch version of NumptyPhysics uses two cursors for dragging and three cursors for deleting, which works nicely on a multitouch table. Oh, and if you crank up the volume on that video, you will hear the sounds that we have added to NumptyPhysics recently in order to give some audible feedback about the user actions. Stay tuned for more in a few days.

Mittwoch, 15. Juli 2009

gPodder: Waiting for the "final" Fremantle SDK

The summer season is finally here after a bunch of exams. Time to think about how to spend a part of my free time working on some open source projects that have been on the back-burner for some weeks now.

Since my last post, the thing about Qt has been announced, and the Fremantle SDK beta 2 has been published. Last time I tailored gPodder to run on Fremantle, everything worked in the SDK, but reportedly not on the devices - it's very difficult for developers to really test and develop for Fremantle with different versions in both the SDK and on the device (it works fine in the SDK!).

So, instead of spending time on the Fremantle version that might not be really worth it after all, I decided to improve the core of gPodder and make it work fast and reliable on both Desktop computers and N8x0 devices. When the final version of the SDK is released, I can always re-evaluate and get the code running in a few days, depending on how much has changed in comparison to the beta SDK.

Even though I'm not actively working on gPodder for Fremantle, keep reporting bugs so that I know what to start working on when I decide to continue development on it in case the first "stable" version of the SDK is released or a device is announced. Again, the time will be better spent working on improving gPodder for both the N800 and N810 until that happens.

Donnerstag, 18. Juni 2009

Efficient text input shortcuts on N800/N810

These "tricks" are scattered around the web, but I have not found a compact, to-the-point post with all the shortcuts that we can use on the on-screen (stylus) keyboard and with the hardware keyboard, so here it is:

N800/N810 on-screen stylus keyboard gestures

  • Space: Tap and move right
  • Enter: Tap and move down
  • Backspace: Tap and move left (keep the stylus on the touchscreen and move to the right, then left again, etc.. for multiple backspace keypresses)
  • Shift inversion: Tap the character you want shifted and move up (also works for the number block and its special characters)

N810 hardware keyboard shift+Fn alternatives

  • Shift single character: Press shift, release shift, then press character
  • Single "blue" character: Press Fn, release Fn, then press character
  • Shift lock: Press Shift twice (press shift once to leave the shift lock mode)
  • Fn lock/"Number mode": Press Fn twice (press Fn once to leave the Fn lock mode)

The Single "blue" character shortcut is helpful to enter special characters and numbers on the left side of the hardware keyboard with your left thumb only, as there is no Fn key on the right side of the keyboard.

Update: Timeless pointed out that these are well documented in the OS2008 "Help" application under "Text input methods" and then "Virtual keyboards" and "Integrated keyboard". The latter even includes another hint for entering accented letters and umlauts: Hold down Chr and press the letter key repeated until the desired accented letter appears. Even if you normally don't read the online manual, these two pages are worth reading.

Montag, 15. Juni 2009

gPodder Maemo 5 UI Preview

While we keep the Diablo packages of gPodder updated, and even improve the UI somewhat, it's also time to think about how to create a good podcatcher UI for the next iteration of Maemo. During the weekend, I've come up with some ideas on how it could look like. Some of the problems have already been fixed in the latest release, watch the video of the new UI here:

You can find a list of things that are already working and things where you could help on the gPodder Fremantle Roadmap, and don't forget to report any bugs you find (both in Diablo and Fremantle) to gPodder @ Maemo Bugs.

Freitag, 5. Juni 2009

Removing the Wikipedia sidebar in MicroB

I was looking for that for quite some time, and now I have found it: Removing the sidebar of Wikipedia to make better use of the tablet screen. If you have been using Greasemonkey before, you probably know that already. If not, here's a mini-HOWTO:

Are there any other good userscripts that you are using on your tablets?

Mittwoch, 27. Mai 2009

Multiplayer NumptyPhysics (on a MT table)

(Again, not really tablet-related, but multiplayer could be ported to tablets eventually. Feel free to skip :)

The multi-touch table version of Tim Edmonds' NumptyPhysics gained support for multi-player modes and multi-touch drawing, dragging and deleting in the last few weeks. You can watch the evaluation video here or below.

New features and play modes include:

  • Multi-player cooperative (single token and goal)
  • Multi-token single-goal versus game
  • Multi-token multi-goal versus game
  • Draw multiple strokes at the same time
  • Move drawn items with two-finger-drag
  • Delete drawn items with three-finger-tap

Lesson learned: You need to get the level design right.

Word count for "multi" in this post: 10.

Donnerstag, 7. Mai 2009

HOWTO: Stable Xephyr on Ubuntu 9.04 for Fremantle SDK

As stated in the Fremantle SDK Installation Notes, Xephyr on Ubuntu 9.04 crashes when clicking on a text field in the Fremantle Beta SDK. It also says that the Intrepid (Ubuntu 8.10) version works better. Here is how you can compile and install Intrepid's Xephyr version:

sudo apt-get build-dep xserver-xephyr
sudo apt-get install build-essential devscripts
dpkg-source -x xorg-server_1.5.2-2ubuntu3.dsc
cd xorg-server-1.5.2/
cd ..
sudo dpkg -i xserver-xephyr_1.5.2-2ubuntu3_i386.deb
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac &

Now you can start the Fremantle Beta SDK and run it without crashing all the time :) You can delete the rest of the .deb packages created - they are not needed for Xephyr. If you want to go back (well... "forward" really) to Jaunty's Xephyr package, you can simply use sudo aptitude install xserver-xephyr to upgrade it.

Dienstag, 28. April 2009

NumptyPhysics on a multi-touch table

(Not really tablet-related, but related to NumptyPhysics, which has been initially written for the tablets. Feel free to skip :)

The summer semester is in full swing, and we have been working on our HCI multi-touch seminar work for the last few weeks. We plan on extending Tim Edmonds' NumptyPhysics to work on multi-touch tables and adopt the UI accordingly to take advantage of multiple input cursors. We did a trial run on a real table last week:

The cude currently only emulates mouse events, but will allow real multi-touch input soon. We will release the code as soon as some bugs have been fixed and the code design got a bit more stable.

Freitag, 24. April 2009

Tennix 2009 for Maemo

The updated version of Tennix, the open source tennis game is now available in Maemo Extras for Chinook, Diablo and Fremantle (anyone with Fremantle hardware care to test if it works correctly? Thanks!). The 1.0 release has been announced to the public in February already, but I have only now had time to create a proper package for Maemo. It plays fine with stylus or the D-Pad.

Here is a gameplay video if you can't wait to download it onto your tablet.

Donnerstag, 16. April 2009

Repurpose your tablet's car mount

If you do not use your car that often, and have built/bought a car mount for your tablet, why not repurpose it and stick it up to your desk near the main monitor? Having Mauku running in it which lights up the display whenever someone posts updates surely is nice. Some other use cases are monitoring servers with an open X-Terminal or listening to some music/podcasts with the media player of choice.

I built mine by buying a gooseneck mount and screwing the included car mount onto it. This still allows me to use the mount in the car, too.

Montag, 9. März 2009

Skiing with Maemo Mapper and Google Earth

Last weekend, we were skiing for three days, and I took the N810 with me to do some GPS tracking. Back home, I wanted to visualize the route that we took, so I saved the track as .gpx file in Maemo Mapper, copied it over to my laptop and loaded it into Google Earth:

The result is quite impressive. Although there are some tracks missing, one can get the idea which slope we were going down most often. Sadly, Google Earth's satellite maps for this specific area do not show any snow, so the pictures look a bit weird. A nice use case for the tablets - thanks to Maemo Mapper!

gPodder 0.15.0 now in Maemo Extras

The latest release of gPodder, a podcast downloader for Maemo has been released today, and packages for it are already available in Maemo Extras for Chinook, Diablo and Fremantle Alpha (..but there is no Extras-Promoter for Fremantle yet?).

Highlights of this release:

  • Download resuming between sessions
  • Finger-friendly lists using libmokoui2
  • Friendly folder and file names for downloaded files
  • Finger gestures for the episode list

The finger gestures are very nice and can be used to show episode details or play back episodes. Enable the configuration option maemo_enable_gestures and then swipe left to display shownotes or swipe right over an episode to listen to it.

Get it from Maemo Extras.

Dienstag, 3. März 2009

Screenshots of gPodder in Fremantle Alpha SDK

As we all know, the Fremantle Alpha SDK has been released, and it features (at least parts of) the new UI. I downloaded the SDK and tried running gPodder inside it, and wanted to show you some pictures so you get an idea how an unmodified Maemo 4 UI looks on Fremantle:

Some other remarks: It seems that images have inverted color. I don't know if this is just a bug or if it's intended to be. Also, Xephyr sometimes crashes, which seems to be related to Clutter, although I do not really know ;) I expecially like how they managed to move the buttons of GTK Dialogs to the right side and stack them. This is a very good decision for the widescreen display, and it also means that one dialog in gPodder fits the screen nicely in Fremantle now that did not (and still does not - my fault ;) on Maemo 4.

See all screenshots at gPodder on Fremantle Alpha SDK on Flickr

Sonntag, 8. Februar 2009

Optimizing Tennix for Maemo

As I promised some weeks ago, here are the results of our take on optimizing a SDL game (Tennix) for the Maemo devices. All other platforms on which Tennix runs obviously also profit from these optimizations. The presentation with all the details is available here: Optimizing an open source game for mobile devices (PDF). I also have two videos for you: Tennix running on a tablet before and after the optimizations.

Conclusions: Do profile (using oprofile or gprof) your applications to find bottlenecks. Look at callgraphs (using graphviz) to determine function usage. Most of the time, small code changes result in big performance boosts. Some Maemo-specific hints for SDL development are available in Game development in the Maemo Wiki.

The optimized release of Tennix (0.7.0) is available in Maemo Extras already. Go get it! :)

Freitag, 6. Februar 2009

gPodder 0.14.1 in Maemo Extras

Packages for gPodder 0.14.1 (a podcast downloader for Maemo and Linux Desktops) are now available in Maemo Extras (Chinook at least.. the Diablo autobuilder is busy (broken?) at the moment). The UI experiments (mokoui2 finger scrolling) are not included in this release yet, but will be in a future release. 0.14.1 is a bugfix release, so it's recommended that you upgrade.

Montag, 2. Februar 2009

Quim Gil interviewed on FLOSS Weekly

For all of you who are subscribed to FLOSS Weekly with gPodder, you might have already noticed it: On Saturday, the long-awaited interview with Quim Gil from Nokia has been published. You can grab it from here as MP3 file directly or (even better ;) download gPodder from Maemo Extras and subscribe to FLOSS Weekly.

Dienstag, 13. Januar 2009

Optimizing the code of a SDL game

Maybe you have tried it already: Tennix has been available for Maemo for quite some time now. The current version still has room for improvement (performance-wise), and the gameplay part runs a bit slow. That's why our team uses it as an optimization target for a course at the uni until the end of January.

Two benefits: You get a playable, fast tennis game for your tablets, and we get a bit more proficient in writing more efficient code and making better use of the current hardware. This will obviously also benefit the Desktop version of Tennix, as both use the same codebase.

I hope to be able to draw some conclusions and give you an overview of what we were able to do in a few weeks. Until now, try out Tennix and get used to its (relatively slow) speed, so that you feel the improvements when the optimized release is out :)