what we have done last week (Eclipse Momentics | Cascades workshop)

this is part 2 of my report from Cascades Workshop last week in Rosenheim. Read more here  to know where the workshop is running, the environment, food and also drinks

nightcoding-03

… I was asked about the ‘Weißbier’ – here’s the truth: sorry guys – not every day included, only while doing free-style Night-Coding in the evening.  There’s much work and hours of hacking code before… 😉

workshop-08x

Eclipse Momentics 10.2

BlackBerry rebuilt the Eclipse IDE and makes it much more fun to use with streamlined workflows. There will follow other articles on the new Momentics IDE. One of the great new features: you have directly access to all the samples, documentation and Forums.

Voila_Capture1116

BlackBerry Samples are all Open Source: you can copy / paste them without problems. And you should do it !

Voila_Capture1117

We downloaded  some samples to learn HowTo analyze the code, to see what’s done in C++, what’s in QML and HowTo implement in your own apps.

We went through the most important Views and Perspectives, did some settings in Preference and also learned about other tooling like QtLinguist to ease the internationalization.

Let’s now see what the students of my Class built last week. All done from “New Project – Empty Project“, then trying to follow the process from the idea to running Code – and every time we laerned new things, Code was refactored and enhanced.

Really fun ….

Navigation Concepts and more

We started with a simple Page, learned HowTo push more Pages on top (NavigationPane) and HowTo structure an App using TabbedPane.

navigationconcept

Startscreen with Tabs on ActionBar:

IMG_00000002

TabbedPane to structure the app:

IMG_00000001

As you can see we have put some different stuff into the Tabs:

  • a stack of 5 Pages using NavigationPane
  • a simple Tab with a Page
  • Tab with Custom Map – placed into NavigationPane to be able to push Pages on top of the Map
  • finally Tab with ListView – also placed into NavigationPane to push Details on top

Tab1: the NavigationPane with 5 Pages allows some different ways to navigate through the Stack:

  • step by step push Pages on top: Page 1 -> Page 2… 3 …4 …5
  • step by step going back: 5 -> 4 -> 3 -> 3 -> 1
  • special: Back from 5->4 getting  a SystemDialog asking if you want to jump directly to 3
  • special: peeking back from Page 3 not allowed
  • special: peeking back from Page 5: replacing content of peeked Page by Animation
  • Page 3,4,5: GoHome-Action to directly jump to the Root

While working on this NavigationPane we learned about dynamic creation of Components, Dialogs, Animations, pop(), push(), navigateTo() and also the cool Signals and Slots concept of Cascades / Qt masking it easy to plug events and handlers together

??????????????????????????????????????

Page 1 of this NavigationPane also has a Segmented Control, where switching changes some properties of Labels.

An Action  uses Signals / Slots to easy switch off the Background Color of some Containers.

Page 1 demonstrates the use of a StackLayout and SpaceQuota to realize a Layout working on Q10 and Z10 Portrait/Landscape without any changes. Our Demo app supports both: square on Q10 and Portrait/Landscape on Z10, supports bright and dark theme and devices with / without Keyboard. Students learned HowTo get these infos from Device and to use in QML.

Q10 1:1 720×720

stack-q10

Z10 768×1280:

IMG_00000042

NavigationPane in action:

switch HD on (top right)

Page with Animation, Notification, QTimer in Action

  • This Page shows an Animation when opened
  • At end of Animation the Action will be enabled (Signal-Slot)
  • Action starts QTimer, when timer ends, sends Notification to Hub
  • works in background
  • uses QSettings to select minimzed Image

switch HD on (top right)

The Image from minimzed App (ApplicationCover / SceneCover) is designed to look good on Q10 and Z10, where the space is larger. Also the displayed Image changes at every new start of the app: the value of last-used-image is stored in QSettings

Custom Map connected to Sensors, different Pins, current Location in Action

switch HD on (top right)

ListView and Invoke / Create Contacts in Action

  • different styled ListemItems: Header, Persons, Bikers
  • switch DataModel on-the-fly
  • selected Lines colored
  • push() Details Page
  • integrate PIM: add Contact with values from ListItem

switch HD on (top right)

integrate BBM and LocationMapInvoker in Action

Starting the APP you’ll get a Tip-Of-The-Day using a System Toast. Last Tip is stored in QSettings, Tips itself are stored in a QStringList and localized, so users will get the Tip in their language.

BBM can be invoked to talk about the Workshop and LocationMapInvoker opens the BlackBerry Map to show the Location of ekkescorner TrainingsCenter, so it’s easy to see what’s around there…

switch HD on (top right)

Unique Wokshops produce unique Workshop APPs🙂

Demos above were from Q10 with dark Theme, but we support Z10 with bright Theme, too. On Q10 Shortcuts are supported – if Bluetooth Keyboard attached, KeyListeners are used.

and much more…. cannot go into all the details we solved on this Cascades Workshop.

tribesman90x90

What do YOU think ?

Isn’t this great what students of my class have developed from scratch ? Without knowledge of Cascades before ?

Every Workshop @ekkescorner is unique and every Workshop APP is unique – this is the real challenge and also fun for me providing these kinds of dynamic Workshops.

Best feedback for me are mails like ‘have written my first app

Here’s some feedback from Twitter by students of this workshop last week:

tweets

Want to learn more ?

It’s no problem to have special 1 or 2-day Workshops to go deep into your scenarios.

There are also some great online resources provided by BlackBerry – besides the documentation I already mentioned:

Become a BlackBerry Builder

Want to be certified ? There’s the new BlackBerry Builder program ….

Voila_Capture1120

… with many Webcasts available and they are free. My Workshops are NOT a replacement of these WebCasts – it’s recommended to work through all of them.

I already did the exam: you have to answer around 100 questions and it’s no easy certification ! The WebCasts together with my Workshops will give you a great chance to master it.

Get your App certified as BuiltForBlackBerry

Next important part if you publish your APPs to BlackBerry World. There’s also a certification to show that your app is following the UI Design Guidelines and your APP is BUILT FOR BLACKBERRY.

Voila_Capture1118

Take a look at the Criteria here: these cover all areas of development:

  • User Benefits
  • User Experience
  • Performance
  • Service Integration
  • Security
  • Localization

I recommend to read through all these criteria – it helps you to create great apps certified as Built For BlackBerry.

In my workshops you’ll get some hints HowTo solve the certification.

Cascades Workshops @ekkescorner or elsewhere

Perhaps now you got a feeling what happens at my Cascades Workshops. You need  a workshop ? You need an App ? feel free to ask me 😉

Meet me

… next week at MDC in Nürnberg

MDC2013_BannerSPEAKER

…in september at MTC Berlin:

mtc-2013

where I will talk about “Peer-to-peer pushes ion Business Apps

June-29 Eclipse Day China (Beijing):

I will demo the new Eclipse Momentics IDE: live hacking – no slides.

Thanks to BlackBerry you can win a brandnew BlackBerry 10 Device – a Q10🙂

Q10-Homescreen

If you’re in Beijing listen carefully to my session – at the end there will be a question: first one from audience answering this will win the Q10 !


(c) 2013 Creative Commons License 3.0 (BY-NC-SA) by ekkescorner

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: