I had a dream…

In the future, operating systems will be obsolete. Computers would have personalities. One could be sarcastic, another would be really nice and optimistic, and another would be quiet, artistic and musical. All according with the owner’s personality and desire, and learning user habits and preferences…

A bit of Sci-fi? Hold that thought…

As I mention before, I have an increase interest for cognitive science. It’s the one thing that awakes my passion for technology that has been missing for quite some time. After more than 10 years dealing with integration and support, everything feels like ‘been there, done that’. Even if it’s a new piece of software, protocol, language or interface, it’s a matter of finding out how it works and done, next. So I’m on a very reflective moment in my professional career trying to find what’s next. Not just next position or next job, but in the big picture, what’s next for me, what do I really want to do. And what I really would like to do is to make integration among computers and people, to find new ways to develop computers. Keyboard for instance; it feels such an engineer’s solution. I have no doubt that iPhone and Wii success are hugely due the fact they integrate the user physically in the virtual world they represent, invoking the touch sense rather than just sight.

So, I’m thinking and reading and wondering… but two days ago, I question in my head made me freeze: ‘very nice, but do you have enough imagination to do such work?’ It was a doubt. I’m very creative, but how creative am I really? I was still thinking about it when went to bed, and there is that zone between sleep and awareness where I started imagining…

In the future, computers should have personalities. No keyboard or even input devices should be necessary; we already have headsets reading brain waves, and voice recognition has got to be better by them. Display could be anything, isn’t there this new window glasses where you can display information? So, not just the TV, but your microwave could display news and weather forecast. But that’s for someone who would like to read the news in the morning… what about someone like me, who prefer music? And maybe my microwave would already warm up the milk and pour my coffee.  The fridge would warn that I’m running out of cottage cheese and add it to the list, which would be a list that accepts both touch input – selecting the items I want from the supermarket’s products pictures  – but also accepting my writing and adding it to the list. But that’s easy – fridges are already running Linux

Ok, so the person who likes news can see the news and I can hear music and have my breakfast, what about the family organizing everyone’s breakfast and getting ready to take the kids to school? Traffic information would be nice; ideas for recipes for lunch based on what’s available in the fridge and cupboard, maybe a connected food processor would start chopping the vegetables before you arrive? Adding spices would be my part to it, I never know when I feel like adding cumin or oregano…

The computer would be the main brain of such network of devices. Having your data in the cloud seems fine, until you ran into problems like bandwidth, the fact your data is controlled by someone else and they may shut it down – or even the government may cut your access. So the PC would be an “in-house-cloud-server”. It could be inside of a wall – I bet some people would have it already; I’m certainly doing that when I have my own apartment. And the display would be a small one in the wall, which would display pictures while not in use. So user interfaces also will be obsolete. But all this can only be possible if the industry ever agree on following standards. If you have one ‘Samsung house’ or one ‘Siemens house’, everyone will have to start from scratch and I won’t be able to see it in my lifetime. If we all use the same protocols and APIs, we could do that by 2050 maybe…

Of course, we are talking about people living in areas with Internet access and with money to buy such electric devices – and in many countries, that’s not really an issue. But if we really would like to change everyone’s experience, we need to think about everyone – poor people in Africa, India, Brazil. And amazes me the power technology has, the importance it has over many things I would think are more important. I’ve seen a presentation showing how people use cell phones in some regions in Africa, where there is one source of electricity for everyone, usually in the center of the village, in the city hall or something like it. That doesn’t stop them from having cell phones – remembering glorious days of Nokia phones whose batteries lasted more than one week… so everyone takes their phones to the electricity source and charges them there. Those phones have processing capabilities and network coverage, what else could they do? Play radio? Will processor be so small, cheap and powerful that even those people would manage to have one? So they would have TV and internet capabilities?

And why do we have to hold phones anyway? They are so annoying when you are in a long call, so unnatural to hold them to carry everywhere… why can’t I have already a wristwatch phone, or even bracelet-phone? Even better if I can change its colour to match my outfit – and I hope by 2050 we are over that idea that everything for women has to be pink, please. My watch phone would have a small earpiece for receiving or making calls…

It’s a bunch of ideas and idealization. It may be utopia. It may be people already developing it. But it sure answers my question – I do have imagination…

Qt, MeeGo and AppUp – Qt Contributors Summit

I recently attended the Qt Contributors Summit in Berlin, from June 16 to 18, 2011. The unconference was held in the nice Café Moskau, with many room and common areas for chatting. The main focus for the unconference was to talk about the next version of Qt and the definition of an open governance structure, reclaimed by developers for so long.

Lars Knoll opened the discussion about the next version in one of the first sessions. The last major version for Qt – Qt 4 – was launched 6 years ago. The world was a very different place, and users’ expectations now are also different. There was no iPhone or applications store, touch screen was not prominent and social media just starting. Nowadays all this is just basics, and so Qt framework wants to provide easy infrastructure for developers to create applications meeting those expectations. Qt Quick/QML will play a huge role in this scenario – they will have almost the same capabilities and resources as Qt. The intention is to make easier for ‘opportunistic developers’ – those who want to create simple and small applications to monetize – to use Qt. There were many discussions on how to do that, the priorities, but main message – everything is going QML. Pure Qt resources will continue to be available and improved, but QML is expected to be sufficient for most developers. But I invite my friend and consulting resource for QML, Helio Castro, to write more about it.

Another big conversation was the open governance. Community has been asking this for a long time – 11 years to be exactly – and it is finally happening. The governance will be similar to the Linux kernel governance:

This blog post explains it in details – http://labs.qt.nokia.com/2011/05/20/open-governance-roles-and-responsibilities/ – and as I could not do any better, I will leave to the link to explain J there is also a talk – or rather a discussion – held by Thiago Macieira at Qt Developer Days 2010. http://qt.nokia.com/developer/learning/online/talks/developerdays2010/tech-talks/qt-301s-open-governance-model/

I held two sessions: Qt, MeeGo & AppUp Developer Program and – due the interest raised in this session – MeeGo Application development store.

In the first session, several developers seemed please to find out AppUp is a perfect channel for open source applications to reach mass users on Windows desktops. As Qt is a multi-platform, there are a huge number of Qt applications also available for Windows, but no efficient distribution channel. AppUp is this channel, offering the possibility to distribute open source applications with the source code. When you upload your application, you can choose between several open source licenses, and if you do so, you are required to submit also your SRPM source code package. And your application will be available not only on AppUp, but also on many applications store powered by AppUp. One of the most recent examples is Dixons KnowHow store, pre-installed in netbooks being sold by one of the largest retailers in UK and Ireland. But I shall go into further details in a future post, with screenshots and examples.

During this session, there were many questions on MeeGo application development environment. So we scheduled another session for the next day to talk about the resources and the community to support it. The first place to look at is the main wiki page for MeeGo Apps. Conversations about MeeGo application development are happening in the MeeGo community mailing list and the main #meego irc channel hosted on Freenode. To help developers to package their applications, there is a community OBS server – OpenSuse Building System. For open source applications, developers can request an account for free and submit their code. To host the source code in a collaborative way, MeeGo suggests Gitorious, where developers can also create an account for free.

On the wiki page, you can find the guidelines for packaging applications for Meego, as well as information about the QA process. When one application is submitted to testing, the community can test and rate it. Long story short, if an application has been tested enough and is approved, it will be available in the community repository. You can find more information in the documentation ahead. I’m still learning the process myself, so I can submit more information later.

And overall, was an extremely well planned and awesome event. And even so it was an unconference, the conversations in the hallway still provide many great opportunity and insights. I’ve learn about several great projects, like QML 3D and Gluon, both of with deserve their own blog posts. I also hope the developer present there appreciate our efforts on bringing ClubMate to the unconference – even if that meant empting Germany’s supply that week! And I would like to thank Alexandra Leisse for the amazing job organizing everything – you literally rock! Seriously, you people need to hear her singing…

I shall declare Mondays the Blogging day for me, and hope you all enjoy some of the reports. If you have any suggestions on what subject you would like to see more of, leave your suggestion!