Thread overview
Chrome OS folding into Android, Android coming to laptops
Nov 03, 2015
Joakim
Nov 03, 2015
Jakob Ovrum
Nov 03, 2015
Joakim
Nov 03, 2015
Jacob Carlborg
Nov 03, 2015
Joakim
Nov 03, 2015
Jacob Carlborg
Nov 03, 2015
Kagamin
Nov 04, 2015
deadalnix
Nov 05, 2015
Joakim
November 03, 2015
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.
November 03, 2015
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?

November 03, 2015
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.
November 03, 2015
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
November 03, 2015
On Tuesday, 3 November 2015 at 09:06:57 UTC, Joakim wrote:
> Android and iOS are gunning for laptops next

Reincarnation of eeePC?
November 03, 2015
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. :)
November 03, 2015
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
November 04, 2015
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...
November 05, 2015
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.