WO2015121423A1 - Procédés, infrastructures et dispositifs prenant en charge une collaboration concepteur-développeur et une itération de conception rapide d'application logicielle - Google Patents

Procédés, infrastructures et dispositifs prenant en charge une collaboration concepteur-développeur et une itération de conception rapide d'application logicielle Download PDF

Info

Publication number
WO2015121423A1
WO2015121423A1 PCT/EP2015/053112 EP2015053112W WO2015121423A1 WO 2015121423 A1 WO2015121423 A1 WO 2015121423A1 EP 2015053112 W EP2015053112 W EP 2015053112W WO 2015121423 A1 WO2015121423 A1 WO 2015121423A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
application
software application
computer device
configuration values
Prior art date
Application number
PCT/EP2015/053112
Other languages
English (en)
Inventor
Priidu Zilmer
Jaanus Kase
Original Assignee
Wireswiss Gmbh
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 Wireswiss Gmbh filed Critical Wireswiss Gmbh
Publication of WO2015121423A1 publication Critical patent/WO2015121423A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • This invention relates to a framework for software application design and configuration, and, more particularly, to a unified framework supporting designer-developer collaboration and rapid software application design iteration.
  • FIG. 1 shows an overview of a unified framework supporting designer- developer collaboration and rapid design iteration in accordance with embodiments hereof;
  • FIG. 2 shows an overview of another unified framework supporting designer- developer collaboration and rapid design iteration in accordance with embodiments hereof;
  • FIG. 3 shows an overview of another unified framework supporting designer- developer collaboration and rapid design iteration in accordance with embodiments hereof;
  • FIGS. 4A - 4B are flowcharts depict operation of the exemplary frameworks of
  • FIGS. 1-3 in accordance with embodiments hereof.
  • FIG. 5 depicts aspects of computing and computer devices in accordance with embodiments. DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EXEMPLARY EMBODIMENTS GLOSSARY AND ABBREVIATIONS
  • GUI means graphical user interface (UI);
  • JSON means JavaScript Object Notation
  • OS means operating system
  • UI means user interface
  • URI Uniform Resource Identifier
  • URL means Uniform Resource Locator
  • XML means Extensible markup language
  • YAML is an acronym for "Yet Another Markup Language” or a recursive acronym for "YAML Ain't Markup Language”.
  • Digital product design components are often related to behavior and look and feel, for example, visual appearance - typography, layout - of individual application screens; gesture positions, thresholds and modifiers; animation parameters (timings, curves) between different user interface states; elements of sound; and interface text.
  • Assets - digital/binary assets such as images, fonts, sounds, etc.
  • Producing and publishing builds may be a heavyweight process that is not justified just because of changing one configuration value.
  • Design is an aesthetic -based process, and it is often not possible to determine in advance what the right value, layout or timing for a design feature may be.
  • prototyping methods exist, the best design results are achieved when iterating in the context of an actual product, with real data, devices and other environment- network or user's ambience, for example.
  • FIG. 1 shows an overview of an exemplary framework 100 for designer- developer collaboration and rapid design iteration according to embodiments hereof.
  • an application 102 (typically a software application) is designed and engineered to run on a device (not shown).
  • the device may be any kind of computing device, including mobile devices (e.g., phones, tablets, etc.), computers (e.g. , desktops, laptops, etc.), and the like. Computing devices are described in greater detail below.
  • the application preferably includes one or more application objects 104, being mechanisms (e.g., software code) that implement aspects of the application.
  • An application 102 may also include pre-set or current configuration values 106 and/or asset(s) 107 that are used by the application object(s) 104.
  • An application 102 may also include a configuration load mechanism 108 (e.g., a loader library) that may be used by the application 102 to load or set configuration values in the application object(s) 104.
  • a configuration load mechanism 108 e.g., a loader library
  • the term “mechanism” refers to any device(s), process(es), service(s), or combination thereof.
  • a mechanism may be implemented in hardware, software, firmware, using a special-purpose device, or any combination thereof.
  • a mechanism may be integrated into a single device or it may be distributed over multiple devices. The various components of a mechanism may be co-located or distributed. The mechanism may be formed from other mechanisms.
  • the term “mechanism” may thus be considered to be shorthand for the term device(s) and/or process(es) and/or service(s).
  • the exemplary framework 100 may include a configuration version control system 110 that may be used to store versioned configuration values 112.
  • an engineer uses the most recent version of the versioned configuration values 112 as the pre-set configuration value(s) 106 in the application.
  • a designer may inspect and modify one or more values in the versioned configuration values 112, and may publish new or modified configuration values (as published configuration values 114) to the application in order to replace the pre-set configuration values 106.
  • Publication of configuration values may be initiated by a gesture or command or the like given to the application 102 and requiring it to load new configuration values. Such a gesture or command or the like may cause the loader mechanism 108 to obtain the published configuration values 114.
  • the configuration loader mechanism 108 may get an instruction from the application itself and/or from some other application on the device (e.g., the OS) to look for and load a new configuration.
  • the loader mechanism 108 may be provided with one or more addresses or locations from which to obtain the published configuration values. In some implementation the address or location may be specified by one or more URIs and/or URLs, e.g., public URIs or URLs.
  • the configuration values preferably contain key- value pairs and may be stored and or provided in text form or in some other digital/binary encoded form.
  • the key- value configuration pairs may be stored in a file in a format such as JSON or YAML or the like.
  • the published configuration values may be encrypted or otherwise encoded to prevent exposing implementation details of the application 102, and further, to prevent unauthorized tampering with the settings of the application.
  • the loader mechanism 108 may use or require
  • the assets may be versioned (in version control system 110) using any known versioning tool, e.g., Git or Github or the like.
  • any known versioning tool e.g., Git or Github or the like.
  • the version control system 110 may be a cloud- based system, accessible via a network (not shown) such as the Internet.
  • FIG. 2 shows an overview of another unified framework 200 supporting designer-developer collaboration and rapid design iteration in accordance with embodiments hereof.
  • the version control system 210 includes versioned digital assets 116, and the digital asset(s) 107 used by the application 102 may be preset digital assets 118 (e.g., taken from the versioned digital assets 116) or they may be published assets 120.
  • assets may be published by provided to the application 102 via a gesture or command to the application 102 requiring it to load new digital assets. Such a gesture or command or the like may cause the loader mechanism 108 to obtain the published asset values 120.
  • the configuration loader mechanism 108 may get an instruction from the application itself and/or from some other application on the device (e.g., the OS) to look for and load a new or different asset values.
  • the loader mechanism 108 may be provided with one or more addresses or locations from which to obtain the published digital asset(s).
  • the address or location may be specified by one or more URIs and/or URLs, e.g., public URIs or URLs.
  • the digital assets may be versioned (in version control system 110) using any known versioning tool, e.g., Git or Github or the like.
  • any known versioning tool e.g., Git or Github or the like.
  • the version control system 210 may be a cloud-based system, accessible, e.g., via a network (not shown) such as the Internet.
  • FIG. 3 shows an overview of another unified framework 300 supporting designer-developer collaboration and rapid design iteration in accordance with embodiments hereof.
  • a design tool (mechanism) 302 is provided as a central point of collaboration, rather than a textual file. Users, e.g., designers, may use the design tool 302 for more direct manipulation of the configuration and/or assets and for immediate feedback.
  • the design tool 302 may be used to drill down to any part of the application 102 that is currently presented, and the user may thereby discover what configuration keys and values are relevant for that context.
  • the user/designer may use the design tool 302 to review/evaluate the effects of changes to the configuration values, with the tool preferably providing the user with a representation 306 of the application 102, preferably in real time.
  • the concept of "real time” is discussed in greater detail below.
  • the results are preferably pushed immediately to device and the relevant portions of the application - that is, the portions of the application affected by the changes (e.g., the application's UI) - are reloaded, without having to do an extra publishing process.
  • design tool(s) 302 may also be used to review and load different assets in the application and to replace the current version of the assets.
  • FIGS. 4A - 4B are flowcharts depicting operation of the exemplary frameworks of FIGS. 1-3, in accordance with embodiments hereof.
  • configuration load mechanism 108 (e.g., the loader library), loads the preset or current configuration (at S400) and then begins its operation.
  • the application monitors (at S402) for a command or instruction to modify or update the configuration.
  • this instruction may come in the form of a key sequence or gesture or the like, it may come from the application itself, or it may come from another application (e.g., the OS) running on the device.
  • the command or instruction is hidden from ordinary users and is only available to developers.
  • the application may have a developer mode in which the instruction to update the configuration is provided in a developer menu or the like.
  • an update request may be made by the OS of the computer device and/or by an application running on the device.
  • a program running on the device may determine that the device has changed orientation (e.g., from vertical orientation to a horizontal or landscape orientation), and may use different values for the UI under such conditions.
  • the UI of a computer system may use different values for various features depending on external conditions (e.g., ambient light, external noise, etc.).
  • the UI of a computer system may use different values for various features depending on what other applications are running on the device.
  • the UI of an OS may use different sounds or sound durations depending on whether there is a music application running at the time on the device. It should be appreciated that these examples are not limiting and that different and/or other conditions may trigger a configuration update request. It should also be appreciated that not every configuration update will actually change any or all values. For example, it may be the case that a new configuration may have some or all of the same values (for the key- value pairs) as the current configuration.
  • configuration load mechanism 108 loads the preset or current configuration (at S410).
  • the application then monitors (at S412) for a command or instruction to modify or update the configuration or the assets.
  • this instruction may come in the form of a key sequence or gesture or the like or it may be included in a GUI menu or it may come from an instruction in the application or it may come from an instruction from another program (e.g., the OS) running on the device.
  • the command or instruction to update the configuration may differ from the command to update the assets, in other cases the commands may be combined.
  • If no configuration and/or asset update request is detected (at S414) then operation of the application continues and monitoring resumes. If an update request is detected (at S414) then the configuration and/or assets are updated (at S416) after which operation of the application continues and monitoring resumes.
  • the monitoring functionality may be implemented, at least in part, within the configuration load mechanism (e.g., the loader library) 108.
  • the application may link to and invoke the loader library which will then take on the responsibility for determining when / whether configuration and/or asset values need to be updated.
  • the versioned assets and/or configuration values may be changed in the version control system.
  • some embodiments of the framework may provide an online dashboard, providing an overview of recent changes to the configuration with possible social and workflow features (commenting, approval etc.).
  • the design tool may be used for scripting product behavior.
  • a lot of the product behavior may thereby be abstracted away from the application code into a higher-level, possibly cross platform logic. This logic could be controlled with a scripting feature in the tool.
  • the design tool may plug in to or connection with other developer tools (e.g., Xcode, Android or other developer or designer tools such Sketch, Illustrator or the like).
  • developer tools e.g., Xcode, Android or other developer or designer tools such Sketch, Illustrator or the like.
  • the described framework provides a lightweight glue layer that helps to bind the engineering and design worlds, leaving each with their freedom. As a result neither designers nor engineers have to change significantly their tooling or work practices and can focus on communication and collaboration.
  • the framework provides a service (e.g., a cloud-based service) for hosting and versioning application configurations, and a library that provides an easy interface to the service and can be used in both online (directly talking to the service) and offline (using a pre-set set of values and assets) configurations.
  • the configuration loader may provide (1) a configuration store, and (2) a binary asset store to an application that uses it.
  • the configuration store is a key- value style. Both of these stores are easy to use in situations where previously numbers or hardcoded binary assets would be used.
  • the framework may provide design software with a visual interface. A designer will be able to see various design features, e.g., color, type, and composition, and try out gestures.
  • the software may have precision-oriented controls. A designer will be able to set pixel-precise values, timings and other parameters of the product.
  • the configuration loaders deal with connecting the application code to keys, values and binary assets.
  • Each supported client platform will need a new configuration loader (library) implementation.
  • the system may be used just using the configuration loader (library) and manual file editing.
  • the configuration loader (library) will necessarily require connecting to our online system and can be managed only with the design tool.
  • the UI for a computer program may use a quality value displaying images.
  • the UI software application may rely on configuration values for this image quality.
  • the UI software application may thus have a key- value pair
  • ⁇ image_quality, value> which it uses. This value can be changed during execution of the software via the configuration mechanism.
  • the key-value pairs provided by the configuration mechanism must correspond to keys used by the application software, and the values should be values that are usable by the application software.
  • the configuration mechanism does not check the keys or the values to determine in they are used or usable by the application software, and any integrity checking and the like is performed, if at all, by the application software.
  • the framework described provides a way for programs to change configuration values and/or assets while running. Furthermore, these changes can be made in a distributed manner, e.g., over a network, or locally.
  • the loader mechanism may obtain configuration information from a distributed source (e.g., a "cloud" source) or from a local source. Changes to a programs configuration and/or assets can be pushed to a program by a developer or other entity (e.g., a software company) and can be used to affect ongoing operation of a running program. Thus, in many cases, there may be no need to terminate an executing program in order to modify its configuration or the assets it is using.
  • loader mechanism may store multiple configurations locally (e.g., on the computer device running an application). In this way, when the application requests an updated configuration (e.g., because its external environment has changed - e.g., a mobile device has gone from landscape to portrait orientation), then the loader mechanism may obtain the needed configuration from a local cache.
  • each user device is, or comprises, a computer system.
  • Programs that implement such methods may be stored and transmitted using a variety of media (e.g. , computer readable media) in a number of manners.
  • Hard- wired circuitry or custom hardware may be used in place of, or in combination with, some or all of the software instructions that can implement the processes of various embodiments.
  • various combinations of hardware and software may be used instead of software only.
  • FIG. 5 is a schematic diagram of a computer system 500 upon which
  • the computer system 500 includes a bus 502
  • Communication port(s) 514 may be connected to one or more networks by way of which the computer system 500 may receive and/or transmit data.
  • a "processor” means one or more microprocessors, central processing units (CPUs), computing devices, microcontrollers, digital signal processors, or like devices or any combination thereof, regardless of their architecture.
  • An apparatus that performs a process can include, e.g. , a processor and those devices such as input devices and output devices that are appropriate to perform the process.
  • Processor(s) 504 can be (or include) any known processor, such as, but not limited to, an Intel® Itanium® or Itanium 2® processor(s), AMD® Opteron® or Athlon MP® processor(s), or Motorola® lines of processors, and the like.
  • Communications port(s) 514 can be any of an RS-232 port for use with a modem based dial-up connection, a 10/100 Ethernet port, a Gigabit port using copper or fiber, or a USB port, and the like. Communications port(s) 514 may be chosen depending on a network such as a Local Area Network (LAN), a Wide Area Network (WAN), a CDN, or any network to which the computer system 500 connects.
  • LAN Local Area Network
  • WAN Wide Area Network
  • CDN Code Division Multiple Access
  • the computer system 500 may be in communication with peripheral devices (e.g., display screen 516, input device(s) 518) via Input / Output (I/O) port 520. Some or all of the peripheral devices may be integrated into the computer system 500, and the input device(s) 518 may be integrated into the display screen 516 (e.g., in the case of a touch screen).
  • peripheral devices e.g., display screen 516, input device(s) 518) via Input / Output (I/O) port 520.
  • Main memory 506 can be Random Access Memory (RAM), or any other dynamic storage device(s) commonly known in the art.
  • Read-only memory 508 can be any static storage device(s) such as Programmable Read-Only Memory (PROM) chips for storing static information such as instructions for processor(s) 504.
  • Mass storage 512 can be used to store information and instructions. For example, hard disks such as the Adaptec® family of Small Computer Serial Interface (SCSI) drives, an optical disc, an array of disks such as Redundant Array of Independent Disks (RAID), such as the Adaptec® family of RAID drives, or any other mass storage devices may be used.
  • Bus 502 communicatively couples processor(s) 504 with the other memory, storage and communications blocks.
  • Bus 502 can be a PCI / PCI-X, SCSI, a Universal Serial Bus (USB) based system bus (or other) depending on the storage devices used, and the like.
  • Removable storage media 510 can be any kind of external hard-drives, floppy drives,
  • CD-ROM Compact Disc - Read Only Memory
  • CD-RW Compact Disc - Re-Writable
  • DVD-ROM Digital Versatile Disk - Read Only Memory
  • Embodiments herein may be provided as one or more computer program products, which may include a machine-readable medium having stored thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process.
  • machine-readable medium refers to any medium, a plurality of the same, or a combination of different media, which participate in providing data (e.g. , instructions, data structures) which may be read by a computer, a processor or a like device.
  • Such a medium may take many forms, including but not limited to, non- volatile media, volatile media, and transmission media.
  • Non- volatile media include, for example, optical or magnetic disks and other persistent memory.
  • Volatile media include dynamic random access memory, which typically constitutes the main memory of the computer.
  • Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to the processor. Transmission media may include or convey acoustic waves, light waves and electromagnetic emissions, such as those generated during radio frequency (RF) and infrared (IR) data communications.
  • RF radio frequency
  • IR infrared
  • the machine -readable medium may include, but is not limited to, floppy diskettes, optical discs, CD-ROMs, magneto-optical disks, ROMs, RAMs, erasable
  • EPROMs programmable read-only memories
  • EEPROMs electrically erasable programmable read-only memories
  • magnetic or optical cards flash memory, or other type of
  • embodiments herein may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g. , modem or network connection).
  • a communication link e.g. , modem or network connection
  • a computer-readable medium can store (in any appropriate format) those program elements that are appropriate to perform the methods.
  • main memory 506 is encoded with application(s) 522 that support(s) the functionality as discussed herein (an application 522 may be an application that provides some or all of the functionality of one or more of the mechanisms described herein).
  • Application(s) 522 can be embodied as software code such as data and/or logic instructions (e.g. , code stored in the memory or on another computer readable medium such as a disk) that supports processing functionality according to different embodiments described herein.
  • software code such as data and/or logic instructions (e.g. , code stored in the memory or on another computer readable medium such as a disk) that supports processing functionality according to different embodiments described herein.
  • application(s) 522 may include application 102 and configuration loader mechanism (library 108) in FIGS. 1-3 and/or design tool(s) 302 in FIG. 3.
  • processor(s) 504 accesses main memory
  • process(es) 524 represents one or more portions of the application(s) 522 performing within or upon the processor(s) 504 in the computer system 500.
  • processes(s) 524 may include processes corresponding to application 102 and configuration loader mechanism (library 108) in FIGS. 1-3 and/or to design tool(s) 302 in FIG. 3.
  • the application 522 itself (i.e. , the un-executed or non-performing logic instructions and/or data).
  • the application 522 may be stored on a computer readable medium (e.g., a repository) such as a disk or in an optical medium.
  • the application 522 can also be stored in a memory type system such as in firmware, read only memory (ROM), or, as in this example, as executable code within the main memory 506 (e.g., within Random Access Memory or RAM).
  • application(s) 522 may also be stored in removable storage media 510, read-only memory 508, and/or mass storage device 512.
  • the computer system 500 can include other processes and/or software and hardware components, such as an operating system that controls allocation and use of hardware resources.
  • embodiments of the present invention include various steps or operations. A variety of these steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor programmed with the instructions to perform the operations.
  • module refers to a self-contained functional component, which can include hardware, software, firmware or any combination thereof.
  • an apparatus may include a computer/computing device operable to perform some (but not necessarily all) of the described process.
  • Embodiments of a computer-readable medium storing a program or data structure include a computer-readable medium storing a program that, when executed, can cause a processor to perform some (but not necessarily all) of the described process.
  • process may operate without any user intervention.
  • process includes some human intervention (e.g. , a step is performed by or with the assistance of a human).
  • real time means near real time or sufficiently real time. It should be appreciated that there are inherent delays in network-based communication (e.g. , based on network traffic and distances), and these delays may cause delays in data reaching various components. Inherent delays in the system do not change the real-time nature of the data. In some cases, the term “real-time data” may refer to data obtained in sufficient time to make the data useful for its intended purpose.
  • real time computation may refer to an online computation, i.e. , a computation that produces its answer(s) as data arrive, and generally keeps up with continuously arriving data.
  • online computation is compared to an "offline” or "batch” computation.
  • portion means some or all. So, for example, "A portion of X” may include some of "X” or all of "X”. In the context of a conversation, the term “portion” means some or all of the conversation.
  • the phrase “at least some” means “one or more,” and includes the case of only one.
  • the phrase “at least some ABCs” means “one or more ABCs”, and includes the case of only one ABC.
  • the phrase “based on” means “based in part on” or “based, at least in part, on,” and is not exclusive.
  • the phrase “based on factor X” means “based in part on factor X” or “based, at least in part, on factor X.” Unless specifically stated by use of the word “only”, the phrase “based on X” does not mean “based only on X.”
  • the phrase “using” means “using at least,” and is not exclusive. Thus, e.g., the phrase “using X” means “using at least X.” Unless specifically stated by use of the word “only”, the phrase “using X” does not mean “using only X.”
  • the phrase “distinct” means “at least partially distinct.” Unless specifically stated, distinct does not mean fully distinct. Thus, e.g., the phrase, "X is distinct from Y” means that "X is at least partially distinct from Y,” and does not mean that "X is fully distinct from Y.” Thus, as used herein, including in the claims, the phrase “X is distinct from Y” means that X differs from Y in at least some way.
  • a list may include only one item, and, unless otherwise stated, a list of multiple items need not be ordered in any particular manner.
  • a list may include duplicate items.
  • the phrase "a list of XYZs" may include one or more "XYZs”.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

Un procédé informatisé de développement d'une application logicielle comprend les étapes consistant à : configurer ladite application logicielle pour l'utilisation de valeurs de configuration actuelles pour au moins certains aspects du fonctionnement de ladite application logicielle; exécuter ladite application avec un premier ensemble de valeurs de configuration au titre desdites valeurs de configuration actuelles pour ladite application; en réponse à une instruction de modification desdites valeurs de configuration actuelles pour ladite application, remplacer au moins certaines desdites valeurs de configuration actuelles par un second ensemble de valeurs de configuration de façon à obtenir des valeurs de configuration actuelles modifiées; et exécuter l'application avec lesdites valeurs de configuration actuelles modifiées.
PCT/EP2015/053112 2014-02-17 2015-02-13 Procédés, infrastructures et dispositifs prenant en charge une collaboration concepteur-développeur et une itération de conception rapide d'application logicielle WO2015121423A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461940817P 2014-02-17 2014-02-17
US61/940,817 2014-02-17

Publications (1)

Publication Number Publication Date
WO2015121423A1 true WO2015121423A1 (fr) 2015-08-20

Family

ID=52473912

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/053112 WO2015121423A1 (fr) 2014-02-17 2015-02-13 Procédés, infrastructures et dispositifs prenant en charge une collaboration concepteur-développeur et une itération de conception rapide d'application logicielle

Country Status (1)

Country Link
WO (1) WO2015121423A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013023481A1 (fr) * 2011-08-18 2013-02-21 腾讯科技(深圳)有限公司 Système et procédé de mise à niveau logicielle, et serveur et client
US8521864B1 (en) * 2006-01-10 2013-08-27 Crimson Corporation Systems and methods for managing the impact of monitoring processes
US20130347111A1 (en) * 2012-06-25 2013-12-26 Zimperium System and method for detection and prevention of host intrusions and malicious payloads
US20140040857A1 (en) * 2012-05-04 2014-02-06 International Business Machines Corporation Instrumentation of software applications for configuration thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8521864B1 (en) * 2006-01-10 2013-08-27 Crimson Corporation Systems and methods for managing the impact of monitoring processes
WO2013023481A1 (fr) * 2011-08-18 2013-02-21 腾讯科技(深圳)有限公司 Système et procédé de mise à niveau logicielle, et serveur et client
EP2743827A1 (fr) * 2011-08-18 2014-06-18 Tencent Technology (Shenzhen) Co., Ltd Système et procédé de mise à niveau logicielle, et serveur et client
US20140040857A1 (en) * 2012-05-04 2014-02-06 International Business Machines Corporation Instrumentation of software applications for configuration thereof
US20130347111A1 (en) * 2012-06-25 2013-12-26 Zimperium System and method for detection and prevention of host intrusions and malicious payloads

Similar Documents

Publication Publication Date Title
Alreshidi et al. Factors for effective BIM governance
US7886284B2 (en) Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems
US11474842B2 (en) Integration application creator design
WO2015073764A1 (fr) Modèles de curation de contenu
US8621442B2 (en) Quicker translation of a computer program source code
US20190272161A1 (en) Method and System for Modifying Machine Instructions within Compiled Software
US20150143267A1 (en) SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES
Aldayel et al. Challenges and best practices for mobile application development
US10572247B2 (en) Prototype management system
JP7280388B2 (ja) カスタマイズされた人工知能生産ラインを実行する装置及び方法、機器及び媒体
US11922142B1 (en) Bi-directional design-to-code
WO2013181892A1 (fr) Serveur web et procédé de prise en charge de conception en ligne d'une application mobile
CN102915243A (zh) 以单一入口提供自动生成应用程序及上架服务的方法
WO2015121423A1 (fr) Procédés, infrastructures et dispositifs prenant en charge une collaboration concepteur-développeur et une itération de conception rapide d'application logicielle
TW201606547A (zh) 用戶定義的動態事件
US20160103438A1 (en) Machine tool post configurator systems and methods
US20140089817A1 (en) Distributed systems and methods for collaborative creation and modification of geometric models
US20200042336A1 (en) Method and system for simulating a robotic program of an industrial robot
US10701146B2 (en) Method, apparatus, and system for deep mirroring
Schouten IBM® SmartCloud® Essentials
Demiliani et al. Mastering Microsoft Dynamics 365 Business Central: Discover extension development best practices, build advanced ERP integrations, and use DevOps tools
Islam Android Project Business Card: Ecard
Al-Naim et al. Mobile Applications Development for Upstream Solutions
EDWARDS AUTOMATION FOR THE AUTOMATORS OF THINGS
Bhatia et al. Terraform and Import Support on Other Platforms

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15704786

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15704786

Country of ref document: EP

Kind code of ref document: A1