Getting Started With Mobile Programming – Season 2 – Workshop Contents

Hi,

First Intensive Season Of Workshop :   Absolute Beginners realize Their First Mobile Phone Ideas 

We just conducted a 2nd season of “Getting Started With Mobile Programming” workshop in U.C.E.T, The Islamia University Of Bahawalpur, Pakistan, focusing “2D Game Developement” and “Cross-Platform Developement highlighting MoSync & HTML5″ , along with new technologies around like TouchDevelop, NFC etc. It was a great experience and I hope the contents of this workshop may help other guys as well.

Workshop Contents : http://sajisoft.com/workshops/mComputings2.pdf

Best Regards,

Sajid Ali Anjum

Wiki PureView Imaging Competition

Sharing your expertise and innovative use of the Qt or Symbian C++ Camera and Imaging APIs could win you a trip to a Nokia Event and the brilliant new Nokia 808 PureView smartphone, not to mention raise your CV to the next level, and get your skills noticed by the community. 

The Nokia 808 PureView has awesome capabilities for video and still image capture. It’s also the first phone to include support for audio recording without distortion, at audio levels beyond the capability of human hearing: so even in the harshest of environment you can capture CD-like audio
quality
.

With our new PureView Imaging Competition we are looking for how tos, tutorials, and code example articles that help the community write better and smarter imaging and camera software.

While we’re expecting to get many articles that explore the limits of what this phone can do, we also welcome articles that demonstrate code that can be useful on all Symbian (and most Qt) devices. The scope of what we consider imaging related is also very broad – we would certainly consider examples of photo sharing and image compression code and software for example.

To get you started we’ve created a Camera Guide and for how to use Qt to access camera functionality.

For more details and to enter, see PureView Imaging Competition 2012Q2.

Qt Telephony Utility (Featured Project)

project icon​Qt Telephony Utility by galazzo is a Qt library which exposes all the useful functionality in the Symbian C++ public Telephony API (CTelephony). This library makes it easy to make and answer phone calls and get the IMEI, in both Qt C++ and Qt Quick.

We like that this project delivers a very useful API which developers would otherwise have to roll out themselves. It is well documented with good examples so there is no guesswork involved when including it in your projects (see API reference and example documentation on the main wiki: ​How to manage phone calls with QS60Telephony). In addition, the fact that it has been used in an app published on Nokia Store (​Blacklist Manager) means that it will get regular real-world testing.

The author has already responded to requests to improve the documentation and removed unnecessary dependencies (making the project easier to use). Please provide any further feedback and suggestions for the API or ​Blacklist Manager in the project discussion boards.

– Hamish Willee (on behalf of the Projects Moderation team)

WeatherApp and Weather Forecast (Featured Project)

project iconproject iconWeather App and ​Weather Forecast are both Nokia Developer examples.

WeatherApp is a simple Series 40 weather showing a four-day forecast with temperatures, relative humidity, wind speed, and wind direction. It retrieves the current location via CellID or GPS or by user-defined location and uses the location for retrieving weather forecast information. The app also demonstrates how to use JSON data parsing, and has been designed to scale to various screen sizes and input methods. Version 1.1 also demonstrates monetisation with in-app advertisements.
 

Weather Forecast is the port of a Windows Phone app in Microsoft’s MSDN Library to Qt Quick. It parses weather forecast content from XML data retrieved over the network. In addition, the example demonstrates how to implement internationalisation with Qt and Qt Quick. Four languages are supported: English, Finnish, German, and Polish. Lastly, it has a good QML splashscreen, and an associated wiki article which explains your ​splashscreen options.

We like these projects because they show basic weather app functionality for two platforms (three if you count the original Windows Phone weather app). From them developers can learn the basics of integrating with an external weather service using the different development frameworks, and some of the logic of porting between them.

As with all Nokia Developer Examples, you can suggest improvements, raise defects, and join the projects. Your input and involvement is welcome!

– Hamish Willee (on behalf of the Projects Moderation team)

Symbian Qt Quick Components Competition 2012Q1 – Winners announced

The Symbian Qt Quick Components Competition 2012Q1 is now over and the winners announced. We’ll be sending them a brand new Nokia 808 PureView device (with unbelievable 41 megapixel camera!) as soon as they’re available!

We thought we’d take a little bit of time to explain the judging process, and what it was that set the three winning apps apart from the crowd.

Judging process

First and foremost we were looking for Symbian apps that used the Qt Quick Components and complied with the Symbian Design Guidelines. Good overall user experience and a matching app launcher icon (done according to the guidelines) were also considered important.

Many of the apps had innovative and elegant UIs, however they were using the components in ways that resulted in unexpected and/or unintuitive app behaviour. From the initial set we were able to refine the list down to a shortlist that used the Qt Quick components correctly and appropriately, and mixed with custom components where these were needed.

We selected the following winners from this initial set. While all the apps in our shortlist had some merit, the winners succeeded in creating a consistent experience that is well matched with that of the phone platform. The app ideas were nice, and the navigation structures and logic intuitive.

Winners (in no particular order!)

Codice Fiscale

CodiceFiscale is an app that allows users to calculate their Italian Tax ID code, also known as "Codice Fiscale". We like this app because it uses the Qt Quick Components exactly as recommended by the guidelines. 

The app uses standard dialogs, buttons, text editors. All the "little things" have been done correctly, from ensuring that the menu back arrow and menu options are in the correct positions, through to greying out options that cannot be set in the current context. 

Codice Fiscale app - main view

You can see more information about the app (and screenshots) on the wiki here: Building the Italian Tax ID app with Qt Quick components.

Tourschall

Tourschall is a location-senstive audio tour guide app. We liked this app because it used the Qt Quick components appropriately, and mixed the common and custom components in an innovative way. As you can see from the screenshots below not everything is “perfect” according to the design guidelines (ie X to exit the app rather than a back arrow) but its still a very consistent UI.

  

There is more information about the app (and screenshots) on the wiki here: Tourschall Showcase

Farmácias de Serviço

Farmácias de Serviço is an application for locating near-by pharmacies. We particularly liked the app because it uses custom components in a way that is very consistent with the standard Symbian "Look and Feel". For example, the Tabbar has been subtly styled to better fit the brand, but is otherwise very similar to the standard Symbian component.

   

For more information see the wiki article here: Farmácias de Serviço – Symbian App.

Honourable mentions

The following apps are deserving of an “honourable mention” (but not a prize sorry!). All of these apps have some good features or design elements that the judges though worthy of note. 

Notekeeper

FlickrUp

MBuddy

Night Flash

Superbike (QIap)

Audiobook Reader

Premier League

CutePress

Note also that many of the apps submitted that were not considered deserving of "honourable mention" when the competition completed have continued to evolve and are now worth checking out.

Thank you!

A big thank you to all the developers who competed and in particular to the winners, who really captured the spirit of the platform design in their apps.

In particular, I’d also like to thank our main judges, Jan Krebber and Sanna Haivalainen, who put in a lot of effort to ensure that we reviewed the latest and greatest versions of the apps, and to ensure that we were able to get the results out to you so quickly. An astounding job with so many entries.

Hamish Willee

StarMenu (Featured Project)

project iconStarMenu by ​lildeimos is a custom Qt Quick component for creating an icon based popup menu. The component offers a number of layout options, ranging from the “star” layout from which it gets its name (ie circular or oval layout around a specified point) through to layout of icons in an arbitrary grid or in a line defined by start point, radius and item separation.

The component is delivered as a QML plugin which you can use very easily by simple import. Source code is provided, along with ​documentation, which is hosted on the main wiki. There is an excellent test app which allows you to easily try out and see all the options provided by the component (note that at time of writing this isn’t on the summary page, but you can get it from the ​Files section). Best of all, the component is truly cross platform, and has been tested on MeeGo Harmattan (N9), Symbian, linux, Windows, Android (with necessitas).

The only obvious improvement we can see would be to make the project “platform theme aware”, but this of course might come at the cost of branching or supporting less platforms. If you have any better ideas the author is more than interested in hearing your ideas for further improvement or collaboration.

– Hamish Willee (on behalf of the Projects Moderation team)

QIap (Featured Project)

project iconQIap is a wrapper class for simplifying in-app purchasing, by galazzo.

In-App Purchasing (IAP) allows end users to purchase and pay for additional content or services from within an application. While Nokia provides some ​great (beta) APIs for in app purchasing, we like the fact that galazzo has offered a simpler API that will address the most common use cases. He’s provide good documentation on how to use the API, along with some straightforward example code and a “real” ​Superbike example to make it even easier to use and understand.

We also like how he’s promoted his project on the wiki with this article: ​QIap – a simple Qt interface for In-App Purchasing and entered his example code into our Qt Quick Component competition.

Galazzo has made some other projects you might want to check out, including ​QVibra and ​QTelephony for accessing Symbian vibration and Telephony APIs, and ​QShake for detecting shaking motions.

– Hamish Willee (on behalf of the Projects Moderation team)

Qt Example Survey – your voice has been heard

We’ve finished analysing the results of the Qt Code Example Survey. A big thank you to the more than three hundred developers who participated – you’ve given us a lot to think about, and pointed out where we can improve!

Special thanks to our winner Tamás Gábor Barna – Tamás has been sent a brand new Nokia N9 smartphone for his detailed feedback (we’ve attached a short interview with Tamás at the end of this post).

There was a lot of feedback on individual examples, and we’ll be reviewing those comments on a case-by-case basis. At a higher level, the most common themes from the feedback were:

  • Improve the architecture of examples to make it easier for developers to re-use components
  • More and better documentation of the examples
  • Support Qt versions before Qt 4.7
  • Provide a feedback channel for developers to comment on particular examples

As a result of the feedback received we will add a new requirement to the architectural design and example review checklists: in the future our example applications will be composed from smaller re-usable components. We’ll also be improving documentation, and make sure that it’s easy to find.

We won’t be working on older versions of Qt – our focus will be to provide good coverage of what is most relevant now, and of all the new technologies coming into the framework in the near future. However, all the previous versions of our examples, for example those supporting Maemo 5 and Symbian 5th Edition, are still available in Projects, and we encourage the community to continue the development of these.

Lastly, we actually already have a really good feedback mechanism for our examples! All Nokia Developer examples are hosted in Projects. If you have any suggestions for improvement, you can create enhancement or defect tickets, start a discussion or even join the project and contribute. From the pages of the individual projects you can also read more detailed project specific documentation in the wiki and access the source and binaries of older versions. We’re looking at the example pages in the static site and also the projects’ pages to see if we can make this feedback mechanism more obvious.

Thanks again to everyone who contributed. If you have any more ideas on how we can improve our code examples offering, please contact Community Help and Support

Regards

Hamish Willee & Tomi Paananen

Image used in Qt Example survey blog


A short Interview with Tamás Gábor Barna, winner of the example survey competition

How would you describe yourself?

I’m a freshly graduated electrical engineer, an open-minded gadget and new technologies enthusiastic, who likes hardware and software both.

How have you ended up in mobile software development?

I participated in the Calling All Innovators contest, and just fell in love with Qt. From there it was quite straightforward to also develop my programs for mobile platform.

What are your areas of interest in mobile business?

I don’t have specific goals, but I like making apps that makes life easier and better.

Diner Silverlight (Featured Project)

project iconDiner Silverlight example app by ​Nokia Developer.

The example app demonstrates how to build simple, catalog-type applications for WP7, based on local XML data. It looks great, making good use of the Metro UI’s panorama and pivot controls. Even better, the main elements of this design are well documented in the ​wiki and ​release notes.

What really adds value to this project is that the app is a Windows Phone port of the ​QML Diner example. The wiki includes a ​porting guide which explains what was done, including an overview of where the design was improved. Developers can not only see the source code of both versions of the app, but also understand the scope and effort of porting between them.

The project is still marked as “in development”. If you can see ways to improve the example or have any other feedback then we’d love to hear your ​ideas.

– Hamish Willee (on behalf of the Projects Moderation team)