Creative Programming

“Software development is a kissing cousin of engineering (if not an engineering discipline itself), and blends creativity with math and science. That’s why I find that a lot of advice to creative types is also applicable to software developers.” - Joey deVilla

Creativity is something which we generally do not relate to programming/software development. Typically we consider software development to be highly algorithmic in nature, where you can define what you want and how you can implement it. But essentially, its not the only thing which defines a software. I think software development is one such field where invention happens every now and then. I am not talking about new technologies being released; I am talking about the programs that we write everyday. Everyday we write something unique, for our product or project. But why are we so reluctant to recognize these creations? Partly because, these things are often taken for granted by most of the customers. Some ( or many) cases it is even worse, as the managers also do the same. This phenomenon is so dominant that many non-developers think anything is possible in software and it can be developed in “no time”. Especially this is applicable to IT services, where big fat non-IT customers pay big chunk of money to expect a miracle to happen, as if overnight they will become a market leader or reduce their production cost or whatever reason they are developing the system for. Although not all customers are like this, but most of them are. In this mess; most of the time; the creativity remains unnoticed. Even the developers themselves don’t realize that they actually created something to be proud of.

Creativity is highly relative. Don’t get deceived by thinking that, it is just about implementing any software. All developers do that. The difference lies in creating original idea and problem solving.

Original idea: Sometimes, a simple idea makes a big difference. This is not only applicable to features of a software, but also the way softwares are implemented. Many times this has something to do with mixing different technologies/approaches. Its the uniqueness of how you have solved a problem.

Problem solving: Many times it turns out that the conventional tools are not sufficient. Many developers just beat around the bush, hoping to get some solution. But creative ones, can differentiate between what’s possible and what’s not. When it is not possible, they create something on their own. I always believe that developers who go by their intuition get things right in this department, than sheer intellectuals. Definitely, being intellectual helps, but there are cases when you also need intuition of how things should work. This helps to create radically new solutions to many problems, which otherwise wasn’t possible. For some reasons, we Indians give extremely high importance to intellect, talent and analytical power.

Various Versions Released For Android

What is Android?

It is an operating system that is used on smart phones, lap tops, tablet computers and so on. Android mobile applications are a group of software that includes operating system, key applications and middle-ware. With an open and flexible Android development platform Android developers will be able to build rich, innovative and interesting applications. Google took over the Android Inc in 2005 and thereafter released android code under the name of Apache License. Android developers write the applications in customized version of JAVA. This was listed as the top selling Smartphone application in 2010 by the C analysis and still the most sought after android mobile applications.

Features:

Android Mobile Applications comes with loaded features that are sure to take the android developers by storm. The features include:

  • Better connectivity using CDMA, Blue tooth, Wi-Fi, NFC, WiMax, GSM, LTE etc
  • Android push messaging service which is a part of Android Cloud to Device Messaging Framework also known as C2DM
  • Supports numerous human languages
  • Adapts to both traditional smartphones as well as VGA, 2D graphics, etc
  • Better and greater storage medium
  • Supports audio/video formats like JPEG, GIF, BMP, AMR, AAC, MPEG-4, WebM, MIDI, WAV, PNG etc
  • Contains web browser base on Web-Kit, Chrome’s V8 Java script engine which is the best
  • Is capable of multi tasking and multi-touch options
  • Supports hardware like touch screens, accelerometers, barometer, magnetometers, pressure sensors, thermometers, 3D graphics and many more
  • Also supports tethering that helps in the phone being used as wireless Wi-Fi spot

Recent Releases and their added features:

There have been various versions of android mobile applications that have been released with the intention of fixing some particular bugs of previous version and also adding to the list of new features. The various versions show the continuous android development that makes the component and its features customer friendly and flexible enough for easy and efficient usage. The following are the latest versions of android:

2.3 Gingerbread

  • Better user interface
  • Enhanced copy/paste features
  • Improved gaming experience
  • Supports SIP
  • Also supports Near Field Communication

3.0 Honey comb

  • New User interface features
  • Adapts to larger screen devices
  • Supports multi core processors
  • Supports hardware for better graphic presentation

3.1 Honey Comb

  • Has enhanced input devices
  • Books Applications
  • Google Movies compatibility
  • USB host mode that enables transfer of data from cameras and devices directly

3.2 Honey comb

  • Supports many android powered devices
  • Provides Zoom to fill screen compatibility mode
  • Provides better control for the developers in display functionality
  • Supports transfer of media files directly from SD card
  • Improved screen support API

4.0 Ice Cream Sandwich

  • Facial recognition unlock facilities
  • Controls and monitors network data usage
  • Supports unified social networking contacts
  • Enhances the photography features
  • E-mail searching made possible even offline

iPhone App Developers Harness The Potential Of Unity Game Engine

Unity is an authoring tool for creating 3D video games and other interactive content such as architectural visualization’s or real-time 3D animations. Currently, Unity’s developers work on Microsoft Windows and Mac OS X, and produce games that play on Windows, Mac, Xbox 360, PlayStation 3 Wii, iPad and iPhone. Games also work on the Android platform. Unity can produce browser games that will actually use the Unity web player plug-in. Linux does not support Unity, but Mac and Windows do. Mac widgets can be used on the web player.

iPhone Developers both Apple and outside developers

iPhone developers can use Unity to become a casual game developer, and the possibilities are endless. Casual games are a niche in the gaming category and are a growing entity. Casual games have simple design and invite the gamer to step in the game, play, and get out without outlaying complicated skills or time commitments. iPhone game app developers need to remember: small, fun, easy. Competitive Opportunity Casual games are smaller in scope and limited in terms of game play with lower end-use expectations. Resources to develop these games are on small scale. An iPhone development team of one to three people can do well immensely using Unity to develop their small tier “casual games.” The casual games market is an excellent vehicle for iPhone development app teams to break into the iPhone or Smartphones game app download market.

Characteristics of Unity app developer

Unity is simple. World building tools enable iPhone application developers and others to assemble and tweak levels of the application at the speed of thought. Edit, test, and play developing apps using Unity. Your ideas are only a click away. Unity lets you drill down to find the fun, then control and polish until everything is perfect. Platforms can be switched at just a click. Develop from a single source for iPhone, iPad, mobiles, webs, Mac/PC and consoles. Application developers need Unity to design aural ambiance and audio. These are included. Unity brings Beast light mapping and Umbra occlusion to make games look good and run fast. Unity’s rendering pipeline helps games look great for the casual game market.

Tips for outsourcing and developing iPhone casual games

Entire courses cover the topic of game design and what elements help make a “good game.” Outside iPhone application developers recommend that when developing these casual gaming apps several items need to be recognized. Think about the target audience. Free browser-based web games appeal to males in their teens and twenties who lean toward action, adventure or driving style games. Puzzle, work or story type games appeal to female audiences that tend to just play for very short time bursts.