Developing apps for Xbox One? - windows-8

I've heard that Xbox One application development is quite similar to Windows 8, but I haven't found much to suggest why, or what differences there are.
Is there any documentation about creating Xbox One applications (not games, apps.. like Netflix, etc), or even how to apply to obtain such information?

I've been trying to find more details myself. It sounds like the ability to develop apps is coming:
http://arstechnica.com/gaming/2013/10/wait-can-the-xbox-one-really-run-generalized-windows-8-apps/
Nothing to announce today, but when I talk about that common core,
you're seeing that common core in action, being able to target other
devices over time that run the Windows 8 engine.
If you want to know about how to get a head start about thinking about
developing for Xbox One, the logical thing to do is [to] go build
Windows 8 applications.
There are some additions in WinRT designed to allow interaction with Kinect:
http://www.oxm.co.uk/59024/features/what-its-actually-like-to-develop-for-xbox-one-microsoft-explains/?page=2
The applications are very similar to Windows 8, like we brought a lot
of the Windows 8 namespace - WinRT can be used for building those
applications, the time it takes to port a Windows 8 application to the
new Xbox? It's super, super easy. There's some things we added to the
platform for handling gestures, for handling voice and handling ten
foot UI paradigms.
Right now it appears the most you can do is try out your app ideas in WinRT and wait until an Xbox One SDK appears.

I've worked on a few of the launch apps for Xbox One. Unfortunately, you cannot get an app on the platform unless you've been invited (at this point in time), however rumour has it that MS may open up the platform a bit more in the next year or two.
All documentation and information regarding the development itself is all under strict NDA, so it's highly unlikely that you'll find any in depth details.
If you're interested, you can always try contacting the Xbox team for more information.

Important update on this topic:
Every Xbox One is now capable of going into developer mode via the Xbox Dev Mode App. Games and more importantly apps can now be developed by anyone.
FAQ on this topic: http://support.xbox.com/en-US/xbox-one/apps/developer-mode-activation-app-faq

Microsoft currently does not have any official documentation for Xbox One Apps, however it seems that if you go here: http://www.xbox.com/en-us/Developers/id You can register to become a developer for the Xbox One and get the development kit so you can develop apps for it.
Main information about developing for the Xbox can be found at http://www.xbox.com/en-US/developers, which includes how to register for an Xbox One development Kit
and the different tools and middleware that can be used to create games/apps for the Xbox. More documentation for the Xbox One will most likely get published by the end of this year.
To add to what I said, I recommend creating apps for the windows phones as it will show Microsoft that you can successfully build apps for their products. If your app gets enough downloads they will probably allow you to create an app for the Xbox One because you already have a track history

You could use Unity because it can use cross-platforms like Xbox, iPad, iPhone, PS4 and more. Also you can create 3D and 2D apps for development and to upload it to the phone you can use Xcode to build and run the unity project on the phone. If you get stuck you can always go to https://unity3d.com.

Related

unity platform for apps

I am considering making a small app for desktop pc's. I would mainly like to have support for mac and for ubuntu (linux) and I wouldn't mind support for windows as well. An easy way seems to develop an app using Unity, but it is more known to be an engine for games.
To my simple logic, there should be no reason why an app cannot be built with Unity. A platform that features the ability to create massive laser marine gunbattles should be capable of rending pretty buttons and a user interface. The plus side is that with unity you can port to all platforms that I would like this app to run on as well.
Am I making a bad assumption? Are there any people that have done such things? The app I would like to make might be open source, does the Unity platform limit me in any way here?
You are correct in your reasoning that it is possible to make a normal app with Unity, but this of course is not what Unity was intended for. It is geared towards rendering and updating scenes (including physics, game logic, etc.). If you do not need the notion of scenes in your app, then you will add additional complexity to your development and run-time overhead that you would not normally need.
Another drawback is that you will need to abide by Unity's licensing with your app which may or may not be an issue for you (https://store.unity3d.com - See links at the very bottom for other special licenses, such as for gambling).
Since you mentioned Unity specifically, it uses Mono for some of its run-time support across platforms. Perhaps you want to consider using just Mono and associated tools instead (http://www.mono-project.com).

Compatibility of titanium and TideSDK

As far as I know TideSDK is what used to be Titanium Desktop, right?
I'd like to ask if somebody has experience in reusing (mostly the business logic and data access) components of Titanium mobile in TideSDK?
Ive developed for both and in my experience Titanium for mobile and TideSDK are fairly incompatible at this point.
This is one of the reasons Appcelerator open sourced the project and stopped working on it. It was diverging so much from their company goal of a robust mobile API that it did not make sense for them to work on it. The API's at this point are very different, as well as the technology and workflow, across the dev stack from UI to business logic, to data access, to backend.
The only parts I was able to reuse were pure JavaScript utility files, and the Titanium local DB access scripts.
You can use most of your javascript code within TideSDK without much modifications. There is fundamental difference between various UI components on Desktop platforms and Mobile platforms. Taking example .. in desktop your application have window..and u can have separate UI Items like system tray, taskbar etc. whereas in mobile you would generally control the entire screen and various UI components are very different than desktop.
This is why you need to implement the native interfaces in desktop and mobile separate way but most of the business logic would remain unchanged.

Rapid application development for Nokia E5 (Symbian S60 v3)

I often need simple personal apps on my phone and I'd like to make them. I know some programming (C++, Delphi, some Java, MATLAB, Visual Basic). I don't have any idea about where to start, what can I do, how the issue of "app signing" can impact on this.
One app should help to manage links between book pages, basically it has to handle a small database in which I can add books (title, ID) and linked pages (couples of numbers). The database must be obviously persistent.
The other app should let me program a number of time counters. I don't need persistence between app startups.
I tried Qt Creator, but let alone some problems about installation, it looks like it's made for S60 v5. I don't know where to start. I used to make small utilities for my computer in Delphi, which saved me much time; now that I have a small portable PC like the E5, it could be very useful to have, for example, a portable random number generator, or similar simple apps for personal use.
Someone please give me a kick-start!
Update: I've managed to make the timers application in J2ME, it took a week of investigation (1-2 hours a day)
I did software development for Symbian C++ for more then 6 years. I stopped it something like a year ago when Nokia declared that it is going to kill it. Symbian did not became never popular between application developers because it is EXTREMLY complicated to start developing on it. It will take long-long weeks, maybe months to get running something own for the first time. And that time maybe there will be no new Symbian devices sold... you better invest your time in something that has more future.
Qt is good, qt is MUCH easier to start with and the knowledge you gain you can use also for software development for desktop (Windows, OS-X, linux crossplatform) and other embedded (linux) devices. In one word it has some future.
Qt applications run also on 3.2 devices, just you will have to install the Qt runtime on your phone. You also don't have to use the latest SDK but 1.1.2, this has support for older platforms.
If you want to develop only for your own, you can create a "developer certificate" for free that you can use to sign your applications - they will install only on your phones (you have to specify the IMEI of the phone). You can find more info about signing at http://www.symbiansigned.com.
Take a look here: http://www.developer.nokia.com/Community/Wiki/Category:Symbian
There's a lot of information regarding development options available for S60.
I suggest you take a closer look at J2ME, reasons being:
J2ME is a mature & thriving language with a lot of documentation and examples available.
The midlets (apps) you produce can also be installed on S40 devices. S40 is currently the world's most widely used mobile phone platform.

Is there any way to write a WinRt (Metro) app that will also work on Windows 7 and Vista?

We can’t just leave our customers that are not able to upgrade to windows 8 for a long time in the larch. However there is demand for a “tablet”/”touch” version of our app.
So how can we support both touch with Metro on Windows 8 and our current customers from a single code base?
When WPF come out, after a lot of “Pushing” Microsoft saw since and make it work on Windows XP – has anything like this been talked about for WinRT.
(I am not expecting any solution to work on XP, as XP support is being wound down.)
See Also: Can the ARM version of Windows 8 only run Metro (WinRt) style apps?
The best answer is that you do not want the same application to run on Windows 7 and Windows 8 Metro style. The UI that works best for mouse and keyboards (windows 7) will not work well for a touch-first presentation and visa versa. It is important to re-imagine the UI for the two different worlds.
That said, you have 2 options if you want to share a lot of the code:
1) Write it largely in JavaScript/HTML5. This will let you re-use many of the assets (especially the business logic parts).
2) Write it in (desktop) Silverlight. The Silverlight XAML is closest to Windows XAML. WPF is further away and will require more re-work later.
In either case, you should look at and follow the principles used when writing cross-platform code. Understand the platform dependencies and isolate them behind indirection boundaries. You want to localize all of the code that will have to change. For instance, you don't want calls to the .Net System.IO.File APIs which you know will have to change to Windows.System.Storage calls being scattered throughout your code. Instead, you want it localized in one function that can be modified later.
The only way I can think of is to implement your application in HTML5/CSS3/JS, and avoid using WinRT APIs inasmuch as possible - this may be feasible depending on what, exactly, your app needs to do (e.g. portable 2D graphics is easy with HTML5 canvas).
Then, for Win8, you'll package this as Metro web app. For Win7 and below, you write a simple app that embeds your browser of choice (not IE9, since it doesn't work on XP - so Firefox or Chrome) with all chrome hidden, and loads your HTML5 app inside that embedded browser.
As others have noted, you would not want to have exactly the same application working in Win8 Metro and Win7 / Vista Desktop. If you structure your application properly, using a suitabel design pattern, it is possible to share quite a bit of code between the various version that you would require. For the Win8 version, you will be using WinRT, for Win7 / Vista you have a choice of Silverlight or WPF.
I have published a couple of articles that demonsrate how this can be done, they include quite a bit of code as well:
XAMLFinance – A Cross-platform WPF, Silverlight & WP7 Application - while this article does not cover Win8, it does share code from WPF to Windows Phone 7, which is a very similar problem.
TweetSearch – A Cross platform Metro UI WinRT and Silverlight Application - this article shows how to use the same techniques to share code between WinRT and Silverlight
It is unlikely that we'll see Microsoft push the Metro-style
application framework back to past releases due to the level of
re-architecting that went into Windows 8.
I agree with Zac on this point. It appears Microsoft is definitely pushing both the technology and usability forward with the introduction of Windows 8 (and Windows Runtime).
The Metro UI is a different UI paradigm. If your using the current
Win32 controls (which includes WPF controls), your application will
look really dated in Metro. The only way to fix that is to
re-implement the UI (your View classes in an MVVM design) using Metro
controls. However, C# and majority of the .NET APIs are first class
citizens in this new environment. The rest of your application should
be fine.
As you already have what I assume a rather large application your best solution would be separate your view from your model-viewmodel. Then you can continue to develop both Windows 8 Metro full-screen touch-friendly awesome interfaces and the "classic" window interface (what we have done for the last x number of years). With good separation, design, and an excellent source control solution (i.e. Perforce) you will able to share a lot of the code base.
In addition to the answers given to your recent question on Windows Runtime Bill Wagner (one of the many C# bloggers that I follow) has posted summary on WinRT and managed languages conference sessions; it is an good read and recommended if you have a few minutes. One of the things that his summary clarified (in the FAQ at the end) was that the future of .NET as the branding for the framework we use is going to be replaced with Windows Runtime.
Another piece from Bill's blog post:
Some of the .NET APIs are changing for WinRT. I don’t have an
exhaustive list, and I’m not sure there is one yet. Other APIs are not
exposed via WinRT. (They are still available as .net APIs, just not as
Metro / WinRT APIs.)
It is unlikely that we'll see Microsoft push the Metro-style application framework back to past releases due to the level of re-architecting that went into Windows 8.
Like Pavel said, if you kept your application from using as much of the WinRT libraries as possible, it is possible but then again, you're now building a regular web app.

How to access device settings on a Sony Ericsson mobile phone?

Edited on April 29th, content changed
Hello everyone,
I recently bought a Sony Ericsson mobile phone and I would like to add a missing feature myself. In fact I cannot actually disable Internet connection in an easy way when roaming, which cost me a lot of money last time I moved away ... So I would like to develop a little application that would just replace the actual Internet configuration with a fake configuration to avoid auto-connections.
So what I would like to know is how can I access programmatically to my phone settings? I know that Sony Ericsson provides a SDK to run Java applications on its customised JVM. So what I am actually looking for is to know if they extended the J2ME functionality to fit their devices requirements.
This is not well documented so I am asking this question with the hope that someone here already had experience with development targeted for Sony Ericsson devices.
Thanks.
NB: This is a Sony Ericsson Elm which is based on the Sony Ericsson OS with SE Java Platform 8.5.
Edit: I accepted QuickRecipesOnSymbianOS answer as it gave me a clue on the only feature that could have helped me, but which is unfornatunately missing. The Sony Ericsson Java Platform is the only API I could use to develop real programs on my phone. But the JP-8.5 does not implement the JSR-307 package which could help me in managing APN. Thanks everyone for your help.
Well, I hope you got the great Vivaz phone, not the Satio.
In order to learn about Symbian OS C++, first go to the Foundation website.
Relevant plug: the latest introduction to Symbian OS C++ in book form is Quick Recipes on Symbian OS
For now, you won't find a better way than Symbian OS C++ to manipulate your handset access points.
JavaME simply doesn't have the correct APIs for this, at least not until JSR-307 is implemented.
I believe Qt isn't integrated quite tightly enough just yet either but that should change soon enough. Keep an eye on it.
Extending the Symbian Python runtime to do what you want would require some Symbian OS C++ anyway.
Yes you will need to use Symbian C++ to modify the CommDB, which holds the list of connections. It is quite painful to work with it directly, but there are some utility classes that can help you out. Take a look at CApSelect, CApDataHandler and CApAccessPointItem, all in the developer library.
And yes, these will work on all modern Symbian handsets, independent of brand.
Note: My answer below assumed it was about a symbian device. Since it was actually a J2me device none of the below applies
The easiest way to achieve what you want to do is probably to just remove all the "destinations" when you want to prevent auto connections. Otherwise the device will test each destination in turn until it finds one that works.
You can also set up your destinations so that they are not allowed to be used automatically. This setting must be done individually for each destination.
You can also group your destinations and set one of the groups to the default. If you set the default to an empty group you should not get any automatic connections.
Note that I have not tested any of these methods myself. When I roam I turn off automatic updates in the apps that use them. Some apps can even detect when you are roaming and avoid auto connects.
There are S60 apps available that improves the connection management of vanilla S60, but I do not know if any of them can help you with your problem.
If you are dead set on doing the programming yourself you have to use the C++ SDK for Symbian S60 available from Forum Nokia. Java ME does not allow you to manipulate the destinations of the device.
The Elm device should have (I haven't verified this) the access point API originally designed by Nokia. Not sure whether you can use it for the purpose you want though. The J2me developer guidelines available from developer.sonyericsson.com should have all the information you need.