Thursday, 29 October 2015

Top 10 tips for building better mobile apps

I recently wrote and published a book on cross-platform mobile development called “Build Native Cross-Platform Apps with Appcelerator: A Beginner's Guide for Web Developers.” The post that follows is an excerpt from that book, with modifications for clarity and length. It is composed of a list of the most important points I make in the book -- a cheat sheet, if you like.

While these tips center on the Appcelerator Platform, all of the principles apply for any developer writing apps for more than one mobile operating system. If you keep these tips handy, they’ll help you stay focused on building best-in-class, cross-platform native apps.

Tip No. 1: Beauty is relative to the platform

The image below shows the Evernote mobile app running on iOS 8, Android 4.4.4, and Windows Phone 8.1. These screenshots show the main screen of the app, logged in as the same user at the same time, so the data is exactly the same.

Evernote three ways
However, as you can see, the user interface is completely different across the platforms. They are each beautiful and well designed, but the concept of a “beautiful Android app” is very different from that of a “beautiful iOS app.” That’s because beauty is relative to the platform.

Before you design your apps, take a step back, learn how your target platforms work, and implement your branding around their specific parameters. And remember that even if your app renders differently across platforms, with Appcelerator, you’ll still be able to use a single code base and have a very high percentage of code reusability.

Tip No. 2: Code reuse is for your app’s logic -- not necessarily for UI

There are many misconceptions about code reuse with Appcelerator or any cross-platform tool, for that matter. Expecting 100 percent code reuse isn’t reasonable because it not only means you’d have very little control over your app’s UI/UX, but also your app would look the same across all target platforms.

Of course, some people think this is the ultimate goal of a cross-platform tool, but that’s misguided. That’s the goal of a Web browser. High reusability, however, is desirable with your app’s logic (which I explain in more detail in Chapter 7 of the book if you’re interested).

Tip No. 3: Always think “Web service”

Because we’re developing cross-platform apps, I recommend you build your code to be completely abstracted, as if it was a Web service (a local Web service, if you like). Make all of your programming logic completely independent from the screens or even the platform in which it will run, so all of your programming modules are platform-agnostic and, most important, reusable across platforms. Then build the native user interfaces, which will consume these “local Web services.” Using this architecture, you can make sure all the user interface code is completely decoupled from the logic, and both can flow independently.

It took me a while, as a former Web developer, to recognize and accept that, when it comes to building mobile apps, I always need to think “Web service.” However, making that mental shift is worth the effort, and your apps will be better for it.

What’s more, with this approach it does not make any difference if you’re using a TabbedBar on iOS or a ViewPager on Android. After all, the user interface code is simply a consumer of your app logic.

To help you on this journey, I created an app template you can use every time you create a new app (see below). This template is written using Alloy, Appcelerator’s MVC framework. The template provides the MVC architecture needed to maintain platform-specific user interfaces, with content and logic reusability. You can download the app template from GitHub.

Tip No. 4: Remember that tabs can be deep or shallow

iOS tabs have a built-in NavigationController, which allows multiple levels of navigation inside each tab. Android tabs, however, are shallow and should have no in-tab navigation.

To illustrate this, I’ll show you how the Facebook app for Android had approached this incorrectly (it has since been fixed). The image below shows the former Notifications tab of the Facebook app for Android.

Facebook for Android
Per Android design guidelines, tapping on the Back button in the main screen with tabs should kill the app. Now, if you click on any of the notifications on the Facebook app, you’ll see what’s illustrated in the image below.

Facebook for Android navigation
Here Facebook tries to implement iOS-like functionality that provides in-tab navigation. There are two problems with this. First, you’re in the Notifications tab, but the ActionBar title says “Comments.” This is confusing and counterintuitive. Second, and most important, the Back button now is redefined: Instead of closing the app, it takes you back to the previous screen.

As a rule of thumb, don’t try to force navigation inside your Android tabs. Doing so will break the operation of the Back button and make your app feel awkward.

Tip No. 5: Know your target platforms

The tab example above is one reason it’s important to know your target platforms. And the best way of knowing what’s available to your app, and what you should and shouldn’t do, is by reading each platform’s user interface guidelines.

Unless you use the operating systems you’re targeting on a daily basis, and you feel like you thoroughly know their behavioral and visual similarities and differences, I suggest you take time to read the guidelines in full.

Check out the iOS guidelines and the Android guidelines. After reading through these documents, you’ll have a wealth of information that will help you understand each platform, design better user interfaces, and know what to look for in the Titanium API or, alternatively, in a third-party module.

Tip No. 6: Work with your design team

If you’re a graphic artist, make sure you learn about each platform, their navigation paradigms, and their visual language. You will find subtle differences that make a great difference in usability.

