Everybody is going to want to have this

February 29th, 2012

When we first came up with the concept of a product that ended up being Eqela, I remember saying something that came back to me yesterday. I distinctly remember the setting, as we were crossing Acacia Avenue near our Philippine office inside the car, I remember explaining the concept, how it works, and how we would present it to people. Then I said: “When we’re done .. Everybody is going to want to have this”. Not just because it’s cool. But because it’s really useful! We are application developers ourselves, and we conceptualized a product that would really help us. I figured that others would appreciate it too.

Yesterday on the floor of the Mobile World Congress (in the Job and Esther Technologies booth, 2.1C49), I was observing the reports and reactions of my team, when I remembered what I had said. One of the people in our team was already literally jumping up and down, saying “there’s so much .. there’s so much”. Seemed like everybody was going to want to have this.

I hope that we will get to be of help to many software developers. If you yourself are involved in software development, I continue to invite you to check it out: www.eqela.com. Chances are that you might want to have this. If not, please let us know so that we can try to address whatever it is that is holding you back. We are by no means done with all the things that we are going to do with this; we are just getting started. We would be super happy to hear also of ways that we can improve to provide a better service to developers.

Share this:

Developing in Eqela instead of C/C++

February 12th, 2012

Now that Eqela is out and available, I will most probably keep posting a lot of things related to that for a while. In line with that thought, here’s the first one:

Eqela is a really good way to do things that previously required developing using the C (or C++) language.

Now I don’t have anything against C/C++. Quite the opposite. Up to this day, anyone who starts working at Job and Esther Technologies is required to go through a training stint using C (everyone in the team, past and present, can testify to this). For some this is a very painful exercise; for others it’s less painful (but often still somewhat painful). But it is needed because C is very central to computing in general.

But somehow C/C++ development is just painful. Not just for those who are not experts; even with extensive experience in C/C++, it is not the most productive environment to work in. From my own days working as a C++ programmer, I remember spending enormous amounts of time doing technicalities, having found a routine way of writing my class templates and handling memory allocation/deallocation/etc. Not having found such a routine just means that you may have a hard time managing memory, and that’s just the doorway to mysterious crashes, memory corruption, etc. Difficult things to master, requires quite of bit of expertise, and at the end of the day, you still won’t be as productive as you could be. And from the employer perspective, these are skills that are both hard to find and hard to develop. And once found and/or developed, tricky to maintain (right, employers?).

That’s why many have found a happy place with Java. Some have found it with scripting languages like PHP, Python, etc. But while developers may find themselves productive with these languages, it is understood that the developer productivity comes at the expense of computer productivity. Code is faster to write; but it does not execute as fast. Or it uses more memory to do the same thing. Less typing and less thinking for the programmer; but much more work for the computer. The tradeoff is fairly well accepted and understood. C/C++ is considered for programs that need “maximum performance”, and scripting/interpreted languages for things that are not as “performance critical”. Or the problem is solved by using an interpreted language and putting in more memory or by adding more servers (in the case of server side applications, obviously).

Eqela, now, fits on both sides of this standoff. It delivers the speed and performance of C (since, in fact, an Eqela program IS a C program as well, through the compilation process), but the language syntax is dynamic and fast to type. We always say it is very “Java-like”, but in fact it is much faster to type than Java. From my days as a Java programmer, I remember typing enormous amounts of English. By convention, all names of variables and classes are long and tedious to type, not to mention all of “extends”, “implements”, “instanceof”, etc. Everything is so verbose in Java; and the programmer ends up typing so much. With Eqela, just the fact that one can use the “var” keyword instead of typing the full variable names at all times, most probably will save a lot of man years of programmer time. But that is not the only typing saver we have tried to put in there.

And as is also cool with Eqela programs, there is no loss of flexibility. One can always write C code if one wants to do something very C specific. Consider this class, written in Eqela:

class TCPSocket {
    int create() {
        int v = 0;
        embed "c" {{{
            v = socket(AF_INIT, SOCK_STREAM, 0);
        }}}
        return(v);
    }
}

Line 5 there is obviously pure C code, and can be anything you would want it to be (obviously as many lines and as much complexity as is needed). If you want to go really out there, you can even do this to achieve roughly the same thing:

class TCPSocket {
    int create() {
        int v = 0;
        embed "c" {{{
            __asm__("sub $12,%%esp\n"
                "movl $2,(%%esp)\n"
                "movl $1,4(%%esp)\n"
                "movl $0,8(%%esp)\n"
                "movl $102,%%eax\n"
                "movl $1,%%ebx\n"
                "movl %%esp,%%ecx\n"
                "int $0x80\n"
                "add $12,%%esp\n"
                : "=a" (s)
            );
        }}}
        return(v);
    }
}

Obviously by going C code, you introduce a dependency on the C language (to compile the same Eqela program to Java, you would need to provide a matching embed “java” block); and by introducing x86 assembly, you introduce a dependency on Intel compatible processors. But the choice and the power is given to the programmer to do the things that are necessary; unlike with many alternative languages, where you more or less have to go with what you’ve been given.

Of course someone in the audience will say that in Java you can achieve this with JNI. Sure. But it will take massive amounts of programming, build systems, glue code and effort, and will continue to take all those things as you continue to maintain the program. Just look at the above samples. Is that straightforward or what?

So there’s one thing that I find cool about Eqela (there are still many more). I hope some of you out there will appreciate it. For applications purely in this domain of programming, the Eqela/Sys product is a good fit. It is available and ready, and can be availed through the Eqela website today. I hope that it would be found useful and that it would help more organizations achieve great things faster. If you do find yourself intrigued, do sign up on the site (it doesn’t cost anything and requires no commitments) and find out more. You can always let us know how we could help.

Share this:

The next big thing is Eqela

February 9th, 2012

Here we have now a new programming language, development platform API and generally a new way to approach software development. It is called Eqela.

Having been working on software development for all kinds of sub-industries (mobile, web, desktop, server, network, telco, etc.) for a long time, Eqela reflects the things that I always wanted to have, but didn’t have. A way of developing GUI apps for mobile and desktop from a single codebase (and without using any scripting languages or virtual machines or other trickery). A way to develop server backends for web apps without spending massive amounts of processing power on database access and maintenance, scripting, interfaces and inter-process communication. A way to develop low-level system software without painfully re-inventing and coding a whole framework for each app.

Eqela is a language that can be any language. Need to run an app in a Java VM? Compile it to Java. Need to run it in a browser? Compile it to Javascript. Need to run it directly on hardware without any operating system at all? Compile it to C and assembly. The Eqela compiler does this. And quite a bit more. And it’s not an academic exercise. It’s meant to accomplish actual work. In the first place, we started it all so that we could develop Igelle. (well, it grew bigger from there)

Eqela will be in Mobile World Congress in Barcelona later this month. If you can’t make it there though, Eqela is always available in its home at www.eqela.com. Yes, the website itself is fully developed in Eqela, running on an Igelle runtime environment. There’s no Apache, no lighttpd, no PHP, no Ruby, no MySQL, none of those things. The site runs in a single process, uses 5MB of RAM, was written in a convenient dynamic language, has been compiled to machine code binary executable, and does not require any configuring to install (just copy over and execute). The framework has a builtin database engine for data persistence, and can be scaled in a network as necessary. It’s all very cool to work with.

We at Job and Esther Technologies are of course super excited. If you have any involvement in software development, regardless of what kind, you should register on www.eqela.com and check it out. The site should direct you to all the good things. But for further queries, you should also talk to us. We hope that we will be able to deliver tools that will truly help make life easier for many developers.

Share this:

Job and Esther Technologies won the Red Herring Global award

December 22nd, 2011

Probably as one of the last really cool things for the year 2011, our company Job and Esther Technologies was awarded as a winner in the Red Herring Global Top 100 competition earlier this month. Red Herring claims a good track record of spotting the best upcoming great companies, having successfully spotted Google, Facebook, Skype and the likes in the past, before they became big and well-known. While having won the award obviously is no certain sign of great success, it is nevertheless a great honor to be recognized in this manner.

I would thus hereby want to thank the organizers at Red Herring for their kindness and hospitality; the event in Los Angeles was well handled and enjoyable. And congratulations for all the winners and participants alike; I made good new friends in the event itself. More power to all of us in doing great things, impacting culture and humanity with the works of our hands.

