60 days into it…

Hi…

Exactly 60 days ago I started my new life as VP Engineering in the Dun Karm Street. Maybe it is time to talk a bit about what we did so far.

I think, one of the major additions to the daily life in Uniblue that I was able to do, are the fancy project names. I will talk about some of them but not all. We started some research projects which I cannot unveil here (sorry). But I will some time later when things matured to a certain state…

Project AngryBirds: Following the future vision of Uniblue, we started to lay out a backend system that will carry this vision. It will contain of a messaging mechanism able to push messages as well as offering a polling interface. It also offers a central mechanism to collect customer feedback, usage and statistical data. The third step will be to detach the website from the processes and data persistence by means of a RESTful API. Yes, you could call this big data and yes, we will use NoSQL and stuff. Within this project we can rely on the enormous knowledge Uniblue has in the backend arena. As usual, the complexity of the system in place to supply an integrated e-commerce experience over a multitude of markets, languages, partners etc. is not seen on the surface. We are currently in the phase of architectural design of the first two parts.

Project  Gravity: Just as gravity is one of the four basic forces of nature, Gravity will provide a very important part of our future. Uniblue already relies on Python, HTML/CSS, JavaScript for its products. Ten years ago, this was a very brave decision. In the light of today, it looks like more than prophetic. So already build our product pretty much in a hybrid way for a decade. But we need to expand and react on new currents on the market. So, Gravity will build the base of our client infrastructure. Gravity has its requirements collected and sees now the phase of looking into different implementation options.

Everything we do needs to support the long term vision that our company has. It also needs to align to the bullhead of VP asking for cloud thinking: Loosely coupling, atomic small parts that can grow and shrink dynamically, ability to survive the chaos monkey…

So much for today while I could talk on for hours sometimes doing things is more interesting than talk about it ;-) Only one more thing: If you would like to be part of this, shoot me a line ;-)

CU

 

0xff

Posted in uniblue | Tagged , , | Leave a comment

Defining the Architecture of Help in the Future

Hi…

 

I am currently working on defining an architecture for uniblue on a greater scope. The idea is to build a help system for the future.

Personally, I paraphrase the mission of uniblue as follows: “Enable consumers to get the outmost of their digital environment.” As usual, every word in this sentence has a deeper meaning. Obviously, we define the target audience – the consumer. What outmost means is somewhat obvious, too.

But digital environment needs to be defined. I think in the hay-days of Microsoft, this used to be the PC. It was the only digital device (on every desktop as stated by Microsoft). Today, it is your mobile device, your tablet, and less and less the PC. With this came the reduction of perceived complexity. I would argue that a major success factor for those devices are the fact that they are somewhat closed. They are reducing the degrees of freedom to configure and being programmed. This also reduces possible failure sources. To be successful in the consumer space, usability is key.

Looking in the future, the digital environment changes yet again. I would argue, it will loose its current face. Future computers will not easily be identified as such. We are talking about wearables like Google Glass, smart phone (but not as we have it today), smart home, smart car, smart city. Some call it Internet of Things (IoT), some call it internet of everything. This provides an explosion of complexity. We have more devices, more platforms.

We are currently laying out an architecture to answer this… great stuff to work on.

CU

0xff

 

Posted in Mobile, uniblue | Tagged , , , | Leave a comment

Redefinition of Operating System

Hi…

if you would ask a consumer about the tasks an operating system has, she would pretty much argue from her own point of view. Problably, it would burn down to three major things:

  • Storing and providing access to my data such as pictures, music, e-mails, documents…
  • Providing access to the internet via hosting a browser…
  • Maybe some fun activities like a game or two…

If we follow this definition – which for sure is a non-CS-ish – we see where companies like Google with Chrome or Firefox with Firefox OS are heading to. And we also understand imediately why Microsoft still fights for the Internet Explorer.

Today, the browser becomes the UI framework of your operating system. The storage is pretty much in the internet. There is no real need to store anything locally, it might even be more interesting to store in the cloud. Because the connection between you and cyberspace is no longer the PC alone. You certainly do not want to lock your life into the PC at home.

If you now introduce a layer like Google Chrome or Firefox OS which is pretty much device independent, it can become your default way of interacting with your new operating system.

And by the way, sooner or later, Apple will follow Microsoft in panic …

CU

0xff

 

Posted in Ecosystem, Mobile, uniblue | Tagged , | Leave a comment

Worklight Demo Setup – MySQL JDBC driver

Hi…

when installing your IBM Worklight developer machine to use the adapter for SQL databases, you may find it difficult to get the MySQL driver running. At least, I did. The official way is to store the MySQL Connector/J in the lib directory of your server (see here for details).

I was just doing a setup for demo machines that have – as a special trap – to work on the T-Systems managed machines we have here at Telekom. So, if you have the idea that you will setup (and delete) projects rather frequently and do not want to feedle around with the MySQL files, you can do the following:

(1) Find the appropriate MySQL COnnector/J file, best to download it from Oracle. Use the platform independent version as a ZIP file. Open the ZIP and find the jar file in there.

(2) Copy the jar file to a known place, e.g. into the WorklightServerConfig directory in the Eclipse Workspace where Worklight resides.

(3) Under WorklightServerConfig\servers\worklight you can find the server.xml config file. Within the <library id=”apps-common”>, add the following line:

Make sure the connector version and the path fits.

Now, you don’t need to copy the driver in the lib anymore and build, deploy, and hope it finds it on the first time ;-)

CU

0xff

 

Posted in B2B2X, Developer Garden | Tagged , | Leave a comment

Off to new… Uniblue

Hi…

According to http://www.thefreedictionary.com/life – life means…

 

The property or quality that distinguishes living organisms from dead organisms and inanimate matter, manifested in functions such as metabolism, growth, reproduction, and response to stimuli or adaptation to the environment originating from within the organism.

 

If I may, I want to focus on a few characteristics: Metabolism, response to stimuli and adaption, especially growth. In the past one and a half years, I had a great ride here at Deutsche Telekom. We introduced loads of change, brought some decent products to market, and developed our own identity. I had the chance to build a team of evangelists and maybe, a tiny itsi bini tini wini, shaped the future of this large corporation in this so important but totally changing market.

Sure, there were some hardships. Living apart from my family during the week days, brought some interesting problems. And – yes, sure – being a software guy in a telco is interesting, too. But, all in all, it was a great time with great people who gave me the opportunity to learn and grow.

But the better is the enemy of the good. I was given the opportunity to do something really cool. And here is the story:

Last September, we were on holiday on the small island of Malta in the midst of the Mediterranean sea. My better half always repeated “How cool would it be to work and live here?” and I routinely answered “Sure?”. Back at home, she started to get into networks and circles and kept dreaming. One nice day, I found this job posting on LinkedIn. A consumer software company searched for a CTO based on Malta. I clicked the button.

Weeks later, I was contacted by a head hunter, we had a nice chat but she said, that the process is far down the road, hardly any chance. I said, ok. You try because I have no rush. Yet again some days later I was contacted again to have interviews. I learned about the CEO and his vision for the company. Made contact to the VP of HR and some technical people. To be honest, I got interested… I mean really interested. So we agreed on a round of interviews in Malta.

It was a hard day and they took it serious. I had to talk to several people and do a working exercise. At the end of the day, I got an offer. Back in the hotel, I talked to my better half. We agreed that it was her idea to start with and so no blame on me ;-) When I came back from a little morning run, under the shower, I was thinking on how to tackle this role and how to move forward. All the opportunities. It was fun to think about it and I found myself singing under the shower. It is not that I am really good at singing but it was so refreshing. It felt like the definition of life above. In this moment, I decided to go for it, walked out the shower writing an email. And yes, thankfully Lenovo Thinkpads a tough enough to cope with a little water on their keyboards.

This is how I came to enter a new chapter of my life. I will move to Malta and dive deep into the consumer software space. There is lots to talk about in the next weeks, so I will save my thunder here. But – to make it official – I will join Uniblue Ltd beginning of January.

CU

0xff

PS: We are hiring ;-)

Posted in Uncategorized | 2 Comments

Accessing mySQL from within Worklight

Hi…

If you want to access a mySQL database from within Worklight, you can add an SQL adapter. Here is a step by step guide:

(1)    Add a database connector by right clicking on your project and selecting New-Worklight Adapter.

Wizzard

(2)    In the requester choose Project Name. Adapter Type is SQL Adapter. Give it a name. If you choose to Create procedures, it will do Javascript stubs in your project.

(3)    You can find the mySQL adapters here http://dev.mysql.com/downloads/connector/ You want to get the J Connector. Download the platform independent version and store it in the server/lib directory. NOTE: You need to restart the server / Eclipse Worklight Studio for the server to recognize the file.

(4)    In the directory adapters in your project you should find your new adapter. Within it carries its configuration.

SuccessWithin the JS files, you find the stubs provided by the wizzard. You need to change the stubs (SQL and JavaScript) according to your needs. Looks like this:

If you right-click on your adapter, you can choose Run as – Invoke Worklight Procedure and test your stuff.

CU

0xff

Posted in B2B2X, Developer Garden | Tagged , , , | Leave a comment

From the desk of the CTO: Writing history with MEAP

Hi…

You might have seen it: We launched Yesterday our hosted offering of IBM’s Worklight product. This is a major step for us. I want to give you two reasons…

Number 1: This is a worldwide unique offer. We worked hard with the IBM account team to build such an offer. For IBM, this is a major step as it is a brand new model. You pay as you grow here!! As I learned from many partner discussions I had in the past days, all are interested in Worklight but shy away from the pricing. I think we have a cure here! With our offer you can get your feet wet and make a a step by step entry into the MEAP world. I am convinced that Worklight will soon become a major pillar of your mobile strategy and then you might decide to take it home into your own infrastructure. Fine, it is all prepared to do so. On the other side, I hope that you also see the long term benefit of our solution and keep it hosted from our side. Whatever you decide, you are free to choose. And this is what counts.

Number 2: The role of MEAPs. I thoroughly believe that MEAPs have the same role to play in the mobile world, than ESB played in SOA*. MEAPs have a great future (see here) and for us, it was enormously important to have such an effort within our ranks.

I want to thank and express my utmost respect to the two teams here. You did a great job!!!

CU

0xff

*) MEAP = Mobile Enterprise Application Platform / ESB = Enterprise Service Bus / SOA = Service Oriented Architecture

Posted in B2B2X, Developer Garden | Tagged , , , | Leave a comment

Mobile App Architecture

Hi…

I found this nice deck

It details several aspects of architecture for mobile apps. They list the key problems quite nicely… almost. They missed a key aspect (well, they mentioned it halfways):

Mobile apps need to be distributed, installed, maintained. A problem we all learned to love in the PC era where huge infrastructures were build inside of company boundaries to install and update applications. When webpages took over, this aspect got less interest. But – hurrey – it is back.

So, deployment (aka app store or integration into app stores) is a necessity. Moreover, different platforms have different rules on updates. Sometimes your update is seen as a new app somehow and needs to run through the certification process once again.

CU

0xff

 

Posted in Ecosystem | Tagged , | Leave a comment

Conference call with Telekom Tropo and node.js …

Hi..

 

we recently had a support request on Telekom Tropo conferencing and node.js . Our colleague Daniel Roth (you can find his pretty black website here :-) ) solved it. He did not use the Tropo package but did it rather from scratch. Well, customer’s wish is our command…

The exact same thing if you are using Telekom Tropo scripting:

The world famous 3 lines of code…

Thanks to Daniel… you: Have fun!!!

CU

0xff

 

Posted in B2B2X, Developer Garden | Tagged , , , , , | Leave a comment

From the Desk of the CTO: Native vs Hybrid – See it like MS Access…

Hi…

there is lots of discussion and discussion regarding native apps are a must (since Facebook did switch from hybrid to native) or native are just fine… First, let’s sortout one thing: What is hybrid to start with?

It all boils down to two extremes and the middle layer. On the one side of the box ring is pure web, some call it web app. As matter of fact, it is a web site that uses javascript frameworks to optimize for mobile consumption. Those websites when designed neatly can supply a variety of different mobile device formats and OSes. But obviously they suffer from the typical drawbacks of all web sites. Things like limited local storage, limited to no access of hardware capabilities, performance, you name it. The upside is: It uses HTML5 and Javascript which should be common to all developers nowadays.

On the other side of the boy ring – the other extreme – is the native app. This is what we saw in the beginning as an app. It runs on the device, need to be installed and maintained (aka updated), is specific for the OS or even the device format, but can use all of the wealth of the modern hardware, run in the background and might survive even with no network connections (which depends on the use case of the app). Those apps come with a cost: They are OS specific and sometimes it is hard to find the right guys developing this.

Then there is the idea to mix both and combine the strengths of both worlds. Welcome to hybrid. Some seperate the pure hybrid from a mixed hybrid (when you combine platform specific code with hybrid on top) but this is not really of importance for us here. Critics say that hybrid do not inherit the strengths but more the weaknesses. Performance problems unknown to native, limited abilities due to limitations in the frameworks (because in the end the framework supports somehow only the least common dilimiter), complexity unknown to web, the need for maintainance unknown to web.

My point here is, I simply compare it to Microsoft Access. Some of you from the older ages remember Microsoft Access as admins greatest enemy. When Access came around the corner, it was not seen as an appropriate database (hey, it ran on the client!!). So, it started by being an ok solution to store the recipients of the christmas cards of a division. But it was good enough for A LOT of tasks. It provided a simple data entry and storing mechanism, a quite decent query engine, and – most important – an easy way to print out the stuff. And, bam, nobody imagined how many processes cried for a RDBMS solution. Sure, people started to fiddle around with it, stretching the limits and sometimes overdoing it tremendously. But hey, slowly but steadly it became business critical. In a way, Access and Excel were version 0.1 of the Consumerization of IT because for the first time the users took the initiative. And – as we see it today – IT was not able to cope with it.

I see hybrid in the same position as Access that days. There are so many obviously simple tasks that would tremendiously benefit from being “mobilized”. Most of the times, simple stuff like browsing a table of data and triggering some actions. With the ability to use greater amounts of local storage, doing this in a secure container, being able to work offline for some time etc. Performance is not the real critical factor here. Neither is the 120% UI. Don’t get me wrong: Software needs to serve its users and I am by no means preaching to forget about user experience. But good user experience does not need 3D animated, wobbeling buttons. At least not everywhere.

So, stop this senseless, emotional discussion. Believe me, the world will be a better place, if we could use what we learned with Access (which was a great deal how not to do it) and do more mobile apps.

Just my 2 cents.

CU

0xff

 

Posted in B2B2X, Ecosystem | Tagged , , , | Leave a comment