Case Study –Gifts B2C Ecommerce Platform Development

GiftsAbout The Client and Project

Hunan gifts Co., LTD., which focus on gift planning, design, development, production and sales. This project is for the company to build a one-stop online exhibition, marketing and promotion of solutions, including enterprise website, gift industry B2C e-commerce sites, back office management system, the android mobile applications, the IOS mobile applications.

The project is mainly composed of three parts, there are including:

1)       Eshop ecommerce

2)       Mobile App( IOS and Android)

3)       Back office( The third party management system)

Our solution for B2C ecommerce platform

According to client requirements, we first proposal our solution for this project: our resources, our costing, our project schedule, our tools and technology.

Resources

Resource

No. of  resources

Man days / Resource

Total man days

eShop

Project manager

1

40

40

Project architect and technical director

1

100

100

PHP Engineer (eShop & eShop management)

2

100

200

Front end developers (eShop)

2

40

80

Graphic designer (eShop)

1

30

30

QA Engineer (eShop)

2

30

60

 

 

 

510

Mobile App

Project manager

1

20

20

Android developer (eShop)

1

80

80

iOS developer (eShop)

1

80

80

Graphic designer (app)

1

20

20

QA Engineer

1

20

20

 

220

Back office

Project manager

1

80

80

Architect

1

60

60

Java developer / PHP

3

160

480

QA Engineer

3

60

180

 

 

800

Costing

eShop and management

510 man days

510 x 500 = 255,000 RMB

Mobile App (Android + iOS)

220 man days

220 x 500 = 110,000 RMB

Back office

800 man days

800 x 500 = 400,000 RMB

 

Project schedule

eShop: 87 days after project start

Mobile app: 80 days after project start (Note: App can be launch along eShop)

Back office:  150 days after project start (Note:  it also includes testing and issues fixing)

Company website: Need requirements (Note: Company website can be launch before eShop)

 

Tools and technology

Language: Java & PHP

Database: MySQL 5.5

eShop: ZEND Framework , Magento system, HTML, CSS, JQuery, BootStrap

Echo management: Hibernate, JSF 2.1, Prime-faces

Webservice: SOAP, REST

Integration plug in for backend:

CRM Integration: Sugar CRM Bridge

ERP plugin:  eShopConnect

The client is very satisfied with our proposal and we are now discussing more details with them, when everything is confirmed, we will begin our first cooperation.

About CCJK

Founded in 2000 and born for Internet, CCJK is a highly trusted professional e-Services company supported by more than 2,000 talented linguists, engineers, designers and programmers who work as a super organized team. From language translation, desktop publishing, graphic design, software localization, website development, SEO, user guide to corporate eLearning, we provide one stop solution to help client gain competitive edge. We rely on streamlined and sophisticated process to ensure fast and quality delivery. By trusting CCJK’s one stop solution, you need only focus on your core business, win market share and maximize your profit in simplest and soonest way. If you have any translation inquiries, please feel free to contact Jolie.ben@ccjk.com

CCJK services portfolio:

  •  Document translation
  •  Website localization
  •  Software/mobile app localization
  •  E-learning courses: development & adaptation
  •  Voiceovers & subtitling
  •  Language interpretation

Database Accessing and manipulating Language SQL (part 1)

psb

Introduction of SQL

SQL, short for Structured Query Language, which is a programming language to access and manipulate databases, meanwhile, it’s as one of ANSI standard. SQL is not only used to access & query data, but also to update and manage the relational database systems. Obviously, the latter function shows its strong performances of Structured Query Language and it’s what critical to administrators.

Statistics shows that SQL is the most important relational database manipulation language now. The influence of Structured Query Language is beyond the database field; it gets attention & adoption in other fields, such as data retrieval of artificial intelligence. Besides, SQL has be embedded in the fourth generation of software development tools.

Structured Query Language exists independently of database itself, and computer, network, operation system used. The SQL-based DBMS products can run in a wide range, from PC, workstation to a variety of computer operation systems (based on WLAN, Minicomputer, mainframe etc.). You can see its good scalability and portability.

Versions of SQL

Although SQL is an ANSI standard, there are different versions of the SQL language. In the beginning, it passed by the American National Standards Institute in October 1986. Then, the International Organization for Standardization (ISO) has issued a formal international standard SQL. In April 1989, ISO SQL89 standard had been proposed with integrity features. And the SQL92 standard was announced in November of 1992 & it divided database into three levels: base set, standard set and complete set.

There are subtle differences in a variety of databases for its support and standard to SQL. However, they all support at least the major commands (such as SELECT, UPDATE, DELETE, INSERT, WHERE) in a similar manner.

SQL language contains four parts:

Part One: SQL DDL, stand for Data Definition Language: it includes statements like CREATE, DROP, ALTER, etc.

Part Two: DML, stand for Data Manipulation Language, for example: INSERT statement, UPDATE statement and DELETE statement.

Part Three: Data Query Language, such as SELECT statement.

The last part: Data Control Language, for instance, GRANT, REVOKE, COMMIT, ROLLBACK and other statements.

What can Structured Query Language do

Structured Query Language can execute queries against a database;

Structured Query Language can not only retrieve, also insert and update records in a database;

Structured Query Language can delete records from a database;

Structured Query Language can create new tables in a database and even create new databases;

Structured Query Language can create stored procedures in a database;

Structured Query Language can create views in a database;

Structured Query Language can set permissions on tables, procedures, and views;

Is Samsung's Patent War Failure All Devastating?

The verdict of the dreary patent war between Apple and Samsung came out this week and found the latter infringing on Apple’s several software technology and design. According to the final verdict, Apple would be awarded a whopping one billion dollars in compensation.

That also raises a question, and shall we view failure a completely bad thing? That is one good tricky question, because to different people failure could lead to completely different consequences. Let’s assume there are three kinds of people out there who might not care, over-care or reasonably care about the failures they ever encounter.

Firstly let us examine the very kind of people who tend to care little about their setbacks. They may have already had lost their last piece of confidence in everything and truly adapted themselves to the novelty life philosophy of “enjoying” the life. That is sad, and, yes, pathetic too. And if you are not a reverend, just leave them alone and do not waste time evangelizing a positive lifestyle. Don’t worry at all, and these people have inborn immunity to any failures.

And now let’s take a look at the over-care type of people who constantly get devastated by even minor setbacks they meet with in life. To be honest, I used to be one of them, over suppressing myself and habitually weighing how others would think of me and what I did over and over again. Once stricken by something as huge as defined failure, one of these people may feel hopeless and may, in the worst scenario, lose the will for life. Maybe it sounds a little overstated, but I think I might be able to offer some official statistics on suicide rate these years and events they were concerned.

Lastly, we shall discuss those who can care about various failures just in the proper amount. Obviously they are pretty good at handling emotions, knowing that to be extremely pessimistic or optimistic wouldn’t help at all. In most cases, they just clear up their thoughts, learn from the mistakes made, and reorganize their life. They are the type of people who need the least emotional comfort.

To sum it up, failure is a good thing that keeps testing every and each person’s mentality. Some may drown and some may grow into a stronger version. Good precautions may also be needed, and varyingly appropriate amount of affection should be distributed to the three types of people respectively.

Best Practice for Android App Translation within CCJK

The Android operating system runs on a wide array of smart devices, which could be made by manufacturers of all sizes, using electronic components with very different specs. The power of open source has helped Android unite most smart device manufacturers in the world and grab the first place in mobile OS market share.

Smart device penetration has seen a soaring growth worldwide in recent years, mainly thanks to the open source Android OS, which is accessible to all hardware manufacturers, regardless of their size and system integrating capability. The alliance functioned well at the early stage, and now Android devices are seen being used in every continent of the world, by an estimate of 400 million people.

To reach a wider audience, it is a must to consider translating (or localizing, to be exact) your Android apps into other world languages, because in most cases, user number equals app revenue. 😉

1. Figure out what languages to translate your Android app into
Job number one, get yourself clear what languages you should translate your Android apps into. The most common approach is to know which language has the most users and which has the most growth potential. There are a lot of lecturing and figures on that, and we shall skip the dumb number game directly.

Demographic numbers are very important though, you should study much more on the match score between your app and the audience’s actual needs, and that is what matters most to your choosing the languages to translate into. For example, there is hardly anyone in Ukraine who cares where the greatest Japanese restaurant is located near the Fifth Avenue, New York, so as long as you don’t provide restaurant finding services in Kiev, save yourself from any localization effort. But if it is an international air flight tracking app that you have translated into Ukrainian, it will be huge success locally.

