Archive for the 'Russian programmers' Category

Visiting CeBIT Australia 2012

May 25, 2012

In 2002 the world’s largest trade show and ICT event known as CeBIT opened a branch in Australia and thus, the first CeBIT Australia was held.

CeBIT Australia 2012 - main entrance

CeBIT Australia 2012 — main entrance

This year Sibers’ employees attended the CeBIT Australia event personally, participating in the conference program and visiting the Exhibition floor. Vlad Labetsky, Sibers Outsourcing Consultant and VP of the Australian office, together with Alexey Burlakov, Sibers Senior Software Architect, met all the 30,000 people who visited CeBIT face to face (hehe!)

Alexey Burlakov and Vlad Labetsky at Darling Harbour, Sydney

Alexey Burlakov and Vlad Labetsky at Darling Harbour, Sydney

During the three day event visitors took part in Workshops, The Opening Ceremony, and the ICT Celebration Dinner.

CeBIT Australia 2012 - lunch time

CeBIT Australia 2012 — lunch time

CeBIT Australia 2012 - Sibers at exhibition floor

CeBIT Australia 2012 — Sibers at exhibition floor

CeBIT Australia 2012 - ICT Celebration Dinner

CeBIT Australia 2012 — ICT Celebration Dinner

Vlad and Alexey visited CeBIT during their month long stay in Australia, where they meet Sibers’ customers and partners. Our representatives will continue to be in Sydney and Melbourne, available for meetings, through the 17th of June.

Welcoming Sydney, Australia

Welcoming Sydney, Australia

GTUG in Bishkek: Made by Sibers Employees

December 6, 2011

Zolotarev_Kostia4

By Sibers PHP Team Leader at Bishkek branch
Konstantin Zolotarev

Accompanied by Sibers Android Developer
Kuban Dzhakipov

On September 14th Konstantin Zolotarev and Kuban Dzhakipov received a notice that their initiative for the creation of the local Google Technology User Group (GTUG) in Bishkek was approved by Google.

By this time, the men had already held two local meetings on Google technologies and even started the development of their own open-source project.

We wanted to better understand what GTUG is, why we need it, and why our colleagues from the Sibers Bishkek branch are ready to fully devote their time to this project. Konstantin Zolotarev, Sibers PHP Team Leader and founder of Bishkek GTUG, took the time to answer a few of our questions.

— What is GTUG? How did you learn about it?

Google Technology User Groups (GTUGs) are communities for people using, and those interested in Google’s technology.

Actually, I learned about this program from the Internet. Google tweeted about an event held in the company office together with a GTUG. After some searching I discovered that there was such a program. So, the next step was to complete an application for the local GTUG establishment.

— Why did you decide to proceed with applying?

Before starting my work with the GTUG program, I was the coordinator of a similar Sun Microsystems (now Oracle) program. The program was called OSUM, and pursued similar goals, but was aimed at students. I was supposed to supervise the program at Bishkek universities.

Unfortunately, this program is closing, but it helped me to learn the general working principle of such programs. Therefore, as soon as I heard about GTUG, I started working with no questions. Kuban almost immediately joined me (together, we are the founders of this group), and our work started to shift into high gear.

— What personal goals did you pursue?

My main motivation with starting a local GTUG is to continue my self-development and to gain access to new technologies. Besides that, I often use Google technologies in my work, and I use it to share my knowledge with my team. It is much easier to do live communications in our group, rather than simply reading forums. I am thankful for the Google support that made this possible. Also, I like how the title of ’Bishkek GTUG founder’ sounds :)

— What steps have you taken to found the Bishkek GTUG?

To register your GTUG, you have to meet certain conditions. At the very least, you need to create the group’s site, forum, twitter, etc. You also need to conduct organizational work: arrange meetings, search for sponsors and advertise your events. I want to give a special thanks to everyone who helped us. We are very lucky to have our sponsor—Sibers supported us even in the beginning, when nobody knew who we were.

— Who are the members of your group? How did you find them?

Our group unites people who are interested in new technologies. Some of them do not deal with the actual development, but they do follow the progress of the technology.

There are people who have joined just because of the Google brand. Initially our colleagues and friends comprised the members of the group. Then, when we started to grow and information began to disseminate, people started to join us spontaneously.

— Tell us about your meetings?

So far, we have only had two meetings. Both were in the form of conferences. The first was regarding the Google Web Toolkit, and the second was about Android.

Despite the experience of organizing such events, we were faced with some organizational obstacles. The most difficult thing was to find a location for the meetings. The first meeting took place in a café, while we were granted a conference room at The National IT Centre for the second meeting.

At our first meeting, there were only about 15 people in attendance. However, our second meeting hosted more than 80 people!

Our team prepared all of the speeches and made various presentations.

Our second meeting also hosted Sibers’ top management who made a speech.

There are five event formats within GTUG but both of our meetings were in a Tech Talk format. We have a lot of room to grow and a lot of things to do—we have great plans and much work ahead!

— You have already started your open–source projects. What are they?

Recently, our group has decided to start three open source projects. We have selected several directions to pursue simultaneously so that everyone has found something of interest.

One project is well underway. It is a game for browsers and Android devices made with PlayN and jBox2D.

— What are your plans?

We have great plans to create a good and active community. We also hope to present our projects at the next Google Developers Days.

Recently, Google agreed with the organizers of StartupWeekends that their events would be held with the participation of local GTUGs.

We do hope that Bishkek GTUG will be a successful group with interesting projects and with a great professional community!

Consultants to Start Your Outsourcing Project off Right

October 6, 2011

vlad-labetsky
 
By Sibers Outsourcing consultant
Vlad Labetsky

With more than 13 years in business, Sibers has so much to offer you and your specific project. From the moment our prospective customers first contact us, they are surrounded with help and expertise from our team of outsourcing consultants. Even though there are many different instruments to advise and inspire our customers, our team of outsourcing consultants may face some difficulty in finding the one that is best – this is because the variety of instruments available is just too extensive.

In an effort to overcome this difficulty, our outsourcing consultants recently organized an internal seminar to review the instruments and tools they have available. They also classified the cases for when choose the most effective tools for both the company and the customer.

The first set of tools used by our consultants is intended to understand the customer’s needs correctly. These tools include a type of wizard that is equipped with questions on all aspects of the project, starting with the business’s purpose for the developed application, what the customer’s design preferences are, and how the app should be unique.

The initial sketching (or wireframing) that is done by the consultant for the future application together with the input of the customer can also make the whole workflow much clearer for both parties.

When the background for the idea is well communicated, it then becomes possible for our consultants to advise on a technical solution for the project and to assure the customer of our capability to execute all aspects of the work. At this stage the technical expertise of our consultants as well as the thorough support of the team leaders take on the leading role. A comprehensive analysis of the requirements and the project’s prospects results in finding just the right technical solution for a project. The consultant’s tools for this step include a stack of questionnaires for each type of development technology, along with the extensive Sibers’ portfolio that contains more than 900 completed projects.

When aims (customer needs) and means (technical solutions) are clear, it is much easier to define the form. Once defined, the consultant can make suggestions on the work arrangement. For example, should this outsourcing cooperation be organized as a Custom Remote Team, a fixed contract per project, or should it be based on interactive development? The pros and cons of each type of Customer-Provider cooperation for the IT project needs to be carefully explained and the right method should be suggested.

The final step before actual development is the legal side. Sibers’ consultants will guide customers through all the aspects of making a formal contract for outsourcing their design as well as outlining how the development process works. At this stage, the legal documents and all 13 years of our outsourcing experience work together to completely protect the interests of both sides.

We do hope this seminar and developed internal source classifying the variety of tools available will help our prospective customers get the information they are interested in from Sibers’ outsourcing consultants rapidly. This will help us to achieve our number one goal, which is to complete projects for our customers successfully.

Client’s Story: Launching a Project with Outsourcing

September 27, 2011

This article is an authentic story of our amazing customer Madhu Amara, who shares his successful outsourcing experience in developing his site www.unshaft.com.
We are grateful to Madhu for the pleasant words and believe that his inspiring first-hand information will help those who are still in doubt about outsourcing.

It all started with a water pump in the middle of a village in India. This water pump with its chipped blue paint and rusted exterior was the bane of my existence. It was my responsibility in our miniature townhouse situated among roaming cows and pigs to make sure our water reservoir was sufficient for our daily activities. My two roommates had other responsibilities to facilitate our living conditions. All I had to do was flip a switch to fill a water tank that was located 10 feet below our townhouse. Once that was full, I had to flip a second switch to move the water from the bottom reservoir through a long cylindrical filter, and then ultimately to an overhead concrete tank located on the roof of the house. Seems simple enough, right? Hardly.

We were not required to pay a water bill at this point, so we didn’t have the greatest expectations for the quality of the water being pumped into the house. Our thoughts were correct. The filtration unit was not particularly effective; the water would change from light brown to a semi-clear substance. The water that entered the house was the most corrosive agent I have ever seen in my life. It rusted everything it came in contact with. Cutlery, bathroom faucets, and of course the actual water pump itself. That stuff should be used for chemical warfare. The only thing that survived the wrath of the village water was my titanium folding bicycle that I used to transport myself between the hospital and my house. The whole contraption of pumping water was not a closed system as it should have been. The corrosive nature of the water caused the cheap metal to let air in, causing multiple air leaks. We pleaded with our landlady to fix the issue; the only responsibility she felt she was obliged to do was collect rent from us every month and nothing else. My friends loved to use the term “shafted” to describe this particular situation, among other things that would constantly not work for me. We didn’t know the language and there is no such thing as a Yellow Book in India. Only after walking down the dusty road next to our house, I was able to find a “plumber” who proceeded to install an air valve that was faulty among other things. The net result was that water had to be poured into this open valve whenever there was an air leak, which was every day. I was forced to spend wasted time every day after school, placing water from a bucket and a mug into the valve like a village idiot to provide water pressure to run the motor. During my moments of water pouring reflection, I thought to myself there had to be a better way to find a solution for my problem. Eureka, the idea for Unshaft was born.

Unshaft logo

Move to December of 2010 and I was jaded. I had wasted 6 months and $3,000 dollars on a middle tier Indian programming team. I initially thought I was getting a cut rate bargain, but after the months rolled by, I realized I was getting a programming team that just wasn’t cutting it. I had wasted so much time, doing rotations in the hospital all day, trying to read in the evening, staying up until 3:00 AM testing shoddy code/making sure we were on task, and heading to the hospital the next morning bleary eyed. Rinse and repeat for half a year. It was especially exhausting because I promised myself by taking on this extra night shift, I would attend all my required classes, which I did successfully. Home for Christmas break, I slumped back in my chair watching snowflakes cascade softly down through the window. I had already fired the team, although I paid them the lump sum that we had agreed up at the beginning of the project. What to do now? I put up an auction on eLance to see if any high tier programming teams could help me finish my site. I was hopeful at least some of the code could be salvaged. I interviewed about a dozen teams and they all reviewed my code. The funniest/saddest message was from a team based in Ukraine. Their message was something along the lines of, “On a scale of 1 to 100, with 100 being the best rating, I give your code a 5. And that’s just out of sympathy. Wonderful, so I’ll have to start from scratch. So I decided if I was going to launch this startup correctly, I am going to go for an elite quality team to support me.

After browsing all the profiles, a team from Russia caught my eye. Their handles were HireRussians/Sibers, a word play on their location from Siberia. My exposure to Russia was limited. I only knew about Kasparov and Kaspersky; the former a famous chess master and the latter an award winning anti-virus program. I figured with Sibers high rating and Russia’s ability to churn out men of great chess ability/anti-virus programming, this was probably my best bet. On top of that, they stated upfront that I own all intellectual property rights. I took the plunge and accepted them as my provider. The first message I received from them was on my birthday, December 21st. It was a highly organized e-mail asking the right critical questions about the site and it included a wonderful birthday message to boot. I was excited; this had the potential to be great relationship. Their estimate came to me on Christmas Day, again detailing exactly line by line what each milestone consisted of and a reasonable timeframe to it. After securing a generous loan from a third party, I was ecstatic heading into the new year.

