Only some days left and german developer conference JAX 2014 starts in Mainz. I’ll be speaking there about M2M, IoT, MQTT and besides all the RaspBerry of course a BlackBerry 10 Device will be part of the show: this time controlling a Flying Shark and collecting Data from a Truck.

Again I developed the native BlackBerry 10 App ‘Conference2Go JAX’ – you can download here at BlackBerry World for FREE:

c2g_jax_2014__download

Here are some screenshots of the app.

c2g_jax_2014_00

c2g_jax_2014_01

c2g_jax_2014_02

c2g_jax_2014_03

c2g_jax_2014_04

c2g_jax_2014_05

c2g_jax_2014_06

c2g_jax_2014_07

Hope to see you in Mainz.

I’m speaking at Mobile Tech Conference (MTC) in Munich and I also developed the BlackBerry 10 Conference App. You can download this app from BlackBerry World:

bbworld-mtc2014

The APP runs on all BlackBerry 10 Devices with 10.1+, supports dark and bright theme, portrait and landscape and also shortcuts from Q5/Q10.

c2g_home

Before starting with the app you should go to the settings from App menu (swipe down) and connect your Calendar and Notebook.

From Home Screen you can Invite others to the app, leave a review, CheckIn via Foursquare, Open the BlackBerry Map, get all tweets on #mobiletechcon and more.

IMG_20140305_212211

Tapping on the most left Icon shows you the Tabs to navigate throught he App:

IMG_20140305_212225

The list of all sessions – separated by weekdays using a segmented TitleBar:

IMG_20140305_212236

For each session you can get the details:

IMG_20140305_212259

below the abstract you’ll find all presenters of a session. tapping on one gives you speaker details:

IMG_20140305_212310

You can take a look at the room. the session-room is marked yellow:

IMG_20140305_212327

from session detalis you can also add Notes (via Remember / Evernote), Tweet directly from inside the app about the session, mark the session as scheduled / favorite, open the corresponding Calendar event:

IMG_20140305_212339

Here you see HowTo add / edit a note:

IMG_20140305_212429

besides the sessions for tuesday, wednesday, thursday there’s also a list of the workshops from monday:

IMG_20140305_212441

The list of Speakers:

IMG_20140305_212455

Search for Speakers from speaker list:

IMG_20140305_212512

get the speaker details

IMG_20140305_212528

Besides the list of sessions and workshops there’s also a list with tracks, where the sessions are grouped by Category:

IMG_20140305_212540

Selected tracks are grouped by day

IMG_20140305_212558

get Session Details as usual:

IMG_20140305_212613

from list of session presenters get speaker detail info to see bio and other sessions presented by this speaker:

IMG_20140305_212626

The Venue Tab gives you some more infos on the conference and venue:

IMG_20140305_212645

Floorplan and Images of all rooms:

IMG_20140305_212654

Do your Foursquare CheckIn directly from inside the app:

IMG_20140305_212711

get the location on BlackBerry Map:

IMG_20140305_212748

From Session Details you can add or edit Notes (Evernote integrated) and from Venue Tab there’s an easy access to all notes you already have entered:

IMG_20140305_212802

Open the Conference Website in Browser:

IMG_20140305_212816

From all Pages you have access to the Application menu by swiping down from top border.

There’s an About and FAQ Website, you can give Feedback via integrated email Composer and you can edit your settings: Calendar and Notes – integration.

IMG_20140305_212846

Give Feedback by integrated Message Composer:

IMG_20140305_212856

Set the Calendar to be synchronized with your scheduled Sessions or the Notebook:

IMG_20140305_212904

If a calendar is connected, you’ll find your session schedule inside your Calendar and so you’ll get a Notification in BlackBerry Hub 15 Minutes before Session starts.

IMG_20140305_212941

From all Lists with Sessions, Workshops, Tracks or only scheduled Sessions in many cases it’s not easy to get the overview: what will happen in which room, which sessions are running at the same time or as next in a room or if there are some holes in your schedule.

That was the reason why I developed a special Overview Page. Here’s a Sessionlist from a selected track for tuesday:

IMG_20140305_213111

From ActionBar Overflow menu you can get the Overview:

IMG_20140305_213117

This Overview is generated dynamically from your selections – a really great way to do this using Cascades in native apps. it’s so fast that you don#t recognize the dynamic creation.

The Rooms are at x-axis and time slots are in y-axis. The height of a session container depends from duration.

You can switch to landscape if there are many rooms side-by-side. You can also pinch & zoom.

