So, for the first time, we are going to release Qt WebKit as a separate project. This does not mean that we will stop releasing it as part of Qt, but that if you are stuck on an older Qt 4.6 release, it is still possible to use a newer Qt WebKit. In the future this also allows us to release more often, independently of Qt.
The last half year we have been hard at work on enabling the use of Qt WebKit on mobile devices, while still supporting and maintaining our brilliant support of Desktop applications. Targeting mobile devices is an ongoing challenge due to other interaction modes, smaller screen sizes and less powerful processor.
We have been growing our teams and our responsibilities and it has been an interesting, if not tiring, half a year :-) Locally, we have been growing our Brazilian core team to 5 people, plus creating some new teams working on related projects. What a rush! :-) We now have teams in at least Norway, Finland, Brazil and Boston working directly on WebKit.
So what have our distributed teams been up to?
Well, Qt WebKit has always felt reasonable fast on the Desktop. Not top in the class, but working quite well. On mobile devices the story was very different; dog slow, barely usable! Lots of time has gone into improving that situation by doing profiling and hunting down performance bottlenecks. Improvements that also help the Desktop case. We are not done yet, but our upcoming QtWebKit 2.0 release is a major improvement. Combining QtWebKit 2.0 with the upcoming Qt 4.7, are you will even get a few extra optimizations for free.
Sometimes we had to make more drastic changes, such as using tiling for archiving good scrolling performance. Tiling basically means that you don't paint directly to the screen, but instead to surfaces (which then can actually benefit from hardware acceleration). When scrolling you then move/blit these tiles. The standard way of doing scrolling, is that you copy an area and move that area, but you always have to paint the new area visible. With tiling you normally update a few more row of tiles than those visible on the screen, so when moving you do not always need to repaint. Repainting can actually mostly be done when you are idle.
We also experimented with rendering the tiles in another process, so that scrolling would never be blocked by loading or painting, but with the downside than when there is no tile painted, a checkerboard pattern would be shown, very similarly to the iPhone. Getting this right is a lot of work and with the announcement of WebKit2, we decided to postpone it for now and later concentrate on WebKit2 instead, as that will bring similar benefits, a.o.
Tiling helps with the mobile interaction model, as it is quite fast to zoom. Zooming basically scaled the tiles and then re-renders, which can be done with a smooth animation. Unfortunately, just as on the iPhone, we cannot support fixed elements, so if page authors really need that, they will have to go for CSS3 Transformations which with accelerated compositing will be painted as another layer on top of the tiles.
Which brings me to the next feature: accelerated compositing. Some of the new CSS3 features such as animation and transformations were created with hardware acceleration in mind, for instance the CSS 3 transformation live in another coordinate system, and thus animating a transformation change does not change any DOM values such as for instance 'left'. The idea is that the elements being transformed are painted as a separate layer, composited on top of the normal web contents. On the iPhone, this is implemented using CoreAnimation, I believe, and is thus, tied to hardware support. For Qt, we implemented it on top of out Graphics View system, which means that even when the Graphics System is not being accelerated by hardware, we will archive better performance due to caching of the painted elements. Pretty cool stuff. Unfortunately, just as with tiling, it is only possible to take advantage of this new feature if you use the QGraphicsWebView and not the older brother, QWebView.
You can imagine that most web sites were written for a width a lot larger than what you find on most phones, so either you can show the page in its original size and you will have to scroll a lot, or you can zoom it out to fit within the width of the page. The latter makes it impossible to read the text, so instead of laying out to the size of the width, we have new API (actually originally introduced in Qt 4.6) that makes it possible to lay out the contents as it was having a different viewport. The iPhone and Android does the same, using a value between 800 and 1008 pixels (980 is always default on the iPhone, where as Android varies). Laying out with such a width makes the site's contents still readable most of the time, without breaking the layout. To give the page authors a bit more control over this, Apple introduced a meta tag called "viewport", which is now supported by most mobile browsers, including Mozilla Fennec. This tag allows the site author to specify which width should be used for laying out the contents as well as which zoom factor should be used, and within which limits.
As touch is becoming standard on cell phones, we also had to make a few other adaptations. For instance sites with frame sets are mostly useless due to various scrolling sub elements; the same count for sites with iframes. What most mobile browsers do to fix this, is to apply frame flattening, which we now also supports/ Originally a feature invented by Nokia, but first really being put to good use on the iPhone and on Android.
We didn't leave out non-touch phones either, and as such implemented spatial navigation (aka. keyboard navigation), which is not only useful for cellphones with keyboard only, but also by tv's and set-top boxes.
Not everything has been related to mobile though, and as such our teams have been working on implementing new HTML5 elements such as the Progress element and concentrating on some CSS features and DOM features, such as DOM Level 3 CustomEvents, 'view-mode' Media Feature, as well as some features from CSSOM Views making it possible to listen to media and media feature changes; very useful for creating Web applications.
Wow, it has been a loooong half year it seems! Now time to prepare for our local release parties! :-)
Monday, May 31, 2010
Monday, March 15, 2010
Bossa Conference
So, once more I'm in the Amazon, but this time not for any fancy jungle trip, but instead for the great Bossa Conference! The conference has been really great, with a focus a bit different that other conferences as the focus is on socializing, getting to know people, and actually getting stuff done.
It was really nice to meet my friends from Qt again, as well as meet my fellow WebKit hacker, Ariya Hidayat, who has since moved on to Qualcomm. The conference spotted a lot of technical talks about everything from audio details, bluetooth to now we should develop UI widgets in the near future.
This year is the first year that I did any presentation, so I started out by doing two :-) Here you have the first one, enjoy.
Tuesday, December 15, 2009
Nokia WebKit Code Camp
So last week Nokia ASF hosted a Qt WebKit Code Camp in Wiesbaden, Germany. It was the first time most of the people working on - or using WebKit inside Nokia, got together and met face-to-face. It is obvious that we have a great bunch of clever people, but also that we still have a lot of work to do before out Qt port is up to the level of the Google and Apple ports, but don'tworry, we are definitely getting there!
Before the event, I had a look at adding tiling support to see if it would actually bring noticable performance improvements. I did a small presentation about it, which you can find below. [UPDATE] The implementation is an experiment to avoid doing unnecessary calls into WebCore and is only meant as input for other people working on adding tiling support to WebKit. I would like to thanks ProFusion, Antti Koivisto and Benjamin Poulain for fruitful discussions who helped to the current implementation.
Having working on NPAPI plugin support before, I can tell you it is not a very beautiful part of a browser. Some time ago, we were so lucky that Girish joined us and implemented support for windowless plugins. Now he has even gone one step further and written a huge blog post about it, something that is definately worth checking out. You can find it here:
http://blog.forwardbias.in/2009/12/flash-in-qgraphicsview.html
Also, join me in congratulating him in becoming an official WebKit committer!
At the office we are starting to get into Christmas mood! and friday I'm heading off to Europe to celebrate the Christmas holidays with my family and girlfriend.
Anselmo just took this nice picture from our office:
Before the event, I had a look at adding tiling support to see if it would actually bring noticable performance improvements. I did a small presentation about it, which you can find below. [UPDATE] The implementation is an experiment to avoid doing unnecessary calls into WebCore and is only meant as input for other people working on adding tiling support to WebKit. I would like to thanks ProFusion, Antti Koivisto and Benjamin Poulain for fruitful discussions who helped to the current implementation.
Having working on NPAPI plugin support before, I can tell you it is not a very beautiful part of a browser. Some time ago, we were so lucky that Girish joined us and implemented support for windowless plugins. Now he has even gone one step further and written a huge blog post about it, something that is definately worth checking out. You can find it here:
http://blog.forwardbias.in/2009/12/flash-in-qgraphicsview.html
Also, join me in congratulating him in becoming an official WebKit committer!
At the office we are starting to get into Christmas mood! and friday I'm heading off to Europe to celebrate the Christmas holidays with my family and girlfriend.
Anselmo just took this nice picture from our office:
Tuesday, December 01, 2009
The world just became a bit cuter
Today is an important day for me, as Qt 4.6 has been released; the first release that I have been deeply involved in.
Actually, I can say that my employer Nokia Technology Institute, INdT, has done a great job on Qt 4.6, as we have contributed to various areas:
Please enjoy Qt 4.6! Download it today!
Actually, I can say that my employer Nokia Technology Institute, INdT, has done a great job on Qt 4.6, as we have contributed to various areas:
- QGraphicsAnchorLayouts: My ex-team implemented a new layout together with Jan Arve, where one can anchor widgets together in the Graphics View. It is extremely flexible, as the layout has no pre-defined concept of how should the items be arranged. The final position of each item is totally dependent on how you set the anchors.
- Qt Mobile Demos: Three great demos, showing off the power and flexibility of the Qt 4.6 development framework. This video says it all:
A cool video by my co-worker Ian Andrade - PySide: A Python binding for Qt 4.6, that currently works on Linux, Maemo and Mac OS X, with Windows on the way.
- QtWebKit: Great works has happened on the WebKit front. Personally I have worked on plugin issues, a new QGraphics-based widget, testing framework, API reviewing, DOM access from C++, among other things. It has been a crazy 9 months since 4.5, and it is amazing how much we have got done.
For more information on the WebKit work, checkout my Maemo Summit presentation, but keep in mind that the PluginDatabase support has been postponed for the next release.
Please enjoy Qt 4.6! Download it today!
Thursday, November 12, 2009
There we Go.
Last week I visited Google for the first time. I even passed by Rob Pikes office...
Today I'm using the language he and his team just created. Lots of inspirations from C, python, limbo and friends, and I actually had fun playing around with it.
PS: "!" replaced with ".", emphasising that I'm talking about "Go" and not the "Go!" language.
Today I'm using the language he and his team just created. Lots of inspirations from C, python, limbo and friends, and I actually had fun playing around with it.
Now look at that :-) Hello World, here we Go.
1 package main
2
3 import "fmt"
4
5 func PrintAll(x interface{}) {
6 var str string;
7 switch value := x.(type) {
8 case bool:
9 if value {
10 str = "True"
11 } else {
12 str = "False"
13 }
14 case string:
15 str = value
16 default:
17 return
18 }
19 fmt.Printf(str + "\n")
20 }
21
22
23 func main() {
24 PrintAll("Hello world");
25 PrintAll(true);
26 PrintAll(false);
27 }
$ 6g test.go && 6l test.6 && ./6.out
Hello world
True
False
PS: "!" replaced with ".", emphasising that I'm talking about "Go" and not the "Go!" language.
Tuesday, October 20, 2009
LatinoWare 2009
So, tomorrow 7 people from the Qt Labs Americas at the Brazilian Nokia Technology Institute are going to the biggest South American open source conference, LatinoWare in Foz de IguaƧu.
Jesus Sanchez-Palencia and Anselmo Melo will do a mini introduction-course to most the new features on Qt 4.6, and I will do a more elaborated presentation about what we have done with out WebKit support in 4.6, and where we are heading!
Artus Souza, Caio Marcelo e Eduardo Fleury will also be doing very interesting presentations about the KDE Plama Netbook edition, as well about Qt Anchor Layouts.
So, hope to see many of you there!
Jesus Sanchez-Palencia and Anselmo Melo will do a mini introduction-course to most the new features on Qt 4.6, and I will do a more elaborated presentation about what we have done with out WebKit support in 4.6, and where we are heading!
Artus Souza, Caio Marcelo e Eduardo Fleury will also be doing very interesting presentations about the KDE Plama Netbook edition, as well about Qt Anchor Layouts.
So, hope to see many of you there!
Friday, October 16, 2009
Great week of Qt/Maemo events
So I arrived in Brazil again after one great week in Europe, attending the Maemo Summit in Amsterdam and the Qt Developer Days in Munich.
The Maemo Summit was a great event and it was nice to finally meet the community, now that I have worked with Maemo for 3 years.
I did a short presentation (25 min) about QtWebKit, what it is, why we chose WebKit for Qt, and about what we have been working on the last year. It was surprisingly well received, as different people told me that it was one of the best presentations there.
I also got to meet one of the guys from the Nokia Starlight project, which has since when been opensourced (read more here!). Their work is really great and I'm looking forward cooperation more with the guys and getting their changes reviewed and integrated in the upstream WebKit.
As you can probably deduct from the above, I have been working remotely at part of the Qt WebKit team for about a year now. Great gang of people, so it has been a very interesting and productive year.
Qt 4.6 is looking really good and I'm currently thinking much about what we should concentrate on for Qt 4.7. Shortly, I expect to be looking into creating a clean and open backlog on the WebKit wiki.
After the Maemo Summit, I went to Munich to give a more elaborated and detailed WebKit talk. Qt Developer Days is growing! Almost 700 people present, very professional presentations, great oppotunities to meet up with the trolls - something that just has to be experienced.
Personally it was a great oppotunity for me to meet the difference people working on WebKit, such as people from Starlight, a WebKit performance hacker from The University of Szeged, people working on the Nokia Web Runtime etc. and it was also nice to be among many of my friends again :-)
After the Qt Dev Days in San Francisco, I will see if it will be possible to publish the slides online, so watch this space!
Tuesday, August 18, 2009
LGPL Python bindings for Qt released
I am very happy to announce that our OpenBossa labs have just released LGPL licensed Python bindings for Qt, endorced by Nokia. It is our first product being released as part of our newly founded Qt Labs Americas, and we hope they will be well received by the Python and Qt communities.
Though, not being part of the Python team, I have long followed the project and tried to encourage the team and their work, and I think that they can all be very proud.
The product is not a binding alone, but also a Binding Generator and an API Extractor, which should make it easier to generate bindings for other languages as well as easily bind other Qt libraries, and make them accessibly through Python.
Please check out the brand new site: http://www.pyside.org
Though, not being part of the Python team, I have long followed the project and tried to encourage the team and their work, and I think that they can all be very proud.
The product is not a binding alone, but also a Binding Generator and an API Extractor, which should make it easier to generate bindings for other languages as well as easily bind other Qt libraries, and make them accessibly through Python.
Please check out the brand new site: http://www.pyside.org
Tuesday, June 02, 2009
A look at QML Declarative UI and CSS3 Animations
Last week a wrote a small article, taking a good look at Qt's new declarative UI format, QML as well as the new CSS3 features in WebKit, allowing for somewhat similar features.
Both are very interesting technologies, that might become quite important in the long run, so if you are interested in one of the above, you should really go check out the article :-)
The article introduces the two technologies, their concepts, and tries to look at their similarities and differences. Write writing the article I implemented some examples in both QML and CSS3, and I have based some of the article on these findings.
You can find the article here:
http://kenneth.christiansen.googlepages.com/DUI.html
Both are very interesting technologies, that might become quite important in the long run, so if you are interested in one of the above, you should really go check out the article :-)
The article introduces the two technologies, their concepts, and tries to look at their similarities and differences. Write writing the article I implemented some examples in both QML and CSS3, and I have based some of the article on these findings.
You can find the article here:
http://kenneth.christiansen.googlepages.com/DUI.html
Wednesday, December 17, 2008
WebKit EFL receives its first patch
So first I would like to thanks everyone for their interest and support for the EFL-port of WebKit. People have been asking me for some screenshots, so I made one.
It doesn't look like much as our test browser doesn't even have an address field yet, but at least it shows that I have logged into my google account and that it is possible to use Google Reader :-)