If you’re a programmer with a graphic artist in your team, or you’re working as a contractor/freelancer for an agency that is giving you mockups of the app to be built, learn to work with the designers and educate them. Help them understand that each platform has a native way of displaying information, laying out screens, and implementing navigation, and these differences go far beyond Android having a Back button and an ActionBar. Mobile platforms are different, so by definition, your cross-platform apps will look slightly different across platforms.

Tip No. 7: Don’t fear modules

The goal of Appcelerator has never been to expose 100 percent of each native SDK supported, but rather, to provide a comprehensive, top-level, cross-platform API. To cover the features not officially exposed, it offers a Native Module Development Framework, which Objective-C and Java developers can use to expose additional features and functionality. These modules can dramatically enhance the overall quality of the app and therefore the user experience. Learn to find modules, use them, and embrace them.

Tip No. 8: Love your target platforms

Don’t let your personal preference influence the design, functionality, and quality of your cross-platform apps. If you love iOS, that’s no reason to show more commitment to your iOS app, leaving behind your Android users. Learn to love each platform with its strengths and limitations. Learn to compare the platforms, but not to criticize them. They are all good in their own right and in their own contexts. Always try to build the best possible app for the platform you’re targeting.

Tip No. 9: Test often

Since your cross-platform app will have both cross-platform and platform-specific code and components, make sure you test often. Don’t spend days working on the Android version, then finally run it on iOS and discover the object positions are off, the fonts need adjusting, or the app simply crashes on load. My recommendation is to test often; if something breaks on one platform, you can immediately identify the problem.

Tip No. 10: Be your user

Your user is the most important consideration when it comes to building your app. Be a user of the target platform and know how the platform works. Be a user of your app so that you can experience it for yourself. Look around, examine other apps, compare and analyze as honestly as you can.

When you’re testing your app, ask yourself: Would I use this app? Does this app feel right? Make sure it conforms to your own standards. If you love your app, most likely your users will love it too.

We live in an age when no company can afford to ignore the transformative power of mobile or the expectations and demands of mobile users. Learning how to correctly develop across platforms is an important skill that will help you (and your company) get ahead in this climate. With these 10 tips, you should be well on your way to achieving mobile success.

Note: I’ve also made these tips available as an infographic, readily accessible. It’s designed in poster size, so feel free to print it out if you’d like. I’m sure it will look awesome on your wall! If you’d like to read the whole book, you can get it on Amazon.

Tags : mobile application development, mobile app development, mobile apps developer malaysia

Credits : http://www.infoworld.com

Tuesday, 8 September 2015

淘宝代运马来西亚

淘宝代运马来西亚

淘宝代运马来西9月7日电(记者康淼、黄鹏飞)2015年淘宝代运马来西亚
会(厦洽会)将于9月8日在福建厦门举行。记者从主办方了解到,本届厦洽会预计将有超过100个国家和地区、约5万名客商参会,淘宝代运马来西亚、自贸区建设与国际投资合作等主题进行全面交流。

    本届厦淘宝代运马来西亚上,延续打造的一场全球淘宝代运马来西亚动,是以促进双向投资和淘宝代运马来西亚合为目的的全球投资盛会。主办方表示,目前大会客商邀请、组展布展、论坛研讨、项目对接和综合保障等各项工作均已准备就绪。

    淘宝代运马来西亚介绍,本届厦洽会设10个专业展区,总展览面积10万平方米,分为投资主题馆和产业招商馆。将有约1500家企业和机构到馆参展,涵括淘宝代运马来西亚    福建是"21世纪海上丝绸之路"核心区,厦门亦为"海丝"建设重要节点城市。今年厦洽会邀请到巴林、马来西亚、印度、印尼、新加坡、越南、阿联酋、沙特等20多个"一带一路"沿线国家和地区参会,淘宝代运马来西亚.    淘宝代运马来西亚表示,巴林在古代丝绸之路和当前的"一带一路"线路上都占据着关键位置。作为首个以主宾国身份出席厦门投洽会的中东国家,巴林将在此次盛会上全面展示中东市场的发展前景与商机,为中国企业提供更多合作交流机会。

    此外,淘宝代运马来西亚合作、金砖国家的投资机会、"互联网+"时代产能国际化、全球并购发展与中国企业机遇和挑战等主题也成为此次投洽会热点。
淘宝代运马来西亚、上海、广东、天津4大自贸区与80多个中国各地各类国家级开发区代表与会参展,届时将举行多场自贸区相关的论坛和对接活动。厦洽会亦将更多凸显特色"侨乡"元素,邀请各国侨商在海外华商中国投资峰会上与国内自贸区代表进行对话,淘宝代运马来西亚。

    同时,淘宝代运马来西亚"台湾"元素。除邀请两岸共同市场基金会、台湾工商建研会、台湾贸易中心、台湾海峡两岸医事交流协会等诸多机构与台湾知名人士参会,大会还将举办以"聚焦一带一路,共创两岸双赢"为主题的两岸经贸合作与发展论坛,协同一系列对接交流活动,淘宝代运马来西亚合作商机。





