Windows8 any takers ?

Discussion and support for general JUCE issues

Re: Windows8 any takers ?

Postby jfitzpat » Thu Jun 21, 2012 1:09 am

jules wrote:Yes, sounds interesting.. (Or maybe another Zune-type disaster!)

I'm way too overstretched at the moment to consider doing a Win8 port in the near future though.


FWIW, a Juce 2.x built app runs on the x86 version being shown for demos right now... ;-)

Aside from the possibility of another Zune, I don't think that a little lag on Win RT support would be a bad thing at all. I missed Sonic's response above back in March. At that point, he would have been mistaken. The Marble sample he posted would only run on Windows 8/x86, not Win RT. Officially, that really just changed over the last few weeks, with a public announcement today.

http://leviathyn.com/blog/2012/06/20/mi ... -8-gaming/

It's still not clear what 'very little programming changes' means... It will probably be another few months before the form a JUCE port is required to take is really settled. Officially, it still looks a lot more like the Android port at the moment, but it was only back in March that Microsoft was swearing that the DirectX choices were fixed and that game developers would just easily adapt... I wouldn't hold my breath over not needing the idiotic Microsoft specific C++ extensions (Zune meets CLI perhaps?), but there has been some noise about some additional services besides DirectX being available from the pseudo C++ side on the non public forums.
User avatar
jfitzpat
JUCE UberWeenie
 
Posts: 251
Joined: Tue Jan 10, 2012 6:29 am
Location: Glendale, California

Re: Windows8 any takers ?

Postby sonic59 » Thu Jun 21, 2012 2:48 am

At that point, he would have been mistaken. The Marble sample he posted would only run on Windows 8/x86, not Win RT. Officially, that really just changed over the last few weeks, with a public announcement today.


I disagree. The marble sample was originally posted during Microsoft Build conference on September 14, 2011. [1] It was well known that the sample was a "Metro" app not a "Desktop" app. [1] Also during the Build conference it was confirmed by Microsoft that only "Metro" apps would be run on Windows on ARM machines. [2] [3]. Thus it was public knowledge in September 2011 that the Marble sample would run on ALL versions of the new Windows regardless of architecture (x86/x64/arm).

[1] http://channel9.msdn.com/events/BUILD/B ... /PLAT-750T
[2] http://www.anandtech.com/show/4771/micr ... -preview/5
[3] http://www.microsoft.com/investor/downl ... xecQA.docx

with a public announcement today


Today's announcement had to do with Windows Phone 8 not Windows RT.

It will probably be another few months before the form a JUCE port is required to take is really settled.


Windows 8 is already at Release Candidate status, I highly doubt the API will be changing much if at all at this point.

I wouldn't hold my breath over not needing the idiotic Microsoft specific C++ extensions


You are not required to use C++/CX. You can use the Windows Runtime C++ Template Library instead. [4]

[4] http://msdn.microsoft.com/en-us/library/hh438466(v=vs.110).aspx
sonic59
JUCE UberWeenie
 
Posts: 224
Joined: Tue Mar 09, 2010 5:51 pm

Re: Windows8 any takers ?

Postby jfitzpat » Thu Jun 21, 2012 7:00 am

sonic59 wrote:At that point, he would have been mistaken. The Marble sample he posted would only run on Windows 8/x86, not Win RT. Officially, that really just changed over the last few weeks, with a public announcement today.

I disagree. The marble sample was originally posted during Microsoft Build conference on September 14, 2011. [1] It was well known that the sample was a "Metro" app not a "Desktop" app.


Uh, you do realize that Metro is the new look of Windows 8, period, right? Metro is the desktop, and not just on tablets (see the link for the sample app in question, it points you to the Windows 8 Preview).

Metro pretty much looks like Metro on all platforms (Windows 8 x86, Windows 8 WinRT, Windows Phone 8), but WinRT and x86 do not really completely overlap. Just how much and where has undergone a ton of changes since the beginning of the year. The reason that the phone announcement matters, is it is the best indicator for the WinRT winds of change. It is a WinRT platform.

One reason that our perspectives may be so out of sync is we're already developing for the platforms, with Microsoft. From that point of view, things still seem pretty fluid and subject to pretty rapid change. For folks not on the bleeding edge, the messaging from Microsoft probably makes things seem a lot more seamless and road mapped. I'm pretty sure that Windows 8 (x86) will launch on time. It's basically Metro UI on top of existing Windows. Win RT (Windows on ARM) seems a lot more iffy. A few vendors have announced that they will have tablets, etc. (ASUS, Microsoft, etc.), but everyone is being coy about launch dates for a reason- and it's obviously not hardware, companies like ASUS already make ARM tablets in volume.

One thing about the Surface(s) announcement that concerned me was how much crappier the WinRT unit's display was, not just compared to the Win Pro (x86) version, but current iPad/Android offerings. I heard some rumors about this from one of the HW OEMs, but didn't believe it until the tablets were actually announced.
User avatar
jfitzpat
JUCE UberWeenie
 
Posts: 251
Joined: Tue Jan 10, 2012 6:29 am
Location: Glendale, California

Re: Windows8 any takers ?

Postby sonic59 » Thu Jun 21, 2012 2:32 pm

Metro - A design language common to Windows 8, Windows RT, Windows Phone 8, Xbox [1] [2]

[1] http://www.microsoft.com/design/toolbox ... e-7/metro/
[2] http://en.wikipedia.org/wiki/Metro_(design_language)

Metro style app - An app that can run on Windows 8, Windows RT, can be sold through the Windows App Store, programmed using the WinRT API and a reduced set of Win32/COM APIs. [3]
Desktop app - An app that can run on Windows 8, cannot be sold through the Windows App Store, programmed using any Win32/COM API[4]

[3] http://msdn.microsoft.com/en-us/windows/apps
[4] http://msdn.microsoft.com/en-US/windows/desktop

x86/x64 Architectures - Can run Windows 8. Windows 8 can run Metro style apps and Desktop apps. [5]
ARM Architecture - Can run Windows RT and Windows Phone 8. Windows RT can run Metro style apps. [5]

[5] http://windowsteamblog.com/windows/b/bl ... tions.aspx

When I said:
the sample was a "Metro" app not a "Desktop" app.

I was referring to "Metro style app". I just left out the word style.

The marble sample is a "Metro style app". [6]

[6] http://code.msdn.microsoft.com/windowsa ... e-e4806345
sonic59
JUCE UberWeenie
 
Posts: 224
Joined: Tue Mar 09, 2010 5:51 pm

Re: Windows8 any takers ?

Postby atom » Thu Jun 21, 2012 2:42 pm

I've been running windows8 on my desktop for some time now, and i must say the METRO UI is useless on a classic keyboard+mouse setup, it's a pain to navigate and i don't know if i want to get used to that (i stay on the classic side of the windows UI, though the lack of Start button and some other changes make it even harder to work with).

I have a dual monitor display and in Win8 there are hot corners or hot edges, with 1680x1050 resolution on each one, hitting the desired areas to get those slide-menus to open is a pain in the ass to say the least. I don't know how that classic side of windows will evolve but the road they've chosen so far scares me a little. There has been some info from MS that they will start making their own hardware like Apple. Don't know what this means for normal PC users like me. It's been already said that the ARM hardware with Win8 will be locked down (http://www.extremetech.com/computing/11 ... ying-apple) with x86 open (or partially open).

The good news is that the free version of Visual Studio will be available and will support normal windows API not like it was said before that it will only do WinRT.
User avatar
atom
JUCE UberWeenie
 
Posts: 1115
Joined: Thu Feb 15, 2007 11:36 am

Re: Windows8 any takers ?

Postby jfitzpat » Thu Jun 21, 2012 4:02 pm

sonic59 wrote:Metro - A design language common to Windows 8, Windows RT, Windows Phone 8, Xbox [1] [2]


This is getting silly. When I pointed out that the two mechanisms for expressing 'Metro' weren't yet C++ (or even hacked up C++) yet, you posted a Windows 8 sample that uses one of the mechanisms, and claimed that it did not. Since I'm actually cursed enough to have to work with this craptacular, I tried to break it down for you, metro is a new UI which either sits on top of either good 'ol Win32, or a native WinRT, like arm. Now, since metro requires one of the tools to describe UI (and Microsoft went so far as to modify C++ to support the same scattered class definitions created by these tools), you are citing the tools you originally denied as not necessary to somehow prove that metro is a language, not a UI... Footnotes (which are cute by the way) or not, this is called 'circular reasoning'. Perhaps even, *gasp*, arguing for the sake of arguing.

Fortunately for everyone, I don't need to be right. I am happy to defer to your vastly deeper knowledge. Hopefully you will start putting that knowledge to work porting Juce to the platform. Having dug down enough to fix a few bugs in the native layers of iOS, Android, and Linux it strikes me that the project should not be especially hard, just big - all the more reason for me to stop distracting you from it...
User avatar
jfitzpat
JUCE UberWeenie
 
Posts: 251
Joined: Tue Jan 10, 2012 6:29 am
Location: Glendale, California

Re: Windows8 any takers ?

Postby jfitzpat » Thu Jun 21, 2012 4:10 pm

atom wrote:I've been running windows8 on my desktop for some time now, and i must say the METRO UI is useless on a classic keyboard+mouse setup, it's a pain to navigate and i don't know if i want to get used to that (i stay on the classic side of the windows UI, though the lack of Start button and some other changes make it even harder to work with).


It hasn't grown on me either. It's OK at phone size, kind of fun. But even at tablet size it gets on my nerves in a hurry. But it tests really high with certain demographics of consumers, so MS thinks they have something really game changing.

atom wrote:The good news is that the free version of Visual Studio will be available and will support normal windows API not like it was said before that it will only do WinRT.


I wish I could repost some of the comments from the private forums, some were a great balance of funny and scathing. But, personally, I'm not sure if the respite is long term or just a reflection of all the last minute changes to WinRT. Looking at the Surface announcements, clearly the Pro (good 'ol x86) is expected to be the interesting product this year.
User avatar
jfitzpat
JUCE UberWeenie
 
Posts: 251
Joined: Tue Jan 10, 2012 6:29 am
Location: Glendale, California

Re: Windows8 any takers ?

Postby sonic59 » Thu Jun 21, 2012 5:47 pm

arguing for the sake of arguing


I hope I am not coming off that way, it certainly is not my intention. You are obviously very knowledgeable about this subject and have access to information sources that I don't have. I simply want to understand things correctly.

I think our back and forth pretty much comes down to mis-interpretations over "metro" and "metro style app". I've been saying stuff like "metro app" and "C++/CX WinRT app" when I really meant "Metro style app". Whenever you've been talking about metro, I've always thought you were talking about "Metro Style apps", but in hindsight I think you were actually talking about "Metro" (Design Language).

With that in mind, I think we are in agreement.

"Metro" (Design Language) looking applications - UI must be written using XAML or Javascript
"Metro Style apps" - UI can be written using XAML, Javascript or DirectX (pure C++). UI does not have to look like "Metro" (Design Language).

Hopefully you will start putting that knowledge to work porting Juce to the platform.


Well I'm hoping all of the updates to the Direct2D code I wrote and that Jules has put into the tip will help speed up this process.
sonic59
JUCE UberWeenie
 
Posts: 224
Joined: Tue Mar 09, 2010 5:51 pm

Re: Windows8 any takers ?

Postby emeyer » Sun Jul 29, 2012 7:55 am

That, I totally understand :)

Recently Microsoft fixed a date for its Windows tablet announcement in October. It doesn't seem sensible to do anything until it's clear whether the tablet is a Newton. Given Apple's dominance currently, Microsoft may be getting ready for a real push on tablets; but when Microsoft went into the game console market, it moved xbox forward very slowly at first. So, it's difficult to know until October. Either way, there's no better way to go multiplatform than Juce )
http://yofiel.com
User avatar
emeyer
JUCE Obsessive
 
Posts: 50
Joined: Sun May 24, 2009 9:55 pm
Location: http://facebook.com/ernestmeyer3

Re: Windows8 any takers ?

Postby P4tr3ck » Tue Sep 25, 2012 1:35 pm

At this point in time it seems to be clear that there will be no way to get an app written with JUCE into either the Windows 8 or the Windows Phone app store without support for the new previously named metro style skds.
P4tr3ck
JUCE UberWeenie
 
Posts: 120
Joined: Tue Mar 29, 2011 9:28 pm

Re: Windows8 any takers ?

Postby chordofdiscord » Tue Sep 25, 2012 7:23 pm

jules wrote:I think that WinRT actually looks like a pretty good API, but the thought of supporting yet another completely new platform.. Aghh...!!



I just took about 20 minutes to describe in details how horrid and disgusting the Metro API actually is, and it must have been so bad my browser crashed and when I restored it it was all gone.

Long story short - Metro is a good API in the way that it works well and is complete. However, working with Metro, the "amazing new paradigms" it enforces, the extra "language extensions" - new keywords and operators, intended to make your code non-portable - it really makes me want to puke. I spent about an our watching a presentation on Metro style app development with C++, about half way through I simply couldn't get any more and vowed to never ever touch the Metro API even with a stick.

Don't get me wrong, I like the visual aspects of Metro, the minimalism, the USER experience it provides. But the DEVELOPER experience is a completely different picture. The new keywords, the new operations, the new partial classes - who would want his classes spread across a dozen of different source files, to spend more time tracking what is where than actually developing? And Metro's operations - don't even get me started. The concept is that for every operation, before you can execute it, you have to tell it what happens next. So in a regular C++ API you'd do something like:

Code: Select all
File file = FileOpenDialog();
if (file) someObject->name= file.getName;


And that's it!!!

With Metro it is a little more "elegant"

Code: Select all
FileOpenPicker openPicker = ref new FileOpenPicker();
auto pickOperation = openPicker->PickSingleFileAsync();
pickerOperaiton->Competed = ref new AsyncOperationCompletedHandler<StorageFIle^>(
   [someObject](IAsyncOperation<StorageFIle^)^ operation)
      {
      StorageFile^ file = operation->GetResult();
      if (file) someObject->name = file->FileName;
      }
)


This horror done in the name of Asynchronicity, even thou there are much less painful ways to keep an app from blocking the UI thread, like... umm... simply having a dedicated UI thread... But it gets even better, if you have a number of operations in a row it gets really nice, you cannot start operation1 before you define its Completed handler, so if the Completed handler is operation2, you cannot start operation2 and subsequently operation1 before you define the Completed handler for operation2. And it gets EVEN BETTER, you have to start operation2 inside the handler of operation1, so you must nest the handler for operation2 inside the handler of operation1. And if you have 10 operations in a row, you pretty much end up with a wall of code that goes back in time before the age of procedural programming in some odd, backwards cascading fashion. Or alternatively, you can use regular functions in the place of the lambdas, but that only makes the code less readable, and you still have to nest the handler function pointer within a handler function, according to the order of the operations.

Oh, and last but not least, I think I should mention the InsanelyLongOperationStatusHandlerNames that can put to shame even the most old-school hardcore C API in existence.

I honestly cannot imagine anyone willingly putting himself through this hell, it either has to be demanded by an employer or you have to be a blind fanatical MS fanboy devotee to do that to yourself.

As for me, a few dozen lines of code and the "Metro" style can perfectly be implemented in a good, cross platform framework like JUCE or Qt that will still offer the nice USER experience, with the added benefit of being portable, while saving me the horrible DEVELOPER experience that the Metro API is designed to conform to (no, it is not optional, MS knows if it is optional on one will use it). And if that closes the doors to the MS app store for my app, well that is going to be an obstacle only for people with less than 2 working brain cells.
Last edited by chordofdiscord on Tue Sep 25, 2012 7:33 pm, edited 1 time in total.
chordofdiscord
JUCE Weenie
 
Posts: 15
Joined: Mon Sep 17, 2012 1:37 pm

Re: Windows8 any takers ?

Postby emeyer » Tue Sep 25, 2012 7:31 pm

That's a common complaint about javascript in general, nonethless I know what you're saying. I tried to find a Metro API for audio I/O last month. On the developer site there was a long chunk of code without much documentation. A tiny footnote at the bottom said it didn't work, and to click a link for the code fix, but the link 404ed.
http://yofiel.com
User avatar
emeyer
JUCE Obsessive
 
Posts: 50
Joined: Sun May 24, 2009 9:55 pm
Location: http://facebook.com/ernestmeyer3

Re: Windows8 any takers ?

Postby chordofdiscord » Tue Sep 25, 2012 7:43 pm

LOL a wall of dead code with a dead link for the fix, gotta love MS

BTW I haven't paid that much attention into it, but I have heard people complaining Windows 8 will actually make it harder to write low latency high performance audio applications. Something to do with the kernel and the architecture or.. I don't know. I've heard statements of the sort "worse than Android" which is about as lousy as it gets in terms of audio latency. I myself plan to give 8 the Vista treatment - skip it, unless I get a slate or something, but I won't be putting it on my workstation PC. Hopefully by the time Windows 9 arrives either MS will have learned from their mistakes or Linux driver support will be mature enough to leave all the MS crap behind for good.
chordofdiscord
JUCE Weenie
 
Posts: 15
Joined: Mon Sep 17, 2012 1:37 pm

Re: Windows8 any takers ?

Postby emeyer » Tue Sep 25, 2012 7:52 pm

Thanks for the insight. I'll follow that )
http://yofiel.com
User avatar
emeyer
JUCE Obsessive
 
Posts: 50
Joined: Sun May 24, 2009 9:55 pm
Location: http://facebook.com/ernestmeyer3

Previous

Return to General JUCE discussion

Who is online

Users browsing this forum: StephaneCharette and 2 guests

cron