It doesn't look like much as our test browser doesn't even have an address field yet, but at least it shows that I have logged into my google account and that it is possible to use Google Reader :-)

Later I hope to do a nice browser demo using Edje, if someone else doesn't step up and does it.
Anyway, we also got our first patch today from Cedric Bail that fixes some crashes he had running on his system. Really nice knowing that people are already playing around with the code!
EDIT: People asked me how to get and compile the code, well it is easy:
Anyway, we also got our first patch today from Cedric Bail that fixes some crashes he had running on his system. Really nice knowing that people are already playing around with the code!
EDIT: People asked me how to get and compile the code, well it is easy:
- git clone git://code.staikos.net/webkit webkit
- cd webkit
- git checkout origin/kenneth/efl-port
- ./autogen.sh –with-port=efl --enable-web-workers=no
- make
- Programs/EWebLauncher http://www.enlightenment.org
Tuesday, December 16, 2008
WebKit ported to the Enlightenment Foundation Libraries
So, the last month and a half I have been porting WebKit to the EFL libraries. It has been something that I wanted to do for a long time, but due to other projects I never got around to it. It has been a very interesting last month and a half and it is very gratifying having something that is already usable :-) I hope that now vtorri (from #edevelop on freenode) will be very happy as he have encouraged me to do the port for I think about half a year.
Some of our Manaus-based guys were already looking at doing the port so I went one month to the tropical rain forest to get the port really going. A lot of things are already working, some things ain't, like keyboard input, but we're looking into that. Just be patient :-)
If people are interested the code lived in the kenneth/efl-port branch of git://code.staikos.net/webkit - and thus shares place with the Qt port.
Now begins the work on improving the code, getting it reviewed and sometime in the future getting it all upstream!
EDIT: Keyboard input now works thanks to Diego Gonzalez!
Some of our Manaus-based guys were already looking at doing the port so I went one month to the tropical rain forest to get the port really going. A lot of things are already working, some things ain't, like keyboard input, but we're looking into that. Just be patient :-)
If people are interested the code lived in the kenneth/efl-port branch of git://code.staikos.net/webkit - and thus shares place with the Qt port.
Now begins the work on improving the code, getting it reviewed and sometime in the future getting it all upstream!
EDIT: Keyboard input now works thanks to Diego Gonzalez!
Friday, September 19, 2008
Tuesday, August 12, 2008
Presenting QEdje
So Nokia bought Trolltech and brought Qt into the fold. Really surprising to most of us, but also very exciting. I had never used Qt before, though heard lots of nice things about it from my team at the German Aerospace Center. Actually, I have never been much fond of KDE, and 4.0 also didn't make me that excited, though I must say that the same counts for GNOME these days.
Anyway, Qt seems to be gaining ground so I installed Qt, and me and my team started researching this nice new technology. I have never been fond of programming in C++, maybe I have changed, but programming in Qt/C++ have been a breeze so far. Qt is a high quality piece of software and something not to be ignored.
Working on Canola and other internal projects during the last year have brought a lot of experience to the team. We have learned that our investment in MVC, our plugin system and the Edje [1] canvas interface description language have born fruits, and is something that we cannot do without; I'm still amazed how much we completed in basically a years time.
So Qt seems to be an important player in Nokia's future, atleast for the Internet Tablet, so to be better aligned with that, we researched the viability of porting Edje to Qt, and are very proud of making the announcement that the most important parts are already there and released under the same license model as Qt.
Three guys from the team are present at the aKademy conference and have been giving a lecture on Edje and our QEdje project. The presentation went very well, and the audience seemed interested. Aaron Seigo went so far to look at implementing Plasma [2] objects (so-called plasmoids) using QEdje. How that went I don't know, but I guess we will see shortly.
The presentation was written using python together with QEdje and pretty fancy in my opinion, but we have put a PDF version online for those of you who are interested and didn't go to the lecture.
It can be found here: "QEdje Presentation" (7z compressed) at the project site. A high quality version of the video is also available.
QEdje is still running a bit slow on the Internet Tablet and we have been writing various profiles which we have shared with the Qt developers, showing that we will need some heavy optimizations before we can write applications like Canola and Carman using Qt + QEdje. The Qt developers have been really friendly and paid attention to our requirements, and to make my day, Andreas Aardal Hanssen announced [3] at the conference that they are working hard on improving the raster graphics path in Qt and that it is already 40 times faster in some situations. Now that is what I needed to hear! Tusind Takk!
[1]: Building Interfaces with Edje: The Edje Developers Guide
[2]: Plasma, http://plasma.kde.org
[3]: Qt 4.5 to dramatically improve QtWebKit and QGraphicsView..., dot.kde.org
Anyway, Qt seems to be gaining ground so I installed Qt, and me and my team started researching this nice new technology. I have never been fond of programming in C++, maybe I have changed, but programming in Qt/C++ have been a breeze so far. Qt is a high quality piece of software and something not to be ignored.
Working on Canola and other internal projects during the last year have brought a lot of experience to the team. We have learned that our investment in MVC, our plugin system and the Edje [1] canvas interface description language have born fruits, and is something that we cannot do without; I'm still amazed how much we completed in basically a years time.
So Qt seems to be an important player in Nokia's future, atleast for the Internet Tablet, so to be better aligned with that, we researched the viability of porting Edje to Qt, and are very proud of making the announcement that the most important parts are already there and released under the same license model as Qt.
Three guys from the team are present at the aKademy conference and have been giving a lecture on Edje and our QEdje project. The presentation went very well, and the audience seemed interested. Aaron Seigo went so far to look at implementing Plasma [2] objects (so-called plasmoids) using QEdje. How that went I don't know, but I guess we will see shortly.
The presentation was written using python together with QEdje and pretty fancy in my opinion, but we have put a PDF version online for those of you who are interested and didn't go to the lecture.
It can be found here: "QEdje Presentation" (7z compressed) at the project site. A high quality version of the video is also available.
QEdje is still running a bit slow on the Internet Tablet and we have been writing various profiles which we have shared with the Qt developers, showing that we will need some heavy optimizations before we can write applications like Canola and Carman using Qt + QEdje. The Qt developers have been really friendly and paid attention to our requirements, and to make my day, Andreas Aardal Hanssen announced [3] at the conference that they are working hard on improving the raster graphics path in Qt and that it is already 40 times faster in some situations. Now that is what I needed to hear! Tusind Takk!
[1]: Building Interfaces with Edje: The Edje Developers Guide
[2]: Plasma, http://plasma.kde.org
[3]: Qt 4.5 to dramatically improve QtWebKit and QGraphicsView..., dot.kde.org
Tuesday, June 24, 2008
Get your cars ready!
It has been some time since my employer INdT has released a new version of our car application, Carman. Carman is a OBD-II analyzer for the Nokia Internet Tablet, that presents various car information (via the onboard debug II interface) to the user, such as engine rounds per minute, calculated load value, vehicle speed, cooland temperature etc.


Carman isn't dead though, and a new, much-improved, version is about to be unleashed :-) still fully opensourced! The new version is similar in architecture to Canola and provides a whole new user experience. As Canola, Carman is now based on the EFL framework and spots an integrated touch-based interface, full with animation, maps integration as well as trip reporting!
Marcelo Oliveira has a post, explaining the details and showing off some of the cool new artwork! Though, not yet integrated with Canola, we are definately toying around with the idea, as well as hoping to be able to release Canola as opensource.
Tuesday, March 11, 2008
Canola2 vertical mode
Marcelo did a nice post on running Canola in vertical mode and has a video demonstrating the result:
The vertical mode is possible by using Xrandr, which has been ported to Mamona and the Chinook version of Maemo (os2008) by our [INdT] Mamona team. Really cool stuff. Great work guys :-)
Now let's hope someone has the time to adapt the interface for vertical usage.
PS: Leo reminded me to tell that not one line of code was made to the Canola2 before filming this video :-)
The vertical mode is possible by using Xrandr, which has been ported to Mamona and the Chinook version of Maemo (os2008) by our [INdT] Mamona team. Really cool stuff. Great work guys :-)
Now let's hope someone has the time to adapt the interface for vertical usage.
PS: Leo reminded me to tell that not one line of code was made to the Canola2 before filming this video :-)
Tuesday, January 15, 2008
Bossa Conference '08
If you didn't have the privilege of joining our Bossa Conference last year, now is your chance. It was the first INdT sponsored conference on Mobile / Open Source Software and it was a huge success.
To quote some of our attendances:
"The best Open Source conference I had the pleasure of attending."
"The Bossa Conference was an awesome event. For me it was the best open source conference in 2007. Don't miss the next one..."
"Sand, sun and small devices. BOSSA was the perfect conference to discuss the future of Linux on embedded platforms."
"Best conference I've ever been to. DON'T miss this one."
To sum up:
To quote some of our attendances:
"The best Open Source conference I had the pleasure of attending."
Zack Rusin
KDE/MESA/Gollium3D
KDE/MESA/Gollium3D
"The Bossa Conference was an awesome event. For me it was the best open source conference in 2007. Don't miss the next one..."
Marcel Holtmann
Bluez Maintainer
Bluez Maintainer
"Sand, sun and small devices. BOSSA was the perfect conference to discuss the future of Linux on embedded platforms."
John 'J5' Palmieri
Red Hat/OLPC/DBus
Red Hat/OLPC/DBus
"Best conference I've ever been to. DON'T miss this one."
Carsten 'Rasterman' Haltzler
OpenMoko/Enlightenment
OpenMoko/Enlightenment
To sum up:
Bossa Conference '08
Come and enjoy a innovative conference on Open Source Software for Mobile Embedded Platforms. Located in Porto de Galinhas, one of the tropical paradises of Brazil, the Bossa Conference will happen during 16th to 19th of March at Summerville Beach Resort (www.summervilleresort.com.br). The perfect combination of developers, pleasant environment and good ideas.
Let's go! We're waiting for you.
Information and registration: www.bossaconference.org.
Thursday, December 20, 2007
It's out!
So, after a long time working hard on getting the new Canola2 ready, the first beta is now officially out the door. I would like to congratulate the whole team, the high spirit and INdT for making this project possible.
Canola2 is, in my eyes, a very different product than the former version. The basic principles are the same, easy media consumption, but everything has been rewritten and Canola2 is definitely a more mature product. It comes with support for playback of local media such as video and audio, as well as a new way of watching your photos.
But, now that Canola2 is a product for the Nokia Internet Tablet, we haven't neglected internet connectivity, and as a result Canola2 is shipped with support for internet radio, podcasts as well as photocasts (Flickr and Picasaweb have been confirmed to work).
If the new beta makes you as excited as I am, I would suggest you to have a look at our new product site,
http://openbossa.indt.org.br/canola2/
where you will find screenshots, videos and more or less all there is to know about the new beta.
Canola2 is, in my eyes, a very different product than the former version. The basic principles are the same, easy media consumption, but everything has been rewritten and Canola2 is definitely a more mature product. It comes with support for playback of local media such as video and audio, as well as a new way of watching your photos.
But, now that Canola2 is a product for the Nokia Internet Tablet, we haven't neglected internet connectivity, and as a result Canola2 is shipped with support for internet radio, podcasts as well as photocasts (Flickr and Picasaweb have been confirmed to work).
If the new beta makes you as excited as I am, I would suggest you to have a look at our new product site,
http://openbossa.indt.org.br/canola2/
where you will find screenshots, videos and more or less all there is to know about the new beta.
Monday, December 03, 2007
9 days to launch!
So, 9 days to the launch of the first Canola 2.0 beta. We are all very excited and we want you to be too, so we launched a teaser site so that you can already have a look at what you can expect. The site can be found at:
http://openbossa.indt.org.br/canola/index2.html
A bit more information on what the first beta will contain please consult the latest blog entry by Marcelo.
On a related note, Eduardo posted a video of Canola 2.0 running on the N770... pretty amazing that it runs as well as it does. Don't just throw out your N770 yet ;-) Also, Marcelo has written a nice entry about the photos view.
Wednesday, November 21, 2007
Follow up to yesterdays post
So our Canola posts yesterday created a long thread on InternetTabletTalk.com and Marcelo has been really busy answering most of the questions that have come up.
Artur wrote a blog entry giving a bit of light on our new media framework Atabake, as well as posted a screenshot of Canola playing back an episode of the Office (screenshot above).
Last evening there was a little hackaton here at work. Andre had spend the last week writing a new input framework(*) for EFL, much in the spirit of, and inspired by that of GTK+ and QT, and just couldn't resist trying to port Gustavo iPhone like keyboard to it.
It is currently only possible to write input methods in C, so Andre ported Gustavos code and made it into a real input method. Later, together with Gustavo and with input of a lot of excited co-workers we modified the interface and hooked the keyboard up in Canola.
Though, we are not going to use this exact keyboard, it shows what is possible, and if we find it worthy we might consider develop a new Canola integrated keyboard based on this code ;-)
(*) This work was done, in order for us to use the Hildon keyboard from within Canola.
Tuesday, November 20, 2007
So does it run on a real device?
It does, and it is really smooth :-)
Have a look at this video. It is not the latest version, but it demonstrates the responsiveness of our user interface.
High quality version at Marceloeduardo.com
High quality version at Blip.tv
Have a look at this video. It is not the latest version, but it demonstrates the responsiveness of our user interface.
High quality version at Marceloeduardo.com
High quality version at Blip.tv
Subscribe to:
Posts (Atom)