Share this:

The decision to give up

October 18th, 2011

This morning I read a review of the new Nokia N9 phone. The author seems very impressed, using radical statements like this:

“It is easily the best looking device on the market today ..”

(specifically, thus, better looking than the iPhone 4S)

Generally this seems to be a common sentiment with the N9 as long as they approach the product itself and not the company behind it (and specifically the decisions of their management); it seems that the product is felt to be really really good, at least as far as the end-users are concerned.

As we all know by know, this is sort of ironic, since Nokia decidedly killed the software platform they used to build this phone. When asked about making that decision, they have mentioned in the interviews things like the “oh-s-t moments” when they realized where they were, which apparently they felt was way far away from where they should have been. Now I know that there are a whole lot of things that are involved in their minds and that I certainly don’t know much at all about what had contributed to their decisions; still, hearing the reviews of the N9 really would prompt to wonder if they REALLY were that far away, and/or was this not workable somehow?

Be that as it may, I found it all to be very strange at the time, and I still do; even more so now after reading the reviews, since all positive reviews of N9 end with something like “It is a spectacular phone, but I wouldn’t recommend buying it”, and that more or less comes down to the fact that the manufacturer has killed the product before it was launched. It’s kind of a shame.

Now they have their new plans and they may well sell some Windows phones later on. And the people that lost their jobs are surely competent and will most hopefully find new jobs and/or start new companies, which may well in aggregate turn out to be good for the country in the long run.

But here’s what worries me in what happened:

Before the decision was announced, effectively killing Nokia’s in-house operating system development, there was a period of agony and painful discussion that seemed to come out from inside and around the company. In the end, the consensus sentiment was that we (collectively, as Europeans and/or as Finns) cannot possibly do this. It was felt that developing a mobile operating system / software platform was just too much to handle. The sentiment was that the “mobile center of gravity had moved to the US“, apparently followed by the feeling that there is nothing we can do about it, leading to a decision to stop trying.

That really worries me.

It’s like an 8-year-old schoolboy who, doing his math homework (that is super easy for him), just stops working and does nothing, because he has decided that it is just too hard. If left by himself he just may fall asleep and never finish the work. But if you just give him a little question to push him to try, just even a little bit; all of a sudden the assignment is complete. But if he decides that he cannot do it, he will never be able to do it!

I came across the same sentiment in the Philippines when a venture capital investor (who had invested in a promising new startup) went for a trip to Silicon Valley, then came back home and told the management of the company that he had invested in that “there is no way we can compete with the guys from Silicon Valley”, and decided to quickly pull out his investment and kill the promising startup (which was well on its way to develop a super substantial product).

What’s the similarity between these three (Nokia, the schoolboy and the investor)? It is the DECISION TO GIVE UP. And stop trying.

Having seen the N9 now, for me, proves wrong what I already knew was wrong. Although Nokia’s software efforts were far from perfect, at least they were putting in the effort necessary to at least MAKE IT POSSIBLE to succeed. If you don’t do your homework, there is no way you can expect to have a good grade! If you kill the startup you have already invested in, it will surely not be able to compete.

These examples are of course just isolated, but I think I can see something consistent in the attitude. Perhaps there are yet more similar cases out there? If so, we better stand up for ourselves already. Yes, WE CAN compete against the guys in Silicon Valley. Really. It is possible. We just need some self-confidence. And some courage. And old-fashioned hard work.

If you don’t believe me, just read some N9 reviews. Just ignore the fact that Nokia decided to concede it.

Share this:

Play nicely please

September 30th, 2011

We have a restless situation going on in the computing industry. As it comes to software development platforms and operating systems, the status quo has been compromised. Things are moving fast, and numerous developers and companies are scrambling for their piece of the action.

This is great. “Finally”, many would say, and rightfully so.

For so many years, the computing world was stuck using a single vendor’s products, and as far as the industry as a whole is concerned, this was not a good thing (although it did allow for a measure of “standardization”, but at the expense of allowing complete dominance to be held by a single company). Thanks to the ongoing mobile revolution, things have changed and platform variety again has become a reality; the once dominant single vendor is now struggling to get any market share at all in this brave new world. (you all know which vendor I’m talking about, right?)

But what did we learn?

The CEO of that company once made a statement that became well known: “developers, developers, developers”. I think that we all got it. We learned it. And we have gone off to apply it. And it makes sense; for a software environment to have any value, there needs to be developers. That is where it all starts to be useful and interesting.

But something else was also learned (unfortunately, I might say): The strategy of platform lock-in. Whereas the monopoly on desktop computing was created through “developers, developers, developers”, all developing for the single desktop operating system platform, making everyone unable to use anything else at all, there are companies now that are attempting to establish a monopoly on mobile computing using an exact replica of the same formula. There’s nothing really new or innovative in what is happening: Make an operating system, convince great masses to develop for it and to invest all their systems and their expertise on it, and ultimately try to make it so that they can never use anything else. Prevent competitors from competing, establish barriers to entry, enjoy your long-standing competitive advantage.

This was done before, and it seems to be happening again. Nothing new here. Attempt to achieve dominance and monopoly through developer lock-in. This will be good for the company that owns the dominant system, but will greatly hinder the opportunities to innovate for everybody else.

I think what we SHOULD have learned is that having a dominating platform controlled by a single vendor is not a good thing, and that such a thing should not be allowed to take place. Even more than that, it should not need to be attempted, even. Why would it not be OK for different companies and products to co-exist and interoperate? Why on earth is it necessary to try to kill everyone else off and have it all to oneself? Surely this is not the only way to generate value?

The race in the mobile world is still wide open. Up to now, different platforms are emerging and others are disappearing. So we still have the opportunity to vote with our feet (or, I suppose, as the case is about developers, with our fingers). As an industry, we should ensure that we do not let a single vendor dictate to us the terms by which we do business. To have a marketplace that is vibrant and competitive, we need a world where multiple competing software development platforms and operating systems can co-exist and interoperate. They need to be able to exchange data, communicate, and share applications with one another.

The technical solutions to do that are one thing (at Job and Esther Technologies, we also do that). But as people in the industry, we should actually want for that to happen. We should have the will. And then we should put our actions and efforts to support that will.

Share this:

HP follows our footsteps

April 1st, 2011

Since early 2010, the Job and Esther Technologies team has been going around spreading our vision of a single operating system enabling all classes of devices, bringing interoperability between all kinds of computers and computer-like gadgets. In exhibitions that we attended in early 2010, we got all the encouraging responses of “how is this possible?”, “I don’t believe it”, and “why have I not heard of this before”. This morning, as I was reading the news, I was refreshed to notice that as big a company as HP has adopted a vision that seems to be following in the same direction that we have been charting. As published on linuxdevices.com, the HP CEO Leo Apotheker was quoted as putting forward the following strategy for HP devices:

“We will be putting our WebOS on every PC we ship in the next year, as well as on our printers,” Apotheker told Perkins and the AlwaysOn audience. “We see it as a legitimate alternative because it runs devices across the spectrum — PCs, tablets, smartphones, printers, everything — and runs them well.” This offers a big advantage for software developers, Apotheker said, because they can develop applications for any HP device using the same WebOS toolkit and platform. Touting the ease of use of the WebOS 3.0 SDK, he said that the Angry Birds game was ported to the operating system in only two days. (as quoted from linuxdevices.com)

I definitely agree that using the same operating system on devices across the spectrum is a tremendous benefit to users, and that this indeed offers a massive advantage for software developers since they can now develop applications for any device using the same tools and platform. This is precisely what we’ve been saying at Job and Esther Technologies, and I’m happy to receive such vision-validation from a large and known company such as HP. In our case with Igelle, this comes with one small but notable difference in scope: We want to enable our customers to run their applications on any device indeed; not just on “any HP device”. The real goal should still be in offering the best possible flexibility to the users, not just to ramp up hardware sales.

I also don’t fully appreciate the comment made about the porting of Angry Birds. I would imagine that the fast porting time had much to do with the fact that the game was already written for another GNU/Linux based platform (Nokia’s Maemo/Meego), and since WebOS at its core is essentially made out of the same open source software as Maemo/Meego is, more or less the porting should be quick, if it should be called porting at all. Unless they truly re-wrote Angry Birds in Javascript, but somehow I didn’t get that impression here.