淘宝代运马来西亚

在你的高中里是不是有一个像淘宝代运马来西亚一样的淘宝代运马来西亚般的完美女孩,是不是有一个一样,是不是有一个一样的书呆子,学业出色,却是十足的社交白痴。是不是有一个Riche一样的死党,自己的生活一淘宝代运马来西亚,还争着为你出头。曾经亲密无间的老爸老妈,是否也开始无法理解变化中的你。而你,是否会从淘宝代运马来西亚的独白中,。在1994年到1995年间播出的电视剧《淘宝代运马来西亚仅仅只播出了19集,却以其诚实的风格打动了众多观众的心。

淘宝代运马来西亚
一淘宝代运马来西亚,也许大家觉得微不足道,滴在地上只是一淘宝代运马来西亚,装在车里,车也走不了几米。但大家不要小看这小小的一滴油,他的年纪可真不小,他可是经历了上亿年的演化,经过淘宝代运马来西亚工序才能从最初的生物变成现在用在汽车和各种机器上的汽油柴油。淘宝代运马来西亚,我们给这一滴油起一个名字,就叫做淘宝代运马来西亚吧。因为石油真的是地球留给我们人类的最最宝贵的财富。我们现在的工业社会,都是建立在石油工业的基础之上的,如果没有了石油,我们的机器无法运转,汽车无法开动,淘宝代运马来西亚办法生产,就连肥皂和洗衣服这些基本日常用品,都是石油工业的产品.

淘宝代运马来西亚
19世纪初,一位荷兰商人在淘宝代运马来西亚发现了他的日本瓷器包装纸上居然有一副美人肖像,淘宝代运马来西亚,但是却不同于他见过的所有西方肖像。显然这种全然不用于往日视觉经验的作品深深的吸引了他,淘宝代运马来西亚,发现它们上面都有着色彩亮丽,内容各异的画面。淘宝代运马来西亚,商人开始寻求这种日本版画之路。当时这类版画可谓是价格低廉,便于收藏。当他把这些藏品拿出来展览之时,几乎震撼了所有的来宾。这批日本版画就是"浮世绘"。这些版画对欧洲的画坛产生了深远的印象,以至于现在大家提起浮世绘,第一想到的是色情,第二想到的就是梵高和印象派。

Friday, 21 August 2015

Baccarat Online Tips

Baccarat Online Tips

Just like live dealer blackjack, baccarat online is a game that does not offer many opportunities to use any betting strategies. Counting cards is a pretty challenging practice, since most live online casinos use between 6 and 8 decks of cards. However, we do have some tips that can guide you to your success in this game. Make sure you read them through to make the most out of your live dealer gaming experience.
  1. Try to find a baccarat online table where the game is played using the lowest number of card decks. Most casinos play with either six or eight decks, but you will find that there are high stake tables that will allow you play with one deck only. However, the odds are slightly lower for the games with fewer decks.

  2. Statistically, bankers win more often than players do, making the odds leaning to the favour of the house. Therefore, it is always wiser to wager on the banker. From the mathematical point of view, it makes sense to place bets on banker's hands. In the long-term this will pay off for sure.

  3. Never lose track of your bankroll, record all your wins and losses. Also, keep in mind that you will be charged commission every time you bet on the banker's hand and win. Sometimes, the house won't charge you until you leave the table, so make sure you keep track of your bets along the game. Don't start using money that you'd have put aside for the next weeks' fun – this will only make you lose more money than you earn.

  4. Practice makes perfect. Baccarat might not be that famous as the other classic casino games, such as roulette or blackjack, but it's actually a game that can be learned within a very short time period. The only part about it that needs to be practiced is the betting one. You need to understand and learn how to place a bet correctly on the outcome of the game.

  5. Play for free. The Internet is full of free versions of the game and, as said before, practice will turn you into a pro. Use this opportunity, especially because you don't have to put anything at risk.

  6. Never bet on tie. The odds will ever be higher for this type of bet, but the chance of this to happen is extremely small.
All in all, the best tip for playing baccarat is lots of practice before you start wagering your hardly earned money. Play with every chance you get: online, at home or on your smartphone. That will let you learn the basic techniques and make up some strategies for yourself. It is always best to try them for fun, since even the most "solid" strategies might sometimes bring unexpected results.   Tags : online betting malaysia, casino malaysia, online casino malaysia, baccarat online, blackjack online