Fast forward to September 2011, it is close to show time. After our 9 month relationship, the baby is close being born. It’s exciting and scary at the same time; will the site be a success or will it be a flop? Only time will tell. What I can say for certain at this point is that there are some core values that stood out during the work we have done so far, especially in comparison to the previous programming team I worked with. They are as follows: integrity, critical thinking skills, and meticulousness organization.
Integrity refers to not only giving a realistic estimation to the client at the beginning of the project. It also refers to providing a solution to a particular problem a client has or even better providing a unsolicited improvement on a particular aspect of the site to enhance the project as a whole. It also means that the particular work will done perfectly the first time around, so it does not have to be worked on again in the future. Critical thinking refers to being able to think 2 or 3 steps ahead of what is being worked on currently, to avoid future problems. Organization refers to having everything lined up perfectly on both the frontend and backend, so everybody knows what their job entails and that all the pieces of the puzzle fit correctly to create an elegant end product.

It’s been a great ride so far; I hope the journey takes me to bigger and better places while providing people a way to improve their lives.

Madhu Amara, September 2011

HireRussians on Elance Blog

May 31, 2011


Elance blog has published an article about our experience in providing outsourcing service. Read the interview with Anie Taskaeva, Head of Marketing and Public Relations at HireRussians.
Enjoy!
 

elance-logoTeam Insights: HireRussians

The HireRussians team has been active on Elance for years and has worked with hundreds of software development clients. We interviewed HireRussians’ team member Anie Taskaeva to discuss how the team leverages Elance today and how their application development business has evolved over time. Read more.

Android Development: Tricky Tasks — Native Solutions

March 3, 2011

sergey-kiryukhin
 
By Sibers Android Team Leader Sergey Kiryukhin

If you want to develop an Android application, chances are you will be advised to use NDK. So, what exactly is this modern tool, and why do so many developers recommend it? This article will answer these questions, as well as explain the differences between using NDK and Java. You will gain a clear understanding of the advantages and disadvantages of NDK, as well as for what purposes NDK is recommended and for what purposes it is not recommended.

NDK (Native Development Kit) is a type of technology that is used to develop Android app components by using so-called “native language”. In many cases, Android applications that are written in Java have low productivity. When developing using Java, you will be able to use just 24 Mb of RAM, whereas developing with NDK will give you more than 24 Mb, thus increasing efficiency. In addition, by using NDK you will also have a greater increment of process execution speed.

android

Another handy feature of NDK is the option to use many native libraries. Since you can use various ready solutions for your project (e.g., a library which completes math tasks), the overall time for development decreases.

You must be aware of the fact that NDK cannot be the sole technology for development. You will have to use another platform as well due to some of the disadvantages of NDK. For example, NDK makes it impossible to work with events (keyboard, touchscreen or accelerometer) and sounds. For these tasks you should use Java because NDK native libraries can be easily implanted into Java shell.

NDK Advantages

NDK is especially good for tasks when process acceleration is needed, for example, as part of game development where you calculate a game physics engine or AI. These calculations require a lot of RAM despite the fact that the gameplay background itself may require only 3 Mb. Java copes with this work with difficulty, so the majority of games today are developed with NDK (“Angry Birds” for Android is a great example of a program developed with NDK). Sibers developers not only actively use NDK-tools, but also organize workshops based upon this technology for colleagues and interns. This article is a result of one such workshop.

More examples of beneficial usage of NDK include tasks regarding pattern recognition, data encryption and compression, images/video/audio processing, and all actual and modern trends which require a good deal of complicated calculations. It would be quite simple for a PC to perform these tasks, however mobile platforms have limited resources. In fact, Android is a more “convenient” development platform than the iPhone. The iPhone has many limits for potentially dangerous actions (e.g., access to user’s sms, emails, address book, wi-fi signal strength information etc). Thus these dangerous actions could never be legally realized on an iPhone application that needs to be approved by the iTunes App Store. The Android market does not restrict the usage of these actions.

Another nice and important advantage of NDK is the compatibility it has with OpenGL ES 2.X. This technology allows for the creation of more beautiful 3D graphics.

Disadvantages