In any case, the world of interoperable devices is truly happening just like we knew it would. And this world can’t be made of single-vendor hardware solutions, as it will touch people’s lives in very broad and profound ways. Regardless, HP as a company does deserve a good amount of respect for their bravery to step out and move into the new world, especially where they risk the chance of angering a long-standing gigantic operating system partner.

And I do have to say that I also agree with Apotheker’s closing comment: “Big doesn’t always move the needle. Smart moves the needle.” This is what I have always been telling our team: Great innovations are made by small groups of brilliant people.

Share this:

The marriage of machines

March 24th, 2011

Yesterday I read a blog post of Fabrizio Capobianco where he stated that your tablet will never be a laptop. While I sincerely do agree with this, and since it is of course very clearly true (tablet is not a laptop, obviously), I think there should still be more to this topic than meets the eye.

Let us try to be more forward-looking than just looking at the form factor and to state that this is the way things are and are meant to be (as was once also stated by Winnie the Pooh, one of the wisest bears to ever exist).

I don’t think that a tablet computer will turn into a laptop any more than a laptop will turn into a tablet or a man will turn into a woman, but these things will become one nevertheless. It’s more like they will combine and they will become something completely new (amazingly, this seems perfectly analogous to a man and a woman becoming one).

With the marriage of different kinds of devices, they become something greater than they were when they were just single machines. Only with computing devices, unlike with humans, polygamy is very much OK, allowing us to bring together a laptop, desktop, mobile phones, tablets and whatever. Together, when they become one, they will become something more than what they were before.

Getting married goes somewhere much beyond synchronization. Synchronizing data between devices is something more like dating; you meet every now and then and update each other on what you’ve been up to, but at the end of the day you go your separate ways and have your own, individual lives apart from each other. True integration of computing devices brings a stronger connection, allowing one to extend your “computer” to any device that you can use, thereby allowing a seamless experience with “your computer” wherever you are and whatever you might be holding at any given time.

To put all this into a short statement, lately with the Igelle team we’ve started saying this:

“The world is your computer”

(Semi-consciously also elevating the old slogan of Sun Microsystems to a whole new modern level)

I think in this case Winnie the Pooh’s comment was not applicable: Things may be a certain way now, but they should (and they can) be something so much more.

Share this:

The Igelle Global Launch

February 10th, 2011

Last January 27, 2011, was a big day for the Igelle team of Job and Esther Technologies. This was the day of the Global Launch of the Igelle operating system, and was conducted as a formal dinner event in the prestigious Shangri-La hotel in Makati, Philippines. This was an event well attended by an assortment of people that will surely stand to benefit greatly from the cross-device software promise that Igelle delivers.

In anticipation for the event we had placed countdown timers on our three Igelle sub-websites www.igelledash.com, www.igellepulse.com and www.igellespark.com. These were very good-looking, big timers, and it was actually only after the event took place (and when we had taken the timers out since they had elapsed) that we fully realized that there were actually a lot of people looking at the countdown timers.

This was a very cool thing to find out.

Then again, understandably, since many of these people did not attend the event, they may have not really understood what happened.

Much information from the event will continue to appear on the sites, making the event and the launch understood by everyone, but out of respect for those who were present, they have first been given initial priority in this regard. In any case, however, it will be good for all of us to understand what was launched and what was not.

And to be perfectly clear, what was launched is not an open source software project, nor is it a Linux distribution. It is not something that will be downloadable for free from the site; sorry folks if any of these were in your expectations. But it is something that is unique and different, and that has potential to change the way we use our devices and computers. And it is something that will be introduced to the general public through commercial partnerships and announcements.

As these things progress further, we will also be able to announce more things that will be of interest to everyone, regular end-users included; developers tools and APIs will also be coming. In the meantime, I hope everyone will continue to visit and monitor our sites despite the lack of the fancy countdown timers (these will be replaced with ever fancier content anyways, so not to worry).

The audio-visual presentation from the event is also absolutely stunning.

Share this:

Was open source a bad idea for Nokia?

October 6th, 2010

I am Finnish, and I am professionally involved in the mobile software industry. That gives me a doubled interest in following the recent activities surrounding Nokia’s top management. As the latest development, as was announced yesterday, Mr. Ari Jaaksi has now resigned from Nokia (the original news in Finnish). In my outsider perspective and perception, I always identified Jaaksi with Maemo (turned Meego) and all other Nokia’s open source activities. He was always the open source speaker in conferences and the prominent visible open source person coming out of Nokia.

Again, I have no insider information whatsoever on what’s going on there (I have never even worked for or been connected with Nokia, a weird anomaly given that I am Finnish and been involved in the mobile IT industry for a long time), so my speculation of course has no credibility at all, but luckily having a blog allows me to voice out my speculations in any case. That being said, I DO wonder how their software development strategies will be transformed, given that the very person who seemingly advocated all the open sourcing of their software products (Ari Jaaksi) has now left, and the bosses in charge while this took place (OPK, Vanjoki, Ollila, let’s wait and see if there’s more), have been leaving as well.

The people around me that have been listening to my opinions before would know that I’ve been absolutely lost trying to figure out as to why in the world did Nokia in its right mind gave away all its software voluntarily while stressing and fully acknowledging that software is of increasing importance to them and the industry (I remember such things being said by their leaders, just don’t remember any URL for reference, please feel free to remind me in case you have one). Not only was everything open sourced (Symbian and Maemo, among other things), they’ve also seen it necessary to give control of the development to the community via “robust governance structures” (as I understood from some press statement that was made). In my very humble and subjective opinion, I find it that for a corporation this has been very odd behaviour (unless they figured that software development and control of it provides little or no significance to their business, which doesn’t seem to have been the case).

Nothing new there of course, since I do have a feeling (based on what I’ve been reading in the blogosphere) that many people out there agree that indeed Nokia has slipped into this “very odd behaviour” in the recent past. The reaction to this then probably being their executive renewal that is currently taking place.

What I do wish to speculate is whether all this carries with it a hint of admission that giving away all of the software (and by saying that I mean “open sourcing” it, and I understand that strictly speaking those two are not exactly the same thing) and the control of developing it, may have indeed been a bad idea. Perhaps Mr. Jaaksi, as an open source advocate, would not wish to continue in a “new Nokia” that was less open source oriented?

And at this point, just to provide the necessary background and my stand on open source software in general, in the past I have been notorious for being an open source advocate around the people that I’ve dealt with (those who know me from my past can surely attest to this). We were the first ones to introduce Ubuntu to the Philippine corporate scene when it came out (in 2004, was it?). I personally went around company to company encouraging them to switch to all open source software, using Ubuntu and all the other products ranging from Jasper Reports to Sugar CRM to whatever, as long as it was open source. The employee manual I drafted for my company then actually stated that “As a general rule, we must always use free and open source software to perform our computing needs”, followed by “.. even more so in client projects”.

Following that thought, to this day I also continue to subscribe to a number of blogs that are open source oriented such as “The Open Road” by Matt Asay, “Linux and Open Source” by Dana Blankenhorn and Paula Rooney and “Mobile Open Source” by Fabrizio Capobianco. There are probably others in my subscription list that have just quieted down so much that I don’t remember them anymore. Somehow it really feels that the noise on this front has started to calm down. I have read in various other news and am also fully aware that it is no secret that venture capital spending on open source focused businesses has more or less ended.

So to get back to what I was really writing about, I do wonder if Nokia’s resignation frenzy carries with it the undertones of Nokia also joining what seems to be a general trend of these current times that is not as open source oriented as the trend before used to be.

In Nokia’s case, if that really was the case, wouldn’t that really mean that their open source strategy was just a really bad idea? During their full blast open source era, the company just descended into troubles. Is it (or should it be) a part of their corporate rescue package to now turn the ship around and go less open with the source and development governance?

In closing, since given this opportunity, I do wish the best of success for Nokia’s transformation efforts and the new executives (some of which are probably still to be hired), remembering also that the economy of my country and the welfare of numerous people actually depend on it and its success. This is a great responsibility indeed, and it should be interesting to observe as the story continues to unfold.

Share this: