Software Development

Anything related to software

Software Development

Postby edepot on Wed May 13, 2009 6:04 am

One of the biggest issues faced by independent software developers these days is the dual problem of market and profit. Finding a suitable market is a challenge these days because most of the hardware manufacturers may close the system up and not allow independent software developers access to the operating system and API in order to create alternative software applications and games. How they close the system up is a four-fold high barrier of entry: high cost for development kit, strict control over who to allow in, no access to critical parts of hardware, and strict controls over how profit is generated.

For example, to program on the PSP, you would need to apply to get in (and normal people can't get in), pay for a development kit (high price tag that includes hardware and software), and must give up a sizeable piece of the profit for UMD or download bandwidth. Everything is under the control of the manufacturer (in this case Sony). The same applies to the PS3, and we are now talking millions of dollars and good relations with Sony to develop on this system.

For Microsoft's Xbox360, they have different tiers of access to their hardware. The basic one is similar to the PS3, high cost of entry, and good relations, making it very difficult for independent software developers to get in. They do offer a low cost of entry for people, but the API offered is a .NET (interpreted, slow, and restricted access to hardware) development environment. Making a profit is also difficult because a huge portion goes to Microsoft. It is this .NET and virtual environment in Vista and Windows 7 that Microsoft keeps stuffing in future Windows releases that is causing them to be unpopular and slow. All in the name of making people upgrade to faster hardware, so they can make more profit for their partners. Imagine you have a fast operating system taking good advantage of your hardware, and the next release of the operating system slows down your applications and games to the point where you can't even use it, requiring you to ditch your hardware and get a newer one just so it can run at the same speed of your old operating system on your old hardware. The PS3 would never released an updated operating system that slows down the software on purpose, they would do it to speed up access to the hardware so games run faster. It is this misguided approach to profit at the expense of quality that Microsoft may end up getting replaced by another company that knows what their customer wants.

Google tried to do it with Android, but they got stuck with Java (another interpreted language). Soon they will also lose out in the performance war on mobile systems. It is sad that they do not realize having user-friendly environments like .NET and Java make no sense when they hamper the performance of the machine. It is so slow that their default webbrowsers on Android mobile devices need to be written in low level C language. If it was written in Java, nobody would use it, because it would be too slow. So only simple apps can run on Android devices; graphic intensive ones would be too slow. The PS2 was extremely hard to program on, because you had full access to the hardware at full speed and the development environment was extremely user-UNfriendly. But the hardware withstood nearly 10 years on the market selling huge amounts of software applications because people just kept coming up with ways to get the most out of the machine, unhampered by restricted slow environments like Java and .NET.

The iPhone is coming along great. They do have a price of entry (yearly $100 fee), and full control over who sells on their system (you need to get your apps approved and downloaded from their store). While this is not as free as selling applications on the old Windows systems (you can just download from any website and charge whatever you want without restrictions, and you make a profit based on quality of your product), it is a tradeoff. What the iPhone lacks is a fast CPU and GPU. The PSP blows iPhone out of the water in the graphics department, and that is why you don't see any graphics intensive games on the iPhone.

I would have liked to talk about Wii and NDS, but these systems are basically rehashed last generation systems. They have nice gimmicks like the remote controller, but these things can be attached to higher performance systems. It is like having a market of low quality games on low quality hardware, using a different controller. Soon Sony will attach that different controller on a higher quality hardware, and then Nintendo would be in trouble. The NDS machine is very underperforming, and if it was not for the large market of simple games using the touch, the machine would have been swallowed up by the PSP. It was luck for them the PSP didn't include a touchpad, or mousepad, keyboard, or some other more advanced controller (like 3D motion sense), otherwise, the PSP would have overtaken the NDS. I do not understand why don't they include a keyboard or motion sense, or something better for a mobile system.

Last but not least what will happen is that as devices get more powerful and shrink in size, they will become mobile, with attachments to large peripherals. For example, you can take your PS4 in your pocket and play anywhere using projection glasses and when you get home plug it into your HDTV. The PS4 will come with motion sense and some sort of controller you can attach to your arms or legs to input to the device. The development environment would not be hampered by slow interpreted languages that suck up battery life and power, and it is hoped that the application and games market for it is open, so anyone can create games and put them on their own website for people to download. Maybe Sony can charge a small fee to sign programs that run on it, if they must maintain control and profit. Even better if it is like the old Windows market until Microsoft screwed it up by releasing their new operating systems that have major pieces written in .NET and slow virtual environments. Maybe this is a change for Apple to come in and take over when people realize their Windows programs are slowed on purpose by the operating system, just so they can force you to keep upgrading your hardware.

So it is hoped that once the battlefield quiets down, the winners are hardware device companies that make good user-interfaces and unhampered open API for developers. These devices will have large screens, have all sorts of peripheral inputs, and fully featured (even more than smartphones and the iPhones, and the PSPs). The device will sell the most if they can do what the old Windows platform provided: lots of individual developers providing lots of applications and games in an unrestricted market.
edepot
Site Admin
 
Posts: 379
Joined: Sat Mar 01, 2008 9:26 pm

Re: Software Development

Postby edepot on Tue Jun 16, 2009 7:51 am

This article would not have been complete without some examination of mobile devices that are approaching the "perfect platform" trophy.

There are a few operating systems on mobile devices on the market right now. They are Symbian OS, OS X, Windows Mobile, Palm OS, Android, TouchWiz 2.0, and Linux. The operating system affects what language you use and the API available to program on it. Android is basically Java on Linux, and requires that you write applications in Java (which mean SLOW). Palm Os only allows javascript and css apps (Palm Mojo SDK) so it is even worse than Android's Java platform, as you can only create webpage-like apps that are primitive and interpreted. TouchWiz 2.0 is a proprietary UI for Samsung that is quite new and untested, but they do release an SDK for developers (in C language presumably), and it can seem to run on proprietary Samsung OS, or Windows Mobile. OS X is fairly open with a $100 yearly fee, but your apps have to get accepted and sold only through their store (bummer). Windows Mobile (Windows Mobile 6.1 and 6.5 SDK) is Microsoft's entry on mobile phones (but be wary of them screwing it up like how they did with forcing slow .NET and virtual device drivers in Windows). Symbian OS (using S60 5th edition SDK) is a quite mature operating system, and Nokia seems to be the major driving force for them because of their large cellphone marketshare (hope you are not stuck with apps needing to be on their Ovi store for download). So it looks like the last four entries (TouchWiz, Windows Mobile, OS X, and Symbian OS) are what the next generation performance mobile apps and games will be running on. TouchWiz only runs on Samsung phones, so the market may be small unless Samsung gets a large marketshare (which they seem to be trying to do with Jet). OS X runs on iPhone, and because they are have a large marketshare this is worth considering (if you can get past their censor and accept their policy of your apps only downloading from their online store). Old API's from Windows Mobile and Symbian OS will be there to compete (hopefully not restricted to the past small LCD screens and immature last generation peripherals support with no minimal graphics accelleration).

Note that there are many other OS platforms, but they are actually closed off, and the best you can do there is download java games which are too slow and restricted to make any sense on the slow processors on mobile phones. Some examples are the Motorola cellphones.

Because applications require screen space and too small of a screen deters the quality of an application, mobile phones with the largest screen space are where the action is at. Some examples emerging platforms:

Emblase Edelweiss (854x480, Access Linux Platform)
Sony Ericsson Xperia 2 (800x480, Windows Mobile)
Samsung Omnia II (800x480, Windows Mobile with TouchWiz on top)
Samsung Jet (800x480, TouchWiz 2.0)
HTC Touch HD (800x480, Windows Mobile)

iPhone (480x320, OS X) and Palm Pre (480x320, Palm OS) seem like dinosaurs when the screen resolution is compared to the above. Android mobile devices run on many different resolutions mobile devices (800x480 included) but you are stuck with interpreted Java language apps, which would make them much slower in performance. One of Nokia's top phones, N97 (640x360, Symbian OS) seem to have last generation screen resolution specs when compared to the above mobile devices.
edepot
Site Admin
 
Posts: 379
Joined: Sat Mar 01, 2008 9:26 pm


Return to Software

Who is online

Users browsing this forum: No registered users and 1 guest

cron