
Habrã®å€ãã®èªè ã¯ãæè¿ã®MBLTDevã«ã³ãã¡ã¬ã³ã¹ã§ããšãŒããããäžæ±ãã¢ããªã«ã®éçºè ãšPayPalã®ã³ãã¥ãã±ãŒã·ã§ã³ãæ åœããŠããTim Messerschmidtã®è¬æŒã«è³ãåŸããŸããã èªèšŒãšããŠãŒã¶ãŒããŒã¿ãä¿è·ããéã«å°é家ãçŽé¢ããåé¡ã«ã€ããŠã§ããã Redmadrobotãã¯ãã«ã«ãã£ã¬ã¯ã¿ãŒã®Arthur Sakharov mc_murphyã¯ãã€ãã³ãã®èå°è£ã§TimãæãŸããã»ãã¥ãªãã£ãè±çãããã°ã©ãã³ã°èšèªã«ã€ããŠè©±ããŸããã
ã¹ããŒãã®äžã§ãç¹ã«éè¡æ¥åã¢ããªã±ãŒã·ã§ã³ãªã©ã®ãæ©å¯ãæ å ±ã«é¢ããŠã¯ãUXã®å質ãã»ãã¥ãªãã£ãšãã°ãã°ç«¶åãããšããäºå®ã«ã€ããŠå€ãã®ããšã話ããŸããã ããã«ã€ããŠè©³ããæããŠãã ããã
PayPalã§ã¯ã2èŠçŽ èªèšŒã䜿çšããŸããæ°ããããã€ã¹ã確èªãããšãã«ã¯ããã®ããŒããŠã§ã¢èå¥åã䜿çšããSMSçµç±ã§éä¿¡ãããã¯ã³ã¿ã€ã ã¢ã¯ã»ã¹ã³ãŒãã§ç¢ºèªããŸãã ãŠãŒã¶ãŒãç»é²ãããšãæ¿èªã確èªããããã®èŠæ±ãèšèŒãããé»åã¡ãŒã«ãåä¿¡ããŸãã ã€ãŸããéåžžã®ç»é²ãšãã®åŸã®ãã¹ã¯ãŒããã°ã€ã³ã«å ããŠãå€ãã®ã»ãã¥ãªãã£ãœãªã¥ãŒã·ã§ã³ãæäŸããŠããŸãã
ççŽã«èšã£ãŠã¿ãŸããããè€éãªãã¹ã¯ãŒãããæã¡ã®å Žåãããã¯è¯ãããšã§ãã ãã ããã»ãšãã©ã®ãŠãŒã¶ãŒã®ãã¹ã¯ãŒãã¯ä¿¡é Œã§ããªãããšãç解ããå¿ èŠããããŸãã ãããŠã-ã»ãšãã©ã®ãŠãŒã¶ãŒã¯åãäžè¬çãªãã¹ã¯ãŒãã䜿çšãããããããŸãæ©èœãããã¹ã¯ãŒãã®å¯èœãªçµã¿åãããè©Šãå¯èœæ§ãèŠããŠããå¿ èŠããããŸãã é·ããã¹ã¯ãŒãã匷å¶çã«äœæããããšã§ãæ»æã®ãªã¹ã¯ãæžããããšãã§ããŸãã æ å ±ãéèŠã§ãããä¿è·ãå¿ èŠã§ããããšã«æ°ä»ãããšãã人ã ã¯ãã匷åãªãã¹ã¯ãŒãã䜿çšããŸãã ãããã¯ãéè¡ã®ã¢ããªã±ãŒã·ã§ã³ãPayPalãGoogleãeBayãããã³ã·ã³ã°ã«ãµã€ã³ãªã³ã«åŸã§äœ¿çšãããããšã«ãªã£ãŠãããµãŒãã¹ã§ãã
äžéšã®ãµãŒãã¹ã§ã¯åŒ·åãªãã¹ã¯ãŒãã䜿çšã§ããŸããã絶察çãªä¿è·ãæäŸããããšã¯ã»ãšãã©ãããŸããã çµå±ããã£ãã·ã³ã°æ»æã®ç®çã¯å€ãã®å ŽåããŠãŒã¶ãŒã®é»åã¡ãŒã«ã§ãããã¡ãŒã«ããã¯ã¹ã«ã¯éèŠãªæ å ±ãå«ãŸããŠãããä»ã®ãã¹ãŠã®ãµãŒãã¹ã®ãéµãã§ãã éè¡ã®ã¢ããªã±ãŒã·ã§ã³ãé»åã¡ãŒã«ãšçµã¿åãããŠäœ¿çšââãããšãç¹ã«ä¿¡é Œæ§ãäœãããšãããããŸããã
ãã¡ãããéè¡ã¢ããªã±ãŒã·ã§ã³ã®å Žåãç»é²ãã¡ãŒã«èªèšŒã¯ãå§ãããŸããã ãœãããŠã§ã¢ããŒã¯ã³ã䜿çšããå Žåã§ããããŒã¿ã¯ãŸã åŽã«ããå¯èœæ§ããããããããããããŒããŠã§ã¢ããŒã¯ã³ãéžæããŸãã Androidã¹ããŒããã©ã³ã§ã³ãŒãä»ãã®SMSãåãåã£ããšããŠããä¿¡é Œæ§ã¯ããã»ã©é«ããããŸãããçµå±ãä»ã®ã¢ããªã±ãŒã·ã§ã³ããããååããå¯èœæ§ããããŸãã
Androidã奜ããªã®ã¯ç¥ã£ãŠããŸãã ã»ãã¥ãªãã£ã®ã³ã³ããã¹ãã§AndroidãšiOSã«ã€ããŠè©±ããŸãããã 誰ã®ã¢ãããŒããããå¹æçã§ããïŒ
iOSã¯ããã¯ããŒãºããªã·ã¹ãã ã§ãããããå€ãã®å¶éããããŸãã å Žåã«ãã£ãŠã¯ãããã¯å€§ããªãã©ã¹ã«ãªããŸãã Androidã«é¢ããŠã¯ãã»ãã¥ãªãã£ã«é¢ããŠå€ãã®ç©æ¥µçãªå€æŽããããŸãã ã·ã¹ãã ã®ä¿¡é Œæ§ã¯åäžããŠããŸããæ»æè ãAndroidããã€ã¹ã«ã¢ã¯ã»ã¹ããããšã¯ãŸããŸãé£ãããªã£ãŠããŸãã SELinuxã§äœ¿çšãããã«ãŒãã«ã®ä¿è·ã匷åãããŠããŸãã ããŠã倧èäžæµã«ãAndroidã¢ããªã±ãŒã·ã§ã³ãæ¬åœã«å®å šã«ãªã£ããšäž»åŒµããããšãã§ããGoogleã¯Google Playã®ã»ãã¥ãªãã£ãéåžžã«çå£ã«èããŠããŸãã
ãã ããããã¯ãã¹ãŠã®ããã€ã¹ã«åœãŠã¯ãŸãããã§ã¯ãªããGoogle Playã ããã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã§ã¯ãããŸããã ããšãã°ããã€ãã§ã¯ãä»ã®å€ãã®åœãšåæ§ã«ãããã€ã¹ã¯å€ãã®å Žåãç¬èªã®ã¢ããªã±ãŒã·ã§ã³ã¹ãã¢ãæã€ç¹å®ã®ãªãã¬ãŒã¿ãŒã«é¢é£ä»ããããŠããŸãã ã»ãã¥ãªãã£ã®é¢ã§ã®å質ã¯ãå¿ ãããGoogle Playã®ã¬ãã«ã«å¯Ÿå¿ãããšã¯éããŸããã
ãµãŒãããŒãã£ã®ã¢ããªã±ãŒã·ã§ã³ã«é¢ããŠã¯ãiOSãšåãã·ã¹ãã ãããã§äœ¿çšãããŠãããããAndroidã ããããã§éé£ããããšã¯ã»ãšãã©äžå¯èœã§ãïŒTestFlightããããHockeyAppããããéçºè ã¯è¿œå ã®å¶åŸ¡ãªãã§ãã¹ã¿ãŒã«ââé åžããã³ãŒãã«çœ²åã§ããŸãã äžåºŠã«3,000人ïŒTestFlightã®ãã¹ã¿ãŒæ°ã®å¶éïŒãæªæã®ããã¢ããªã±ãŒã·ã§ã³ãåä¿¡ã§ããããšãããããŸããã
è±çã¯ã©ãã§ããïŒ ããã¯æ·±å»ãªã»ãã¥ãªãã£äžã®è åšã§ãã ãããããã¢ããªã±ãŒã·ã§ã³åŽã§ã®äœ¿çšãäžè¬çã«çŠæ¢ããå¿ èŠããããŸããïŒ ãŸãã¯ããžã§ã€ã«ãã¬ã€ã¯ããã€ã¹ã®ææè ãä»ã®æ¹æ³ã§ä¿è·ã§ããŸããïŒ
ãã®ãããã¯ã¯ç§ã«ãšã£ãŠèº«è¿ã§èå³æ·±ããã®ã§ãïŒ PayPalã«åå ããåã«ãåæ¥èšŒæžãæžããŠããéã«è±çããŸããã äžæ¹ã§ã¯ããžã§ã€ã«ãã¬ã€ã¯ã䜿çšãããšããŠãŒã¶ãŒã¯ããã€ã¹ãããèªç±ã«å¶åŸ¡ã§ããŸããç¶æ³ã«ãã£ãŠã¯ããããèæ ®ã«å ¥ããå¿ èŠãããå ŽåããããŸãã ããã«ãããããããéçºè ãããã€ã¹ã«ã«ãŒãã¢ã¯ã»ã¹ããããã©ãããå€æãããã¹ãŠãçŠæ¢ããã®ã¯éåžžã«ç°¡åã§ãã sudoããäœããå®è¡ã§ããŸããã¢ããªã±ãŒã·ã§ã³ã³ãŒãã®çœ²åã®å€æŽã確èªã§ããŸãã ããããã¹ãŠãèŠã€ããæ©äŒããããŸããAndroidã¯äžè¬ã«ã·ã³ãã«ãªã·ã¹ãã ã§ãã ãã ããiOSã«ãåãããšãåœãŠã¯ãŸããŸããããšãã°ãCydiaãã€ã³ã¹ããŒã«ãããŠãããã©ããã確èªã§ããŸãã
ãã¡ãããéè¡æ¥åã¢ããªã±ãŒã·ã§ã³ãéçºããéã«ã¯ãããããã¹ãŠãèæ ®ããŸãã ããããäžéšã®ãŠãŒã¶ãŒã¯æ°žç¶çã«ãžã§ã€ã«ãã¬ã€ã¯ãããã圌ãã¯ã«ãŒãã¢ã¯ã»ã¹ããããã§ãã
ã¯ããäžéšã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ããžã§ã€ã«ãã¬ã€ã¯ãå¿ é ã§ãã ããšãã°ãiOSãªã©ã§ãšãã¥ã¬ãŒã¿ã䜿çšããå Žåã éè¡æ¥åã¢ããªã±ãŒã·ã§ã³ã®å Žåãããã¯ãã¹ãŠãrootã¢ã¯ã»ã¹ã䜿çšãããŠãŒã¶ãŒã®æ°ãšããã§ãªããŠãŒã¶ãŒã®æ°ã«äŸåãããšèããŠããŸãã ã»ãã¥ãªãã£ã®ããã«ããã®å ±æãæŸæ£ããå¿ èŠãããå ŽåããããŸãã
CAPTCHAããã³ãã®ä»ã®ãã¹ã¯ãŒãã¯ã©ãã¯æ€åºæ¹æ³ã«ã€ããŠã©ãæããŸããïŒ
ç»åèªèæè¡ã¯æ¥éã«æ¹åãããŠããŸãã ãã¡ããããã·ã³ã¯CAPTCHAãèªã¿åãããšã¯ã§ããŸãããããã§ã«æ°çŸäººãèªã¿åãããšãã§ããŸãã ãããã£ãŠããã®ãããªä¿è·æ¹æ³ã¯é¿ããããè¿œå ã®æ段ãšããŠã®ã¿äœ¿çšããå¿ èŠããããŸãã äžè¬çã«ãã»ãšãã©ã®CAPTCHAãŠãŒã¶ãŒã¯éåžžã«äžæºãæ±ããŠãããççŽã«èšã£ãŠãæåŸ ãããŠããããšã«å¿ããããšãã§ããŸããã
ç§ã¯ããªãã«åæããŸãã ä¿¡é Œæ§ã®é«ãæ€èšŒããŒã«ãšã¯èŠãªããªããããæ¯æ¥ç°¡åã«ã¯ã©ãã¯ã§ããŸãã ããããŸããã«ããã»ãã¥ãªãã£ãã®æŠå¿µã«ã€ããŠã©ãæããŸããïŒSSL / TLSãªã©ã®æåãªã¢ã«ãŽãªãºã ããããŸããããã€ã§ãç¬èªã®ãã®ãè¿œå ã§ããŸãããã®ãããªä¿è·ãã¢ããªã±ãŒã·ã§ã³ã«é©çšããããšããå§ãããŸããïŒ
ãã¡ããã ãŸãã ProGuardãªã©ãã³ãŒããé£èªåããèªååãããæ¹æ³ããããŸãã 次ã«ããµãŒããŒãšå¯Ÿè©±ãããšãã«ç¬èªã®ã¯ã©ã€ã¢ã³ã蚌ææžã䜿çšã§ããŸãã ããã«ãEventBusã¡ãã»ãŒãžãã¹ãããã ProtoBufãããã³ã«ã䜿çšããŠéä¿¡ããå Žåãæå·åã«ã¯ã¯ã©ã¹ä»æ§ãå¿ èŠãªããããã®ããŒã¿ããã€ããªåœ¢åŒã§èªã¿åãããšã¯éåžžã«å°é£ã§ãã ããããã¹ãŠãå®è£ ãããšãã·ã¹ãã ã¯ã»ãšãã©ä¿è·ãããŸãã
ãã ããã©ã®ã³ãŒãã§ãéã³ã³ãã€ã«ã§ããããšã¯æããã§ãããæãè€éãªé£èªåã§ããã³ãŒãã§äœãèµ·ãã£ãŠããã®ããç解ããããšã¯å¯èœã§ãã ãããã£ãŠãç§ã¯éåžžãããŸããŸãªæ¹æ³ã§ã³ãŒããã§ããã ãè€éã«ããããšããå§ãããŸãããåæã«ãæ®å¿µãªãããã»ãšãã©åžžã«ã¹ããŒããªäººãããŠãäœãäœã§ããããç解ããããšãèŠããŠãããŠãã ããã
PayPalãšã®ããŒãããŒã·ããã¯å€ãã®äººã«ãšã£ãŠèå³æ·±ããã®ã§ãã æè¡çãªå®è£ ã®å¯èœæ§ã¯äœã§ããïŒ
ãã¡ãããéçºè ã«ã¯SDKããããŸãã ããããITæ¥çãéè¡ã倧äŒæ¥ã«ã€ããŠè©±ããšãå¯èœæ§ã¯åºãããŸãã ããã§ã®è¯ãäŸã¯ãMicrosoft Xboxã§ãã PayPalã¯ãAPIãžã®ã¢ã¯ã»ã¹ãéããŠXbox Liveã«çŽæ¥çµ±åãããŠããŸãã 倧èŠæš¡ãªããŒãããŒã®å ŽåãAPIãžã®ã¢ã¯ã»ã¹ãæäŸããæºåãã§ããŠããŸãã
PayPalã§Scalaã䜿çšããŠããŸããïŒ ããã«åãæ¿ããèšç»ã¯ãããŸããïŒ
ãããããã€ãã£ãJavaã䜿çšããŸãã Scalaãæªãèšèªã§ããããšã§ã¯ãããŸããã Javaãç¥ã£ãŠããè³æ Œã®ãããšã³ãžãã¢ãèŠã€ããã®ã¯ç°¡åã§ãã ãã€ãŠãã»ãšãã©ãã¹ãŠã®PayPalã¯C ++ããã³Javaã§äœæãããŠããŸããããçŸåšã¯Node.jsãšãã¡ããJavaScriptã䜿çšããŠããŸãã ãã®çµæãããã¯ãšã³ãã¯éåžžã«æè»ã§ãã PayPalã¯SaaSãµãŒãã¹ã§ããããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ã®å€§éšåã¯APIã䜿çšããããã«èª¿æŽãããŠããŸãã å¿ èŠã«å¿ããŠãããŒã ã¯Goã§ãããžã§ã¯ããæžãããšãã§ããŸã-ç§ãã¡ã®äŒç€Ÿã§ã¯ãPythonãELANãHaskellã§ãããªããæãããã«ããããç©æ¥µçã«äœ¿çšããŠããŸãã ãã ããAndroidã§ã¯ãã€ãã£ãJavaã䜿çšããŸãã
Googleã«ã¯Scalaãä»ã®ä»£æ¿èšèªã宣äŒããªãæ£åœãªçç±ããããšæããŸãã ããšãã°ã Dartããã ãMicrosoftã¯TypeScriptãæã£ãŠããŸãã ããããWindows Phoneã¯TypeScriptããµããŒãããŠããããAndroidã§ScalaããµããŒãããŠããŸããã å®éã®ãšããããããã®èšèªã¯ãŸã å®å šã«ã¯æçããŠããªããšæããŸãã Googleãäžè¬çã«Scalaã宣äŒãããšãã確信ã¯ãããŸããã ã¯ããçŽãããªãå©ç¹ã¯JVMäžã§åäœããããšã§ãããDartã¯äŸç¶ãšããŠç¬èªã®éçºã§ãã
ãã®å ŽåãAppleã¯èªåœã®èšèªã«èªä¿¡ãæã£ãŠããããããã©ãããã©ãŒã ãšããŠéžæããã®ã§ãèŠçŽãããšãAndroidã®ScalaãããiOSã®Swiftã䜿çšããããšããããšã§ãã