Wednesday, July 30, 2014

Tips to develop IPhone Apps


Issue 1: Cross origin requests are only supported for HTTP
Solution:
1.  While Angular applications are purely client-side code, and it is possible to open them in a web browser directly from the file system, it is better to serve them from a HTTP web server. In particular, for security reasons, most modern browsers will not allow JavaScript to make server requests if the page is loaded directly from the file system.
2.  Use Web server to serve the static contents, such as Apache HTTP Server, Tomcat, Play Framework, node.js. Tomcat is my chosen framework, because I have existing investment in Tomcat.


How to develop AngularJS Project ?
1. Develop within a dynamic web project running on tomcat.  (Equinix)
2. Develop with Play Framework. (GE)
3. Develop with node.js (AngularJS Example)
4. Develop with Dynamic Web Project, where we will host SpringMVC.





Tuesday, July 29, 2014

what is best mobile web app framework


Requirements:
1. The mobile web app framework shall be compatible with AngularJS.
2. The framework shall support good UI rendering in Laptop, Mobile Web, Native Mobile
3. MVC, MVP, or MVVM


One Previous Client:
AngularUI/Bootstrap + Jquery + AngularJS

One Other Client:
IIDS + Twitter Bootstrap AngularJS

References:
http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference
http://www.slideshare.net/simbo1905/design-patterns-in-zk-java-mvvm-as-modelviewbinder
http://moduscreate.com/5-best-mobile-web-app-frameworks-sencha-touch/

AngularJS with Twitter Bootstrap:
http://stackoverflow.com/questions/22421707/best-way-to-combine-angularjs-and-twitter-bootstrap
http://willvincent.com/blog/angularjs-and-twitter-bootstrap-playing-nicely










Monday, July 28, 2014

How to design wireframes for APP


Learnt:
1. Designing wireframes is a very important skill for startup.
2. UX Design is to essentially resolve the business problems for business users.
3.

Diagrams:
Flowchart, Wireframes, Mockups

Goal of Wireframes:
1. Design the solution to solve user's problems
2. Design good user experience, so users will like your design and use them.

Tool:
Omnigraffle, Omnigraffle Stencile, Konigi Wireframe Stencils

Omnigraffle Stenciles:
Konigi Wireframe Stencils
iOS 7 IPhone Stencils by Sourcebits

Links:
http://zurb.com/playground/iphone-stencils


Knowledge Sharing:
1. One way to capture the output of this design process is with flow charts and wireframes. A high level flow chart for a web app (or any software application for that matter) explains the functionality of the application and how you get to each part of the application at a glance.
2. A website wireframe, also known as a page schematic or screen blueprint, is a visual guide that represents the skeletal framework of a website. The wireframe depicts the page layout or arrangement of the website’s content, including interface elements and navigational systems, and how they work together. The wireframe usually lacks typographic style, color, or graphics, since the main focus lies in functionality, behavior, and priority of content. In other words, it focuses on “what a screen does, not what it looks like.” Wireframes can be pencil drawings or sketches on a whiteboard, or produced by means of a broad array of free or commercial software applications.
3. Website wireframes are 90% thinking/planning and just 10% drawing
4.


Good UX APP:
Twitter
Duo Mi



References:
http://startupworks.co/blog/2014/03/07/top-5-online-wireframing-tools-for-startups/
http://startupmusings.wordpress.com/tag/wireframe/





Friday, July 25, 2014

Life Skill for Startup - How to manage your car

Notes:
You need to have critical life skills to manage your life, so you can concentrate your startup. Otherwise, your life work will drag you down.

Responsibility:
1. Manage the car maintenance
2. Select the right company to work with, and keep their contact.

Mistakes:
1. All the contact cards are mis-organized.



Thursday, July 17, 2014

Why Startup Failure - No Time

Problem: Do you have time to do startup ?

Analysis:
1. #1 rule of doing startup. If you don't have time to do startup, you will fail.