IMG_20140305_213135

Tap on a Session Container marks this one as selected and you can get the details and do what you want: set / unset as favorite, tweet about session, get Presenters, write a noe, …

IMG_20140305_213212

Wish you fun with Conference2Go MTC on your BlackBerry 10 Device.

As you probably know I’m doing this app in my spare time. If there are any bugs or requests please let me know using the Feedback from Application menu.

In less then 2 weeks this years Eclipse Conference will start in San Francisco.

Unfortunately I’m not there this time because exactly same week the MobileTechCon (MTC) happens in Munich, where I’ll speak at two sessions.

Of course – as all the years before – I developed the Conference2Go EclipseCon App for BlackBerry 10 devices. You can download the app from BlackBerry World here:

bbworld-econ-2014

Here are some screenshots:

c2gecon-home

Hint: before starting with your schedule please open the settings from app menu (swipe down) and connect a calendar, a notebook, …

Here’s the Sessionlist: select the day from segmented titlebar:

IMG_20140305_213624

Selecting a Session gives you details:

IMG_20140305_213636

Selecting the speaker shows Bio and all the sessions. If speaker has twitter you can directly tweet with him

IMG_20140305_213731

tapping on the room shows you the room of the session. Session-rooms are marked yellow to find them easy.

IMG_20140305_213750

of course you can pinch & zoom

IMG_20140305_213759

scheduled items are marked gray:

IMG_20140305_213828

session details. you can select session as favorite. if you connected the app from settings with a Calendar, your session will inserted as event into the calendar.

IMG_20140305_213857

Open the Calendar event directly from inside the app. please notice support of timezone: in this case I scheduled a session from germany and the app automatically created the event in Pacific Time (-8)

IMG_20140305_213922

besides the list of sessions, there’s also a list of tracks where sessions are grouped to make it easy to find what you’re looking for:

IMG_20140305_213945

sessions of a selected track:

IMG_20140305_214011

from sessions or tracks you can get an overview of selected sessions

IMG_20140305_214018

this overview shows you the rooms (x-axis) and the start- / end-time (y-axis)

IMG_20140305_214044

you can pinch and zoom:

IMG_20140305_214057

from the overview tap on a session to see the datails:

IMG_20140305_214109

… and get speaker infos:

IMG_20140305_214118

there’s also a list of speakers. you can search into the list to easy find what you’re looking for

IMG_20140305_214438

Speaker Details:

IMG_20140305_214451

From venue tab you can get more infos about the conference:

IMG_20140305_214511

the floorplan and all rooms:

IMG_20140305_214517

CheckIn via Foursquare directly from inside the app:

IMG_20140305_214534

Open the BlackBerry Map for the conference venue:

IMG_20140305_214614

Remember (Evernote) is integrated into BlackBerry 10. From Session details you can add Notes (Text, Image, Audio) and from Venue Tab you’ll get an overview of all your notes. The good thing: coming back home from the conference you’ll find all notes on your desktop synchronized by Evernote.

IMG_20140305_214627

You can also jump directly to the conference website.

IMG_20140305_214642

As you probably know: I’m doing these conferenc2go apps in my spare time.

if something is wrong: there’s a feedback action from app menu (swipe down)

ekkes Express Charts is an application to create charts on-the-fly and can be integrated into BlackBerry EXPRESS.

Here’s an Overview about the APP and HowTo download und use.

I really like the power of Cascades Invokation Framework and always use it heavily in my apps. In this article I will tell you where I’m using the Invokation Framework.

I already wrote about

Export/Import Charts with a little help of Cascades Invokation Framework

here’s a summary:

Export / Import Charts

Invoke Application from Mail Attachment

Images of your charts are stored in /shared area – this can be on your Device, SD card or Cloud (Dropbox, Box) – if working from BES10 inside your work perimeter you also can store in BlackBerry Work Drives:

shared_work_perimeter

The chart data itself is stored secure inside the sandbox in JSON fomat. You can export and send the data to another user of ‘ekkes Express Charts’ – in this case the exported data will be scrambled to secure it and attached to the mail. Composing the mail is done by Invokation Framework !

eec_invokes_eec

The receiver simply taps on the attachment and from a special file suffix ‘ekkes Express Charts’ is opened and the user can import the chart data.

<invoke-target id="org.ekkescorner.YOUR_UNIQUE_ID_HERE">
    <invoke-target-type>application</invoke-target-type>
    <invoke-target-name>ekkes Express Charts Import Data</invoke-target-name>
    <icon>
        <image>icon.png</image>
    </icon>
    <filter>
        <action>bb.action.OPEN</action>
        <mime-type>*</mime-type>
        <property var="exts" value="eecimp"/>
        <property var="uris" value="file://,data://"/>
    </filter>
</invoke-target>

(read in detail here)

Include Charts as Image into your Presentation

Invoke ‘ekkes express Charts’ as CARD from BlackBerry EXPRESS

You like to create presentations on-the-fly from your BlackBerry 10 device using BlackBerry EXPRESS ?

You missed integrating charts into your presentations ? BlackBerry EXPRESS and ‘ekkes Express Charts’ are working hand-in-hand.

IMG_00000056express_express

From BlackBerry EXPRESS you can insert chart images from ‘ekkes Express Charts’ on-the-fly. For the user it looks like all is done from one application. Here’s the Workflow HowTo get the charts into your presentation.

1. From BlackBerry EXPRESS tap on the Image Icon to insert an Image into your presentation:

IMG_00000057img_exp

Without ‘ekkes Express Charts’ installed you can select from your files.

If ‘ekkes Express Charts’ is installed the Invokation Framework knows that there are two providers of Images and you get a list to select from.

2. Select ‘ekkes Express Charts’

IMG_00000058reduced

3. Select an existing  or Create a new Chart

You’re now inside the charts app and can select from a list or create a new one on-the-fly. Easiest and fastest way to create a new one is to use the ‘Easy Data Entry‘ - I wrote about it here.

4. Capture the Image

IMG_00000059preview

‘ekkes Express Charts’ knows that the app was invoked from BlackBerry EXPRESS and shows you the EXPRESS application icon. Tap on the Action and you’re back in your presentation.

5. Enter the title of your slide

IMG_00000060

You’re done !

Playing your presentation from BlackBerry EXPRESS you’ll see the Chart and the Slide Title as overlay:

IMG_00000061

Hint: ‘ekkes express Chart’ has a special EXPRESS – switch leaving exactly 119 px free at the bottom, so there’s no collision with the Title Overlay.

exp_invokes_eec

Include Images from the Cloud into your Presentation

Invoke Image Search

‘ekkes express Charts’ is not the only APP you can invoke from BlackBerry EXPRESS:

Image Search by Alexander Björck enables you to insert Images from the Cloud, per ex. Flickr.

Download Image Search from BlackBerry World here:

bbworld_img_search

Include Charts as Image from anywhere

Invoke ‘ekkes express Charts’ as CARD from 3rd Party Apps

‘ekkes express Charts is open to all developers. If you need charts in your application you can integrate them seamless using Invokation Framework.

Here are the Invokation Parameters to invoke ‘ekkes Express Charts’ frm 3d Party apps:

void ApplicationUI::chartImage() {
    InvokeRequest request;
    request.setAction("bb.action.SHARE");
    request.setTarget("org.ekkescorner.charts.chartimages");
    request.setMimeType("image/jpeg");
    mInvokeManager->invoke(request);
}

Then a CARD will be invoked same way as invoking from BlackBerry EXPRESS and as soon as the chart was captured you’ll get a CardDoneMessage with the filename:

void ApplicationUI::childCardDone(
        const bb::system::CardDoneMessage &doneMessage) {
    if(doneMessage.reason() == "Done"){
        QString filename = doneMessage.data();
    } else {
        // User canceled
    }
}

To make it easy for developers to integrate there’s an Open Source Project at Github with a sample app invoking ‘ekkes Express Charts’ :)

Here’s the link to the Github project: https://github.com/ekke/ekkesChartInvoker

There’s much more use of the Invokation Framework in ‘ekkes Express Charts’: from Application menu, Home Page, social Integration and more.

Stay tuned for more articles on this

For now have FUN to insert charts into your BlackBerry EXPRESS presentations.

ekkes Express Charts is an application to create charts on-the-fly and can be integrated into BlackBerry EXPRESS.

Here’s an Overview about the APP and HowTo download und use.

Export / Import Charts…

…with a little help of Cascades Invokation Framework

Images of your charts are stored at the folder you defined from App – Settings, so you can easy send them to your friends or colleagues. But what about the data and all the properties and colors you set to create a good looking chart ?

This data is stored inside your APP’s sandbox, so it’s a safe place, but you cannot access it from other applications or File Manager.

The good news: I implemented an easy way to transfer the data without making it public visible.

If your friend doesn’t know about ‘ekkes Express Charts’ you can invite him / her easy from Home Page Action Bar via BBM.

Here’s the workflow if you want to send the data to a friend or colleague:

1. Exporting

Viewing or editing a single chart data you can export this one from Action Bar – Overflow menu:

chart_data_overflow_menu_export

Sending more then one chart data you can do a long-press on the List Page and select all the charts you want to export:

IMG_00000801

ekkes Express Charts will collect the data, create an attachment and open a predefined  Message Composer:

IMG_00000802_msg_comp

…all is done inside the app using Invocation Framework. See here to learn about invoking Core Apps like Message Composer.

2. Importing

Now on the other side where your friend gets your email:

IMG_00000034imp_att

As described in the body the only thing he / she has to do: Tap on the attached file and …

… by magic ‘ekkes Express Charts’ will be opened – doesn’t matter if it’s already running or not – and display this dialog to the user:

IMG_00000035imp_dialog

You will see how many data charts were sent and get a list of the titles to be sure it’s the right import file.

The application will add them all to the list of charts and update the UI of the List Page – doesn’t matter which Page you’re just working on. Your current workflow won’t be interrupted.

How is this ‘by-magic-open-the-app-from-an-email-attachment‘ done ? Again it’s the Invokation Framework !

I added the information into the bar-descriptor.xml:

<invoke-target id="org.ekkescorner.YOUR_UNIQUE_ID_HERE">
    <invoke-target-type>application</invoke-target-type>
    <invoke-target-name>ekkes Express Charts Import Data</invoke-target-name>
    <icon>
        <image>icon.png</image>
    </icon>
    <filter>
        <action>bb.action.OPEN</action>
        <mime-type>*</mime-type>
        <property var="exts" value="eecimp"/>
        <property var="uris" value="file://,data://"/>
    </filter>
</invoke-target>

Now if you click on a file with extension .eecimp ekkes Express Charts will be invoked :)

In your app you can detect if the app was launched by the user or if the app was invoked and then do what you want to do.

I told you that the data transfer was safe letting you data private. How is this done ?

Inside the application – sandbox all data is stored as JSON. (I wrote about using JSON a blog entry here)

If you take a look at the content of the .eecimp file you’ll see something like this:

{
   "exportedCharts" : "AwPuJ1JzovCJXJ.....4os370QllfA=="
}

It’s a JSON, but I scrambled the content with a key known by my app. So your data is protected and my app, too because if someone creates a fake .eecimp file it will open the app, but I can simply detect that I have to ignore the content.

Over all you see: with a little help of Invokation Framework you can create smooth workflows – not only inside your app – also between two apps as I demonstrated here.

This was only the first part of using Invokation Framework inside ‘ekkes Express Charts’ – read more about invoking my app from BlackBerry EXPRESS or 3rd party apps here: (TBD)

Try it out and have FUN.

ekkes Express Charts is an application to create charts on-the-fly and can be integrated into BlackBerry EXPRESS.

Here’s an Overview about the APP and HowTo download und use.

Easy Data Entry

One of the goals of my new app is to enhance productivity and always to have a Fast Lane.

fast_lane

That’s why I implemented the Easy Data Entry.

Starting the app you’ll get a list of all your saved chart data. The very first time this list will be empty and there’s a Dialog to let the user know about this:

IMG_00000796dialog

If you want to use emoticons, don’t forget the property:

infoDialog.emoticonsEnabled = true

As next you can tell the app how many columns you want to enter:

IMG_00000797picker

From the Picker you can seelct between 2 and 9 Columns. Then tap on the ‘Go on’ Action.

Please notice that the Back Button in the ActionBar changed to Cancel to let you know that you can cancel this and gob back to the previous Page.

To overwrite teh default Back Button you can add this to your code:

paneProperties: NavigationPaneProperties {
    backButton: ActionItem {
        title: qsTr("Cancel")
        imageSource: "asset:///images/ic_cancel.png"
        onTriggered: {
            navigationPane.pop()
        }
    }
}

Cascades makes it easy to create Objects dynamically and from the number you selected the next Page will display exactly the fields you need to enter your data:

IMG_00000798

there are 3 rows with Label, Value and optional Unit.

To create objects dynamically you have to attach the Component Definition – in this case describing the UI for one row:

attachedObjects: [
     ComponentDefinition {
         id: dataRowComponent
         Container {
             id: dataContainer
     ...... your UI controls
         } // end data container
     }, // dataRowComponent
     ...
]

and from a simple loop create them dynamically:

function createColumns(){
     var max = selectNumberColumnsContainer.columnCount
     for (var i = 0; i < max; i ++) {
         innerContainer.add(dataRowComponent.createObject())
     }
 }

The keyboard comes up automatically, because the first field requests the focus.

titleText.requestFocus()

This is important if working with devices like Q5 / Q10: the user can immediately start to type. Without requesting the focus he/she has to tap on the field before typing.

Filling out all the fields from last field the keyboard automatically disappears so you can see it all and verify.

IMG_00000799

Before going on and customize or save the data you can directly control the generated chart clicking on the ‘Preview’ Button:

IMG_00000800

You can rotate to Landscape and if it looks ok capture the Chart and Save the Image or go back and customize.

There are some small things implemented to create a great UX, per ex.:

If coming from BlackBerry EXPRESS the ActionBar looks different:

action_bar_capture_EXPRESS

Coming from another 3rdParty appliucation you’ll get this one:

action_bar_capture_3rd

Sending the Image back automatically closes the Page and returns to the calling application.

Have FUN with ekkes Express Charts :)

As you know I’m writing Business Apps for BlackBerry 10 and in such apps like SerCar10  there’s always the need to display some charts in dasboards, per ex. seeing Order Entry for the last 8 quarters as a Bar Chart diagram.

So I developed this to be used in my applications.

I’m also creating countless presentations: really complex ones for my sessions at developer conferences using Keynote / PowerPoint, but also from time to time to create them on-the-go for a presentation at customer site.

bb_express_bb_world

Probably you already know BlackBerry EXPRESS – a cool APP to create presentations on-the-fly directly from your BlackBerry 10 device. This enables a very short workflow:

  • create the slides using BlackBerry EXPRESS (perhaps in the train on the way to customer or meeting)
  • connect your BlackBerry 10 device to HDMI (even wireless using Miracast)
  • do the high-quality (HD) and great looking presentation

BlackBerry EXPRESS allows you to insert Images, Titles, Chapters, Bullets but is missing the ability to create Charts.

I blogged about HowTo create a Bar Chart using Cascades and got a request from BlackBerry Sweden (Cascades) if I would like to write an application which can be invoked from BlackBerry EXPRESS.

I looked around at BlackBerry World for native Chart applications and didn’t found a good one certified as Built-For-BlackBerry.

Finally I created a fully customizable Chart – Creation APP and you can use it also as a standalone app or integrate into 3rdParty using Invokation framework.

There will be some blogs about the workflows HowTo use ekkes Express Charts and also some tips & tricks how it’s done from a developer POV.

Let’s start downloading the APP and taking a look at some screenshots to get an overview. ekkesExpressCharts is available at BlackBerry World as a FREE application. You can download here:

ekkesExpressCharts_bb_world

ekkesExpressCharts need a minimum OS of 10.2.0 and runs on all devices like Z10 / Z30:

z10_home

Q5/Q10 (supporting ShortCuts):

q10_home_screen

You can define your Chart in detail – here’s the overview Page:

IMG_00000037

Define your Colors for background or text (Labels):

IMG_00000043

Set your column properties:

IMG_00000042

Set the padding (free space around the chart diagram:

IMG_00000048

There’s even a switch to set the correct bottom padding for BlackBerry EXPRESS. In EXPRESS you select an Image and then enter the title which is shown half transparent above the Image. leaving 113px at the bottom and it will fit perfect.

There’s an overview of all your charts from where you can directly preview/capture the image or edit the properties or export and compose a message:

IMG_00000036

Easy Data Entry allows you to create all at once: enter number of columns, title, lable, values and get the chart.

IMG_00000045

Preview always gives you feedback how the image will look like – you can rotate and test in Portrait or Landscape.

Hint: for BlackBerry EXPRESS you should always use Landscape.

Coming from BlackBerry EXPRESS inserting an Image you can select ‘ekeksExpressCharts’

IMG_00000058reduced

then you can create or get your chart and go back to BlackBerry EXPRESS.

IMG_00000061

More Chart Types will come !

I started with two Chart types built using native cascades controls: Bar Charts and Slider Charts.

More Chart Types will come soon – also import/export as CSV

BES 10

BTW: ekkes Express Charts also is running well in Work Perimeter and Images can be stored at BlackBerry Work Drives if you’re using BES10

———

Please try it out and give me feedback – you can do this from inside of the app: by email (Application Menu – feedback) or using BlackBerry Channel (ekkes-corner TAB)

Have FUN and stay tuned – more detailed articles will follow soon ! Here are the first ones: