www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Chrome OS folding into Android, Android coming to laptops

reply Joakim <dlang joakim.fea.st> writes:
https://www.thurrott.com/mobile/7541/google-doesnt-quite-deny-chrome-os-android-story

Paulo and I looked into the future and predicted this in June:

Paulo: "Eventually Google will realize [Chromebooks] are as 
useful as WebOS and will merge them with Android."
http://forum.dlang.org/post/geztsimkdkzqdshjafao forum.dlang.org

Me: "ChromeOS strikes me as google trying to use their one hammer 
everywhere, even when there are no nails, ie they're built around 
the web so they made an OS out of it.  But it's frankly kind of a 
dumb idea, I don't see it lasting.

They're working on a multi-window mode for Android, early 
versions of which have been found by those spelunking through the 
recent Android M preview.  Once that's done, I suspect they'll 
start putting Android on laptops too and kill off Chrome OS."
http://forum.dlang.org/post/oroorafcoxqnesowadow forum.dlang.org

Android and iOS are gunning for laptops next, with their recently 
announced Pixel C and iPad Pro, I'm sure desktops will soon 
follow.  When those two platforms went after Windows 
Mobile/Phone, they burned it to the ground:

http://bgr.com/2011/12/13/apple-and-google-dominate-smartphone-space-while-other-vendors-scramble/

Why does this matter for D?  Well, D's still barely on mobile.  
Dan has been providing ldc builds that cross-compile to iOS since 
July and nobody has confirmed that it works for them.  I provided 
patches that'd let anyone compile a mostly working Android 
cross-compiler build of ldc soon afterwards, no confirmed usage 
of that either (several people have run the test runner I made 
available this weekend, thanks to them).

Mobile is a giant opportunity for Ahead-of-Time (AoT) compiled 
languages like D.  The web revolution during the '90s and '00s 
led to the rise of scripting languages, like ruby or python, 
because they could be run easily on the server and used with a 
web frontend.  The current mobile revolution has led to a 
resurgence of AoT-compiled languages, with Obj-C taking off and 
Java and C# finally going AoT-compiled on Android and WP.

However, there is no single cross-platform AoT-compiled language 
you can use on all of these mobile platforms.  There is no modern 
language you can use on all of them, as Swift is still iOS-only.  
D could be that language, the mobile wave is one D cannot afford 
to miss.
Nov 03 2015
next sibling parent reply Jakob Ovrum <jakobovrum gmail.com> writes:
On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
 Android and iOS are gunning for laptops next, with their 
 recently announced Pixel C and iPad Pro, I'm sure desktops will 
 soon follow.  When those two platforms went after Windows 
 Mobile/Phone, they burned it to the ground:

 http://bgr.com/2011/12/13/apple-and-google-dominate-smartphone-space-while-other-vendors-scramble/
I think it's important to consider the divide between consumers and, for lack of a better term at the top of my head, "content creators". Mobile OS' notably lack support for the latter use cases, like writing documents and spreadsheets, multimedia editing, programming etc. Mobile OS on laptop hardware will probably initially be competing solely for the consumer market, including the segment that already moved to tablets. This isn't just a random digression, I think this matters for D. Maybe my interpretation is too simplistic, but I don't think D has a presence in consumer-oriented software on traditional OS' either, what with the lack of drive behind GUI infrastructure. If we move on mobile application front-ends, this will be mostly new territory for D. But maybe we will first and foremost see D encroach on the spot that C++ has on Android today, which in my impression appears to be in games and optimized background services. For Android in particular, it's much easier for us to bind the C++ API than the Java API.
 Why does this matter for D?  Well, D's still barely on mobile.  
 Dan has been providing ldc builds that cross-compile to iOS 
 since July and nobody has confirmed that it works for them.  I 
 provided patches that'd let anyone compile a mostly working 
 Android cross-compiler build of ldc soon afterwards, no 
 confirmed usage of that either (several people have run the 
 test runner I made available this weekend, thanks to them).
I'll give it a go. I've experimented with D on Linux/ARM before, I just haven't had a project I want to run on any of my ARM devices.
 However, there is no single cross-platform AoT-compiled 
 language you can use on all of these mobile platforms.  There 
 is no modern language you can use on all of them, as Swift is 
 still iOS-only.  D could be that language, the mobile wave is 
 one D cannot afford to miss.
What do you think the roadmap should be for improving D's presence on mobile?
Nov 03 2015
parent Joakim <dlang joakim.fea.st> writes:
On Tuesday, 3 November 2015 at 10:17:42 UTC, Jakob Ovrum wrote:
 On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
 Android and iOS are gunning for laptops next, with their 
 recently announced Pixel C and iPad Pro, I'm sure desktops 
 will soon follow.  When those two platforms went after Windows 
 Mobile/Phone, they burned it to the ground:

 http://bgr.com/2011/12/13/apple-and-google-dominate-smartphone-space-while-other-vendors-scramble/
I think it's important to consider the divide between consumers and, for lack of a better term at the top of my head, "content creators". Mobile OS' notably lack support for the latter use cases, like writing documents and spreadsheets, multimedia editing, programming etc. Mobile OS on laptop hardware will probably initially be competing solely for the consumer market, including the segment that already moved to tablets.
Yep, I agree, with the caveat that full MS Office is supposedly already on Android/iOS- I haven't tried it- and it wouldn't take long for the rest of those apps to get ported over. Less enterprise-oriented content creators are the target for this mobile expansion into laptops and desktops. With all the enterprise and LoB apps deployed on Windows, Microsoft may retreat into the enterprise, just as IBM did when Wintel took over the PC platform in the '90s.
 This isn't just a random digression, I think this matters for 
 D. Maybe my interpretation is too simplistic, but I don't think 
 D has a presence in consumer-oriented software on traditional 
 OS' either, what with the lack of drive behind GUI 
 infrastructure. If we move on mobile application front-ends, 
 this will be mostly new territory for D. But maybe we will 
 first and foremost see D encroach on the spot that C++ has on 
 Android today, which in my impression appears to be in games 
 and optimized background services. For Android in particular, 
 it's much easier for us to bind the C++ API than the Java API.
Again, I agree, though there is no C++ API that I know of, all C APIs as far as I know. Many of the Java APIs are unavailable through C, so judicious use of Java and JNI will be necessary if you want those. I have not actually tried JNI yet, but I doubt it'd be an issue, given that it works with C and C++. While many will likely take the current approach of writing their GUI frontend in Java and their application logic/backend in a native language like D, we should also try to provide native GUI options, whether wrapping the touch version of Qt, translating some existing OpenGL-based GUI toolkit into pure D, or writing our own from scratch.
 Why does this matter for D?  Well, D's still barely on mobile.
  Dan has been providing ldc builds that cross-compile to iOS 
 since July and nobody has confirmed that it works for them.  I 
 provided patches that'd let anyone compile a mostly working 
 Android cross-compiler build of ldc soon afterwards, no 
 confirmed usage of that either (several people have run the 
 test runner I made available this weekend, thanks to them).
I'll give it a go. I've experimented with D on Linux/ARM before, I just haven't had a project I want to run on any of my ARM devices.
I forgot to mention in this thread that I'll soon provide a ldc cross-compiler for linux/x86 and write up instructions on the wiki on how to build and use ldc for Android.
 However, there is no single cross-platform AoT-compiled 
 language you can use on all of these mobile platforms.  There 
 is no modern language you can use on all of them, as Swift is 
 still iOS-only.  D could be that language, the mobile wave is 
 one D cannot afford to miss.
What do you think the roadmap should be for improving D's presence on mobile?
Step 1. Somebody other than Dan and me needs to download and try building D code with the mobile cross-compilers/patches we've provided. Everything else will flow from that. Other steps: - Help fix the remaining bugs. - Integrate with Travis CI, as mentioned in the thread where I announced the Android test runner: http://forum.dlang.org/thread/wnaxhoadwibctcbwpctl forum.dlang.org - Port some D/OpenGL apps, especially games, to mobile and submit them to the app stores, if only to say it's been done. Right now, I think we need to talk about our plans for mobile. How are we going to capitalize on this opportunity for D? There's been a lot of muttering over the years, "Yeah, we need to get on mobile," both from devs who wanted it and the core team. Well, now we're 97% there: what now? We need to get together, gather feedback, start planning, and put forward a credible toolchain for mobile.
Nov 03 2015
prev sibling next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2015-11-03 10:06, Joakim wrote:

 as Swift is still iOS-only
Swift was available on OS X from day one. When Swift 2.0 was released it was open sourced and made available on Linux as well. -- /Jacob Carlborg
Nov 03 2015
parent reply Joakim <dlang joakim.fea.st> writes:
On Tuesday, 3 November 2015 at 11:57:29 UTC, Jacob Carlborg wrote:
 On 2015-11-03 10:06, Joakim wrote:

 as Swift is still iOS-only
Swift was available on OS X from day one.
"mobile platforms. There is no modern language you can use on all of them, as Swift is still iOS-only" Since when is OS X a mobile platform? ;)
 When Swift 2.0 was released it was open sourced and made 
 available on Linux as well.
That was _announced_ with Swift 2.0, but my google searches show it has neither been open sourced nor made available for linux yet. I mentioned Swift as a compliment: note that I didn't mention Go or Rust, which already have mobile support for iOS and Android. On Tuesday, 3 November 2015 at 13:40:52 UTC, Kagamin wrote:
 On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
 Android and iOS are gunning for laptops next
Reincarnation of eeePC?
Well, we all know how scared Microsoft got of the much smaller Asus and other netbook vendors last time, cutting the price of Windows 7 to fend the netbooks off. I suspect this time MS will simply cut and run. :)
Nov 03 2015
parent Jacob Carlborg <doob me.com> writes:
On 2015-11-03 15:28, Joakim wrote:

 Since when is OS X a mobile platform? ;)
Fair enough.
 That was _announced_ with Swift 2.0, but my google searches show it has
 neither been open sourced nor made available for linux yet.
Hmm. Didn't know that. -- /Jacob Carlborg
Nov 03 2015
prev sibling parent reply Kagamin <spam here.lot> writes:
On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
 Android and iOS are gunning for laptops next
Reincarnation of eeePC?
Nov 03 2015
parent reply deadalnix <deadalnix gmail.com> writes:
On Tuesday, 3 November 2015 at 13:40:52 UTC, Kagamin wrote:
 On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
 Android and iOS are gunning for laptops next
Reincarnation of eeePC?
Without the user control. I wouldn't buy such a machine...
Nov 04 2015
parent Joakim <dlang joakim.fea.st> writes:
On Wednesday, 4 November 2015 at 23:15:32 UTC, deadalnix wrote:
 On Tuesday, 3 November 2015 at 13:40:52 UTC, Kagamin wrote:
 On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
 Android and iOS are gunning for laptops next
Reincarnation of eeePC?
Without the user control. I wouldn't buy such a machine...
I cannot think of devices that have more potential user control than Android and ChromeOS. Companies like Sony advertise easy unlocking of their bootloader to run your own custom Android ROM, on which you can do almost anything you want: http://developer.sonymobile.com/unlockbootloader/unlock-yourboot-loader/ Of course, you don't get the control of a linux distro right out of the box, but almost nobody is selling such a device right out of the box. That may be what you want, but almost nobody else does.
Nov 04 2015