Excuses:
1. Job is too busy and too demanding
2. There are too many housework at home.

How other people succeed?
1. Quit full time job and do startup full time.
2. Do startup every day first no matter what.
3. Startup part time, and eventually do it full time.
4. Do startup first, and then life work second.

Principles:
1.


Wednesday, July 16, 2014

How to build PhoneGap application with AngularJS

Tech Stack:
HTML 5 + CSS3 + AngularJS + PhoneGap

Tools:
Github + MongoDB

IDE: STS + Sublime Text + IPhone Simulator

PhoneGap:
PhoneGap is mainly used to build web application to native applications for IOS and Android.

AngularJS:
AngularJS is mainly used to build web application.


Samples:
http://devgirl.org/2013/06/10/quick-start-guide-phonegap-and-angularjs/
http://coenraets.org/blog/2013/11/sample-mobile-application-with-angularjs/
http://www.mkyong.com/mongodb/how-to-install-mongodb-on-mac-os-x/
HTML 5 + CSS3 + AngularJS + GitHub + Node.js + MongoDB






Teck Stack Industry Trend in 2014

Overall:

Major Language:
Java + JavaScript

Mobile (Support IOS + Android):
HTML 5 + CSS + Twitter Bootstrap + AngularJS + PhoneGap

Web Front End:
HTML 5 + CSS + Twitter Bootstrap + AngularJS

Web Backend:
Play Framework or Node.js or Spring MVC

Service:
SpringMVC + Spring Data + Tomcat

Database:
MongoDB or MySQL

JavaScript Stack:
AngularJS, Twitter Bootstrap, RequireJS, JQuery, etc.
Sublime Text, Brackets, WebStorm

Tools:
Git, Github, Bower

IDE:
Sublime Text(good for JavaScript Dev)
Spring Tool Suite (good for Java Dev)
XCode (IOS Developer)
Spring Tool Suite + ADT Plugin (Android Developer)

Interesting:
Yeoman,

Industry Trends:
1. More companies are investing on Node.js and Play Framework. Spring MVC is becoming less popular.
2. Many open source projects are starting to use Github to share projects

New Stars in 2014:
AngularJS, PhoneGap, Node.js, MongoDB

Tech Watch:
1. AngularJS will be one of the biggest change in 2014. Many startups and big companies are starting to heavily invest in AngularJS. Everyone wants to learn about it.
2. There are 4million search about angularjs in google as of date on 7/16/2014.

References:
http://www.infoworld.com/d/application-development/review-10-javascript-editors-and-ides-put-the-test-235662




Saturday, July 12, 2014

How to develop first PhoneGap app on IPhone and IPad

Please reference
How to develop first Phonegap App on Android

Goals:
1. Set up PhoneGap/IOS Development Environment
2. Set up XCode
3. Develop a HelloWorld APP
4. Deploy it to IOS Emulator
5. Deploy it to IPhone and IPad
5. Work with SVN via XCode

Tools:
XCode
IOS Developer Portal
99/year

Tech Stack:

How to use XCode to work with SVN:
1. Start XCode
2. Use Source Control to checkout the IOS PhoneGap Project
3. Import IOS PhoneGap Project as XCode Project
4. Make changes to the files, and synchronize with SVN.

Principles:
1. Use Cordova/PhoneGap to create PhoneGap project
2. Use Cordova/PhoneGap command line to build PhoneGap project to Native Android project and Native IOS Project
3. Import the native project to STS with ADT and XCode
4. Use STS and XCode to develop APP and sychronize with SVN.

Deploy to IOS Device:
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppStoreDistributionTutorial/Introduction/Introduction.html#//apple_ref/doc/uid/TP40013839

Stages:
1. Test the application on IOS Simulator
2. Deploy the application on Device
3. Submit the application to App Store

Issues:
Issue 1: The version of iOS on “your iPhone” is not supported by this installation of the iOS SDK. Please restore the device to a version of the OS listed below, or update to the latest version of the iOS SDK; which is available here.
Solution: Upgrade Xcode to 5.1.1

References:
http://docs.phonegap.com/en/edge/guide_platforms_ios_index.md.html#iOS%20Platform%20Guide






How to develop first Phonegap App on Android



Knowledge Sharing:
1. In order to install PhoneGap Build applications on Android, you will need to ensure your device will allow applications to be installed outside of the Google Play marketplace. To enable this on most Android devices you just go to the Settings > Security and then check “Allow applications from unknown sources.”

Goals:
1. Set up PhoneGap/Android Development Environment
2. Set up STS
3. Develop a HelloWorld APP
4. Deploy it to Android Emulator and Android Device
5. Work with SVN via STS Subclipse Plugin

Tools:
Spring Tool Suite with ADT Plugin
Android Studio

Tech Stack:
JDK 6/7 Node.js + Ant + Git + PhoneGap + Android SDK + Cordova


Steps to set up Phonegap Development Environment:
1. Install node.js from http://nodejs.org/
2. Install git from http://git-scm.com/download/mac
3. Install ant from http://ant.apache.org/bindownload.cgi
4. Install phonegap from http://phonegap.com/
5. Install Android SDK from http://developer.android.com/sdk/index.html
6. Install Cordova with node.js
http://docs.phonegap.com/en/edge/guide_cli_index.md.html#The%20Command-Line%20Interface
sudo npm install -g cordova
7. Install ADT Plugin into Eclipse
8. Set up classpath:
    export PATH=${PATH}:/Development/adt-bundle/sdk/platform-tools:/Development/adt-bundle/sdk/tools
 ;%JAVA_HOME%\bin;%ANT_HOME%\bin
Samples for Hello World:
http://docs.phonegap.com/en/edge/guide_platforms_android_index.md.html#Android%20Platform%20Guide

Work with SVN:
1. Check out the Android application from SVN to STS with Subclipse plugin.
2. Import Android application to STS as Android project.
3. Make changes to Android project and synchroize with SVN.

References:
http://flippinawesome.org/2013/03/29/phonegap-build-part1/
http://code.tutsplus.com/tutorials/phonegap-from-scratch-introduction--mobile-9171
http://stackoverflow.com/questions/16636146/using-android-studio-with-java-1-7

Android + PhoneGap:
http://docs.phonegap.com/en/2.7.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android
http://spring.io/guides/gs/android/

Best Practice:
1. Install Android SDK in a separate location.
2.

Issue List:
Issue 1: Please install Android target 19 (the Android newest SDK).
Solution: http://stackoverflow.com/questions/20010969/phonegap-with-android-sdk-4-4

Issue 2: didn't see android avd in eclipse
Solution: Change the perspective to java perspective

Issue 3: How to use Android Studio with Mac and Java 1.7
Solution: For those wonder how you start the actual program Android Studio with Java 7 edit the plist located in /Applications/Android Studio.app/Contents/info.plist Change the xml key JVMVersion which is 1.6* to 1.7*

Issue 4: Failed to open the HAX device! HAX is not working and emulator runs in emulation mode emulator
http://stackoverflow.com/questions/20857256/failed-to-open-the-hax-device-hax-is-not-working-and-emulator-runs-in-emulation
https://software.intel.com/en-us/android

Issue 5: Android AVD starts slow
http://stackoverflow.com/questions/1554099/why-is-the-android-emulator-so-slow
Issue 6: adb devices shows unauthorized
http://stackoverflow.com/questions/18011685/cant-connect-nexus-4-to-adb-unauthorized

Issue 7: it works in real device, but failed in the emulator
Some issue happened for AVD.
07-12 14:04:22.270: E/WebViewFactory(836): Chromium WebView does not exist
Real Device: Android 4.4.2
Remove the Android 4.4.W. Make sure that I can choose different target.

Issue 8: Can't see hidden files in Mac
Solution: defaults write com.apple.finder AppleShowAllFiles TRUE
http://osxdaily.com/2009/02/25/show-hidden-files-in-os-x/

Issue 9: Ask Eclipse to prompt for workspace

Issue 10: Eclipse Hangs in DDMS post-create init
http://stackoverflow.com/questions/8677679/eclipse-hangs-in-ddms-post-create-init

Issue 11: What is the best SVN Client tools in MAC
http://svn-ref.assembla.com/mac-svn-client-reviews.html#versions
Versions




Thursday, July 10, 2014

How to set up Mac for Development

Install JDK7:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

Setup Java Home on Mac
Install bashprofile:
Start up Terminal
Type "cd ~/" to go to your home folder
Type "touch .bash_profile" to create your new file.

Install Java Home:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home




Tuesday, July 8, 2014

How to prepare yourself to do startup


  1. Search new business opportunities constantly
  2. Improve Technical Skills and open new business opportunity in new Tech Space
  3. Build networks. Keep meeting people on local entrepreneurship meetups & other events. You never know who among those will give you the lifeline at the right time. Also, you need to build connections with useful contacts.
  4. Learn sales & marketing. Your startup's future depends on it. You have to learn ESPECIALLY if you are an engineer. You just can't think that you will hire someone who will automagically sell stuff for you.
  5. Mentally prepare yourself and your spouse (if you are married) to look for the long term gains to overlook the short-term pains. The spouse needs to be strong to enable you to run your business.
  6. Cut spending to a bare-minimum. Learn how to live frugally (even if you don't want to start living like that right now). In a startup life, a lot of times you have to figure out ways to cut down spending, to improve your survival rate. Learn how you can do that now. If you have figured how to live 12-18 months without a paycheck, you are on your way.
  7. Build your savings. The one who has gold in his pockets sets the rules, in a startup.
  8. Figure out the top 5 things you want to do in your life and do it NOW (if you can). In a startup life, you won't have time to do them. By doing them before, you will have less regrets starting up on your own. You can always convince yourself that you did those things that many of your peers (who are still making that hefty salary) have not done.
  9. Watch inspiring movies. I watched the entire list here: AFI's 100 Years...100 Cheers. When you watch movies such as Stand & Deliver or Life is Beautiful, you get a different perspective in life. This will be really helpful when you are under pain and just want to give up (this situation is more likely than you imagine).
  10. Do something adventurous (such as hike the Grand canyon from north to south side, a 5-day camping in Central America or volunteering in Africa). You will learn teamwork, withstanding pain and taking the right level of risks. I know many who use their hiking/camping lessons in startups.
  11. Meet family, friends and attend parties. After you start up, you will get in your bunker and meet people only when they can generate a business lead. You won't have any time for personal life in the first 2 years.
  12. Ask yourself if you are really in it for the money. If yes, you will be disappointed as statistically you will make a lot less than what you could in a big corp. On the other hand, if you are in it for creativity, satisfaction and adventure, you will be able to withstand the long pause without funding. Don't brag about anything, "..Do it for your own satisfaction . It is important you do it straight off your heart you don't talk about it."  - Mukesh Ambani

How to evaluate business idea

Business Idea & Opportunity Evaluation
Process:
1. Select your potential users from your network
2. Find the right time to talk with potential customers and ask if they like the idea and if the idea solves their problem.
3. Get the feedback and polish the ideas until it is commercializable.

Location:
1.  Go to where your potential customer meets, and ask them directly to get feedback. The founder has to go out and ask.

Goals:
1.  Polish the startup idea
2.  Build customer base
3.  Polish the business model
4.  

Notes:
1.  The documentation doesn't matter. What matter is the content.
2.  The challenges are to filter out the way, which doesn't work, and use the right way which works.
3.  There is a different process to evaluate business idea in startup and big corporations.
4.  Great Idea Evaluation process can help polish the business idea, build customer base and contract, refine the business model, build potential team members, etc. All these can get it done without a single line of coding.

Great UI Workflow:
http://us.moo.com/startup-business-toolkit/flowchart/

References:
http://www.entrepreneur.com/article/81940


Detailed Analysis:
In analyzing your business ideas you must be able to pass them through a test to determine if they truly are valid opportunities. All of your ideas must have a demonstrated need, ready market, and ability to provide a solid return on investment.
Is the idea feasible in the marketplace? Is there demand? Can it be done? Are you able to pull together the persons and resources to pull it off before the window of opportunity closes? These questions must be considered and answered.
Opportunity-focused entrepreneurs start with the customer and the market in mind. They analyze the market to determine industry issues, market structure, market size, growth rate, market capacity, attainable market share, cost structure, the core economics, exit strategy issues, time to breakeven, opportunity costs, and barriers to entry. Below are two models that entrepreneurs use to evaluate their business ideas and plans.
Fourteen Questions to Ask Every Time
To evaluate opportunities, entrepreneurs ask the following questions:
  1. What is the need you fill or problem you solve? (Value Proposition)
  2. Who are you selling to? (Target Market)
  3. How would you make money? (Revenue Model)
  4. How will you differentiate your company from what is already out there? (Unique selling proposition)
  5. What are the barriers to entry?
  6. How many competitors do you have and of what quality are they? (Competitive Analysis)
  7. How big is your market in dollars? (Market Size)
  8. How fast is the market growing or shrinking? (Market Growth)
  9. What percent of the market do you believe you could gain? (Market Share)
  10. What type of company would this be? (Lifestyle or High Potential, Sole Proprietorship or Corporation)
  11. How much would it cost to get started? (Start-up Costs)
  12. Do you plan to use debt capital or raise investment? If so, how much and what type? (Investment needs)
  13. Do you plan to sell your company or go public (list the company on the stock markets) one day? (Exit Strategy)
  14. If you take on investment, how much money do you think your investors will get back in return? (Return on Investment)
Let’s take the above fourteen questions and term them into an easy model that you can use to evaluate your business ideas you come up with. This is called the RAMP model.
The RAMP Model
Let’s start with the first letter, R, which stands for Return. Return really is return on investment.
R
Discuss Exit Strategy (acquisition or IPO)
R
Is it profitable? Will your revenues be higher than your expenses?
R
Time to breakeven (how long before cash flow positive? How long until the company begins to have an aggregate net income)
R
Investment Needed. How much money will it take to start-up this venture. Will it be $20,000, $200,000, or $2,000,000?
Now let’s look at A. A stands for advantages.
A
Look at cost structure (suppliers, what each element will cost to source or manufacture)
A
Barriers to entry (large competitors, regulations, patents, large capital requirements. If there are many barriers to entry, it will be difficult to enter a market. The higher the barriers to entry, the more disadvantaged you will be.
A
Intellectual Property. Do you have a proprietary advantage such as a patents or exclusive licenses on what you will be selling.
A
Distribution Channel. How will you be selling your product? Will you sell it direct to the consumer via the Internet, sell it to wholesales, sell it to businesses, or sell it to retail stores. If can develop a unique distribution channel this can surely be an advantage.
Now let’s look at M. M stands for Market.
M
The Need. Is there a big need for this product or service. Try to avoid ideas that sound cool but there is no real need for. Make sure your product or service fills and need or solves a problem.
M
Target market (who are you selling to? businesses? consumers? what demographics?)
M
Analyze target market (who are you selling to? businesses? consumers? what demographics?)
M
Pricing (what you they charge, what will be the price, will there be a high enough markup).
M
Analyze market size
Finally let’s look at P. P stands for potential.
P
Risk vs. Reward. How risky is the opportunity? If it is very risky, it there a chance for the business to do very well. Will there be a high reward for the founders and investors if the company succeeds?
P
The Team. Is the team right for the business. Do you have knowledge in this area.
P
Timing. Is the market ready for your product. You may have a great idea for flying cars, but if consumers are not ready for your product you may not be able to turn your idea into a successful business.
P
Goal Fit. Does the business concept fit the goals of the team to create a high potential or lifestyle business?
By using the RAMP model and the fourteen questions above you should be able to do a thorough job analyzing your business ideas and opportunities presented to you.

Knowledge Sharing:
1. If you're big and/or have a lot of resources—or not very good at spotting new opportunities, but great at executing—a less-tractable idea may be for you. It may take longer to launch something worthwhile, but once you crack the nut, you have something clearly valuable.
2. Tractability is partially about technical difficulty and much about timing and competition—i.e., How advanced are the other solutions? Building a new blogging tool today is less-tractable, because the bar is higher. Building the very first web search engine was probably pretty easy. Conversely, building the very first airplane was difficult, even though there wasn't any competition.
3. Big wins come when you can spot something before its obvious to everyone else. There are several vectors to this: 1) Is it obvious why people should use it? 2) Is it obvious how to use? 3) Is it an obviously good business?
4. You want it to be a good business, but not an obviously good business, because than you get more competition. Web search was not an obviously good business before Google demonstrated it. This allowed them to leap-frog the competition that was in it for years, but not taking it very seriously. But, like Google, the business may not be clear until later.
5. On the flip side, if you can build an ad network that makes people more money, a better search engine, or a productivity app that actually does tasks for people—all, less-tractable solutions—it will be highly obvious to people why to use your product.
6. Turns out, it didn't need to be used by a hundred million to be worth a hundred million, so going for wideness is not entirely necessary.
7. Like deepness, wideness can take you by surprise. The web is getting so damn big, what seem like niche ideas can be very decent businesses.
8. Sometimes, you can find a spot that is both deep and wide. This is where multi-billion-dollar businesses are built: Google, Windows, Ebay. It's easy to think these kinds of opportunities aren't laying around anymore—at least not for the little guy. But most people would have said the same before Facebook entered the picture.
9. It's possible to get the word out without being "viral." One way is organic search traffic. Another is pay-per-click ads (if you can monetize). Another is plain old-fashioned word-of-mouth/blog/press. (Twitter has probably grown more through press and blogs references than any inherent viralness.) There's also distribution deals and partnerships.
10. Great products almost always come from someone scratching their own itch. Create something you want to exist in the world. Be a user of your own product. Hire people who are users of your product. Make it better based on your own desires.
11. My favorite products are those I really want as a user, but that I also think have some "greater good."
12. If you get to be #1 in your category, but your category is too small, then you can broaden your scope—and you can do so with leverage.
14. #1—the specialist will almost always kick the generalist's ass.
15. One of Google's biggest strengths—and sources of frustration for outsiders—was their willingness to say no to opportunities, easy money, potential employees, and deals.
16. Hire people who are users of your product. Make it better based on your own desires. (But don't trick yourself into thinking you are your user, when it comes to usability.)
17. Flickr's company was building a game. Ebay was going to sell auction software. Initial assumptions are almost always wrong. That's why the waterfall approach to building software is obsolete in favor agile techniques. The same philosophy should be applied to building a company.
18.

References:
how-to-evaluate-new-product-idea.asp
ten-rules-for-web-startups.asp
Idea Checklist




How to find best business opportunity

Approach One: Existing Website Technology + New Idea/New Business Model
Analysis:
1. For this approach, it will be challenging to find new ideas and new business models, because there are so many people in this space.

Approach Two: Mobile and Website Technology + New Idea/New Business Model
Analysis:
1. For this approach, it still have a chance in mobile space, but the big wave has already passed. Innovation has to be done harder in New Idea/New Business Model.

Approach Three: Mobile/Website/API Technology + New Idea/New Business model
Analysis:
1. For this approach, it will use API to build SaaS applications, integrating with different api platforms, such as Facebook, Google to explore new opportunity.