Donnerstag, 8. November 2012

How the Open Source movement won the battle, but lost the war

there is a saying in German: Don't wish anything, it might come true, but completely different as you want it. This is very true now for the open source movement. Let's take a look around.

Linux is probably the most widely used operating system in the world, if we count all embedded systems, like wifi-routers, smartphones, tablets, GPS-receiver, smart-TVs and other devices most people do not actually know, that these are powered by Linux. Regarding Android I think I can claim that the moment is not too far away when Android will become the most widespread operation system for devices, which we call computers and leave Windows behind, maybe this moment is already there. So this is undoubtedly a success for the open source community that an open source kernel is powering so many devices in the world. But on the other hand, yes Android is open, you can browse the source code, but can you really contribute? As a private person, where can I check-in my fixes and code suggestions? Who are the code maintainers and integrators? Where are all the Android distributions like we used to have with Linux? Sure, it is possible to hack the device and flash the ROMs with new software, but compared with the millions of people, who are using Android, how many people are using custom ROM software? It stays a small community.

The second battle is related. Open Source community always insisted that the used should have full control over his/her hardware and install the operation system he/she likes. Well, in PC-world we are at this point. Installing different system on a regular PC is dead-simple, but try it on a phone or a tablet! Sure it is possible to install Android-system on an iPhone, but again, this is really cumbersome process only for very few of us. Also the number of open source OSes for mobile devices is very low compared with the number of open source OSes available for PC. Hopefully this is just matter of time.

Software should be free. Well, we are close to this point. 90% of software in Android store is free. But it is free as in beer, because there are hardly apps, which source code is published somewhere. At least with Android it is possible to install software without using the official store, so using open source software is easier, but again hardly any app developer is open-sourcing the app. It would be an interesting idea to have an app store, where only apps are published, which source code can be downloaded somewhere.

Lot of apps have access to the cloud. Also we use lot of cloud services with the web-browser. Cloud infrastructure is based on open-source components, like Linux, Apache, some middleware server, open-source database. This is great. But what about all the application logic? Again, there is hardly open source available of all these cloud-based applications. But we provide lot of our most private and sensible data into the cloud. Google claims that there are more than 1 mio Android devices activations per day, that means most of these users are sending their address books, with all private phone numbers, addresses, photos and so on to Google and they trust that Google will not misuse the data (here even open-source will not help), but also that the application software is that secure that no hacker can get access to the cloud and have the most accurate address-book in the world! One of the reasons, why open source is so important is because lot of specialists are able to verify the code and find weaknesses. Another problem with the cloud is that the user basically looses control (and sometimes ownership) over his data and has to trust the cloud provider. This is certainly not the idea of organisations and activists, which engage in open source movement.

So it looks like the open source movement won some battles. Open source is everywhere, PCs are open for installation of large variety of open source OSes, with modern UIs open source software is user-friendly and polished, on mobile devices Android is the most widely used operating system. Clouds and Internet are not imaginable without infrastructure provided by open-source applications. But on the other hand most of the modern developments in the IT-world like apps, smartphones, tablets, browser-apps with logic on a server in the cloud are powered by open source, but are not open source themselves. Developer do not publish the source of their software and the choice which software is running on my device is greatly reduced. So open-source community should think about the strategies how to adapt to the new environment.

Mittwoch, 25. April 2012

ChromeOS for mobile devices

I'm quite a fan of Google and most of the Google products. I love Chrome, which is my default browser on my Mac and I like Android, which is OS of my mobile. When I heard of the ChromeOS for the first time I was intrigued by the concept, because it is so radical different, from what we have today, but on the other side it is very logical consequence of our shift from desktop applications to browser-based ones. Still is requires a courageous mind shift, to cut the rope of being able to download and start a Windows or Mac application and fully trust that there is a replacement application on the web, which provides the same possibilities. Also it is kind of scary for road warriors to use browser based apps and being dependant on ubiquitous net-access. Sure, Google tries to make their apps working offline as well, but this is just beginning, the question is how many other browser-based apps will offer this possibility as well. That means ChromeOS is suited best for strictly defined working environments, better not on the road. Which brings me to the question, why are there only notebooks available with this system?