2. Prepare resource files
Like all other software translations, the foremost step in actual Android app translation is to prepare the localizable resource files, which are in .xml format. It is required that you understand how an Android app loads its resource, including text strings, graphic user interface and images, and other general principles of localization. It is very advisable that, on the app development stage, you put most of the localizable contents into resource files. Resources could be text strings, graphics, audio, layouts and any other static data your Android app needs to run.

There could be many sets of resources in one Android app, and the app chooses which set of resource to load according to the particular locale it is run in. If there is no matched result in its existing resources, the app will load the default resource files instead. So, please make sure your default resource set include all necessary text strings, GUI, graphics and other static data that are essential to run the Android app. But of course, you don’t need to include all data in every set of the resource files, because many of them usually share the same layout and even some of the text strings, and when the Android app needs to load the shared part that is missing in the designated resource set, it will load the corresponding data in the default one. And that gives one more crucial reason why you should keep your default resource files intact and to contain adequate static data to run the Android app wholly on its own.

Other than in-app resource files, app description, advertising material and all other promotional texts shall also be translated accordingly if you plan to launch the app in pertinent oversea markets.

3. Have professional translators do the translation
When the localizable data are extracted and ready for translation, the job is then handed over to the finest language translators within CCJK. The translation process normally involves three separate linguists translating the original strings, editing and finally testing/proofreading the translated Android app, so that superior translation quality can be secured. Localization engineers at CCJK will also provide all necessary technical support to make sure all graphic elements can be perfectly translated. For resource sets that share some common parts of data with the default one, you may just leave the common parts out of the sets, so as to keep a minimum of file size of the Android app.

4. Test localized Android app
Generally, there are two ways to test localized Android apps. You may either test it on an actual Android device, or on an emulator you may find in the Android SDK.

When testing on an Android device, you should split some focus on stuff other than translated text strings, but be aware that the open source Android OS is free to any hardware developer, so that the devices your app will run on may vary to a great extent in screen size and resolution, which could drastically affect how your Android app is actually presented.

Also, remember to test the default resources, as you can hardly include all languages in the resource library. The test procedure cannot be easier, but to set your device or emulator to a language your Android app does not support. If the app functions well, automatically loading the default resources, you may just rest assured your app will perform properly under most circumstances.

After all the pains of localizing your Android app, there comes the harvest season. Launch your app on Google Play or local Android app markets, and, with proper marketing, you will see the soaring downloads of your app and mounting revenues!

Find CCJK as your reliable Android app localizer
Android app translation is a highly technical job, and only the pros are qualified for it. CCJK is an experienced mobile app localizer, having translated more than 500 Android apps with discrepant features. If you happen to have an awesome Android app that can achieve world popularity, well, look no further and let our localization expertise contribute to your global business triumph.

Why Is the Crashing Price of Facebook a Good Thing?

Facebook IPO has gone through a huge price plunge since the day it started trading, from the peak of $45 on the first day of trade to the latest close price of below $29. That is a 35.6% slash comparing those two numbers. So what went wrong with the young super giant? Or may we put it as the super young giant?

Well, personally, I don’t believe there was over-evaluation of the Facebook IPO in the first place. It’s just market isn’t always a place where rationality prevails. Despicable as it is to just warn big investors of the lowering of its financial expectation, Facebook has not digressed from its alleged mission of “making the world more open and connected” by succumbing to monetization over user experience.

Would an instant price surge of Facebook stock be favorable? Yes, but only when it did not come at the expense of its users’ experiences and when the site maintained reasonable schemes for the monetization of its traffic. There have been too many examples of failed genius startups that succumbed to investors’ request and tried abusing their traffic only to get a merely looking-good financial report sheet. They might see a short-term revenue soar and flocks of investors holding tight the belief that the brilliant financial forecast would for sure yield the best financial returns. But in exchange, those startups lost what mattered the most, the user experience, and thus the user stickiness. And people just started looking for alternatives, both consciously and unconsciously, and without exception they all ended up ditching the old ones.

I suppose Zuckerburg has well learnt from these experiences, and that’s why he did not sell the company in its youth, and that’s why Facebook did not turn into another Friendster. Sustained growth is the bottom line and Zuckerberg knows the key to it is making it “cool” so that it can keep driving in people.

Does the stock price really reflect the true value of Facebook? Well, I see it too early to judge that. There might be hidden facts just like the financial expectation altering right before the IPO. Who knows? But as long as Facebook still puts users foremost and keeps catering for their genuine needs even under huge pressure from its board of investors requesting for instant financial gains.

People who did buy Facebook stock, especially at its peak of $45 or around could so easily flip out and ganged up trashing Facebook and so forth. I believe what Facebook has done could be a little unethical, but it does have achieved its pre-assigned mission of getting the fund for its future perfection of the site. Be it right or wrong, Facebook’s current stock price can hardly represent its true value. And given it a little more patience and faith, FB could just be another AAPL with soaring stock price of over hundreds of dollars.

Why Are Smartphones the Cradle of New Entrepreneurships?

If you are not a smartphone user by now, you are surely outdated.

One of the greatest things about smartphones is that they have the magic to enable imagination and creativity, providing a platform where a simple sparkle in mind could ignite a wildfire and “conveniently” turn into something pioneering that changes people’s life or the business landscape.

How’s that possible?

Well, let’s say the functionality of your cell phone is no longer determined by the manufacturer that produces it, but by tens of thousands of third-party individual and corporate developers of mobile applications.

Now you may argue why that is important and what other functionalities of the cell phone are there besides making phone calls and texting messages.

That is exactly the greatest part of smartphones, which provide countless new functions of the phone and endless experience immerging in them.

Taking a few examples, with a smartphone, you are able to browse the Internet, download and play games, interact with friends and family members in social network, check out latest news and manage your itinerary.

You may also argue that you can do all those stuff with your old cell phone, but let me explain to you where the distinguishing differences are.

The smartphone is an open platform that absorbs millions of applications from a wide variety of developers. With smartphones, you can customize the user experience and decide by yourself which are good and how you will want them to present themselves. But as to traditional feature phones, only a small number of applications solely developed by the cell phone manufacturer can be installed on them.

How’s that again?

Smartphones are more like handheld computers, with independent computing capacity to process complex tasks. And when it is open to the public and anyone wishing to be a part of it can easily participate, collective intelligence could be fused and generate unprecedented waves of innovations, presenting millions or even billions of new applications that are interesting yet practical for daily use.

This all makes the smartphone a personal toolkit or entertainment hub, and it becomes easy to explain why people are obsessively using their cell phones wherever they are.

With proper programming skills, you might try developing a mobile application yourself. And as long as you have enlightening ideas of how life could get easier or more enjoyable, there is good chance you can make a millionaire overnight.

You have a wonderful idea yet don’t know anything about programming? That is sad, but not pathetic.

As long as you have faith in what you hope to come out with, you can hire some help instead of doing everything by yourself. First, consult with experts in the mobile application industry and see how big a technical challenge it would pose. Also, don’t forget to listen to other non-programmers’ ideas if they would like the functionality your application aims to provide.

Always be cautious about giving the whole idea out to programmers, and try consulting with them on only part of the functionality of your application.

Why is that? It is simply too much risk giving your idea all out to someone who can easily steal it. Most applications are an integration of several niche technologies, and this makes it possible to assess their feasibilities respectively with different programmers.

When the initial analysis is done, you can draw a project plan and make a progress timeline. There are innumerous freelance programmers available on the web you can hire, or you can simply outsource the development process to a company specialized in mobile app development.

Again, if you don’t know what makes a fine programmer, there will be good risks of wrecking your application by hiring freelancers, because it is too damn hard for a non-pro to tell who’s a real pro. And take my first application as an example, I chose a small company and left the software architecture job to them, and it turned out alright.

Program by yourself is always the foremost approach you should consider when planning to develop a featured new application. And it is okay that learning takes time and you are most likely to be told the idea isn’t mature enough. Don’t get beat down and frustrated when you hear those voices, but take time to learn programming while polishing your idea, because not everyone can envision the future as you do.

The next technological revolution will most likely have grassroots origins, and the driving force will be the very entrepreneurship inside every and each of the ordinary people. Take your time learning what are the newest and be a part of the historic turning event. This is the new frontier age where ordinary people get the chance.