VERFAHREN ZUM ERZEUGEN EINER AUF EINEM EINEN BERÜHRUNGSEMPFINDLICHEN BILDSCHIRM AUFWEISENDEN DIGITALEN ENDGERÄT LAUFFÄHIGEN ANWENDUNG UND VORRICHTUNG
Beschreibung
Stand der Technik
[0001] Die vorliegende Erfindung betrifft ein Verfahren zum Erzeugen einer auf einem einen berührungsempfindlichen Bildschirm aufweisenden digitalen Endgerät lauffähigen Anwendung. Darüber hinaus betrifft die vorliegende Erfindung eine Vorrichtung zum
Erzeugen einer auf einem einen berührungsempfindlichen Bildschirm aufweisenden digitalen Endgerät lauffähigen Anwendung sowie den Code einer solchen Anwendung.
[0002] Aufgrund der wachsenden Verbreitung von Drahtlosnetzen sind heutzutage eine immer größer werdende Anzahl von Drahtlosgeräten in Benutzung. Zu diesen digitalen Geräten oder digitalen Endgeräten zählen Mobiltelefone, PDAs (Personal Digital Assistants) mit Fähigkeit zur Drahtloskommunikation, Zweiwege-Pager und dergleichen. Parallel zur wachsenden Verfügbarkeit von Drahtlosgeräten hat sich die Nützlichkeit von Software- Anwendungen erhöht, die auf solchen digitalen Geräten oder digitalen Endgeräten ausgeführt werden. Beispielsweise kann das Drahtlosgerät eine Anwendung enthalten, die einen Wetterbericht für eine Liste von bevorzugten Städten abruft, oder eine Anwendung, die es einem Benutzer ermöglicht, Lebensmittel einzukaufen. Diese Software-Anwendungen nutzen die Fähigkeit des Drahtlosnetzes zur Datenübertragung, um den Benutzern zeitnahe und nützliche Dienste verfügbar zu machen, oft zusätzlich zur Sprachkommunikation.
Allerdings bleibt die Entwicklung von Software-Anwendungen angesichts einer Überfülle von unterschiedlichen Gerätetypen, angesichts der beschränkten Ressourcen von einigen digitalen Endgeräten und angesichts der Komplexität der Zustellung großer Datenmengen zu den digitalen Endgeräten eine schwierige und zeitaufwändige Aufgabe.
[0003] , Gegenwärtig sind die digitalen Endgeräte so konfiguriert, dass sie über Internetbasierte Browser und/oder native Anwendungen mit Webdiensten kommunizieren. Die Browser haben den Vorteil, dass sie für den Betrieb auf einer plattformübergreifenden Basis für eine Vielzahl von unterschiedlichen digitalen Endgeräten eingerichtet werden können. Anwendungen für Browser sind effiziente Werkzeuge zum Gestalten plattformunabhängiger Anwendungen. Dementsprechend führen unterschiedliche Laufzeitumgebungen - unabhängig von der jeweiligen Plattform - dieselbe Anwendung aus.
[0004] Auf der anderen Seite werden native Anwendungen für eine spezielle Plattform von Drahtlosgeräten entwickelt, wodurch für eine Laufzeitumgebung, die auf dieser Plattform ausgeführt wird, ein relativ optimiertes Anwendungsprogramm ermöglicht wird. Eine plattformabhängige Anwendung führt jedoch zu mehreren Hindernissen, wozu gehört, dass mehrere Versionen derselben Anwendung entwickelt werden müssen. Außerdem benötigen Anwendungsentwickler Erfahrungen auf dem Gebiet von Programmiersprachen wie Java und C++, um derartige native Anwendungen erstellen zu können.
Offenbarung der Erfindung
[0005] Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zum Erzeugen einer auf einem einen berührungsempfindlichen Bildschirm aufweisenden digitalen Endgerät lauffähigen Anwendung zu schaffen bei dem zumindest einige der oben angeführten Nachteile gemildert sind oder beseitigt sind.
[0006] Diese Aufgabe wird gelöst durch ein Verfahren zum Erzeugen einer auf einem einen berührungsempfindlichen Bildschirm aufweisenden digitalen Endgerät lauffähigen Anwendung, wobei ein Code der Anwendung zumindest teilweise von einem Servergerät auf das digitale Endgerät übertragen wird, wobei die Übertragung des Codes der Anwendung zumindest teilweise durch Benutzerinteraktion ausgelöst wird, wobei das Verfahren die Schritte umfasst:
- Erstellen eines für eine Mehrzahl von Typen des digitalen Endgeräts verwendbaren Modellcodes der Anwendung und
- Erzeugen des Codes der Anwendung basierend auf dem Modellcode.
[0007] Die erfindungsgemäße Vorrichtung hat den Vorteil, dass für eine Mehrzahl von verschiedenen Typen von digitalen Endgeräten (oder auch von verschiedenen Plattformen von digitalen Endgeräten; so zum Beispiel Endgeräte, die mittels eines Android- Betriebssystem betrieben werden oder die mittels eines Windows-Betriebssystem betrieben werden oder dergleichen) der Programmieraufwand zur Herstellung einer Anwendung jedenfalls erheblich dadurch reduziert werden kann, dass nicht für jeden Typ von digitalem Endgerät (bzw. für jede Plattform etwa von unterschiedlichen Betriebssystemen) eine komplett neue bzw. eigens erstelle Programmierung erforderlich ist, sondern dass zumindest Teile des erstellten Programcodes der Anwendung für mehrere Typen von digitalen
Endgeräten (bzw. für mehrere Plattformen) verwendbar sind. Hierbei wird gemäß der vorliegenden Erfindung ein "Modellcode" hergestellt, der jedenfalls dahingehend universell ist, dass jedenfalls ohne weitere menschliche Interaktion zur Codemanipulation eine
Anwendung bei mehreren Typen von digitalen Endgeräten möglich ist. Der für einen konkreten Typ von digitalem Endgerät (bzw. für ein konkretes digitales Endgerät) tatsächlich verwendete Programmcode der Anwendung wird im Rahmen der vorliegenden Erfindung als "Code der Anwendung" bezeichnet. Es ist gemäß der vorliegenden Erfindung nach einer ersten alternativen Ausführungsform möglich, dass dieser Code der Anwendung identisch oder quasiidentisch ist zum Modellcode. In diesem Fall weist der Code der Anwendung ggf. auch Codeteile auf, die bei dem konkreten digitalen Endgerät nicht verarbeitet wird oder werden kann. In diesem (ersten) Fall ist unter "Erzeugen des Codes der Anwendung basierend auf dem Modellcode" zu verstehen, dass im Wesentlichen eine Kopie des
Modellcodes generiert oder erzeugt wird. Gemäß einer zweiten alternativen
Ausführungsform der vorliegenden Erfindung ist es jedoch auch möglich, dass der Code der Anwendung nicht identisch (und auch nicht quasiidentisch) ist zum Modellcode, sondern im Wesentlichen von jeden Code-Teilen befreit ist, die sich auf solche Typen von digitalen Endgeräte (bzw. Plattformen für solche digitale Endgeräte) beziehen, die nicht dem konkreten digitalen Endgerät entsprechen, für welches der "Code der Anwendung" basierend auf dem Modellcode erzeugt werden soll. In diesem Fall weist der Code der Anwendung entweder keine Codeteile auf, die bei dem konkreten digitalen Endgerät nicht verarbeitet werden oder werden können oder aber es weist der Code der Anwendung jedenfalls weniger Codeteile auf, die bei dem konkreten digitalen Endgerät nicht verarbeitet werden oder verarbeitet werden können. In diesem (zweiten) Fall ist unter "Erzeugen des Codes der Anwendung basierend auf dem Modellcode" zu verstehen, dass zumindest Teile des
Programmcodes, die sich auf Typen von Endgeräten beziehen, die nicht dem konkreten Endgerät entsprechen, entfernt werden. Gemäß der vorliegenden Erfindung ist es
beispielsweise vorgesehen, dass im Modellcode solche multiplattformfähigen Codeteile etwa in Form von bedingten Anweisungen (sog. IF-Anweisungen (bzw. "Falls-Anweisungen") oder sog. CASE-Anweisungen (bzw. sog. Fallunterscheidungen)) vorhanden sind.
[0008] Erfindungsgemäß ist es bevorzugt, dass der Modellcode für die Mehrzahl von Typen des digitalen Endgeräts plattformunabhängig ist.
[0009] Erfindungsgemäß ist es ferner bevorzugt, dass der Code der Anwendung ein Hypertext Markup Language (HTML) Code ist.
[0010] Besonders bevorzugt ist es ferner, wenn die Erstellung des für die Mehrzahl von Typen des digitalen Endgeräts verwendbaren Modellcodes der Anwendung ein
Entwicklungsgerät verwendet wird, welches keinen berührungsempfindlichen Bildschirm aufweist.
[0011] Erfindungsgemäß ist ferner auch bevorzugt, dass die Anwendung wenigstens eine erste mögliche Ansicht und eine zweite mögliche Ansicht aufweist, wobei die erste und zweite Ansicht unterschiedlichen Ansichtsmodi der Anwendung entsprechen, wobei die erste mögliche Ansicht mittels eines ersten einheitlichen Quellen-Anzeigers (URL, Uniform
Ressource Locator) und wobei die zweite mögliche Ansicht mittels eines zweiten
einheitlichen Quellen-Anzeigers (URL, Uniform Ressource Locator) referenziert wird.
[0012] Hierdurch ist es erfindungsgemäß vorteilhaft möglich, dass in einfacher und in wiederholbarer Weise verschiedene Teile bzw. Ansichten (bzw. von Zuständen oder Betriebszuständen) der Anwendung wieder realisiert werden können.
[0013] Erfindungsgemäß ist es ferner ebenfalls bevorzugt vorgesehen, dass nach dem Start der Anwendung in Abhängigkeit der beim letztmaligen Verlassen der Anwendung dargestellten Ansicht direkt die erste oder zweite mögliche Ansicht dargestellt wird.
[0014] Die Erfindung bezieht sich daher auch auf eine Möglichkeit die komplexe
Navigation innerhalb einer mobilen Anwendung zu speichern um diese beim erneuten Start der Anwendung wiederherstellen zu können.
[0015] Web-Anwendungen basieren heutzutage häufig aus einer einzigen Hypertext Markup Language (HTML)-Seite, welche interaktiv auf die Aktionen des Benutzers reagiert. Bekannt ist, dass man grundsätzlich die Navigation auch innerhalb dieser einzelnen Seite über die Location (Adressfeld) des Browsers bzw. der Browser-Komponente realisieren kann. Dies funktioniert über einen sogenannten Anker der am Ende, mittels eines„#"- Symbols, angefügt wird. Allerdings gibt es bis dato kein Konzept, den durchaus komplexen Zustand einer Anwendung dort abzulegen.
[0016] Das durch die vorliegende Erfindung vorgeschlagene Modell ist ein
Zusammenspiel von Navigation und Interface-Logik: Die sogennanten Ansichten oder "Views" (also den einzelnen Bereichen einer Anwendung) besitzen jeweils einen eindeutigen Namen. Jeder View kann eine Subview unterstützen (also z. B. ein Reiter-System innerhalb der„Seite"). Außerdem kann jede Ansicht einen Parameter erhalten also z. B. die eindeutige Kennung eines Benutzers, einer E-Mail, etc. Die Reduktion auf diese drei Informationen hat es möglich gemacht, ein einheitliches System zu realisieren, welches für nahezu alle aktuellen Smartphone-Applikationen genug Möglichkeiten bereitstellt, den aktuellen Zustand darzustellen.
[0017] Im Folgenden wird beispielhaft aufgezeigt, wie diese drei Informationen zu einer eindeutigen Kennung zusammenzufügt werden können:
Die Kennung sieht beispielsweise wie folgt aus:„viewld.subViewld:parameter".
Sowohl„subViewId" als als„parameter" sind optional. Diese Kennung selbst wird dann als Segment innerhalb einer Struktur benutzt. Innerhalb einer Anwendung wäre es z.B. denkbar, dass der Nutzer gerade aus seinem Postfach„Privat", die dritte E-Mail anschaut. In dem Fall könnte ein kompletter Navigationspfad wie folgt aussehen:„inbox:private/mail:3". Die
Trennung der einzelnen Kennungen geschieht über einen Schrägstrich. Hier werden die IDs der Views („inbox" und„mail") jeweils mit Parametern benutzt („private" und„3").
[0018] Diese Kennungs-Information zur genauen Bezeichnung einer gewählten Ansicht (und insbesondere derjenigen Ansicht, die die Anwendung hatte, bevor das digitale Endgerät ausgeschaltet wurde) wird an die eigentliche URL mittels eines sogenannten Ankers
(beispielsweise mittels "#") angefügt. Also z.B. folgendermaßen:
"http://www.webmail.eom/#inbox:private/mail:3".
Im Fall eines normalen Browsers kann der Benutzer z.B. einen Bookmark für die aktuelle Position in der Anwendung erstellen bzw. einen Link verschicken, welcher genau die richtige Position beim Empfänger wieder anzeigt. Er hat auch die Möglichkeit die URL entsprechend zu modifizieren und damit eine Navigation in der Anwendung zu erwirken. Die Ablage in der URL ist anderen Modellen vorzuziehen, da nur so vernünftig mit unterschiedlichen Browser- Reitern/-Fenstern umgegangen werden kann. Der Benutzer könnte also die Anwendung in zwei Browser-Fenstern unabhängig voneinander benutzen.
[0019] Auch im Falle einer Web-Anwendung, die keine sichtbare Navigationsleiste für den Benutzer besitzt, kann man trotzdem mit diesem Verfahren arbeiten. Hier ist es besonders interessant den Zustand der Anwendung beim Start wieder exakt herzustellen. Hierzu wird der Pfad innerhalb der Anwendung im festen Speicher der Anwendung abgelegt und beim erneuten Start der Anwendung wieder ausgelesen.
[0020] Gemäß einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung ist es vorgesehen, dass während der Erstellung des für die Mehrzahl von Typen des digitalen Endgeräts verwendbaren Modellcodes der Anwendung eine Proxy-Einheit verwendet wird, wobei die Proxy-Einheit eine Zugangskontroll-Information (HTTP ACCESS CONTROL Header) in eine von einem externen Server empfangene Nachricht integriert.
[0021] Hierdurch ist es vorteilhafterweise möglich, auch für die Situation von Cross- Domain Restriktionen eine Möglichkeit auf einem Desktop-System zu schaffen, um mobile Anwendungen direkt im Browser (des Desktop-Systems des Entwicklers) zu testen.
[0022] Bei der Entwicklung von Web-Anwendungen (für digitale Endgeräte wie beispielsweise Smartphones) auf dem Desktop kann normalerweise nicht auf entfernt liegende Resourcen zugegriffen werden. Hier greift die so genannte Cross-Domain Policy,
die für typische Desktop-Entwicklungssysteme gängig sind. Dies geschieht hauptsächlich zum Schutz des klassischen Browsers vor der Ausführung von third-Party Code. Dieses sinnvolle Feature kann dem Entwickler allerdings im Weg stehen, wenn man mit einem Service interagiert, dem man vertraut. Innerhalb einer nativen Anwendung, die z.B. auf Basis von PhoneGap auf Smartphones verteilt wird, greifen die typischen Browser-Limitierungen nicht. Das Problem besteht hier vorrangig während der Entwicklung. Denn während die generierte Anwendung vollen Zugriff auf das Internet hat, gilt dies während der Entwicklung - soweit man den Browser des Desktop-Systems zum Testen nutzt - nicht.
[0023] Um die zum Testen notwendige Bereitstellung einer Kommunikationsmöglichkeit mit externen Diensten zu schaffen, ohne zusätzliche zu installierende Software auf dem Rechner des Anwendungsentwicklers zu installieren (da dies den initialen Aufwand wieder erhöhen würde; beispielsweise wäre es möglich, lokal (auf dem Entwicklungsgerät) einen HTTP-Server einzurichten und die Anwendung wie auch die Kommunikation über diesen HTTP-Server umzuleiten), macht sich das Verfahren gemäß der vorliegenden Erfindung eine Funktionalität in aktuellen Browsern zu Nutze, bei dem mit Hilfe von bestimmten HTTP- Headern ein Service-Provider seine Dienste für die Cross-Domain-Kommunikation freischalten kann. Da diese Freischaltungen häufig (und bei relevanten Servern) nicht vorgenommen werden (und auch in der Regel bei third-Party-Diensten nicht manipulierbar sind), wird gemäß der vorliegenden Erfindung beispielsweise ein generischer Proxy (als Proxy-Einheit) aufgesetzt (und beispielsweise für eine Mehrzahl von Entwicklungsplätzen zentral gehostet). Der generische Proxy (bzw. die Proxy-Einheit) tritt als Schnittstelle zur Kommunikation mit einem Dienst auf. Die Kommunikation wird immer automatisch über den Proxy (bzw. die Proxy-Einheit) geführt, sobald festgestellt wird, dass diese auf eine andere Domain zugreift. In der erstellten Anwendung wird also immer direkt kommuniziert und keine Last auf dem Proxy generiert. Der Proxy (bzw. die Proxy-Einheit) leitet alle Anfragen unverändert weiter, fügt aber in die jeweiligen Antworten die„HTTP access control"-Header ein, um dem Browser die Erlaubnis zu signalisieren, dass er diese Antwort entsprechend weiterverarbeiten kann. Hierdurch ist es vorteilhaft möglich, dass dieser zentrale Proxy (bzw. die Proxy-Einheit) allen Anwendungsentwicklers parallel zu Verfügung steht und nur einmal gewartet werden muss. Durch die Verankerung innerhalb des Framework-Codes ist die Umschaltung zwischen Proxy benutzen und direkt kommunizieren völlig transparent für den Anwendungsentwickler. Dieser muss außerdem auf dem eigenen Entwicklungs-Rechner keinen HTTP-Server einrichten und administrieren. Die Entwicklung einer mobilen
Anwendung auf Basis von Webtechnologien kann hiermit direkt im Desktop-Browser, der auf das lokale Dateisystem zugreift, passieren.
[0024] Erfindungsgemäß ist es insbesondere bevorzugt vorgesehen, dass während der Erstellung des für die Mehrzahl von Typen des digitalen Endgeräts verwendbaren
Modellcodes der Anwendung synthetische Bedienereignisse generiert werden, wobei solche synthetische Bedienereignisse einer Benutzung des berührungsempfindlichen Bildschirms entsprechen.
[0025] In der Regel haben digitale Endgeräte als Smartphones einen
berührungsempfindlichen Bildschirm, einen sog. Touch-Screen. In Analogie zur Verwendung von sog. Mouse-Events (bzw. Maus-Ereignissen) für die Programmierung von solchen Internetseiten oder Anwendungen, die vorrangig zur Bedienung mit mit einer Computer- Maus ausgestatteten Geräten vorgesehen sind, werden daher im Bereich von
berührungsempfindlichen Bildschirmen sog. Touch-Events als Bedienereignisse verwendet. Klassische Desktop-Computer verfügen jedoch in der Regel nicht über eine solche
Eingabemöglichkeit. Gängiger Lösungsansatz ist es auf Anwendungsseite sowohl Mouse- Events als auch Touch-Events zu bearbeiten. Die Problematik, die hier existiert ist, dass die meisten Touch-Geräte auch Mouse-Events feuern und es hier zu Konflikten kommen kann, da evtl. beide Events feuern bzw. das Resultat dieser evtl. andere Events beeinflusst (Stichwort: preventDefault). Gemäß der vorliegenden Erfindung ist es vorgesehen, sog. synthetische Events bzw. synthetische Bedienereignisse zu benutzen, d.h. es werden synthetische Events gefeuert, um auf (Entwicklungs-)Geräten ohne Support für Touch- Events entsprechend über Mouse-Events solche Touch-Events zu simulieren.
Beispielsweise werden die nativ verfügbaren Touch-Events„touchstart",„touchmove" und „touchend" mit den Mouse-Events„mousedown",„mousemove" und„mouseup" emuliert. In diesem Bespiel darf etwa der„mousemove" nur beachtet werden, während der Mouse- Button gedrückt ist. Durch die Realisierung als Teil eines Frameworks, steht diese Emulation allen auf der Technologie basierenden Anwendungen zur Verfügung. Die Anwendungen können weiterhin normal mit Events arbeiten und müssen nicht über eine spezielle API gehen. Die Lösung ist damit für den Anwendungsentwickler transparent. Es wird eine Anwendung, die auf Touch-Geräten laufen soll, ausschließlich mit Touch-Events und kann diese bereits auf dem Desktop in einem normalen Browser testen. Dieses Vorgehen verbessert massiv die Produktivität, da die Anwendung nicht zwangsweise auf dem Endgerät bzw. im Simulator getestet werden muss. Das Testen im Desktop-Browser erlaubt einen Save-Reload Workflow und ist daher immer effizienter als der für Simulatoren/Emulatoren in der Regel benötigte Schritt der Compilation und des Deployments.
[0026] Die im mobilen Webbrowser zur Verfügung stehenden Touch-Events sind recht limitiert. Je nach digitalem Endgerät werden nur einfache Touchevents (touchstart, touchmove, touchend) unterstützt bzw. es werden auch Gesten (Pinch/Zoom) unterstützt
(beispielsweise bei iPhone). Alle anderen Touch-Events müssen mühevoll manuell in der Anwendung ausprogrammiert werden.
[0027] Durch die Nutzung von synthetischen Events ist ein Durchbruch in der
Anwendungsentwicklung gelungen. Mithilfe der neuen Events„tap", zum Erkennen eines schnellen Tippens,„touchhold",„touchrelease" zur Kontrolle eines verweilenden Fingers und „swipe" zur Erkennung von Swipe-Bewegungen, stehen dem Anwendungsentwickler einfache Möglichkeiten zur Verfügung um gängige Finger-Aktionen in der Anwendungslogik zu nutzen.
[0028] Diese synthetisch gefeuerten Events sind von dem Anwendungsentwickler genauso so handhaben wie die nativen Events und stellen keinen Unterschied in der Verwendung dar. Dies macht also die Verwendung besonders einfach.
[0029] Erfindungsgemäß ist femer auch bevorzugt, dass die synthetischen
Bedienereignisse mittels einer Computermaus und mit einem Entwicklungsgerät generiert werden, welches keinen berührungsempfindlichen Bildschirm aufweist.
[0030] Besonders bevorzugt ist es ferner, wenn die synthetischen Bedienereignisse einem oder mehreren der folgenden einer Benutzung des berührungsempfindlichen
Bildschirms entsprechenden Bedienereignisse entsprechen:
- Beginn der Berührung (touchstart),
- Bewegung bei Berührung (touchmove),
- Ende der Berührung (touchend),
- Annähern zweier Finger (pinch),
- Spreizen zweier Finger (zoom),
- schnelles Tippen (tap),
- verweilende Berührung (touchhold),
- Ende der verweilenden Berührung (touchrelease),
-- Wischbewegung (swipe).
[0031] Ein weiterer Gegenstand der vorliegenden Erfindung bezieht sich auf eine Vorrichtung zum Erzeugen einer auf einem einen berührungsempfindlichen Bildschirm aufweisenden digitalen Endgerät lauffähigen Anwendung, wobei ein Code der Anwendung zumindest teilweise von einem Servergerät auf das digitale Endgerät übertragbar ist, wobei die Übertragung des Codes der Anwendung zumindest teilweise durch Benutzerinteraktion auslösbar ist, wobei die Vorrichtung derart konfiguriert ist, dass:
- ein für eine Mehrzahl von Typen des digitalen Endgeräts verwendbarer Modellcode der
Anwendung erstellbar ist, und
- der Code der Anwendung basierend auf dem Modellcode erzeugbar ist.
[0032] Ein weiterer Gegenstand der vorliegenden Erfindung betrifft einen Code einer Anwendung, welcher gemäß einem erfindungsgemäßen Verfahren oder in einer
erfindungsgemäßen Vorrichtung erzeugt ist.
[0033] Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und in der nachfolgenden Beschreibung näher erläutert. Die Figuren schränken den allgemeinen Erfindungsgedanken nicht ein.
Kurze Beschreibung der Zeichnung
[0034] Figur 1 zeigt schematisch ein digitales Endgerät, welches einen
berührungsempfindlichen Bildschirm aufweist, wobei eine Anwendung von einem
Servergerät an das digitale Endgerät übertragen wird.
[0035] Figur 2 zeigt schematisch die Generierung eines Codes bzw. einer Mehrzahl von verschiedenen Codes für verschiedene Typen von digitalen Endgeräten, wobei die verschiedenen Codes auf einem Modellcode beruhen bzw. von diesem abgeleitet sind.
Ausführungsform(en) der Erfindung
[0036] In Figur 1 ist schematisch ein digitales Endgerät 15 dargestellt, welches einen berührungsempfindlichen Bildschirm 15' aufweist, wobei eine Anwendung 20 von einem Servergerät 10 an das digitale Endgerät 15 übertragen wird. Nach der Übertragung der Anwendung 20 steht deren Funktionalität am bzw. auf dem digitalen Endgerät 15 zur Verfügung. Die Übertragung wird bevorzugt mittels einer Funkschnittstelle durchgeführt, d.h. das digitale Endgerät 15 weist eine Funkschnittstelle auf und das Servergerät 10 weist ebenfalls eine Funkschnittstelle auf bzw. ist (zumindest indirekt) mit einer Funkschnittstelle verbunden, beispielsweise über eine Basisstationseinheit eines Mobilfunknetzes oder auch über eine drahtlose Netzwerkanbindung (WLAN-Verbindung). Bei dem Servergerät 10 kann es sich erfindungsgemäß entweder um einen zentralen Server handeln (beispielsweise ein zentraler Server eines Herstellers des digitalen EndgerätesDies wird beispielsweise dadurch einem Benutzer sichtbar gemacht, dass eine die Anwendung versinnbildlichende Darstellung
(ein sog. "Icon") auf dem berührungsempfindlichen Bildschirm 15' dargestellt wird bzw. dargestellt werden kann.
[0037] In Figur 2 ist schematisch die Generierung eines Codes 31 bzw. einer Mehrzahl von verschiedenen Codes 31 , 32, 33 für verschiedene Typen von digitalen Endgeräten 15 dargestellt, wobei die verschiedenen Codes 31 , 32, 33 auf einem Modellcode 30 beruhen bzw. von diesem abgeleitet sind.
[0038] Gemäß der vorliegenden Erfindung wird die Erstellung von Anwendungen (sog. "Apps", d.h. von Anwendungen bzw. "applications") für mobile digitale Endgeräte erheblich erleichtert und vereinfacht, so dass die Bereitstellung solcher Anwendungen schneller erfolgen kann. Dies wird erfindungsgemäß dadurch realisiert, dass der Modellcode 30 bevorzugt in einer Sprache geschrieben wird, die alle Typen von solchen mobilen digitalen Endgeräten verarbeiten können. Wegen der verschiedenen, zum Teil sehr unterschiedlichen Betriebssystemen, mit denen solche digitalen Endgeräte betrieben werden (wie
beispielsweise Android, eine mobile Variante von Windows, das Betriebssystem des iPhone bzw. des iPad, etc.), kommt als gemeinsame Sprache im wesentlichen Hypertext Markup Language (HTML) und/oder JAVA Script in Frage.