KR20140018329A - 모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법 - Google Patents

모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20140018329A
KR20140018329A KR1020137029225A KR20137029225A KR20140018329A KR 20140018329 A KR20140018329 A KR 20140018329A KR 1020137029225 A KR1020137029225 A KR 1020137029225A KR 20137029225 A KR20137029225 A KR 20137029225A KR 20140018329 A KR20140018329 A KR 20140018329A
Authority
KR
South Korea
Prior art keywords
mobile
application
app
developer
user
Prior art date
Application number
KR1020137029225A
Other languages
English (en)
Inventor
스콧 허쉬
아르센 퍼레이머
써니 라즈팔
Original Assignee
미디어 다이렉트, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 미디어 다이렉트, 인크. filed Critical 미디어 다이렉트, 인크.
Publication of KR20140018329A publication Critical patent/KR20140018329A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/042Payment circuits characterized in that the payment protocol involves at least one cheque
    • G06Q20/0425Payment circuits characterized in that the payment protocol involves at least one cheque the cheque being electronic only

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

모바일 장치 어플리케이션을 개발, 커스터마이징 및 배포하기 위한 시스템 및 방법이 모바일 어플리케이션 개발 및 배포 플랫폼을 통해 제공된다. 바람직하게, 이들 시스템 및 방법은 비전문적인 사용자들이 고도의 높은 수준의 커스터마이징 가능한 크로스 플랫폼 모바일 어플리케이션을 빌드하도록 하는 인터넷 기반 환경에서 실행된다. 상기 플랫폼은 사용자가 다양한 컨텐츠, 디자인 특성 및 모듈과 같은, 어플리케이션 컴포넌트를 선택, 입력, 생성, 커스터마이징 및 조합하도록 하며, 그 일부는 다양한 모바일 장치 및 모바일 운영체제와 관련된 특징 및 기능을 이용한다. 일 실시예에 있어서, 상기 플랫폼은 다양한 모바일 운영체제를 위한 모바일 어플리케이션을 컴파일하도록 하고, 다양한 모바일 장치 상에서 실행하기 위해 말단 사용자에게 배포될 수 있는 모바일 어플리케이션을 위한 구성 파일을 생성한다. 모바일 어플리케이션이 모바일 장치에 설치되거나, 또는, 모바일 장치에서 실행될 때, 상기 구성파일은 상기 모바일 어플리케이션과 관련된 다양한 데이터의 리트라이브를 가능하게 할 수 있다.

Description

모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법{Systems and Methods for a Mobile Application Development and Deployment Platform}
관련 출원의 상호 참조
본 출원은 2011년 4월 6일자로 출원된 미국 가특허출원 제61/472,609호와, 각각 2012년 2월 14일 출원된 미국 특허출원 제13/396,368호 및 제13/396,392호에 대한 이익을 청구한다. 앞서 확인된 출원들의 내용은 그 전체가 이 문헌에 기재되어있는 것과 같이 참조로 포함된다.
발명 분야
본 발명은 일반적으로 컴퓨터 소프트웨어 어플리케이션을 개발하기 위한 시스템 및 방법에 관한 것이다. 보다 상세하게는, 비전문적인 사용자 및 개발자가 정교하고, 높은 수준의 맞춤식 어플리케이션을 개발할 수 있도록 하는 인터넷 기반 모바일 어플리케이션 개발 및 배포 플랫폼을 통해 크로스 플랫폼 모바일 장치 어플리케이션을 개발하고, 배포하고 그리고 업데이트하기 위한 시스템 및 방법에 관한 것이다.
스마트 폰, 태블릿 PC 및 다른 휴대형 장치와 같은, 모바일 디바이스는 널리 보급되어 많은 소비자와 기업의 일상적인 활동에 중요해지고 있다. 전통적으로, 이들 유형의 장치는 주로 통신 장치로 제공되어 왔다. 하지만, 근래에 소비자는 광범위한 개인적인 일과 직업과 관련된 일을 수행함에 있어서 필수적인 도구로 이러한 장치에 점점 의존하고 있다. 이에 대하여, 모바일 폰 및 다른 무선 휴대형 장치는 복합 컴퓨터 하드웨어 및 소프트웨어와 마찬가지로 복합 컴퓨팅 장치로 진화되어 왔다.
많은 수의 모바일 장치의 대부분이 다양한 형식의 통신에 계속해서 사용되면서, 그들은 또한 일반적으로 웹사이트 접속 및 표시, 이메일 송수신, 사진 및 비디오 표시, 음악 및 다른 형식의 오디오 재생 등을 포함하는 다른 다양한 기능들을 제공한다. 이들 그리고 수많은 다른 기능들은 일반적으로 장치의 모바일 운영 체제에 내장된 소프트웨어 컴포넌트의 형식 또는 운영 체제의 상위에서 실행되는 개별 모바일 어플리케이션(모바일 앱)의 형식으로 소프트웨어 어플리케이션에 의해 수행된다. 최근에는, 모바일 앱들의 개발 및 사용이 많아지고, 수많은 앱들이 모바일 장치의 넓은 분야에 걸쳐 존재한다.
다수의 경쟁 제조사, 개발자 및 다른 서비스 공급자들이 최근 수년간 모바일 장치 영역에 진입해왔고, 모바일 운영시스템 형태의 하드웨어, 소프트웨어, 혹은 어떤 경우에는 하드웨어 및 소프트웨어의 조합을 공급해왔다. 이는 결국, 서로 수많은 상이하고 호환되지 않는 모바일 장치 플랫폼 및 환경의 개발을 가져왔다. 이러한 장치들 중 차이의 일부는 하드웨어 구성요소, 운영체제 및 입출력 능력을 포함한다. 실제로, 블랙버리(Blackberry), 아이폰(iPhone) 및 안드로이드(Android) 기반 장치와 같은 가장 널리 사용되는 모바일 기기의 대부분은 상이한 운영체제(예컨대, 심비안(Symbian), 아이오에스(iOS), 안드로이드 및 웹오에스(WebOS))를 사용하며, 이들 중 많은 것들이 그들 자신의 프로그래밍 환경 및 소프트웨어 개발 도구를 가진다.
일반적으로, 이러한 서로 다른 운영체제 및 장치를 위한 모바일 어플리케이션을 개발하는 것은 개별 운영체제 또는 장치별 소프트웨어 코드(code) 및 컴필레이션(compilation) 뿐만 아니라, 다양한 설계 기술 및 프로그래밍 언어들을 사용할 것이 요구된다. 결과적으로 이는 개발자들이 여러 형식의 모바일 장치들 사이에서 이전할 수 있는 소프트웨어 어플리케이션을 만드는 것을 어렵게 한다. 오히려, 모바일 앱 개발자들은 흔히 다른 장치들을 지원하기 위하여 소프트웨어의 전부 또는 적어도 상당한 부분을 다시 작성하도록 강요받는다.
모바일 운영 체제 및/또는 장치의 임의의 형식을 위한 모바일 앱의 개발을 장려하고 용이하게 하기 위하여, 이들 시스템 및 장치의 제조사 및 개발자는 그들의 장치 및/또는 운영체제(또는 특정 버전 또는 그것의 배포)와 관련된 소프트웨어 개발 키트(SDK)를 자주 배포한다. 다른 것들 중에서, 이들 SDK는 어플리케이션 개발자가 지원되는 모바일 장치 및/또는 모바일 운영체제의 사용자들을 위한 프로그램 또는 어플리케이션을 작성하도록 한다. 이들 SDK가 모바일 앱의 개발을 지원하지만, 이들 SDK를 이용하기 위해서는, 소프트웨어 프로그래밍 및 모바일 장치에서 상당한 정도의 기술적 지식 및 전문지식이 일반적으로 요구되어진다. 특히, 이들 SDK의 사용은 프로그래머가 어플리케이션이 개발되어지는 특정 모바일 운영체제 플랫폼 및 프로그래밍 언어 양자 모두에 대한 경험과 지식을 보유하고 있어야 할 것을 요구한다.
모바일 앱을 빌드하는 것과 관련된 도전에 추가로, 이들 어플리케이션을 배치하고, 그 어플리케이션을 말단 사용자에게 배포하는 것은 복합적이고 연관된 프로세스가 될 수 있다. 부분적으로, 이는 많은 모바일 장치 및 운영체제 제조자 및 개발자가 그들의 장치 및 운영체제에 사용되는 모든 모바일 앱이 그들의 디지털 배포 플랫폼(예컨대, iOS의 앱 스토어, 안드로이드의 마켓, webOS의 앱 카달로그)을 통해 배포되어야만 하도록 요구한다는 사실에 기인한다. 일반적으로, 앱은 반드시 그들의 배포 플랫폼에 포함되기 이전에 제조자 또는 개발자에 의해 승인되어야만 한다. 모바일 어플리케이션의 그러한 승인을 얻는 것은 시간 소모적이고, 복잡한 프로세스가 될 수 있다. 결과적으로, 제조자에 의해 도입된 요구사항 및 제한사항을 이해하고, 경험하는 것은 모바일 장치 사용자들에게 어플리케이션을 성공적으로 그리고 효과적으로 배치 및 배포하기 위해 종종 필요하다.
유사하게, 이들 제조자 및 개발자는 업데이트, 플러그인, 확장 기능 및 컨텐츠와 같은, 어플리케이션과 연관된 임의의 추가 데이터는 그들의 디지털 배포 플랫폼을 통해 배포될 수 있다. 일부 경우에 있어서, 임의의 형식의 업데이트도 제조자들에 의해 개별적 승인의 대상이 된다. 따라서 이들 제한사항은 모바일 어플리케이션의 배포 및 관리를 보다 복잡하게 하고 둔화시킬 수 있다.
모바일 어플리케이션들을 생성, 배포 및 업데이트하기 위해 요구되는 높은 수준의 기술 및 전문지식을 고려하면, 특정 프로그램 언어 또는 모바일 운영 시스템 또는 디지털 배포 플랫폼에 경험이 부족한 개인들과 더불어, 많은 비전문적인 개인들은 모바일 어플리케이션을 개발 및/또는 배포할 수 없다. 모바일 어플리케이션 개발이 프로그래밍 또는 특정 모바일 운영체제 플랫폼에서 상당한 경험이 없는 사람이 모바일 어플리케이션 장치를 생성하도록 하는 소프트웨어 시스템을 통해 광범위한 대중에게 모바일 어플리케이션 개발에 보다 접근 가능하게 하는 시도가 있었음에도 불구하고, 이들 시스템은 수많은 결점 및 제한사항들을 드러내어, 결국 소비자에 의해 널리 채택되는 데에 실패를 가져왔다.
예를 들면, 결점 중 하나는 이러한 많은 소프트웨어 시스템들이 비전문가가, 예컨대 iOS, 안드로이드, webOS 또는 심비안, (또는 제한된 서브세트의 운영체제)와 같은, 단지 하나의 모바일 운영체제에서만 어플리케이션을 생성하도록 한다는 점이다. 널리 사용되고 있는 수많은 상이한 모바일 운영체제의 개수에 비추어보면, 모든 모바일 운영체제(또는 적어도 의미 있는 소비자 기반을 가지는 모바일 운영체제)에 걸쳐 손쉽게 포팅(port)될 수 있는 어플리케이션 개발을 위한 능력이 효율적이고 단순화된 모바일 어플리케이션 개발을 촉진시키는 데에 있어 중요하다.
다른 결점은 많은 소프트웨어 시스템이 여전히 상당한 기술 지식 및 전문지식을 요구하며, 그러므로, 이들 시스템은 비전문적인 사용자가 접근이 쉬운 모바일 앱 개발을 만들기 위해 필요한 정도로 프로세스를 단순화시키지 못한다는 점이다. 이들 시스템들의 일부는 사용이 쉽지 않고, 사용자의 훈련이 수반되어야 하며, 및/또는, 어플리케이션 프로그래밍 및 디자인에의 노출과 같은, 적어도 기본적인 수준의 기술 지식을 요구한다.
또 다른 결점은 이들 소프트웨어 시스템들은 시스템을 이용하여 빌드될 수 있는 어플리케이션의 종류에 대한 상당한 제한을 두게 한다는 점이다. 예를 들면, 이들 시스템들은 단지 사용자들에게 플렉서블하지 않고(non-flexible) 단순한 어플리케이션을 생성할 수 있도록 할 뿐이고, 그러한 어플리케이션들은 많은 모바일 장치 및 그들 각각의 모바일 운영체제 내에 포함된 넓은 범위의 특징 및 특정 기능들, 예컨대 나침반, 지피에스(GPS), 자이로스코프, 터치스크린, 카메라, 스피커, 마이크로폰, 블루투스, 와이파이, USB 연결 및 근접 센서 등의 사용을 금지한다. 결과적으로, 이들 종류의 시스템에서는, 이러한 특징 및 기능들을 사용하는 보다 고도의 모바일 앱을 생성하기 위하여, 특별한 프로그래밍 기술 및 전문지식이 부가 컴포넌트, 플러그인, 모듈 또는 에뮬레이터를 사용/설치하기 위해 요구된다. 또한, 기존의 시스템 및 개발 도구를 이용하여 빌드된 최종 어플리케이션들의 일부는 사용자의 장치가 "온라인"인 때에만 사용할 수 있다. 나아가, 이들 시스템들의 일부는 사용자가 어플리케이션에 대한 업데이트를 그 개발자로부터 직접 다운로드 하기 보다는, 모바일 운영체제의 디지털 배포 플랫폼과 같은, 제3자(third-party)로부터 다운로드 하도록 요구한다.
그러므로 모바일 소프트웨어 어플리케이션의 개발, 배포 및 업데이트를 단순화하고 간소화함으로써, 향상된 그리고 사용자 친화적인 경험을 통해 비전문적인 사용자가 접근하기 쉬운 프로세스를 만들 수 있는 시스템이 요구된다. 또한, 사용자가 임의의 모바일 장치 운영체제 상에서 구동될 수 있는 어플리케이션을 개발하도록 하는 시스템이 요구된다. 나아가, 사용자가 모바일 장치 및 모바일 운영체제 특징 및 기능의 커스터마이징된 조합을 사용하는 고도의 어플리케이션을 생성하도록 하는 시스템도 요구된다. 아울러, 사용자가 플랫폼을 통해 개발된 어플리케이션에 오프라인으로 접속하도록 하면서, 웹 기반인 시스템도 더욱 더 요구된다. 모바일 운영체제의 디지털 배포 플랫폼에 직접적으로 접속하는 것을 요구하지 않고, 어플리케이션과 연관된 업데이트를 사용자에게 제공하는 시스템 또한 여전히 여구된다.
본 발명의 일 측면은 개발자가 모바일 소프트웨어 어플리케이션을 디자인, 빌드, 배포 및 관리하도록 하는 모바일 어플리케이션 개발 및 배포 플랫폼을 제공하기 위한 것이다. 본 발명의 다른 측면은, 비전문적인 사용자가 접근하기 쉽고, 사용자가 컴퓨터 프로그래밍 또는 모바일 장치 및 어플리케이션에 있어 전문지식을 보유하도록 요구하지 않는, 사용하기 쉽고, 직관적인 사용자 인터페이스를 통해 사용할 수 있는 플랫폼을 제공하기 위한 것이다. 본 발명의 또 다른 측면은 높은 정도의 커스터마이징을 허용하고, 사용자가 다양한 모바일 장치 및 모바일 운영체제의 특징에 접근할 수 있는 앱 타입, 모듈, 컨텐츠 요소 및 템플릿과 같은, 다양한 컴포넌트의 커스터마이징 및 조합을 통해 고도의 어플리케이션을 생성할 수 있도록 하는 플랫폼을 제공하기 위한 것이다. 본 발명의 또 다른 측면은 개발 플랫폼을 통해 모바일 게임, 텔레비전 어플리케이션 및 웹 어플리케이션과 같은, 다른 타입의 어플리케이션을 사용자가 생성, 커스터마이징, 업데이트 및 배포하도록 하는 플랫폼을 제공하기 위한 것이다.
본 발명의 다른 측면은, 플랫폼을 통해 개발된 어플리케이션들이 오프라인으로 접속될 수 있도록 하면서, 사용자가 별도의 소프트웨어를 다운로드 또는 설치하지 않고도 인터넷을 통해 접속 가능한 모바일 개발 플랫폼을 제공하기 위한 것이다. 본 발명의 다른 측면은, 넓은 범위의 모바일 장치 및 운영체제에 걸쳐 사용하기 위해 컴파일(compile, 기계어로 번역)될 수 있는 단일 어플리케이션을 사용자가 빌드하도록 하는 플랫폼을 제공하기 위한 것이다. 본 발명의 또 다른 측면은, 상기 플랫폼을 이용하여 개발된 어플리케이션의 서드 파티 디지털 배포 플랫폼(third-party digital distribution platforms)을 통한 개발 및 배포를 관리하는 그러한 플랫폼을 제공하기 위한 것이다. 본 발명의 또 다른 측면은, 어플리케이션이 최종 사용자에 의해 다운로드될 수 있고, 원격 소스로부터의 어플리케이션 데이터에 대한 레퍼런스 및/또는 원격 소스로부터의 어플리케이션 데이터에 접근하기 위해 사용되는 어플리케이션의 서브셋을 포함하는, 구성파일(configuration files)의 이용을 통해 즉시 조합되고 업데이트될 수 있도록 하는 그러한 플랫폼을 제공하기 위한 것이다. 본 발명의 다른 측면은, 사용자가 어플리케이션을 재설치하거나, 디지털 배포 플랫폼으로부터 업데이트, 컨텐츠 또는 데이터 등을 다운로드할 필요 없이, 사용자에게 직접 어플리케이션과 관련된 업데이트, 컨텐츠 및 다른 데이터를 제공하는 그러한 플랫폼을 제공하기 위한 것이다.
하나 이상의 상술한 그리고 다른 측면은 모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법을 통해 실현된다. 일 실시예에 있어서, 모바일 개발 및 배포 플랫폼 그리고 대응하는 방식은, 크로스 플랫폼 상호운용성(cross-platform interoperability), 사용자 친화도, 커스터마이징 가능성(customizability), 및 다재다능성(versatility)과 같은, 비전문적 사용자 및 모바일 앱 개발자가 직면하는 고려사항을 다루기 위한 것이다. 임의의 실시예들은 비전문적인 사용자 및 어플리케이션 개발자가 컴퓨터 프로그래밍 그리고 모바일 장치 및 운영체제에 대한 경험과 같은, 기술 지식 및 전문지식에 대한 요구 없이, 상기 플랫폼을 통해 모바일 어플리케이션을 개발하도록 한다.
일 실시예에 있어서, 사용자의 모바일 어플리케이션의 개발 및 커스터마이징을 돕기 위한 모바일 어플리케이션 개발 플랫폼에 사용자가 접근하도록 허여하는 컴퓨터 시스템 및 방법이 제공된다. 여러 실시예에들에 있어서, 사용자는 사용자에 의해 커스터마이징되는 모바일 어플리케이션의 기능, 디자인 및 컨텐츠와 관련된 커스터마이징 가능한 컴포넌트와 연관된 정보를 제공받을 수 있다. 일 실시예에 있어서, 선택사항들은 사용자에게 제공되는 커스터마이징 가능한 컴포넌트와 연관되어 사용자로부터 수신된다. 사용자의 선택에 기초한 사용자 정의 기능, 디자인 및 컨텐츠를 표현하는 어플리케이션 데이터는 모바일 어플리케이션과 연관되며, 컴퓨터 시스템에 의해 저장된다. 일 실시예에 있어서, 컴파일된 데이터는 모바일 운영체제를 위한 빌드 도구를 이용하여 어플리케이션 데이터에 기초한 모바일 어플리케이션에 대해 생성될 수 있다. 모바일 어플리케이션을 위한 식별자를 포함하는 구성파일(configuration file)이 생성된다. 여러 실시예들에 있어서, 구성파일은 모바일 운영체제를 구동하는 모바일 장치로 전송되고, 그 모바일 장치에서 실행되도록 적용될 수 있다. 일 실시예에 있어서, 식별자는 모바일 어플리케이션이 모바일 장치에 설치되고, 그 모바일 장치에서 실행되는 것에 대응하여, 모바일 장치가 컴파일된 어플리케이션 데이터의 적어도 일부를 리트라이브(retrive)하도록 할 수 있다.
일 실시예에 있어서, 사용자의 모바일 어플리케이션 개발 및 커스터마이징을 돕기 위해, 사용자가 모바일 어플리케이션 개발 플랫폼에 접근하도록 허여하는, 컴퓨터 시스템 및 방법이 제공된다. 여러 실시예들에 있어서, 어플리케이션 타입 속성은 사용자에 의해 커스터마이징되는 모바일 어플리케이션을 위해 어플리케이션 카테고리를 지시하는 사용자로부터 수신된다. 어플리케이션 타입 속성은 모바일 어플리케이션과 연관된 어플리케이션 카테고리에 기초하여 모바일 어플리케이션의 기능, 디자인 및 컨텐츠와 관련된 커스터마이징 가능한 컴포넌트를 결정하기 위하여 사용될 수 있다. 일 실시예에 있어서, 커스터마이징 가능한 컴포넌트가 사용자에게 제공되도록 하는 정보가 사용자에게 전송된다. 일 실시예에 있어서, 선택(selection)은 제공된 커스터마이징 가능한 컴포넌트와 관련되어 사용자로부터 수신된다. 어플리케이션 데이터는 사용자의 선택에 기초하여 모바일 어플리케이션과 연관되며, 컴퓨터 시스템의 물리 메모리에 저장된다. 일 실시예에 있어서, 어플리케이션 데이터는, 모바일 어플리케이션에 의해 공급되는 사용자 정의 기능을 표현하는 하나 이상의 어플리케이션 컴포넌트, 모바일 장치 상의 모바일 어플리케이션의 표현과 연관된 사용자 정의 디자인 특징을 표현하는 하나 이상의 디자인 요소, 및/또는 모바일 어플리케이션을 통해 접근되는 사용자 정의 컨텐츠 데이터를 표현하는 하나 이상의 컨텐츠 요소를 포함할 수 있다.
일 실시예에 있어서, 모바일 어플리케이션이 그 안에서 실행되기 위한 한 세트의 타겟 모바일 장치가 결정될 수 있다. 컴파일된 데이터는 한 세트의 타겟 모바일 장치와 연관된 모바일 운영체제를 위한 빌드 도구를 이용하여 어플리케이션 데이터에 기초한 모바일 어플리케이션에 대해 생성될 수 있다. 모바일 어플리케이션을 위한 식별자를 포함하는 구성파일이 생성될 수 있다. 일 실시예에 있어서, 구성파일은 한 세트의 타겟 모바일 장치와 연관된 모바일 장치로 전송되고, 그 모바일 장치에서 실행되도록 적용되어 질 수 있다. 일 실시예에 있어서, 식별자는 모바일 어플리케이션이 모바일 장치에 설치되거나 그 모바일 장치에서 실행되는 것에 대응하여, 원격 저장 위치로부터 컴파일된 어플리케이션 데이터의 적어도 일부를 모바일 장치가 리트라이브하도록 할 수 있다.
일 실시예에 있어서, 사용자는 다중 모바일 운영체제 및/또는 모바일 장치 상에서 구동할 수 있는 어플리케이션을 빌드 및 컴파일 할 수 있다. 여러 실시예들에 있어서, 플랫폼은 사용자가 이들 특징에 접근하는 컴포넌트들을 병합 및 조합하여 임의의 형식의 모바일 장치 및 운영체제에 특정된 다양한 특징 및 기능을 이용하도록 한다. 일 실시예에 있어서, 플랫폼은 비전문 사용자 및 어플리케이션 개발자가 유사한 방식으로, 모바일 게임, 텔레비전 어플리케이션 및 웹 어플리케이션과 같은, 다른 형식의 어플리케이션을 개발 및 배포하도록 한다.
일 실시예에 있어서, 모바일 개발 플랫폼은 웹 기반 어플리케이션 개발 환경 및 서비스의 형식으로 제공된다. 웹 기반 서비스는 사용자의 모바일 어플리케이션을 개발 및 배포하는 프로세스를 돕고, 그 프로세스로 사용자를 안내하는, 직관적이고, 사용자 친화적인 그래픽 사용자 인터페이스를 제공할 수 있다. 여러 실시예들에 있어서, 사용자는 요구되는 모바일 어플리케이션의 특정 특징, 컨텐츠 및 레이아웃을 특정하여, 모바일 앱을 디자인, 생성, 커스터마이징 및 수정할 수 있다. 여러 실시예들에 있어서, 사용자는 모듈, 앱 타입, 테마, 템플릿, 설정 및 컨텐츠를 포함하는 미리 정의되며, 사용자가 업로드하는 다양한 컴포넌트를 선택, 조합 및 커스터마이징할 수 있다. 일 실시예에 있어서, 사용자는 그에 맞춰 어플리케이션이 빌드되고, 그 안에서 어플리케이션이 실행될 수 있는, 하나 이상의 모바일 운영체제(들) 및/또는 모바일 장치들을 선택할 수 있다.
일 실시예에 있어서, 플랫폼을 통해 개발된 어플리케이션은 모바일 운영체제와 관련된 자동화된 빌드 도구를 이용하여 컴파일될 수 있다. 여러 실시예에들에 따르면, 컴파일 하는 것(compilation)은 어플리케이션을 위한 완벽하게 수집된 데이터를 포함하지 않을 수 있고, 대신, 설정 또는 구성파일 및/또는 어플리케이션 데이터의 서브세트와 같은, 레퍼런스 및/또는 다른 기본 정보를 포함할 수 있다. 이 정보는 원격 저장 매체로부터 다양한 컴포넌트, 레이아웃, 특징 및 컨텐츠를 포함하는 어플리케이션과 관련되고 및/또는 그 어플리케이션에 필요한 임의의 데이터를 리트라이브하기 위해 나중에 사용될 수 있다(예컨대, 어플리케이션이 사용자에 의해 다운로드, 런칭 또는 실행될 때). 어플리케이션 또한 임의의 업데이트 또는 수정을 검사하고 및/또는 다운로드하기 위해 이 정보를 사용할 수 있다. 여러 실시예들에 있어서, 어플리케이션은 어플리케이션이 런칭될 때마다, 자동으로 그러한 업데이트를 검사하고 및/또는 다운로드할 수 있다.
일 실시예에 있어서, 어플리케이션이 컴파일된 후, 어플리케이션은 하나 이상의 모바일 운영체제 및 장치와 연관된 디지털 배포 플랫폼으로 제출될 수 있다. 여러 실시예들에 있어서, 디지털 배포 플랫폼은 어플리케이션이 말단 사용자에게 배치 및 배포되도록 허용하기 이전에, 어플리케이션이 승인 프로세스를 거치도록 요구할 수 있다. 여러 실시예들에 따르면, 모바일 개발 플랫폼은 자동으로 승인 및 배포하기 위해 어플리케이션을 하나 이상의 디지털 배포 플랫폼에 제출할 수 있다. 다른 실시예에 있어서, 이 프로세스는 수동으로 수행될 수도 있다.
일 실시예에 있어서, 모바일 개발 플랫폼을 통해 개발된 어플리케이션은 사용자의 모바일 장치에 설치되고, 및/또는 그 사용자의 모바일 장치에서 실행하기 위해 말단 사용자에 의해 다운로드될 수 있다. 여러 실시예들에 있어서, 어플리케이션은 지원되는 모바일 장치에서 사용하기 위해 디지털 배포 플랫폼으로부터 다운로드 될 수 있다. 다른 실시예들에 있어서, 어플리케이션은 개발 플랫폼 또는 서드 파티 어플리케이션 호스팅 서비스로부터 다운로드될 수 있다. 일 실시예에 있어서, 어플리케이션이 다운로드되고 및/또는 런칭된 후, 어플리케이션은 어플리케이션에 대한 특징, 컨텐츠 및 레이아웃을 포함하는 다양한 데이터를 리트라이브하기 위해 원격 저장 매체에 접근할 수 있고, 그리고, 말단 사용자에게 그 데이터를 표시한다. 여러 실시예들에 있어서, 어플리케이션 데이터는 모바일 개발 플랫폼으로부터 직접 접근될 수 있다. 다른 실시예에 있어서, 어플리케이션 데이터는 디지털 배포 플랫폼 또는 서드 파티 서비스를 통해 접속될 수 있다. 일 실시예에 있어서, 어플리케이션 및/또는 모바일 장치는 원격 저장 매체로부터 리트라이브된 임의의 어플리케이션 데이터를 캐싱할 수 있다. 여러 실시예들에 있어서, 어플리케이션은 어플리케이션이 캐싱된 데이터를 사용해야만 할지 여부 또는 어플리케이션이 원격 저장 매체로부터 어플리케이션 데이터에 접근해야만 하는지 여부를 결정할 수 있다.
여러 실시예들에 있어서, 모바일 개발 플랫폼 또는, 다른 서드 파티 서비스 또는 시스템을 호스팅하는 서버는 광고 또는 다른 형식의 부가 컨텐츠를 개발 플랫폼을 통해 생성되고, 말단 사용자에게 배포된 어플리케이션에 삽입할 수 있다. 어플리케이션에 삽입된 광고는 어플리케이션 타입, 컨텐츠, 사용자 정보(예컨대, 결합된 인구통계학 데이터) 및/또는 지리 또는 시간 정보와 같은, 다양한 특징에 기초할 수 있다. 여러 실시예들에 있어서, 광고는 말단 사용자에게 비직관적인 방식으로 제공될 수 있다. 광고는 어플리케이션에 포함된 임의의 컨텐츠 요소 내에 또는 상위에 제공될 수 있고, 및/또는, 일시적으로 또는 어플리케이션 실행의 임의의 미리 결정된 단계에 표시될 수 있다. 일 실시예에 있어서, 다운로드된 어플리케이션, 그 다운로드된 어플리케이션을 생성한 개발자로부터 이용할 수 있는 새로운 어플리케이션, 유명 어플리케이션, 및/또는 상위 어플리케이션에 대한 업데이트의 이용 가능성과 관련된 정보와 같은, 다른 부가 통지는 말딘 사용자에게 전송될 수 있고, 상기 플랫폼을 통해 개발된 어플리케이션에 삽입될 수 있다.
일 실시예에 있어서, 개발 플랫폼은 모바일 개발 플랫폼을 모바일 어플리케이션을 생성 및 배포하기 위해 사용한 개발자 및 사용자를 연결하는 것에 의해, 다양한 소셜 네트워킹 능력을 제공할 수 있다. 여러 실시예들에 있어서, 소셜 네트워킹 능력은 예컨대, 웹 기반 그래픽 인터페이스를 통해, 개발 플랫폼 자체에서 구축될 수 있다. 다른 실시예에 있어서, 이러한 능력은 개별 서비스를 통해 제공될어 질 수 있다. 일 실시예에 있어서, 개발자는 수립된 소셜 매체 웹 사이트에 대한 기존 연결을 찾는 것과 같은 방식으로, 다른 개발자 및 사용자에 접근, 연결 및 상호작용할 수 있다. 그러한 능력을 이용하여, 개발자는 커스터마이징된 템플릿, 모듈, 앱 타입 또는 어플리케이션에 대해 공동 작업, 정보 공유 및 교환을 할 수 있다.
본 발명의 추가적인 특징, 이의 본질 및 다양한 이득은 첨부된 도면과 함께, 바람직한 실시예의 다음의 상세한 설명으로부 보다 명확해질 것이다. 도면에서, 동일한 참조 부호는 그 전체에 걸쳐 동일한 부분을 나타낸다.
도 1은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 포함하는 시스템의 도면;
도 2는 일 실시예에 따른 모바일 개발 및 배포 플랫폼의 어플리케이션 개발 환경의 일부를 도시한 도면;
도 3은 일 실시예에 따른 모바일 개발 플랫폼을 통해 모바일 어플리케이션을 개발하기 위한 프로세스의 흐름도이다.
도 4는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱을 위한 어플리케이션 데이터를 저장하고 표현하기 위해 사용될 수 있는 예시적인 데이터 모델을 도시하는 블록도;
도 5는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 어플리케이션을 실행하는 것과 관련되어 사용될 수 있는 프로세스의 흐름도;
도 6은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 통지를 보여주고, 생성하며 및/또는 수정하기 위한 프로세스의 흐름도;
도 7은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에게 제공되는 통지 관리자의 표시의 일부를 도시하는 도면;
도 8은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 모바일 앱에 모듈을 추가하기 위해 사용될 수 있는 프로세스를 도시하는 흐름도;
도 9는 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함시키기 위한 연락 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 10은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속된 연락 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 11은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 전자 책 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 12는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 전자 책 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 13은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 상호작용 책 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 14는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 상호작용 책 모듈을 가지는 모바일 앱의 표시의 일부를 도시하는 도면;
도 15는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 이벤트 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 16은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 이벤트 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 17은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 피드 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 18은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 피드 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 19는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 폼 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 20은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 폼 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 21은 일 실시예에 따른 모바일 개발 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 HTML 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 22는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 HTML 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 23은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱을 위한 링크 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 23a는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 링크 모듈을 가지는 모바일 앱의 표시의 일부를 도시하는 도면;
도 24 및 도 25는 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 링크 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 26은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 사진 또는 비디오 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 27 및 도 28은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 사진 또는 비디오 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면들;
도 27a 및 도 28a는 일 실시예에 따른 모바일 장치의 표시 상에 사진 또는 비디오 모듈의 표시의 일부를 도시하는 도면들;
도 29는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 사운드보드 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 30은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 사운드보드 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 30a는 일 실시예에 따라 모바일 장치의 표시 상에 사운드보드 모듈의 표시의 일부를 도시하는 도면;
도 31은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 스티커 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 32는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 스티커 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 32a는 일 실시예에 따른, 모바일 장치의 표시 상에 스티커 모듈의 표시의 일부를 도시하는 도면;
도 33은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱을 위한 메뉴 또는 리스트 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 34는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 토해 개발자에 의해 접속되는 리스트 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 34a는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 메뉴 모듈을 가지는 모바일 앱의 표시의 일부를 도시하는 도면;
도 34b 및 도 34c는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 전자상거래 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 35는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 쿠폰 모듈을 커스터마이징하기 위한 프로세스를 도시하는 도면;
도 36은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 쿠폰 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 37은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 음반 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도;
도 38 및 도 39는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 음반 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 40은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 퀴즈 모듈을 가지는 모바일 앱을 표시하는 모바일 장치의 일부를 도시하는 도면;
도 41은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 대화 친구 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면;
도 42는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 대화 친구 모듈을 가지는 모바일 앱의 표시의 일부를 도시하는 도면; 그리고,
도 43a 내지 도 43c는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 모바일 게임을 생성, 수정 및 커스터마이징하기 위해 개발자에 의해 사용될 수 있는 게임 개발 환경의 표시의 일부를 도시하는 도면이다.
앞서 논의된 바와 같이, 비전문적 모바일 장치 사용자 및 다른 개인들은 모바일 장치의 다양한 타입에 대해 모바일 어플리케이션("모바일 앱(mobile apps)" 또는 "앱(apps)")을 개발하기 위한 기존의, 비 사용자 친화적인 소프트웨어 시스템에 의존하는 힘든 시간을 보내고 있다. 이는 다중 모바일 장치 운영 체제의 임의의 장치 특정 특징 및 기능을 이용하는 모바일 앱을 개발, 출시, 및 업데이트하기를 원하는 사용자에게 있어 특히 그렇다. 그러한 사용자에 대한 부담을 줄여주고, 그러한 사용자가 접근할 수 있는 개발 및 배포 프로세스를 만들기 위해, 컴퓨터 프로그래밍 및 모바일 장치의 기술 지식이 요구되지 않고, 다중 모바일 운영 체제에 걸쳐 사용자가 모바일 앱을 개발하고 배포할 수 있도록 하는 시스템 및 방법이 이 문헌에서 제시된다.
실시예들은 프로그래밍 지식 또는 전문지식을 요구함이 없이, 다중 모바일 운영 체제 및/또는 모바일 장치 상에서 실행시키기 위해 빌드되고 컴파일되며, 다양한 장치 및 운영체제 특정 특징을 이용하는, 모바일 앱을 모바일 개발 및 배포 플랫폼을 통해 비전문가 및 어플리케이션 개발자가 개발하도록 하는 모바일 개발 및 배포 플랫폼 및 대응하는 처리 방식에 관련된다. 여러 실시예들은 다양한 미리 정의된 컴포넌트, 특징, 어플리케이션 디자인 및 컨텐츠를 선택하고 조합하는 것에 의해, 및/또는, 앱 타입 및 모듈과 같은, 새로운 컴포넌트를 생성하는 것에 의해, 상기 플랫폼을 통해 개발된 모바일 앱을 사용자가 높은 수준으로 커스터마이징하도록 한다. 실시예들은 하나 이상의 타입의 모바일 운영 체제 및/또는 모바일 장치와 관련된 디지털 배포 플랫폼으로 컴파일된 어플리케이션을 제출하는 것에 의해, 상기 플랫폼을 통해 개발된 앱을 사용자가 배포하도록 한다. 여러 실시예들은 어플리케이션 데이터를 원격 소스로부터 리트라이브(retrieve, 검색하여 가져오고)하고, 말단 사용자가 어플리케이션을 다운로드 또는 실행할 때, 어플리케이션을 빌드(build, 소스 코드로부터 적어도 일부 기능을 실행 가능하게 만들다) 및 구성 설정(configure)하는, 어플리케이션 데이터 자체라기보다는, 레퍼런스 및/또는 다른 기본 정보를 식별하는 것으로 구성되도록 컴파일하는 것(compilation, compile, 명령어를 번역)이 허용된다. 여러 실시예들은 사용자 및 개발자가 모바일 개발 플랫폼을 통해 앱 및 그들의 컨텐츠를 수정 또는 업데이트하도록 한다. 아래에서 설명될 모바일 개발 플랫폼, 대응하는 처리 방식 및 시스템 및 방법은 모바일 앱 개발에 대하여 현재 존재하는 대부분의 장애 및 제한에 대해 다루며, 비전문가가 접근할 수 있는 프로세스를 만들기 위하여, 그리고, 시간 및 들이는 노력을 최소화하기 위하여, 기술적 전문 지식 및 경험에 대한 요구를 없애는 것에 의해 프로세스를 실질적으로 단순화시킨다.
모바일 개발 및 배포 플랫폼 및 아키텍처
도 1은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 포함하는 시스템의 도면이다. 도 1에 보인 바와 같이, 시스템은 모바일 개발 및 배포 플랫폼의 일부인 서버, 프로세서, 네트워크 및 개인용 장치를 포함한다. 도 1의 시스템은 서버(200)를 포함하며, 이는 컴퓨터 하드웨어, 소프트웨어 또는 그들의 조합이 될 수 있고, 몇 개의 물리 또는 가상 컴퓨터 서버 또는 어떤 다른 적합한 컴퓨팅 장치 또는 장치들을 포함한다. 일 실시예에 있어서, 서버(200)는 비전문가, 어플리케이션 설계자 또는 소프트웨어 개발자 및 또는 모바일 앱을 빌드 및/또는 배포하기를 원하는 어떤 다른 형태의 사용자들과 같은, 다양한 개발자에 의해 접근될 수 있는 모바일 개발 서비스에 대한 호스팅, 운영 및/또는 접근을 제공한다. 일 실시예에 있어서, 모바일 개발 서비스는 서버(200)에서 실행되는 소프트웨어 개발 환경의 형태가 될 수 있다. 다른 실시예에 있어서, 모바일 개발 서비스는 개발자가 모바일 앱을 생성하고, 수정하고 및/또는 배포하도록 하는 어떤 적합한 형태의 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합이 될 수 있다. 이들 실시예에 있어서, 개발자는 도 1에 도시된 바와 같은, 개발자 컴퓨터(100)를 통해 서버 컴퓨터(200)에 접근할 수 있다. 개발자 컴퓨터(100)는 퍼스널 컴퓨터, 랩탑, 태플릿 PC, 모바일 장치 또는 서버(200)와 통신할 수 있고, 및/또는 개발자에게 접근을 제공할 수 있는 어떤 다른 적합한 컴퓨터 하드웨어 및/또는 소프트웨어가 될 수 있다.
일 실시예에 있어서, 서버(200) 및/또는 모바일 개발 서비스는 하나 이상의 서드 파티 서비스 제공자에 의해 호스팅되고, 운영될 수 있고, 및/또는, 개발자 컴퓨터(100)를 이용하여 네트워크(500)를 통해 개발자들에 의해 접근될 수 있다. 이들 실시예에 있어서, 네트워크(500)는 개발자가 개발자 컴퓨터(100)를 통해 서버(200)에 접근할 수 있도록 하는 인터넷 네트워크 또는 전용 네트워크와 같은, 어떤 적합한 형태의 유선 및/또는 무선 네트워크가 될 수 있다. 예를 들면, 도 1에 보인 바와 같이, 서버(200)는 개발자 컴퓨터(100)를 이용하여 인터넷을 통해 개발자에 의해 접근될 수 있는 웹 서버의 형태가 될 수 있다. 개발자들은 개발자 컴퓨터(100) 상에 표준 웹 브라우저를 이용하는 하나 이상의 웹 페이지를 탐색(navigating)하여 모바일 개발 서비스에 접근할 수 있고, 그렇게 함으로써 개발자 컴퓨터(100) 상에 개발 소프트웨어를 다운로드 및/또는 인스톨하는 필요성을 배제한다. 다른 실시예에 있어서, 모바일 개발 서비스는 서버(200) 및/또는 하나 이상의 다른 서드-파티(third-party) 서버로부터 개발자에 의해 다운로드될 수 있는 개별 클라이언트 또는 스탠드-얼론 소프트웨어 어플리케이션이 될 수 있다. 또는, 모바일 개발 서비스는 다른 적합한 수단(예컨대, CD, 물리적 디스크, 등)을 통해 개발자에 제공될 수 있고 개발자 컴퓨터(100)에 인스톨될 수 있다. 서버(200)가 실질적인 예를 위한 목적으로 도 1에 도시되어 있지만, 이는 일 실시예에 있어서 모바일 개발 서비스와 같은, 서버(200)에 의해 제공되는 기능이 임의의 수의 서버들에 의해 호스팅되고 운영되거나, 또는 개발자 컴퓨터(100)에 통합될 수 있는 것으로 이해되어야 할 것이다.
일 실시예에 있어서, 서버(200)가 웹 서버인 경우, 모바일 개발 서비스는 웹 기반 서비스의 형태로 제공될 수 있다. 일 실시예에 있어서, 웹 기반 서비스는 개발자가 모바일 앱을 생성하고, 수정하며, 그리고 배포하도록 하는 어플리케이션 개발 환경에 접근하도록 제공한다. 예를 들면, 웹 기반 서비스는 개발자에게 다양한 웹 페이지를 제공하고, 개발자가 다양한 웹 페이지와 상호작용하도록 하는 웹 사이트와 같은 그래픽 인터페이스의 형태가 될 수 있다. 일 실시예에 있어서, 개발자는 앱-형식 및 모듈과 같은 다양한 어플리케이션 컴포넌트, 레이아웃, 테마 및 표시 옵션과 같은 디자인 요소, 및 텍스트, 이미지, 비디오, 사운드, 노래, 문서 및 앱을 위한 다른 유사한 데이터와 같은 컨텐츠 요소를 정의(예컨대, 선택, 생성, 커스터마이징 및/또는 업로딩)하여 모바일 앱을 디자인, 생성 및/또는 수정할 수 있다. 이 프로세스는 도 2와 관련되어 아래에서 더 상세하게 도시되고 설명된다.
도 1에 보인 바와 같이, 일 실시예에서, 서버(200) 또한 데이터베이스 서버(210)와 같은, 하나 이상의 데이터베이스 서버를 사용할 수 있다. 일 실시예에 있어서, 데이터베이스 서버(210)는 서버(200)에 의해 리트라이브될 수 있고, 어플리케이션 개발 프로세스 동안 개발자에게 제공될 수 있는, 템플릿, 모듈, 레이아웃, 컨텐츠 등과 같은 다양한 미리 결정된 또는 일반(generic) 어플리케이션 데이터를 저장할 수 있다. 일부의 실시예에 있어서, 데이터베이스 서버(210)는 모바일 개발 서비스를 통해 개발자에 의해 개발 중이거나 개발되어 온 모바일 어플리케이션을 저장하고 리트라이브하도록 서버(200)에 의해 사용될 수 있다. 예를 들면, 개발자가 모바일 앱을 생성 및/또는 수정함에 따라, 서버(200)는 데이터베이스 서버(210)에서 개발자에 의해 선택, 생성 또는 커스터마이징되는 어플리케이션 컴포넌트와 디자인 요소 및/또는 업로드된 컨텐츠와 같은 앱과 관련된 데이터를 저장할 수 있다. 이들 일부 실시예에 따르면, 서버(200)는 개발자가 나중에 모바일 개발 서비스에 접속하는 때에, 저장된 어플리케이션 데이터를 리트라이브하고, 및/또는 개발자에게 저장된 어플리케이션 데이터를 제공할 수 있다.
일부 실시예에 있어서, 데이터베이스 서버(210)는 서드 파티 서비스 제공자에 의해 호스트되고, 운영될 수 있다. 서드 파티 서비스 제공자는 개별 서비스 제공자이거나, 또는, 서버(200)을 호스팅하고 운영하는 동일한 서비스 제공자가 될 수 있다. 이들 일부 실시예에 있어서, 도 1에 도시된 바와 같이, 서버(200)는 네트워크(500)을 통해 데이터베이스 서버(210)에 접속하고, 그리고 데이터베이스 서버(210)와 통신할 수 있다. 다른 실시에에 있어서, 데이터베이스 서버(210)는 서버(200)에 통합될 수 있다(혹은 직접 연결될 수 있다). 또 다른 실시예에 있어서, 서버(200)가 개발자에 의해 호스팅되고 운영되는 것과 같이, 데이터베이스 서버(210)는 개발자 컴퓨터(100)에 통합될 수 있다(혹은 직접 연결될 수 있다).
일 실시예에 있어서, 서버(200)는 네트워크(500)를 통해, 디지털 배포 플랫폼(300)과 같은 하나 이상의 디지털 배포 플랫폼과 통신할 수 있다. 디지털 배포 플랫폼(300)은 모바일 앱을 호스팅하고 말단 사용자에게 모바일 앱을 배포할 수 있는 어떤 적합한 네트워크 서비스가 될 수 있다. 이 실시예에 있어서, 디지털 배포 플랫폼(300)은 iOS의 앱 스토어, 안드로이드의 마켓, webOS의 앱 카탈로그와 같은, 개별 모바일 운영체제(또는 시스템) 및/또는 모바일 장치(또는 장치들)의 제조사 또는 개발자와 관련되고, 및/또는 호스팅되고 운영되는 웹 기반 서비스가 될 수 있다. 다른 실시예에 있어서, 디지털 배포 플랫폼(300)은 서드 파티 제공자에 의해 또는 개발자에 의해 호스팅되고 운영되거나, 및/또는 서버(200) 또는 개발자 컴퓨터(100)에 통합될 수 있다. 이 실시예에 있어서, 도 1에 보인 바와 같이, 서버(200)는 네트워크(500)를 통해 디지털 배포 플랫폼(300)과 통신할 수 있다.
예를 들면, 서버(200) 및/또는 모바일 개발 서비스를 통해 모바일 앱을 생성 또는 수정하는 동안 또는 후에, 개발자는 하나 이상의 타겟 모바일 장치 세트를 선택할 수 있다. 이는 모바일 어플리케이션이 동작하도록 하는 하나 이상의 모바일 운영체제 및/또는 모바일 장치를 포함한다. 예를 들면, 타겟 모바일 장치 세트는 모바일 장치 카테고리, 모바일 장치 타입 또는 모바일 장치 모델을 포함할 수 있다. 각 모바일 장치 카테고리는 개별 모바일 운영체제를 구동하는 모바일 장치의 그룹과 관련될 수 있다(예컨대, iOS 모바일 운영체제에서 구동하는 다양한 버전의 애플의 아이폰, 아이패드 및 아이터치). 각 모바일 장치 타입은 모바일 장치의 타입에 기초한, 모바일 장치 카테고리의 서브세트와 관련될 수 있다(예컨대, 스마트폰, 태블릿 등). 각 모바일 장치 모델은 단일 모바일 장치(예컨대, 애플의 아이폰 4) 또는 개별 모바일 장치의 모든 모델들(예컨대, 에플의 아이폰)과 관련될 수 있다. 일 실시예에 있어서, 기본 타겟 모바일 장치 세트는 대안적으로 또는 추가적으로 모바일 개발 플랫폼 및/또는 서비스에 의해 설정될 수 있다. 일 실시예에 있어서, 서버(200)는 선택된 모바일 장치 카테고리 및/또는 모바일 장치 타입에 기초한 앱을 컴파일하거나, 및/또는, 말단 사용자에게 배포하기 위한 디지털 배포 플랫폼(300)과 같은 하나 이상의 디지털 배포 플랫폼으로 컴파일된 앱을 전달할 수 있다. 일 실시예에 있어서, 서버(200)는 디지털 배포 플랫폼(300)으로 모바일 개발 서비스를 통해 개발된 앱을 자동으로 제출할 수 있다. 다른 실시예에 있어서, 개발자는 그들의 앱을 수동으로 제출하도록 요구될 수 있다.
일 실시예에 잇어서, 디지털 배포 플랫폼(300)이 모바일 운영체제 또는 모바일 장치 제조사 또는 개발자에 의해 호스팅되고 운영되는 경우에 있어서, 모바일 앱은 디지털 배포 플랫폼(300)을 통해 수용되고 및/또는 배포되기 이전에 승인을 위해 제출되는 것이 요구될 수도 있다. 이 실시예에 있어서, 모바일 운영체제 또는 모바일 장치 제조사 또는 개발자는 디지털 배포 플랫폼(300)을 통해 배포하기 위해, 및/또는 상기 플랫폼에 의해 지원되는 모바일 운영 체제 및/또는 장치에 특화된 어떤 특징 또는 기능을 사용하기 위해, 모바일 앱이 디지털 사인 및/또는 고유의 식별자가 포함되도록 요구할 수 있다. 일 실시예에 따르면, 서버(200)는 모바일 앱의 컴파일 동안 앱을 위한 디지털 사인 및/또는 고유의 식별자를 생성하거나, 및/또는 디지털 배포 플랫폼(300)에 의해 요구되는 어떤 승인 프로세스 또는 제출 프로시저를 관리할 수 있다.
도 1에 보인 바와 같이, 일 실시예에 있어서, 디지털 배포 플랫폼(300)은 모바일 장치(400)와 같은, 모바일 장치 상에서 실행을 위해 말단 사용자에게 모바일 앱을 배포할 수 있다. 모바일 장치(400)는 스마트폰, 태블릿, 슬레이트, 또는 모바일 운영체제를 실행할 수 있는 어떤 다른 형식의 장치를 포함하는, 모바일 앱을 실행할 수 있는 어떤 적합한 타입의 모바일 장치가 될 수 있다(예컨대, iOS, 안드로이드, 심비안, 블랙베리 OD, 윈도우 모바일, 윈도우 폰). 예를 들면, 디지털 배포 플랫폼(300)은 모바일 개발 서비스를 통해 개발된 모바일 앱을 포함하는, 수많은 모바일 앱을 호스팅할 수 있다. 일 실시예에 있어서, 말단 사용자는 브라우저를 통해 디지털 배포 플랫폼(300)에 접속할 수 있고, 다운로드를 위해 필요한 어떤 모바일 앱을 선택할 수 있다. 그런 다음, 선택된 모바일 앱이 말단 사용자에게 제공되고, 모바일 장치(400)에 인스톨된다. 일 실시예에 있어서, 말단 사용자는 웹 사이트 링크, 이메일, 텍스트 메시지, 셀룰러 데이터 또는 예컨대, 어떤 다른 적합한 형태의 디지털 배포 플랫폼(300) 및 모바일 장치(400) 사이의 통신을 통해, 선택된 모바일 앱에 접속하여, 그로부터 모바일 장치(400)에 직접 앱을 다운로드 할 수 있다. 대안적으로, 또는 추가적으로, 말단 사용자는 퍼스널 컴퓨터, 랩탑, 태플릿 등과 같은, 개별 장치를 이용하여 접속하고, 선택된 앱을 다운로드할 수 있다. 그런 다음, 말단 사용자는 모바일 장치(400)로 다운로드된 앱을 전달하고, 모바일 장치(400)에 그 앱을 인스톨할 수 있다. 다른 실시예에 있어서, 말단 사용자는 개발자 컴퓨터(100) 또는 서버(200)로부터 직접 모바일 앱을 다운로드할 수 있다.
서버(200) 및/또는 모바일 개발 서비스를 통해 개발된 모바일 앱은 아래의 도 3 내지 도 5와 관려된어 도시되고 설명되겠지만, 임의의 모바일 장치 카테고리 및/또는 모바일 장치 타입 용으로 컴파일 될 수 있다. 일 실시예에 있어서, 컴파일은 전체 앱을 포함하지 않을 수 있지만, 식별되는 레퍼런스 및/또는 구성파일 또는 초기화 파일과 같은, 앱과 관련된 데이터의 서브세트를 포함할 수 있다. 그런 다음, 컴파일이 앞서 설명된 바와 유사한 방식으로 모바일 장치에 인스톨 및 다운로드를 위해 말단 사용자가 이용할 수 있도록 이루어질 수 있다. 예를 들면, 말단 사용자는 모바일 장치(400)에 대해 선택된 모바일 앱을 위한 컴파일을 다운로드 및/또는 인스톨할 수 있다. 일 실시예에 따르면, 컴파일을 다운로하고, 앱을 인스톨하고, 및/또는 앱을 실행시킨 후에, 모바일 앱 및/또는 모바일 장치(400)는 원격 스토리지 매체로부터 추가 어플리케이션 데이터를 리트라이브 할 수 있다. 이 추가 어플리케이션 데이터는 앱을 빌드하고, 포맷하고, 및/또는 앱과 앱의 컨텐츠를 말단 사용자에게 제공하기 위해 사용될 수 있다. 예를 들면, 도 1에 보인 바와 같이, 모바일 장치(400)는 네트워크(500)을 통해 데이터베이스 서버(210)와 통신할 수 있다. 일 실시예에 있어서, 모바일 장치(400)는 컨텐츠, 레이아웃, 템플릿, 모듈, 또는 앱이 필요로 하는 및/또는 앱과 관련된 다른 컴포넌트와 같은, 어떤 어플리케이션 데이터에 접근할 수 있다. 다른 실시예에 있어서, 모바일 장치(400) 및/또는 모바일 앱은 디지털 배포 플랫폼(300), 서버(200), 개발자 컴퓨터(100) 및/또는 어플리케이션 데이터를 호스팅하고 공급하는 임의의 서드 파티 서비스 제공자로부터 어플리케이션 데이터를 리트라이브 할 수 있다. 일 실시예에 있어서, 모바일 어플리케이션이 구동될 때, 모바일 어플리케이션은 어플리케이션 데이터를 리트라이브하기 위해 자동으로 데이터베이스 서버(210)에 접속하고, 및/또는, 어플리케이션 및/또는 이의 컨텐츠로 만들어진 임의의 업데이트들을 검사하고 다운로드한다.
이 문헌에 설명된 시스템들 및 방법들의 이득은 앞서 설명으로 알수 있는 바와 같이, 고도의 전문 지식 및 기술이 요구되지 않고 모바일 앱 개발자가 다중 모바일 운영체제 및 배포 플랫폼에 걸쳐 고도의 모바일 앱을 디자인, 빌드 및 배포할 수 있도록 하는 것이다. 다른 이득은 설명된 플랫폼을 통해 개발된 모바일 어플리케이션은 단순화된 포맷으로 말단 사용자에게 배포될 수 있다는 점이다. 이는 앱의 실행 또는 인스톨에 관하여 원격 소스로부터 어플리케이션에 의해 요구되거나, 및/또는 관련된 데이터에 접속할 수 있다. 결국, 이는 앱 개발자가 원격 소스에 저장된 어플리케이션 데이터를 단순하게 업데이트하는 것에 의해, 배포 후의 앱의 포맷, 피처, 기능 및 컨텐츠를 수정하거나 업데이트하도록 할 수 있다. 이는 앱을 다시 인스톨하거나 또는 수동으로 연결하거나, 디지털 배포 플랫폼 또는 다른 서드 파티 서비스 제공자로부터 어떤 데이터를 다운로드할 필요 없이, 앱이 구동된 때에 그러한 업데이트가 자동으로 말단 사용자에게 공급된다.
모바일 앱 개발 도구
도 2는 일 실시예에 따른 모바일 개발 및 배포 플랫폼의 어플리케이션 개발 환경의 일부를 도시한 도면이다. 도 2에 보인 특정 디스플레이는 개발자가 모바일 앱을 디자인 및 개발하도록 하기 위해 개발자에게 제공되는 웹 사이트의 형식의 웹 툴의 실 예이다. 일 실시예에 있어서, 어플리케이션 개발 환경은 서버(200) 및/또는 모바일 개발 서비스에 의해 공급될 수 있고, 도 1과 관련하여 도시되고 설명된 바와 같이 개발자 컴퓨터(100)를 이용하여 개발자에 의해 접근될 수 있다. 예를 들면, 서버(200)는 웹 기반 도구의 일부인 웹 페이지를 호스팅할 수 있고, 그들을 네트워크(500)를 통해 개발자 컴퓨터(100)로 전송할 수 있다.
도 2에 보인 바와 같이, 일 실시예에 있어서, 모바일 개발 환경은 디스플레이 스크린(102)와 같은, 개발자 컴퓨터(100)와 관련된 디스플레이 상에서 개발자에게 디스플레이 될 수 있다. 예를 들면, 디스플레이 스크린(102)은 개발 윈도우(110)와 같은, 디스플레이 윈도우에서 모바일 개발 환경을 제공할 수 있다. 개발 윈도우(110)는 개발자에게 모바일 개발 환경을 제공하기에 적합한 임의의 디스플레이 형식이 될 수 있다. 일 실시예에 있어서, 도 2에 도시된 바와 같이, 개발 윈도우(110)는 어떤 선택을 보여주고 만들어주는 것에 의해, 데이터를 입력하고 업로드하는 것에 의해, 및/또는 미리 정의된 어플리케이션 데이터를 커스터마이징하고 수정하는 것에 의한 것과 같이, 모바일 앱을 빌드하기 위해, 개발자가 다양한 시각적 컴포넌트와 상호작용하도록 하는 그래픽 사용자 인터페이스(GUI)의 형식으로 제공된다.
일 실시예에 따르면, 모바일 개발 환경이 웹 기반 서비스를 통해 제공되는 것과 같이, 개발 윈도우(110)는 개발자가 그것을 통해 탐색하거나, 상호작용하거나, 모바일 앱을 생성하거나, 업데이트할 수 있는 복수의 웹 페이지의 형식의 GUI를 개발자에게 제공할 수 있다. 다른 실시예에 있어서, 모바일 개발 환경이 스탠드 얼론 소프트웨어 어플리케이션의 형식인 것과 같이, 개발 윈도우(110)는 소프트웨어 어플리케이션과 관련된 그래픽 출력을 표시할 수 있다. 일 실시예에 있어서, 모바일 개발 환경은 개발자가 앱-타입(app-types) 및 모듈(modules)과 같은 임의의 미리 정의된 어플리케이션 컴포넌트들, 텍스트, 이미지, 비디오, 오디오와 같은 컨텐츠 요소, 및/또는 테마, 레이아웃, 포맷, 스타일 등과 같은 어플리케이션 디자인 요소를 조합하도록 하거나, 및/또는, 그들 자신의 어플리케이션 컴포넌트, 컨텐츠 요소 및 디자인 요소를 생성하도록 할 수 있다. 그렇게 함으로써, 그러한 개발자들이 소프트웨어 코드를 이해하거나 기록해야 할 필요 없이 모바일 앱을 생성하도록 할 수 있다. 예를 들면, 개발자는 모바일 앱을 위한 어떤 미리 정의된 디자인 요소 및/또는 이의 컴포넌트를 제공받고, 선택하거나 및/또는 수정할 수 있다. 이는 개발자가 모바일 앱의 디자인 및 표현과 이의 사용자 인터페이스를 생성하고, 수정하고, 그리고 커스터마이징할 수 있도록 한다.
다른 예로, 일 실시예에 있어서, 개발자는 개발자가 앱을 커스터마이징하기 위해 선택하고, 수정하고 그리고 조합할 수 있는 앱-타입 및 모듈과 같은, 임의의 미리 결정된 어플리케이션 컴포넌트를 제공 받을 수 있다. 일 실시예에 있어서, 각 앱-형식은 식당 앱, 로펌 앱, 잡지 앱, 블로그 앱, 의사 앱 및 박물관 앱과 같은, 앱의 개별 카테고리와 관련될 수 있다. 일 실시예에 있어서, 모듈은 앱에 포함될 수 있는 임의의 기능 및 특징과 관련될 수 있다(예컨대, 통화, 이미지 뷰어, 지도 기능, 이메일 기능, 메시지 기능, 등). 일 실시예에 있어서, 모듈은 그러한 모듈이 메뉴와 같은, 미리 결정된 방식으로 기능하도록 허용하는 대응하는 어플리케이션 로직 및 코드와 더불어, 하나 이상의 모바일 장치 카테고리 및/또는 모바일 장치 타입(예컨대, 터치스크린 인터페이스, 비디오 카메라, 등)에 특화된 특징 및 기능을 포함할 수 있다.
이 문헌에서 논의되는 시스템 및 방법에 따라 사용될 수 있는 특정 앱-형식 및 모듈의 추가적인 예들이 도 9 내지 도 42와 관련되어 아래에서 설명되고, 및/또는 도시된다. 위에서 논의된 특정 어플리케이션 디자인 요소 및 컴포넌트(예컨대, 레이아웃, 테마, 앱-형식 및 모듈) 그리고 그들에 대응하는 명칭이 단지 예시적인 목적으로 제공되며, 그리고 다양한 다른 형식 및 이름의 어플리케이션 컴포넌트 및 디자인 요소가 사용될 수 있음을 이해하여야 한다.
도 2에 보인 바와 같이, 일 실시예에 있어서, 개발 윈도우(110)는 하나 이상의 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠 요소, 및/또는 개발자에 대한 다양한 설정 또는 옵션을 표시하기 위한 컴포넌트 윈도우(112)와 같은 서브윈도우를 포함할 수 있다. 예를 들면, 개발자가 새로운 앱을 생성할 때, 컴포넌트 윈도우는 개발자에게 복수의 이용 가능한 레이아웃, 앱-형식, 및/또는 앱에서 사용될 수 있는 모듈을 제공할 수 있다. 일 실시예에 있어서, 개발 윈도우는 하나 이상의 선택할 수 있는 아이콘, 입력 필드 및/또는 버튼(120 내지 122)과 같은 버튼을 포함할 수 있고, 이는 개발자가 어플리케이션 컴포넌트, 디자인 요소를 선택, 생성, 및 수정하는 것에 의해, 그리고, 컨텐츠 및 다른 데이터를 설정 및/또는 입력하는 것에 의해, 모바일 개발 환경과 상호작용하도록 할 수 있다.
예를 들면, 개발자는 버튼(120 및 122)을 클릭하여 컴포넌트 윈도우(112)에 표시된 임의의 이용 가능한 어플리케이션 컴포넌트, 컨텐츠 요소 및 디자인 요소를 브라우징할 수 있다. 개발자가 소망하는 컴포넌트 또는 요소에 이르렀을 때, 개발자는 버튼(121)을 클릭하여 현재 모바일 앱에 그 컴포넌트 또는 요소를 추가할 수 있다. 이 실시예에 있어서, 이전에 선택되거나 또는 생성된 컴포넌트 및 디자인 요소는 개발자에 의해 선택되거나, 및/또는 수정될 수 있는 표시된 컴포넌트 또는 디자인 요소들과 관련된 설정들 및 다양한 옵션들과 더불어 컴포넌트 윈도우(112)에 표시될 수 있다. 이들 실시예에 있어서, 개발자는 버튼(121)에 의해 모바일 앱으로부터 앞서 선택된 컴포넌트 또는 요소를 제거할 수 있다. 이 문헌에 설명된 특정 사용자 인터페이스 및 사용자 입력은 예시적인 것이며, 음성 인식, 시각 입력, 터치스크린, 등과 같은, 이 기술분야에서 알려진 임의의 다른 적합한 형식의 사용자 인터페이스로 교체되거나, 조합될 수 있다.
일 실시예에 따르면, 도 2에 도시된 바와 같이, 개발 윈도우(110)는 장치 표현(116)과 같은, 하나 이상의 모바일 장치의 그래픽 표현을 포함할 수 있다. 일 실시예에 있어서, 표현된 특정 모바일 장치는 모바일 앱이 개발된 하나 이상의 모바일 장치 카테고리 또는 모바일 장치 타입과 관련되어 개발자에 의해 앞서 이루어진 선택을 기반으로 할 수 있다. 다른 실시예에 있어서, 개발자는 개발 윈도우(110)에 포함된 드롭다운 메뉴 또는 버튼을 클릭하여, 장치 표현(116)에 의해 표현되는 모바일 장치(또는 그것의 카테고리 및/또는 타입) 사이에서 선택, 업데이트 및/또는 교환할 수도 있다.
일 실시예에 있어서, 장치 표현(장치를 표현한 것, 116)은 개발자가 어떻게 앱-타입, 레이아웃, 및 테마와 같은, 임의의 어플리케이션 컴포넌트, 컨텐츠 요소 및/또는 디자인 요소가 제공되는지 볼 수 있도록 하거나, 및/또는 표현된 모바일 장치 상에서 기능을 볼수 있도록 한다. 일 실시예에 있어서, 장치 표현(116)은 개발자에 의해 이루어진 임의의 선택 및/또는 컨텐츠 또는 데이터 입력에 기초하여 업데이트될 수 있다. 예를 들면, 개발자가 임의의 어플리케이션 컴포넌트 및 다지안 요소를 선택, 생성 또는 수정함에 따라, 장치 표현(116)은 도시된 장치 스크린 내에서 그러한 선택을 반영하도록 업데이트되거나, 리프레쉬될 수 있다. 그렇게 함으로써, 개발자가 얼마나 다양한 선택 및 수정이 하나 이상의 모바일 장치 카테고리, 모바일 장치 타입 또는 특정 모바일 장치에서 모바일 앱의 동작 및/또는 디스플레이에 영향을 미칠지를 실시간으로 보거나 이해할 수 있도록 한다. 일 실시예에 있어서, 장치 표현(116)은 앱의 현재 상태의 시뮬레이션을 제공할 수 있고, 개발자가 장치 표현(116)에 의해 시뮬레이션되는 앱의 다양한 부분들에 대해 클릭하는 것에 의해, 그 앱을 통해 탐색하고, 그 앱과 상호작용할 수 있도록 한다. 개발자가 장치 표현(116)을 통해 앱의 일부를 선택하는 것에 대응하여, 개발 윈도우(110)는 앱의 선택된 부분과 관련된 임의의 어플리케이션 컴포넌트, 컨텐츠 요소 또는 디자인 요소를 표시할 수 있고, 및/또는 개발자가 이들 컴포넌트 및 디자인 요소와 관련된 다양한 특징, 옵션 디자인을 추가, 수정, 업로드 및 제거할 수 있도록 한다.
도 2에 보인 바와 같이, 개발 윈도우(110)는 모바일 앱을 디자인, 생성 및/또는 수정하는 프로세스에 걸쳐 개발자를 돕거나, 및/또는 안내하는, 그래픽 마법사(114)와 같은, 발전된, 사용자 친화 도구를 포함할 수 있다. 일 실시예에 있어서, 그래픽 마법사(114)는 개발자가 앱을 위해 다양한 앱-타입, 모듈, 레이아웃, 테마, 설정 및 컨텐츠를 추천하는 것에 의해, 다양한 어플리케이션 컴포넌트, 디자인 요소 및 컨텐츠 요소의 선택, 생성, 입력, 조합 및/또는 커스터마이징하도록 도울 수 있다. 예를 들면, 그래픽 마법사(114)는 임의의 힌트, 도움말 텍스트, 제안을 제공하거나, 및/또는 개발자의 임의의 요구된 선택 또는 입력을 통지할 수 있고, 이는 개발 윈도우(110) 내에서 또는 오디오와 같은, 임의의 다른 적합한 형태의 출력을 통해 개발자에게 제공될 수 있다. 일 실시예에 있어서, 개발자는 그래픽 마법사(114)와 관련된 개발 윈도우(110) 내에 아이콘 또는 버튼을 클릭, 또는 호버(hover)하는 것에 의해 그러한 정보를 볼 수 있다. 일 실시예에 있어서, 그래픽 마법사(114)는 도 2에 도시된 로봇과 같은, 대표적인 캐릭터 또는 아이콘을 포함하거나, 그러한 형태로 제공될 수 있다. 다른 실시예에 있어서, 임의의 다른 적합한 특징 또는 그래픽 묘사의 마법사 또는 안내 도구가 사용될 수 있다. 일 실시예에 있어서, 개발자는 그래픽 마법사(114)를 활성화시키고 비활성화시키도록 허용될 수 있다.
일 실시예에 있어서, 어플리케이션 개발 윈도우(110)는 도 2에 도시된 프로그래스 바(118)와 같은 프로그래스 지시자(progress indicator)를 포함하며, 이 프로그래스 지시자는 어플리케이션 개발 프로세스를 통해 개발자의 진척 상황을 나타낼 수 있다. 일 실시예에 있어서, 프로그래스 바(118)는 완료되어진 및/또는 현재 모바일 앱을 끝내기 위해 개발자에 의해 완료가 여전히 요구되는 하나 이상의 단계를 나타낼 수 있다. 예를 들면, 어플리케이션 생성 및 배포 진척 상황은 임의의 수의 서브프로그래스로 분할될 수 있다. 개발자가가 앱 디자인 및 배포 프로세스를 통해 이동함에 따라, 프로그래스 바(118)는 각 서브 프로세스의 상태를 반영하여 업데이트될 수 있다. 프로그래스 바는 또한 대안적으로, 앱의 품질을 반영할 수 있고, 이는 개발자에 의해 추가되고 업로드된 컨텐츠 또는 선택된 커스터마이즈된 것의 양 및/또는 형식과 같은, 앱의 독창성에 기초하여 업데이트될 수 있다.
일 실시예에 있어서, 모바일 개발 환경이 웹 기반 서비스의 형태로 제공되는 바와 같이, 서브 프로그래스는 개발자가 매 페이지 마다 또는 유사한 방식에서 어플리케이션 개발 및 배포의 프로세스에 걸친 단계를 밟도록 하는 하나 이상의 웹 페이지에 의해 표현될 수 있다. 일 실시예에 따르면, 그래픽 마법사(114)는 각 페이지 또는 섹션과 관련된 하나 이상의 단계들에 걸쳐 개발자를 안내할 수 있다. 다른 실시예에 있어서, 단계들 및/또는 서브 프로그래스는 개발자가 단일 웹 페이지 내에서와 같이, 요구되는 바에 따라 선택하도록 단일 그룹의 옵션 및 설정으로 병합될 수 있다.
예를 들면, 일 실시예에 따라, 웹 기반 서비스를 통해 접속된 모바일 앱 생성 및 배포 프로세스는 4개의 주요 서브 프로세스로 분할 될 수 있다: 앱 속성(app properties), 앱 디자인(app design), 앱 컨텐츠(app content) 및 앱 퍼블리싱(app publishing). 새로운 앱을 생성하기 위한 옵션을 선택한 후, 개발자는 앱 속성 서브 프로세스를 완료하기 위해 프롬프트를 수신할 수 있다(완료 여부에 대한 질의를 수신할 수 있다). 앱 속성 서브 프로세스를 통해, 개발자는 선택하거나, 업로드하거나, 및/또는 앱을 위한 명칭, 아이콘 이미지 및/또는 스플래시 스크린 이미지와 같은, 앱을 위한 다양한 높은 레벨 설정을 입력할 수 있다. 그런 다음, 개발자는 개발자가 컬러 스킴, 백그라운드 이미지 및/또는 앱-타입과 같은, 앱을 위한 다양한 디자인 및 레이아웃 옵션을 선택하거나, 업로드하거나, 및/또는 입력하도록 하는 것을 통해, 앱 디자인 서브 프로세스를 진행할 수 있다. 높은 레벨 속성 및 앱의 전체 디자인을 선택하고, 커스터마이징한 후, 개발자는 앱에 포함시키기 위해 다양한 모듈 및 컨텐츠 요소를 추가하고 커스터마이징하여, 앱의 컨텐츠 및 기능을 추가, 수정, 조합 및 커스터마이징하는 것을 통해, 앱 컨텐츠 서브 프로세스를 진행할 수 있다. 개발자가 앱 및 이의 컨텐츠의 생성 및 디자인이 완료하면, 개발자는 앱 퍼블리싱 서브 프로세스로 이동할 수 있다. 이 서브 프로세스를 통해, 개발자는 타겟 모바일 장치 타입, 앱 설명서, 앱 카테고리, 저작권 설정 및/또는 키워드와 같은 다양한 퍼블리싱 속성을 선택하고, 앱을 퍼블리싱할 수 있다. 일 실시예에 있어서, 앱 퍼블링 서브 프로세스는 앱이 퍼블리싱을 위한 어떤 최소한의 요구사항을 만족하는지 여부를 검사할 수 있다. 그리고, 만약 만족하지 않는다면, 개발자에게 임의의 결손 사항을 나타낼 수 있다.
일 실시예에 있어서, 앞서 설명된 4개의 서브 프로세스 각각은 개발 웹 페이지 또는 웹 페이지들을 통해 개발자에게 제공될 수 있고, 및/또는 개발자에 의해 접근될 수 있다. 다른 실시예에 있어서, 이들 서브 프로세스들은 단일 웹 페이지 내의 텝의 형식으로 제공되거나, 또는, 웹 기반 서비스 내에서 사용되는 용도에 적합한 다른 방법으로 제공될 수 있다. 4개의 서브 프로세스 및 그들의 명칭들이 예시적인 목적으로 앞서 설명되었지만, 임의의 수의 서브 프로세스가 모바일 앱 생성 및 배포 플랫폼 및/또는 대응하는 웹 기반 서비스와 관련하여 사용될 수 있음을 이해하여야 한다.
앱 생성 프로세스
도 3은 도 1 및 도 2에 설명된 바와 같은 실시예에 따른 모바일 개발 플랫폼을 통해 모바일 어플리케이션을 개발하기 위한 프로세스의 흐름도이다. 10 단계에서, 개발자는 모바일 개발 환경에 접근한다. 일 실시예에서, 개발자는 웹 서버(도 1에 도시된 서버(200)과 같은)에 의해 호스팅되고 운영되는 웹 사이트를 탐색하는 개발자의 컴퓨터의 브라우저를 이용하여 상기 환경에 접근할 수 있다. 웹 서버 및/또는 모바일 개발 환경은 개발자가 모바일 개발 환경 및/또는 관련된 웹 사이트에 접속하기 위해 로그인하도록 요청할 수 있다. 일 실시예에 있어서, 모바일 개발 환경에 접속하면, 개발자는 새로운 모바일 앱을 생성하고, 기존의 모바일 앱을 업데이트하기 위한 옵션과 같은 임의의 옵션을 제시받을 수 있다. 개발자의 앱을 생성하거나, 업데이트하기 위한 옵션 선택에 대응하여, 20 단계에서 모바일 개발 환경은 앱을 위해 선택되거나, 웹에 포함될 수 있는 어플리케이션 컴포넌트, 다자인 요소, 컨텐츠 요소 및 설정과 같은, 앱, 및 앱의 컴포넌트 및 요소와 관련되어, 개발자에게 옵션을 표시하고, 개발자로부터 선택 및 입력을 수신할 수 있다.
예를 들면, 일 실시예에 있어서, 개발자가 새로운 모바일 앱을 생성하는 것을 원하는 경우, 모바일 개발 플랫폼은 임의의 이용할 수 있는 미리 결정된 앱-타입을 표시하는 웹 페이지를 표시할 수 있다. 모바일 개발 환경은 새로운 앱을 위한 앱-타입을 선택하도록, 및/또는, 명칭, 모바일 장치에 표시되어지는 아이콘 파일 및 이의 위치, 스플래시 스크린 이미지 및/또는 타겟 모바일 장치 카테고리 또는 모바일 장치 타입과 같은, 앱을 위한 임의의 기본 속성들을 입력 또는 선택하도록 사용자에게 프롬프트(prompt, 사용자에게 입력을 받기 위해 표시하고 대기)할 수 있다. 일 실시예에 있어서, 하나 이상의 키워드는 앱과 관련될 수 있고, 이는 개발자의 선택 및 입력에 기초하여 자동으로 생성되거나, 개발자에 의해 제공될 수 있다. 일 실시예에 있어서, 이들 키워드는 디지털 배포 플랫폼에 포함되는 하나 이상의 미리 결정된 앱 카테고리를 가지는 앱과 관련되거나, 또는, 말단 사용자가 키워드 검색을 이용하여 앱을 검색하도록 하기 위해 단말 사용자에게 앱의 배포와 관련하여 모바일 개발 환경 및/또는 개발자에 의해 사용될 수 있다.
일 실시예에 있어서, 개발자가 앱-타입을 선택하고 및/또는 새로운 앱을 위한 임의의 기본 어플리케이션 속성을 선택 또는 입력하거나, 또는, 수정을 위한 기존의 앱을 선택한 후, 모바일 개발 환경은 모듈과 같은 다양한 미리 결정된 어플리케이션 컴포넌트, 및/또는, 선택되고, 커스터마이징되거나, 및/또는 모바일 앱에 포함될 수 있는 테마 및 레이아웃과 같은 어플리케이션 다지안 요소를 표시할 수 있다. 일 실시예에 있어서, 특정 어플리케이션 컴포넌트 또는 디자인 요소를 선택한 후, 개발자는 컨텐츠 요소, 설정, 특징 및 관련 서브 컴포넌트를 포함하여, 선택된 컴포넌트 또는 디자인 요소와 관련된 임의의 옵션을 제시 받고, 그리고, 선택 입력 및 수정할 수 있다. 예를 들면, 앱에 포함되는 특정 미리 결정된 모듈을 선택한 후, 모바일 개발 환경은 선택된 모듈을 위한 이용 가능한 레이아웃 및/또는 선택되거나 또는 수정될 있는 다양한 모듈 속성(properties) 또는 특성을 보여주는 웹 페이지를 표시할 수 있다. 모바일 개발 환경은 텍스트, 이미지, 비디오 등과 같은 어플리케이션 컴포넌트와 관련된 임의의 컨텐츠를 입력 또는 업로드하기 위해 개발자에게 프롬프트할 수 있다.
일 실시에에 있어서, 미리 결정된 어플리케이션 컴포넌트 또는 디자인 요소를 선택하는 것에 추가로, 또는 대신하여, 개발자는, 도 4와 관련되어 설명된 유사한 방식으로 커스텀 컴포넌트를 위한 템플릿을 생성하는 것에 의해, 모바일 앱에 포함시키기 위한 커스텀 컴포넌트 또는 요소를 생성 또는 업로드하는 것이 허용될 수 있다. 일 실시예에 있어서, 개발자는 개발자에 의해 공급되는 임의의 앞서 선택된 컴포넌트, 다지안 요소 또는 컨텐츠 요소를 보고, 수정하고, 및/또는 제거할 수 있다. 도 2와 관련하여 논의된 바와 같이, 모바일 개발 환경은 개발자에 의해 제공된 선택 및 입력에 기초하여 어플리케이션의 현재 상태의 그래픽 표현을 표시하고 업데이트할 수 있다.
일 실시예에 따라, 개발자가 기존의 모바일 어플리케이션을 업데이트하는 것을 원할 때, 모바일 개발 환경은 진행 중인 앱과 같은 개발자가 앞서 성생한 앱의 리스트를 표시하고, 수정 또는 업데이트를 위해 앱을 선택하도록 개발자에게 프롬프트한다. 모바일 개발 환경은 선택된 앱의 현재 상태를 개발자에게 제공할 수 있고, 앞서 설명된 것과 유사한 방식으로 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠 요소 및 다른 데이터를 사용자가 추가, 수정, 커스터마이징, 생성 및/또는 제거하도록 한다. 일 실시예에 있어서, 모바일 개발 플랫폼은 아래에서 더 상세하게 설명될 원격 데이터베이스 서버와 같은, 스토리지 장치로부터 선택된 앱 및 이의 데이터를 리트라이브할 수 있다.
30 단계에서, 모바일 개발 환경은 어플리케이션 개발 프로세스 동안 개발자에 의해 제공되는 임의의 선택, 업데이트 및/또는 입력을 저장한다. 일 실시예에 있어서, 모바일 개발 환경은 원격 어플리케이션 데이터베이스, 로컬 데이터베이스 또는 임의의 다른 적합한 저장 매체에 이 정보를 저장할 수 있다. 이 실시예에 있어서, 모바일 개발 환경은 데이터베이스에 접근할 수 있고, 도 4와 관련되어 설명된 것과 유사한 방식으로 데이터베이스와 이의 테이블의 엔트리 및 그들 상이의 관계를 생성 및/또는 업데이트할 수 있다. 일 실시예에 있어서, 모바일 개발 환경은, 그러한 선택 각각이 이루어지거나 또는 입력이 제공된 후, 개발자의 선택, 입력 및 다른 어플리케이션 데이터를 자동으로 저장할 수 있다. 다른 실시예에 있어서, 모바일 개발 환경은 개발자에게 프롬프팅하거나, 및/또는, 앱을 저장하기 위해 개발자로부터 지시자를 수신한 후, 이 정보를 저장할 수 있다. 또 다른 실시예에 있어서, 정보는, 개발자가 도 2와 관련되어 논의된 바와 같은 어플리케이션 개발 프로세스의 일부 또는 임의의 단계를 완료한 후, 저장될 수 있다. 일 실시예에 있어서, 모바일 개발 환경은 고유 식별자와 같은, 앱과 관련된 추가 정보를 생성 및 저장할 수 있고, 그리고, 로그를 변경한다.
40 단계에서, 모바일 개발 환경은 개발자가 앱을 완성하기에 충분한 정보를 제공받았는지 여부를 판단할 수 있다. 일 실시예에 있어서, 모바일 개발 환경은 개발자가 어플리케이션 개발 프로세스의 어떤 단계 또는 섹션을 완료한 후, 이러한 판단을 할 수 있다. 다른 실시예에 있어서, 모바일 개발 환경은 개발자가 모바일 앱을 완성하거나, 및/또는 배포하도록 원하는 것을 나타낼 때까지, 개발자에게 프롬프트하거나, 및/또는 대기할 수 있다. 만약, 모바일 개발 환경이 개발자가 앱을 완성하기에 충분한 정보를 공급받은 것으로 판단하면, 50 단계에서 모바일 개발 환경은 앱을 완성할 것인지 여부를 나타내도록 개발자에게 프롬프트하고, 만일 그렇다면, 프로세스는 60 단계로 진행한다. 그렇지 않으면, 흐름은 20 단계로 되돌아간다. 여기서, 개발자는 어플리케이션 컴포넌트, 요소 및 컨텐츠를 추가하고, 제거하며, 그리고, 업데이트하는 것에 의해, 어플리케이션을 수정할 수 있다.
개발자가 모바일 어플리케이션이 완성되었음을 나타낸 후, 60 단계에서 모바일 개발 플랫폼은 개발자가 특정 앱이 구동되도록 하는 하나 이상의 모바일 장치 카테고리, 모바일 장치 타입 및/또는 모바일 장치 모델을 선택하도록 프롬프트할 수 있다. 일 실시예에 있어서, 개발자는 앞선 프로세스에서 어플리케이션 속성을 입력될 때와 같이, 모바일 장치 카테고리, 타입 및 모델을 선택할 수 있다. 일 실시예에 따르면, 모바일 개발 환경은 개발자에 의해 선택될 수 있는 이용 가능한 어플리케이션 컴포넌트 또는 디자인 요소를 업데이트하기 위해 선택된 모바일 장치 카테고리, 타입 및 모델을 사용할 수 있다. 다른 실시예에 있어서, 개발자는 앱의 컴파일 이전에 언제라도 타겟 모바일 장치 카테고리, 타입 및 모델을 선택하거나 또는 수정하는 것이 허용될 수 있다.
70 단계에서, 모바일 개발 환경은 구성파일 또는 유사한 데이터와 같은, 어플리케이션을 위한 임의의 레퍼런스 데이터를 생성할 수 있다. 일 실시예에 있어서, 레퍼런스 데이터는 앱의 고유 식별자와 같은 앱과 관련된 기본 정보를 포함할 수 있다. 다른 실시예에 있어서, 레퍼런스 데이터는 어플리케이션의 아이콘 파일 위치, 앱 명칭, 스플래시 이미지 파일 위치, 보안 키, 앱의 런치/실행에 대한 액세스를 위한 웹 어드레스, 또는 앱과 관련된 동일한 및/또는 다른 정보의 임의의 조합과 같은, 추가의 또는 다른 정보를 포함할 수 있다. 또 다른 실시예에 있어서, 레퍼런스 데이터는 앱과 관련된 그리고 앱에 의해 필요한 모든 데이터를 포함할 수 있다.
80 단계에서, 모바일 개발 플랫폼은 선택된 모바일 장치 카테고리, 타입 및/또는 모델을 위한 앱을 빌드 및 컴파일한다. 일 실시예에 있어서, 앱은 모바일 운영체제 및 모바일 장치의 제조사 또는 개발자에 의해 공급되는 임의의 네이티브 컴파일러 및/또는 빌드 도구를 이용하여 컴파일되고 빌드된다. 예를 들면, 모바일 개발은 레퍼런스 데이터를 포함하는 선택된 모바일 장치 카테고리를 위해 쉘(shell) 또는 "빈(empty)" 앱을 빌드하기 위한 그러한 도구를 사용할 수 있다. 아래에서 더 상세하게 설명될 것이지만, 앱이 모바일 장치에 다운로드, 설치 및/또는 런칭될 때, 앱은 앱과 관련된 임의의 데이터에 접근하고 리트라이브하기 위해 레퍼런스 데이터를 이용할 수 있다.
앱이 컴파일된 후, 90 단계에서, 앱은 말단 사용자에게 배포를 위해 디지털 배포 플랫폼으로 제출될 수 있다. 예를 들면, 컴파일된 앱은 선택된 모바일 장치 카테고리, 타입 및/또는 모델과 관련된 하나 이상의 디지털 배포 플랫폼으로 제출된다(예컨대, iOS의 앱 스토어, 안드로이드의 마켓, webOS의 앱 카탈로그). 다른 실시예에 있어서, 디지털 배포 플랫폼이 모바일 개발 환경 또는 개발자의 컴퓨터에 통합되는 것과 같이, 컴파일된 앱은 말단 사용자에게 직접 배포될 수 있다. 일 실시예에 있어서, 개발자는 수동으로 컴파일된 앱을 디지털 배포 플랫폼으로 제출하는 것이 요구될 수도 있다. 다른 실시예에 있어서, 모바일 개발 플랫폼은 앱을 컴파일한 후, 디지털 배포 플랫폼으로 컴파일된 앱을 자동으로 제출할 수 있다. 모바일 개발 플랫폼은 또한 디지털 배포 플랫폼에 의해 요구되는 다른 동작 및 임의의 승인 절차를 관리할 수 있다.
도 3에 도시되고 이 문헌에 설명된 단계들의 순서는 단지 예시적인 것이며, 어플리케이션 컴포넌트를 선택하고, 어플리케이션 및 컴포넌트 속성을 입력하며, 어플리케이션 데이터를 저장하는 것과 같은 다양한 단계들의 순서 또는 조합은 수정되어 수행되거나, 적절하게 또는 개발자 또는 모바일 개발 플랫폼 제공자가 원하는 바에 따라 임의의 순서 또는 조합으로 수행될 수 있다.
그러므로 도 1 내지 도 3과 그와 관련된 설명으로부터 알 수 있는 바와 같이, 이 문헌에 설명된 시스템 및 방법은 비전문가가 사용자 친화, 소프트웨어 도구를 통해 특정 모바일 운영체제 및 모바일 장치에 특정된 특징을 포함하는, 다양한 특징 및 기능을 사용할 수 있는 크로스 플랫폼 모바일 어플리케이션을 빌드하도록 한다. 따라서 하나의 중요한 이득은, 이들 사용자가 컴퓨터 프로그래밍 또는 모바일 운영체제 및 장치에 있어, 기술적 전문지식이 요구되지 않고, 높은 수준의 커스터마이징이 가능하고 고도의 모바일 앱을 디자인, 빌드 및 배포할 수 있도록 한다는 것이다.
모바일 앱 데이터 모델
도 4는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱을 위한 어플리케이션 데이터를 표현하기 위해 사용될 수 있는 예시적인 데이터 모델을 도시하는 블록도이다. 일 실시예에 있어서, 이 문헌에서 설명되고 도시된 모바일 개발 플랫폼 및 대응하는 시스템 및 방법을 통해 모바일 앱을 디자인, 생성, 수정 및 커스터마이징하기 위해 개발자에 의해 사용되는 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠, 설정 및 다른 데이터는 상관적이고 및/또는 계층적인 방식으로 조직되고 저장될 수 있다. 일 실시예에 있어서, 플랫폼을 통해 개발된 앱은 어플리케이션 컴포넌트, 컨텐츠 요소 및/또는 디자인 요소의 세트를 포함하거나, 및/또는 그들 세트에 의해 표현될 수 있고, 그들 각각은, 결국, 하나 이상의 다른 어플리케이션 컴포넌트, 컨텐츠 요소, 및/또는 디자인 요소 등을 포함하거나, 관련될 수 있다. 예를 들면, 각 앱은 앱-타입과 관련될 수 있고, 이는 하나 이상의 모듈을 포함하며, 이들 각각은 결국, 하나 이상의 레이아웃을 포함한다.
일 실시예에 있어서, 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠 요소 및 다른 데이터, 이와 더불어, 그들 상호간의 관계는 관련 데이터베이스와 같은, 데이터베이스에 표현되고 그리고 저장될 수 있다. 다른 실시예에 있어서, 이들 관계 및 어플리케이션 데이터는 테이블, 트리, 링크의 세트 또는 다른 유사한 구조들과 같은, 임의의 다른 적합한 포맷 및/또는 매체에 표현되거나, 및/또는 저장될 수 있다. 관련 방식에서 이 정보를 저장하는 것에 의해, 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱은 어플리케이션의 컴포넌트, 요소 및 다른 데이터 사이의 일련의 관계를 통해 각 앱을 표현하여 간단하게 저장, 리트라이브, 빌드 및 업데이트될 수 있다. 더욱이, 도 4에 도시되고 설명된 아키텍처는 개발자 또는 다른 서드 파티에 의해 생성되거나 또는 커스터마이징되는 새로운 어플리케이션 컴포넌트, 컨텐츠 요소 및 디자인 요소가 모바일 개발 및 배포 플랫폼에 추가되도록 하고, 미래 모바일 앱의 개발에서 개발자에 의해 사용되도록 한다. 아래에서 설명되고 도 4에서 도시되는 특정 데이터 모델 및 대응하는 테이블, 특성 및 관계는 사실상 예시적인 것으로 이해되어야 한다. 따라서 데이터 모델은 이 기술 분야에서 알려진 바와 같은 임의의 다른 적합한 포맷 또는 포맷의 조합으로 표현되고 저장될 수 있고, 및/또는, 테이블, 특성 및 관계는 다양한 다른 테이블, 특성, 관계 또는 다른 유사한 데이터에 의해 대체되거나, 또는 조합될 수 있다.
일 실시예에 있어서, 데이터 모델은 데이터 테이블의 세트를 포함할 수 있고, 이들 각각은 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠 요소 및 앱과 관련된 다른 데이터와 같은, 앱과 관련된 임의의 정보를 표현하고 저장할 수 있다. 도 4에 보인바와 같은, 데이터 모델은 Apps 테이블(220)을 포함할 수 있고, 이 예는 도 1 내지 도 3과 관련되어 도시되고 설명된 웹 기반 모바일 개발 및 배포 서비스 및 환경과 같은, 모바일 개발 플랫폼을 통해 디자인되고 생성된 모바일 앱을 포현한다. Apps 테이블(220)은 Apps 특성(222)와 같은, 각 앱과 관련된 다양한 특성 및 정보를 포함하며, 이는 앱을 위한 고유의 식별자, 앱의 앱-타입의 식별자, 및 앱을 위한 명칭을 포함할 수 있다. 일 실시예에 있어서, 모바일 개발 및 배포 플랫폼을 통해 개발된 각 모바일 앱은 데이터베이스에 저장된 대응하는 테이블에서 열(row) 엔트리와 같은, Apps 테이블(220)의 인스탄스에 의해 표현될 수 있다. 일 실시예에 있어서, Apps 테이블(220)은, 테이블 사이의 수많은 관계를 통해, Apps 테이블(220)로부터 분기되는 다양한 다른 데이터 테이블에 의해 표현되고 저장되는 앱의 어플리케이션 데이터를 가지고, 각 모바일 앱을 위한 헤드 테이블로 서비스된다. 따라서 각 앱과 이의 대응하는 데이터는 Apps 테이블(220)에서 앱의 고유 식별자를 찾는 것에 의해, 손쉽게 리트라이브될 수 있다.
도 4에 보인 바와 같이, 일 실시예에 있어서, 데이터 모델은 AppTypes 테이블(225)을 포함할 수 있고, 이는 각 모바일 앱과 관련된 앱의 타입을 표현한다(예컨대, 잡지 앱, 블로그 앱, 의사 앱, 또는 아래의 섹션에서 나열되고 설명될 예시적인 앱 타입과 같은, 다른 앱 타입). AppTypes 테이블(225)는 AppTypes 특성(227)과 같은, 각 앱 타입과 관련된 다양한 특성을 포함할 수 있다. AppTypes 특성(227)는 고유 식별자 및 각 앱 타입을 위한 명칭을 포함한다. 일 실시예에 있어서, 개발자가 새로운 또는 기존의 앱을 위한 앱 타입을 선택할 때, Apps 테이블(220)에서 앱과 관련된 엔트리가 선택된 앱 타입을 위한 고유 식별자를 포함하도록 수정될 수 있다. 유사하게, 데이터 모델은 AppTheme 테이블(265)을 포함하며, 이는 각 앱과 관련된 테마를 표현한다. AppTheme 테이블(265)은 AppTheme 특성(267)와 같이, 다양한 특성 및 정보를 포함할 수 있다. AppTheme 특성(267)는 앱의 고유 식별자, 테마를 위한 고유 식별자와 더불어, 테마와 관련된 폰트, 폰트 크기 및 폰트 컬러를 포함한다. 일 실시예에 있어서, 각 모바일 앱은 특정 앱 타입 및/또는 테마와 관련될 수 있고, 대응하는 식별자는 Apps 테이블(220)에 저장될 수 있으며, 그렇게 함으로써, Apps 테이블(220), AppTypes 테이블(225) 및 AppTheme 테이블(265) 사이의 관계가 형성된다. 결국, 이는 각 모바일 앱을 위한 앱 타입, 테마 및 그들의 대응하는 특성 및 데이터를 Apps 테이블(220)에 저장된 앱 타입 식별자를 이용하고, AppTheme 테이블(265)의 앱의 식별자를 찾는 것 처럼, 앱의 고유의 식별자를 통해 리트라이브하도록 한다.
일 실시예에 따르면, 데이터 모델은 AppModules 테이블(230)을 포함할 수 있고, 이는 각 앱 내에 포함되는 모듈을 표현하고 및/또는 저장한다. 일 실시예에 있어서, 각 모듈은 모바일 앱 내에 포함된 임의의 특징 또는 기능과 관련될 수 있다. AppModules 테이블(230)은 AppModules 특성(232)와 같은, 각 앱 및 이의 모듈과 관련된 다양한 특성을 포함할 수 있다. AppModules 특성(232)는 앱의 고유 식별자와 더불어 모듈을 위한 고유 식별자, 모듈의 타입을 위한 식별자 및 모듈의 레이아웃을 위한 고유 식별자를 포함한다. 일 실시예에 있어서, 도 4에 보인 바와 같이, 데이터 모델은 ModuleType 특성(257)을 포함하는 ModuleType 테이블(255)을 포함할 수 있고, ModuleType 특성(257)은 모듈 타입을 위한 고유 식별자 및 명칭과 같은, 모듈의 각 타입과 관련된 다양한 특성을 포함할 수 있다. 일 실시예에 있어서, 데이터 모델은 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에서 사용을 위해 이용할 수 있는 다양한 타입의 모듈에 대응하는 복수의 미리 결정된 모듈 테이블을 포함할 수 있다(예컨대, 통화 모듈, 사진 모듈, 비디오 모듈 또는 도 9 내지 도 42와 관련하여 논의되는 예시적인 모듈과 같은, 다른 형식의 모듈). 그리고 이는 옵션, 특징, 기능 및 모듈을 위한 컨텐츠와 같은, 특정 형식의 모듈과 관련된 다양한 특성을 포함한다.
모바일 개발 및 배포 플랫폼을 통해 개발된 각 앱은 (동일거하거나, 다른 타입의 다중 모듈을 포함하는) 복수의 모듈을 포함할 수 있고, 이들 각각은 특정 타입의 모듈과 관련된 테이블을 표현하고 저장할 수 있다. 예를 들면, 도 4에 보인 바와 같이, 데이터 모델은 ModuleContacts 테이블(235), ModulePhotos 테이블(240) 및 ModuleVideos 테이블(245)를 포함할 수 있다. 이들 모듈 테이블 각각은, ModuleContacts 특성(237)에 저장된 통화 모듈 식별자 및 통화 리스트, ModulePhotos 특성(242)에 포함된 포토 모듈 식별자 및 이미지 파일 레퍼런스, 및 VideoModule 특성(247)에 저장된 비디오 모듈 식별자 및 비디오 링크와 같이, 각 타입의 모듈과 관련된 다양한 특성, 컨텐츠 및 다른 데이터를 포함할 수 있다. 일 실시예에 있어서, 각 모듈 테이블은 앱 모듈 식별자를 포함할 수 있고, 앱 모듈 식별자는 앱에서 모듈의 특정 인스탄스를 위한 고유 식별자에 대응하며, AppModules 테이블(230)에 저장된다.
도 2, 도 3 및 도 5와 관련되어 논의된 바와 같이, 각 타입의 모듈은 앱을 통해 말단 사용자에게 제공되는 임의의 특징 및 기능과 관련될 수 있다. 일 실시예에 있어서, 모듈(또는 임의의 다른 어플리케이션 컴포넌트 또는 디자인 요소)와 관련된 소프트웨어 코드 또는 논리는 AppModules 테이블(230)과 같은, 데이터베이스에 저장되거나, 개별 위치에 저장될 수 있고, 이러한 경우, 코드의 위치에 대한 레퍼런스는 테이블에 저장될 수 있다. 일 실시예에 있어서, 일부의 모듈은 텍스트 메시지, GPS 기능, 카메라 등과 같은, 모바일 장치 카테고리 및 타입의 넓은 범위 또는 전체에 걸쳐 공통인 특징 및 기능을 표현할 수 있다. 다른 모듈은 터치스크린 기능 또는 다른 특정 형식의 사용자 입력, 비디오 카메라, 나침반, 자이로스코프 및 다른 센서, 블루투스, 등과 같은, 특정(또는 단지 일부의) 모바일 장치 카테고리, 타입 또는 모델에 특정된 특징 및 기능을 표현할 수 있다. 결과적으로, 일 실시예에 있어서, 모듈 테이블은 모듈이 하나 이상의 모바일 장치 카테고리, 타입 또는 모델로 제한되거나, 관련되는지 여부를 나타내는 하나 이상의 특성을 포함할 수 있다. 아래에서 더 상세하게 설명되겠지만, 일 실시예에 있어서, 모바일 개발 환경은 개발자에 의해 선택된 모바일 장치 카테고리, 타입 또는 모델에 기초하여, 개발자에게 모듈의 특정 타입을 표시할지 여부 및/또는, 개발자가 앱에서 모듈을 선택하고 포함시키도록 할지 여부를 결정하는 데에 있어서, 이들(게다가 다른) 특성을 이용할 수 있다. 예시적인 모듈 그리고 그들과 함께 관련된 특징, 기능 및 컨텐츠는 도 9 내지 도 42와 관련되어 보다 상세하게 설명되고 도시될 수 있다.
일 실시예에 있어서, 각 모듈은 하나 이상의 레이아웃과 관련될 수 있고, 이의 위치, 지향 및 포맷과 같은, 앱 내에서 모듈의 디자인을 표현한다. 예를 들면, 도 4에 보인 바와 같이, 데이터 모델은 Layouts 특성(252)와 같은, 모듈에 대해 이용할 수 있는 레이아웃과 관련된 다양한 특성 및 정보를 포함하는 Layouts 테이블(250)을 포함할 수 있고, 이 Layouts 특성(252)는 AppModules 테이블(230)에 포함된 레이아웃 식별자에 대응하는, 각 레이아웃을 위한 명칭 및 고유 식별자를 포함한다. 이것과 관련하여, 각 앱의 모듈 및 그들 각각의 특성, 컨텐츠, 레이아웃, 소트프웨어 코드 및 모듈에 대응하는 다른 데이터는 AppModules 테이블(230)의 앱의 고유 식별자를 찾는 것에 의해 데이터 모델로부터 손쉽게 리트라이브될 수 있다.
일 실시예에 따르면, 각 앱 타입은 그 앱 타입을 이용하는 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱을 위해 개발자에 의해 선택될 수 있는 모듈 타입의 특정 서브세트와 관련될 수 있다. 예를 들면, 도 4에 보인 바와 같이, 데이터 모델은 AppType-ModuleType 특성(262)를 포함하는 AppType-ModuleType 테이블(260)을 포함할 수 있고, 이 AppType-ModuleType 특성(262)는 앱 타입 식별자 및 모듈 타입 식별자와 같은, 모듈의 각 타입과 관련된 다양한 특성을 포함할 수 있다. AppType 테이블(225) 및 ModuleType 테이블(255)에서 앱 타입 및 모듈 타입 식별자에 대응하는 AppType-ModuleType 테이블(260)의 식별자를 포함하는 것에 의해, 특정 앱 타입 용으로 이용할 수 있거나, 및/또는 특정 앱 타입과 관련된 모듈의 타입들은 AppType-ModuleType 테이블(260)에 질의하는 것에 의해 빠르게 결정될 수 있다. 예를 들면, 일 실시예에 있어서, 개발자가 웹 기반 서비스를 통해 모바일 개발 서비스에 접근하는 것과 같이, 새로운 모바일 앱을 위한 앱 타입을 선택(또는 기존의 앱의 앱 타입을 수정)한 후, 서비스는 AppType-ModuleType 테이블(260)에서 선택된 앱 타입을 위해 이용 가능한 모듈을 찾을 수 있고, 개발자에게 그들을 제공할 수 있다. 따라서 일 실시예에 있어서, 특정 타입의 모듈이 복수의 다른 앱 타입을 사용하기 위해 이용할 수 있을 때, 각 앱 타입은 그 앱 타입을 이용하여 모바일 앱을 개발한 사용자에 의해 사용될 수 있는 개별 세트의 모듈 타입을 가진다. 아래에서 더욱 상세하게 설명될 것이지만, 일 실시예에 있어서, 개발자는 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 사용되는, 새로운 앱 타입을 생성하거나, 기존의 앱 타입을 커스터마이징하기 위한 옵션이 주어질 수 있다. 일 실시예에 따르면, 개발자는 새로이 생성된 앱 타입과 관련된 모듈 타입의 세트를 선택 및/또는 수정하는 것에 의해, 부분적으로, 새로운 앱 타입을 생성하거나 또는 커스터마이징할 수 있다.
데이터 모델은 각 모델 앱과 관련된 특성 및 다른 정보를 포함하는 다른 데이터 테이블을 포함할 수 있다. 도 4에 보인 바와 같이, 데이터 모델은 앱의 카테고리과 관련된 임의의 특성을 포함하는 AppCategory 특성(272)를 포함하는 AppCategory 테이블(270)을 포함할 수 있다. 이 정보는 카테고리 또는 임의의 디지털 배포 플랫폼에 사용되는 앱에 속하는 카테고리를 기반으로 할 수 있다. 일 실시예에 있어서, 개발자는 앱을 위해 선택된 모바일 장치 카테고리, 타입 또는 모델에 기초하여 하나 이상의 앱 카테고리를 선택하도록 제시받고, 프롬프트될 수 있다. 예를 들면, 개발자가 앱이 iOS 또는 안드로이드 모바일 운영체제를 이용하여 모바일 장치를 운영하도록 하는 것을 나타내면, 개발자는 책, 여행, 비즈니스, 집, 등과 같은, iOS의 앱스토어 또는 안드로이드의 마켓에 의해 제공되는 미리 결정된 앱 카테고리들 중 하나를 선택하도록 프롬프트될 수 있다.
도 4에 보인 바와 같이, 데이터 모델은 AppDevices 특성(277)를 포함하는 AppDevices 테이블(275)을 포함할 수 있고, 이 AppDevices 특성(277)는 앱이 관련된 모바일 장치 타입 및/또는 모바일 장치 카테고리와 연관된 임의의 특성을 저장한다. 예를 들면, 임의의 특성은 모바일 운영체제의 타입(예컨대, iOS 또는 안드로이드) 또는 앱이 그 상에서 운영되도록 하는 장치의 타입(예컨대, 태블릿, 스마트폰)과 연관된 개발자의 선택을 포함할 수 있다. 데이터 모델은 AppUpdate/Launch 특성(282)를 포함하는 AppUpdate/Launch 테이블(280)을 포함할 수 있다. AppUpdate/Launch 특성(282)는 도 4에 도시된 바와 같이, 말단 사용자에 의한 사용 및/또는 앱의 상태와 연관된 임의의 정보 및 데이터를 저장한다. 아래에서 도 5와 관련하여 더욱 상세하게 논의될 것이지만, 일 실시예에 있어서, 이 테이블은, 각 업데이트가 발생될 때, 및/또는 특정 말단 사용자가 각 업데이트와 관련되었을 때, 런칭되거나 업데이트되는 시간의 수와 같이, 앱을 위한 다양한 통계의 트랙을 유지하기 위해 사용될 수 있다.
일 실시예에 있어서, 데이터 모델은 도 1 내지 도 3과 관련하여 도시되고 설명된 웹 기반 서비스 및/또는 모바일 개발 환경을 통해, 개발자에 의해 모바일 앱의 디자인, 생성 및 수정을 가능하게 하도록 모바일 개발 및 배포 플랫폼과 관련하여 사용될 수 있다. 일 실시예에 있어서, 데이터 모델은 모바일 개발 환경을 통해 개발된 각 앱과 연관된 임의의 데이터를 제공 및 저장하는 데에 사용되는 하나 이상의 데이터베이스를 위한 근거로 사용될 수 있다. 데이터베이스는 하나 이상의 서버들에 의해 호스팅되며, 이들은, 일 실시예에서, 도 1에 보인 바와 같이, 하나 이상의 개별 서버들(예컨대, 데이터베이스 서버(210)) 또는 모바일 개발 환경을 호스팅하는 서버(들)(예컨대, 서버(200))와 통합될 수 있다.
일 실시예에 따르면, 모바일 개발 환경 및/또는 웹 기반 서비스는 모바일 앱 생성 및 수정 프로세스 동안 개발자에 의해 만들어진 (더불어 개발자에 의해 데이터 입력 및/또는 업로드된) 임의의 선택을 저장하기 위해 접속될 수 있다. 예를 들면, 개발자가 새로운 앱을 생성할 때, 모바일 개발 환경은 Apps 테이블(220)과 같은 데이터베이스의 새로운 엔트리를 생성할 수 있다. 마찬가지로, 앱을 위한 다양한 어플리케이션 컴포넌트, 컨텐츠 요소 및/또는 디자인 요소를 선택하고 수정하는 것에 대응하여, 모바일 개발 환경은 데이터베이스에서 새로운 엔트리를 생성하고, 기존의 엔트리를 업데이트할 수 있고, 및/또는 데이터베이스 엔트리 사이의 관계를 형성할 수 있다.
일 실시예에 있어서, 모바일 앱이 컴파일되고 말단 사용자에게 배포될 때, 데이터베이스는 모바일 개발 플랫폼 및/또는 환경에 의해 사용될 수 있다. 앞서 도 3과 관련하여 보다 상세하게 설명된 바와 같이, 개발자가 앱을 생성 및/또는 수정하는 것을 마친 후, 모바일 개발 환경은 하나 이상의 모바일 장치 카테고리를 위해 앱을 컴파일 할 수 있고, 및/또는 서드 파티 디지털 배포 플랫폼을 통하는 방식으로, 컴파일된 앱을 말단 사용자에게 배포할 수 있다. 일 실시예에 있어서, 컴파일된 앱은 앱에 의해 요구되거나, 관련된 모든 데이터를 포함하지 않을 수 있다. 대신, 컴파일된 앱은 앱을 위한 고유 식별자 및/또는 앱을 위한 구성파일 또는 다른 기본 정보를 단순하게 포함할 수 있다. 일 실시예에 있어서, 이 정보는 데이터베이스를 기반으로 하거나, 이용하여 컴파일될 수 있다. 예를 들면, 컴파일 프로세스의 일부로, 데이터베이스는 구성파일에 포함될 수 있는, 앱과 관련된 임의의 특성 및 관계를 리트라이브하도록 질의를 받을 수 있다. 말단 사용자에 의한 다운로드, 인스톨 및/또는 런칭(런치)된 후에, 컴파일된 앱은 앱에 대응하는 데이터베이스로부터 어플리케이션 데이터에 접근하기 위해 이 정보를 사용할 수 있다. 일 실시예에 있어서, 도 5와 관련하여 더 상세하게 설명될 것이지만, 모바일 장치에 이미 설치된 모바일 앱은 앱이 런칭될 때마다, 새로운 어플리케이션 데이터 또는 컨텐츠를 위한 데이터베이스를 검사하는 방식으로, 유사한 프로세스를 통해 업데이트될 수 있다.
또한, 데이터베이스 및/또는 데이터 모델은 대안적으로, 모바일 개발 환경이 웹 기반(또는 소프트웨어 기반) 그래픽 인터페이스의 형식으로 제공되는 경우와 같은, 일 실시예에서 상기 모바일 개발 환경을 통해 개발자에 의하여 모바일 앱의 디자인, 생성 및 수정이 가능하게 되도록 사용될 수 있다. 일 실시예에 있어서, 모바일 개발 환경은 개발자에게 다양한 미리 결정된 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠 요소 및 모바일 앱과 관련된 다른 정보를 리트라이브 및 표시하기 위해, 데이터베이스에 접근할 수 있다. 예를 들면, 개발자가 새로운 앱을 생성할 때, 모바일 개발 환경은 미리 결정된 앱 타입 및/또는 데이터베이스에 현재 저장된 테마를 리트라이브하도록 데이터베이스에 질의하고, 이들 앱 타입 및/또는 테마를 개발자에 제공하며, 그리고, 개발자가 브라우징하여 특정 앱 타입 및/또는 새로운 앱을 위한 테마를 선택하도록 할 수 있다. 다른 예로, 개발자가 앱을 위한 특정 앱 타입을 선택한 후, 모바일 개발 환경은 선택된 앱 타입에 기초하여, 앱에 포함될 수 있는 모든 타입의 모듈을 리트라이브하고 표시할 수 있도록 데이터베이스에 질의할 수 있다. 또 다른 예로, 모바일 개발 환경은 데이터베이스를 개발자에 의해 선택될 수 있는 이용 가능한 모바일 장치 카테고리 및/또는 모바일 장치 타입을 리트라이브하고, 표시하기 위하여 데이터베이스에 접속할 수 있다.
일 실시예에 있어서, 모바일 개발 플랫폼은 플랫폼을 통해 개발된 모바일 어플리케이션을 사용하기 위한 커스텀 템플릿 또는 다른 컴포넌트를 생성하기 위한 능력을 개발자에게 제공할 수 있다. 일 실시예에 있어서, 개발자는 "빈(blank)" 템플릿으로 시작하고, 및/또는 커스텀 템플릿과 관련된 또는 포함될 수 있는 다양한 옵션, 설정, 레이아웃, 테마, 컨텐츠, 특징 또는 기능을 제공하는 것과 같은 방식으로, 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠 요소 또는 다른 어플리케이션 데이터의 생성과 관련된 다양한 단계를 통해 안내될 수 있다. 개발자는 다양한 미리 결정된 서브 컴포넌트, 컨텐츠 요소 및 다지안 요소로부터 선택될 수 있고, 및/또는 컴스텀 템플릿을 이용하여 디자인되고 개발된 모바일 어플리케이션 내에 포함될 수 있는 새로운 서브 컴포넌트, 컨텐츠 요소 및 디자인 요소를 생성할 수 있다.
예를 들면, 모바일 개발 환경에 접속하고, 새로운 앱을 생성한 후, 미리 결정된 앱 타입을 선택하는 것을 대신하거나, 또는, 추가로, 개발자에게는 새로운 앱에 사용하기 위한 새로운 커스텀 앱 타입을 생성하기 위한 옵션이 주어질 수 있다. 그런 다음, 개발자는 임의의 옵션, 설정 및, 명칭, 스플래시 이미지, 아이콘 및 관련 모듈과 같은, 커스텀 앱 타입을 위한 특성을 선택, 입력 및/또는 수정할 수 있다. 유사하게, 커스텀 앱 타입과 관련되도록(또는 새로운 또는 기존의 앱에 포함되도록) 모듈을 선택하는 데에 있어, 개발자는 임의의 미리 결정된 모듈 중에서 선택 및/또는 하나 이상의 커스텀 모듈을 생성할 수 있고, 이러한 경우, 개발자는 명칭, 타입, 하나 이상의 레이아웃, 기능 및 관련 컨텐츠와 같은, 모듈을 위한 다양한 옵션을 선택하고 입력할 수 있다. 다른 예로, 개발자는 폰트 타입, 크기 및 컬러, 백그라운드, 위치, 방향 등과 같은, 다양한 디자인 특성 및 설정을 선택하는 것에 의해 모듈을 위한 커스텀 레이아웃 또는 앱을 위한 커스텀 테마를 생성할 수 있다.
일 실시예에 있어서, 데이터 모델 및/또는 관련 데이터베이스(들)은 플랫폼을 통해 개발된 모바일 앱에서 사용을 위해 개발자들에 의해서 커스텀 어플리케이션 컴포넌트, 디자인 요소 또는 다른 데이터의 생성 및 수정이 가능하게 되도록 모바일 개발 플랫폼에 의해 사용될 수 있다. 개발자가 컴포넌트, 컨텐츠 요소 또는 디자인 요소를 위한 커스텀 템플릿을 생성하기 위한 옵션을 선택할 때, 모바일 개발 환경은 커스터마이징된 어플리케이션 컴포넌트 또는 디자인 요소를 생성하기 위해 개발자에 의해 선택, 입력 및/또는 조합될 수 있는 관련 특성, 설정, 컨텐츠 및 서브 컴포넌트를 리트라이브하기 위해 데이터베이스에 질의할 수 있다.
일 실시예에 있어서, 커스텀 템플릿은 데이터베이스 및/또는 관련된 데이터 모델에 이를 저장하는 방식으로, 모바일 개발 플랫폼에 의해 서비스될 수 있다. 커스텀 템플릿은 개발자 및/또는 다른 개발자에 의해 미래의 앱에서 사용을 위한 용도로 이용될 수 있다. 예를 들면, 개발자가 앱 타입을 생성할 때, 모바일 개발 플랫폼은 AppType 테이블(220)과 같이, 데이터베이스에서 새로운 엔트리를 생성할 수 있다. 이 앱 타입은 이용할 수 있는 미리 결정된 앱 타입 중 하나로 플랫폼을 통해 새로운 앱을 생성하는 개발자에게 자동으로 로드되고 제공될 수 있다. 일 실시예에 있어서, 서드 파티 개발자 또는 제조사는 모바일 앱을 위한 관련 모듈 로직을 가지는 모듈과 같은, 커스텀 컴포넌트 또는 디자인 요소를 생성하도록 허용되고, 이 커스텀 모듈이 모바일 개발 및 배포 플랫폼을 통해 모바일 앱의 생성에 개발자 및 사용자가 이용할 수 있도록 만들 수 있다.
도 4 및 위에서의 대응하는 설명에서 볼 수 있는 바와 같이, 어플리케이션 데이터 및 이 방식의 모바일 앱과 관련된 다른 정보를 저장하는 것과 관련되어 많은 수의 이득이 있다. 그러한 이득 중 하나로, 이는 개별적인 각각의 앱을 위한 대응하는 소프트웨어 코드, 어플리케이션 논리 및 설정을 저장할 필요 없이, 데이터베이스의 엔트리와 같은, 단순화된 폼에 저장하고 표현하도록 한다. 다른 이득은 어플리케이션 컴포넌트, 디자인 요소, 컨텐츠 요소 및 다른 설정 및 어플리케이션 데이터의 새로운 타입은 모바일 개발 플랫폼에 (모바일 개발 플랫폼에서 수정된 기존의 것에) 손쉽게 추가될 수 있고, 데이터베이스 및/또는 대응하는 데이터 모델에 엔트리들을 단순하게 추가 및/또는 수정하여, 개발자에 의해 사용될 수 있다. 이들 새로운 또는 업데이트된 컴포넌트, 디자인 요소, 컨텐츠 요소 및 다른 데이터는 개발자에게 자동으로 제공되고, 그들의 모바일 앱에서 개발자에 의해 사용될 수 있다. 앞서 설명된 데이터 모델과 관련된 또 다른 이득은 미리 정의된 컴포넌트 및 디자인 요소를 선택, 수정 및 조합하는 것과 더불어, 어플리케이션 컴포넌트 컨텐츠 요소 및 디자인 요소를 위한 커스텀 템플릿을 생성 및 저장하는 것에 의해 개발자가 고수준의 커스터마이징이 가능한 앱을 생성하도록 하는 것이다. 결국, 이는 개발자가 새로운 컴포넌트, 컨텐츠 요소, 디자인 요소 및 다른 개발자에 의해 생성되고 및/또는 커스터마이징된 다른 데이터를 이용하도록 하여, 개발자에게 확장 가능하고 지속적으로 발전하는 개발 환경을 제공한다.
앱 실행 및 업데이트 프로세스
도 5는 일 실시예에 따라 도 1 내지 도 4와 관련되어 도시되고 설명된 바와 같은 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 어플리케이션 실행과 관련되어 사용될 수 있는 프로세스의 흐름도이다. 410 단계에서, 말단 사용자는 모바일 장치의 모바일 운영체제와 연관된 디지털 배포 플랫폼으로부터 앱을 다운로드 하거나, 모바일 개발 환경과 관련된 하나 이상의 서버 또는 개발자에 의해 호스팅되고 운영되는 서버로부터 직접 앱을 다운로드 하는 방식으로, 말단 사용자의 모바일 장치로 모바일 개발 플랫폼을 통해 개발된 모바일 앱을 다운로드할 수 있다. 예를 들면, 말단 사용자는 도 1에 도시된 바와 같이 네트워크(500)을 통해 디지털 배포 플랫폼(300)으로부터 모바일 장치(400)으로 모바일 앱을 다운로드할 수 있다.
말단 사용자가 모바일 앱을 런칭할 때, 415 단계에서 앱은 처음 앱이 모바일 장치에서 실행되는 것인지 여부를 판단한다. 만일 그렇다면, 프로세스는 420 단계로 진행하고, 그렇지 않으면, 417 단계에서 앱은 어플리케이션에 의해 필요하거나, 및/또는 어플리케이션에 관련된 임의의 데이터가 모바일 장치에 그 안에 저장되었는지 여부를 판단한다(예컨대, 캐시되었는지(cached) 판단한다). 만약, 앱을 위해 캐시된 데이터가 존재하면, 앱은 캐시된 데이터가 여전히 유지되고 있고 앱에 의해 사용될 수 있는지 여부를 판단할 수 있다. 예를 들면, 모바일 앱은 캐시된 어플리케이션 데이터가 업데이트가 필요한지 여부(예컨대, 서버에 호스팅된 어플리케이션 데이터는 모바일 장치에 다운로드되고 저장된 이래로 수정되었는지 여부)를 결정하기 위해 어플리케이션 데이터를 호스팅하는 서버 또는 다른 컴퓨터 시스템에 질의하여 캐시된 어플리케이션 데이터를 계속 사용할수 있는지 여부를 결정할 수 있다.
다른 예로, 모바일 앱은 캐시된 어플리케이션 데이터가 그 앱을 검출하는 것에 기초하여 사용될 수 있는지 여부 및/또는 모바일 장치가 어플리케이션 데이터가 상주하는 서버 또는 시스템에 접근이 불가한지 여부를 판단할 수 있다(예컨대, 모바일 장치가 오프라인이거나 또는 서버 또는 시스템이 이용할 수 없는 경우). 모바일 앱이 캐시된 어플리케이션 데이터가 없거나, 또는 캐시된 어플리케이션 데이터가 제거 및/또는 업데이트된 것으로 판단하면, 프로세스는 420 단계로 진행한다. 그렇지 않으면, 419 단계에서, 모바일 앱은 캐시된 어플리케이션 데이터를 로드하고, 430 단계로 진행한다. 어플리케이션 데이터의 캐싱과 관련된 하나의 중요한 이득은 모바일 개발 플랫폼을 통해 개발된 모바일 어플리케이션이 모바일 장치가 오프라인일 때조차, 여전히 사용될 수 있다는 점이다. 일 실시예에 있어서, 모바일 앱, 모바일 장치 및/또는 말단 사용자는 모바일 장치에서 실행되는 모든 앱을 위한 또는 특정 앱 또는 앱들을 위한, 어플리케이션 데이터의 캐싱을 불가능하게 할 수 있다. 이러한 경우, 417 단계 및 419 단계의 프로세스는 생략될 수 있다.
420 단계에서, 모바일 앱은 데이터를 호스팅하는 서버 또는 시스템으로부터 임의의 어플리케이션 데이터를 요청하고 수신한다. 일 실시예에 있어서, 모바일 어플리케이션은 도 1에 도시된 데이터베이스 서버(210)와 같은, 모바일 개발 플랫폼과 관련된 서버로부터 어플리케이션 데이터를 요청하고 수신할 수 있다. 다른 실시예에 있어서, 어플리케이션 데이터는 개발자에 의해 운영되는 서버로부터 직접 또는 디지털 배포 플랫폼으로부터 요청받고, 수신될 수 있다. 다른 실시예에 있어서, 모바일 앱 및/또는 모바일 서비스는 모바일 개발 플랫폼 및/또는 데이터베이스 서버(210) 양자 모두 또는 어느 하나와 인터페이스하는 하나 이상의 중간 서버로부터 또는 서드 파티 서비스 제공자에 의해 호스팅되고 운영되는 다른 서버로부터 어플리케이션 데이터를 리트라이브할 수 있다.
모바일 앱이 완전한 어플리케이션 데이터 대신, 구성파일과 같은, 레퍼런스 데이터의 형식으로 말단 사용자에 의해 컴파일되고 다운로드되는, 일 실시예에 있어서, 모바일 앱은 관련 어플리케이션 데이터를 리트라이브하기 위해 레퍼런스 데이터를 사용할 수 있다. 일 실시예에 있어서, 모바일 앱은 어플리케이션을 호스팅하는 서버로, 앱 식별자 또는 앱 식별 정보를 전송할 수 있다. 서버는 모바일 장치로 대응하는 어플리케이션 데이터를 찾고, 리트라이브하고 전송하기 위해 이 정보를 이용할 수 있다. 앱 및 이의 데이터가 데이터베이스에 저장되고 및/또는 대응하는 데이터 모델에 의해 표현되는 것과 같은 일 실시예에 있어서, 서버는 데이터베이스 테이블에서 앱 식별자를 앱을 찾고, 도 4와 관련되어 설명된 것과 유사한 방식으로 앱과 관련된 다른 테이블에 대한 관계 또는 링크를 따라, 어플리케이션 데이터를 리트라이브하기 위해 사용할 수 있다.
어플리케이션 데이터는 모바일 앱과 관련되고 및/또는 모바일 장치 상에 앱 및 이의 컨텐츠를 실행하고 표시하는 데에 필요한 임의의 데이터를 포함할 수 있다. 예를 들면, 서버는 앱 타입, 모듈, 컨텐츠, 레이아웃, 테마, 설정 및 모바일 장치에 대한 다른 정보와 같은, 모바일 앱과 관련되거나, 모바일 앱에 포함된 어플리케이션 컴포넌트, 디자인 요소, 특징 및 컨텐츠와 관련된 임의의 데이터를 전송할 수 있다. 전체 어플리케이션이 컴파일되고 모바일 장치에 다운로되고 설치되는 경우와 같은 다른 실시예에 있어서, 모바일 앱은 앞서 설명된 프로세스와 유사한 방식으로 어플리케이션 데이터 및/또는 컨텐츠에 대한 업데이트를 요청하고 수신할 수 있다. 모바일 앱 및/또는 모바일 장치가 서버로부터 어플리케이션 데이터를 수신한 후, 임의의 어플리케이션 데이터를 캐싱하는 것과 같은, 일 실시예에 따르면, 모바일 앱은 모바일 장치의 메모리에 어플리케이션 데이터를 저장할 수 있다.
어플리케이션 데이터를 수신(및/또는 캐싱된 어플리케이션 데이터를 로딩)한 후, 430 단계에서, 모바일 앱은 어플리케이션 컴포넌트, 컨텐츠 요소, 디자인 요소, 기능 및 설정을 어플리케이션에 병합하는 것과 같은 방식으로, 및/또는 어플리케이션의 동작 및 표시를 포맷팅하는(formatting) 방식으로, 모바일 장치 상에 앱을 빌드 및 표시하기 위해 어플리케이션 데이터를 이용할 수 있다. 일 실시예에 있어서, 앱은 앱이 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 디자인되고 개발된 것과 동일하거나 또는 실질적으로 유사한 형식으로 어플리케이션 데이터를 바람직하게 표시할 수 있다. 440 단계에서, 모바일 앱 및/또는 모바일 장치는 어플리케이션 데이터가 버튼 외형 또는 다중 터치 제스처 기능과 같이, 앱이 실행되고 있는 모바일 장치 또는 모바일 운영체제의 타입에 특정된 특징 및/또는 기능에 따라 하나 이상의 모듈 또는 다른 컴포넌트를 포함하는지 여부를 결정할 수 있다. 만일 그렇다면, 450 단계에서, 모바일 앱은 모바일 운영체제 내에서 장치에 특정된 특징 및 기능을 호출할 수 있다. 그렇지 않으면, 프로세스는 460 단계로 진행하고 모바일 앱 및 이의 컨텐츠는 말단 사용자에게 표시될 수 있다.
이 문헌에 설명된 시스템 및 방법은 말단 사용자의 모바일 장치에서 모바일 앱이 다운로드, 설치 및/또는 런칭될 때, 즉시, 모바일 앱을 구성, 포맷 및/또는 업데이트하도록 한다. 따라서 중요한 이점은 개발자가 어플리케이션 데이터가 모바일 앱 및/또는 모바일 장치에 의해 호스팅되고 접속되는 서버 또는 다른 시스템 상에 관련된 정보 및 어플리케이션의 버전을 간단하게 수정하여 모바일 개발 플랫픔을 통해 개발된 모바일 앱을 손쉽게 업데이트할 수 있다. 예를 들면, 앞서 논의된 바와 같이, 앱이 런칭될 때, 앱이 최신 어플리케이션 데이터에 대해 서버에 질의할 수 있다. 따라서 개발자가 어플리케이션 데이터를 업데이트한 후, 앱이 처음 런칭될 때, 앱은 업데이트된 데이터를 자동으로 리트라이브하여 사용할 수 있다. 결국, 이는 업데이트를 수동으로 다운로드 하거나 및/또는 업데이트된 어플리케이션 데이터를 수신하기 위해 디지털 배포 플랫폼에 접속하도록 말단 사용자에게 요구함이 없이 모바일 앱이 말단 사용자에 의해 즉시 실행될 있도록 업데이트되게 한다. 그러므로 관련 서버에 저장된 정보를 업데이트하는 것에 의해, 말단 사용자의 모바일 장치에서 실행되는 앱의 컴포넌트, 디자인, 기능, 특징 및 컨텐츠 요소는 앱이 실행되자마자 업데이트된다.
모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱이 데이터베이스에 저장되고 데이터 모델에 의해 표현되는 것과 같은 일 실시예에 있어서, 플랫폼은 말단 사용자에 의해 앱의 사용과 관련된 임의의 정보를 저장 및/또는 말단 사용자들 및 그들의 모바일 장치에 의해 어플리케이션 데이터에 대한 접속 및 업데이트를 할 수 있다. 예를 들면, 도 4와 관련하여 앞서 설명된 바와 같이, 데이터 모델은 플랫폼을 통해 개발된 모바일 앱을 위한 어플리케이션 데이터를 리트라이브 또는 업데이트하도록 모바일 개발 및 배포 플랫폼(및/또는 이의 관련 데이터베이스 서버)에 접근하는 말단 사용자 및/또는 말단 사용자의 모바일 장치에 대응하여 임의의 데이터를 저장하는 하나 이상의 테이블을 포함할 수 있다. 일 실시예에 있어서, 이 정보는 모바일 장치, 실행되고 및/또는 업데이트되는 모바일 앱, 모바일 장치의 위치 및/또는 요청된 어플리케이션 데이터를 위한 고유 식별자를 포함할 수 있다. 일 실시예에 있어서, 이 정보는 모바일 앱이 말단 사용자에 의해 실행되는 때마다, 모바일 개발 및 배포 플랫폼에 의해 저장될 수 있다. 다른 실시예에 있어서, 이 정보는 캐싱된 어플리케이션 데이터를 업데이트 및/또는 광고를 포함하는 어플리케이션 데이터 또는 부가 컨텐츠를 리트라이브하는 것과 같이, 모바일 앱 및/또는 모바일 장치가 모바일 개발 및 배포 플랫폼에 접속된 때, 저장될 수 있다.
부가 컨텐츠
일 실시예에 있어서, 광고 및 통지와 같은, 임의의 추가 또는 부가 컨텐츠 또는 다른 데이터는 모바일 개발 및 배포 플랫폼을 통해 개발되고 배포된 모바일 앱에 포함되거나 삽입될 수 있다. 예를 들면, 모바일 개발 및 배포 플랫폼은 광고가 모바일 앱에 삽입되도록 할 수 있다. 일 실시예에 있어서, 광고가 모바일 앱 내에 포함되어야 하는지 여부에 관한 결정은 모바일 개발 및 배포 플랫폼의 제공자 및/또는 운영자에 의해 단독으로 결정될 수 있다. 일 실시예에 있어서, 모바일 개발 플랫폼은 모바일 개발 플랫폼을 통해 개발된 일부 또는 전부의 앱에 자동으로 광고를 삽입한다. 대안적으로 또는 추가로 개발자에게는 모바일 앱의 개발 후 및/또는 개발하는 동안 광고를 삽입할지 여부를 선택하는 옵션이 주어질 수 있다. 개발자가 광고 또는 다른 부가 컨텐츠를 앱에 통합하도록 선택하면, 개발자는 광고의 타입, 앱 내의 광고의 배치, 얼마나 자주 광고를 업데이트할지 그리고 언제 광고를 앱을 실행하는 말단 사용자에게 제공할지와 같은, 광고와 관련된 다양한 속성을 커스터마이징하기 위한 옵션이 주어질 수 있다.
광고 네트워크/플랫폼 및 모바일 개발 및 배포 플랫폼을 통해 생성된 모바일 앱으로의 광고 및 다른 부가 컨텐츠의 전달은 개발자 또는 서드 파티 광고 제공자에 의해 호스팅되는 서버에 의해, 또는 모바일 개발 및 배포 플랫폼에 대한 접근을 제공하는 서버와 관련되거나 또는 병합된 서버 또는 시스템에 의해 제공될 수 있다. 일 실시예에 있어서, 광고 또는 다른 부가 컨텐츠는 도 1에 도시된 데이터베이스 서버(210)와 같은, 서버에 의해 호스팅되는 어플리케이션 데이터로 포함될 수 있다. 그 다음, 모바일 앱은 앞서 도 5와 관련되어 논의된 어플리케이션 데이터의 리트라이브와 유사한 방식으로 광고를 리트라이브할 수 있다. 다른 실시예에 있어서, 광고는 모바일 앱에 서버의 위치에 대한 레퍼런스를 포함시키는 방식으로, 개별 광고 서버로부터 리트라이브될 수 있다. 일 실시예에 있어서, 광고는 리트라이브되고, 실행되면 앱에 병합될 수 있다. 일 실시예에 있어서, 광고는 앱이 런칭될 때 마다, 앱이 실행되는 동안 및/또는 임의의 미리 결정된 간격으로, 업데이트, 대체 또는 수정될 수 있다. 일 실시예에 있어서, 앱은 모바일 장치가 오프라인일 때, 말단 사용자에게 표시를 위한, 임의의 광고를 저장(캐싱, cache)할 수 있다.
앱에 삽입되는 광고 또는 다른 부가 컨텐츠는 어플리케이션의 타입, 컴포넌트 또는 컨텐츠, 말단 사용자에 대한 결합된 인구통계학 데이터, 개발자에 의해 만들어진 선택 또는 입력, 및/또는 그래픽 또는 시간 정보와 같은, 앱 및/또는 말단 사용자와 관련된 다양한 특성에 기초할 수 있다. 일 실시예에 있어서, 광고는 예컨대, 앱에 포함된 임의의 컨텐츠 요소 내에 또는 그 위에, 광고를 표시하는 방식, 또는, 말단 사용자가 광고를 최소화하거나 숨길 수 있게 하는 방식과 같이, 비방해 방식으로 말단 사용자에게 제공될 수 있다. 대안적으로, 또는, 추가로, 광고는 일시적으로 또는 앱 실행의 임의의 단계 동안 표시될 수 있다.
다른 예로써, 모바일 개발 및 배포 플랫폼은 개발자에 의해 개발되고 배포된 하나 이상의 앱을 다운로드한 사용자와 같이, 모바일 장치 사용자에게 개발자가 통지를 전송하도록 할 수 있다. 모바일 개발 서비스가 웹 기반 서비스를 통해 제공되는 것과 같은 일 실시예에 있어서, 개발자에게는 모바일 개발 및 배포 플랫폼을 통해 개발자가 생성한 (또는 생성하는 프로세스에 있는) 모든 앱을 표시하는 웹 페이지를 볼 수 있는 옵션이 주어질 수 있다. 따라서, 각 개발자는 개발자와 관련된 한 세트의 앱을 가질 수 있다. 일 실시예에 있어서, 이 어플리케이션 세트는 앞서 도 4와 관련하여 설명된 유사한 방식으로, 데이터베이스 서버(210)과 같은, 데이터베이스에 저장될 수 있다.
일 실시예에 있어서, 모바일 개발 및 배포 플랫폼은 개발자가 통지를 생성하고, 수정하며 그리고 말단 사용자에게 전송하도록 하며, 및/또는 그러한 통지를 관리하고, 리트라이브하며 그리고 표시하는 임무를 수행하는 통지 관리자를 포함할 수 있다. 예를 들면, 일 실시예에 있어서, 개발자는 모바일 개발 플랫폼을 통해 개발자에 의해 개발된 특정 앱에 관계된 통지를 생성할 수 있다. 다른 예로, 개발자는 개발자에 의해 생성된 새로운 앱과 관련된 통지를 생성할 수 있다. 일 실시예에 있어서, 통지 관리자는 개발자가 통지와 관련된 임의의 특징, 컨텐츠 및 옵션을 입력하고, 업로드하며, 생성하고 그리고 커스터마이징하도록 할 수 있다. 예를 들면, 개발자는 통지를 수신하기 위한 말단 사용자의 설정과 더불어, 각 통지를 위한 날짜, 시간 및 표준시간대(time zone)를 설정하도록 요구될 수 있다. 일 실시예에 있어서, 통지 관리자는 선택된 날짜가 허용되는지 여부(예컨대, 과거에)여부를 검사할 수 있다. 일 실시예에 있어서, 통지는 개발자에 의해 개발된 하나 이상의 모바일 앱을 다운로드하고 설치한 말단 사용자에게 자동으로 전달될 수 있다. 대안적으로 또는 추가적으로, 개발자는 통지를 수신할 특정 앱 또는 말단 사용자, 또는 그룹의 앱 또는 말단 사용자를 선택할 수 있다. 일 실시예에 있어서, 개발자는 푸시 통지, 말단 사용자의 장치의 GPS 위치에 기반한 통지, 또는 통지의 임의의 다른 적합한 형식과 같은, 말단 사용자에게 전송되는 통지의 형식을 선택할 수 있다.
도 6은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 통지를 보여주고, 생성하며, 및/또는 수정하기 위한 프로세스의 흐름도이다. 웹 기반 서비스를 통해 모바일 개발 및 배포 플랫폼에 접속하고, 통지를 관리하기 위한 옵션을 선택한 후, 150 단계에서 개발자는 통지 관리자를 제공 받을 수 있다. 일 실시예에 있어서, 통지 관리자는 도 2 및 도 3과 관련되어 설명된 것과 유사한 방식으로 하나 이상의 웹 페이지를 통해 개발자에게 주어질 수 있다. 151 단계에서, 판단은 개발자가 통지 관리자를 통해 개발자에 의해 이전에 생성된 통지에 접속하고 그 통지를 보기를 원하는지에 여부에 관해 이루어진다. 예를 들면, 개발자는 이전 통지를 보기 위해 버튼 또는 링크를 클릭할 수 있다. 일 실시예에 있어서, 각 개발자에 의해 생성된 통지는 도 1에 보인 바와 같은 데이터베이스(200)과 같은, 모바일 개발 및 배포 플랫폼에 의해 저장될 수 있다. 개발자가 이전의 통지를 보기를 원하지 않으면, 흐름은 154 단계로 진행된다. 그렇지 않으면, 개발자의 이전 통지의 리스트가 152 단계에서 표시된다. 153 단계에서, 개발자는 날짜 범위, 앱 식별자 등과 같은, 다양한 기준을 선택 및/또는 입력할 수 있고, 그 기준은 이전 통지를 필터링하고 개발자에게 표시된 리스트를 업데이트하는 데에 사용된다. 일 실시예에 있어서, 개발자는 리스트로부터 특정 통지를 선택할 수 있고, 그러한 경우 선택된 통지는 개발자에게 표시된다.
154 단계에서, 판단은 개발자가 새로운 통지를 생성하는 것을 원하는지 또는 기존의 통지를 편집하는 것을 원하는지 여부에 관련되어 이루어진다. 예를 들면, 개발자는 새로운 통지를 생성하기 위해 통지 관리자를 통해 표시된 버튼을 클릭할 수 있다. 마찬가지로, 개발자는 그 통지를 편집하기 위해 이전의 특정 통지의 표시와 관련된 버튼을 클릭할 수 있다. 개발자가 새로운 통지를 생성하거나, 기존의 통지를 편집하는 것을 선택하면, 155 단계에서, 개발자는 통지를 위한 메시지, 날짜/시간 및 표준시간대와 같은, 통지와 관련된 다양한 옵션을 선택 및/또는 입력할 수 있다. 이 프로세스는 도 7과 관련하여 아래에서 더 상세하게 도시되고 설명될 것이다. 통지를 생성 및/또는 업데이트한 후, 156 단계에서, 데이터베이스의 엔트리를 생성하거나 업데이트하는 방식으로, 개발자의 선택 및 입력이 저장된다.
도 7은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에게 제공되는 통지 관리자가 표시되는 부분을 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 것과 같은 일 실시예에 있어서, 통지 관리자는 도 2와 관련되어 설명된 것과 유사한 방식으로 웹 페이지 내에서 개발자에게 표시될 수 있다. 도 7에 보인 바와 같이, 통지 관리자는 통지 표시 윈도우(160) 내에 표시되며, 이 통지 표시 윈도우(160)는 개발자가 통지와 관련된 다양한 컨텐츠 및 옵션을 입력 및/또는 선택하도록 하는 입력 형식을 포함할 수 있다. 통지 표시 윈도우는 그것을 통해 개발자가 통지와 관련된 텍스트 기반 메시지를 입력할 수 있도록 하는 통지 메시지 입력 박스(161)를 포함할 수 있다. 일 실시예에 있어서, 개발자는 이미지, 비디오, 오디오 또는 컨텐츠의 다른 형식과 같은, 통지 내에 추가(또는 대안의) 컨텐츠를 포함하도록 할 수 있다. 도 7에 보인 바와 같이, 통지 표시 윈도우(160)는 또한 통지 입력 필드(162)를 포함하며, 이 통지 입력 필드(162)는 통지가 말단 사용자에게 전달되어야만 하는 날짜, 시간 및/또는 표준시간대를 개발자가 설정할 수 있도록 한다.
일 실시예에 있어서, 개발자에게는 매달 또는 매일 기준으로 말단 사용자에게 전달되는 통지와 같은, 반복되는 통지를 생성하기 위한 옵션이 제공될 수 있다. 일 실시예에 있어서, 통지 표시 윈도우(160)는 말단 사용자에게 통지를 저장 및/또는 전송하는 전송 버튼(164) 및 개발자가 개발자에 의해 앞서 전송된 통지를 볼 수 있도록 하는 전송된 메시지 버튼(163)과 같은, 다양한 버튼을 포함할 수 있다. 일 실시예에 있어서, 앞서 설명된 바와 같이 개발자가 이전에 생성한 통지를 선택할 때, 통지 관리자는 통지 표시 윈도우(160) 내의 선택된 통지를 표시 및/또는 선택된 통지와 관련된 데이터베이스로부터 리트라이브되는 데이터를 이용하여 하나 이상의 데이터 필드들(예컨대, 메시지 입력 박스(161) 및/또는 통지 입력 필드(162))을 미리 덧붙일(pre-populate) 수 있다.
예시적인 어플리케이션 컴포넌트
다음은 일 실시예에 따른 모바일 개발 환경을 통해 개발된 모바일 앱 내에 통합되고, 모바일 개발 및 배포 플랫폼을 통해 개발자에게 제공될 수 있는 미리 결정된 어플리케이션 컴포넌트의 임의의 예들을 제공한다. 도 8 내지 도 39에 도시되고 및/또는 아래에서 설명된 특정 어플리케이션 컴포넌트는 현실적으로, 완전하지 않은, 예시적인 것이며, 다양한 다른 어플리케이션 컴포넌트 및 요소가 모바일 개발 플랫폼, 대응하는 방식 및 이 문헌에 설명된 시스템 및 방법과 관련하여 사용될 수 있는 것으로 이해하여야 한다.
앱 타입(AppTypes)
일 실시예에 있어서, 모바일 개발 환경은 모바일 개발 환경을 통해 생성된 앱으로 사용하기 위한 하나 이상의 다음의 미리 결정된 앱 타입을 제공할 수 있다.
■ appRestaurant - 일 실시예에 있어서, appRestaurant 앱 타입은 개발자의 또는 서드 파티의 식당 또는 제품 및/또는 서비스와 관련된 임의의 정보를 제공할 수 있다. 이 템플릿을 이용하는 모바일 어플리케이션은 오늘의 요리, 길 안내, 메뉴, 제안 매뉴 아이템 및 예약과 같은, 다양한 컨텐츠를 포함할 수 있다. 일 실시예에 있어서, 모바일 어플리케이션은 복수의 식당을 위한 이들 및 다른 형식의 정보를 포함할 수 있다. 모바일 앱은 말단 사용자가 식당을 브라우징하고, 및/또는 식당 타입, 요리, 위치 또는 가격과 같은, 다양한 특성에 기초하여 식당을 필터링하도록 할 수 있다.
■ appRealtor - 일 실시예에 있어서, appRealtor 앱 타입은 부동산 중개인이 부동산 중계업소 리스트 및 다른 관련 정보를 실시간으로 말단 사용자에게 제시하도록 제공될 수 있다. 이 템플릿이 포함된 모바일 어플리케이션은 매물 부동산, 부동산 소재지에 대한 길 안내, 호가, 그리고, 부동산의 설명 및/또는 이미지와 같은, 정보를 제공할 수 있고, 모바일 어플리케이션을 통해 부동산 중개인과 연락하고 및/또는 부동산 방문 일정을 스케줄링하도록 할 수 있다. 일 실시예에 있어서, 모바일 어플리케이션은 말단 사용자가 이용 가능한 리스트를 브라우징하도록 하고, 및/또는 부동산 형식, 가격, 위치, 특징 등과 같은, 다양한 특성에 기초한 리스트를 카테고리화하도록 한다.
■ appBook - 일 실시예에 있어서, appRealtor 앱 타입은 개발자가 책 또는 유사한 출판물을 출판하도록 제공될 수 있다. 일 실시예에 있어서, 모바일 어플리케이션은 개발자가 폰트 그리고 페이지의 스타일 및 레이아웃과 같은 다양한 옵션을 수정하고 커스터마이징하도록 하는 방식으로, 모바일 장치를 이용하여 독자를 위해 읽기 쉬운 형식으로 책을 제공할 수 있다. 일 실시예에 있어서, 모바일 어플리케이션은 말단 사용자가 수많은 책에 걸쳐 브라우징하도록 하고, 및/또는 하나 이상의 책을 구매하거나, 및/또는 그들의 모바일 장치로 다운로드 하도록 한다. 이 템플릿은 작가 및 다른 서드 파티가 모바일 장치 사용자에게 디지털 포맷으로 픽션, 논픽션, 참조 문헌 또는 다른 유사한 작품을 배포하도록 할 수 있다.
■ appMagazine - 일 실시예에 있어서, appMagazine 앱 타입은 개발자가 디지털 버전의 잡지, 신문, 팜플릿 또는 다른 주지적인 또는 다른 유사한 출판물을 모바일 마켓에 배포하고 공유하도록 제공될 수 있다. 일 실시예에 있어서, 이러한 출판은 앞서 설명된 appBook 앱 타입과 유사한 방식으로 사용자에게 제공될 수 있다. 일 실시예에 있어서, 앱은 사용자가 하나 이상의 정기간행물을 구독하도록 하고, 및/또는 발표되자마자 정기간행물을 자동으로 다운로드하도록 할 수 있다.
■ appBlog - 일 실시예에 있어서, appBlog 앱 타입은 개발자가 추가 독자들에게 블로그 컨텐츠를 배포하고 공유하도록 제공될 수 있다. 일 실시예에 있어서, 앱은 말단 사용자가 그림, 비디오 및 다른 정보와 같은, 블로그에 다양한 컨텐츠를 업로드하도록 할 수 있다. 일 실시예에 있어서, 앱은 블로그에 추가된 추가 컨텐츠 또는 업데이트를 말단 사용자에게 자동으로 통지할 수 있다.
■ appDoctor - 일 실시예에 있어서, appDoctor 앱 타입은 임의의 병원에 의해 제공되는 서비스를 상세하게 알리고 설명하도록 제공된다. 일 실시예에 있어서, 앱은 그들의 전문성 및 인허가 사항과 같은, 의사에 관한 다양한 정보 및/또는 병원에 대한 작은 의원 내지 종합병원에 의해 제공되는 서비스를 포함할 수 있다. 일 실시예에 있어서, 앱은 의사가 그들의 환자를 진료하도록 하고, 실시간으로 환자로부터 질의에 응답하도록 할 수 있다. 앱은 또한 말단 사용자가 의사 또는 병원의 위치를 찾고 및/또는 앱을 통한 진료 스케줄링을 하도록 도울 수 있다.
■ appMuseum - 일 실시예에 있어서, appMuseum 앱 타입은 하나 이상의 박물관에서 볼 수 있는 아이템 및 전시를 설명하도록 제공될 수 있다. 앱은 임의 전시와 같은, 다른 전시를 광고하고, 특별히 주목할 만한 장소에 대한 길 안내를 제공할 수 있다. 일 실시예에 있어서, 앱은 말단 사용자가 하나 이상의 전시를 통해 가상의 순회를 하도록 하고, 박물관에서 제공되는 말단 사용자를 위한 "자세한 설명(walk-through)" 가이드를 제공하고 상호작용할 수 있다.
■ appLawyer - 일 실시예에 있어서, appLawyer 앱 타입은 변호사가 그들의 서비스에 관한 정보를 제공하도록 제공되며, 이 서비스에 관한 정보는 전문 지식, 경력, 및 비용에 관한 정보를 포함할 수 있다. 일 실시예에 있어서, 앱은 말단 사용자에게 변호사 또는 법률회사의 연락처 정보를 제공하고, 말단 사용자가 변호사 또는 법률회사의 위치를 찾고 연락하도록 하며, 상담 또는 미팅을 스케줄링하고, 및/또는 앱을 가지고 실시간으로 다양한 법률 질문을 묻고 피드백을 받도록 할 수 있다.
■ appAccountant - 일 실시예에 있어서, appAccountant 앱 타입은 회계사, 회계사무소 또는 유사한 단체가 그들의 서비스를 광고하고 설명하도록 제공될 수 있다. 일 실시예에 있어서, 앱은 앞서 appLawyer 앱 타입과 관련하여 설명된 특징 및 정보의 일부 또는 전부를 제공할 수 있다.
앞서 설명된 앱 타입에 추가로, 모바일 개발 및 배포 플랫폼을 통해 모바일 앱을 생성하고 디자인하는 것과 관련하여 개발자에 의해 사용될 수 있는 앱 타입의 다른 예들은 다음과 같은 조직, 직업, 서비스 및/또는 관심사에 대응하는 앱 타입을 포함한다: 기업, 개발자/건설 회사, 부동산 에이전트/브로커, 시공, 난방, 환기 및 공기 정화 (HVAC) 서비스, 교육, 클럽 / 협회, 믿음 기반의 조직, 비영리 단체, 스포츠클럽/리그, 뷰티 & 네일 살롱, 카이로프로텍, 치과 의사, 수의사, 카페/바, 캐터링 서비스, 호텔, 여행사, 일반 제조, 광고 대행사, 아티스트/디자이너, 헤어 살롱 & 뷰티 청소 서비스, 컨설팅 그룹, 핸디/유지 보수 서비스, 보험 서비스, 모델/여자배우/남자배우/연예인, 개인 트레이너/피트니스 코치, 애완동물 케어(애완동물 미용/산책 서비스), 사진 스튜디오, 스파/미용 치료 , 인재 관리 서비스 , 제과점/페스트리 쇼핑, 서점, 패션/의류 상점, 체육관/휘트니스 센터/레크리에이션 스포츠 센터, 자동차/자동차 바디 수리 가게, 자동/자동차 대리점, 택배 서비스, 가족, 웨딩, 요리/레시피, 취미, 모형 제작, 사진, 휴가 및/또는 애완동물.
일 실시예에 있어서, 앞서 설명된 예시적으로 미리 결정된 앱 타입, 및 또는 다른 것들은 모바일 개발 및 배포 플랫폼을 통해 모바일 앱을 디자인하고 생성하는 프로세스 동안 개발자에 의해 선택되고, 수정되며, 그리고 조합될 수 있다. 일 실시예에 있어서, 모바일 개발 환경은 개발자가 다양한 특징, 기능, 설정 및/또는 앱과 관련된 컨텐츠를 선택하고, 추가하며 및/또는 소거하는 것과 같은 방식으로, 이러한 앱 타입의 수많은 측면을 커스터마이징하도록 할 수 있다. 예를 들면, 각 앱 타입은 앱 타입을 이용한 앱에 포함될 수 있는 다양한 특징 및 기능을 표현하는 모듈과 같은, 하나 이상의 다른 컴포넌트와 관련될 수 있다. 다양한 앱 타입과 관련될 수 있는 모듈의 타입의 특정 예시는 아래에서 더욱 상세하게 설명될 것이다.
결과적으로, 이 문헌에 설명된 시스템 및 방법은 사용자 친화적인 소프트웨어 도구를 통해 모바일 앱을 생성하기 위해 다양한 미리 결정된 그리고 사용자가 생성하는 어플리케이션 컴포넌트, 디자인 요소, 특징, 기능 설정 및 컨텐츠를 이들 개발자가 사용, 조합 및 커스터마이징하게 함으로써, 비전문가 및 개발자에게 모바일 앱의 디자인 및 개발과 관련하여 높은 수준의 커스터마이징 가능성을 제공한다. 따라서 하나의 중요한 이득은, 기술적 전문 지식 및 경헙이 부족한 개발자 및 사용자(그리고 다른 개인)가 그럼에도 불구하고, 고도의 모바일 앱의 넓은 부분을 디자인하고, 빌드하며 그리고 배포할 수 있게 한다. 다른 이득은 이들 개발자가 다른 개발자에 의해 이미 생성되고 및/또는 커스터마이징된 다양한 어플리케이션 컴포넌트, 디자인 요소, 특징 및 기능을 이용하고, 그들 자신의 모바일 앱에 병합할 수 있다는 점이다. 그렇게 함으로써, 모바일 앱의 개발과 관련된 시간 및 노력을 줄일 수 있다.
모듈(Modules)
앞서 설명된 바와 같이, 일 실시예에 따르면, 모바일 개발 플랫폼은 개발자에게 개발자가 상기 플랫폼을 통해 개발된 모바일 앱으로 임의의 특징 및 기능을 병합하도록 하거나, 및/또는 그 임의의 특징 및 기능과 관련된 하나 이상의 미리 결정된 모듈 또는 다른 어플리케이션 컴포넌트를 제공한다. 일 실시예에 있어서, 모듈은 하나 이상의 모바일 장치 카테고리, 타입 또는 모델에 특정된 특징 및 기능을 포함할 수 있다. 모듈은 또한 또는 대안적으로, 앱 타입과 같은, 미리 정의된 또는 사용자가 생성한 어플리케이션 컴포넌트의 다른 형식과 관련될 수 있다. 일 실시예에 있어서, 개발자에게 제공되고 상기 플랫폼을 통해 개발된 모바일 앱에 사용할 수 있게 만들어진 미리 정의된 모듈은 타겟 모바일 장치 카테고리, 타입 또는 모델 및 어플리케이션 컴포넌트 및/또는 디자인 요소와 같이, 모바일 앱의 임의의 특징, 및/또는 개발자에 의한 선택에 기초할 수 있다. 도 8 내지 도 42과 대응하는 아래의 상세한 설명은 일 실시예에 따라, 그러한 예시적인 모듈이 선택되고, 커스터마이징되며, 및/또는 개발자에 의해 모바일 앱에 추가되는 프로세스와 마찬가지로, 모바일 개발 및 배포 플랫폼 및 이 문헌에서 설명된 대응하는 시스템 및 방법으로 사용될 수 있는 임의의 예시적인 미리 정의된 모듈을 도시하고 설명한다.
도 8은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 모바일 앱에 모듈을 추가하기 위한 프로세스를 도시하는 흐름도이다. 도 8에 보인 바와 같이, 600 단계에서, 특정 모바일 앱에 포함된 기존 모듈이 개발자에게 제공된다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 것과 같은 일 실시예에 있어서, 모듈은 앞서 도 2 및 도 3과 관련하여 설명된 바와 같이, 앱 생성 및 디자인 프로세스 동안 (또는 개발자가 기존 앱을 편집하는 것을 원할 때) 하나 이상의 웹 페이지를 통해 개발자에게 표시될 수 있다. 601 단계에서 판단은 개발자가 기존 모듈을 편집하기를 원하는지 여부에 관하여 이루어진다. 예를 들면, 개발자는 표시된 리스트에서 기존 모듈 중 하나를 선택(예컨대, 클릭)할 수 있다. 개발자가 편집하기 위해 기존 모듈을 선택하면, 흐름은 A 단계로 진행된다. 여기서, 개발자에게는 도 9 내지 도 42와 연관되어 도시되고 설명될 바와 같이, 선택된 모듈에 기초한 다양한 옵션 및 선택이 제공된다. 그렇지 않으면, 602 단계에서 판단은 개발자가 앱에 새로운 모듈을 추가하기를 원하는지 여부에 대해 이루어진다. 만일 그렇다면, 개발자는 (예컨대, 개발자에게 이용 가능한 모듈의 리스트를 제공하는 것에 의해) 앱에 추가하기 위한 새로운 모듈을 선택하도록 요청 받고, 흐름은 A 단계로 진행된다. 만약, 개발자가 새로운 모듈을 추가하는 것을 원하지 않는다면, 603 단계에서, 개발자에게는 그 또는 그녀가 앱의 컨텐츠를 추가하고 업데이트하는 것을 끝마쳤는지 여부를 나타내도록 프롬프트되어진다.
도 9는 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함시키기 위한 연락 모듈(contacts module)을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 개발자 및/또는 다른 개인들(예컨대, 앱이 개발되어진 서드 파티)과 관련된 임의의 연락 정보를 말단 사용자에게 제공하는 것과 같은 방식으로, 그들의 앱에 연락 모듈을 포함할 수 있다. 일 실시예에 있어서, 개발자는 모바일 개발 및 배포 플랫폼을 통해 개발되고 및/또는 배포된 각 모바일 앱에 연락 모듈을 포함하도록 요청될 수 있다. 도 9에 보인 바와 같이, 605 단계에서, 개발자는 앱에 연락 모듈을 추가하거나, 기존 연락 모듈을 편집하도록 하는 옵션을 선택할 수 있다. 이에 대응하여, 606 단계에서, 모바일 개발 및 배포 플랫폼은 연락 관리자(contacts manager)를 활성화시킬 수 있다. 연락 관리자는 연락 모듈을 디자인하고 커스터마이징하는 것과 관련된 다양한 옵션을 개발자에게 제공하는 역할을 수행한다. 607 단계에서, 개발자는 이름, 물리 어드레스, 전화번호, 이메일 및/또는 웹 사이트 URL과 같은, 다양한 연락 정보를 선택, 및/또는 입력한다. 일 실시예에 있어서, 개발자는 또한 연락 모듈의 레이아웃, 디자인 및/또는 특징을 커스터마이징할 수 있다. 그런 다음, 정보는 609 단계에서 모바일 앱을 위해 저장 및/또는 업데이트한다. 예를 들면, 임의의 실시예에 있어서, 개발자의 선택 및 입력은 도 4와 관련된 설명과 유사한 방식으로 모듈 테이블(modules table)에 엔트리를 생성하거나 또는 업데이트하는 것과 같은 방식으로, 데이터베이스에 저장될 수 있다.
도 10은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속된 연락 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시한 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 것과 같은 일 실시예에 있어서, 연락 관리자는 예컨대, 도 2에 도시된 바와 같은 개발자 윈도우(110) 및/또는 컨텐츠 윈도우(112)내에, 하나 이상의 웹 페이지를 이용하여 그래픽 사용자 인터페이스의 형식으로 개발자에게 표시할 수 있다. 도 10에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 연락 모듈과 관련된 다양한 연락 정보를 선택, 입력 및/또는 수정하도록 하는 연락 관리자 윈도우(610)를 포함한다. 연락 관리자 윈도우(610)는 도 10에 보인 어드레스 서브 윈도우(611)과 같은, 복수의 서브 윈도우를 포함할 수 있다. 개발자는 거리, 도시, 우편번호와 같은, 어드레스 서브 윈도우(611)에 포함된 어드레스 형식 필드(612)에 물리 어드레스 정보를 입력할 수 있다. 일 실시예에 있어서, 어드레스 서브 윈도우(611)는 개발자에게 지도 상에 어드레스의 위치를 보여주는 도 10에 보인 바와 같은, 업데이트된 버튼(613) 및 지도 표현(614)을 포함할 수 있다. 일 실시예에 있어서, 연락 관리자 윈도우(610)는 개발자가 연락 모듈에 대해 추가 연락 정보를 입력하도록 하는, 전화번호 서브 윈도우, 이메일 어드레스 서브 윈도우, 및/또는 웹 사이트 서브 윈도우와 같은, 다양한 다른 서브 윈도우를 포함할 수 있다.
도 10에 보인 바와 같이, 어플리케이션 개발 환경이 장치 표현(116)을 포함하는 것과 같은 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 디스플레이 안에 연락 모듈의 디스플레이를 표현하는 것을 포함할 수 있다. 예를 들면, 장치 표현(116)을 통해 표시된 연락 모듈은 연락 모듈 서브 윈도우(615 내지 618)을 포함할 수 있고, 연락 모듈 서브 윈도우(615 내지 618)는 연락 디스플레이 윈도우(610)을 통해 개발자에 의해 입력된 정보에 각각 기초한 어드레스, 전화번호, 이메일 및 웹 사이트 연락 정보를 표시한다. 일 실시예에 있어서, 연락 모듈 서브 윈도우는 아래에서 논의될 바와 같이, 말단 사용자가 연락 정보와 상호작용할 수 있도록 하는, 하나 이상의 버튼 및/또는 선택 가능한 영역을 포함할 수 있다.
일 실시예에 따르면, 말단 사용자가 모바일 개발 및 배포 플랫폼을 통해 개발된 연락 모듈을 가지는 모바일 앱을 다운로드, 인스톨 및/또는 실행할 때, 연락 모듈은 말단 사용자의 모바일 장치 디플레이 상에 표시될 수 있다. 예를 들면, 말단 사용자가 개발자의 또는 서드 파티의 어드레스, 전화번호, 이메일 어드레스 및/또는 웹 사이트와 같은, 앱과 관련된 임의의 연락 정보를 볼 수 있도록 연락 모듈에 접속할 수 있다. 일 실시예에 있어서, 연락 모듈은 연락 어드레스의 위치를 표시하는 지도 서브 윈도우를 포함할 수 있다. 일 실시예와 관련되어, 지도 윈도우는 구글 지도(Google Maps) 또는 빙 지도(Bing Maps)와 같은, 모바일 장치의 운영 체제 및/또는 말단 사용자의 모바일 장치를 통해 이용할 수 있는 기존의 지도 기능 및/또는 플랫폼에 의존할 수 있다.
일 실시예에 있어서, 모바일 앱 및/또는 연락 모듈은 말단 사용자가 연락 모듈을 통해 표시된 컨텐츠의 임의의 부분과 상호작용하도록 할 수 있다. 예를 들면, 모바일 장치 디스플레이에 탭(tap)하는 방식으로, 말단 사용자의 전화번호 선택에 대응하여, 연락 모듈은 모바일 장치가 표시된 전화번호를 다이얼하도록 할 수 있다. 다른 예로, 말단 사용자가 이메일 어드레스를 선택하는 것에 대응하여, 연락 모듈은 모바일 장치 상의 기존의 이메일 어플리케이션을 런칭시키고, 및/또는 표시된 어드레스를 보내는 사람 필드('To' field)에 미리 채워놓은 새 이메일 메시지를 열(open) 수 있다. 유사하게, 말단 사용자가 웹 사이트를 선택하는 것에 대응하여, 연락 모듈은 앱 내의 웹 브라우저 또는 모바일 장치에서 이용할 수 있는 기존의 웹 브라우저를 열고, 브라우저가 표시된 웹 어드레스 또는 URL로 직접 이동하도록 할 수 있다. 또 다른 예에 따르면, 말단 사용자가 물리 어드레스 또는 지도를 선택하는 것에 대응하여, 연락 모듈은 "검색(search)" 또는 "~로 이동(to)" 필드에 표시된 어드레스가 미리 기록된 기존의 지도 어플리케이션을 열 수 있다. 일 실시예에 있어서, 연락 모듈 및/또는 모바일 앱은 말단 사용자에게 말단 사용자의 모바일 장치 상의 기존의 연락 리스트 또는 데이터베이스에 연락 정보를 추가하는 옵션을 제공할 수 있다.
도 11은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함된 전자 책 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 말단 사용자가 하나 이상의 디지털 책, 에세이, 단편 또는 다른 유사한 문학 작품에 접근하고 볼 수 있도록 하는 방식으로, 그들의 앱에 전자 책 모듈을 포함시킬 수 있다. 도 11에 보인 바와 같이, 620 단계에서, 개발자는 앱에 전자 책 모듈을 추가하거나, 또는 기존의 전자 책 모듈을 편집하기 위한 옵션을 선택할 수 있다. 이에 대응하여, 621 단계에서, 모바일 개발 및 배포 플랫폼은 전자 책 관리자를 활성화할 수 있다. 전자 책 매니저는 하나 이상의 디지털 작품을 입력 또는 업로드하고, 전자 책 모듈을 디자인하고, 커스터마이징하는 것과 관련된 다양한 옵션을 개발자에게 제공한다. 622 단계에서, 개발자는 하나 이상의 디지털 작품을 선택, 업로드 및/또는 입력하는 것에 대해 프롬프트된다. 예를 들면, 개발자는 도 1에 보인 바와 같은, 개발자 컴퓨터(100)과 같은, 로컬 컴퓨터로부터 하나 이상의 소스 파일(예컨대, PDF 또는 EPUB 파일)을 업로드할 수 있다. 대안적으로 또는 추가로, 개발자는 디지털 작품 또는 작품들이 위치한 네트워크 위치(예컨대, URL)를 특정할 수 있다. 일 실시예에 있어서, 디지털 작품은 앱이 런칭될 때 웹 서버 또는 데이터베이스 서버와 같은, 원격 소스로부터 접속될 수 있다. 623 단계에서, 개발자에게는 제목, 목차, 북마크 및/또는 다른 유사한 정보와 같은, 디지털 작품과 관련된 다양한 정보를 선택 및/또는 입력하도록 프롬프트될 수 있다. 일 실시예에 있어서, 개발자는 또한 문자 검색, 폰트, 텍스트 크기, 및 야독 능력(night-reading capability)과 같은, 디지털 책 모듈의 레이아웃, 디자인 및/또는 특징을 커스터마이징할 수 있다. 그런 다음, 이 정보는 도 9와 관련되어 설명된 유사한 방식으로 624 단계에서 모바일 앱을 위해 저장되고 및/또는 업데이트될 수 있다.
도 12는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 전자 책 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접근되는 것과 같은, 일 실시예에 있어서, 전자 책 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 개발자에게 표시될 수 있다. 일 실시예에 따르면, 전자 책 관리자는 책 소스 파일, 제목, 목차 및 다른 관련 컨텐츠 및 특징과 같은, 전자 책 모듈과 관련된 다양한 정보를 개발자가 선택, 입력, 업로드 및/또는 수정하도록 하는, 다양한 윈도우 및 서브 윈도우를 포함할 수 있다. 일 실시예에 있어서, 전자 책 관리자는 개발자에 의해 입력 및/또는 업로드된 복수의 이용 가능한 책을 관리하고, 말단 사용자가 앱을 다운로드 및/또는 런칭 할 때, 모바일 장치 상에 책을 표시하는 역할을 수행할 수 있다.
도 12에 보인 바와 같이, 어플리케이션 개발 환경이 모바일 장치의 표현을 포함하는 것과 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 디스플레이 안의 전자 책 모듈의 디스플레이의 표현을 포함한다. 전자 책 모듈은 책의 제목을 표시하는, 북 헤더(626)를 포함할 수 있고, 및/또는, 도 12에 도시된 바와 같은, 앱의 메인 메뉴로 리턴하기 위해 사용되는 "뒤로(back)" 버튼과 같은, 하나 이상의 버튼을 포함할 수 있다. 전자 책 모듈이 복수의 책을 포함하는 일 실시예에 있어서, 메인 메뉴는 말단 사용자가 이용 가능한 책을 검색 및/또는 보며, 읽기 위해 특정 책을 선택하도록 할 수 있다. 도 12에 보인 바와 같이, 전자 책 모듈은 책 텍스트 윈도우(627)에서 하나 이상의 책의 컨텐츠를 표시할 수 있다. 일 실시예에 있어서, 전자 책 모듈은 모바일 장치 디스플레이 스크린을 "플릭(flicking)"하는 것과 같은 방식으로, 책 컨텐츠를 통해 말단 사용자가 스크롤하도록 하기 위해, 임의의 모바일 장치(예컨대, 터치스크린)에서 제공되는 특징을 이용할 수도 있다. 일 실시예에 있어서, 전자 책 모듈은 또한 또는 대안적으로, 말단 사용자가 하나 이상의 버튼을 선택하거나, 누르는 것에 의해 책을 탐색하도록 하는 책 내비게이션 바(628)를 포함한다. 도 12에 보인 바와 같이, 책 내비게이션 바(628)는 프로그래스 바 또는 퍼센테이지처럼 얼마나 많이 책이 읽혀졌는지, 그리고, 시각적 표시 및/또는 챕터 및 페이지와 같이, 현재 표시되고 있는 컨텐츠의 책 안에서의 위치의 지시를 표시할 수 있다.
일 실시예에 있어서, 도 12에 도시된 바와 같이, 전자 책 모듈은 책과 관련된 추가 특징, 컨텐츠 및/또는 옵션에 말단 사용자가 접근하도록 하는 다양한 버튼 또는 아이콘을 포함할 수 있는, 책 메뉴 바(629)를 포함한다. 예를 들면, 책 메뉴 바(629)는 책을 위한 목차를 말단 사용자가 볼 수 있도록 하고, 및/또는 책 내에서, 특정 챕터(chapter), 섹션 등을 빠르게 탐색하기 위한 하나 이상의 북마크를 설정하고 볼 수 있도록 하는 버튼을 포함할 수 있다. 다른 예로, 책 메뉴 바(629)는 어두운 곳에서 쉽게 위한, 백그라운드 및/또는 텍스트 색깔을 교체하는 방식으로, 일반 모드 및 밤 읽기 모드 사이에서 말단 사용자가 교체할 수 있도록 하는 버튼을 포함할 수 있다. 다른 예로, 책 메뉴 바(629)는 말단 사용자가 문자 검색 특징을 이용하여 책에서 단어 또는 절을 검색하도록 하는 버튼을 포함할 수 있다. 일 실시예에 있어서, 검색이 수행된 후, 매칭 아이템은 매칭 단어 또는 절을 하이라이트하는 것과 같은 방식으로, 텍스트를 강조할 수 있다. 또 다른 예로, 책 메뉴 바(629)는 말단 사용자가 폰트 타입, 색깔 및 크기와 같은, 책 컨텐츠의 표시를 선택 또는 수정하도록 하는 버튼을 포함할 수 있다.
도 13은 일 실시예에 따른, 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 상호작용 책 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 예컨대, 상호작용 책을 생성하기 위한 이미지, 애니메이션, 내레이션 오디오 및 사운드 파일을 (그들의 컴퓨터 또는 URL로부터) 업로드하기 위한, 그리고, 상호작용 책에 대한 접근을 말단 사용자에게 제공하기 위한, 상호작용 책 모듈을 그들의 앱에 추가할 수 있다. 도 13에 보인 바와 같이, 630 단계에서, 개발자는 상호작용 책 모듈을 그들의 앱에 추가하거나, 또는, 기존의 상호작용 책 모듈을 편집하기 위한 옵션을 선택할 수 있다. 이에 대응하여, 631 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 상호작용 책 모듈을 생성하고 커스터마이징하도록 하는 상호작용 책 관리자를 활성화시킬 수 있다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는, 일 실시예에 있어서, 상호작용 책 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 개발자에게 표시될 수 있다. 일 실시예에 있어서, 상호작용 책 관리자에 접속한 후, 개발자는 명칭, 레이아웃 등과 같은, 상호작용 책에 대한 다양한 속성을 입력 및/또는 설정하도록 프롬프트될 수 있다.
632 단계에서, 판단은 개발자가 "페이지 추가(add page)" 버튼을 클릭하는 것과 같은 방식으로, 개발자가 상호작용 책에 새로운 페이지를 추가하기를 원하는지 여부에 관해 이루어진다. 만일 그렇다면, 633 단계에서, 개발자는 로컬 컴퓨터로부터 하나 이상의 소스 파일들(예컨대, PDF, EPUB, 또는 이미지 파일들)을 업로드하는 것과 같은 방식으로, 및/또는, 소스 파일이 위치한 네트워크 위치(예컨대, URL)을 특정하는 것과 같은 방식으로, 새로운 페이지를 위한 소스 파일을 입력 또는 업로드하도록 프롬프트된다. 그리고 흐름은 634 단계로 진행된다. 만약, 개발자가 새로운 페이지를 추가하는 것을 원하지 않는다면, 판단은 638 단계에서 기존의 페이지 리스트가 개발자에게 제공되고, 개발자가 기존의 페이지의 리스트로부터 선택하도록 프롬프트되는 것과 같은 방식으로, 개발자가 상호작용 책에서 기존의 페이지를 편집하기를 원하는지 여부에 관하여 이루어진다. 만약, 개발자가 634 단계에서 기존의 페이지를 편집하는 것(또는 새로운 페이지를 선택하는 프로세스)을 선택하면, 개발자는 페이지에 포함된 하나 이상의 애니메이션 이미지를 선택, 수정, 업로드 및/또는 입력하도록 프롬프트된다. 유사하게, 635 및 636 단계에서, 개발자가 페이지에 포함된 하나 이상의 애니메이션 오디오 파일들 및 내레이션 오디오 파일 각각을 선택, 수정, 업로드 및/또는 입력하도록 프롬프트된다. 637 단계에서, 개발자는 음악 파일을 선택, 수정, 업로드 및/또는 입력하도록 프롬프트된다. 일 실시예에 있어서, 음악 파일은 하나 이상의 특정 페이지 혹은 전체 페이지로 상호작용 책과 관련될 수 있다.
일 실시예에 있어서, 상호작용 책 관리자는 개발자에게 표시되고 634 내지 637 단계와 관련되어 개발자에 의해 선택될 수 있는 일의의 미리 정의된 애니메이션 이미지, 애니메이션 오디오 파일, 내레이션 오디오 파일 및/또는 음악 파일을 리트라이브하고, 표시할 수 있다. 페이지를 위한 다양한 옵션을 선택하고 입력한 후, 흐름은 632 단계로 되돌아가서 개발자는 상호작용 책에 새로운 페이지를 추가하거나 및/또는 기존의 페이지를 편집하는 옵션을 선택할 수 있다. 개발자가 상호작용 책을 완성하면, 639 단계에서, 개발자의 선택, 입력 및 업로드는 예컨대, 도 9와 관련되어 설명된 유사한 방식으로, 모바일 앱을 위해 저장 및/또는 업데이트된다. 일 실시예에 따르면, 개발자는 백그라운드 이미지, 내레이션, 음악 또는 다른 오디오 파일 및 비디오 또는 애니메이션 파일을 선택, 입력 및/또는 업로드하는 것과 같은 방식으로, 및/또는, 앞서 설명된 유사한 방식으로 디지털 책을 수정 또는 커스터마이징하기 위하여 텍스트를 입력 또는 업로드하는 방식으로, 기존의 디지털 책 또는 다른 문학 작품에 기초한 상호작용 책을 만들 수 있다.
도 14는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 상호작용 책 모듈을 가지는 모바일 앱의 표시의 일부를 도시하는 도면이다. 도 14에 보인 바와 같이, 상호작용 책 모듈은 상호착용 책 표시 윈도우(640)에 상호착용 책과 관련된 다른 컨텐츠, 속성 및/또는 입력 옵션과 더불어 하나 이상의 책을 표시할 수 있고, 이 상호착용 책 표시 윈도우(640)는 모바일 앱이 실행될 때, 모바일 장치의 일부 혹은 전체의 디스플레이에 표시될 수 있다. 일 실시예에 있어서, 말단 사용자는 하나 이상의 버튼을 이용하여 상호작용 책을 탐색할 수 있다. 말단 사용자는 백그라운드 음악을 음소거하는 것과 같이, 임의의 옵션을 선택 또는 수정하도록 허용될 수 있다. 일 실시예에서 상호작용 책은, 디스플레이 스크린의 적절한 부분을 터치하는 것과 같은 방식으로, 말단 사용자에 의해 선택될 때, 말단 사용자에게 추가 컨텐츠(예컨대, 애니메이션, 내레이션 또는 사운드)를 제공하는, 임의의 핫스팟을 포함할 수 있다.
도 15는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함시키기 위한 이벤트 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 이벤트의 메뉴 기반 리스트를 생성 및 수정하기 위해, 그리고, 이벤트와 관련된 임의의 특징, 컨텐츠 및 옵션을 추가, 커스터마이징, 선택 및/또는 수정하기 위해, 그들의 앱에 이벤트 모듈을 추가할 수 있다. 도 15에 보인 바와 같이, 642 단계에서, 개발자는 앱에 이벤트 모듈을 추가하거나, 또는, 기존 이벤트 모듈을 편집하기 위한 옵션을 선택할 수 있다. 이에 대응하여, 643 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 앱을 위한 이벤트 모듈을 생성 및 커스터마이징하도록 하기 위해 이벤트 관리자를 활성화시킬 수 있다.
644 단계에서, 개발자는 이벤트의 레이아웃, 이벤트를 표시하는 순서, 및 임의의 이벤트를 그룹화하는 카테고리와 같은, 이벤트와 관련된 다양한 표시 옵션을 선택 및/또는 입력하도록 프롬프트된다. 645 단계에서, 판단은 새로운 이벤트를 이벤트 리스트에 포함시키거나 또는 기존의 이벤트를 편집하는 것을 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 646 단계에서, 개발자는 명칭, 설명, 날짜 및 시간 및/또는 각 이벤트의 위치와 같은, 이벤트를 위한 다양한 정보를 선택 및/또는 입력하도록 프롬프트된다. 유사하게, 647 단계에서, 개발자는 로컬 컴퓨터로부터 파일을 업로드하거나, 또는, 파일이 위치한 네트워크 위치(예컨대, URL)을 특정하는 것과 같은 방식으로, 이벤트를 위한 이미지 파일을 제공하도록 프롬프트된다. 일 실시예에 있어서, 이벤트 관리자는 이벤트에 사용될 개발자에 의해 선택될 수 있는 임의의 미리 정의된 이미지를 리트라이브 및 표시할 수 있다. 이벤트를 생성, 업데이트 및/또는 커스터마이징한 후, 흐름은 645 단계로 리턴하고, 그리고, 개발자는 새로운 이벤트에 추가 또는 기존의 이벤트를 편집하는 옵션을 선택할 수 있다. 개발자가 이벤트를 추가하거나 편집하는 것을 원하지 않으면, 648 단계에서 개발자의 선택, 입력 및 업로드는 도 9와 관련되어 설명된 유사한 방식으로, 모바일 앱을 위해 저장 및/또는 업데이트된다.
도 16은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 이벤트 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은 여러 실시예에 있어서, 이벤트 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 16에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 이벤트의 리스트를 생성 및 커스터마이징하도록 하는 이벤트 관리자 윈도우(649)를 포함한다. 이벤트 관리자 윈도우는 개발자가 새로운 이벤트를 생성하도록 하는, 추가 이벤트 버튼(650)과 같은, 하나 이상의 버튼을 포함할 수 있다. 이벤트 관리자 윈도우(649)는 또한 개발자가 이벤트를 위한 이미지를 선택, 입력 및/또는 업로드하도록 하는 이벤트 이미지 선택기(651)와 더불어, 개발자가 명칭, 데이터, 위치 등과 같은, 이벤트를 위한 다양한 정보를 입력 및/또는 선택하도록 하는, 이벤트 폼 필드(652)를 포함할 수 있다.
도 16에 보인 바와 같이, 어플리케이션 개발 환경이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 이벤트 모듈의 표시의 표현을 포함할 수 있다. 예를 들면, 장치 표현(116)을 통해 표시되는 연락 모듈은 이벤트 표시 윈도우(649)를 통해 개발자에 의해 입력되는 이벤트 정보에 기초한, 각 이벤트를 위한 임의의 정보를 표시하는, 이벤트 서브 윈도우(653)와 같은, 다양한 서브 윈도우를 포함할 수 있다. 일 실시예에 있어서, 말단 사용자는 선택된 이벤트와 관련된 추가 정보를 보여주도록, 이벤트 서브 윈도우(653)를 클릭하거나 터치하는 것과 같은 방식으로, 특정 이벤트를 선택할 수 있다. 도 16에 보인 바와 같이, 일 실시예에 있어서, 이벤트 서브 윈도우(653)는 말단 사용자의 모바일 장치 상에 달력(예컨대, 기존의 달력 기능)에 이벤트를 추가하는 방식으로, 말단 사용자가 이벤트를 위한 상기(reminder)를 추가하도록 하는, 상기(reminder) 버튼(654)을 포함할 수 있다. 여러 실시예에 있어서, 이벤트 모듈은 모바일 장치의 운영 체제 및/또는 사용자의 모바일 장치를 통해 이용 가능한 기존의 달력 또는 상기(reminder) 기능 또는 특징을 빌려 사용할 수 있다.
도 17은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 피드 모듈(feeds module)을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 말단 사용자가 앱을 통해 페이스북, 트위터 및 RSS 피드를 포함하는 다양한 전자 피드들을 추가, 포맷(format) 및/또는 그 전자 피드들에 접근을 제공하기 위하여, 앱에 피드 모듈을 포함시킬 수 있다. 도 17에 보인 바와 같이, 655 단계에서, 개발자는 앱에 피드 모듈을 추가하거나, 기존의 피드 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 656 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 피드 모듈을 생성 및 커스터마이징하도록 하는 피드 관리자를 활성화할 수 있다. 피드 관리자는 피드 모듈에 포함되는 피드를 선택, 특정 및/또는 포맷팅하는 것과 관련된 다양한 옵션을 개발자에게 제공하는 역할을 수행한다. 일 실시예에 있어서, 개발자는 표시 순서, 레이아웃, 포맷 등과 같은, 피드 모듈을 위한 다양한 디자인 옵션을 선택하도록 프롬프트될 수 있다. 예를 들면, 여러 실시예에 있어서, 개발자는 리스트의 맨위에 제공되는 최신의 아이템을 리스트 기반 레이아웃에 표시되는 피드를 가지도록 선택할 수 있다.
657 단계에서, 개발자는 피드가 접근할 수 있는 하나 이상의 네트워크 위치(예컨대, URL)를 입력하는 것과 같은 방식으로, 하나 이상의 피드를 추가 및/또는 업데이터하도록 프롬프트된다. 대안적으로, 또는 추가로, 피드 관리자는 개발자가 피드 모듈에 포함되도록 선택할 수 있는, 흔하게 접근되는 피드 또는 유명한 피드의 리스트를 표시할 수 있다. 일 실시예에 있어서, 이들 피드는, 앱이 말단 사용자에 의해 런칭될 때, 및/또는 앱의 실행 동안, 피드 모듈 및/또는 앱에 의해 접속되고, 말단 사용자에게 표시될 수 있다. 658 단계에서, 피드 모듈에 대한 개발자의 입력 및 선택은 도 9와 관련하여 설명된 유사한 방식으로 모바일 앱을 위해 저장 및/또는 업데이트된다.
도 18은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 피드 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼에 웹 기반 서비스를 통해 접근되는 경우와 같은, 여러 실시예에 있어서, 피드 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 18에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 피드를 추가 및 포맷하도록 하는, 피드 관리자 윈도우(659)를 포함한다. 피드 관리자 윈도우(659)는 도 18에 도시된 바와 같은, 피드를 위한 네트워크 어드레스 또는 URL을 입력할 수 있는, 피드 입력 필드(660)을 포함할 수 있다. 어플리케이션 개발 환경이 모바일 앱 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시안에 피드의 표시의 표현을 포함할 수 있다. 도 18에 보인 바와 같이, 장치 표현(116)을 통해 표시된 피드 모듈은 각 피드 아이템을 위한, 헤드라인 및 타임스탬프와 같은, 임의의 정보를 표시하는, RSS 피드 아이템(661)과 같은, 다양한 피드 아이템을 포함할 수 있다.
일 실시예에 있어서, 피드 모듈을 포함하는 앱을 다운로드하고 런칭한 말단 사용자는 피드 아이템과 관련된 전체 컨텐츠를 보기위하여, RSS 피드 아이템(661)을 클릭 또는 터치하는 것과 같은 방식으로, 특정 피드 아이템을 선택할 수 있다. 일 실시예에 있어서, 말단 사용자는 피드 아이템의 레이아웃, 순서 및/또는 포맷과 같은, 피드 모듈과 관련된 다양한 다른 설정을 수정할 수 있다.
도 19는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 폼 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 모바일 앱을 통해 입력된 말단 사용자를 위한 단순한 폼을 생성 및 수정하기 위해, 폼 모듈을 그들의 앱에 추가할 수 있다. 도 19에 보인 바와 같이, 662 단계에서, 개발자는 앱에 폼 모듈을 추가하거나, 기존의 폼 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 663 단계에서, 모바일 개발 및 배포 플랫폼은 개발작 앱을 위한 폼 모듈을 생성 및 커스터마이징하도록 폼 관리자를 활성화시킬 수 있다.
664 단계에서, 개발자는 폼을 위한 폼 제목, 소개 텍스트, 및/또는 레이아웃과 같은, 폼을 위한 다양한 속성을 선택 및/또는 입력하도록 프롬프트될 수 있다. 665 단계에서, 판단은 개발자가 폼을 위한 필드를 추가하기를 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 개발자는 폼 텍스트, 폼 필드, 텍스 박스 필드, 다중 선택 필드, 드롭다운 리스트 및 텍스트 영역 필드 등과 같은, 추가되어질 필드의 형식을 선택하도록 프롬프트된다. 그리고, 흐름은 667 단계로 진행된다. 일 실시예에 있어서, 개발자는 커스텀 필드를 생성하는 옵션이 주어질 수 있다. 개발자가 새로운 필드를 추가하는 것을 원하지 않는 경우, 판단은 668 단계에서 개발자가 이미 추가된 필드를 선택하는 것과 같은 방식으로, 개발작 기존의 필드를 편집하기를 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 668 단계에서, 개발자는 필드를 위한 컨텐츠를 입력 및/또는 업로드하거나, 및/또는, 포맷, 크기 등과 같은, 필드와 관련된 다양한 옵션을 선택하도록 프롬프트된다. 필드를 생성 및 커스터마이징한 후, 흐름은 665 단계로 되돌아가고, 개발자는 새로운 필드를 추가하고, 및/또는 기존 필드를 편집할 수 있다. 개발자가 더 이상 어떠한 필드도 추가 또는 편집하는 것을 원하지 않는다면, 669 단계에서, 개발자의 선택, 입력 및 업로드는 도 9와 관련되어 설명된 유사한 방식으로, 모바일 앱을 위해 저장 및/또는 업데이트된다.
도 20은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 폼 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼에 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예에 있어서, 폼 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 20에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 입력 폼을 생성 및 커스터마이징하도록 하는, 폼 관리자 윈도우(670)를 포함한다. 폼 관리자 윈도우(670)는 개발자가 폼에 새로운 필드를 추가하도록 하는, 필드 버튼(671)과 같은, 하나 이상의 버튼을 포함할 수 있다. 폼 관리자 윈도우(670)는 또한 개발자가 컨텐츠를 입력하고, 및/또는 폼 및 이의 필드를 위한 다양한 옵션을 선택하도록 하는, 소개 텍스트 필드(673)와 같은, 다양한 폼 선택 필드를 포함할 수 있다. 도 20에 도시된 바와 같은, 일 실시예에서, 폼 관리자 윈도우(670)는 개발자가, 이메일을 위한 제목을 특정하는 것과 같이, 다른 관련 옵션과 함께, 폼의 제출이 전달되는, 위치, 예컨대 이메일 어드레스를 입력하도록 하는, 폼 전달 필드(672)를 포함할 수 있다.
어플리케이션 개발 환경은 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 폼 모듈의 표시의 표현을 포함할 수 있다. 도 20에 보인 바와 같이, 장치 표현(116)을 통해 표시된 폼 모듈은 폼 관리자 윈도우(670)에 개발자에 의해 만들어진 선택 및 입력에 대응하는, 텍스트 영역(674)과 같은, 다양한 폼 필드를 포함할 수 있다. 일 실시예에 있어서, 개발자는 하나 이상의 폼 필드가 요구되는 것을 특정할 수 있다. 여러 실시예에 있어서, 요구되는 필드 바로 옆에 유사한 지시 또는 별표(asterisk, *)를 표시하여 그러한 요구되는 필드를 나타낼 수 있다. 도 20에 보인 바와 같이, 폼 모듈은 완료되었을 때, 말단 사용자가 폼을 제출하도록 하는, 제출 버튼(675)과 같은, 하나 이상의 버튼을 포함할 수 있다. 일 실시예에 있어서, 폼 모듈은 말단 사용자가 폼을 제출하도록 하기 이전에, 모든 요구되는 필드가 입력 또는 선택되었는지 여부를 검사할 수 있다. 도 20a는 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발된 폼 모듈을 포함하며, 모바일 장치 상에서 실행되는 앱의 표시의 일부를 도시하는 도면이다.
도 21은 일 실시예에 따른 모바일 개발 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 HTML 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 모바일 앱에 포함되는 단순 HTML 컨텐츠(예컨대, 웹 페이지)를 생성하고 수정하기 위한, HTML 모듈을 포함할 수 있다. 도 12에 보인 바와 같이, 676 단계에서, 개발자는 앱에 HTML 모듈을 추가하거나, 기존의 HTML 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 677 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 HTML 모듈을 생성 및 커스터마이징하도록 하는 HTML 관리자를 활성화할 수 있다. HTML 관리자는 HTML 페이지를 위한 임의의 특징, 컨텐츠 및 옵션을 입력, 업로드, 생성 및 커스터마이징하는 것과 관련된 다양한 옵션을 개발자에게 제공하고, 및/또는, 대응하는 HTML 코드를 생성 및 관리하는 역할을 수행한다. 678 단계에서, 개발자는 HTML 페이지를 위한 다양한 컨텐츠 및 옵션을 입력, 선택 및/또는 업로드할 수 있다. 예를 들면, 개발자는 페이지 상에 보이는 텍스트를 입력 및 포맷하고, 이미지를 업로드하며, 다양한 레이아웃 옵션을 선택할 수 있다. 679 단계에서, 개발자의 HTML 모듈을 위한 입력 및 선택은 도 9와 관련되어 설명되는 유사한 방식으로 모바일 앱을 위해 저장 및/또는 업데이트한다.
도 22는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 HTML 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예에 있어서, HTML 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 22에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 HTML 페이지를 생성 및 커스터마이징하도록 하는 HTML 관리자 윈도우(680)를 포함한다. 여러 실시예에 있어서, HTML 관리자 윈도우는 WYSIWYG(보이는 그대로 "what you see is what you get") 편집기의 폼이 될 수 있다.
HTML 관리자 윈도우(680)는 도 22에 도시된 바와 같이, 텍스트를 타이핑하고, 이미지를 복사하는 것과 같은 방식으로, 개발자가 다양한 컨텐츠를 입력할 수 있는 컨텐츠 입력 박스(682)를 포함한다. HTML 관리자 윈도우(680)는 또한, 폰트 타입, 크기, 강세, 색깔, 및 정렬을 위한 설정을 포맷팅하고, 이미지 및 다른 매체 컨텐츠를 업로드하는 것과 같은 방식으로, HTML 컨텐츠를 추가 및 커스터마이징하는 다양한 옵션을 포함하는, 도 22에 도시된 바와 같은, 텍스트 편집기 메뉴(681)를 포함할 수 있다. 예를 들면, 개발자는 HTML 페이지에 포함된 하나 이상의 이미지를 자동으로 행을 변경하는 옵션을 선택할 수 있다. 여러 실시예에 있어서, 텍스트 편집기 메뉴(681)는 사용자가 편집하기 위한 텍스트를 선택할 때에만 표시될 수 있다. 일 실시예에 있어서, HTML 모듈은 개발자가 하나 이상의 이미지의 위치를 업로드 또는 특정 및/또는 HTML 페이지에 포함될 수 있는 이미지를 수정하도록 하는 편집 그림 특징을 포함할 수 있다.
어플리케이션 개발 환경이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 HTML 모듈의 표시의 표현을 포함할 수 있다. 도 22에 보인 바와 같이, 장치 표현(116)을 통해 표시되는 HTML 모듈은 HTML 관리자 윈도우(680)에 개발자에 의해 만들어진 입력 및 선택에 기초하여 현재 HTML 페이지를 업데이트 및 표시할 수 있다. 일 실시예에 있어서, 말단 사용자가 HTML 모듈을 포함하는 다운로드 및 런칭된 앱을 가질 때, HTML 모듈은 말단 사용자의 모바일 장치 상에 HTML 컨텐츠를 랜더링하고 표시하는 역할을 수행할 수 있다.
도 23은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱을 위한 링크 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 말단 사용자에게 외부 웹 사이트, 소셜 네트워킹 사이트, 파일 및/또는 다른 소스와 링크하고, 그에 대한 접속을 제공하기 위하여 앱에 링크 모듈을 포함시킬 수 있다. 도 23에 보인 바와 같이, 683 단계에서, 개발자는 앱에 링크 모듈을 추가하거나, 기존의 링크 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 684 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 링크 모듈을 생성하고 커스터마이징하도록 하는 링크 관리자를 활성화시킬 수 있다. 링크 관리자는 링크 모듈에 포함되는 링크를 선택, 특정 및/또는 포맷팅하는 것과 관련된 다양한 옵션을 제공하는 역할을 수행한다. 일 실시예에 있어서, 개발자는 링크의 표시를 위한 순서, 레이아웃, 다양한 포맷팅 옵션 등과 같은, 링크 모듈에 대한 다양한 디자인 옵션을 선택하도록 프롬프트된다. 예를 들면, 여러 실시예에 있어서, 개발자는 링크를 표현하는 하나 이상의 페이지의 아이콘으로 또는 리스트 기반 레이아웃으로 표시되는 링크를 가지도록 선택할 수 있다.
685 단계에서, 판단은 개발자가 새로운 링크를 추가하거나, 기존 링크를 편집하는 것을 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 개발자는 링크된 리소스가 접속될 수 있는 하나 이상의 네트워크 위치(예컨대, URL)를 입력하는 것과 같은 방식으로, 링크를 추가 및/또는 업데이트하도록 프롬프트된다. 예를 들면, 개발자는 웹 페이지, 소셜 네트워킹 사이트, PDF 문서, 텍스트 문서, 프레젠테이션, 이미지 파일, 비디오 파일 또는 스프레드시트에 대한 링크를 생성할 수 있다. 일 실시예에 있어서, 개발자는 모바일 개발 및 배포 플랫폼에 의해 저장될 수 있고, 링크 모듈 안에 링크될 수 있는 개발자의 컴퓨터로부터 파일을 업로드할 수 있다. 일 실시예에 있어서, 링크 관리자는 개발자가 링크 모듈에 포함되도록 선택할 수 있는, 소셜 네트워킹 웹 사이트와 같은, 흔히 접속하거나, 유명한 웹 사이트의 리스트를 표시할 수 있다. 링크 위치를 특정하는 것에 추가로, 개발자는 명칭, 설명 및/또는 아이콘 이미지와 같은, 링크를 위한 다양한 다른 정보를 선택, 입력 및/또는 업로드하도록 프롬프트될 수 있다. 링크를 추가 및/또는 업데이트한 후, 흐름은 685 단계로 되돌아간다. 개발자가 링크 모듈을 위해 링크를 추가 및/또는 편집하는 것을 완료하면, 687 단계에서, 링크 모듈을 위한 개발자의 입력 및 선택은 도 9와 관련되어 설명된 유사한 방식으로 모바일 앱을 위해 저장 및/또는 업데이트된다.
도 24 및 도 25는 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 링크 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은 여러 실시예에 있어서, 링크 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 24에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 링크를 추가 및 포맷하도록 하는 링크 관리자 윈도우(688)를 포함한다. 링크 관리자 윈도우(688)는 개발자가 도 24에 도시된 바와 같은, 로컬 파일, URL 또는 네트워크 어드레스와 같은, 링크를 위한 위치를 입력할 수 있는 링크 입력 필드(689)를 포함할 수 있다. 여러 실시예에 있어서, 개발자는 링크가 개발자의 컴퓨터 상에 지역적으로 존재하는 리소스에 대한 것인지 또는 외부 웹 사이트 또는 리소스에 대한 것인지 여부를 특정하도록 프롬프트될 수 있다.
유사하게, 도 25에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 소셜 네트워킹 웹 페이지에 대한 링크를 추가 및 포맷하도록 하는, 소셜 링크 관리자 윈도우(690)를 포함한다. 소셜 링크 관리자 윈도우(690)는 공통으로 사용되는 소셜 네트워킹 웹 사이트의 리스트를 제공하며, 도 24에 도시된 바와 같은, 개발자가 그러한 웹 사이트 안에 링크되는 위치를 입력하도록 하는, 소셜 링크 입력 필드(691)를 포함할 수 있다. 여러 실시예에 있어서, 개발자는 상기 리스트에 포함되지 않는 다른 웹 사이트에 대한 링크를 입력하도록 허용될 수 있다. 일 실시예에 있어서, 소셜 링크 관리자는 각 소셜 링크를 위한 미리 정의된 아이콘 이미지에 연관될 수 있다. 대안적으로 또는 추가로, 개발자는 소셜 링크를 위한 아이콘 이미지를 선택, 수정 및/또는 업로드할 수 있다.
도 24 및 도 25에 보인 바와 같은, 어플리케이션 개발 환경이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 링크 모듈의 표시의 표현을 포함할 수 있다. 도 25에 보인 바와 같은, 장치 표현(116)을 통해 표시되는 링크 모듈은, 아이콘을 클릭하고 터치하는 것과 같은 방식으로, 말단 사용자가 링크에 접속하도록 하는, 페이스북 링크 아이콘(692)과 같은, 소셜 링크를 표현하는 복수의 아이콘을 포함할 수 있다.
링크가 리소스 파일(예컨대, PDF 문서, 텍스트 문서, 프레젠테이션, 이미지 파일, 비디오 파일 또는 스프레드시트)에 접근을 제공하는 경우와 같은 일 실시예에 있어서, 링크 모듈은 리소스를 여는(open), 선호되는 어플리케이션(예컨대, 뷰어 또는 편집기) 및/또는, 링크된 데이터를 위한 파일 형식을 입력 또는 선택하도록 사용자에게 프롬프트할 수 있다. 여러 실시예에 있어서, 앱을 다운로드한 말단 사용자가 그러한 리소스에 대한 링크를 선택할 때, 링크 모듈은 링크에 의해 참조되는 데이터에 접근하여 그 데이터를 표시하기 위하여, 말단 사용자의 모바일 장치에서 이용할 수 있는 개별 및/또는 기존의 뷰어 또는 편지기를 런칭시킬 수 있다. 예를 들면, 링크 모듈은 말단 사용자가 도 23a에 도시된 바와 같이, 차트 데이터 및 파이 차트 데이터와 같은, 스프레드시트 데이터에 대한 링크를 선택하는 것에 대응하여 스프레드시트 뷰어를 런칭시킬 수 있다. 다른 예로, 링크 모듈은 사용자가 이미지 파일에 대한 링크를 선택하는 것에 대응하여 이미지 뷰어를 런칭시키거나, 또는, 사용자가 웹 페이지에 대한 링크를 선택하는 것에 대응하는 웹 브라우저를 런칭시킬 수 있다. 여러 실시예에 있어서, 링크 모듈 및/또는 모바일 앱은 링크된 데이터를 처리하고 및/또는 표시하기 위해, 서드 파티 서비스(예컨대, Google Docs)에 접속할 수 있다.
도 26은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 사진 또는 비디오 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 앱에 일련의 사진, 이미지, 비디오, 및/또는 다른 애니매이션화된 컨텐츠 또는 매체를 추가, 업로드, 선택 및/또는 수정하기 위하여, 그들의 앱에 사진 및/또는 비디오 모듈을 추가할 수 있다. 도 26에 보인 바와 같이, 693 단계에서, 개발자는 앱에 사진 또는 비디오 모듈을 추가하거나, 기존의 사진 또는 비디오 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 694 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 앱을 위해 사진 또는 비디오 모듈을 생성하고, 커스터마이징하도록 하기 위하여, 사진 또는 비디오 관리자를 활성화시킬 수 있다. 695 단계에서, 개발자는 사진 또는 비디오를 위한 소개 텍스트, 및/또는 레이아웃과 같은, 사진 또는 비디오를 위한 다양한 속성 및 디자인 옵션을 선택 및/또는 입력하도록 프롬프트될 수 있다. 예를 들면, 개발자는 슬라이드쇼, 리스트 보기, 아이콘 보기, 또는 스크롤 보기와 같은, 사진 또는 비디오를 표시하는 데에 사용되는 레이아웃을 선택 및/또는 생성할 수 있다.
696 단계에서, 판단은 개발자가 새로운 사진 또는 비디오를 추가하기를 원하지는 여부에 관하여 이루어진다. 만일 그렇다면, 697 단계에서, 개발자는 사진 또는 비디오 파일의 위치를 선택 및/도는 업로드하도록 프롬프트되고, 그리고, 흐름은 698 단계로 진행된다. 여러 실시예에 있어서, 개발자는 개발자의 컴퓨터로부터 그들을 업로드하고, URL을 입력하며, 및/또는 서비스를 공유하는 서드 파티 사진 또는 비디오의 위치를 특정하는 것과 같은 방식으로, 사진 또는 비디오를 추가할 수 있다. 만약, 개발자가 새로운 사진 또는 비디오를 추가하는 것을 원하지 않는다면, 판단은 699 단계에서 개발자가 이미 추가된 사진 또는 비디오를 선택하는 것과 같은 방식으로, 개발자가 기존의 사진 또는 비디오를 편집하기를 원하는지 여부에 관해 이루어진다. 만일 그렇다면, 698 단계에서, 개발자는 명칭, 설명, 아이콘, 이미지, 크기, 등과 같은, 사진 또는 비디오와 관련된 다양한 옵션을 입력 및/또는 선택하도록 프롬프트된다. 일 실시예에 있어서, 개발자는 모바일 개발 및 배포 플랫폼을 통해 제공되는 편집기를 이용하여 사진 또는 비디오를 편집할 수 있다. 사진 도는 비디오를 생성하고 커스터마이징한 후, 흐름은 695 단계로 되돌아가고, 개발자는 새로운 사진 또는 비디오를 추가하고, 및/또는, 기존의 사진 또는 비디오를 편집할 수 있다. 개발자가 어떤 사진 또는 비디오도 추가 또는 편집하는 것을 원하지 않을 때, 700 단계에서, 개발자의 선택, 입력 및 업로드는 도 9와 관련되어 설명된 유사한 방식으로, 모바일 앱을 위해 저장 및/또는 업데이트된다.
도 27 및 도 28은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 사진 또는 비디오 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면들이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예에 있어서, 사진 또는 비디오 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 26에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 사진 또는 다른 이미지를 추가 및 포맷하도록 하는 사진 관리자 윈도우(701)를 포함한다. 사진 관리자 윈도우(710)는 개발자가 새로운 사진을 추가하기 위해 선택할 수 있는, 사진 추가 버튼(702) 및 도 24에 도시된 바와 같이, 그 안에 개발자가 사진을 위한 위치, 명칭 및/또는 설명을 입력할 수 있는, 사진 선택 필드(703)를 포함할 수 있다. 일 실시예에 있어서, 도 27에 보인바와 같이, 사진 관리자 윈도우(701)는 개발자가 사진을 위해 미리 정의된 레이아웃의 리스트로부터 레이아웃을 선택하도록 하는, 드롭다운 리스트의 형식과 같은, 사진 레이아웃 선택자(704)를 포함할 수 있다. 여러 실시예에 있어서, 개발자는 대안적으로, 또는 추가적으로, 사진을 위해, 커스텀 레이아웃을 생성하거나, 미리 정의된 레이아웃을 수정할 수 있다.
유사하게, 도 28에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 비디오 또는 다른 애니메이션화된 컨텐츠를 추가 및 포맷하도록 하는, 비디오 관리자 윈도우(706)을 포함할 수 있다. 비디오 관리자 윈도우(706)는 비디오 버튼(707), 비디오 선택 필드(708) 및/또는 비디오 레이아웃 선택기(709)를 포함할 수 있다. 이는 개발자가 앞서 설명된 사진 관리자 윈도우와 관련되어 설명된 바와 유사한 방식으로 비디오를 위해 다양한 정보를 선택 및 입력하도록 한다.
어플리케이션 개발 환경이 도 27 및 도 28에 보인 바와 같이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 장치 표현(116)은 모바일 장치의 표현 안애 사진 또는 비디오 모듈의 표시의 표현을 포함할 수 있다. 도 27에 보인 바와 같이, 장치 표현(116)을 통해 표시된 사진 모듈은, 사진 서브 윈도우(705)와 같은, 사진 또는 이미지를 표현하는 복수의 서브 윈도우를 포함할 수 있다. 이 사진 서브 윈도우(705)는 각 사진을 위한 임의의 정보(예컨대, 아이콘 설명, 등)를 표시하며, 및/또는, 사진 서브 윈도우를 클릭하거나, 터치하는 방식으로, 말단 사용자가 전체 사진 또는 이미지를 선택 및 접근하도록 한다. 마찬가지로, 도 28에 보인 바와 같이, 장치 표현(116)을 통해 표시된 비디오 모듈은 비디오 서브 윈도우(710)와 같은, 비디오 또는 애니메이션화된 컨텐츠를 표현하는 복수의 서브 윈도우를 포함할 수 있다. 비디오 서브 윈도우(710)는 각 비디오를 위한 임의의 정보(예컨대, 아이콘, 설명, 등)를 표시하며, 및/또는, 비디오 서브 윈도우를 클릭 또는 터치하는 것과 같은 방식으로, 말단 사용자가 전체 비디오를 선택 및 접근하도록 한다.
도 27a 및 도 28a는 일 실시예에 따른 모바일 장치의 표시 상에 사진 또는 비디오 모듈의 표시의 일부를 도시하는 도면들이다. 도 27a에 도시된 바와 같이, 사진 모듈은 복수의 사진 및/또는 이미지들을 표시할 수 있고, 이는 말단 사용자가 사진을 브라우징하고 사진을 선택하도록 하는 슬라이드쇼와 같이 표시될 수 있다. 도 28a에 보인 바와 같이, 비디오 모듈은 복수의 비디오 및/또는 애니메이션화된 컨텐츠를 표시할 수 있고, 이들은 하나 이상의 프레임의 각 비디오를 보여주고, 말단 사용자가 비디오를 브라우징하고, 비디오를 선택하여 보도록 하는, 타일 방식으로 표시될 수 있다. 여러 실시예에 있어서, 사진 또는 비디오 모듈은 사용자가 사진 또는 비디오를 브라우징하기 위해 모바일 장치의 디스플레이 스크린을 플릭하도록 하는 것과 같은 방식으로, 말단 사용자의 모바일 장치를 이용할 수 있는 임의의 기능의 이득을 가질 수 있다.
도 29는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 사운드보드 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 일련의 사운드 또는 다른 오디오 컨텐츠를 추가, 업로드, 선택 및/또는 수정하기 위하여, 사운드보드 모듈을 그들의 앱에 추가할 수 있다. 그러면, 개발자는 말단 사용자가 앱에 대해 빠르게 탐색하고 앱을 통해 재생할 수 있다. 도 28에 보인 바와 같이, 711 단계에서, 개발자는 앱에 사운드보드 모듈을 추가하거나 도는 기존의 사운드보드 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 712 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 앱을 위한 사운드보드 모듈을 생성 및 커스터마이징하도록 하는 사운드보드 관리자를 활성화할 수 있다. 713 단계에서, 개발자는 소개 텍스트, 백그라운드 이미지 및/또는 사운드를 위한 레이아웃과 같은, 사운드를 위한 다양한 속성 및 디자인 옵션을 선택 및/또는 입력하도록 프롬프트될 수 있다. 예를 들면, 개발자는 리스트 보기, 아이콘 보기, 또는 스크롤 보기와 같은, 사운드를 표시하기 위해 사용되는 레이아웃을 선택 또는 생성하고, 및/또는, 사운드의 표시 순서를 선택 또는 수정할 수 있다.
714 단계에서, 판단은 개발자가 새로운 사운드를 추가하기를 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 715 단계에서, 개발자는 오디오 파일을 업로드 및/또는 오디오 파일의 위치를 선택 또는 입력하도록 프롬프트되고, 그리고, 흐름은 716 단계로 진행된다. 여러 실시예에 있어서, 개발자는 개발자의 컴퓨터로부터 파일들을 업로드하거나, URL 또는 다른 네트워크 위치를 입력하는 것에 의해, 사운드 또는 오디오 컨텐츠를 추가할 수 있다. 개발자가 새로운 사운드를 추가하는 것을 원하지 않으면, 판단은 717 단계에서 개발자가 앞서 추가된 사운드를 선택하는 것과 같은 방식으로, 기존의 사운드를 편집하는 것을 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 716 단계에서, 개발자는 명칭, 설명, 아이콘 이미지 등과 같은, 사운드와 관련된 다양한 옵션을 입력 및/또는 선택하도록 프롬프트된다. 사운드를 생성 및 커스터마이징한 후, 흐름은 714 단계로 되돌아가고, 개발자는 새로운 사운드를 추가 및/또는 기존의 사운드를 편집할 수 있다. 개발자가 더 이상 사운드를 추가 또는 편집하기를 원하지 않으면, 718 단계에서, 개발자의 선택, 입력, 및 업로드는 도 9와 관련되어 설명된 유사한 방식과 같이, 모바일 앱을 위해 저장 및/또는 업데이트된다.
도 30은 일 실시예에 따라 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 사운드보드 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예에 있어서, 사운드보드 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 30에 도시된 바와 같이, 어플리케이션 개발 환경은 사운드보드 관리자 윈도우(719)를 포함하고, 이는 개발자가 사운드보드 모듈을 위해 사운드를 추가 및 포맷하도록 한다. 사운드보드 관리자 윈도우(719)는 도 30에 도시된 바와 같이, 개발자가 새로운 사운드를 추가하기 위하여 선택할 수 있는, 사운드 추가 버튼(720) 및 개발자가 사운드보드 모듈을 위해 백그라운드를 선택 및/또는 업로드하도록 하는, 백그라운드 선택기(721)를 포함할 수 있다. 일 실시예에 있어서, 사운드보드 관리자 윈도우(719)는 개발자가 사운드를 위한 오디오 파일들을 선택 및/또는 업로드하도록 하고, 명칭, 아이콘 이미지 및 설명과 같은, 대응하는 정보를 입력하는, 다양한 다른 사운드 입력 필드를 포함할 수 있다.
어플리케이션 개발 환경이 도 30에 보인 바와 같은 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 사운드보드 모듈의 표시의 표현을 포함할 수 있다. 도 30에 보인 바와 같이, 장치 표현(116)을 통해 표시되는 사운드보드 모듈은, 각 사운드를 위한 임의의 정보(예컨대, 이미지, 명칭, 설명, 등)를 표시하고, 및/또는, 사운드 아이콘을 클릭 또는 터치하는 방식으로, 말단 사용자가 사운드를 선택 및 재생하도록 하는, 사운드 아이콘(722)과 같은, 사운드를 표현하는 복수의 아이콘들을 포함할 수 있다.
도 30a는 일 실시예에 따라, 모바일 장치의 표시 상에 사운드보드 모듈의 표시의 일부를 도시하는 도면이다. 도 30a에 보인 바와 같이, 사운드보드 모듈은 모바일 앱이 실행될 때, 모바일 장치의 일부 또는 전체 표시 안에 복수의 사운드를 표시할 수 있다. 일 실시예에 있어서, 사운드는 도 30a에 도시된 바와 같이, 타일 방식으로 표시될 수 있고, 및/또는, 모바일 장치의 디스플레이 상에 표현되는 사운드의 수에 기초하여 자동으로 페이지를 매길 수 있다(auto-paginate).
도 31은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 스티커 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는, 말단 사용자가 모바일 앱을 통해 임의의 사진 또는 이미지(예컨대, 백그라운드)를 배치할 수 있는, 스티커의 세트 또는 다른 이미지 및 컨텐츠를 생성, 업로드, 선택 및/또는 수정하는 것과 같은 방식으로, 그들의 앱에 스티커 모듈을 추가할 수 있다. 도 31에 보인 바와 같이, 725 단계에서, 개발자는 앱에 스티커 모듈을 추가하거나, 또는, 기존의 스티커 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 726 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 앱을 위한 스티커 모듈을 생성 및 커스터마이징하도록 허용하기 위한 스티커 관리자를 활성화할 수 있다. 일 실시예에 있어서, 스티커 관리자는 스티커의 레이아웃 및 순서와 더불어, 스티커를 입력, 업로드, 선택 및/또는 커스터마이징하는 것과 관련된 다양한 옵션을 개발자에게 제공하기 위한 역할을 수행할 수 있다. 예를 들면, 개발자는 리스트 보기, 아이콘 보기, 또는 스크롤 보기와 같은, 백그라운드 이미지를 표시하는 데에 사용되는 레이아웃을 선택 또는 생성할 수 있고, 및/또는, 그들의 표시 순서를 선택 또는 수정할 수 있다.
727 단계에서, 판단은 백그라운드 이미지를 스티커 모듈에 추가하거나, 기존의 백그라운드 이미지를 편집하기를 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 728 단계에서, 개발자는 (예컨대, 개발자의 컴퓨터로부터) 이미지 파일을 업로드하고, 이미지 파일에 대한 URL 또는 다른 네트워크 위치를 입력하며, 및/또는, 스티커 관리자를 통해 제공되는 미리 정의된 이미지 파일을 선택하도록 프롬트프된다. 일 실시예에 있어서, 개발자는 명칭, 설명 및 아이콘 이미지와 같은, 백그라운드에 대한 다양한 속성 및 옵션을 선택 및/또는 입력하도록 프롬프트될 수 있다. 그런 다음, 흐름은 727 단계로 되돌아가 간다. 만약, 개발자가 백그라운드 이미지를 추가 또는 편집하는 것을 원하지 않는다면, 719 단계에서, 판단은 개발자가 스티커를 스티커 모듈에 추가하거나, 기존의 스티커를 편집하는 것을 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 730 단계에서, 개발자가 (예컨대, 개발자의 컴퓨터로부터) 이미지 파일을 업로드하고, 이미지 파일에 대한 URL 또는 다른 네트워크 위치를 입력하며, 및/또는, 스티커 관리자를 통해 제공되는 미리 결정된 이미지 파일을 선택하도록 프롬프트된다. 일 실시예에 있어서, 개발자는 명칭, 설명 및 아이콘 이미지와 같은, 스티커를 위한 다양한 속성 및 옵션을 선택 및/또는 입력하도록 프롬프트된다. 그런 다음, 흐름은 727 단계로 되돌아간다. 개발자가 백그라운드 및 스티커를 추가 및/또는 편집하는 것을 완료한 후, 731 단계에서, 개발자의 선택, 입력 및 업로드는 도 9와 관련하여 설명된 바와 유사한 방식과 같이, 모바일 앱을 위해 저장 및/또는 업데이트된다.
예를 들면, 일 실시예에 있어서, 스티커 모듈은 모바일 앱 생성 프로세스 동안 개발자에 의해 업로드되거나 또는 선택된 이미지, 및/또는, (예컨대, 다운로드되거나, 이메일 또는 텍스트 메시지를 통해 수신되거나, 또는, 말단 사용자의 모바일 장치 상에 포함되는 카메라에 의해 촬영된) 말단 사용자에 의해 선택된 이미지를 이용할 수 있는, "PicWith" 또는 유사한 기능을 포함한다. 여러 실시예에 있어서, 개발자에 의해 업로드되고 제공된 이미지들 중 하나는 말단 사용자에 의해 선택된 백그라운드 이미지로도 사용하기 위한 전경(foreground) 이미지로 말단 사용자에 의해 선택될 수 있다. 스티커 모듈은 단일 이미지의 외형을 생성하는 것과 같이, 말단 사용자가 포어그라운드 및 백그라운드 이미지를 함께 병합 또는 조합하도록 할 수 있다. 일 실시예에 있어서, 말단 사용자는 병합된 이미지를 저장하고, 병합된 이미지를 다른 개인들에 전송하며, 소셜 네트워킹 사이트와 같은, 웹 사이트에 병합된 이미지를 업로드 및 포스트(post)할 수 있다.
도 32는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 스티커 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예들에 있어서, 스티커 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 32에 보인 바와 같이, 어플리케이션 개발 환경은 스티커 관리자 윈도우(732)을 포함하며, 스티커 관리자 윈도우(732)는 개발자가 스티커 모듈에 대해 백그라운드 및 스티커를 추가, 수정 및 커스터마이징하도록 한다. 스티커 관리자 윈도우(732)는, 개발자가 기존의 백그라운드를 보기 위해 선택할 수 있고, 및/또는, 스티커 모듈에 대해 백그라운드 또는 스티커를 선택 및/또는 업로드할 수 있는, 도 32에 도시된 백그라운드 라이브러리 버튼(733) 및 스티커 라이브러리 버튼(734)와 같은, 하나 이상의 버튼을 포함할 수 있다. 일 실시예에 있어서, 개발자가 백그라운드 라이브러리 버튼(733) 및/또는 스티커 라이브러리 버튼(734)을 선택하는 것에 대응하여, 스티커 관리자 윈도우(719)는 선택을 위해 하나 이상의 미리 정의된 백그라운드 또는 스티커를 개발자에게 제공할 수 있다. 도 32에 보인 바와 같이, 스티커 관리자 윈도우(732)는 개발자가 이미지 파일에 대한 네트워크 위치를 업로드 및/또는 입력하도록 하는 스티커 추가 버튼(735)을 포함할 수 있다.
어플리케이션 개발 환경이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 스티커 모듈의 표시의 표현을 포함할 수 있다. 도 32에 보인 바와 같이, 장치 표현(116)을 통해 표시된 스티커 모듈은 이용 가능한 스티커를 표현하는 스티커 아이콘(736)과 같은, 복수의 아이콘 및 사용자가 스티커에 포함시킬 수 있는, 백그라운드 이미지(737)와 같은, 하나 이상의 백그라운드 이미지들을 포함할 수 있다. 일 실시예에 있어서, 스티커 모듈은 말단 사용자가 모바일 장치 상으 터치스크린을 이용하여 백그라운드 이미지 상에 스티커를 드래그 앤 드랍하도록 허용하는 것과 같이, 말단 사용자의 모바일 장치에서 제공되는 특징을 이용할 수 있다. 유사하게, 일 실시예에 있어서, 말단 사용자는 핀치 앤 줌 제스처(pinch and zoom gestures, 손가락 두 개를 터치한 상태에서 손가락을 벌리거나 오므리는 제스처)를 통해 스티커를 줄이거나 늘리는 것과 같은 방식, 및/또는 회전 제스처(rotate gesture)를 이용하여 스티커를 회전시키는 방식과 같이, 스티커를 편집하거나, 조작할 수 있다. 일 실시예에 있어서, 말단 사용자는 스티커 모듈에서 사용하기 위해 그들의 모바일 장치 상에 저장되는 백그라운드 및 이미지를 선택할 수 있다.
일 실시예에 따르면, 스티커 모듈을 통해 백그라운드 이미지를 수정한 후, 말단 사용자는 (예컨대, 그들의 모바일 장치 상에 및/또는 원격 네트워크 위치에) 스티커를 포함하는 수정된 이미지를 저장할 수 있고, 및/또는, 소셜 미디어 웹 사이트를 통해, 및/또는, 그들의 모바일 장치에서 이용할 수 있는 이메일 기능을 통해, 여러 수정된 이미지들을 공유할 수 있다. 도 32a는 일 실시예에 따른, 모바일 장치의 표시 상에 스티커 모듈의 표시의 일부를 도시하는 도면이다. 도 32a에 보인 바와 같이, 스티커 모듈은 모바일 장치의 표시 일부 또는 전부 내에 말단 사용자에 의해 추가된 하나 이상의 스티커를 가지는 백그라운드 이미지를 표시할 수 있다.
도 33은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱을 위한 메뉴 또는 리스트 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 모바일 앱에 포함시키기 위한 아이템의 리스트 또는 메뉴(예컨대, 식당 메뉴 또는 고용인 리스트)를 생성, 업로드, 선택 및/또는 수정하기 위해, 앱에 메뉴 또는 리스트 모듈을 포함시킬 수 있다. 도 23에 보인 바와 같이, 740 단계에서, 개발자는 앱에 메뉴 또는 리스트 모듈을 추가하거나, 기존의 메뉴 또는 리스트 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 741 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 메뉴 또는 리스트 모듈을 생성 및 커스터마이징하도록 하는 메뉴 또는 리스트 관리자를 활성화시킬 수 있다. 메뉴 또는 리스트 관리자는 개발자에게 메뉴 또는 리스트 모듈에 포함시킬 수 있는 메뉴 아이템 및/또는 리스트 아이템을 선택, 특정, 및/또는 포맷팅하는 것과 관련된 다양한 옵션을 제공하는 역할을 수행한다. 742 단계에서, 개발자는 아이템을 표시하기 위한 순서, 레이아웃, 하나 이상의 카테고리 및 다양한 포맷팅 옵션, 등과 같은, 메뉴 또는 리스트 모듈을 위한 다양한 디자인 옵션을 선택하도록 프롬프트될 수 있다. 예를 들면, 여러 실시예에 있어서, 개발자는 아이템의 카테고리를 포함하는 하나 이상의 페이지, 또는 리스트 기반 레이아웃으로 표시되는 아이템을 가지도록 선택할 수 있다.
734 단계에서, 판단은 개발자가 새로운 메뉴 또는 리스트 아이템을 추가 또는 기존의 메뉴 또는 리스트 아이템을 편집하기를 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 개발자는 명칭, 가격, 설명, 및/또는 제안된 무료 아이템과 같은, 아이템에 대한 다양한 정보를 선택, 수정 및/또는 입력하도록 프롬프트된다. 744 단계에서, 개발자는 개발자의 컴퓨터로부터 파일을 업로드, 미리 정의된 이미지를 선택, 또는, 이미지에 대한 네트워크 위치를 입력하는 것과 같은 방식으로, 아이템에 대한 아이콘 이미지를 추가 또는 수정하도록 프롬프트된다. 그런 다음, 흐름은 734 단계로 되돌아간다. 개발자가 메뉴 또는 리스트 모듈에 대해 아이템을 추가 및/또는 편집하는 것을 완료하면, 745 단계에서, 메뉴 또는 링크 모듈에 대한 개발자의 입력 및 선택은 도 9와 관련하여 설명된 것과 유사한 방식으로 모바일 앱을 위해 저장 및/또는 업데이트된다.
도 34는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 토해 개발자에 의해 접속되는 리스트 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예들에 있어서, 리스트 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 34에 보인 바와 같이, 어플리케이션 개발 환경은 개발자가 리스트 아이템을 추가, 수정 및 커스터마이징하고, 그들의 레이아웃을 커스터마이징하도록 하는, 리스트 관리자 윈도우(747)를 포함한다. 리스트 관리자 윈도우(747)는 개발자가 새로운 아이템을 추가하도록 선택할 수 있는, 도 34에 도시된 아이템 추가 버튼(748)과 같은, 하나 이상의 버튼들을 포함할 수 있다. 일 실시예에 있어서, 개발자가 아이템 추가 버튼(748)을 선택하는 것에 대응하여, 리스트 관리자 윈도우(747)는 개발자가 명칭, 설명 및 아이콘 이미지를 포함하는 아이템에 대한 다양한 정보를 선택, 업로드 및/또는 입력하도록 하는, 도 34에 도시된 아이템 이미지 버튼(749) 및 아이템 입력 필드(750)와 같은, 하나 이싱의 버튼 및/또는 입력 필드를 제공할 수 있다.
어플리케이션 개발 환경이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 메뉴 또는 리스트 모듈의 표시의 표현을 포함할 수 있다. 도 34에 보인 바와 같이, 장치 표현(116)을 통해 표시된 리스트 모듈은 리스트 아이템 서브 윈도우(751)과 같은, 복수의 서브 윈도우를 포함할 수 있다. 리스트 아이템 서브 윈도우(751)는 말단 사용자에게 리스트 아이템과 관련된 다양한 정보를 제공하고, 추가 정보를 보기 위해, 또는, 리스트 아이템을 구매하기 위해, 말단 사용자가 리스트 아이템을 브라우징하고 및/또는 선택하도록 한다.
일 실시예에 있어서, 개발자는 식단 또는 바 메뉴, 제품 및 서비스의 리스트, 고용인들의 리스트, 사업소 또는 가게 위치의 리스트, 등과 같은, 다양한 메뉴 또는 리스트를 생성하기 위해, 메뉴 또는 리스트 모듈을 사용할 수 있다. 도 34a는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 메뉴 모듈을 가지는 모바일 앱의 표시의 일부를 도시하는 도면이다. 도 34a에 보인 바와 같이, 메뉴 모듈은 다양한 카테고리로 그룹화되는 복수의 식당 메뉴 아이템을 포함한다.
여러 실시예에 있어서, 개발자는, (예컨대, 앱과 관련된 식당의 순서를 제출하는 방식으로) 말단 사용자가 앱을 통해 하나 이싱의 메뉴 아이템을 선택 및/또는 구매하도록 하기 위하여, 메뉴 또는 리스트 모듈 내에 전자상거래 또는 유사한 서브 모듈을 포함시킬 수 있다. 도 34b 및 도 34c는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 전자상거래 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 전자 상거래 관리자는 개발자가 쇼핑 카드 기반 주문 시스템과 같은, 그들의 모바일 앱에 포함된 메뉴 또는 리스트 모듈(또는 다른 모듈들)에 전자상거래 및 앱 내 구매를 추가하도록 한다. 예를 들면, 모바일 앱이 메뉴 모듈을 포함하면, 개발자는 말단 사용자에 의해 구매 가능한 임의의 메뉴 아이템을 선택하고, 그러한 아이템에 사용하기 위한 주문 형식을 생성 및 커스터마이징할 수 있다. 도 34b에 보인 바와 같이, 어플리케이션 개발 환경은 배달, 찾으러 가기(pick-up), 포장(take-out), 내부에서 식사(dine-in)와 같은, 앱을 통해 구매된 아이템을 위한 다양한 배달 방법을 선택하도록 하는, 주문 배달 방법 윈도우(752)를 포함할 수 있다. 유사하게, 도 34c에 보인 바와 같이, 어플리케이션 개발 환경은 주문 배달 확인 방법 윈도우(753)을 포함할 수 있다. 주문 배달 확인 방법 윈도우(753)는 개발자가 이메일 또는 QR 코드와 같이, 앱을 통해 구매된 아이템에 대한 다양한 확인 방법을 선택하도록 한다.
어플리케이션 개발 환경이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 전자상거래 서브 모듈의 표시의 표현을 포함할 수 있다. 도 34b에 보인 바와 같이, 장치 표현(116)을 통해 표시된 전자상거래 서브 모듈은 주문 배달 방법 윈도우(752)에서 개발자의 선택 및 입력에 기초한 입력 형식을 포함할 수 있고, 이는 말단 사용자가 주문 배달 방법을 선택하고, 및/또는 다양한 주문 관련 정보를 입력하도록 한다. 도 34c에 보인 바와 같이, 장치 표현(116)을 통해 표시되는 전자상거래 서브 모듈은 주문 배달 확인 방법 윈도우(753)에서 개발자의 선택에 기초한 주문 확인 방법(예컨대, QR 코드)의 표현을 포함할 수 있다.
여러 실시예에 따르면, 말단 사용자가 주문 및 구매를 위해 다양한 아이템을 선택하고, 및/또는 전자상거래 서브 모듈을 가지는 모바일 앱을 통해 주문을 완료하기를 요구하는 것을 나타낸 후, 전자상거래 서브 모듈은 말단 사용자에 대한 체크아웃 폼(checkout form)을 표시할 수 있다. 체크아웃 폼은 말단 사용자가 말단 사용자의 이름, 이메일, 어드레스 및 주문 시간과 같은, 주문과 관련된 임의의 정보를 입력하도록 하는 폼 필드와 같은, 다양한 필드를 포함할 수 있다. 모바일 앱이 식당과 관련되는 경우와 같은, 일 실시예에 있어서, 주문 폼은 말단 사용자가 주문 방법(예컨대, 배달, 포장, 내부에서 식사)을 선택하도록 하는, 메뉴를 포함할 수 있다. 여러 실시예들에 있어서, 모바일 앱은 주문 방법을 선택하도록 말단 사용자에게 프롬프트하기 위하여, 팝업 윈도우와 같은, 개별 윈도우를 제공할 수 있다. 여러 실시예들에 있어서, 말단 사용자가 주문 정보를 입력 및/또는 제출한 후, 전자상거래 서브 모듈은 말단 사용자가 이메일 또는 QR 코드 확인과 같은, 주문 절차 및 확인에 대한 방법을 선택하도록 프롬프트할 수 있다. 여러 실시예에 있어서, 모바일 앱은 주문 절차 팝업 윈도우와 같은, 개발 윈도우에 말단 사용자에게 이 선택을 표시할 수 있다. 만약, 말단 사용자가 QR 코드 정보를 수신하도록 선택하면, QR 코드는 모바일 장치의 표시 상에 말단 사용자에게 표시될 수 있다.
도 35는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 쿠폰 모듈을 커스터마이징하기 위한 프로세스를 도시하는 도면이다. 일 실시예에 있어서, 개발자는 모바일 앱을 통해 말단 사용자에 대한 쿠폰, 보상 등과 같은 것을 생성, 커스터마이징 및 수정하기 위해, 쿠폰 모듈을 포함시킬 수 있다. 도 35에 보인 바와 같이, 754 단계에서, 개발자는 쿠폰 모듈을 앱에 추가 또는 기존의 쿠폰 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 모바일 개발 및 배포 플랫폼은 개발자가 쿠폰 모듈을 생성 및 커스터마이징하도록 쿠폰 관리자를 활성화시킬 수 있다. 쿠폰 관리자는 쿠폰을 위한 임의의 특징, 컨텐츠 및 옵션을 입력, 업로드, 생성 및 커스터마이징하는 것과 관련된 다양한 옵션을 제공하고, 모바일 앱을 다운로드한 말단 사용자에게 쿠폰을 배달하는 역할을 수행한다. 756 단계에서, 판단은 개발자가 새로운 쿠폰을 추가하거나, 기존의 쿠폰을 편집하는 것을 원하는지 여부에 관하여 이루어진다. 그렇지 않으면, 흐름은 760 단계로 진행된다. 그렇지 않으면, 개발자는 757 단계에서 제목, 설명, 코드 및/또는 프로모션 명칭과 같은, 쿠폰에 대한 다양한 속성, 컨텐츠 및 디자인 옵션을 입력, 선택 및/또는 업로드 하도록 프롬프트된다. 일 실시예에 있어서, 개발자는 쿠폰이 모바일 장치의 표시 상에 표시되는 위치 및 방법과 같은, 다양한 레이아웃 또는 표시 옵션을 선택하도록 허용될 수 있다. 758 단계에서, 개발자는 쿠폰이 적용되는 아이템(예컨대, 상품 및 서비스)를 선택 및/또는 입력하도록 프롬프트될 수 있다. 759 단계에서, 개발자는 쿠폰을 수신할 말단 사용자 및 배달의 날짜, 시간, 주기 및/또는 방법과 같은, 다앙한 배달 옵션을 선택 및/또는 입력하도록 프롬프트될 수 있다. 그런 다음, 흐름은 개발자가 쿠폰을 추가 또는 편집하는 것을 계속하도록 756 단계로 되돌아간다. 개발자가 쿠폰 모듈을 생성 및/또는 수정하는 것을 완료하면, 760 단계에서, 쿠폰 모듈을 위한 개발자의 입력 및 선택은 도 9와 관련하여 설명된 유사한 방식으로 모바일 앱을 위해 저장 또는 업데이트된다.
도 36은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접속되는 쿠폰 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예에 있어서, 쿠폰 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 36에 보인 바와 같이, 어플리케이션 개발 환경은 쿠폰 관리자 윈도우(761)을 포함하며, 이는 개발자가 쿠폰을 추가, 수정 및 커스터마이징하도록 한다. 쿠폰 관리자 윈도우(761)는 도 36에 도시된 쿠폰 추가 버튼(762)과 같은 하나 이상의 버튼을 포함할 수 있고, 쿠폰 추가 버튼(762)은 개발자가 새로운 쿠폰을 추가하기 위해 선택할 수 있다. 일 실시예에 있어서, 개발자가 쿠폰 추가 버튼(762)을 선택하는 것에 대응하여, 쿠폰 관리자 윈도우(761)는 도 36에 도시된 쿠폰 입력 필드(763)와 같은, 하나 이상의 입력 필드를 제공할 수 있고, 이 쿠폰 입력 필드(763)는 개발자가 쿠폰에 대한 다양한 정보를 선택, 업로드 및/또는 입력하도록 할 수 있다.
어플리케이션 개발 환경이 모바일 장치 상에 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 안에 쿠폰 모듈의 표시의 표현을 포함할 수 있다. 장치 표현(116)을 통해 표시된 쿠폰 모듈은 복수의 쿠폰을 포함할 수 있고, 추가 정보를 보기 위해, 또는 적용할 수 있는 아이템을 구매하기 위해 쿠폰을 이용하기 위해, 말단 사용자가 쿠폰을 브라우징하고, 및/또는 쿠폰을 선택하도록 할 수 있다. 도 36에 보인 바와 같이, 쿠폰 모듈은 말단 사용자가 물건을 사는 것과 관련하여 물리 점포에 제공할 수 있는, 쿠폰과 관련된 QR 쿠폰 코드(764)와 같은, QR 코드 또는 유사한 코드를 표시할 수 있다.
도 37은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 모바일 앱에 포함되는 음반 모듈을 커스터마이징하기 위한 프로세스를 도시하는 흐름도이다. 일 실시예에 있어서, 개발자는 모바일 앱을 통해 말단 사용자에게 아티스트 및 아티스트의 음악 또는 작품과 관련된 정보를 제공하기 위한, 및/또는, 말단 사용자가 아티스트의 음악 및 다른 관련 아이템을 구매하도록 하는, 음반 모듈을 포함시킬 수 있다. 도 37에 보인 바와 같이, 770 단계에서, 개발자는 음반 모듈을 앱에 추가하거나, 기존의 음반 모듈을 편집하는 옵션을 선택할 수 있다. 이에 대응하여, 771 단계에서, 모바일 개발 및 배포 플랫폼은 개발자가 음반 모듈을 생성 및 커스터마이징하도록 하기 위하여 음반 관리자를 활성화시킬 수 있다. 음반 관리자는 개발자에게 아티스트 또는 밴드와 관련된 임의의 특징, 컨텐츠 및 옵션을 입력, 업로드, 생성 및 커스터마이징하는 것과 관련된 다양한 옵션을 제공하는 역할을 수행한다. 772 단계에서, 개발자는 이름, 설명, 전기, 이미지 및 유사한 정보와 같은, 아티스트를 위한 다양한 정보를 입력, 선택 및/또는 업로드할 수 있고, 및/또는, 아티스트의 앨범 및 노래를 표시하기 위한 레이아웃 및 순서와 같은, 다양한 디자인 옵션을 선택할 수 있다.
773 단계에서, 판단은 개발자가 새로운 앨범을 추가 또는 기존 앨범을 편집하기를 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 774 단계에서, 개발자는 명칭, 이미지, 출시일, 및/또는 설명과 같은, 앨범과 관련된 다양한 정보를 선택 및/또는 입력하도록 프롬프트될 수 있고, 흐름은 773 단계로 되돌아간다. 그렇지 않으면, 775 단계에서, 판단은 개발자가 새로운 노래를 추가하거나, 또는, 기존 노래를 편집하는 것을 원하는지 여부에 관하여 이루어진다. 만일 그렇다면, 개발자는 776 단계에서 이름, 설명, 가사 및 앨범, 또는, 노래가 포함된 앨범과 같은, 노래와 관련된 다양한 정보를 선택 및/또는 입력하도록 프롬프트될 수 있다. 일 실시예에 있어서, 개발자는 노래에 대한 오디오 파일을 업로드하고, 및/또는, 노래가 접속될 수 있는 네트워크 위치를 입력하도록 프롬프트될 수 있다. 그런 다음, 흐름은 773 단계로 되돌아간다. 앨범 및 노래를 추가 및/또는 편집하는 것을 완료하면, 777 단계에서, 음반 모듈에 대한 개발자의 입력 및 선택은 도 9와 관련하여 설명된 것과 유사한 방식으로 모바일 앱을 위하여 저장 및/또는 업데이트된다.
도 38 및 도 39는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 음반 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예들에 있어서, 음반 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 38에 보인 바와 같이, 어플리케이션 개발 환경은 아티스트 및 그 또는 그녀의 작품과 관련된 다양한 정보를 개발자가 추가, 커스터마이징 및 포맷하도록 하는, 음반 관리자 윈도우(778)을 포함한다. 음반 관리자 윈도우(778)는 개발자가 그 안에서, 이름, 이미지 및 전기와 같은, 아티스트와 관한 다양한 정보를 입력 및/또는 선택할 수 있는, 아티스트 프로파일 필드(779) 및 도 38에 도시된 것처럼, 개발자가 새로운 앨범을 추가하도록 선택할 수 있는, 앨범 추가 버튼(780)과 같은, 하나 이상의 버튼을 포함할 수 있다. 개발자가 앨범 추가 버튼(780)을 선택하는 경우와 같은 일 실시예에 있어서, 음반 관리자 윈도우(778)는 개발자가 이름, 이미지 및 설명과 같은 앨범과 관련된 다양한 정보를 입력 및/또는 선택하도록 하는, 앨범 입력 필드(781) 및 도 39에 도시된 것처럼, 개발자가 노래를 추가하도록 하는, 트랙 추가 버튼(782)을 포함할 수 있다. 유사하게, 개발자가 트랙 추가 버튼(782)을 선택하는 경우와 같은, 여러 실시예들에 있어서, 음반 관리자 윈도우(778)는 이름, 설명, 가사와 같은, 노래와 관련된 다양한 정보를 개발자가 입력 및/또는 선택하도록 하고, 그리고, 노래를 위한 오디오 파일을 업로드 또는 선택하도록 하는, 트랙 입력 필드(783)을 포함할 수 있다.
어플리케이션 개발 환경이 도 38 및 도 39에 보인 바와 같이, 모바일 장치 상에서 앱의 표현을 포함하는 경우와 같은, 일 실시예에 있어서, 장치 표현(116)은 모바일 장치의 표시 내에 음반 모듈의 표시의 표현을 포함할 수 있다. 도 38에 보인 바와 같이, 장치 표현(116)을 통해 표시되는 음반 모듈은 각 앨범에 대한 임의의 정보(예컨대, 아이콘, 명칭, 등)를 표시하고, 말단 사용자가 앨범 서브 윈도우를 클릭하거나, 터치하는 것과 같은 방식으로, 앨범에 관한 추가 정보를 선택 및 접근하도록 하는, 앨범 서브 윈도우(785)와 같은, 아티스트의 앨범을 표현하는 복수의 서브 윈도우와 더불어, 아티스트에 관한 정보를 표시하는 아티스트 서브 윈도우(784)를 포함할 수 있다. 도 39에 보인 바와 같이, 일 실시예에 있어서, 개발자가 특정 앨범을 선택하는 것에 대응하여, 장치 표현(116)을 통해 표시되는 음반 모듈은 각 노래에 대한 임의의 정보(예컨대, 아이콘, 설명, 등)를 표시할 수 있는, 앨범에 포함되는 노래를 표현하는 복수의 서브 윈도우와 더불어, 앨범과 관련된 정보가 표시되는 앨범 윈도우를 포함할 수 있다. 일 실시예에 있어서, 노래 서브 윈도우는, 말단 사용자가 말단 사용자의 모바일 장치에서 이용할 수 있는 기존의 오디오 출력 기능을 이용하여 노래를 재생하도록 하며, 및/또는, 노래를 구매할 수 있는 웹 사이트에 대한 모바일 장치 상의 기존의 브라우저에서 링크를 여는 것에 의해, 말단 사용자가 노래를 구매하도록 하는, 도 39에 도시된 재생 버튼(787) 및/또는 구매 버튼(786)과 같은, 하나 이상의 버튼을 포함할 수 있다. 다른 실시예에 있어서, 개발자는 앞서 전자상거래 서브 모듈과 관련하여 설명된 바와 유사한 방식으로, 음반 모듈 자체의 구매 특징을 포함시킬 수 있다.
일 실시예에 있어서, 개발자는 개발자가 모바일 앱에 포함되는 퀴즈 또는 일반상식 게임을 생성 및 수정하도록 하는 퀴즈 모듈을 포함시킬 수 있다. 퀴즈 모듈은 개발자가 말단 사용자에 대해 모바일 앱에 의해 표시되는, 임의의 퀴즈 아이템, 및 그들의 컨텐츠, 디자인 및 레이아웃을 입력, 선택, 조합 및 커스터마이징하도록 하는 퀴즈 관리자를 포함할 수 있다. 예를 들면, 개발자는 다중 선택, 단답, 등과 같은, 다양한 포맷이 될 수 있는, 하나 이상의 질문을 포함시킬 수 있다. 도 40은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 퀴즈 모듈을 가지는 모바일 앱을 표시하는 모바일 장치의 일부를 도시하는 도면이다. 모바일 장치(400) 상에 모바일 앱을 런칭하고, 퀴즈 모듈에 접속한 후, 퀴즈 모듈은 말단 사용자의 모바일 장치의 디스플레이 안에 말단 사용자에 대한 퀴즈를 표시할 수 있다. 도 40에 도시된 바와 같은, 일 실시예에 있어서, 퀴즈 모듈은 말단 사용자에 대해, 다중 선택 질문과 같은, 퀴즈 아이템을 표시할 수 있다. 이는 다중 퀴즈 질문(790) 및 다중 선택 응답(791)을 포함한다. 여러 실시예들에 있어서, 말단 사용자는 한 번에 하나의 질문만 보도록 허용하고, 순서대로 각 질문에 응답하고, 순차적인 질문 방식을 기초로 하여 퀴즈를 진행시킬 수 있다. 다른 실시예에 있어서, 상기 사용자는 특정 질문을 탐색하고 임의의 원하는 순서로 그 질문에 응답할 수 있다.
일 실시예에 있어서, 말단 사용자가 퀴즈를 완료한 후, 앱은 응답과 답을 비교하여 말단 사용자가 얼마나 많은 질문에 바른 답을 하였는지를 판단하는 방식으로, 말단 사용자의 응답에 대해 점수 또는 등급을 줄 수 있다. 도 40에 보인 바와 같이, 일 실시예에 있어서, 퀴즈 모듈은 퍼센테이지 점수 및/또는 바르게 응답된 질문의 수를 표시하는 방식으로, 퀴즈의 결과를 제공하는, 퀴즈 결과 텍스트(792)를 포함하는, 결과 페이지를 표시할 수 있다. 여러 실시예들에 있어서, 결과 페이지는 말단 사용자가 퀴즈를 반복하도록 하는, 다시하기(play again) 버튼(793)을 포함할 수 있다. 일 실시예에 있어서, 퀴즈 모듈은 말단 사용자가 그 또는 그녀의 결과 및/또는 퀴즈에 참여한 다른 말단 사용자의 결과를 비교하도록 할 수 있다. 여러 실시예에 있어서, 다른 말단 사용자의 결과는 최고 선수들의 명단과 점수를 적은 보드(leader board) 또는 유사한 표시의 형식으로 제공될 수 있다. 말단 사용자는 또한 또는 대안적으로, 말단 사용자의 친구의 결과와 같은, 다른 말단 사용자의 결과의 서브세트를 보도록 허용될 수 있다.
일 실시예에 있어서, 개발자는 개발자가 모바일 앱에 포함시키기 위해, "대화 친구"를 생성, 커스터마이징 및 수정하도록 하는 대화 친구 모듈을 포함시킬 수 있다. 일 실시예에 있어서, 대화 친구 모듈은 모바일 장치를 통해 말단 사용자로부터 입력된 말을 수신하고, 특정 음성으로 말을 출력할 수 있다. 대화 친구 모듈은 말단 사용자가 다양한 버튼, 제스처 및/또는 다른 입력을 통해 상기 모듈과 상호작용하도록 할 수 있다. 일 실시예에 있어서, 대화 친구 모듈은 개발자가 대화 친구를 위한 임의의 특징, 옵션 및 다자인을 입력, 선택, 조합 및 커스터마이징하도록 하는 친구 관리자를 포함할 수 있다. 도 41은 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 접근되는 대화 친구 관리자를 포함하는 어플리케이션 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 개발 및 배포 플랫폼이 웹 기반 서비스를 통해 접속되는 경우와 같은, 여러 실시예들에 있어서, 음반 관리자는 앞서 설명된 연락 관리자의 표시와 유사한 방식으로 표시될 수 있다. 도 41에 도시된 바와 같이, 대화 친구 관리자는 개발자에게 대화 친구 디자인 윈도우(795)에서 대화 친구 모듈을 생성, 편집 및/또는 커스터마이징하는 것과 관련된 다양한 옵션을 제공할 수 있다. 대화 친구 디자인 윈도우(795)는 대화 친구 특성 선택기(796)을 포함하며, 대화 친구 특성 선택기(796)는 특성 헤드, 바디 및 팔 타입, 그리고, 개발자가 대화 친구의 이름을 입력하도록 하는, 대화 친구 이름 필드(797)와 같은, 대화 친구의 시각적인 그리고 다른 특성을 선택하도록 한다. 일 실시예에 있어서, 대화 친구 디자인 윈도우(795)는 대화 친구 표현 윈도우(798)에서와 같이, 개발자가 다양한 선택을 함에 따라 실시간으로 특성의 현재 표현을 업데이트 및 표시할 수 있다.
일 실시예에 있어서, 개발자는 임의의 말단 사용자의 입력에 기초하여 대화 친구에 의해 제공되는 반응 및 취해지는 동작과 더불어, 설명, 음성 타입(예컨대, 피치, 속도, 에코), 등과 같은, 대화 친구와 관련된 다양한 다른 정보를 선택 및 입력할 수 있다. 예를 들면, 개발자는 말단 사용자가 모바일 장치의 스크린을 터치 또는 스위핑하고, 모바일 장치를 흔들며, 및/또는, 모바일 장치에 말하는 것에 대응하는 출력인 다양한 오디오 반응을 선택 및 입력할 수 있다. 일 실시예에 있어서, 말단 사용자는 비디오를 소셜 미디어 웹 사이트에 업로드하는 방식으로, 말단 사용자의 대화 친구와의 상호작용의 비디오 또는 오디오 기록을 기록 및/또는 공유할 수 있다. 도 42는 일 실시에에 따른 모바일 개발 및 배포 플랫폼을 통해 개발된 대화 친구 모듈을 가지는 모바일 앱의 표시의 일부를 도시하는 도면이다. 도 42에 보인 바와 같이, 대화 친구 모듈은 대화 친구 표시 윈도우(799)에 말단 사용자를 위한 하나 이상의 대화 친구를 표시할 수 있다. 일 실시예에 있어서, 대화 친구 표시 윈도우(799)는 말단 사용자가 대화 친구와의 상호작용하기 위해 및/또는, 말단 사용자의 대화 친구와의 상호작용을 기록하기 위해 선택할 수 있는, 다양한 버튼을 포함할 수 있다.
일 실시예에 있어서, 모바일 개발 및 배포 플랫폼을 통해 생성 및/또는 수정되는 모바일 앱에서 "친구와 공유(share with friends)" 또는 유사한 기능을 포함하는 옵션이 주어질 수 있다. 여러 실시예들에 있어서, 친구와 공유 기능은 말단 사용자가 다른 개인들과 함께, 하나 이상의 모바일 앱 및/또는 모듈, 또는, 다른 어플리케이션 컴포넌트, 디자인 요소 및/또는 컨텐츠에 관한, 정보(예컨대, 언급, 평론, 제안)를 공유하도록 한다. 예를 들면, 말단 사용자는 소셜 네트워킹 사이트와 같은, 웹 사이트에 대해 앱 또는 모듈 관련 정보를 포스팅(post)할 수 있다. 다른 예로, 말단 사용자는 말단 사용자의 모바일 장치에 의해 제공되는 이메일, 텍스트 메시징, 또는 유사한 기능을 통해, 하나 이상의 개인에게 이 정보를 전송할 수 있다. 일 실시예에 있어서, 정보는 메시지 입력 또는 그렇지 않으면 말단 사용자에 의해 제공되는 메시지와 더불어, 말단 사용자가 현재 보고 있거나, 접속하는 모바일 앱 및/또는 모듈에 관한 정보를 포함할 수 있다.
다른 형식의 어플리케이션
상술한 설명이 모바일 장치를 위한 어플리케이션의 생성, 디자인 및 배포에 초점을 두었지만, 이 문헌에 도시되고 설명된 모바일 개발 및 배포 및 대응하는 시스템 및 방법은 다른 형식의 어플리케이션의 생성 및 배포와 관련하여 유사한 방식으로 사용될 수 있음을 이해하여야 한다. 예를 들면, 도 1 내지 도 42와 관련하여 도시되고 설명된 모바일 개발 및 배포 플랫폼 및 어플리케이션 개발 환경은 다양한 미디어 장치들(예컨대, 텔레비전 및 스트리밍 장치들)을 통해 접속될 수 있는 어플리케이션과 더불어, 쇼셜 네트워킹 또는 다른 웹 사이트 안에 포함되는 웹 앱과 같은, 웹 기반 어플리케이션을 생성, 커스터마이징, 수정 및 배포하기 위해 개발자에 의해 사용될 수 있다. 상기 플랫폼을 통해 어플리케이션을 생성한 후, 개발자에게는 미디어 장치의 다양한 타입들 또는 웹을 위한 어플리케이션을 발표하기 위한 옵션이 주어질 수 있다. 그런 다음, 상기 플랫폼은 TV 기반 버전의 어플리케이션을 생성하는 것과 같은 방식으로, 플래시 또는 HTML 기반 버전의 어플리케이션을 생성하는 것과 같은 방식으로, 웹 페이지를 통해 접속되고, 웹 페이지 내에 통합될 수 있는 어플리케이션의 형식을 생성할 수 있다.
일 실시예에 있어서, 웹 앱은 페이스북 앱과 같은, 소셜 네트워킹 사이트를 위한 어플리케이션의 형식이 될 수 있다. 여러 실시예들에 있어서, 웹 앱을 생성한 후, 개발자는 말단 사용자에게 웹 앱에 대한 접속을 제공하기 위해 소셜 네트워킹 사이트에서 사용될 수 있는 URL 또는 유사한 링크가 제공될 수 있다. 대안적으로, 또는, 추가적으로, 웹 앱은 웹 사이트를 통해 웹 브라우저로부터 접속될 수 있는 개발자의 웹 사이트와 같은, 웹 사이트 내의 상호작용 웹 앱을 개발자가 포함시키도록 하는, 웹 사이트 위젯의 형식이 될 수 있다. 유사하게, 웹 앱은 모바일 장치에 주로 사용하기 위해 설계되고, 웹 사이트를 통해 모바일 웹 앱에 모바일 장치 사용자가 접속하도록 하는, 모바일 웹 앱의 형식이 될 수 있다. 여러 실시예들에 있어서, 개발자에게는 웹 사이트 상에 놓여질 수 있고, 그 웹 사이트를 모바일 말단 사용자가 상호작용 웹 앱으로 전용할 수 있는, URL 또는 유사한 링크가 제공되어 질 수 있다. 일 실시예에 있어서, 소셜 네트워킹 앱, 웹 사이트 위젯, 모바일 웹 앱 및/또는 텔레비전 앱은 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 개발되는 이전 또는 현재의 모바일 앱의 기능을 모방할 수 있고, 및/또는, 모바일 앱과 동일한 또는 유사하게 말단 사용자에게 보일 수 있다. 여러 실시예에 있어서, 개발자는 모바일 개발 및 배포 플랫폼을 통해 개발자에 의해 생성된 모바일 앱에 기초하여 하나 이상의 웹 앱 또는 텔레비전 앱을 생성하기 위한 옵션이 제공되어질 수 있다.
다른 예로, 이 문헌에 설명된 모바일 개발 및 배포 플랫폼 및 어플리케이션 개발 환경은 모바일 장치를 위한 게임을 생성, 커스터마이징, 수정 및 배포하기 위해 개발자에 의해 사용될 수 있다. 도 43a 내지 도 43c는 일 실시예에 따른 모바일 개발 및 배포 플랫폼을 통해 모바일 게임을 생성, 수정 및 커스터마이징하기 위해 개발자에 의해 사용될 수 있는 게임 개발 환경의 표시의 일부를 도시하는 도면이다. 모바일 게임은 개별 앱으로 생성 및 배포되거나, 또는, 기존의 앱 내의 모듈로 포함될 수 있다. 일 실시예에 있어서, 게임 개발 환경은 도 2와 관련되어 설명된 모바일 개발 환경의 그것에 대한 유사한 특징 및 기능을 가지는 웹 기반 그래픽 인터페이스의 형식이 될 수 있다. 개발자는 모바일 게임과 연관된 다양한 특징, 컨텐츠, 컴포넌트 및 디자인 요소를 선택, 입력, 조합 및 수정하는 것에 의해 모바일 게임을 생성, 수정 및 커스터마이징할 수 있다.
일 실시예에 있어서, 게임 개발 환경은 개발자가 도 43a에 도시된 그들 자신의 물리 기반 및/또는 퍼즐 모바일 게임을 생성, 커스터마이징, 업데이트 및/또는 배포하도록 할 수 있다. 일 실시예에 있어서, 물리 게임 모듈을 통해 생성된 물리 게임은 게임 백그라운드 및/또는 다른 게임 목적에 대하여 게임 목적 및 그들의 관련된 동작의 조합으로 분해된다. 이들 상호작용에 기초하여, 게임의 레벨 스코어 또는 목적이 말단 사용자에 의해 이루어질 수 있다. 여러 실시예에 따르면, 개발자는 물리 모바일 게임을 위한 백그라운드, 게임 목적 및 게임 객체 상호작용을 포함하는 임의의 메인 컴포넌트를 생성 및/또는 선택하도록 허용되어질 수 있다.
도 43a에 보인 바와 같이, 게임 개발 환경은 도 2에 도시된 개발 윈도우(110)와 같이, 게임 개발 윈도우에 물리 모바일 게임의 디자인, 생성 및 커스터마이징과 관련하여 개발자에게 다양한 옵션을 표시할 수 있다. 예를 들면, 개발자 윈도우(110)는 개발자에 의해 선택되는 미리 정의된 게임 객체의 리스트를 포함하는, 게임 객체 메뉴(151)를 포함할 수 있다. 일 실시예에 있어서, 개발자는 또한 또는 대안적으로, 게임에 포함시키기 위한 커스텀 게임 객체를 생성할 수 있다. 개발 윈도우(110)는 개발자가, 게임 플레이의 코스를 통해 객체를 이동시키고, 게임 객체들 간의 상호작용을 위한 규칙을 설정하는 것과 같은 방식으로, 임의의 객체가 백그라운드 및 다른 게임 객체들과 상호작용하는 방법을 특정하도록 하는, 게임 객체 상호작용 선택기(152)를 포함할 수 있다.
일 실시예에 있어서, 도 43a에 보인 바와 같이, 개발 윈도우(110)는 게임 표시 윈도우(150)에 물리 게임의 현재 상태의 가상의 표시를 개발자에게 제공할 수 있고, 및/또는, 개발자가 게임 개발 프로세스를 진행하는 동안 게임을 "플레이"하도록 할 수 있다. 일 실시예에 있어서, 개발 윈도우(110)는 개발자가 백그라운드 이미지를 업로드하고, 다양한 규칙을 선택하고 방법 및 값을 기록하는 것과 같이, 게임을 위한 다양한 설정을 개발자가 선택, 업로드 및/또는 입력하도록 할 수 있는, 게임 설정 버튼(153)을 포함할 수 있다. 개발자가 게임 디자인 및 개발 프로세스를 완료한 후, 모바일 게임은 도 1 내지 도 5와 관련되어 설명된 것과 유사한 방식으로 저장, 컴파일 및 배포될 수 있다. 여러 실시예들에 있어서, 모바일 게임은 하나 이상의 기존의 물리 엔진을 이용하여 컴파일 될 수 있다. 여러 실시예들에 있어서, 개발자는 모바일 게임이 그 안에서 실행되는 모바일 장치 디스플레이의 방향을 선택할 수 있다.
일 실시예에 있어서, 게임 개발 환경은 개발자가 도 43b에 도시된 바와 같이, 그들 자신의 플랫폼을 가지는 모바일 게임들(예컨대, 슈퍼 마리오 브라더스)을 생성하도록 할 수 있다. 여러 실시예들에 있어서, 개발자는 특성 객체, 레벨 객체, 사용자 인터페이스 요소, 규칙, 상호작용 및 사운드를 포함하는 플랫폼 모바일 게임을 위한 임의의 메인 컴포넌트를 생성 및/또는 선택하도록 허용될 수 있다. 여러 실시예들에 있어서, 개발자는 이들 메인 컴포넌트와 관련된 다양한 서브 객체 또는 서브 컴포넌트를 선택 및 수정할 수 있다. 예를 들면, 개발자는 말단 사용자가 목표에 도달하기 위해 게임을 통해 탐색하도록 하는, "영웅" 객체를 게임에 추가할 수 있다. 도 43b에 보인 바와 같이, 일 실시예에 있어서, 게임 개발 환경은 플랫폼 모바일 게임의 디자인, 생성 및 커스터마이징과 관련되어 개발자에게 다양한 옵션을 표시할 수 있고, 그리고, 개발자는 도 43a와 관련되어 앞서 설명된 것과 유사한 방식으로 게임을 위한 다양한 컴포넌트, 디자인 요소 및 특징을 선택, 수정 및 조합할 수 있다.
일 실시예에 있어서, 게임 개발 환경은 개발자가 그들 자신의 슈팅 모바일 게임(shooter mobile games)을 생성하도록 할 수 있다. 예를 들면, 슈팅 게임 모듈(shooter game module)은 개발자가 도 43c에 도시된 바와 같은, 사이드 스크롤 우주 슈팅 게임(side-scrolling space shooter game)을 생성하도록 할 수 있다. 여러 실시예들에 있어서, 개발자는 영웅 객체, 레벨 객체, 적 객체, 사용자 인터페이스 요소, 규칙, 상호작용 및 사운드를 포함하는 슈팅 모바일 게임을 위한 임의의 메인 컴포넌트를 생성 및/또는 선택하도록 허용될 수 있다. 여러 실시예들에 있어서, 개발자는 이들 메인 컴포넌트와 관련된 다양한 서브 객체 또는 서브 컴포넌트를 선택 및 수정할 수 있다. 예를 들면, 개발자는 종료 목표에 도달하기 위해 말단 사용자가 적 객체를 영웅 객체로 파괴하는 목적을 가지는 영웅 객체 및 복수의 적 객체를 게임에 추가할 수 있다. 도 43c에 보인 바와 같이, 일 실시예에 있어서, 게임 개발 환경은 슈팅 모바일 게임의 디자인, 생성 및 커스터마이징과 관련하여 개발자에게 다양한 옵션을 표시할 수 있고, 개발자는 도 43a와 관련하여 앞서 설명된 그것과 유사한 방식으로 게임을 위한 다양한 컴포넌트, 디자인 요소 및 특징을 선택, 수정 및 조합할 수 있다. 여러 실시예들에 있어서, 개발자는 도 43c에 도시된 게임 배향 버튼(155)을 선택하는 방식으로, 모바일 게임이 실행되어지는 모바일 장치 디스플레이의 방향을 선택할 수 있다.
앞서 말한 내용들과 관련하여 설명된 다양한 시스템 및 방법은 예시적인 것이며, 임의의 다른 적합한 시스템 또는 방법이 사용될 수 있음을 이해하여야 한다. 앞서 설명된 것들은 단지 본 발명의 원리를 설명하기 위한 것이며 다양한 수정이 본 발명의 범위 및 사상을 벗어나지 않고 이 기술분야에서 통상의 지식을 가진자에 의해 이루어질 수 있다. 예로써, 모바일 개발 플랫폼의 여러 실시예들이 상기 플랫폼을 통해 개발된 모바일 앱에 포함될 수 있는 특정 특징 및 기능과 관련된 임의의 미리 정의된 앱 타입 및 모듈과 관련되어 설명되었지만, 상기 플랫폼은 어떤 하나 이상의 특징, 기능 또는 컨텐츠와 관련된 미리 정의된 어플리케이션 컴포넌트 및 서브 컴포넌트의 임의의 수, 방식 및 타입을 제공할 수 있다. 이 기술분야에서 통상의 지식을 가진자는 설명된 실시예 이외의 형태로 실시할 수 있음을 이해할 수 있을 것이며, 이 실시예는 설명을 위한 목적으로 제공된 것이지 한정을 위한 것이 아니다. 그리고 본 발명은 오직 다음의 청구범위에 의해 한정되어진다.
100: 개발자 컴퓨터
200: 웹 사이트 서버
210: 데이터베이스 서버
300: 디지털 배포 플랫폼
400: 모바일 장치

Claims (36)

  1. 복수의 모바일 운영체제 상에서 실행되도록 컴파일되는 모바일 어플리케이션을 개발하고 커스터마이징하기 위한 시스템에 있어서,
    내부의 물리 메모리에 저장된 컴퓨터 판독 가능한 매체를 가지는 컴퓨팅 장치를 포함하며, 상기 컴퓨터 판독 가능한 매체에 의해 상기 컴퓨팅 장치가,
    사용자의 모바일 어플리케이션의 개발 및 커스터마이징을 돕는 모바일 어플리케이션 개발 플랫폼에 사용자가 접근하도록 허여하는 단계;
    사용자에게 표시되도록 복수의 커스터마징 가능한 컴포넌트와 관련된 정보를 제공하는 단계로서, 상기 복수의 커스터마징 가능한 컴포넌트는 상기 사용자에 의해 커스터마이징되는 모바일 어플리케이션의 기능, 디자인 및 컨텐츠와 관련되는, 상기 제공하는 단계;
    복수의 표시된 커스터마이징 가능한 컴포넌트와 관계된 복수의 사용자 선택을 수신하는 단계;
    상기 복수의 커스터마이징 가능한 컴포넌트와 관련된 상기 복수의 사용자 선택의, 적어도 일부에, 기초하여 상기 모바일 어플리케이션을 어플리케이션 데이터와 연관시키는 단계로서, 상기 어플리케이션 데이터는 상기 모바일 어플리케이션을 위한 사용자 정의 기능, 디자인 및 컨텍스를 표현하는, 연관시키는 단계;
    상기 어플리케이션 데이터를 저장하는 단계;
    적어도 하나의 모바일 운영체제와 관련된 빌드 도구를 이용하여 상기 어플리케이션 데이터에 기초하는 상기 모바일 어플리케이션을 위한 컴파일된 데이터를 생성하는 단계; 및
    상기 모바일 어플리케이션을 위한 식별자를 포함하는 구성파일(configuration file)을 생성하는 단계로서, 상기 구성파일은 상기 적어도 하나의 모바일 운영체제를 구동하는 모바일 장치로 전송되고, 상기 모바일 장치에서 실행되는, 상기 생성하는 단계;를 포함하여 실행하도록 하며,
    상기 식별자는 상기 모바일 어플리케이션이 상기 모바일 장치에 의해 인스톨되거나 또는 실행되는 것에 대응하여 상기 모바일 장치에 의해 상기 컴파일된 어플리케이션 데이터의 적어도 일부의 리트라이브를 가능하게 하는 것을 특징으로 하는 시스템.
  2. 제1항에 있어서,
    상기 모바일 어플리케이션 개발 플랫폼은 인터넷을 통해 상기 사용자에 의해 접속되는 웹 기반 서비스를 포함하는 것을 특징으로 하는 시스템.
  3. 제1항에 있어서,
    상기 모바일 어플리케이션 개발 플랫폼은 사용자와 관련된 컴퓨터에 인스톨된 소프트웨어 어플리케이션을 통해 접속되는 것을 특징으로 하는 시스템.
  4. 제1항에 있어서,
    상기 컴퓨터 판독 가능한 매체는 상기 사용자로부터 모바일 어플리케이션을 위한 하나 이상의 식별 속성을 수신하는 것을 특징으로 하는 시스템.
  5. 제4항에 있어서,
    상기 하나 이상의 식별 속성은 명칭, 타입, 카테고리, 설명, 고유 식별자 및 날짜로 구성되는 그룹으로부터 선택되는 것을 특징으로 하는 시스템.
  6. 제4항에 있어서,
    상기 하나 이상의 식별 속성은 상기 모바일 어플리케이션과 관련된 어플리케이션 카테고리의 지시자를 포함하는 어플리케이션 타입 속성을 포함하며,
    상기 컴퓨터 판독 가능한 매체는 상기 사용자로부터 새로운 모바일 어플리케이션을 생성하도록 하는 요청을 수신하며; 그리고, 상기 사용자로부터 상기 하나 이상의 식별 특성을 수신하는 것에 대응하여, 상기 어플리케이션 타입 속성의 적어도 일부에 기초하는 복수의 커스터마이징 가능한 컴포넌트에 연관된 정보를 결정하는 것을 특징으로 하는 시스템.
  7. 제4항에 있어서,
    상기 하나 이상의 식별 특성은 기존의 모바일 어플리케이션을 고유하게 식별하는 어플리케이션 식별 특성을 포함하며,
    상기 컴퓨터 판독 가능한 매체는 사용자로부터 기존의 모바일 어플리케이션을 수정하도록 하는 요청을 수신하고; 그리고, 상기 사용자로부터 상기 하나 이상의 식별 특성을 수신하는 것에 대응하여, 상기 어플리케이션 식별 특성의, 적어도 일부에 기초하여 복수의 커스터마이징 가능한 컴포넌트와 관련된 상기 정보를 결정하는 것을 특징으로 하는 시스템.
  8. 제1항에 있어서,
    상기 모바일 어플리케이션과 관련된 상기 어플리케이션 데이터는,
    상기 모바일 어플리케이션에 의해 제공되도록 사용자 정의 기능을 표현하는 어플리케이션 컴포넌트;
    모바일 장치에서 상기 모바일 어플리케이션의 표현과 관련된 사용자 정의 디자인 특징을 표현하는 디자인 요소; 및
    상기 모바일 어플리케이션을 통해 접속되도록 사용자 정의 컨텐츠를 표현하는 컨텐츠 요소;를 포함하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    상기 사용자 정의 기능은 적어도 하나의 세트의 모바일 장치와 관련된 장치 특정 기능을 포함하는 것을 특징으로 하는 시스템.
  10. 제9항에 있어서,
    상기 장치 특정 기능은 나침반, GPS, 자이로스코프, 터치스크린, 카메라, 스피커, 마이크, 블루투스, 와이파이, USB 연결 및 근접각 센서로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 시스템.
  11. 제8항에 있어서,
    상기 사용자 정의 다지인 특징은 레이아웃, 테마, 방향, 폰트 및 스타일로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 시스템.
  12. 제8항에 있어서,
    상기 사용자 정의 컨텐츠는 이미지, 비디오, 사운드, 노래, 링크, 애니메이션, 문서 및 텍스트로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 시스템.
  13. 제8항에 있어서,
    하나 이상의 사용자 정의 기능, 디자인 특징 및 컨텐츠는 상기 사용자와 관련된 컴퓨터로부터 사용자에 의해 업로드된 데이터와 관련되는 것을 특징으로 하는 시스템.
  14. 제8항에 있어서,
    상기 어플리케이션 데이터는 하나 이상의 미리 정의된 컴포넌트 또는 요소를 더 포함하며, 상기 하나 이상의 미리 정의된 컴포넌트 또는 요소 각각은 상기 모바일 어플리케이션과 관련된 기본 기능, 디자인 특징 또는 컨텐츠를 표현하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서,
    상기 하나 이상의 미리 정의된 컴포넌트 또는 요소는 상기 모바일 어플리케이션과 관련된 어플리케이션의 카테고리의 적어도 일부에 기초하여 결정되는 것을 특징으로 하는 시스템.
  16. 제1항에 있어서,
    상기 어플리케이션 데이터를 저장하는 단계는
    상기 컴퓨팅 장치의 물리 메모리에 상기 어플리케이션 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 시스템.
  17. 제1항에 있어서,
    상기 컴퓨팅 장치는 제1 컴퓨팅 장치이며,
    상기 어플리케이션 데이터를 저장하는 단계는 제2 컴퓨팅 장치와 관련된 메모리에 저장을 위한 상기 제2 컴퓨팅 장치로 어플리케이션 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서,
    상기 제2 컴퓨팅 장치는 원격 데이터베이스 서버를 포함하며, 상기 어플리케이션 데이터는 상기 제2 컴퓨팅 장치로 네트워크를 통해 전송되는 것을 특징으로 하는 시스템.
  19. 제1항에 있어서,
    상기 어플리케이션 데이터를 저장하는 단계는 상기 모바일 어플리케이션과 관련된 어플리케이션 데이터베이스에 상기 어플리케이션 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 시스템.
  20. 제19항에 있어서,
    상기 컴퓨터 판독 가능한 매체는 상기 컴퓨팅 장치가
    상기 사용자로부터 기존의 모바일 어플리케이션을 수정하도록 하는 요청을 수신하는 단계;
    기존의 모바일 어플리케이션을 수정하도록 하는 요청을 수신하는 것에 대응하여, 상기 어플리케이션 데이터베이스로부터 상기 기존의 모바일 어플리케이션과 관련된 저장된 어플리케이션 데이터를 리트라이브하는 단계; 및
    상기 저장된 어플리케이션 데이터의 적어도 일부에 기초하여 상기 복수의 커스터마이징 가능한 컴포넌트와 관련된 상기 정보를 결정하는 단계;를 더 포함하여 수행하도록 하는 것을 특징으로 하는 시스템.
  21. 제1항에 있어서,
    상기 컴퓨터 판독 가능한 매체는 상기 컴퓨팅 장치가 상기 모바일 어플리케이션과 관련된 타겟 모바일 장치의 세트를 결정하도록 하며, 상기 적어도 하나의 모바일 운영체제는 상기 타겟 모바일 장치의 세트에 기초하는 것을 특징으로 하는 시스템.
  22. 제21항에 있어서,
    상기 타겟 모바일 장치의 세트를 결정하는 단계는 상기 모바일 어플리케이션이 실행되는 타겟 모바일 장치의 세트와 관련된 지시자를 포함하는 타겟 장치 선택을 상기 사용자로부터 수신하는 단계를 포함하는 것을 특징으로 하는 시스템.
  23. 제21항에 있어서,
    상기 타겟 모바일 장치의 세트를 결정하는 단계는 상기 모바일 어플리케이션을 타겟 모바일 장치의 기본 세트와 관련 짖는 단계를 포함하는 것을 특징으로 하는 시스템.
  24. 제21항에 있어서,
    상기 타겟 모바일 장치의 세트는 모바일 장치 카테고리, 모바일 장치 타입 및 모바일 장치 모델로 구성된 그룹으로부터 선택되는 것을 특징으로 하는 시스템.
  25. 제1항에 있어서,
    상기 컴퓨터 판독 가능한 기록매체는 상기 컴퓨팅 장치가
    말단 사용자에게 모바일 어플리케이션을 배포하기 위한 사용자로부터 요청을 수신하는 단계;
    모바일 운영체제와 관련된 디지털 배포 플랫폼으로, 모바잉ㄹ 어플리케이션을 배포하기위한 요청하는 수신하는 것에 대응하여, 모바일 어플리케이션을 제출하는 단계; 및
    말단 사용자에게 배포를 위해 디지털 배포 플랫폼으로 구성파일을 전달하는 단계;를 더 포함하여 수행하도록 하는 것을 특징으로 하는 시스템.
  26. 제25항에 있어서,
    상기 컴퓨터 판독 가능한 기록매체는 상기 컴퓨팅 장치가 디지털 배포 플랫폼으로 모바일 어플리케이션의 제출과 관련된 승인 프로세스를 자동을 관리하도록 하는 것을 특징으로 하는 시스템.
  27. 제1항에 있어서,
    상기 구성 파일은 컴파일된 어플리케이션 데이터의 적어도 일부를 더 포함하는 것을 특징으로 하는 시스템.
  28. 제1항에 있어서,
    상기 컴퓨터 판독 가능한 기록매체는 상기 컴퓨팅 장치가
    말단 사용자에게 전에 배포된 배포 모바일 어플리케이션을 업데이트하도록 상기 사용자로부터 요청을 수신하는 단계;
    상기 배포 모바일 어플리케이션과 관련된 저장된 어플리케이션 데이터를 리트라이브하는(retrieve) 단계;
    사용자 정의 커스터마이징 가능한 컴포넌트와 관련된 정보를 상기 사용자에게 표시되도록 전송하는 단계;로서, 상기 사용자 정의 커스터마이징 가능한 컴포넌트는 저장된 어플리케이션 데이터의 적어도 일부에 기초하는, 상기 전송하는 단계;
    상기 표시된 사용자 정의 커스터마이징 가능한 컴포넌트와 관련된 사용자 업데이트 선택을 수신하는 단계; 및
    사용자 정의 커스터마이징 가능한 컴포넌트와 관련된 하나 이상의 사용자 업데이트 선택의 적어도 일부에 기초하는 모바일 어플리케이션과 관련된 상기 저장된 어플리케이션 데이터를 업데이트하는 단계;를 더 포함하여 수행하도록 하는 시스템.
  29. 제28항에 있어서,
    상기 배포된 모바일 어플리케이션은 상기 모바일 장치에 설치되며,
    상기 컴퓨터 판독 가능한 매체는 상기 컴퓨팅 장치가,
    상기 배포된 모바일 어플리케이션이 상기 모바일 장치 상에서 런칭 또는 실행되는 것에 대응하여, 상기 모바일 장치로부터 요청을 수신하는 단계로서, 상기 요청은 상기 배포된 모바일 장치와 관련된 식별자를 포함하는, 상기 수신하는 단계; 및
    상기 배포된 모바일 어플리케이션과 관련된 업데이트되고 저장된 어플리케이션 데이터의 적어도 일부를 상기 모바일 장치로 전송하는 단계;를 더 포함하여 수행하도록 하는 것을 특징으로 하는 시스템.
  30. 복수의 모바일 운영체제에서 구동시키기 위해 컴파일된 모바일 어플리케이션 개발 및 커스터마이징을 위한 방법으로, 명령을 통해 실행되는 컴퓨팅 장치가,
    상기 컴퓨팅 장치에서 사용자 입력 장치를 통해 사용자로부터 모바일 어플리케이션 개발 플랫폼에 접속하기 위한 요청을 수신하는 단계로서, 상기 모바일 개발 플랫폼은 사용자의 모바일 어플리케이션의 개발 및 커스터마이징을 돕도록 하는, 상기 수신하는 단계;
    사용자가 모바일 어플리케이션 개발 플랫폼에 접속하는 것을 허여하는 단계;
    상기 컴퓨팅 장치로부터 복수의 커스터마이징 가능한 컴포넌트가 상기 사용자 입력 장치와 관련된 디스플레이 상에서 상기 사용자에게 제공되도록 하는 정보를 전송하는 단계로서,
    상기 복수의 커스터마이징 가능한 컴포넌트는 상기 사용자에 의해 커스터마이징되는 모바일 어플리케이션의 기능, 디자인 및 컨텐츠와 관련되는, 상기 전송하는 단계;
    상기 컴퓨팅 장치에서 상기 복수의 제공된 커스터마이징 요소와 관련된 복수의 사용자 선택을 수신하는 단계;
    상기 복수의 커스터마이징 가능한 컴포넌트와 관련된 상기 복수의 사용자 선택의 적어도 일부에 기초하는 모바일 어플리케이션을 어플리케이션 데이터에 연관시키는 단계로서, 상기 어플리케이션 데이터는 상기 컴퓨팅 장치와 연관된 메모리에 저장되는, 상기 연관시키는 단계;
    상기 컴퓨팅 장치에서 적어도 하나의 모바일 운영체제와 관련된 빌드 도구를 이용하여 상기 어플리케이션 데이터에 기초하는 모바일 어플리케이션을 위한 컴파일된 데이터를 생성하는 단계; 및
    상기 컴퓨팅 장치에서, 상기 모바일 어플리케이션을 위한 식별자를 포함하는 구성파일을 생성하는 단계로서, 상기 구성파일은 상기 적어도 하나의 모바일 운영체제를 구동하는 모바일 장치로 전송되고, 상기 모바일 장치에서 실행되는, 상기 생성하는 단계;를 포함하여 수행하며,
    상기 식별자는 상기 모바일 어플리케이션이 상기 모바일 장치에 의해 설치되거나 또는 실행되는 것에 대응하여 상기 모바일 장치에 의해 상기 컴파일된 어플리케이션 데이터의 적어도 일부의 리트라이브를 가능하게 하는 것을 특징으로 하는 방법.
  31. 복수의 모바일 운영체제에서 구동시키기 위하여 컴파일된 모바일 어플리케이션을 개발 및 커스터마이징하기 위한 시스템에 있어서,
    제1 프로세서를 포함하는 제1 컴퓨터로서, 상기 제1 컴퓨터는 사용자의 모바일 어플리케이션의 개발 및 커스터마이징을 돕는 모바일 어플리케이션 개발 플랫폼을 제공하는, 상기 제1 컴퓨터;
    제2 컴퓨터 제2 프로세서 및 상기 제2 프로세서와 연결된 물리 메모리를 포함하는 제2 컴퓨터로서, 상기 제2 컴퓨터는 상기 제1 컴퓨터와 통신하는 것을 특징으로 하는, 상기 제2 컴퓨터;
    상기 제1 프로세서는
    디스플레이 회로를 포함하는 사용자 입력 장치를 통해 상기 모바일 어플리케이션 개발 플랫폼에 사용자가 접근하도록 허여하고;
    상기 사용자 입력 장치에 표시하기 위해 복수의 커스터마이징 가능한 컴포넌트와 연관된 정보를 상기 사용자 입력 장치로 전송하되, 상기 복수의 커스터마이징 가능한 컴포넌트는 상기 사용자에 의해 커스터마이징되는 모바일 어플리케이션의 기능, 디자인 및 컨텐츠와 관련되며;
    상기 사용자 입력 장치로부터 상기 복수의 전송된 커스터마이징 가능한 컴포넌트와 관련된 복수의 사용자 선택을 수신하고;
    상기 모바일 어플리케이션과 연관된 어플리케이션 데이터를 상기 제2 컴퓨터로 전송하되, 상기 어플리케이션 데이터는 상기 복수의 커스터마이징 가능한 컴포넌트와 연관된 복수의 사용자 선택의 적어도 일부에 기초하며;
    적어도 하나의 모바일 운영체제에 관련된 빌드 도구를 이용하여 상기 어플리케이션 데이터에 기초하는 상기 모바일 어플리케이션을 위한 컴파일된 데이터를 생성하고; 그리고,
    상기 모바일 어플리케이션을 위한 식별자를 포함하는 구성파일을 생성하되, 상기 구성파일은 상기 적어도 하나의 모바일 운영체제를 구동하는 모바일 장치로 전송되고, 상기 모바일 장치에서 실행되며;
    상기 제2 프로세서는 상기 제1 컴퓨터로부터 상기 어플리케이션 데이터를 수신하는 것에 대응하여, 상기 제2 컴퓨터의 물리 메모리 상에 상기 어플리케이션 데이터를 저장하며; 그리고,
    상기 식별자는 상기 모바일 어플리케이션이 상기 모바일 장치에 의해 인스톨되거나 또는 실행되는 것에 대응하여, 상기 모바일 장치에 의해 상기 컴파일된 데이터의 적어도 일부의 리트라이브를 가능하게 하는 것을 특징으로 하는 시스템.
  32. 제31항에 있어서,
    상기 제1 컴퓨터 및 상기 제2 컴퓨터는 단일 컴퓨터로 병합되는 것을 특징으로 하는 시스템.
  33. 제32항에 있어서,
    상기 제2 프로세서는 상기 제1 프로세서에 병합되는 것을 특징으로 하는 시스템.
  34. 제31항에 있어서,
    컴파일된 데이터를 생성하는 기능 및 구성 파일을 생성하는 기능 중 하나 또는 양자 모두는 상기 제2 프로세서에 의해 수행되는 것을 특징으로 하는 시스템.
  35. 제34항에 있어서,
    상기 제2 프로세서는
    상기 모바일 장치로부터 상기 모바일 어플리케이션과 연관된 식별자를 포함하는 요청을 수신하는 것에 대응하여, 상기 컴파일된 데이터의 적어도 일부를 상기 모바일 장치로 전송하는 것을 특징으로 하는 시스템.
  36. 다양한 모바일 장치와 관련된 복수의 모바일 운영체제 상에서 구동시키기 위해 컴파일된 모바일 어플리케이션을 개발하기 위한 시스템에 있어서,
    내부의 물리 메모리에 저장된 컴퓨터 판독 가능한 매체를 가지는 컴퓨팅 장치를 포함하며, 상기 컴퓨터 판독 가능한 매체에 의해 상기 컴퓨팅 장치는,
    사용자의 모바일 어플리케이션의 개발 및 커스터마이징을 돕는 모바일 어플리케이션 개발 플랫폼에 사용자가 접근하도록 허여하는 단계;
    상기 사용자에 의해 커스터마이징되는 모바일 어플리케이션과 관련된 어플리케이션 카테고리의 지시자를 포함하는 어플리케이션 타입 속성의 사용자로부터의 선택을 수신하는 단계;
    선택된 어플리케이션 타입 속성의 적어도 일부에 기초하는 복수의 커스터마이징 가능한 컴포넌트를 결정하는 단계로서, 상기 복수의 커스터마이징 가능한 컴포넌트는 모바일 어플리케이션의 기능, 디자인 및 컨텐츠와 관련되는, 상기 결정하는 단계;
    상기 복수의 커스터마이징 가능한 컴포넌트가 상기 사용자로 제공되도록 하는 정보를 전송하는 단계;
    상기 사용자로 제공되는 상기 복수의 커스터마이징 가능한 컴포넌트와 관련된 복수의 사용자 선택을 수신하는 단계;
    상기 복수의 제공된 커스터마이징 가능한 컴포넌트와 관련된 상기 복수의 사용자 선택의 적어도 일부에 기초하여 상기 모바일 어플리케이션을 어플리케이션 데이터와 연관시키는 단계로서, 상기 물리 메모리에 저장되는 상기 어플리케이션 데이터가, 상기 모바일 어플리케이션에 의해 제공되는 사용자 정의 기능을 표현하는 적어도 하나의 어플리케이션 컴포넌트와, 모바일 장치 상에서 상기 모바일 어플리케이션의 표현과 관련된 사용자 정의 디자인 특성을 표현하는 적어도 하나의 디자인 요소와, 상기 모바일 어플리케이션을 통해 접속되는 사용자 정의 컨텐츠를 표현하는 적어도 하나의 컨텐츠 요소를 포함하는, 상기 연관시키는 단계;
    모바일 어플리케이션이 실행되는 적어도 하나의 세트의 타겟 모바일 장치를 결정하는 단계;
    모바일 운영체제와 관련된 빌드 도구를 이용하여 상기 어플리케이션 데이터에 기초하는 모바일 어플리케이션을 위한 컴파일된 데이터를 생성하는 단계로서, 상기 모바일 운영체제는 적어도 하나의 세트의 타겟 모바일 장치와 연관되는, 상기 데이터를 생성하는 단계;
    상기 모바일 어플리케이션을 위한 식별자를 포함하는 구성파일을 생성하는 단계로서, 상기 구성파일은 상기 하나의 세트의 타겟 모바일 장치와 연관된 모바일 장치로 모바일 장치로 전송되고, 상기 모바일 장치에서 실행되는, 상기 구성파일을 생성하는 단계;를 포함하여 수행하도록 하며,
    상기 식별자는 상기 모바일 어플리케이션이 상기 모바일 장치에 의해 설치되거나 또는 실행되는 것에 대응하여 원격 저장 위치로부터 상기 모바일 장치에 의해 상기 컴파일된 데이터의 적어도 일부의 리트라이브를 가능하게 하는 것을 특징으로 하는 시스템.
KR1020137029225A 2011-04-06 2012-04-06 모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법 KR20140018329A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161472609P 2011-04-06 2011-04-06
US61/472,609 2011-04-06
US13/396,368 US8261231B1 (en) 2011-04-06 2012-02-14 Systems and methods for a mobile application development and development platform
US13/396,392 2012-02-14
US13/396,392 US8898629B2 (en) 2011-04-06 2012-02-14 Systems and methods for a mobile application development and deployment platform
US13/396,368 2012-02-14
PCT/US2012/032570 WO2012154347A1 (en) 2011-04-06 2012-04-06 Systems and methods for a mobile application development and deployment platform

Publications (1)

Publication Number Publication Date
KR20140018329A true KR20140018329A (ko) 2014-02-12

Family

ID=46726641

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137029225A KR20140018329A (ko) 2011-04-06 2012-04-06 모바일 어플리케이션 개발 및 배포 플랫폼을 위한 시스템 및 방법

Country Status (7)

Country Link
US (4) US8898629B2 (ko)
EP (1) EP2695058A1 (ko)
JP (1) JP2014512611A (ko)
KR (1) KR20140018329A (ko)
AU (1) AU2012254064A1 (ko)
CA (1) CA2832172A1 (ko)
WO (1) WO2012154347A1 (ko)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832644B2 (en) 2011-04-06 2014-09-09 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US8898630B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform
US8978006B2 (en) 2011-04-06 2015-03-10 Media Direct, Inc. Systems and methods for a mobile business application development and deployment platform
US9134964B2 (en) 2011-04-06 2015-09-15 Media Direct, Inc. Systems and methods for a specialized application development and deployment platform
KR20180027023A (ko) * 2016-09-05 2018-03-14 바이플러그 주식회사 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법
KR20180061590A (ko) * 2016-11-30 2018-06-08 주식회사 플루이딕 소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법
JP2018106306A (ja) * 2016-12-22 2018-07-05 任天堂株式会社 ゲーム開発システム
US10055204B2 (en) 2015-10-30 2018-08-21 Xiaomi Inc. Generating communication firmware and a program plug-in based on product information and a program template
KR20180098455A (ko) 2017-02-24 2018-09-04 주식회사 원더풀플랫폼 챗봇 거래 방법 및 챗봇 거래 시스템
KR20190005437A (ko) * 2017-07-06 2019-01-16 (주) 알타미라소프트 프론트-앤드 개발을 지원하는 앱 저작 장치, 앱 저작 도구를 사용한 앱 저작 방법 및 앱 개발 서버
US10242080B1 (en) 2013-11-20 2019-03-26 Google Llc Clustering applications using visual metadata
WO2019221314A1 (ko) * 2018-05-16 2019-11-21 주식회사 유니온플레이스 컨텐츠 퍼블리싱 장치 및 컨텐츠 퍼블리싱 방법
US20200242621A1 (en) * 2018-10-10 2020-07-30 Capital One Services, Llc Methods, mediums, and systems for document authorization
KR20220144509A (ko) * 2021-04-20 2022-10-27 엔에이치엔 주식회사 부가기능 설치 서비스 제공 방법 및 시스템
KR102551123B1 (ko) * 2022-06-20 2023-07-05 주식회사 리치닥 사용자 맞춤형 병원 홈페이지 자동 생성 및 ai crm과 연동하는 솔루션 시스템 및 방법
KR20230134389A (ko) 2022-03-14 2023-09-21 바쿠안토니아버지니아 한국의 문화와 법에 대한 이해와 학습을 돕기 위한 방법과 제도.
KR102614703B1 (ko) * 2023-04-12 2023-12-15 클라우드호스피탈 주식회사 의료기관용 웹페이지 구축서비스를 통해 수집되는 정보에 기반하여 의료서비스를 중개하는 방법

Families Citing this family (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458661B2 (en) 2006-03-31 2013-06-04 Ebay Inc. Distributed parallel build system
US20090138691A1 (en) * 2007-11-27 2009-05-28 Harold Lee Peterson Method, system and computer-readable medium for personalized computational device configuration
US8612352B2 (en) 2010-10-13 2013-12-17 Square, Inc. Decoding systems with a decoding engine running on a mobile device and coupled to a payment system that includes identifying information of second parties qualified to conduct business with the payment system
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US8554792B1 (en) * 2009-09-15 2013-10-08 Cellco Partnership Method and system for providing contents available on the internet to mobile handset
US8898627B2 (en) * 2010-05-11 2014-11-25 Smartshift Gmbh Systems and methods for applying rules to transform objects of an application
JP2011123697A (ja) * 2009-12-11 2011-06-23 Fujifilm Corp ウェブ・ページ変換システム
US9336023B2 (en) * 2009-12-18 2016-05-10 Sybase, Inc. Visual generation of mobile applications based on data models
US8464229B2 (en) * 2009-12-29 2013-06-11 Microgen Aptitude Limited Creation of form-based software application in a graphical user interface (GUI) environment
WO2011105996A1 (en) * 2010-02-23 2011-09-01 Hewlett-Packard Development Company, L.P. Skipping through electronic content on an electronic device
US20110302516A1 (en) * 2010-06-02 2011-12-08 Oracle International Corporation Mobile design patterns
US20120036399A1 (en) * 2010-08-09 2012-02-09 Massively Parallel Technologies, Inc. System And Method For Automated Software Application Development
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
CN102810090B (zh) * 2011-05-30 2017-06-09 Sap欧洲公司 网关数据分布引擎
US20120323553A1 (en) * 2011-06-16 2012-12-20 Microsoft Corporation Mobile Emulator Integration
US8612933B1 (en) * 2011-06-24 2013-12-17 Amazon Technologies, Inc. Cross-platform mobile application development
WO2013028438A1 (en) * 2011-08-22 2013-02-28 Decoteau Don System and method for dynamically assembling an application on a client device
US8943150B2 (en) * 2011-09-12 2015-01-27 Fiserv, Inc. Systems and methods for customizing mobile applications based upon user associations with one or more entities
US20130159117A1 (en) * 2011-09-12 2013-06-20 Joseph Sanginiti Apparatus, system and method of providing dedicated mobile apps for use by celebrities
US20130325621A1 (en) * 2011-09-12 2013-12-05 Allfanz, LLC Apparatus, system and method of providing dedicated mobile apps for use by celebrities
US9280377B2 (en) 2013-03-29 2016-03-08 Citrix Systems, Inc. Application with multiple operation modes
US9378359B2 (en) 2011-10-11 2016-06-28 Citrix Systems, Inc. Gateway for controlling mobile device access to enterprise resources
WO2013111144A2 (en) * 2011-11-04 2013-08-01 Vserv Digital Services Pvt.Ltd. System for inserting services in a software application
US20130132422A1 (en) * 2011-11-18 2013-05-23 Toura, LLC System and method for creating and controlling an application operating on a plurality of computer platform types
US9703680B1 (en) * 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
US9087154B1 (en) 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
WO2013091672A1 (de) * 2011-12-23 2013-06-27 Paade Gmbh Verfahren zur erzeugung von ausführbarem code
WO2013109860A1 (en) * 2012-01-18 2013-07-25 Smart Online, Inc. Software builder
US8656353B2 (en) * 2012-03-09 2014-02-18 User-Friendly Phone Book, L.L.C. Mobile application generator
US9934044B2 (en) * 2012-03-30 2018-04-03 Lenovo (Singapore) Pte. Ltd. Methods for customizing an operating system at an information handling device
US8997038B2 (en) * 2012-03-30 2015-03-31 Anypresence, Inc. Systems and methods for building and deploying mobile applications
US9182970B2 (en) * 2012-03-30 2015-11-10 Lenovo (Singapore) Pte. Ltd. Methods for creating device preload via manufacturing and cloud content
TWI606409B (zh) * 2012-04-18 2017-11-21 Insyde Software Corp A method for automatically generating applications and services on a single portal
US9331995B2 (en) 2012-04-23 2016-05-03 Sap Se Secure configuration of mobile application
US9075978B2 (en) * 2012-04-23 2015-07-07 Sap Se Secure configuration of mobile applications
US20130290406A1 (en) * 2012-04-26 2013-10-31 Salesforce.Com, Inc. Mechanism for providing a cloud platform for facilitating and supporting user-controlled development and management of user products
US20130293573A1 (en) 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments
US20130298140A1 (en) * 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Data from a Plurality of Concurrent Operating System Environments
US9311317B1 (en) * 2012-05-14 2016-04-12 Symantec Corporation Injecting custom data into files in zip format containing apps, without unzipping, resigning or re-zipping the files
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US8930917B2 (en) * 2012-05-22 2015-01-06 Adobe Systems Incorporated Method and apparatus for mobile application development and testing that avoids repackaging and reinstallation
US20130318459A1 (en) * 2012-05-25 2013-11-28 Carla Taylor Personalized activity e-book
CN103514000B (zh) * 2012-06-26 2015-09-16 腾讯科技(深圳)有限公司 浏览器插件安装方法和装置
US8732657B2 (en) * 2012-06-29 2014-05-20 Sap Ag OData consumption tool
US8813028B2 (en) * 2012-07-19 2014-08-19 Arshad Farooqi Mobile application creation system
US9239771B2 (en) * 2012-07-24 2016-01-19 Appboy, Inc. Method and system for collecting and providing application usage analytics
CN102831104A (zh) * 2012-08-15 2012-12-19 北京小米科技有限责任公司 一种调整终端文字的方法、装置及终端
CN102833408B (zh) * 2012-08-22 2014-12-17 小米科技有限责任公司 一种消息显示方法和装置
US20140055495A1 (en) * 2012-08-22 2014-02-27 Lg Cns Co., Ltd. Responsive user interface engine for display devices
US20140108971A1 (en) * 2012-08-31 2014-04-17 Salesforce.Com.Inc. Application builder
US10456686B2 (en) 2012-09-05 2019-10-29 Zynga Inc. Methods and systems for adaptive tuning of game events
US9147004B2 (en) * 2012-09-07 2015-09-29 Cimpress Schweiz Gmbh Website builder systems and methods with device detection to adapt rendering behavior based on device type
US9294554B2 (en) 2012-09-28 2016-03-22 Sears Brands, L.L.C. Integrated experience for applications within a mobile application
US9043750B2 (en) * 2012-10-09 2015-05-26 Sap Se Automated generation of two-tier mobile applications
US20140106886A1 (en) * 2012-10-12 2014-04-17 Elizabeth Renee PROCHNOW Method of Operating a Cheering Application with a Mobile Computing Device
US8910239B2 (en) 2012-10-15 2014-12-09 Citrix Systems, Inc. Providing virtualized private network tunnels
CN104854561B (zh) 2012-10-16 2018-05-11 思杰系统有限公司 用于应用程序管理框架的应用程序封装
US9971585B2 (en) * 2012-10-16 2018-05-15 Citrix Systems, Inc. Wrapping unmanaged applications on a mobile device
US9501140B2 (en) * 2012-11-05 2016-11-22 Onysus Software Ltd Method and apparatus for developing and playing natural user interface applications
US20140130008A1 (en) * 2012-11-05 2014-05-08 James Michael Amulu Generating information models
US20140149861A1 (en) * 2012-11-23 2014-05-29 Htc Corporation Method of displaying music lyrics and device using the same
US20140157132A1 (en) * 2012-11-30 2014-06-05 Emo2 Inc. Systems and methods for selectively delivering messages to multiuser touch sensitive display devices
US9806934B2 (en) * 2012-12-10 2017-10-31 Foneclay, Inc Automated delivery of multimedia content
DK2936306T3 (da) 2012-12-21 2020-02-10 Intellipocket Oy Generering af en brugertilpasset anvendelse
US10924627B2 (en) * 2012-12-31 2021-02-16 Virtually Anywhere Content management for virtual tours
US9021431B2 (en) * 2013-01-07 2015-04-28 Abb Inc. System and method for developing, deploying and implementing power system computer applications
US9513979B2 (en) * 2013-01-11 2016-12-06 Sap Se Mobile communication device providing interconnectivity between apps based on storage scope
CN103092624A (zh) * 2013-01-25 2013-05-08 互动在线(北京)科技有限公司 基于云服务的内容模块开发方法和App生成方法
US9678745B2 (en) 2013-01-28 2017-06-13 Paptap Ltd Automatic submission of applications to applications stores
US9176726B2 (en) 2013-01-28 2015-11-03 Paptap Ltd Method and apparatus for developing, distributing and executing applications
US20140214515A1 (en) * 2013-01-31 2014-07-31 Apple Inc. Promotional code redemption for in-application features used with application programs
US9038019B2 (en) 2013-02-05 2015-05-19 Sap Se Paige control for enterprise mobile applications
KR102087226B1 (ko) 2013-02-14 2020-03-10 삼성전자주식회사 다수의 사업자 지원을 위한 sdn 기반의 네트워크 공유 방법
US9817632B2 (en) 2013-02-19 2017-11-14 Microsoft Technology Licensing, Llc Custom narration of a control list via data binding
US10268446B2 (en) 2013-02-19 2019-04-23 Microsoft Technology Licensing, Llc Narration of unfocused user interface controls using data retrieval event
TWI477108B (zh) * 2013-02-22 2015-03-11 Quanta Comp Inc 視訊會議建立方法
US9575739B2 (en) * 2013-03-06 2017-02-21 International Business Machines Corporation Performing unattended software installation
US20140258993A1 (en) * 2013-03-07 2014-09-11 Dell Products L.P. Systems and methods for device-specific application generation
US9400660B1 (en) * 2013-03-12 2016-07-26 Intuit Inc. Customizing user interfaces of native applications for portable electronic devices
US20140282088A1 (en) * 2013-03-13 2014-09-18 Vdopia, Inc Method and apparatus for sharing, interacting and responding to advertising
US20140282371A1 (en) * 2013-03-14 2014-09-18 Media Direct, Inc. Systems and methods for creating or updating an application using a pre-existing application
CN110045894B (zh) * 2013-03-14 2022-07-26 维克斯网有限公司 用于对话框定制的系统和方法
US20140281886A1 (en) * 2013-03-14 2014-09-18 Media Direct, Inc. Systems and methods for creating or updating an application using website content
US10320942B2 (en) * 2013-03-15 2019-06-11 Gadget Software, Inc. Dynamic user interface delivery system
US10003635B1 (en) * 2013-03-15 2018-06-19 Google Llc System and method for tracking event occurrences between applications
US10303802B2 (en) 2013-03-15 2019-05-28 Gadget Software, Inc. System for mobile application search
EP2972814A1 (en) * 2013-03-15 2016-01-20 Beeonics Inc. Method for single workflow for multi-platform mobile application creation and delivery
US10320885B2 (en) * 2013-03-15 2019-06-11 Gadget Software, Inc. Method for single workflow for multi-platform mobile application creation and delivery
US10075560B2 (en) 2013-03-15 2018-09-11 Gadget Software, Inc. User interface and content translation system
US10326825B2 (en) 2013-03-15 2019-06-18 Gadget Software, Inc. Apparatus for single workflow for multi-platform mobile application creation and delivery
US20140280481A1 (en) * 2013-03-15 2014-09-18 Beeonics, Inc. Hierarchical Application Client System
US9985850B2 (en) 2013-03-29 2018-05-29 Citrix Systems, Inc. Providing mobile device management functionalities
US20140297787A1 (en) * 2013-03-29 2014-10-02 Kevin A. Baugh Systems, methods, and mediums for components and applications comprising components
US9355223B2 (en) 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
US10284627B2 (en) 2013-03-29 2019-05-07 Citrix Systems, Inc. Data management for an application with multiple operation modes
DE102013005735B4 (de) * 2013-04-05 2018-03-29 Mr. Signal GmbH System und Verfahren zur Datenübertragung in der mobilen Kommunikation
US20140304037A1 (en) * 2013-04-08 2014-10-09 Ebay Inc. Methods and systems for collecting segmentation data
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
US9069375B2 (en) * 2013-04-30 2015-06-30 MobileDataForce, Inc. Method and system for platform-independent application development
WO2014179490A1 (en) * 2013-05-01 2014-11-06 Zobee Games, Llc Game creation systems with social reporting engine
US10424164B2 (en) 2013-05-01 2019-09-24 Zco Acquisitions, Inc. System for managing individual performance challenges in fantasy gaming
USD738905S1 (en) * 2013-06-09 2015-09-15 Apple Inc. Display screen or portion thereof with animated graphical user interface
US9239707B2 (en) 2013-06-28 2016-01-19 Successfactors, Inc. Model framework for applications
CN103399792A (zh) * 2013-07-24 2013-11-20 佳都新太科技股份有限公司 基于Android的应用插件化实现方案
US9258668B2 (en) 2013-07-31 2016-02-09 Sap Se Mobile application framework extensibiilty
US11397520B2 (en) 2013-08-01 2022-07-26 Yogesh Chunilal Rathod Application program interface or page processing method and device
CN104423955A (zh) * 2013-09-05 2015-03-18 北大方正集团有限公司 实现iOS应用自动编译的方法及系统
US9880712B2 (en) 2013-09-06 2018-01-30 Microsoft Technology Licensing, Llc In-application customization
US9503788B2 (en) 2013-09-13 2016-11-22 International Business Machines Corporation End user programming for a television multimedia device
US9256402B2 (en) 2013-09-13 2016-02-09 International Business Machines Corporation End user programming for a mobile device
US9858321B2 (en) 2013-09-20 2018-01-02 Oracle International Corporation Accessing application services from forms
US9588742B2 (en) 2013-09-20 2017-03-07 Oracle International Corporation Rule-based automatic class generation from a JSON message
US10127023B2 (en) 2013-09-20 2018-11-13 Oracle International Corporation Computer-aided development of native mobile application code
US9507609B2 (en) 2013-09-29 2016-11-29 Taplytics Inc. System and method for developing an application
CN104572042B (zh) * 2013-10-15 2019-02-12 航天信息股份有限公司 移动终端设备的跨平台中间件装置及其实现方法
US20150128110A1 (en) * 2013-11-05 2015-05-07 Alexander Falk Mobile application development and deployment
US20150149582A1 (en) * 2013-11-25 2015-05-28 International Business Machines Corporation Sending mobile applications to mobile devices from personal computers
JP6044527B2 (ja) * 2013-11-29 2016-12-14 ダイキン工業株式会社 空調システム
US9953299B2 (en) 2013-12-04 2018-04-24 PowWow, Inc. Systems and methods for sharing image data
US9661054B2 (en) * 2013-12-04 2017-05-23 PowWow, Inc. Systems and methods to configure applications
US20150160835A1 (en) * 2013-12-10 2015-06-11 Oracle International Corporation Pluggable Layouts for Data Visualization Components
US20150161152A1 (en) * 2013-12-10 2015-06-11 At&T Intellectual Property I, L.P. Content aggregator for synchronous content distribution
CN104793998B (zh) 2014-01-20 2019-04-16 中兴通讯股份有限公司 终端系统资源管理方法及装置
US10063490B2 (en) 2014-03-14 2018-08-28 Microsoft Technology Licensing, Llc Method and system of operating an online application service in a deployment environment to facilitate run-time experimentation with user interface configurations
CN105094881A (zh) * 2014-05-23 2015-11-25 中兴通讯股份有限公司 一种终端以及管理终端应用的方法
CN104007980B (zh) * 2014-06-12 2017-11-10 南京化工职业技术学院 基于应用描述文件解析的移动应用的实现方法
US9225776B1 (en) * 2014-08-11 2015-12-29 International Business Machines Corporation Distributing UI control events from a single event producer across multiple systems event consumers
US9675889B2 (en) 2014-09-10 2017-06-13 Zynga Inc. Systems and methods for determining game level attributes based on player skill level prior to game play in the level
US10561944B2 (en) 2014-09-10 2020-02-18 Zynga Inc. Adjusting object adaptive modification or game level difficulty and physical gestures through level definition files
US9628544B2 (en) 2014-10-31 2017-04-18 AppDynamics, Inc. Distributed build and compile statistics
US20160132780A1 (en) * 2014-11-12 2016-05-12 Google Inc. Automatic Selection of Images for an Application
US9996230B2 (en) 2014-11-13 2018-06-12 Microsoft Technology Licensing, Llc Using sections for customization of applications across platforms
US10649756B2 (en) * 2014-11-26 2020-05-12 Ebay Inc. Centralized client application management
CN104503747A (zh) * 2014-12-11 2015-04-08 北京金和软件股份有限公司 一种app制作平台的数据库存储结构
DE102014019090A1 (de) * 2014-12-18 2016-06-23 Giesecke & Devrient Gmbh Verfahren zum Bereitstellen einer sicherheitskritischen Softwareapplikation auf einer Computereinheit
US20160196117A1 (en) * 2015-01-05 2016-07-07 Queue Software Inc. System and method for graphical application development
US9448776B1 (en) 2015-01-08 2016-09-20 AppNotch LLC Method and apparatus for converting a website into a native mobile application
WO2016113914A1 (ja) * 2015-01-16 2016-07-21 株式会社野村総合研究所 開発支援システム
US9268562B1 (en) * 2015-01-21 2016-02-23 PredictSpring, Inc. Methods and apparatuses for dynamically generating mobile application layouts using client-independent configuration
CN104636139B (zh) * 2015-01-26 2018-05-15 北京邮电大学 一种可视化跨平台移动应用开发与生成系统
US9672032B2 (en) * 2015-02-04 2017-06-06 Sap Se Mobile enabled application
CN107077308B (zh) 2015-03-05 2020-07-24 惠普发展公司,有限责任合伙企业 基于识别出的移动设备类型选择数字内容支付
CN107615274A (zh) 2015-05-27 2018-01-19 谷歌公司 经由插件市场增强虚拟助理和对话系统的功能性
US9612805B2 (en) * 2015-05-27 2017-04-04 Sap Se Rapid mobile app generator
CN112527353B (zh) * 2015-05-27 2024-09-13 谷歌有限责任公司 用于增强对话系统的插件的在线市场
US20180189118A1 (en) * 2015-07-01 2018-07-05 PowWow, Inc. Systems and methods for transforming applications
US10261985B2 (en) 2015-07-02 2019-04-16 Microsoft Technology Licensing, Llc Output rendering in dynamic redefining application
US10198252B2 (en) 2015-07-02 2019-02-05 Microsoft Technology Licensing, Llc Transformation chain application splitting
US10198405B2 (en) 2015-07-08 2019-02-05 Microsoft Technology Licensing, Llc Rule-based layout of changing information
MX2018001256A (es) * 2015-07-30 2018-09-28 Wix Com Ltd Sistema que integra un sistema de creacion, edicion y distribución de aplicaciones de dispositivo móvil con un sistema de diseño de sitio web.
US10277582B2 (en) 2015-08-27 2019-04-30 Microsoft Technology Licensing, Llc Application service architecture
US10146512B1 (en) 2015-08-28 2018-12-04 Twitter, Inc. Feature switching kits
GB2555026A (en) * 2015-09-02 2018-04-18 Google Llc Software development and distribution platform
TWI624783B (zh) * 2015-09-17 2018-05-21 長茂科技股份有限公司 整合動態連結功能函式的行動裝置應用程式之建置系統及方法
US10643023B2 (en) * 2015-09-25 2020-05-05 Oath, Inc. Programmatic native rendering of structured content
US20170097814A1 (en) * 2015-10-02 2017-04-06 Microsoft Technology Licensing, Llc Automatic multi-platform mobile application development
US10073794B2 (en) * 2015-10-16 2018-09-11 Sprinklr, Inc. Mobile application builder program and its functionality for application development, providing the user an improved search capability for an expanded generic search based on the user's search criteria
US20170109142A1 (en) * 2015-10-19 2017-04-20 Cogitate Technology Solutions, Inc. System and method to build a mobile application
US9983892B2 (en) * 2015-11-06 2018-05-29 Samsung Electronics Co., Ltd. Deep linking to mobile application states through programmatic replay of user interface events
US9891890B2 (en) 2015-11-09 2018-02-13 Microsoft Technology Licensing, Llc Generation of an application from template
US10546058B2 (en) 2015-11-09 2020-01-28 Microsoft Technology Licensing, Llc Creating and modifying applications from a mobile device
US11004096B2 (en) 2015-11-25 2021-05-11 Sprinklr, Inc. Buy intent estimation and its applications for social media data
US10275737B2 (en) * 2015-12-14 2019-04-30 Verizon Patent And Licensing Inc. Enabling and disabling user device configurations based on an account type of the user device
CN105573764B (zh) * 2015-12-24 2019-03-22 北京大学 一种面向智能手表的Android应用重构方法
CN105700936A (zh) * 2016-01-14 2016-06-22 福州靠谱网络有限公司 一种安卓模拟器应用程序运行方法和装置
US11593342B2 (en) 2016-02-01 2023-02-28 Smartshift Technologies, Inc. Systems and methods for database orientation transformation
US10348866B2 (en) 2016-02-19 2019-07-09 Wuhan Mbaas Computing Co. Ltd. Apparatus, system and method to provide IoT cloud backend service
US9910663B1 (en) 2016-02-23 2018-03-06 Mackson Consulting, LLC Network-independent modular applications
US10521199B2 (en) 2016-03-11 2019-12-31 Tata Consultancy Services Limited System and method for developing mobile based applications using model driven development
US10585655B2 (en) 2016-05-25 2020-03-10 Smartshift Technologies, Inc. Systems and methods for automated retrofitting of customized code objects
WO2017210782A1 (en) * 2016-06-10 2017-12-14 Deepmarkit Corp. Customizable computer game platform for advertising, marketing and promotion
US10162817B2 (en) 2016-06-14 2018-12-25 Microsoft Technology Licensing, Llc Computer messaging bot creation
US10360906B2 (en) 2016-06-14 2019-07-23 Microsoft Technology Licensing, Llc Computer proxy messaging bot
US10089103B2 (en) 2016-08-03 2018-10-02 Smartshift Technologies, Inc. Systems and methods for transformation of reporting schema
US10395293B1 (en) 2016-08-25 2019-08-27 PredictSpring, Inc. Canonical order management system
US10492041B1 (en) * 2016-10-05 2019-11-26 Linqto Inc Tethering computer programs and user interfaces to selected targets
US10007490B1 (en) * 2016-12-14 2018-06-26 Facebook, Inc. Automatic generation of native E-commerce applications for mobile devices
FR3061620B1 (fr) * 2016-12-29 2019-05-31 Bull Sas Reseau informatique d'infrastructures de ressources de calcul et procede d'affectation de ces ressources a des applications client
US10397326B2 (en) 2017-01-11 2019-08-27 Sprinklr, Inc. IRC-Infoid data standardization for use in a plurality of mobile applications
TWI694377B (zh) * 2017-03-17 2020-05-21 葉振忠 行動原生應用程式開發平台
US10303462B2 (en) 2017-05-31 2019-05-28 Microsoft Technology Licensing, Llc Windows support of a pluggable ecosystem for universal windows application stores
CN109144621B (zh) 2017-06-16 2022-08-16 微软技术许可有限责任公司 投影仪控制
US11645046B2 (en) * 2017-07-03 2023-05-09 Unqork, Inc. Systems and methods for development and deployment of software platforms having advanced workflow and event processing components
USD851111S1 (en) 2017-09-09 2019-06-11 Apple Inc. Electronic device with graphical user interface
USD843442S1 (en) 2017-09-10 2019-03-19 Apple Inc. Type font
JP7053983B2 (ja) * 2017-09-19 2022-04-13 キヤノンマーケティングジャパン株式会社 情報処理装置と、その処理方法及びプログラム
US10868714B2 (en) * 2017-11-14 2020-12-15 Rockwell Automation Technologies, Inc. Configurable device status
US10795648B2 (en) 2017-11-30 2020-10-06 Google Llc Systems and methods of developments, testing, and distribution of applications in a computer network
US10762063B2 (en) 2017-12-15 2020-09-01 International Business Machines Corporation Cognitive mobile application design search engine including a keyword search
CN108268268A (zh) * 2017-12-20 2018-07-10 成都志心科技有限公司 一种实现跨平台软件动态控制的方法及其系统
US20190196805A1 (en) * 2017-12-21 2019-06-27 Apple Inc. Controlled rollout of updates for applications installed on client devices
US10740075B2 (en) 2018-02-06 2020-08-11 Smartshift Technologies, Inc. Systems and methods for code clustering analysis and transformation
US10528343B2 (en) 2018-02-06 2020-01-07 Smartshift Technologies, Inc. Systems and methods for code analysis heat map interfaces
US10698674B2 (en) 2018-02-06 2020-06-30 Smartshift Technologies, Inc. Systems and methods for entry point-based code analysis and transformation
US11269500B2 (en) * 2018-05-21 2022-03-08 Samsung Electronics Co., Ltd. Method and system for modular widgets in smart devices
DE102018112364A1 (de) * 2018-05-23 2019-11-28 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Bereitstellen anwendungsorientierter Software sowie Computersystem
US10901717B2 (en) 2018-07-16 2021-01-26 International Business Machines Corporation Controlling computer executions based on terms and conditions and user device attributes
USD879146S1 (en) * 2018-07-31 2020-03-24 Google Llc Display screen with animated icon
USD878415S1 (en) * 2018-07-31 2020-03-17 Google Llc Display screen with animated icon
US11095734B2 (en) 2018-08-06 2021-08-17 International Business Machines Corporation Social media/network enabled digital learning environment with atomic refactoring
US20200050432A1 (en) * 2018-08-07 2020-02-13 Muvi Llc System for providing customized and instant preview of a mobile application in near real time
USD882629S1 (en) * 2018-08-29 2020-04-28 Google Llc Display screen with animated icon
CN109343838A (zh) * 2018-09-17 2019-02-15 北京智明星通科技股份有限公司 聊天功能开发方法及系统、终端和计算机可读存储介质
US11539844B2 (en) * 2018-09-21 2022-12-27 Dolby Laboratories Licensing Corporation Audio conferencing using a distributed array of smartphones
US11243753B2 (en) * 2018-09-24 2022-02-08 Salesforce.Com, Inc. Mobile app publishing for a responsive community experience
JP7193797B2 (ja) * 2018-11-06 2022-12-21 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置、および、ゲーム処理方法
USD902221S1 (en) 2019-02-01 2020-11-17 Apple Inc. Electronic device with animated graphical user interface
USD900871S1 (en) 2019-02-04 2020-11-03 Apple Inc. Electronic device with animated graphical user interface
KR102657519B1 (ko) * 2019-02-08 2024-04-15 삼성전자주식회사 음성을 기반으로 그래픽 데이터를 제공하는 전자 장치 및 그의 동작 방법
US10986221B2 (en) 2019-03-11 2021-04-20 Micro Focus Llc Execution of testing processes on apparatuses
US11226803B2 (en) 2019-06-27 2022-01-18 International Business Machines Corporation Dynamic message embedded within application new feature rollout
CN110543307A (zh) * 2019-07-23 2019-12-06 江苏联盟信息工程有限公司 一种应用构建方法及装置
US20210074176A1 (en) 2019-09-06 2021-03-11 Rocio Elisa Hernández Bilateral stimulation method and apparatus
CN114222972A (zh) * 2019-09-12 2022-03-22 惠普发展公司, 有限责任合伙企业 应用存在监控和重新安装
CN112671814B (zh) * 2019-10-15 2022-04-12 北京奇艺世纪科技有限公司 一种跨平台的设备开发方法、装置及系统
EP4058886A4 (en) * 2019-11-11 2023-12-13 AVEVA Software, LLC COMPUTER SYSTEM AND METHOD FOR A LOW-CODE/NO-CODE DISTRIBUTED COMPUTING ENVIRONMENT
US11474806B2 (en) * 2019-11-19 2022-10-18 Salesforce.Com, Inc. Automatically producing and code-signing binaries
US11194601B2 (en) * 2019-12-31 2021-12-07 Microsoft Technology Licensing, Llc Dynamic integration checklist for development platform
US11204690B1 (en) 2020-03-05 2021-12-21 Unqork, Inc. Systems and methods for software development and deployment platforms having advanced workflow and event processing capabilities and graphical version controls
US20210389151A1 (en) * 2020-06-13 2021-12-16 Megan Marie Braley Micromobility navigation system with integrated responsiveness to user demographic data
US11582502B2 (en) 2020-07-22 2023-02-14 Yandex Europe Ag Method and system for uploading media objects unto a web platform
US11971804B1 (en) * 2021-06-15 2024-04-30 Allstate Insurance Company Methods and systems for an intelligent technical debt helper bot
US11748075B2 (en) 2021-08-10 2023-09-05 Bank Of America Corporation Two-phase application development device
US11403072B1 (en) * 2021-08-10 2022-08-02 Bank Of America Corporation Mobile application development device
US11606446B1 (en) 2021-09-13 2023-03-14 International Business Machines Corporation Microapplication composition
CN114327445A (zh) * 2022-01-25 2022-04-12 上海电气集团数字科技有限公司 一种基于自定义算子组件的模型开发平台及其方法
US20240192952A1 (en) * 2022-12-13 2024-06-13 Microstrategy Incorporated Development and deployment of custom applications
US20240211215A1 (en) * 2022-12-22 2024-06-27 Aquafadas S.A.S.U. System, method and computer program for managing stylistic design in application builder

Family Cites Families (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5652440U (ko) 1979-09-29 1981-05-09
AU4688996A (en) 1994-12-22 1996-07-10 Bell Atlantic Network Services, Inc. Authoring tools for multimedia application development and network delivery
US5880733A (en) 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
US5950167A (en) 1998-01-26 1999-09-07 Lucent Technologies Inc. Screen-less remote voice or tone-controlled computer program operations via telephone set
GB2348568A (en) * 1999-03-31 2000-10-04 Ibm Enabling conformance to legislative requirements for mobile devices
US20080015955A1 (en) 1999-05-19 2008-01-17 I.D. Systems, Inc. Mobile asset data management system
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
US7047033B2 (en) 2000-02-01 2006-05-16 Infogin Ltd Methods and apparatus for analyzing, processing and formatting network information such as web-pages
US6311194B1 (en) 2000-03-15 2001-10-30 Taalee, Inc. System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
WO2001086882A2 (en) 2000-05-05 2001-11-15 @ Hand Corporation System and method for extending an enterprise network to mobile devices
US6741672B2 (en) 2000-11-22 2004-05-25 Ge Medical Systems Global Technology Company, Llc K-space based graphic application development system for a medical imaging system
US20060036941A1 (en) 2001-01-09 2006-02-16 Tim Neil System and method for developing an application for extending access to local software of a wireless device
US7904468B2 (en) 2008-02-27 2011-03-08 Research In Motion Limited Method and software for facilitating interaction with a personal information manager application at a wireless communication device
US7085736B2 (en) 2001-02-27 2006-08-01 Alexa Internet Rules-based identification of items represented on web pages
AU2002327677A1 (en) 2001-09-19 2003-04-01 Meta Tv, Inc. Interactive user interface for television applications
DE10159398A1 (de) 2001-12-04 2003-06-12 Giesecke & Devrient Gmbh Speichern von und Zugreifen auf Daten in einem Mobilgerät und einem Benutzermodul
TWI238348B (en) 2002-05-13 2005-08-21 Kyocera Corp Portable information terminal, display control device, display control method, and recording media
CN1748402A (zh) 2003-02-04 2006-03-15 信任资讯有限公司 移动电话应用平台
JP4248913B2 (ja) 2003-03-31 2009-04-02 株式会社エヌ・ティ・ティ・ドコモ 端末装置、プログラムおよび通信システム
WO2004092982A2 (en) * 2003-04-07 2004-10-28 Dexterra, Inc. System and method for context sensitive mobile data and software update
US20040201602A1 (en) 2003-04-14 2004-10-14 Invensys Systems, Inc. Tablet computer system for industrial process design, supervisory control, and data management
US7240327B2 (en) * 2003-06-04 2007-07-03 Sap Ag Cross-platform development for devices with heterogeneous capabilities
US7089594B2 (en) 2003-07-21 2006-08-08 July Systems, Inc. Application rights management in a mobile environment
CN1833437A (zh) 2003-08-06 2006-09-13 松下电器产业株式会社 节目推荐装置
WO2005045667A2 (en) 2003-11-06 2005-05-19 Intuwave Limited A method of rapid software application development for a wireless mobile device
USD496370S1 (en) 2003-12-23 2004-09-21 Pioneer Research Center Usa, Inc. Setup display for a screen
USD495339S1 (en) 2004-01-12 2004-08-31 Pioneer Research Center Usa, Inc. Program guide display for a screen
US8146156B2 (en) * 2004-04-01 2012-03-27 Google Inc. Archive of text captures from rendered documents
US8065383B2 (en) 2004-05-17 2011-11-22 Simplefeed, Inc. Customizable and measurable information feeds for personalized communication
US8122107B2 (en) * 2004-06-30 2012-02-21 Jumpstart Wireless Corporation Method for extending business systems to a mobile workforce
US7590997B2 (en) 2004-07-30 2009-09-15 Broadband Itv, Inc. System and method for managing, converting and displaying video content on a video-on-demand platform, including ads used for drill-down navigation and consumer-generated classified ads
US20060044307A1 (en) 2004-08-24 2006-03-02 Kyuman Song System and method for visually representing project metrics on 3-dimensional building models
US20060129972A1 (en) 2004-11-30 2006-06-15 Tyburski John C Application developer and method for generating platform independent code
GB0426736D0 (en) 2004-12-06 2005-01-12 Omnifone Ltd MyFone
US7890926B2 (en) 2005-01-04 2011-02-15 Vaakya Technologies Private Limited System and method for application development and deployment
USD587720S1 (en) 2005-05-05 2009-03-03 Bgc Partners, Inc. User interface for an electronic trading system for a computer screen
US20060258341A1 (en) 2005-05-13 2006-11-16 Microsoft Corporation Mobile internet services discovery and/or provisioning
US8800042B2 (en) 2005-05-16 2014-08-05 Hewlett-Packard Development Company, L.P. Secure web application development and execution environment
US7801881B1 (en) 2005-05-31 2010-09-21 Google Inc. Sitemap generating client for web crawler
US20070016925A1 (en) 2005-06-20 2007-01-18 Arthur Vaysman Interactive TV application display method and apparatus
US20070174818A1 (en) 2005-08-18 2007-07-26 Pasula Markus I Method and apparatus for generating application programs for multiple hardware and/or software platforms
USD548743S1 (en) 2005-09-01 2007-08-14 Matsushita Electric Industrial Co., Ltd. Television receiver display layout
AU2006292506B2 (en) 2005-09-15 2010-04-22 Fourthwall Media, Inc Self-contained mini-applications system and method for digital television
US7724399B2 (en) * 2005-09-19 2010-05-25 Silverbrook Research Pty Ltd Method of downloading and installing a software object
US20070099658A1 (en) 2005-11-03 2007-05-03 Blue Label Interactive Systems and methods for developing, delivering and using video applications for a plurality of mobile platforms
US20070100648A1 (en) 2005-11-03 2007-05-03 Anthony Borquez Systems and Methods for Delivering Content Customized for a Plurality of Mobile Platforms
US20070106764A1 (en) 2005-11-08 2007-05-10 Carl Mansfield System and method for device configuration using a portable flash memory storage device with an infrared transmitter
US20070118801A1 (en) 2005-11-23 2007-05-24 Vizzme, Inc. Generation and playback of multimedia presentations
US8255901B2 (en) 2005-12-16 2012-08-28 Sap Ag Methods and systems for configuring software applications
US8607287B2 (en) 2005-12-29 2013-12-10 United Video Properties, Inc. Interactive media guidance system having multiple devices
US7716634B2 (en) 2006-01-19 2010-05-11 Medseek Inc. System and method for building and modifying software applications
US7913234B2 (en) 2006-02-13 2011-03-22 Research In Motion Limited Execution of textually-defined instructions at a wireless communication device
US20070261090A1 (en) 2006-03-24 2007-11-08 Miller Eric B Interactive television application distribution, control, and communication system and methods
US7966182B2 (en) 2006-06-20 2011-06-21 Lunis Orcutt Voiced programming system and method
US20080016176A1 (en) 2006-07-13 2008-01-17 Ofir Leitner System for development of games for mobile devices and distribution thereof
US7920852B2 (en) 2006-07-21 2011-04-05 Research In Motion Limited Compression of data transmitted between server and mobile device
US8775501B2 (en) 2006-08-17 2014-07-08 Coincident.Tv, Inc. Interactive television framework utilizing program-synchronous triggers and standard messaging and presence-detection protocols
US7665033B2 (en) 2006-08-31 2010-02-16 Sun Microsystems, Inc. Using a zooming effect to provide additional display space for managing applications
US8645973B2 (en) 2006-09-22 2014-02-04 Oracle International Corporation Mobile applications
ITMI20062325A1 (it) 2006-12-04 2008-06-05 Mario Quintilio Apparecchiatura multifunzionale per portatori di handicap visivo
USD555660S1 (en) 2006-12-08 2007-11-20 Espeed, Inc. User interface for an electronic trading system for a computer screen
CA2578466A1 (en) 2007-01-12 2008-07-12 Truecontext Corporation Method and system for customizing a mobile application using a web-based interface
US8381096B2 (en) 2007-03-15 2013-02-19 Yahoo! Inc. Managing list tailoring for a mobile device
USD590407S1 (en) 2007-04-20 2009-04-14 Sony Computer Entertainment, Inc. Computer generated image for display panel
US8738383B2 (en) 2007-06-07 2014-05-27 Aesynt Incorporated Remotely and interactively controlling semi-automatic devices
US8171432B2 (en) 2008-01-06 2012-05-01 Apple Inc. Touch screen device, method, and graphical user interface for displaying and selecting application options
USD621845S1 (en) 2007-06-23 2010-08-17 Apple Inc. Graphical user interface for a display screen or portion thereof
JP2009104568A (ja) 2007-10-20 2009-05-14 Movell Software Inc 携帯アプリ制作用プラットフォーム
US20090125977A1 (en) 2007-10-31 2009-05-14 Docomo Communications Laboratories Usa, Inc. Language framework and infrastructure for safe and composable applications
WO2009061399A1 (en) 2007-11-05 2009-05-14 Nagaraju Bandaru Method for crawling, mapping and extracting information associated with a business using heuristic and semantic analysis
US8572065B2 (en) 2007-11-09 2013-10-29 Microsoft Corporation Link discovery from web scripts
US8275419B2 (en) 2007-11-14 2012-09-25 Yahoo! Inc. Advertisements on mobile devices using integrations with mobile applications
US8811968B2 (en) * 2007-11-21 2014-08-19 Mfoundry, Inc. Systems and methods for executing an application on a mobile device
WO2009078020A2 (en) 2007-12-17 2009-06-25 Infogin Ltd. System and method for automatic creation of web content for mobile communicators
USD604740S1 (en) 2007-12-19 2009-11-24 Joseph Matheny Computer generated image for a display screen
US20090259940A1 (en) 2008-02-14 2009-10-15 Moraes Ian M Mobile video application service creation tool
US20090228862A1 (en) 2008-03-04 2009-09-10 Anders Bertelrud Modularized integrated software development environments
CN101276276A (zh) 2008-05-05 2008-10-01 天栢宽带网络科技(上海)有限公司 一种数字电视应用的开发模型装置
US20090307679A1 (en) * 2008-06-10 2009-12-10 Lg Electronics Inc. Communication device and a host device, a method of processing signal in the communication device and the host device, and a system having the communication device and the host device
US8769553B2 (en) 2008-07-18 2014-07-01 Sybase, Inc. Deploy anywhere framework for heterogeneous mobile application development
CN101686427A (zh) 2008-09-27 2010-03-31 北京掌易迅移动软件技术有限责任公司 移动服务平台
WO2010059720A1 (en) 2008-11-19 2010-05-27 Scigen Technologies, S.A. Document creation system and methods
US20100138784A1 (en) 2008-11-28 2010-06-03 Nokia Corporation Multitasking views for small screen devices
US20100199197A1 (en) 2008-11-29 2010-08-05 Handi Mobility Inc Selective content transcoding
JP5257311B2 (ja) * 2008-12-05 2013-08-07 ソニー株式会社 情報処理装置、および情報処理方法
US7899847B2 (en) 2008-12-17 2011-03-01 International Business Machines Corporation System and method for authoring new lightweight web applications using application traces on existing websites
US8214270B2 (en) 2009-01-06 2012-07-03 Also Energy, Inc. System and method for integrating billing information from alternate energy sources with traditional energy sources
USD631887S1 (en) 2009-03-27 2011-02-01 T-Mobile Usa, Inc. Portion of a display screen with a user interface
US20100251292A1 (en) 2009-03-27 2010-09-30 Sudharshan Srinivasan Smartphone for interactive television
US20120005702A1 (en) 2009-04-08 2012-01-05 Vidiactive, Ltd. Improved Television and Video System
US8213971B2 (en) 2009-04-27 2012-07-03 Qualcomm Incorporated Apparatus and method for activating computer applications with SMS messaging
US20100281475A1 (en) 2009-05-04 2010-11-04 Mobile On Services, Inc. System and method for mobile smartphone application development and delivery
US20100312691A1 (en) 2009-05-12 2010-12-09 Johnson Jr Alan W Loan Quotation System and Method
US9445036B2 (en) 2009-06-30 2016-09-13 Rovi Guides, Inc. Methods and systems for content scheduling across multiple devices
US8229984B2 (en) 2009-07-24 2012-07-24 Ensequence, Inc. Method for application authoring employing a pre-certified multi-platform master application template
CA2698066A1 (en) 2009-07-31 2011-01-31 Nitobi Software Inc. System and method for remotely compiling multi-platform native applications for mobile devices
US8667423B2 (en) 2009-08-04 2014-03-04 Hewlett-Packard Development Company, L.P. Multi-touch wallpaper management
US8849725B2 (en) 2009-08-10 2014-09-30 Yahoo! Inc. Automatic classification of segmented portions of web pages
CA2699345C (en) 2009-08-26 2012-01-17 Mobiroo Inc. Digital device advertising system and method
US20110078715A1 (en) 2009-09-29 2011-03-31 Rovi Technologies Corporation Identifying a movie of interest from a widget used with movie commericials
USD633921S1 (en) 2009-09-30 2011-03-08 Htc Corporation Graphic user interface for a display screen
US10346483B2 (en) 2009-10-02 2019-07-09 Akamai Technologies, Inc. System and method for search engine optimization
US8364795B2 (en) 2009-12-11 2013-01-29 Microsoft Corporation Search service administration web service protocol
US8719776B2 (en) 2009-12-30 2014-05-06 Foneclay, Inc. System for creation and distribution of software applications usable on multiple mobile device platforms
US20110167336A1 (en) 2010-01-04 2011-07-07 Hit Development Llc Gesture-based web site design
US8433828B2 (en) * 2010-02-26 2013-04-30 Apple Inc. Accessory protocol for touch screen device accessibility
US8370878B2 (en) 2010-03-17 2013-02-05 Verizon Patent And Licensing Inc. Mobile interface for accessing interactive television applications associated with displayed content
USD645871S1 (en) 2010-04-13 2011-09-27 Vivotech, Inc. Graphical user interface for a display screen or portion thereof
USD642586S1 (en) 2010-04-30 2011-08-02 American Teleconferencing Services, Ltd. Portion of a display screen with a user interface
US9071370B2 (en) 2010-05-20 2015-06-30 CSC Holdings, LLC System and method for set top box viewing data
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
WO2012018642A2 (en) 2010-07-26 2012-02-09 Invidi Technologies Corporation Universally interactive request for information
US9158650B2 (en) 2010-08-04 2015-10-13 BoxTone, Inc. Mobile application performance management
US20120036494A1 (en) * 2010-08-06 2012-02-09 Genwi, Inc. Web-based cross-platform wireless device application creation and management systems, and methods therefor
US9936333B2 (en) 2010-08-10 2018-04-03 Microsoft Technology Licensing, Llc Location and contextual-based mobile application promotion and delivery
US20120050530A1 (en) 2010-08-31 2012-03-01 Google Inc. Use camera to augment input for portable electronic device
US20120060087A1 (en) 2010-09-02 2012-03-08 Mohamad Jame System and method for converting an existing website into a mobile compatible website
US20120089933A1 (en) 2010-09-14 2012-04-12 Apple Inc. Content configuration for device platforms
US20120066601A1 (en) 2010-09-14 2012-03-15 Apple Inc. Content configuration for device platforms
US20120078874A1 (en) 2010-09-27 2012-03-29 International Business Machine Corporation Search Engine Indexing
US9501100B2 (en) 2010-09-30 2016-11-22 Apple Inc. Communicating sensor data between electronic devices
US20120123675A1 (en) 2010-11-16 2012-05-17 Itag, Inc. Method and system for operating and interacting with a virtual marketplace
US8694954B2 (en) 2010-11-29 2014-04-08 Norman Ortiz System and methods for mobile application development using mobile devices
KR20120067858A (ko) 2010-12-16 2012-06-26 한국전자통신연구원 모바일 웹 어플리케이션을 네이티브 어플리케이션으로 변환하는 방법 및 이러한 방법을 사용하는 장치
US20130219429A1 (en) 2011-04-06 2013-08-22 Media Direct, Inc. Systems and methods for a television and set-top box application development and deployment platform
US9134964B2 (en) 2011-04-06 2015-09-15 Media Direct, Inc. Systems and methods for a specialized application development and deployment platform
US20130283305A1 (en) 2011-04-06 2013-10-24 Media Direct, Inc. Systems and methods for a television and set-top box application development and deployment platform
US8898629B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US8978006B2 (en) 2011-04-06 2015-03-10 Media Direct, Inc. Systems and methods for a mobile business application development and deployment platform
US8898630B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform
US8612933B1 (en) 2011-06-24 2013-12-17 Amazon Technologies, Inc. Cross-platform mobile application development
US9311427B2 (en) 2012-01-03 2016-04-12 Cimpress Schweiz Gmbh Automated generation of mobile optimized website based on an existing conventional web page description
EP2815526A2 (en) 2012-02-14 2014-12-24 Media Direct, Inc. Systems and methods for a television and set-top box application development and deployment platform
CA2864462A1 (en) 2012-02-14 2013-08-22 Media Direct, Inc. Systems and methods for a television and set-top box application development and deployment platform
IN2015DN00473A (ko) 2012-07-25 2015-06-26 Indix Corp
US8959073B2 (en) 2012-11-02 2015-02-17 Swiftype, Inc. Automatically modifying a custom search engine for a web site based on user input
US20140281886A1 (en) 2013-03-14 2014-09-18 Media Direct, Inc. Systems and methods for creating or updating an application using website content

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8875095B2 (en) 2011-04-06 2014-10-28 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US8898630B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform
US8898629B2 (en) 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US8978006B2 (en) 2011-04-06 2015-03-10 Media Direct, Inc. Systems and methods for a mobile business application development and deployment platform
US9134964B2 (en) 2011-04-06 2015-09-15 Media Direct, Inc. Systems and methods for a specialized application development and deployment platform
US8832644B2 (en) 2011-04-06 2014-09-09 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
US10242080B1 (en) 2013-11-20 2019-03-26 Google Llc Clustering applications using visual metadata
US10055204B2 (en) 2015-10-30 2018-08-21 Xiaomi Inc. Generating communication firmware and a program plug-in based on product information and a program template
KR20180027023A (ko) * 2016-09-05 2018-03-14 바이플러그 주식회사 앱 개발을 위한 통합 개발 환경을 제공하는 앱 저작 장치 및 방법
KR20180061590A (ko) * 2016-11-30 2018-06-08 주식회사 플루이딕 소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법
JP2018106306A (ja) * 2016-12-22 2018-07-05 任天堂株式会社 ゲーム開発システム
KR20180098455A (ko) 2017-02-24 2018-09-04 주식회사 원더풀플랫폼 챗봇 거래 방법 및 챗봇 거래 시스템
KR20190005437A (ko) * 2017-07-06 2019-01-16 (주) 알타미라소프트 프론트-앤드 개발을 지원하는 앱 저작 장치, 앱 저작 도구를 사용한 앱 저작 방법 및 앱 개발 서버
WO2019221314A1 (ko) * 2018-05-16 2019-11-21 주식회사 유니온플레이스 컨텐츠 퍼블리싱 장치 및 컨텐츠 퍼블리싱 방법
US20200242621A1 (en) * 2018-10-10 2020-07-30 Capital One Services, Llc Methods, mediums, and systems for document authorization
US11816674B2 (en) * 2018-10-10 2023-11-14 Capital One Services, Llc Methods, mediums, and systems for document authorization
KR20220144509A (ko) * 2021-04-20 2022-10-27 엔에이치엔 주식회사 부가기능 설치 서비스 제공 방법 및 시스템
KR20230134389A (ko) 2022-03-14 2023-09-21 바쿠안토니아버지니아 한국의 문화와 법에 대한 이해와 학습을 돕기 위한 방법과 제도.
KR102551123B1 (ko) * 2022-06-20 2023-07-05 주식회사 리치닥 사용자 맞춤형 병원 홈페이지 자동 생성 및 ai crm과 연동하는 솔루션 시스템 및 방법
KR102614703B1 (ko) * 2023-04-12 2023-12-15 클라우드호스피탈 주식회사 의료기관용 웹페이지 구축서비스를 통해 수집되는 정보에 기반하여 의료서비스를 중개하는 방법

Also Published As

Publication number Publication date
WO2012154347A1 (en) 2012-11-15
US20120260232A1 (en) 2012-10-11
US8875095B2 (en) 2014-10-28
US20130205278A1 (en) 2013-08-08
US8898629B2 (en) 2014-11-25
US20130205276A1 (en) 2013-08-08
EP2695058A1 (en) 2014-02-12
CA2832172A1 (en) 2012-11-15
US8261231B1 (en) 2012-09-04
JP2014512611A (ja) 2014-05-22
AU2012254064A1 (en) 2013-10-17
US8832644B2 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
US8875095B2 (en) Systems and methods for a mobile application development and deployment platform
US8978006B2 (en) Systems and methods for a mobile business application development and deployment platform
US8898630B2 (en) Systems and methods for a voice- and gesture-controlled mobile application development and deployment platform
US9134964B2 (en) Systems and methods for a specialized application development and deployment platform
US20200401648A1 (en) System integrating a mobile device application creation, editing and distribution system with a website design system
KR101890376B1 (ko) 전자책 확장 시스템 및 방법
Deitel et al. Android for programmers: an app-driven approach
US20100114937A1 (en) System and method for content customization based on user's psycho-spiritual map of profile
Iversen et al. Learning mobile app development: A hands-on guide to building apps with iOS and Android
Sadun The iPhone developer's cookbook: building applications with the iPhone 3.0 SDK
KR20180124618A (ko) 휴대용 단말기 카드섹션 소프트웨어 개발 시스템
Fraser Contextually Recommending Expert Help and Demonstrations to Improve Creativity
Eriksson et al. Designing User Interfaces for Mobile Web
McCollin WordPress: Pushing the Limits
Love ASP. NET 3.5 Website Programming: Problem-Design-Solution
Lunka Adobe Experience Manager: A Guide to CQ5 for Marketing Professionals
Nguyen et al. Beauty Mobile Applications and Website
Blank et al. AdvancED Flex Application Development
Wicklund Practical Sitecore 8 Configuration and Strategy: A User Guide for Sitecore's Content and Marketing Capabilities
Connolly et al. Using IPhones, IPads, and IPods: A Practical Guide for Librarians
Garone Implementation of content management system and website redesign for JonFinn. com
Jiang et al. IOS ECommerce App Development with Parse
Riches et al. Apple Watch for Developers: Advice & Techniques from Five Top Professionals
Hammond et al. DotNetNuke 5 user's guide: get your website up and running
Wilkinson Going Live: Launching Your Digital Business

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application