But anyway, I don't have figures how well ChromeOS is selling. But here is a suggestion how ChromeOS could become the most successful desktopOS. Motorola showed already a mobile phone with Linux desktop (Atrix). The idea is that a mobile phone can be connected via HDMI to a monitor and via USB or bluetooth to keyboard and mouse. As soon as connection to monitor is detected, desktop Linux distribution starts on Android kernel. All of the data like contacts, emails can be shared with Android. The concept of Motorola headed in the right direction, but there were some rough edges, like outdated software preinstalled, and the update process was quite cumbersome. In March Ubuntu announced a distribution, which can be preinstalled by phone manufactures on their phones. The concept is the same as with Motorola phone, but the Ubuntu distribution is famous for its user-friendliness. So far I'm not aware of any phone, which uses Ubuntu, but I guess this is just a question of time.

The concept of turning mobile phone into a full-fledged computer is certainly intriguing. But even compared with a simple netbook a mobile phone ofter lacks required amount of storage capacity for the programs and for the data. Also there is a question how to synchronise this device with the main computer. That's why a cloud based operating system, where all the data are stored in the cloud and the programs called from the web is the right choice for a desktop mobile device OS. That's where ChromeOS can show its strength. ChromeOS doesn't need lot of memory and processing power, all the programs don't have to be available on the storage medium and all the data is saved in the cloud. Places where a monitor and a mouse are available, should have at least WI-FI connection available as well. One important fact is of course that ChromeOS is already available for ARM processors, so most of the mobiles should be able to run it right now. So ChromeOS running on Android phone would be a perfect matching case, between the requirements of a desktop system and what mobile device is able to provide.

There is already Chrome available on Android 4.0. So let see if Google engineers can extend it, so that it also usable with a desktop station in a desktop mode. It is absolutely imaginable that soon the internet cafes and business-oriented hotels will just provide internet access, monitor, mouse and keyboard, so that business traveler can connect their phone to these devices and continue working. Acer showed already a mobile phone which can be plugged into a tablet, expect mobile phones, which can be plugged in mobile notebooks, without a processor. With modern ARM-processors with several cores mobile devices are able to compute larger amounts of data and execute complex programs written in JavaScript. So since mobile devices are growing on much faster rate than desktop-oriented ones, it can be expected that preinstalled ChromeOS could become the most widespread desktop-oriented OS worldwide.

Mittwoch, 25. Januar 2012

My experience with Lumia 800

A short disclaimer first: I'm quite experienced iPhone and Android user, I understand the concept of mobile phone as a window to the cloud and I think I know Windows quite well. For my girlfriend Lumia 800 is her first smartphone, she knows nothing about the cloud and is a very average Windows user, so no X-Box, no Zune, no MSN and other Microsoft hardware and services experience. So I must say it was quite a hard task to update her and her computer just for the usage of the phone.

First task I had to do, was importing the contacts from her old phone, a Nokia 6230i to the shiny new Lumia. Saving contacts on a SIM-card and using it in the new phone does not work, because the new phone needs a Micro-SIM card. So I installed Nokia Suite and could import the contacts via Bluetooth. But exporting from Nokia Suite to Lumia with Bluetooth is not supported. Lumia has an option "Import contacts" which should connect via Bluetooth to the old phone and get the contacts, but for some reason it just didn't work, the phones found each other, but then the transmission just stopped. So I googled a bit and found out that it should be possible to export the contacts from the Nokia Suite into a file in proprietary format, but there are programs which can convert these contacts into CSV, which can be imported into Microsoft cloud. But for some reason the Export->Save menu entry in Nokia Suite was greyed out and I had no idea why. So I could not find any but manual way to get in the contacts into the brand new Lumia.

Second task was the creation of Windows Live ID. Why is it not possible to create one with the phone? You have to know, where to go ( and have to fill out a large form with all your personal data. Microsoft wants to know much more about you, than Google or Apple. And why is all this "live" service so slow? Does Microsoft know something about AJAX? All the time new pages come up, the page addresses are changing, the UI is unpleasant compared to iCloud or Googlemail. Is it really necessary to show ads here, does Microsoft really need the money? And how is it possible that Microsoft shows an ad that all his online stuff is supported by iPhone5? I really had to check the news, if I missed something, but 4 months after introducing 4S, Microsoft was still toо lazy to update its ads.

Next task was to update the Windows Phone OS with Mango Update. You have to know, that you need Zune software for that, which is not included in Windows Vista. So after iPhone cut the cord, Windows Phone is the last of the major phone OSes which needs computer for OS-updates. After downloading Zune, I had to register again, again on PC, again large form with my personal data and now I had to invent a community name of my phone, which seems to be an online name for whatever service as well. Only letters and numbers are allowed, no "-", no "_", no "." Of course all readable and meaningful names are already taken, it took me 4 times to find a name, which is still available. I still don't know why I need it. Finally I downloaded the update (I'm not even sure, which one is it, there was no version of the update communicated). Can somebody tell me, how I can put some photos, which Zune found on my computer on the phone? Music was no problem, but photos seem to be more complicated. Did I say that the Zune app looks really ugly and violates all Windows UI-guidelines?

So after creation of all these accounts I wanted to use Nokia Maps. Again you have to register, this time for Nokia! Jesus, why is it so complicated to use ONE name for all the services! With iPhone and Android you have to register ONCE and all the services work.

Now couple of words about the software. The start screen is nice, but the second screen with all the apps is already overcrowded, so how it will become with all the apps? Ever thought about multiple columns and maybe subdirectories? Talking about preferences, is it possible to install an individual ring-tone? If yes, how, it is not obvious. At least it is quite simple to change the colour of the icons. When I set-up the email I could not find if the POP-mails will be left on server or deleted, there is no setting about it, so I assume (hope) they will be left on server. I'm already excited to see if my girlfriend will be able to connect to the company Exchange, which was the main reason why she got a Windows Phone. And typing of the virtual keyboard is quite hard, at least my girlfriend always hits the button or the link, which is just below the desired one.

Now let's go to the shop and see all the promised software. There are not too many apps for explicitly German users, there is "Die Bahn" app, but no app for the public transport timetables. Yes, I know that Nokia Maps provides me shortest ways using public transport, something where Google still has to learn, but Nokia Maps doesn't know anything about the time tables.

So after setting up the phone, which took me about two days, I have to say, that for an average Windows user it is close to impossible to setup the phone with all the services. Four years ago the software was OK, but compared with todays standards set by iPhone and Android, Microsoft has to polish, polish, polish. Not only the software on the phone, but also the cloud. Otherwise Microsoft will never catch-up with the other two mobile players, no matter how much money it has. I think the problem which faces Microsoft is a self-made one. Microsoft had a department for online-services, for phones, for games. In the past these departments were working separately from each other, every one had their own customers, no interoperability was required. But this has changed now, online-services, phone and games have converged into one package, but the departments are not. Therefore they still have own profiles for customers, though it is always the same person using one device. This topic Microsoft has to address.

Mittwoch, 23. November 2011

Interview in

On 5. July (my birthday) I was asked by Oliver from if I want to fill out a formular, which became an interview. If you are a developer, please go to Trend Report 2011 answer couple of question and you might win Intel Parallel Studio XE packages.

Dienstag, 11. Oktober 2011

How speech-recognition endangers languages

Let start this article how lot of articles started this month: Apple introduced new iPhone4S. Main features of this phone are better processor, high resolution camera and speech recognition called Siri. Siri is available in English, German and French and is an intelligent assistant for daily life. It can not only recognize text for SMS, but also answers questions like: How is the weather tomorrow or how to get from A to B. For this Siri needs constant connection to internet, the recognition happens on server and the information is collected from various databases e.g. Wolfram Alpha. The service works best in English, because the databases are not always available with information for other languages, but will be filled soon. Other languages will be added in near future.

So far it sounds very promising. Instead of searching for information over various websites, I can simply ask a question and with a bit of luck I get correct answer, probably even spoken one. So far so good, if I communicate with my phone in English. With German or French life becomes bit harder, not all information is available, and now the real question is which languages will be supported in the future? Probably Top 10 languages, maybe Top 25. But we've just learned that supporting a language by Siri is not enough, also the information-containing databases must have information available, which is for sure not a simple task. Now think a few years forward, what will happen, if technology matures and devices come to market whose only input is voice of their owner? Will these devices be able to support all languages or just concentrate of couple of markets where most money can be earned? Is it too much effort to teach the device such language as Estonian with 800.000 speaking it as mother tongue?

Let take a look at Wikipedia. More than 100.000 articles are available in 39 languages (2.5 Mio articles in English, more than 1 Mio articles in German and French), more than 10.000 articles are available in 64 languages, more than 1000 articles are available in 109 languages, more than 100 articles are available in 95 languages. That's impressive, but ethnologists guess there are about 6500 languages spoken now, about 2/3 of them are endangered.

Look what happened with OCR software. Company Abbyy, with one of the best products on the market supports 189 languages, 45 of them with dictionary support. I could not find a statistic how many languages can be written, but it is quite clear, that these are many more than 189. So documents which are written in these languages cannot be OCRed, which is at least annoying. Situation with Wikipedia is better as with OCR software, probably because it is quite simple to start entering articles in a new language, no technical knowledge is required (the operating system has to support the characters which are used by the language, but with Unicode-support which contains 65.000 symbols this is less of an issue).

Speech recognition requires much more linguistical and technical knowledge than OCR. Feeding databases with information required for a meaningful and useful conversation with a machine is even harder. Therefore it is quite certain that only few languages will be supported with full range of information. What does it mean for the people, who are speaking different mother tongue? If they want to use new devices, they have to use a different language then their mother tongue. So dear Estonian and dear Switzerdutch speaker, be prepared to learn English, German or Russian if you want to have one of these new shiny gadgets.

Montag, 15. August 2011

What are the next steps for augmented reality?

After Web2.0 and mobile internet being widely accepted, the question is, what wil be next. I think the answer is augmented reality.

Currently augmented reality can be experienced through mobile device with display, GPS and cam, the user points with the cam at some point of interest and the software overlays on the display the cam picture with information from Wikipedia or other sources.

Now imagine a device which looks like glasses. The glasses are transparent, next to the glasses there is a small cam. The glasses have a wired (or bluetoothed) connection to a mobile device, which connects to the Internet over LTE. The user looks though the glasses and the information about what he sees is transparantely overlayed. This is the way how our real world gets a coverage by the digital world. Several questions are arising.

What is the technology behind the glasses? Transparent LED-screens are in development for at least 10 years now. I've seen some at CeBIT when I was a student roughly 10 years ago. Also some of high-end cars from BMW show the driver information on the front glas. So it should be possible to pack this technology into glasses, which are not too heavy. The remaining electronics can be integrated in a special device, which is very similiar to todays mobile phones.

How does the input look like? Some of the actions, which are not too complex should be doable by closing and opening of the eye lid and movement of the eyes in different directions. That means that a second cam is needed which watches the eyes of the user. More complex actions like dialing a number should be possible by pointing with the fingers at virtual keyboard, which appears through the glasses. Such technology is used by Microsoft in Kinect products. It is probably not possible or desireable to type longer texts with such technics, but as it was the case with all other input devices, it will not replace them, so touchscreens or even small keyboards will still be used.

The resolution of GPS is not good enough, even in combination with Glonass or Galileo the resolution will be several centimeters, so alone from GPS it will not be possible to determine what the user is looking at. Also user might want to have information about non-stationary objects, so the position will not have any value. So pattern recognition is very important. GPS could help to give rough estimation what the user is seeing in his current environment, so information from eg. Google Street Maps can be used to match exact point user is looking at. One question is how much preprocessing of the image is happening on the device and how much will be offloaded to a server. This determines the required speed of the internet connection and processing power of the mobile device.

But what kind of information can a user get? Well, starting from information about the buildings, their current value, when build, who's the architect, how did it look like in the past to information about public signs and arrival times of public transport, to botanical information about the trees or flowers, zoological names of the animals, car labels and so on. So expect huge databases, which are filled by volounteers just like OpenStreetMap. Of course there will be navigation software available. Now to more sensitive or commercially interesting informations. If you're in front of a store, you can see current offerings, in front of the restaurant you see the lunch card, opening times and ratings from other users. Lot of people will mark their places of living, their window, their car, just to earn a badge from Foursquare or whatever such a service will be called. Now to the most sensitive information. If you know everything about the buildings, the animals, the trees, the cars, the only white spaces which remain, are the people you meet on your way. Do you really think it will stay like that? It will not take too long and the software will be able to recognize automatically the faces and show the profiles of the persons. I don't think it is avoidable, even if the person is against it, but it is hardly possible to control all the photos in the internet, lot of them are tagged, so databases contain enough information for calibration of every face. The recognition will probably never be 100% correct, there will be countermeassures, like big sunglasses, strong make-up, all the tricks from celebrities, but the success rate will be pretty high.

Currently this is a horror for most people to imagine, that they will be recognized on the street by complete strangers, but I can imagine it will change. People will have to live with it, so they will adapt their behaviour and moral norms will change. There are only very few internet trends, which were not accepted by the society, like sharing of child pornography, but this was illegal before internet as well, other forbidden trends like illegal copying of software or media sharing was declared illegal by the industry, faces recognition and augmented reality in general will be a multibillion dollar market, so I cannot imagine that any industry could be disturbed in their business by that. There will always be enough people, who have nothing against being recognized in public, so first resistance won't last too long.

So what is needed for this vision to be realized? Glasses and mobile device are probably main technological problems, but it should be solvable within next 5 years, maybe sooner. LTE should provide enough bandwidth for transferring the data about pattern recognition and information about the recognized objects. Massive databases are required for providing information about every object and an army of volounteers, who are feeding these databases. A new operating system with new input and output possibilities for the glasses and an effective system how to create the data in the databases is necessary. But all these issues are hardly unsolvable, so I expect this to happen in the next couple of years.

Mittwoch, 29. Juni 2011

Call for content creation OSes

This article is about me and people like me, therefore I would like to introduce myself: I'm an engineer, work in an EDA company, where I design different chips. At my working place I used to have a Unix-workstation couple of years ago, now I have a Windows laptop connected to a powerful server grid (call it a cloud if you want) over Citrix connection for the reasons described here. In my office people call me progressive because I'm using Java Desktop System for my work and not CDE as most of my colleagues. Computer for us engineers is a tool to get the job done, it must be fast, stable and run all the software which can cost up to $1.000.000 US per seat / year.

At home I'm a Mac guy since MacOS X 10.1. There was a time when I really wished that at some point MacOSX would be supported by the EDA software, that was a time when Maya was ported to OS X, when AutoCAD for Mac appeared and some of other engineering tools were ported to Mac. Apple positioned MacOS X as UNIX OS with supported XWindows port, with open-source Darwin core, with FreeBSD userland, with OpenGL, first citizen Java VM and so on. Now latest with introduction of Lion there is absolutely no point in porting professional software to MacOS X. From content creation OS it now becomes a content consumer OS. As I wrote one year ago there should be a differentiation between content creation OS and content consumption OS. Content consumption OS should run on a variety of fast booting, network centric, often mobile devices, it must offer easy access to different media, free or commercial, offer unified messaging, have interfaces to different social networks, must sync with other devices and must be dead simple to use. Software, which runs on content consumption OSes, should be flexible enough to run on variety of devices, which may have different screen sizes or input methods. Often these devices are connected to cloud, where media and personal data is saved. One of the main applications is a powerful browser with support for the latest standards like HTML5 and WebGL. The applications and media are provided through a store.

With introduction of Lion and Win8 Apple and Microsoft are heading exactly in direction of consumer OS. It's understandable business decision, 90% of users are consuming media, only 10% are creating. Application and media stores, cloud offerings bring revenue after the sale of the OS. At the end it's fancy, pads, smartphones are selling like crazy, social networking and digital media distribution is all the rage, lot of office applications are moving into web, so some office workers don't need a powerful PC any more and are happy with devices with consumer OSes.

But what about content creators? People who used to have workstations, MCAD users, DTP-professionals, 3D-content creators, architects, geologists, biologists and other scientists? Do they really need an application store? Their software has completely different sales model, than through an application store. How do they update their Mac at work to Lion? Will every employee need an AppleID and put $29 for Lion update on private expenses? Have you read what Apple says about new UNIX features in Lion? How will professional programs benefit from iCloud, from Auto Save (saving of huge databases might take several seconds and block the user from working)? We don't know much about Win8 yet, but for sure none of professional CAD applications will use JavaScript and HTML5 or Silverlight or XNA for designing of their UI. All these techniques make sense in order to easy port of applications to pads or smartphones, but does anyone need Catia on pad?

So after differentiation between server and desktop OSes, now it is time for differentiation between content creation and content consumption OSes. The aims of the OSes and user groups are too different, so that one OS can fit all needs. Linux world shows how it should be, while Ubuntu seems to target consumers, RedHat Enterprise distros are heading toward professional user. The same should be the case for Windows and MacOS. I don't see lot of chances for MacOSX, Apple stopped to care about the professional users couple of years ago, but Microsoft really should rethink if they should establish an extra line for Windows for Professionals, which is not intended to merge with pads and smartphones, but will remain a powerful, stable OS for power users without lot of experiments on UI and programming models.