LWN.net Logo

Improving Ubuntu's application upload process

Improving Ubuntu's application upload process

Posted Sep 5, 2012 19:39 UTC (Wed) by dlang (✭ supporter ✭, #313)
In reply to: Improving Ubuntu's application upload process by klbrun
Parent article: Improving Ubuntu's application upload process

> The question is, is there a future for the desktop computer? Will it be replaced by the mobile device that plugs in to the big screen and links to bluetooth mouse and keyboard?

why would a mobile device plugged into a big screen, keyboard, speakers, etc not be treated as a traditional desktop?

Think about how laptops are used.

yes, on the go their keyboards and screens are used, but just about everyone who uses a laptop in a common location for any length of time has a full keyboard and screen that they hook up (either with many cables, or with a docking station). At that point, the 'laptop' is really no different from a small 'desktop' system. But the important point is that it's _used_ as a desktop system.

Why would shrinking the laptop down to a handheld size change how it's used when docked?

If your answer is that the software will work differently because it's a mobile device, then bzz, wrong answer. The software will need to work the same as current desktops as that's what users want to use. The device may have _other_ software that is more suited for the mobile environment, but that's not what the successful devices are going to be using when 'docked'


(Log in to post comments)

Improving Ubuntu's application upload process

Posted Sep 5, 2012 20:06 UTC (Wed) by khim (subscriber, #9252) [Link]

Why would shrinking the laptop down to a handheld size change how it's used when docked?

Because the transtion period will change the software.

If your answer is that the software will work differently because it's a mobile device, then bzz, wrong answer. The software will need to work the same as current desktops as that's what users want to use. The device may have _other_ software that is more suited for the mobile environment, but that's not what the successful devices are going to be using when 'docked'!

Sure. And this is exactly what'll happen. The only problem: it'll not be the software we currently use on the desktop!

Think about the previous such transition (when PC replaced UNIX workstations and dedicated wordprocessors) or the one before that (when said workstations replaced big iron). Every time the software goes full circle (from the "joke software" which is not as capable as the software from previous era to the "real software" which is even more capable) and every time the end result looks similar - but with a completely rewamped core. Why do you think this time will be any different? Because this time around developers kept the core intact (both iOS and Android are using UNIX-style cores)? I don't think it'll be enough. NT kernel supported POSIX, too, you know...

Improving Ubuntu's application upload process

Posted Sep 5, 2012 20:43 UTC (Wed) by dlang (✭ supporter ✭, #313) [Link]

software didn't change significantly with the shift from 'desktop' to 'laptop' form factor. I don't see why it would change significantly when moving to the 'docked mobile' form factor.

Yes, in parallel with this, there is going to be development in software for the 'mobile, handheld' form factor, but so far, no software designed for that form factor works reasonably with large screens and full keyboards.

as for your claims about the migration from big iron down, the user interaction has been far more stable than you indicate.

The user interaction migration has really been

1. batch jobs (i.e. bunch card era)

2. keyboard/screen/text

3. mouse/keyboard/screen/text in windows/graphics

some people are claiming that there will be a

4. touchscreen (i.e. mobile)

that everything will migrate to, but while a touchscreen has big advantages for specific workloads and situations, it's horrible for a huge amount of stuff that people use computers to do.

For the first three steps, each step included all the capabilities of the step before it, just with added flexibility. However the touchscreen mode of operation does not cleanly and easily replace the prior modes of use, and as such it's not going to replace the prior modes, instead it's going to supplement them.

So when you have your handheld CPU/storage device (aka phone) connected to a keyboard and screen, you are going to be using mode 3 software, not mode 4 software (as always, with some exceptions)

Improving Ubuntu's application upload process

Posted Sep 5, 2012 22:53 UTC (Wed) by khim (subscriber, #9252) [Link]

software didn't change significantly with the shift from 'desktop' to 'laptop' form factor.

Laptops never existed as separate software or hardware category. Sure, mobile CPUs are less powerful then desktop CPUs and gap between desktop GPUs and mobile GPUs is even larger, but ultimately they come from the same company, from the same lab, they are just a slight variations.

I don't see why it would change significantly when moving to the 'docked mobile' form factor.

They will change on the road there. When they will be transitioned to mobile. Microsoft hoped that this switch will be similar to switch between desktop and laptop (that's why it's pushing x86-based tablets BTW), but it does not look like this will happen: people are buying totally different architecture with totally different OS instead.

Yes, in parallel with this, there is going to be development in software for the 'mobile, handheld' form factor, but so far, no software designed for that form factor works reasonably with large screens and full keyboards.

This is the same argument SGI and Sun used back in the day. Look on them now. The simple fact which decides everything: where are the money?

Mobile already is bigger then PC when you just count number of devices (smartphones only, obviously) and pretty soon it'll be bigger in $$, too.

as for your claims about the migration from big iron down, the user interaction has been far more stable than you indicate.

It's not the question of user interaction. It's the question of direction of development. Please read The Innovator's Dilemma or at least the Wikipedia article. The very fact that

For the first three steps, each step included all the capabilities of the step before it, just with added flexibility. However the touchscreen mode of operation does not cleanly and easily replace the prior modes of use, and as such it's not going to replace the prior modes, instead it's going to supplement them.

means that the existing desktop is doomed. Not because you can easily replace it with mobile/desktop hybrid today, but because some people are ready to use mobile as replacement for desktop/laptop yet noone may use desktop/laptop as a replacement for mobile today.

Think about it: there is clear and simple road from mobile to the mobile/desktop hybrid: you just need to add some nice dock and install faster, more powerful CPU. More RAM will be nice (1GB-2GB is not enough for many desktop programs), but bigger storage is not a requirement (32GB-64GB is enough for most laptop/desktop users). Oh, and you need to add some capabilities to mobile programs to make them usable with large monitor, too - but you can always borrow code from the desktop version of the same program thus it's not a big deal. This approach was already tested on the transition between phone and tablets, it works.

Now, move in the other direction. There are no road from the desktop/laptop to mobile/desktop hybrid. x86 CPUs and contemporary desktop/laptop software are too power-hungry and unweildy to use on mobile today. This means that there is huge chasm ahead: before you'll be able to sell the first mobile/desktop hybrid which is based on the desktop OS and desktop hardware you need to shrink them both a lot (in physical terms).

Can you bridge this chasm? Sure, no doubt about it! It shrinks every year and soon it'll be able to cross it… only to find out that all the districts are already claimed and people are already living happily there.

This is what Microsoft is experiencing right now. It only have gotten kind-of-competitive OS for mobiles this year: Windows core is just to big to run on the "underpowered" mobile hardware of year 2007 or 2008 and Windows CE core was never good enough to power mobile/desktop hybrid. But today mobile war is basically over: it's a split between Android and iOS. They will fight long and bitter trench warfare but other possibilities are already more or less closed: this train have not just left the station, it's about half-way to the next one!

Even if Microsoft (using it's billions in bank) will be able to catch this train it'll not change the fate of Linux desktop: Microsoft shows every indication to keep WRT/WP8 hardware closed and not available for Linux vendors. And the same with Intel: it, too, is trying very hard to catch this train - but it embraces Android on the road there, so no GNOME or KDE in sight.

Improving Ubuntu's application upload process

Posted Sep 5, 2012 23:22 UTC (Wed) by dlang (✭ supporter ✭, #313) [Link]

you are mixing up established software and desktop approaches to software with specific processor chips.

Linux works perfectly fine on X86, ARM, etc.

touchscreen software is horrid to use on a big screen with a keyboard and mouse. it's not just a small change, it's a completely different paradigm.

Linux will work without a problem, Microsoft may or may not be able to adapt, Apple has made this sort of conversion in the past, so if they think it's worthwhile they will be able to do it.

There _is_ a very straightforward path for desktop software to work on docked mobile devices.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 10:11 UTC (Thu) by khim (subscriber, #9252) [Link]

You are mixing up established software and desktop approaches to software with specific processor chips.

No. I'm talking about platforms. Linux desktop is not relevant for the fate of the war: it's too small. And Windows is pretty tied up to x86. Windows itself can be ported to ARM (Windows RT is just that even if they intentionally crippled it), and all the programs can be ported too, but why would anyone except Microsoft do that? Most users prefer Android and iOS today.

touchscreen software is horrid to use on a big screen with a keyboard and mouse. it's not just a small change, it's a completely different paradigm.

Sure. ASUS Transformer is much less useful because of that. But you can change and fix the programs. You can not easily change the underlying platform.

There _is_ a very straightforward path for desktop software to work on docked mobile devices.

Absolutely! In some different universe where docked mobile devices will be based on Windows or X Window system. In our reality these devices will be based on Android or iOS. This excludes the existing software. Sure, some libraries and other important pieces will be reused, but the desktop as we know it? Forget out it.

The best case scenario: it'll survave as some kind of very niche player (similarly to how today it's very niche player). Sure, you can use Linux to build an ATM or kiosk, but why should you do that when there are another familiar platform (Android)? Heck, even today such devices are often using Windows (even if you need to spend money to buy it), because it's more familier to the developers.

Existential thread for the "traditional Linux desktop" today is not Windows or MacOS, but Android and iOS. I'm not touching iOS with ten-feet pole (you need to sell your soul before you can ever do anything with it), but I find it hard to justify fight against Android: what will it accomplish? Android is already free, after all…

Improving Ubuntu's application upload process

Posted Sep 6, 2012 6:58 UTC (Thu) by iabervon (subscriber, #722) [Link]

When not plugged into a docking station, a laptop has a slightly smaller screen, a keyboard without some of the duplicate keys, and a pointing device that works a bit differently. That is, at its most different, it's not that different. Really, the main difference is that the hotplug system gets a major workout. A phone-class device spends most of its time without any keyboard at all, with a much smaller (in inches) screen than any laptop since the 80s, and with a touchscreen (which is much better than a regular pointing device for some things and much worse for others). That's way more different from a desktop than a laptop is. And a phone-class device (in its common configuration) has a different ordering of what operations are more convenient than other operations.

Of course, it's entirely plausible that someone's "desktop computer" will actually be a virtual machine running on their phone. But that sort of user probably spends 75% of their time away from their desk, with their phone behaving in ways that work when you're standing on a ladder with a hammer in one hand. They're not just getting rid of the tower case next to their monitor, they're no longer going over to their desk any more, because the time they're on the go is all of their billable hours.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 7:12 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

I am not saying that it will run the desktop inside a VM, but I aldo don't see touchscreen software being run on a 30" non-touchscreen monitor well.

If you have a Linux base, there's nothing (conceptually) preventing you from running libreoffice and thunderbird when docked, but then suspend/checkpoint that software when you undock, using touch-friendly Android apps on the small screen. You may have some 'mobile' apps running in small windows on your big screen (no need to have two weather apps for example)

Yes, right now Android and Linux have completely different userspace libraries, but are they really that different in their functionality and API? or could you have one libc that will work for both?

I'm a bit puzzled that nobody has created the ability to run android apps on a full Linux box yet (I think we're getting very close on the kernel capabilities side, but Android hasn't taken advantage of all the recent mainstream developments yet).

Once you have the ability to access the android app store and run regular Linux apps, I expect that something like the Transformer phone/laptop will start to appear, with normal Linux apps when docked and limited to android apps when undocked.

I don't expect such things to first show up from the "big boys", they will be trying to do the all singing all dancing single solution to everything. Instead I expect that some of the low-end "knock-off" companies will throw something like this together and start selling it with it working well enough that others will then jump on the bandwagon

Improving Ubuntu's application upload process

Posted Sep 6, 2012 7:22 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

>If you have a Linux base, there's nothing (conceptually) preventing you from running libreoffice and thunderbird when docked, but then suspend/checkpoint that software when you undock, using touch-friendly Android apps on the small screen.
Apparently, Ubuntu has done exactly this. It haven't went anywhere.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 7:40 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

I heard that they announced that they were going to, not that they had done so.

If they have done so, the reason it hasn't gone anywhere is that nobody knows about it. I run ubuntu but have no idea how I would install and android app.

There are a couple android apps I'd really like to have, the webex app for one (since Webex has chosen not to support running on 64 bit linux under any conditions, but has a working android app)

Improving Ubuntu's application upload process

Posted Sep 6, 2012 7:49 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

They've demoed it this winter. I think there was even an article on LWN about it. They haven't released a public version of it, unfortunately.

Anyway, I think that's a dead end. Interface switching between ugly OpenOffice and some slick Android app would be too jarring. Far more likely, that Android apps would be modified to work in full "desktop" mode.

So imagine this: you plug in your phone into a dock station, Android apps are snapshotted and then migrated to the dock's CPU (already possible with CRIU or OpenVZ). It can be animated on screen by "expanding" application window from phone size to classic desktop size. All smooth, no jarring switches between eye candy and fugly apps.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 8:07 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

well, if they haven't released it, it seems a bit early to say 'mobody cared'. And as for their demo, did it really implement everything? or just enough to give examples? If they include it in 12.10, publicise it, and then nobody cares I'll start to believe you.

docking units don't have CPUs.

Plus you have this amazing assumption that people who write small android apps can scale them up to full features apps without a problem.

your attitude that the current apps and android apps cannot co-exist, all existing software must be thrown out and re-written is exactly what I expect from the "big boys" I mentioned above.

I expect that the reality is going to be that the convenience of having your entire system with you is going to overcome a lot of the 'opposition' to the continued use of existing 'ugly' apps.

but once people actually have the options we'll see what happens with it.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 10:28 UTC (Thu) by khim (subscriber, #9252) [Link]

Plus you have this amazing assumption that people who write small android apps can scale them up to full features apps without a problem.

Where have you seen this assumption? Yes, people who write Android apps today may not be able to write the full-blown desktop apps. But they work in the same company as the people who write the full-blown desktop apps! They can easily coopt code and people from today's big apps.

This is similar to UNIX-to-Windows switch which happend with such big apps 10-15 years ago. Sure it was painful back then and it will be painful tomorrow, but apps follow the money. And money are in Android and iOS apps, not in the Ubuntu apps.

your attitude that the current apps and android apps cannot co-exist, all existing software must be thrown out and re-written is exactly what I expect from the "big boys" I mentioned above.

Where have you seen such an attitude? It didn't happen last time, why will it happen this time? Yes, unimportant parts (things like support for X Window system or Win32 API) will be ripped out, but core will be kept up. It'll be quite painful for the people who tied up the core to Win32 API, but there will be some adapters, etc. The transition already happend not once, but twice or in some cases trice (from big iron to VMS, then to UNIX and finally to Windows), it'll hapen yet another time.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 14:36 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

>well, if they haven't released it, it seems a bit early to say 'mobody cared'. And as for their demo, did it really implement everything? or just enough to give examples? If they include it in 12.10, publicise it, and then nobody cares I'll start to believe you.
They've implemented it enough to be useful. Still, nobody of large OEMs cared.

>docking units don't have CPUs.
What? I'm off to USPTO then!

But seriously, that's just a logical progression - simply add ability to easily offload apps from a tiny CPU in a phone to a real desktop CPU.

>Plus you have this amazing assumption that people who write small android apps can scale them up to full features apps without a problem.
Why not? We've already seen this happening with iPad apps. Quite a few "real" desktop applications were quickly ported to it (like OmniGraffle, for example).

Improving Ubuntu's application upload process

Posted Sep 6, 2012 19:07 UTC (Thu) by dlang (✭ supporter ✭, #313) [Link]

connecting two CPUs together efficiently is hard, and not something that you are going to do with a docking station (the connector alone will be a large percentage of the size of the mobile device, you aren't just talking about a USB cable or something like that.

Also, a docking station with it's own CPU, memory, etc isn't cheap, but it also already exists (it's called a "desktop computer")

what you seem to be wanting is checkpoint/restore capability to move running applications from one server to another. with the appropriate emulation, the desktop doesn't need to have the same processor architecture that the mobile device has

docking stations are much simpler, they are little more than convienient ways to plug in several devices at once instead of having multiple wires.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 19:10 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

> connecting two CPUs together efficiently is hard
You don't need to do it. Just migrate all running apps to the docked CPU.

>Also, a docking station with it's own CPU, memory, etc isn't cheap, but it also already exists (it's called a "desktop computer")
Yup, and right now it's not integrated with phones. This is just the next step and it has nice smooth continuity from pads/phones.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 10:20 UTC (Thu) by khim (subscriber, #9252) [Link]

Once you have the ability to access the android app store

Sorry to burst your bubble, but Android app store will not be available on this Frankenstein: it's only available on certified devices.

You can create separate app store (like Amazon and Nook are doing), but this will require significant marketing to attract the developers to your store. I don't see anyone with deep enough pockets interested.

I don't expect such things to first show up from the "big boys", they will be trying to do the all singing all dancing single solution to everything. Instead I expect that some of the low-end "knock-off" companies will throw something like this together and start selling it with it working well enough that others will then jump on the bandwagon.

Yup. The only problem: when "big boys" will finally jump on this train they will probably throw away the "regular Linux userspace" to comply with certification requirements.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 16:06 UTC (Thu) by drag (subscriber, #31333) [Link]

> You can create separate app store (like Amazon and Nook are doing), but this will require significant marketing to attract the developers to your store. I don't see anyone with deep enough pockets interested.

There are alternative app stores for Android. Have been since the beginning. And not just Amazon. There were others before that.

example:
http://slideme.org/

...

The problem you are alluding to, of course, is that while Android is open source the Android apps are not. So Google has certification requirements for the platform before you can distribute their software at no-cost.

This is not a insurmountable barrier. I don't know what would be required for Ubuntu to make a 'frankenstein' OS, but it's something they will have to work with Google to do if they want people to have access to the Google applications they are familiar with.

Improving Ubuntu's application upload process

Posted Sep 6, 2012 17:42 UTC (Thu) by khim (subscriber, #9252) [Link]

There are alternative app stores for Android. Have been since the beginning. And not just Amazon. There were others before that.

example:
http://slideme.org/

What devices they are selling? AFAICS this is just an app store for the Android. This is not what Amazon and Nook are doing and this is not what I'm talking about.

The problem you are alluding to, of course, is that while Android is open source the Android apps are not. So Google has certification requirements for the platform before you can distribute their software at no-cost.

Yup. Please read the requirements before you'll go any further. For example, though the Android source code could be ported to run on a phone that doesn't have a camera, the CDD requires that in order to be compatible, all phones must have a camera. This allows developers to rely on a consistent set of capabilities when writing their apps.

"Certification" is not something you can do as afterthough: if you want to receive Google Play then you must design your device specifically for the Google's requirements.

This is not a insurmountable barrier. I don't know what would be required for Ubuntu to make a 'frankenstein' OS, but it's something they will have to work with Google to do if they want people to have access to the Google applications they are familiar with.

This is not about 'frankenstein' OS. This is about 'frankenstein' hardware. I doubt Google will want to certify any hardware which needs third-party platfrom to be fully usabled as "compatible device". This is what happened with tablets, for example: third-party tablets all lacked Google Play till Honeycomb. Because it was impossible to certify them.

And if Android will be extended to effectively support mouse, keyboard and large monitor then why will you want to develop programs for Ubuntu? You'll develop them for Android instead - this will cover larger audience.

Improving Ubuntu's application upload process

Posted Sep 8, 2012 16:17 UTC (Sat) by cesarb (subscriber, #6266) [Link]

> the CDD requires that in order to be compatible, all phones must have a camera.

That FAQ seems to be outdated. Take a look at the current CDD (https://source.android.com/compatibility/4.1/android-4.1-...):

> Device implementations SHOULD include a rear-facing camera, and MAY include a front-facing camera.

That is a SHOULD, not a MUST.

Improving Ubuntu's application upload process

Posted Sep 8, 2012 18:17 UTC (Sat) by khim (subscriber, #9252) [Link]

Yes, the requirements changed with Android 2.3. This is when MUST was replaced with SHOULD WRT camera.

But I'm not talking about sepcifics here, I'm talking about the fact that to get Google Play you need to satisfy pretty long and detailed list of requirements.

Want to create something new and exciting? Feel free: Android is FOSS, after all! Want to get hundreds of thousands applications and, perhaps, small percentage of sales (not sure if Google actually does this or not but this is logic approach)? Talk with Google first and see if they'll be interested in your creation enough to alter the CDD.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds