June 21st, 2013
Hace exactamente dos años en Singapur, Marko Ahtisaari presentaba al mundo el Nokia N9, quizás el mejor teléfono desarrollado por Nokia, todo, desde el diseño de su hardware, como el software eran innovadores, el N9 es uno de esos pocos dispositivos que logran que el hardware y el software se complementen tan bien, que es imposible pensar que pueda existir el uno sin el otro, lamentablemente el que tendría que haber sido el dispositivo que marcaría el futuro de Nokia, nació muerto y sus restos terminaron siendo canibalizados por la misma Nokia y por muchos de sus competidores, ciertos aspectos del hardware fueron usados para la serie Lumia y muchas de las ideas y conceptos del diseño de la UI/UX acabaron en los Asha, BB10 y SalifishOS, un destino un poco triste para un teléfono que tenia todo para encaminar nuevamente a Nokia en el sendero del crecimiento, afortunadamente la herencia del N9 sigue vigente hoy, y el tiempo esta comenzado a demostrarle a Stephen Elop (al que ya le queda poco tiempo en Nokia) lo falto de visión y cobarde que fue.
December 31st, 2012
ZXing es una biblioteca open source para el procesamiento de códigos de barras, la biblioteca ha sido ampliamente portada a varias plataformas, en Qt podemos usar QZXing, la cual se integra fácilmente en Symbian y Harmattan.
En este ejemplo vamos a crear un pequeño lector de codigos QR, pero QZXing es capaz de procesar muchos otros formatos de codigos de barras, como por ejemplo Data Matrix (V1.1), Aztec Code (V1.2), UPC_E, UPC_A, EAN_8, EAN_13, CODE_128, CODE_39 e ITF entre otros.
Para comenzar, hay que bajar y agregar QZXing en nuestro proyecto, para ello solo debemos crear una carpeta QZXing en la raiz del proyecto y copiar dentro de ella todos los archivos que conforman QZXing.
Luego la incluiremos en nuestro proyecto agregando la siguiente linea en el archivo .pro.
include(QZXing/QZXing.pri)
A continuación declararemos la headers de QZXing en el archivo main.cpp.
#include
#include "qmlapplicationviewer.h"
#include
Q_DECL_EXPORT int main(int argc, char *argv[])
{
QZXing::registerQMLTypes();
QScopedPointer app(createApplication(argc, argv));
QmlApplicationViewer viewer;
viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer.setMainQmlFile(QLatin1String("qml/qrcodereader/main.qml"));
viewer.showExpanded();
return app->exec();
}
Lo bueno de QZXing es que se integra fácilmente con QML, el primer paso es crear los imports a QtMultimediaKit y QZXing, luego crearemos un objeto QZXing que sera el encargado de leer la imagen (imageToDecode) que el elemento Camera tomara cuando presionemos el botón Scan.
Como verán usar e integrar QZXing en un proyecto Harmattan es muy simple, yo no lo he probado en Symbian, pero su integración y uso es similar, lo único que no me ha gustado es como ha quedado el posicionamiento del elemento Camera, primero tuve que usar posicionamiento absoluto en vez de relativo, ya que el elemento Camera no se lleva bien con los anchors, segundo, tuve que aplicar una rotación de 90° ya que el elemento Camera se inicializa en modo landscape y como no encontré ninguna forma de ponerlo en modo retrato decidí usar la rotación.
import QtQuick 1.1
import com.nokia.meego 1.0
import QtMultimediaKit 1.1
import QZXing 1.2
Page {
id: mainPage
orientationLock: PageOrientation.LockPortrait
tools: commonTools
Rectangle {
id:header
width:parent.width
height: 72
z:10
color:"#002c78"
Text {
id:title
text: "QZXing"
anchors.left: parent.left
anchors.leftMargin: 8
anchors.verticalCenter: parent.verticalCenter
color:"#fff"
font.pixelSize: 32
font.weight: Font.Normal
font.family: "Nokia Pure Text"
lineHeightMode: Text.FixedHeight
lineHeight: font.pixelSize * 1.1
}
}
QZXing {
id: decoder
onDecodingStarted: console.log("decoding ...")
onTagFound: capturedText.text = tag
onDecodingFinished: console.log("decoding finished " + (succeeded===true ? "successfully" : "unsuccessfully") )
}
Camera {
id: camera
x: -80
y: -32
rotation: 90
width:640
height: 640
focus: visible
captureResolution : "1024x768"
onImageCaptured : {
imageToDecode.source = preview
decoder.decodeImageQML(imageToDecode);
}
}
Image{
id: imageToDecode
height: 360
anchors.left: parent.left
anchors.leftMargin: 0
anchors.right: parent.right
anchors.rightMargin: 0
anchors.top: header.bottom
anchors.topMargin: 0
visible: false
}
Label {
id:capturedText
anchors.bottom: scanButton.top
anchors.bottomMargin: 8
anchors.horizontalCenter: parent.horizontalCenter
font.pixelSize: 24
font.weight: Font.Normal
font.family: "Nokia Pure Text"
color:"#333"
}
Button {
id:scanButton
text: "Scan"
anchors.bottom: parent.bottom
anchors.bottomMargin: 16
anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
camera.captureImage();
}
}
}
Para finalizar una imagen del ejemplo funcionando.
October 6th, 2012
En estos últimos días se están comenzando a conocer con mayor detalle los planes a futuro que tiene Jolla, ya sabemos que un grupo de inversionistas a inyectado 200 millones de euros para potencia y acelerar el desarrollo del ecosistema que girara en torno a Sailfish, el nombre elegido por Jolla para su OS, también sabemos que la UI y el SDK serán presentados en el marco de la conferencia Slush que se realizara en Helsinki los días 21 y 22 de Noviembre y que el hardware en cambio recién sera presentado a finales de Diciembre.
Si están interesados en saber cual es la filosofía, los principios y las acciones que esta tomando Jolla para crear su ecosistema y su comunidad, les recomiendo vean la primera parte (45 min. aprox.) del siguiente video.
July 7th, 2012
Hace tiempo que las noticias que llegan desde Finlandia no son para nada alentadoras, hace un par de semanas nos enterábamos de la cancelación de Meltemi y el despido de todos aquellos que trabajaron en el, a esto hay que sumarle que hace uno días Sotiris Makrygiannis (@melsop74) director de aplicaciones de MeeGo renuncio a la compañía luego de 12 años de trabajo y junto con el muchos otros miembros del equipo encargado de MeeGo/Harmattan.
After 12 years at #Nokia is time to say goodbye. Last day but I'm going knowing that we created a legendary phone #N9 and we tried hard.
Luego de tanto golpe, ayer Jukka Eklund (@jukkaeklund) hizo un pequeño anuncio, que despertó el interés he hizo renacer las esperanzas de toda la comunidad MeeGo y Maemo.
Interesting news coming tomorrow, stay tuned.. #meego
Afortunadamente no tuvimos que esperar mucho para saber de que se trataba, ya que hoy mismo se anuncio oficialmente la creación de Jolla.
Jolla is here. #MeeGo based smartphones will have a bright, new future. Stay tuned!
Jolla Ltd. esta compuesta por antiguos directivos y profesionales de Nokia que trabajaron en MeeGo y en el N9, como así también de varios miembros de la comunidad MeeGo, la idea es diseñar y fabricar junto a socios e inversores internacionales nuevos smartphones que continúen el legado del N9.
Por ahora las noticias son pocas, pero si quieren mantenerse informados de todo lo relacionado con Jolla pueden hacerlo usando alguno de los siguientes enlaces:
Actualización
Ya esta disponible la primera press release, que detalla un poco mas lo que se viene haciendo en Jolla y deja entrever un poco sus planes a futuro.
MeeGo Smartphones and Operating System Find a New Life in Jolla Ltd.
FOR IMMEDIATE RELEASE
Jolla Ltd. is an independent Finland based smartphone product company which continues the excellent work that Nokia started with MeeGo. The Jolla team is formed by directors and core professionals from Nokia’s MeeGo N9 organisation, together with some of the best minds working on MeeGo in the communities.
Jussi Hurmola, CEO Jolla Ltd.: “Nokia created something wonderful – the world’s best smartphone product. It deserves to be continued, and we will do that together with all the bright and gifted people contributing to the MeeGo success story.”
Jolla Ltd. will design, develop and sell new MeeGo based smartphones. Together with international private investors and partners, a new smartphone using this MeeGo based OS will be revealed later this year.
Jolla Ltd. has been developing a new smartphone product and the OS since the end of 2011. The OS has evolved from MeeGo OS using Mer Core and Qt with Jolla technology including its own brand new UI.
The Jolla team consists of a substantial number of MeeGo’s core engineers and directors, and is aggressively hiring the top MeeGo and Linux talent to contribute to the next generation smartphone production. Company is headquartered in Helsinki, Finland and has an R&D office in Tampere, Finland.
Sincerely,
Jolla Ltd.
Dr. Antti Saarnio – Chairman & Finance
Mr. Jussi Hurmola – CEO
Mr. Sami Pienimäki – VP, Sales & Business Development
Mr. Stefano Mosconi – CIO
Mr. Marc Dillon – COO
May 14th, 2012
Hoy encontré un link a mi blog desde este thread en Nokia Developer en donde preguntaban como abrir la aplicación Nokia Maps (ex Ovi Maps) con unas coordenadas especificas desde una app Qt, hacer esto desde QML es muy fácil, solo debemos usar el método openUrlExternally del objeto Qt de la siguiente manera:
MeeGo
Qt.openUrlExternally("geo:-34.603611,-58.381667")
Symbian
Qt.openUrlExternally("http://m.ovi.me/?c=-34.603611,-58.381667")
Ademas de poder abrir Nokia Maps en una ubicación precisa, con openUrlExternally también es posible, hacer llamados telefónicos, enviar SMSs, emails, abrir una dirección web en el navegador nativo y algunas otras cosas mas, pueden ver algunos ejemplos de esto y su implementación en esta entrada en la wiki de Nokia Developer