Wednesday, May 28, 2008

Java Day and LWUIT

Earlier this week, on Monday, I've been to Sun's 2nd Annual Java Day here in Israel. It is a kind of a mini version of the famous JavaOne conference (which is held in San Francisco).

The conference started with keynotes from Boaz Yehuda, Sun Israel's CEO for quite a lot of years (I know him for almost 8 years now) and Vineet Gupta, Sun's Java CTO and then split to tracks including a mobile track which yours truly naturally went to (Surprise surprise)...

The highlight of the conference for me and for other technologists and developers I spoke with during the conference and afterwards was definitely LWUIT. LW what now you ask?.. Well LWUIT is Light Weight User Interface Toolkit. It is developed in Sun's development center in Israel and was announced recently at Sun's JavaOne conference about 2 weeks ago (And has been making a lot of buzz in the J2ME community since).

LWUIT solves one of the pains that J2ME developers handle with since... hmmm.. well, since J2ME existed... The thing is that the UI classes in J2ME are very basic, and moreover render differently in every device. Moreover, their implementation is bug infested, and it seems that every handset vendor has its own "interpretation" on the spec provided by Sun.

This led most if not all J2ME developers not to use J2ME's UI and instead develop their own UI over low-level classes that the platform supplies (Canvas). Now, obviously UI development is not at the business core of most companies (Aside from UI companies...), but many simply had to really dig deep and develop all sorts of proprietary UI, to supply some kind of a decent experience for their users.

According to the development team from Sun who developed it in their labs in the last couple of years, LWUIT comes to bridge between the current situation and what's to come at newer versions of MIDP (And mobile technologies in general).

The result is very impressive. I downloaded the demo app and played with it on a couple of devices and it works quite smoothly (Better on Sony Ericsson as usual...), and also took a look at the API (And part of the 115-pages developer guide...) - and it looks very comprehensive and well-thought through.

LWUIT supports a lot of cool stuff such as screen transitions (Fade, flip and even 3D cube), themes for dynamic look and feel of the UI and most importantly it features a real UI model that resembles Swing (Container-Component model) including a layout manager with several layouts, menus, tabs, animations, standard components that render nicely (buttons, checkboxes, dropdown lists etc.) and event handling. Simply put, forget everything you knew about GUI in J2ME - this is a different story...

The toolkit also includes a resource editor in which graphic designers can design the look and feel of the UI and the various themes - load backgrounds and animations, set colors and fonts to the various objects on screen and more. Now granted this is not as user friendly as Photoshop, but a tech savvy designer/HTML-ist can probably handle it.

In addition LWUIT is already integrated with NetBeans Matisse GUI builder, so you can basically build an application by dragging and dropping components (That is unless you are a real programmer of course ;)

What's the catch? Well, the footprint of LWUIT is not that small, but then again also not that big for today's devices. The PPT at the conference claimed that it can be as small as 50KB (Don't know if that includes everything). The demo app, which is basically LWUIT and classes that demo all its capabilities is 123KB (Without any resources).

It also supports MIDP 2.0 and up, so if you're planning to use MIDP 1.0 - forget it... (But you probably forgot MIDP 1.0 before LWUIT anyway...). On the porting issue, LWUIT promises to work on all MIDP-2.0 compliant devices with the same JAR, and indeed I've seen it running on a multitude of devices, but I'm sure there are weird JVMs out there just waiting to crash with it...

Anyway it looks like a good solution, and if you're not sure whether to use it in your project at least take a look at it, there's a lot to learn from the API. In terms of licensing you can integrate it even in commercial apps. However changes to LWUIT itself if you make them should be shared back to the community as it is open sourced under the GPL+CPE license (Anyway the source code is not available yet in the site - so we dodged that bullet...)

The toolkit can be downloaded from LWUIT site (There's also a video demo of the demo app). For more info you can check out Shai's Java & LWUIT Blog (Shai is on the LWUIT R&D team).

Thumbs up for Sun for making it up for us after all these years... Keep up the good work! I am looking forward to the next Java Day to see what will we see from Sun's Israeli labs this time...


P.S. - A year ago in Sun's 1st Annual Java Day in Israel, Sun's UI team guys saw our GamearraY application and were fascinated with the GUI capabilities that included animated menus and other shiny UI components, and said they haven't seen anything like it... Now I understand the full scope of this compliment.. obviously these guys saw and did things in this area...

Thursday, May 22, 2008

IVA 2008

This Monday I've been at the IVA Hi-Tech Conference. IVA is Israel Venture Association and it holds an annual event. This is the second time I'm visiting there (Last time was IVA 2007).

The event theme was "The Golden Age of Israeli Entrepreneurs" and there were high-key speakers both from the local VC industry and the global one (See the agenda here).

But as always, the main thing in these types of conferences is the networking outside the lecture hall... In fact this time I think I can count on two hand (and maybe one foot...) the total number of minutes I stayed in the lecture hall... And I wasn't the only one.. Aside from the keynotes from Tim Draper (Draper Fisher Jurvetson) and Michael Moritz (Sequoia) in which the lecture hall was quite full, most of the time the real action was out in the "networking hall"...

And that's not a bad thing, it means that all the relevant people were there, and I myself had a good time catching up with old friends and meeting some new ones. In any case, the second day, which I couldn't attend, seemed to have interesting panels, maybe it helped tipping the balance towards lecture hall attendance and less "yapping"...

Until the next IVA conference...

Thursday, May 15, 2008

MoMoTLV launch event

I'm glad to say that MoMoTLV's launch event went great - we had an attendance of around 150-160 people and everyone had a good time and we got great feedbacks.

The speakers (including myself) had a bit of a hard time overcoming the noisy bar atmosphere... but that's understandable - put a lot of Israeli mobile professionals in one room, give them free alcohol and sushi - and you know the rest...

Anyway you can find a summary post on the MoMoTLV blog, including links to some PR we got and pictures in the facebook group. Founding MoMoTLV and getting this event up was quite time consuming so now I am trying to catch up in my personal and professional life... but still I am looking forward to the next event, since the first was so much fun.

P.S. - In the picture above you can see the MoMoTLV team with the cork board we used for people to put their business cards on...

Wednesday, May 7, 2008

MoMoTLV first event on May 12!

I am pleased to announce that we will be holding the first ever official Mobile Monday event in Israel this Monday (May 12) at the Elizabeth pub in Hertzelia Pituach (Event details and registration here). This image here is the temporary logo of the Israeli chapter called MoMoTLV (Short for Mobile Monday Tel Aviv).

As I have written in the previous post about MoMoTLV, The Tel Aviv chapter of the global Mobile Monday organization (Check out the PR about us in MoMo global) was forming in the last couple of months, and since I was joined by great people who are also mobile enthusaists, and also due to the great response of the industry here (Which translated to sponsorship $$), we have managed to organize quite a big and colorful event very quickly.

So if you are involved in the mobile industry in Israel or anywhere in the world you are welcome to join us for drinks and great content and networking and participate in the event. Just make sure to pre-register in our facebook event and also join our facebook group while you're at it.

See you there!

Monday, May 5, 2008

GamearraY and me...

Today I have ended my involvement with GamearraY, the start-up company I founded 2.5 years ago. I cannot go into too much detail about the circumstances that led to this right now, but suffices to say that this was definitely the right move both for me and the company.

I am now developing a new idea and also seeking new opportunities, but I thought this might be a good time to summerize my time at GamearraY.

Starting a company from scratch was a real experience, and not as easy as it looks... It all started with an idea back in the end of 2003, that unlike other ideas that pop out from time to time, this one didn't fade and all my searches in the internet didn't show that anyone does it (unlike most ideas which are already in market by the time you think of them...)

The original idea was to develop a generic mobile game engine that can run proprietary game files. So in 2004 I sat down and started my own "garage company" in my house (BTW - I have no garage...) and started working on the engine. I wrote it in J2ME, since I was very familiar with Java (Didn't take any market considerations into account, but luckily for me J2ME turned out to be the de-facto standard in Europe and also very dominant in other regions).

After writing the engine, I needed some files to test it with. It became very elaborate and generic so simple "dummy" files didn't do it anymore. So I went out and wrote a very basic editor for the files, first for my personal use, but very soon I realized that this can be the framework in which game developers that want to work with the engine use.

The engine grew and the editor grew. and I always tried to find a way to make my editing work easier, so it took the form of an interface, not very user friendly, but geek friendly... I then realized that since I am not using any code to build the game files, but rather upload images, sounds and defining rules from combo boxes or free text fields, not only developers can use it, but the end users themselves. I wasn't really aware of the user generated content trend that was brewing up, but this made the most sense to me.

Aside from the R&D progress, I made a connection with one of Israel's biggest operators. The people who first saw the product (which was very basic at the time) were excited, but gave me a few things they would have liked to see (mainly interface issues...). I returned with the changes and started meeting after meeting. I thought everything was going fine, until I reached the actual decision maker - who didn't seem to like it...

So there I was with what I thought was a great product and no clients... Up until this point I was working as a one-man bootstrap company, funding myself through freelance projects, but at this point I decided I should get an investment. I went out and searched for a business partner so we can go as a team to investors. I found a partner (that later on when we got the investment didn't join from personal reasons) and we started "raiding" VCs. I don't think there's a VC in Israel we didn't try to get into...

The response rate from VCs was quite good and we had a lot of first meetings and sometimes second ones, but Israeli VCs unfortunetaly for us, were not that into the games/entertainment thing, most looked for a server-side platform, and this was not a surprise since VCs here are more focused on the traditional areas Israel is known for: secturity, enterprise software etc. (Things have change since, but not that much in my opinion).

At the end there were a few VCs that held extensive due-diligence with us, and the first one to take it to a term sheet was JVP Studio, an incubator that gets its funding from the Chief Scientist of Israel and JVP one of the biggest funds in Israel.

Getting funded by JVP was a major breakthrough of course, and it happened about 1.5 years after I started working on the idea, but then I realized that I am just getting started....

I started recruiting engineers and team leaders, it was not easy finding the right people but once I did I knew I had the "good guys". We started working day and night to release a demo version, which was surprisingly enough done in just 2 months, and looked 10 times better than the interface I worked with... After the demo came the alpha and after the alpha came the beta.... Now all of those fit in one sentence but it was long months of burning the midnight oil and sometimes working at weekends....

Eventually we signed an agreement with Orange Israel, another big Israeli operator. We were also given international recognition at the Orange group innovation contest at Cadiz when we became one of the top-5 finalists (out of around 80 companies), and then were also featured on the java.com site.

We went live with Orange in March 2007, more than 3 years after the original concept was thought of, and I must say you know when you start, but you don't know how it'll end up - the product was a very new and improved version of the original prototype, and the hard work that was invested on it by all team members could have been seen.

We were all very encouraged to see on the first month that a lot of users are using it - and I mean a lot. Every minute a new game was created, and downloads were also done in great numbers (I remember the development team sitting and clicking on a virtual bell saying "another satisfied customer"... the phrase from the known Seinfeld episode...)

In addition we saw several competitors rise Other companies started offering user generated games (mobile and online), but all were behind us in terms of features and market (Most were beta services, while we had a commercial deployment - granted it was in Israel which is a tiny market, but still better than nothing).

Anyway, it was a hell of a run. Currently the company is working on a different product (but still connected to the mobile and gaming spaces), and I wish them luck in the coming deployments. I had my reasons for parting ways (which I can't detail here...), and it was all done and coordinated with the investors, shareholders and management so everything was done in good terms and I believe all parties are happy with the agreement we reached (I know I am...). And so it became that last Thursday I have parted with the great team I've enjoyed working with, and left the company.

So, what now? Well, first I will continue to lead Mobile Monday Tel Aviv which I recently founded. I believe it is a great platform which is currently missing in Israel's mobile scene, and as one of the industry players I felt I should pick that glove up and make it happen.

In addition I intend to spend some time in consulting projects in the fields I am most known for, and eventually bring another venture to life (I already started drafting some stuff on the drawing board a day after I left...), and of course still posting from time to time in this blog...