This webinar presentation provides an overview of how to port various types of Java™ applications for BlackBerry OS to the Series 40 platform. Michael Samarin of Futurice walks you through the basic porting tasks involved and shows you how to map BlackBerry APIs to corresponding Series 40 APIs.
This webinar presentation gives you an overview of how to port various types of Android applications to the Series 40 platform. Join Michael Samarin of Futurice as he walks you through the basic porting tasks involved and shows you how to map Android APIs to corresponding Series 40 APIs. In live coding demonstrations, Michael will use simple hands-on examples to illustrate a step-by-step porting process. This presentation will pay special attention to UI portability and creating a consistent user experience on Series 40 phones.
Mobile technology is the technology used for cellular communication. Mobile code division multiple access (CDMA) technology has evolved rapidly over the past few years. Since the start of this millennium, a standard mobile device has gone from being no more than a simple two-way pager to being a mobile phone, GPS navigation device, an embedded web browser and instant messaging client, and a handheld game console. Many experts argue that the future of computer technology rests in mobile computing with wireless networking. Mobile computing by way of tablet computers is becoming more popular. The most popular tablet at the moment is the iPad, by Apple. Tablets are available on the 3G and 4G networks.
Meego Italian Day 2011 - Dr. Luca Roffia - Smart Space Applications for Mobile Devices: iniziative internazionali nel campo delle applicazioni mobili per spazi intelligenti
L’intervento metterà in evidenza il ruolo dei dispositivi mobili nel collegare il mondo fisico al mondo delle informazioni, presentando alcune iniziative in campo internazionale attualmente in corso. Oltre a fornire una serie di riferimenti per orientarsi in questo contesto, verranno presentati i principi su cui si fonda la sviluppo di applicazioni intelligenti e le relative tecnologie abilitanti.
Dr. Luca Roffia è professore a contratto di Calcolatori Elettronici presso la II Facoltà di Ingegneria dell’Università di Bologna, sede di Cesena e di Information Technology And Arts Organizations presso la Facoltà di Economia dell’Università di Bologna . L’area di ricerca d’interesse si colloca all’interno dei Context Aware Systems e degli Smart Environments. L’esperienza di ricerca è rivolta allo studio e l’implementazione di guide multimediali interattive per la visita in sito di musei e siti archeologici. Dal 2010 è membro del gruppo di lavoro sugli Smart Spaces all’interno del programma FRUCT (Finnish-Russian Cooperation in Telecommunications).
http://www.meegoit.com/2011
This webinar presentation gives you an overview of how to port various types of Android applications to the Series 40 platform. Join Michael Samarin of Futurice as he walks you through the basic porting tasks involved and shows you how to map Android APIs to corresponding Series 40 APIs. In live coding demonstrations, Michael will use simple hands-on examples to illustrate a step-by-step porting process. This presentation will pay special attention to UI portability and creating a consistent user experience on Series 40 phones.
Mobile technology is the technology used for cellular communication. Mobile code division multiple access (CDMA) technology has evolved rapidly over the past few years. Since the start of this millennium, a standard mobile device has gone from being no more than a simple two-way pager to being a mobile phone, GPS navigation device, an embedded web browser and instant messaging client, and a handheld game console. Many experts argue that the future of computer technology rests in mobile computing with wireless networking. Mobile computing by way of tablet computers is becoming more popular. The most popular tablet at the moment is the iPad, by Apple. Tablets are available on the 3G and 4G networks.
Meego Italian Day 2011 - Dr. Luca Roffia - Smart Space Applications for Mobile Devices: iniziative internazionali nel campo delle applicazioni mobili per spazi intelligenti
L’intervento metterà in evidenza il ruolo dei dispositivi mobili nel collegare il mondo fisico al mondo delle informazioni, presentando alcune iniziative in campo internazionale attualmente in corso. Oltre a fornire una serie di riferimenti per orientarsi in questo contesto, verranno presentati i principi su cui si fonda la sviluppo di applicazioni intelligenti e le relative tecnologie abilitanti.
Dr. Luca Roffia è professore a contratto di Calcolatori Elettronici presso la II Facoltà di Ingegneria dell’Università di Bologna, sede di Cesena e di Information Technology And Arts Organizations presso la Facoltà di Economia dell’Università di Bologna . L’area di ricerca d’interesse si colloca all’interno dei Context Aware Systems e degli Smart Environments. L’esperienza di ricerca è rivolta allo studio e l’implementazione di guide multimediali interattive per la visita in sito di musei e siti archeologici. Dal 2010 è membro del gruppo di lavoro sugli Smart Spaces all’interno del programma FRUCT (Finnish-Russian Cooperation in Telecommunications).
http://www.meegoit.com/2011
microsoft windows phone for government and citizensjoelcitizen
Phone 7.5 (Mango) is a different kind of phone, architected to put the focus on end users and the people important to them. In fact, developers can build compelling government and citizens-oriented experiences that enhance the relationship between local government and its constituency. In this session we'll provide an overview of Windows Phone device and platform and discuss specific aspects related to building Public Sector apps (what they are, why you should care about them), design principles behind our UX approach, the tools at your disposal to create amazing apps as well aspects related to cloud and services, including review to specific and pertinent public data sources; and finally how to monetize on our Windows Phone Marketplace.
This short part will introduce you to the world of Symbian OS mobile phones. It contains some high level information about the Symbian Foundation as well as Symbian OS, what you'll need to start developing and gives you some tips for literature. Some of the projects that we developed at the University of Applied Sciences in Hagenberg are demonstrated, in order to give you an overview of what you can do based on various variants of Symbian OS based or Nokia platform phones.
Contents:
* Introduction to Symbian Foundation and Symbian OS
* History of Symbian (OS)
* Platform Overview
* User Interfaces
* IDEs and Development
* Community and Possibilities
* Recommended Literature
* Symbian Academy
This course will give you an overview of the general development of an application with an UI in Symbian OS. It contains explanations of the concepts and the framework that is built directly into Symbian OS as well as into the UI-frameworks. The various concepts for S60 UI-apps are explained in greater detail. In the challenge you will develop a simple control and use the new Component Array introduced in Symbian OS 9.
Contents:
* GUI Frameworks
* Structure of a GUI application
* Architectures
* Views, Controls, Dialogs
* Seperating UI and engine
o MVC
o ECom
600.250 UI Cross Platform Development and the Android Security ModelMichael Rushanan
In this presentation I provided undergraduates an introduction to the wildes of cross platform development in the mobile domain. In the end, we explored a few solutions and talked about the strengths/weaknesses of those third party providers. The second half of the talk involved the Android security model and how it WAS important to application developers.
<p>
[데브멘토 동영상] Windows Phone Mango 무엇이 달라졌는가?</p>
<p>
서진호 한국마이크로소프트 부장 3부</p>
<p>
지난5월24일 발표된 새로운 윈도우폰Mango에서 변경된 툴 및 프레임워크에 대해 알아본다.특히 비쥬얼 스튜디오2010에서 한층 더 편리하게 앱을 개발할 수 있도록 디바이스 에뮬레이터, 프로파일러 및 성능 분석에 대해 직접 데모를 보여준다.</p>
<p>
</p>
<p>
실전 윈도우폰 망고 앱 디자인& 개발</p>
<p>
코드네임 ‘망고’업데이트, 윈도우폰 앱 개발A to Z</p>
<p>
</p>
<p>
서진호 한국마이크로소프트 부장은 현재 마이크로소프트 모바일/임베디드 디벨로퍼 에반젤리스트로 활동하고 있으며 국내 모바일/임베디드 및 윈도우7 관련 개발 기술 전도에 앞장서고 있다. 현재 서진호의Windows Phone 이야기(<a>http://blogs.msdn.com/jinhoseo</a>)라는 블로그를 운영 중.</p>
microsoft windows phone for government and citizensjoelcitizen
Phone 7.5 (Mango) is a different kind of phone, architected to put the focus on end users and the people important to them. In fact, developers can build compelling government and citizens-oriented experiences that enhance the relationship between local government and its constituency. In this session we'll provide an overview of Windows Phone device and platform and discuss specific aspects related to building Public Sector apps (what they are, why you should care about them), design principles behind our UX approach, the tools at your disposal to create amazing apps as well aspects related to cloud and services, including review to specific and pertinent public data sources; and finally how to monetize on our Windows Phone Marketplace.
This short part will introduce you to the world of Symbian OS mobile phones. It contains some high level information about the Symbian Foundation as well as Symbian OS, what you'll need to start developing and gives you some tips for literature. Some of the projects that we developed at the University of Applied Sciences in Hagenberg are demonstrated, in order to give you an overview of what you can do based on various variants of Symbian OS based or Nokia platform phones.
Contents:
* Introduction to Symbian Foundation and Symbian OS
* History of Symbian (OS)
* Platform Overview
* User Interfaces
* IDEs and Development
* Community and Possibilities
* Recommended Literature
* Symbian Academy
This course will give you an overview of the general development of an application with an UI in Symbian OS. It contains explanations of the concepts and the framework that is built directly into Symbian OS as well as into the UI-frameworks. The various concepts for S60 UI-apps are explained in greater detail. In the challenge you will develop a simple control and use the new Component Array introduced in Symbian OS 9.
Contents:
* GUI Frameworks
* Structure of a GUI application
* Architectures
* Views, Controls, Dialogs
* Seperating UI and engine
o MVC
o ECom
600.250 UI Cross Platform Development and the Android Security ModelMichael Rushanan
In this presentation I provided undergraduates an introduction to the wildes of cross platform development in the mobile domain. In the end, we explored a few solutions and talked about the strengths/weaknesses of those third party providers. The second half of the talk involved the Android security model and how it WAS important to application developers.
<p>
[데브멘토 동영상] Windows Phone Mango 무엇이 달라졌는가?</p>
<p>
서진호 한국마이크로소프트 부장 3부</p>
<p>
지난5월24일 발표된 새로운 윈도우폰Mango에서 변경된 툴 및 프레임워크에 대해 알아본다.특히 비쥬얼 스튜디오2010에서 한층 더 편리하게 앱을 개발할 수 있도록 디바이스 에뮬레이터, 프로파일러 및 성능 분석에 대해 직접 데모를 보여준다.</p>
<p>
</p>
<p>
실전 윈도우폰 망고 앱 디자인& 개발</p>
<p>
코드네임 ‘망고’업데이트, 윈도우폰 앱 개발A to Z</p>
<p>
</p>
<p>
서진호 한국마이크로소프트 부장은 현재 마이크로소프트 모바일/임베디드 디벨로퍼 에반젤리스트로 활동하고 있으며 국내 모바일/임베디드 및 윈도우7 관련 개발 기술 전도에 앞장서고 있다. 현재 서진호의Windows Phone 이야기(<a>http://blogs.msdn.com/jinhoseo</a>)라는 블로그를 운영 중.</p>
Presentation on How to use Adobe Flash and Device Central. Audio at http://www.mindgrub.com/NAB
Learn how to make mobile Flash applications utilizing Adobe's device central. Learn how to search device settings and which version of the Flash platform that device will work with. Learn to use templates and publish mobile flash content using Flash CS4.
Meego Italian Day 2011 – Andrea Grandi - Qt: l’infrastruttura di programmazione multipiattaforma.
Panoramica di Qt: libreria multipiattaforma per lo sviluppo di programmi con interfaccia grafica tramite l’uso di widget. Perchè usarla? Quali sono i vantaggi? Che linguaggio di programmazione utilizza? E sotto che licenza viene rilasciata? Insomma, tutto quello che abbiamo sempre voluto sapere su Qt, ma non abbiamo mai osato chiedere. Inoltre qualche nozione teorica su Qt Quick e QML.
Andrea Grandi è studente di Informatica presso l’Università di Firenze e ha lavorato per qualche anno come sviluppatore di software. Dal 2007 fa parte della community di Maemo, in cui si impegna attivamente per aiutare i nuovi utenti, organizzare eventi e sviluppare applicazioni; recentemente è stato eletto membro del Maemo Community Council. Ha iniziato da alcuni anni a lavorare con Qt/C++ per creare programmi destinati ai dispositivi Maemo sino ad accumulare un’esperienza tale da essere nominato Nokia Qt Ambassador. Inoltre è socio fondatore del Pistoia Linux User Group.
http://www.meegoit.com/2011
Welcome to Nokia X Software Platform 2.0! In this webinar we provide a detailed introduction to the new release of Nokia X platform, show you the first devices built on the new release, and help you to get started developing. In live demonstrations we show how to install and configure your development environment and Nokia tools. You’ll learn similarities and differences of Nokia X compared with other development platforms and learn how easy it is to publish your existing Android app for Nokia X. We demonstrate how to test and port your app and explain the capabilities and specifics of Nokia APIs: Nokia Notification Service, In-App Payment and HERE Maps.
In this webinar you'll learn about the new Lumia SensorCore SDK beta – announced at the Microsoft Build conference in April and now publicly available for all developers. This new SDK takes advantage of a low-powered hardware core in some of our latest devices, like the Lumia 930 and 630, enabling power- and memory-efficient tracking of motion and location data. In combination with what’s already included in Windows Phone 8.1, this SDK allows you to create outstanding quantified-self and self-logging apps, for example. In this webinar we'll show how to get started with the SDK and work with the APIs.
Bring your ideas to life with the APIs and additional memory available for development on the Nokia Asha platform. Join this webinar to learn how much you can do in the area of imaging, with the Image Scaling API and the Image Processing API. You’ll also get detailed guidelines on how to work with the camerainterface and how to create special effects and filters.
Healthcare apps for Nokia X and Nokia Asha phones present a great opportunity to help improve the lives of millions of users around the world. In this webinar, we’ll discuss the fundamentals of mobile healthcare apps and give you an overview of the opportunities and challenges involved in developing such apps for Nokia phones. We’ll open the webinar with an introduction to the fundamentals of mobile healthcare, an overview of opportunities and challenges of developing apps for wellness and mobile health, and the role of mobile platforms in enabling health and healthcare apps. Then we will dig into specific techniques available when developing such apps for Nokia X and Nokia Asha platforms.We’ll demonstrate different approaches available to developers targeting the two platforms by examining a Blood Pressure Diary app, which is implemented for Nokia X and Nokia Asha. As part of that discussion we’ll show how to retrieve heart-rate data from medical devices using Bluetooth technology.
The Nokia Notifications API enables you to implement Push notifications in your Nokia X apps. Nokia Notifications consists of a client API and a server API. If you’re already using Google Cloud Messaging in an Android app, you can port or even add Nokia Notifications to the same code base and APK. In this webinar, we’ll show you how to use Nokia Notifications in your Nokia X apps and walk you through example code provided in the Nokia X SDK.
You want your Nokia Asha apps to deliver superior user experiences and to outperform competing applications. That means this webinar is for you. The session explains how you can improve your applications with simple and easy-to-conduct DIY usability studies, requiring little budget and no previous usability knowledge.
Most Android apps run properly on the Nokia X platform without any modification, but maybe you’d like some help with improving the user experience of your apps as you port them to Nokia X. UX expert Jan Krebber, from OCTO3, has been working with developers porting to Nokia X and has seen patterns of mistakes that are easy to correct. In this webinar, he’ll share his top tips on how to avoid the most common missteps.
With the open source Geo2tag platform, developers can use JSON or XML to manage location references in apps for Nokia X and Nokia Asha phones. In this webinar, we’ll show how to use the Geo2tag API and how to manage a local database of georeferences. We’ll begin the training by introducing the fundamentals of Location Based Services and the REST API of Geo2Tag LBS Platform (www.geo2tag.org). We’ll focus on networking, JSON and web services. Then we will demonstrate several applications developed on top of Geo2Tagand share the newest enhancements to the platform. We’ll end the training with a discussion of integrating Geo2Tag and third-party map widgets.
With HERE Maps, users always know where they are and where they’re going, even when they’re not connected to a mobile network. In this webinar, we’ll show you how to integrate HERE Maps into your new apps for Nokia X and how to port existing apps.
Nokia In-App Payment is designed from the ground up to encourage users to spend more on your digital goods, let you keep more of what your users spend, and reach the broadest possible market around the world. If you’re not yet using Nokia In-App Payment to generate revenue from your Nokia applications, you should be. Join this webinar to find out how to optimise Nokia In-App Payment UI flows before and after payments occur. You’ll learn about tips and tricks to increase conversion rates and to avoid pitfalls and deal-breakers.
Nokia Theme API and Webview API are new additions in Nokia Asha SDK 1.2. The Theme API enables developers to change themes and to access the properties of a current theme. The Webview API is used to display web pages inside a MIDlet, enabling delivery of more-sophisticated Help, About, and other screens to users. In addition, Nokia Asha SDK 1.2 contains updates to the Contact API that allow MIDlets to receive notifications with social contacts in the phonebook are added, deleted, or modified. Pranav Gothadiya, lead developer and product owner for Nokia Asha SDKs, starts this training webinar with an overview of new and updated features in Nokia Asha SDK 1.2 and the new Nokia Asha software platform 1.4. Pranav then demonstrates code examples included in the SDK to illustrate the new Theme and Webview APIs. He also touches on the (Social) Contact API, as well as on SDK features that enable developers to support frame-positioning control and progressive audio recording.
Approximately 75% of Android apps run properly on Nokia X platform without any modification, but maybe you’d like some help improving the UX of your app as you port it to Nokia X. UX expert Jan Krebber will show you how to improve the UX of your Nokia X apps in terms you don’t need to be a UX expert to understand. He’ll focus on the few items most important when it comes to user experience design for Android and Nokia X.He’ll introduce those items and show you how to create a launcher icon for Nokia X.
Some children start using mobile devices at very young ages. Mobile phones can be very powerful tools to support learning and to nurture cognitive capabilities. This webinar addresses UI design considerations for creating games and educational applications for children and teens. Although the webinar focuses on Nokia Asha phones, the findings it examines hold true for mobile devices in general.
In this webinar we'll provide an overview of the Nokia X platform and product offering. Then we'll dig into monetization opportunities offered by Nokia In-app Payment combined with Nokia's extensive operator billing network. We'll show you how you can benefit by bringing your apps to Nokia Store, take advantage of it’s unique monetization capabilities and make your app stand out from the crowd.
The Nokia Imaging SDK 1.1 makes it quicker and easier to create imaging apps for Windows Phone 8, and now also Windows 8.1 – desktop and RT. It helps you efficiently work with images captured and stored by both Windows Phone 8 and Windows 8.1 devices from Nokia. Michael Samarin, MVP from Futurice will open this training webinar with a quick overview of Nokia Imaging SDK 1.1 new features. Then he’ll jump into live coding demonstrations to show you how to use the SDK in applications that make the most of the imaging capabilities of Nokia Lumia products. Throughout the code demos, he’ll highlight new functionality in this SDK release, such as HDREffect, LenseBlurEffects, InteractiveForegroundSegmenter and of course using SDK with Windows Phone 8 and Windows 8.1.
Welcome to Nokia X Software Platform! In this webinar we’ll provide a detailed overview of Nokia X Software Platform and show you how to get started developing for it.In live demonstrations we’ll show how to install and configure your development environment and Nokia tools. You’ll learn similarities and differences of Nokia X compared with other development platforms and learn how easy it is to publish your existing Android app for Nokia X. We’ll show you how to test and port your app and explain the capabilities and specifics of Nokia APIs: Nokia Notification Service, In-App Payment and HERE Maps.
DVLUP members who want help with the design of their Windows Phone 8 app can redeem XP for one-hour online UI clinics delivered by the design pros at Toledo Design. This webinar is open to everyone, whether you're a member of DVLUP or not. Arturo Toledo, mobile design expert and former design evangelist and UX design in the Windows Phone design studio, has already delivered over 50 of these one-on-one consultations to help DVLUP members improve the design, usability, and user reviews of their applications. In this 1 hour webinar, Arturo shares some of the most common design challenges he has seen in these real-world consultations and shows how to fix them.
Microsoft Windows Phone ha un sistema di riconoscimento vocale molto sofisticato. Ci permette di impartire comandi al sistema operativo, leggere e dettare SMS, effettuare chiamate etc. In Windows Phone 8 è stata introdotta, per noi sviluppatori, la possibilità di utilizzare i comandi vocali anche nelle nostre applicazioni. In questa sessione vedremo come implementare il riconoscimento vocale nelle nostre app. / Microsoft Windows Phone has a very sophisticated speech-recognition system. Users can give commands to the operating system, read and dictate text messages, make phone calls, etc. With Windows Phone 8, developers have the ability to use voice commands in applications. In this webinar, you’ll find out how to implement voice recognition in your apps.
Lo sviluppo è sicuramente la parte più divertente nella creazione di un'applicazione, ma senza un meccanismo per venderle e distribuirle rimarrebbe un'attività fine a sé stessa. Nel corso di questo webinar vedremo come funziona il processo di pubblicazione di un'applicazione e impareremo a gestirne il ciclo di vita sullo Store: la certificazione, i report post pubblicazione, il rilascio di aggiornamenti.
Quando ci si trova nella necessità di sviluppare applicazioni per Microsoft Windows Phone più complesse, l'approccio tradizionale mostra qualche limite: non c'è una separazione tra i vari strati dell'applicazione e il codice è più difficile da testare e da mantenere. Questo webinar vi mostrerà le basi del pattern Model-View-ViewModel (MVVM), che offre un approccio più strutturato, in grado di separare la parte di logica dall'interfaccia grafica. / When you need to develop complex applications for Microsoft Windows Phone, the traditional approach shows some limitations. This webinar will show you the basics of Model-View-ViewModel (MVVM), which offers a more structured approach.
2. Porting Considerations
» Same development platform Java ME on Series 40 and
BlackBerry (up to OS 7.1).
» Same Java dialect makes porting easier.
» Midlets based on CLDC 1.1, MIDP 2.0 and common JSRs can be
packaged to run without changes on both BlackBerry and
Series 40.
» Canvas based 2D games without BlackBerry platform services
can be just recompiled for Series 40, of course taking screen
sizes and graphical assets into consideration.
3. General Porting Challenges I
» Most BlackBerry “Business” apps are using RIMs
application framework, built on top of Java ME and
utilizing platform integration features.
» User interface based on UIApplication frameworks
must be re-written.
» Developers should recognize the major differences
between the platforms: BlackBerry devices are full
smartphones with multitasking capabilities, and Series
40 devices are feature phones with much more limited
resources and device capabilities.
4. General Porting Challenges II
» BlackBerry platform provides deep integration facilities with
device messaging, telephony and PIM.
» Series 40 provides only JSR-75, FileConnection and PIM API
which gives access only to file system and contacts/calendar
entries.
5. Memory Considerations
» On Series 40 Memory Limitations:
› Application JAR file size can’t exceed 2 MB.
› Java Heap Size is 2 or 4 MB.
› Use Nokia Device Matrix for checking:
http://www.developer.nokia.com/Devices/Device_specifications/
» Brings challenging decisions, especially to visually rich games,
with many bundled graphical resources.
» Option: post-download of needed resources and caching in
RMS.
6. Portability of App Types
2D Games Excellent portability, source code-level compatibility. 2D game
development on BlackBerry and Series 40 uses the same Java ME
APIs from the javax.microedition.lcdui.game package. For
devices with similar input types (touch, non-touch) porting would be
possible by simply recompiling and repackaging. However, the main
focus for porting will be the optimization of graphical assets to
smaller screen sizes, adaptation of different touch gestures, and
adjusting to Series 40 memory requirements.
3D Games Generally portable. BlackBerry 3D gaming uses Java interfaces for
OpenGL ES. Series 40 doesn’t support OpenGL ES but it features an
excellent implementation of Mobile 3D Graphics (JSR-184 or M3G).
This JSR is significantly simpler and optimized for low memory
footprint but it is far from being primitive and it is a real 3D
rendering engine with a special immediate mode, which is
ideologically very similar to OpenGL. Similarly as in 2D gaming,
Series 40 memory requirements impose challenges for textures and
graphical assets.
7. Portability of App Types
Social Networking Applications with OAuth authentication are not portable as
Java apps because the Series 40 platform doesn’t support
embeddable web view and the custom Java ME
implementation of OAuth appears to be challenging. The
Series 40 platform doesn’t support multitasking and
background execution, so implementing messaging
notifications when the application is not running is not
possible. However, if background functionality is not needed
and if the social networking app is using custom
authentication schemes or private APIs for well-known
networks, then it is generally portable. Developers of such
apps should consider exploring Nokia Web Apps, where at
least the OAuth issue can be resolved.
SMS, MMS, and Generally portable. BlackBerry and Series 40 both feature the
Bluetooth Wireless Messaging API (JSR-205) and Java APIs for Bluetooth (JSR-
Messaging 82). Some parts can be compatible on the source code level with the
correct level of abstraction from the UI.
8. Portability of App Types
Telephony and Generally not portable. The Series 40 platform doesn’t
platform support integration with telephony and other these
messaging types of services for 3rd party developers. Applications
services for VoIP, Caller ID, Tethering, platform email, and Social
Networking apps’ integrations are not feasible on Series
40.
Video, audio, and Generally not portable. The Series 40 platform doesn’t
image processing provide APIs for media parsing, recompressing, and
image processing. It is also related to memory
restrictions (2 or 4 MB Java Heap) imposed on 3rd party
applications.
9. Portability of App Types
Photography and Generally portable with Advanced Multimedia
camera Supplements APIs (JSR-234) which is also supported on
BlackBerry with source code level compatibility. Image
filtering and processing full resolution images is not
possible due to memory restrictions.
News readers, Generally portable. UI redesign and optimization of
book readers, graphical assets is required. The Series 40 platform
business, finance, doesn’t support embeddable web view and book /
comics, magazine reader apps should implement custom text
magazines rendering with LCDUI components or Canvas. Comics
and magazine readers should take special precautions
regarding memory limitations.
10. Portability of App Types
Media playback Generally portable with Mobile Media API (JSR-135).
and streaming Simple audio / video playback and streaming is possible
and might be compatible on source code level.
Redesign is required for background audio streaming
apps, which are not supported on Series 40.
Maps and Generally portable with Nokia Maps API for Series 40,
location which provides also search, geocoding, reverse
geocoding, and routing functionality. Series 40 devices
are not equipped with GPS, so Cell ID-based location or
an external GPS device with Bluetooth connection is
needed.
11. Most Interesting for porting
QWERTY Devices
BlackBerry Bold 9900 BlackBerry Curve 9350 Nokia Asha 303 Nokia Asha 302
640 x 480 480 x 360 240 x 320 320 x 240
QWERTY and Capacitive QWERTY and Capacitive
QWERTY QWERTY
Touch Screen Touch Screen
ROM/RAM ROM/RAM ROM/RAM
ROM/RAM 8GB/768MB,
512MB/512MB, 32 GB 256MB/128MB, 32 GB 256MB/128MB, 32 GB
32 GB Micro SD
Micro SD Micro SD Micro SD
12. Most Interesting for porting
Full Touch Devices
BlackBerry Torch BlackBerry Torch
Nokia Asha 311 Nokia Asha 305/306 Nokia Asha 308/309
9860 9810
800 x 480 640 x 480 240 x 400 240 x 400 240 x 400
QWERTY and Capacitive Touch Resistive Touch Capacitive Touch
Capacitive Touch
Capacitive Touch Screen, Multipoint- Screen, Multipoint- Screen, Multipoint-
Screen
Screen touch (5 points) touch (2 points) touch
ROM/RAM ROM/RAM ROM/RAM ROM/RAM ROM/RAM
4GB/768MB, 32 GB 8GB/768MB, 32 GB 256MB/128MB, 32 64MB/32MB, 32 GB 128MB/64MB, 32
Micro SD Micro SD GB Micro SD Micro SD GB Micro SD
13. User Interface Porting Options
» A typical BlackBerry application with a standard UI (based on
net.rim.device.api.ui)
» On Series 40, most standard option is LCDUI, gives platform’s
Look & Feel, support for device Themes.
» Alternative options is LWUIT library, recently optimized for
Series 40, full flexible UI with Java Swing-alike architecture.
14. UI Model Differences
BlackBerry Series 40
UIApplication LCDUI
New Current Displayable 1
Screen Screen
Displayable 2 Current
Switch
Push Pop Displayable
Displayable 3
Stack …
Screen 1 Displayable N
Screen 2
Screen 3
…
Screen N In LCDUI on Series 40 you can switch between screens
directly. In addition to LCDUI, Nokia provides Series 40-
The screens of a BlackBerry application specific extensions known as the Nokia UI API. These
(UiApplication) are managed according APIs enhance MIDP with a functionality related to
to the stack model - you can push your touch screen gestures, canvas drawing, text editing,
application screens into the stack and and kinetic scrolling.
the screen on top of the stack is what is
visible to the user.
15. Simple Common UI Porting Sample
» Illustration of typical steps
for porting UIApplication
based UI.
Main Screen Detailed Screen
» Standard UI with master- Item 1
detailed screens. Item 2
Item 2
» List component with Item 3
several items on main …
screen. Item N Back
» Selected text from
previous screen on detailed
screen.
16. UI Differences - BlackBerry: Main Application Class
import net.rim.device.api.ui.UiApplication;
public class App extends UiApplication
{
public static void main(String[] args)
{
App theApp = new App();
theApp.enterEventDispatcher();
}
public App()
{
pushScreen(new AppMainScreen());
}
}
In the main method we instantiate App class and by using UiApplication
method pushScreen() in the constructor of the application class, we
create and display main applications screen represented by
AppMainScreen class.
17. UI Differences - BlackBerry: Main Screen Class
import net.rim.device.api.command.Command; Both application screens
import net.rim.device.api.command.CommandHandler;
import net.rim.device.api.command.ReadOnlyCommandMetadata;
AppMainScreen and SimpleScreen are
import net.rim.device.api.ui.UiApplication; extending MainScreen class which is
import net.rim.device.api.ui.component.table.SimpleList; commonly used screen container that
import net.rim.device.api.ui.container.MainScreen;
inherits all default behavior of the
public final class AppMainScreen extends MainScreen standard BlackBerry application
{ screens. Main screen displays list
private SimpleList listField;
private SimpleScreen simpleScreen;
component based on SimpleList class.
Adding list component to the screen
public AppMainScreen() { and filling it up with items is
super( MainScreen.NO_VERTICAL_SCROLL);
setTitle("Simple List Demo");
straightforward operation. One
interesting aspect of working with list
listField = new SimpleList(getMainManager()); components is tracking selection of
listField.add("Helsinki");
listField.add("Tampere");
item. Since there is wide variety of
listField.add("London"); BlackBerry devices with touch and
listField.add("Paris"); keyboard based input, traditional
listField.add("Berlin");
approach is to use both explicit
listField.setCommand(new Command(new CommandHandler(){ mechanisms for tracking events.
However, the most effective way
public void execute(ReadOnlyCommandMetadata metadata, Object context)
{
which at the same time significantly
showSimpleScreen((String)listField.getModel().getRow(listField.getFocusRow())); minimizes code usage is to use
} Command class with dedicated
}));
command handler, like in the example
} above.
private void showSimpleScreen(String message){
if (simpleScreen == null){
Once it’s been detected, that user
simpleScreen = new SimpleScreen(); selected item, method
} showSimpleScreen is called with string
simpleScreen.setText(message);
UiApplication.getUiApplication().pushScreen(simpleScreen);
content of the selection. At this point,
} there is a need for making check if our
} next screen class has been already
created, passing string argument and
pushing screen to the visible UI stack.
18. UI Differences - BlackBerry: Detailed Screen Class
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.MainScreen;
public class SimpleScreen extends MainScreen {
LabelField labelField;
public SimpleScreen() {
super(MainScreen.VERTICAL_SCROLL | MainScreen.VERTICAL_SCROLLBAR);
setTitle("Simple Screen");
labelField = new LabelField("Some text", LabelField.FIELD_HCENTER |LabelField.FIELD_VCENTER);
add(labelField);
}
public void setText(String text){
labelField.setText(text);
}
}
Actual code for making detailed screen is simple and features only custom method for providing text content for
the label component.
22. Live Demo Session
BlackBerry SimpleList
» If you are watching these slides on SlideShare, next part is live coding
demonstration. Full recording of the live session can be found at Nokia
Developer website:
» http://www.developer.nokia.com/Resources/Multimedia/Webinars.xhtml
23. Live Demo Session
Series 40 SimpleList
» If you are watching these slides on SlideShare, next part is live coding
demonstration. Full recording of the live session can be found at Nokia
Developer website:
» http://www.developer.nokia.com/Resources/Multimedia/Webinars.xhtml
24. Live Demo Session
BlackBerry SimpleListMap
» If you are watching these slides on SlideShare, next part is live coding
demonstration. Full recording of the live session can be found at Nokia
Developer website:
» http://www.developer.nokia.com/Resources/Multimedia/Webinars.xhtml
25. Live Demo Session
Series 40 SimpleListMap
» If you are watching these slides on SlideShare, next part is live coding
demonstration. Full recording of the live session can be found at Nokia
Developer website:
» http://www.developer.nokia.com/Resources/Multimedia/Webinars.xhtml
26. Live Demo Session
BlackBerry / Series 40 Midlet
» If you are watching these slides on SlideShare, next part is live coding
demonstration. Full recording of the live session can be found at Nokia
Developer website:
» http://www.developer.nokia.com/Resources/Multimedia/Webinars.xhtml