While NDK improves efficiency in many cases, there are also situations when NDK works like Java, but requires even more development resources than Java. Take, for example, the development of an application with simple calculations and a lot of supplemental information to be displayed using a complicated user interface. Classic examples of this type of application are guide-books and shopping apps. In these cases using Java would be more beneficial, due to its effective tools for easy interface development. “Easy development” means that you save both money and time for your clients.

Interaction with Other Platforms

The use of native language makes porting applications easy, because NDK makes it possible to implement standard native code libraries. These libraries can be used for other iOS platforms development; however they do not simplify porting to Windows Phone 7, Blackberry, or Symbian. You will need to rewrite most of the code in these cases.

Porting C++ desktop apps to Android becomes simpler with NDK, but it does not mean that you can replace the app without any changes. This would be too complicated, slow, and inappropriate for a small screen.

To Sum Up…

You have now seen how the use of NDK helps solve many of the problems with Java, however development with this tool is not always ideal.

NDK should be used for:

  • Developing components with complicated calculations (game physics, AI, pattern recognitions, data encryption and compression, images/video/audio processing);
  • Making “a clone” of a C++ desktop application for Android.

NDK should not be used for:

  • Creating user interfaces;
  • Working with bulks of static data.

10 Simple Pieces of Advice on the Usability of Websites

January 11, 2011

tatyana-medvedeva
 
By Sibers Technical Analysis Specialist Tatyana Medvedeva
Accompanied by Sibers User Experience Designer Eugene Odnoval

 

Long gone are the days when users were satisfied with a basic, working website. Users now need, not just the basics, but also a site that is convenient. Therefore, it is very important that you pay strong attention to your site’s usability, keeping in mind the user’s perspective. After all, even if you have a great design, if the information is not easy to acquire, the user will not return to the site.

So, how do you improve your website’s overall design to create the best possible user experience? Following these 10 simple tips can help accomplish this mission, and keep your users happy.

  1. Use disappearing explanations in the text fields. For better usability, an explanation should disappear when the user clicks on the field, leaving the text field available for the user’s comments.
  2. Avoid pop-ups. You should avoid advertisement pop-ups whenever possible. These items can be detrimental and may even force the user to leave the site. Instead, place all information and ads directly on the page layout instead of designing it to pop up when the site is opened, or the user’s mouse hovers on the page.
  3. Post the publication date. Users want to know how current your information is; this helps to increase credibility and relevancy. It is always a good idea to display the date of your postings on the site.
  4. Enable search functionality throughout the site. One of the most serious and common mistakes is a lack of search functionality. The availability of a search box on the page makes navigation on the entire site much more comfortable.
  5. Disable automatic music intros and audio ads on the site. You should definitely give your users a choice whether or not they choose to play audio files.
  6. Clearly indicate links. The user would appreciate it if it is clear what areas can be clicked and what areas cannot. Links should be highlighted in a different color from plain text, and they should also be underlined. This makes the page appear more pleasant to the eye, making it more readable, and user friendly.
  7. Remember breadcrumbs. Of course, this issue has nothing to do with food, but is essential for site navigation. Visitors like to know where they are, where they can go, and how to keep from becoming lost when moving between pages.
  8. Avoid deadlocks (windows can’t be closed, icons don’t work, everything freezes). If your site has a bug, you absolutely need to fix it. Of course, testing all the buttons and links should have been done in advance, before launching a live version; however, if you plant deadlocks as a strategy in an effort to trick and force the user to enter extra data (for example, you make them register for something), you can pretty much guarantee the user will never visit your site again.
  9. Avoid animated ads. A lot of huge banner ads blinking with different colors and changing their size and location tend to distract and annoy even the most discreet user. Say “no” to blinking texts, and your users will thank you.
  10. 10. Give your contact information. Providing contact information in a noticeable place helps visitors easily get in touch with you, as well as provides a feeling of trust. These simple details, such as your contact address and phone number will make you appear honest and friendly. Additionally, you can gain feedback, which many users like to view before deciding to apply, or contact you.

This list of recommendations is limited to the top 10 most common pieces of advice for site usability. More subtle issues are equally as important and can be discussed at a later time. That being said, if designers adhere to at least these basic points, visitors will enjoy their experience on your website and will appreciate the convenience of a user friendly platform.

web software user interface example

Sibers Kyrgyz office: 1 Anniversary

October 30, 2010

While Russian power grows with Siberia, as our famous scientist Michael Lomonosov said, Sibers’ power grows with our Bishkek office, which was opened a year ago. It was quite a fruitful year, and Sibers’ top management represented by Yuriy Bannov and Alex Shpak visited this mountainous land to celebrate the event.

Sibers delegation arrived in Bishkek soon after the Kyrgyz revolution and was satisfied to notice that the riots did not affect our office business processes. The results of them were reviewed in a warm and comfortable, hospitable atmosphere. Bishkek guys were curious to learn first-hand Sibers’ favorite practices and traditions as well as the reasons for opening such a distant from Akademgorodok office and our expectations. Meeting included visiting some cafes and restaurants, and as a result the office museum got its first exhibit, a chair. (Sibers offices have a collection of artifacts that are very dear to our hearts due to different circumstances.)

yuriy-bannov-and-eugeniya-zelenovskaya

Yuriy Bannov, Sibers CEO and Eugeniya Zelenovskaya, Head of Sibers Kyrgyz branch

Of course, going to a mountainous land cannot go without a trip to the mountains. Bishkek is a very picturesque place famous for its nature treasures. The destination chosen was a ski base Oruu-Sie, located 37km away from the city at the level of 2100m above the sea level. The city, especially with its night illumination, looks just awesome from there!

Having treated themselves to large amounts of pilav and barbeque, taken a lot of nice pictures and visited a sauna with beer, everybody was delighted to realize that Sibers traditions of celebration were imported to Bishkek quite safely and without malfunctions. Our executives were also glad to congratulate our Bishkek colleagues with good progress, which is supported by high grades on Elance, positive balance and numerous praises from our customers.

kyrgyz-mountains

Sibers CEO Yuriy Bannov in Kyrgyz mountains

A good start is worth such efforts.

Microsoft Certified Partner

October 19, 2010

Sibers has updated its status to a Microsoft certified partner, which is supported by a nice glass tablet from Microsoft saying “for your commitment to creating and delivering innovative customer solutions and services based on Microsoft technologies, we proudly recognize your dedication to excellence” and signed by Steven A.Ballmer and Allison L.Watson.

sibers-microsoft-certified-partner-plate

Such a pleasant present arrived on the day of Key-Soft birthday (editor note: long time ago Sibers was named Key-Soft) and marks the efforts of a whole Sibers team of .NET developers on creating a wide range of high-quality applications. We congratulate our .NET department and its team leaders Alexey Malinovsky and Roman Sitnikov with the achievement. The certificate resulted from our Microsoft team obtaining 23 certificates of 8 types on different technologies:

  • PRO: Designing and Developing Enterprise Applications using Microsoft .NET Framework 3.5;
  • PRO: Designing and Developing ASP.NET Applications using Microsoft .NET Framework 3.5;
  • TS: Microsoft .NET Framework 3.5, Windows Communication Foundation Application Development;
  • TS: Microsoft .NET Framework 3.5, ADO.NET Application Development;
  • TS: Microsoft .NET Framework 3.5, Windows Forms Application Development;
  • TS: Microsoft .NET Framework 3.5, ASP.NET Application Development;
  • TS: Microsoft .NET Framework 2.0 – Windows-based Client;
  • TS: Microsoft .NET Framework – Application Development Foundation.

With the official message complete, let me disclose some confidential information. It turned out that the award package from Microsoft was a bit buggy :) Not that we expected it, but there was an awkward feeling in the air. There were two glass tablets in the package and one of them was through the looking glass, i.e. mirror-printed — yes, you should understand it literally. So, the congratulatory text looked like this:

tfosorciM

rentrap deifitreC

“evitavonni gnireviled dna gnitaerc ot tnemtimmoc ruoy roF
secivres dna snoitulos remotsuc
ezingocer ylduorp ew ,seigolonhcet tfosorciM no desab
.ecnellecxe ot noitacided ruoy”

microsoft-plate-buggy

Nevertheless, the fact of possessing such a rarity makes us happy. This tablet is unique among thousands analogous (we hope, Microsoft doesn’t produce this bug with every other tablet), and due to its uniqueness our company has its own spirit!

Creating Cross-platform Mobile Applications

October 1, 2010

All-in-one with minimum charge: is it possible to save?

HireRussians Mobile Team Leader By Sibers Mobile Team Leader Igor Chertnekov

Thinking about mobile applications, most customers keep in mind that designed once, their application can be easily redesigned for other platforms. Why, they are quite aware of cross-platform transformations and it is not supposed to be difficult for real professionals. Had they but known about all the complications awaiting for the application and their real saving in comparison to the development of a really nice original application, they would have given up this idea quite readily. Curious to see some justification?

A list of the most popular among the sea of mobile platforms includes: BlackBerry OS; Android OS; iOS; Windows Mobile; Symbian; Bada; Palm WebOS; J2ME, etc.

Porting between devices on one platform

The variety of mobile devices

iOS family

Let’s consider the easiest case of compatibility: iPhone – iPod – iPad.

  • iPhone — iPod: goes without any changes.
  • iPhone — iPad: the logic does not need any transformations while the design needs certain changes according to the HIG for iPad, as the screen becomes four-fold bigger. Thus, the interface requires redesigning.

Things to keep in mind:

— With all the compatibility, still there is a problem with different versions of the OS. For example, iPhone 2G/iPod 1G does not support applications for iOS 4.0.

— Some “minor” differences include iPhone 3GS and 4 having an auto focus and a high camera resolution as well as a built-in compass; iPod 2G+ has a built-in dynamic; iPhone 3GS+ allows shooting video; iPad supports direct file exchange between the application and a desktop; iPhone 4 has two cameras; iPad does not support the Game Center, and it is just the beginning of a long list.

Cross-platform changes for Android-based devices

Android keyboard nightmare

With unchanged logic, different models require changing graphics for the screen size; graphics and UI for the keyboard type (screen or physical); graphics and UI for the screen orientation where the keyboard is available.

Things to keep in mind:

— OS versions incompatibility goes without saying; moreover, different devices can have different efficiency, various location of the camera with different orientation (facing the user or facing the world; some Android phones go without a touchscreen).

Cross-platform changes for Blackberry products

With a big number of devices produced without a touchscreen, different devices require special assembling, or the application is going to be a bit too heavy and clumsy. In addition, the 4.5 version, which is still quite popular, does not support many of the convenient APIs, especially those dealing with the interface. As for the interface, Blackberry products have a rather problematic one, which should be written every time from scratch and requires quite substantial design work.

Cross-platform changes for Symbian, WinMobile, etc

The problems are essentially the same and you have already read about the most serious ones – to list a few: different OS versions, resolution, design, keyboards, orientation, etc.

In this case the interface requires ultimate changing including every single detail connected with the API for every platform, namely work with the camera, net, GPS, file system, databases and so forth. In very rare occasions their mathematics and OpenGL graphics stay the same, but it is rather an exception.

Cross-platform modifications cannot but have certain “pleasant” features:

  • Android apps cannot use more than 16Mb RAM;
  • iPhone apps cannot access sms, calls history, correspondence and file system;
  • Blackberry apps require writing their interface from scratch with many standard components having only simple implementation. For example, text fields do not have any visual decorations, and if you need just a field with a simple horizontal bar, it will be necessary to add this feature on request.
  • BB and Android are more difficult for debugging with their clumsy emulators.

In fact, the real saving on the development of the second application for the new platform totals from 5% in the least optimistic case till 30% in the most optimistic one.

Saving on porting apps between mobile platforms

Of course, we know quite a number of standards and frameworks for writing cross-platform applications, including HTML5 web application; HTML5 in original; PhoneGap; MotherApp; Big5; Rhodes. Why not use them?

Frameworks for creating cross-platform applications

You see, all of the mentioned above require a lot of resources. It is impossible to develop games with such frameworks, and they are best only for reference books, guide books and calorie calculators, if you need them. In addition, with one set of graphics your app will be designed for only one platform and look strange on any other.

You get what you pay for, don’t you?

Follow

Get every new post delivered to your Inbox.