Long story short: How open is Android OS for developers?
A little in depth:
For instance, if I'm willing to write my own text-input interface, would it be possible (like, totally overwrite the built-in-phone one)? Or that's something like core feature and cannot be changed?
And, is there a difference for developers, whether I buy a Google phone, HTC or Samsung etc.?
P.S. If that's all possible, no warranty voids for such changes?
Hope I've made myself clear and thanks in advance!
You can create custom input method. For development the best is Google phone, but in order to work on all hardware, especially a keyboard, you need to test on all the devices you want to be supported (try to borrow them instead of buying all of them :P)
For android you can always do that..you need to download the source code from google repository. make the changes according to your wish for the global component, build the code and flash that to different device.
so you can always add your customized component to open source Android
Related
at work and at home I'm trying figure some things out with the deployment of flash. I'm wanting to be able to deploy a flash app as a stand alone application/program. Can this be achieved using flash CS3 (Or CC) without it looking just like a flash application if that makes any sense? I know there is Air, but I'm wanting to know if there is an independent method instead of using Air.
Giving bit more insight, I'm making an app. From the comfort of your desktop, people can design their own piece of art ( a bit like the generic drag and drops you see online but ours has a save option)and they save design and restore their design.
Thanks for your help. :-)
Natively, you're only going to be able to create .swf and .swc (a.k.a. Shockwave) files. You can try Project Exporter by Nipun Asthana which will convert it to an .app or .exe. Alternatively you should try a third-party compiler, or Zinc by MDM
I am thinking of developing a program within ASP.NET. But that I could port easily to Apple, Android and Windows phones and tablets. I also want the program to be able to run on PCs (MACĀ“s?).
This seems to be fine. However, the normal GUI of Windows does not look at all like the GUI from e.g. iOS or Android. And this would be a big show stopper. It should be at least optimized for touch mode. So all on screen widgets should be a bit bigger.
Are there libraries, providing controls, which looks like normal ones on the operating system? It would be best if this works kind of automatically. So the program should find out where it runs and load the standard GUI best fitting to the device, where it is being started.
I could of course develop own controls, but this may be a bit too much of effort.
It would also be very nice if the library would handle different screens or modes like portrait and landscape. So that it may switch depending on the orientation of the tablet, or phone for instance.
I am searching for something like that, which provides a good result, without the programmer needing too much to do by himself.
I also like if one can recommend a library he is using already by a bigger program. From my own experience, you get to know the strengh and weakness of such libraries with the time passing by.
Best Regards.
I already discovered some tools like PhoneGap, Sencha, Mono. I do not know, if these are well suited for me.
I like to create an app most likely for all plattforms at the same time. Is this the case with e.g. PhoneGap?
I am not familar with JavaScript, or CSS or HTML development.
I am an experienced C# programmer and I am quite familar with Java. So VisualStudio is my daily working environment, and I am using Eclipse also a lot.
Mono:
I only read about it and found out this aspects:
cost 999$ to use it in Visual Studio. Hope that this price includes development for all plattforms and not just one. Did not yet check this.
The coding looks very good.
There are APIs for Android, iOS, and Windows Phone to setup controls. So these parts needs to be rewritten for any supported application. One may create a core library, which can be used for all components. This aspect is not so nice.
However, I would prefer a solution, where the GUI is even described on another level. And then it should be brought to the current plattform automatically, if not specific libraries are used. So HTML5 may be more flexible.
Best Regards,
Patrick
I'm looking for some help on how to make an Air application accessible to the blind. Its required that I use the screen reader functionality that comes built into android called TalkBack.
After researching I have failed to find anything useful. I did find out that you can check if the device has accessibility aids using "Capabilities.hasAccessibility()" however that returns False even when the device does have aids and they are turned on (Accessibility.active is also set to False when TalkBack is active). I also found out that you could give a Display object AccessibilityProperties such as a name and a description that I assumed the screen reader would use. However, It doesn't work. I have also used the Accessibility.updateProperties() after adding the properties and still no luck.
I also tried adding the permissions to the manifest for READ_PHONE_STATE (although I'm not really sure if that's what its meant for) but again no joy.
I'm using Actionscript 3 only. Not flex.
As best I can tell, Adobe has decided to ignore the disabled community when it comes to mobile apps built with Air. There does not appear to be any way to implement accessibility for such applications.
I would love to be wrong about this, but as it stands now, I am pretty certain that this is the case.
From searching the past few days and doing a bunch of tests it seems that the accessibility features you can build into AIR applications are only going to work in browser-based apps. Any kind of stand-alone style app (.app/.dmg/.exe/.air) form of distribution doesn't seem to work with any of the accessibility tools we have tested. We tested Window-Eyes and the built in Narrator in Windows 7. I have been unable to find any Adobe documentation to confirm this, but it seems like a huge oversight for them not to mention it in any documents.
What are the key differences between Android, iOS and Blackberry OS in terms of level of accessibility by application developers (i.e. access to the video input, sound input, phone functionalities, to which extent, etc.)?
PS: Assume latest version of each OS.
EDIT: Can someone turn this into a wiki so we can compile answers from people that don"t necessarily have experience in all 3 plaforms.
I'm not familiar with BlackBerry, but on Android and iOS you can access just about anything. Until recently iOS had some restrictions about camera access (see this), but I belive those have been solved. Because Android is open-source, you can theoretically go as deep as you want as far as accessing the hardware, but you may or may not be able to get any deeper through the standard Android API than you can through the iOS API.
On Android, you can do a lot more to override default functionality. For example, you can create your own launcher screen or phone application. The iOS approval process wouldn't allow these kinds of applications.
API hardware access really isn't an issue on either platform, the bigger concern is overriding default software (almost never possible in iOS) and what types of applications iOS allows.
Each platform has its own nice and bad parts. I have been working on both Android and BB. I wish I could take only nice parts from both to create a platform of a dev dream! :)
For instance, I could take these features from BB:
The greates feature I like in BB is the simplicity of the application architecture - you can always count on your main UIApplication instance - OS never kills it.
Also I do like the simplicity the Dialog class provides - it is very easy to implement business logic related to user choice - while Dialog screen is shown the code execution just stops and waits for user input.
From Android I'd take the following:
Network communication. On BB this is a real nightmare (BES, BIS, WIFI, Direct TCP without APN, Direct TCP with APN, WAP, WAP2, Unite - who's next? :)).
For file manipulations you just use a native/usual Java API.
Nice looking UI components are available right out of the box.
I should add I'm not happy with GPS related stuff on both platforms, however maybe it is due to GPS hardware limitations rather than API creators.
Thanks!
BlackBerry is a pain, once I made a project for it (the JDE version was 4.7 back then) and it didn't had an ArrayList. WTF?
Does anybody have experiences from cross platform mobile app development framework MoSync?
It sounds very good and promises much. But does it deliver?
We have used MoSync for 8 months now and I have a good feeling about it. It is still magic to me that you code in C++ and out comes a jar-file or whatever platform you choose.
It is great for application development but I wouldn't recommend it for gaming with advanced graphics. It seems too slow for that on Symbian.
The APIs are very easy and I learned it very fast. And I have the freedom to do whatever components I want thanks to the MAUI framework and using widgets with skins. You can really make an application look very nice.
It is great for me as a developer that I can support so many phones and platforms. I can also do specific behavior and include/exclude functionality based on the phones capabilities.
When it comes to deployment I end up with hundreds of binaries for every device and I have to take care of them my self. To put them on a web server somewhere and make sure that every user get the correct binary when they try to download the app. I wished that they had some kind of app-store so they could host the apps.
MoSync still have a bit to go until it is working properly. There is no guaranty that an application that is build for a specific device actually works on that device. But I'm sure that they will reach there very soon. And when they do... I simply just need to rebuild my app with the SDK (I think).
Have you seen Mosync 2.6, I think this solves most of the problems you mentioned,
the feature list is at:
http://www.mosync.com/documentation/manualpages/whats-new-mosync-26-pyramid
I personally I'm quite excited about the whole HTML 5 integration, it sort of blurs the line between native and web app.
Hope this Helps
Tony