Saturday, December 20, 2008

Users


One might claim that users can be a real pain - they have requests, find bugs and cause you deal with boring maintenance tasks rather than developing the next version. It is probably true, but…

"If a tree falls in a forest and no one is around to hear it, does it make a sound?"

So – “If a product was developed and no one uses it, does it exist?”

Following the previous post (coding is fun), I believe it is much more fun when real users use what you coded (and of course like it).
A few days ago I found out that my ‘first Facebook application’ was downloaded and used by ~100 people. It was a very pleasant surprise.

This is one of the advantages when targeting end-users and not huge companies (consumer vs. enterprise) – the cycles are very short and you can have your product being used by users very fast.

Leveraging this advantage, we are going to ship in a few weeks our first Android application.
To double the fun, the idea of the application is based on my other hobby – running. More details to follow…

Happy Hanukkah, Mary Christmas and Happy New Year!

Tuesday, November 25, 2008

Coding is Fun


At SAP I spent the last few years mainly at meetings, writing PowerPoint and Word documents, attending conf-calls and… meetings, meetings, meetings… actually doing whatever was needed for managing a large team. As far as I can remember, I enjoyed it.

Now, working in a bootstrap mode, I got back to write code. PowerPoint was replaced by Eclipse and Visual Studio. I really forgot how fun it is.
Being a developer is quite cool.
I was afraid that I’m rusty and not up to date with all new technologies but it seems that my experience pays off.
At the beginning it looks like software development became simple: google->copy->paste->refactor->compile->deploy->eat pizza (actually not sure about the last part). However, still, for development of high scale programs, software engineering skills and unavoidable.

To make it more interesting, I’m developing using several technologies
Device- Google Android OS (Apps are written in Java and run on a custom VM which runs on top of a Linux kernel)
Web Service - .Net – (to be replaced with a ‘cloud technology’)
Web client – Flex (to achieve rich client experience)

I should dedicated a post for the android SDK + Emulator (Google did a good job), but in the meantime I found myself awake at very late hours debugging my code.
Did I already say that coding is fun :-)

P.S. I found this picture lately. Given the current economic situation, it's not so funny.

Friday, October 24, 2008

Join the Club


The power of children is amazing. They have a built-in convincing power. If they want something they will get it.
The fact that children do not have credit card does not prevent them from spending money. This is why they have parents…
Club Penguin is an online game for children, virtual penguins in a virtual world. You can earn some coins by playing some games and spend it by buying stuff for yourself. You can chat with other penguins and do harmless regular social network things. The registration is free and gives you a taste of what could be the done.
But, and there is a big but, you need to be a member for being able to get the fun stuff. The membership costs ‘only’ $5.95 per month.
Now, do you think that a child that his/her friends are members will not convince his/her parents to pay for it? If your answer was ‘no’ you better think again.
I don’t know the exact numbers but I believe that Disney (who bought it 2 years ago for $350M) is having many paying users. It seems Club Penguin found the formula.
I’m relatively new to the club. My daughter convinced me a week ago to pay for membership. So they managed to caught her but will she insist on paying for the second month or will she get bored of it? I know the answer for that – after one month you can be promoted to a spy (never mind what it means) so the second month is guaranteed. What about the month after?

Saturday, October 11, 2008

The Good/Evil Empire (take your pick)


When Google released Google Chrome I decided to use it. Dont know why but I liked it. Not only that I use it I also use the dev release. Is it better than IE, Firefox or any other browser out there? Don’t know, but it works well for me. I don’t intend to give a review of Chrome but to point out an interesting observation - Chrome has a feature that shows the 9 most used sites when you open a new tab. I don’t know how its algorithm works but while looking the other day on my top 9 sites, I found the following sites:
1. Google search (of course)
2. Google Reader
3. Google Calendar
4. Google Blogger
5. Facebook (how did it mange to slip in…)
6. Google Groups
7. Google Analytics
8. Google Docs
9. Google Trends

What does it mean?
I’m either a Google addict or Google push their sites to the list. I can believe both… I use at least 5 more Google services/sites which are not on the list.
Gmail was not on the list maybe because I never close it and I have it in my tray as well.

No doubt about it, Google dominates. Is it a good or evil empire? Up to you to decide.

P.S. In the spirit of these days, must be said that empire or not, GOOG got bitten badly this year

Thursday, September 25, 2008

Happy New Year – Shana Tova



The year ends and another one begins…

In the last years it was a kind of tradition that I give the holidays’ speech to my team, summarizing our achievements and setting the bar for the next year to come. From year to year the team got bigger, same as the achievements and dreams for the next year. It was a good opportunity to stop the ongoing madness and to appreciate what we have. And each year I felt lucky for being able to do so.
This year I decided to keep the tradition with one change – this time you are the audience of my ‘speech’.

Keeping it short (no one likes to read long posts…), in the last year I made a huge change in my career which dramatically impacts my life – I’ve decided to follow my dreams and be an entrepreneur. It was not a one day decision but a process, in which together with the support of my wife I took the jump into a new world. For me it’s definitely only the beginning of a journey. My life really changed and one of the best things that happened is that without noticing I managed to spend much more time with the kids and enjoy most of it (after all, 3 kids can be annoying :-)).

What do I wish for next year?
In one sentence - Keep fulfilling my dreams, while focusing on the big stones and avoid distraction by the small ones.

So, have a great new year, spend your time wisely, be with your beloved, explore, dare, rest, enjoy and follow your heart.

And do not forget -“Yesterday is history, tomorrow is a mystery, but today is a gift. That is why it is called the present”

Friday, September 12, 2008

Eureka!


About 6 months ago when I’ve decided to change the nature of my career and be part of building something new, I did not imagine that my exploration would end by taking my wish to the extreme.

After great couple of months of exploration I’ve found a great partner for the journey – together with Benzi Ronen we co-founded something special.  Benzi and I know each other for many years while working at SAP and I fully trust him and his abilities to know that this partnership would be a huge success.

Indeed it’s only the beginning and we still have a very long way to go, however I'm optimisitc. As it says – ‘think positive and positive things would happen!’

If you are curious about what we are going to do, it’s something to do with the internet J stay tuned.

Saturday, August 30, 2008

Cool way to view your photos


It’s a very enjoyable summer. I’ve never had so much quality time with my kids :-) In addition, I’m checking a very interesting initiative, so my time is well spent.

During my research I saw a nice service/program – photosynth - I saw a cool demo of it some time ago and now it’s available for usage by everyone.

To understand what it does, it’s better to check it in action. Check this solar system model. My daughter, Maya, created it at a science camp, pictured it from all angles and created the photosynth model. Yep, I’m a proud father!

BTW, this time this technology does not belong to Google but to Microsoft…

Monday, August 4, 2008

Flexible Scalability - Part I

[After a few not so technological posts, getting back to tech…]
When planning a (web) application, everyone fantasize on the tons of users that would use this ‘amazing app’. It’s great to dream but what happens if the dream comes true :-) Assuming the architecture is scalable and was designed for large amount of users, you would still need the computing power for that (CPU, memory, DB, network…). And what happens until you reach millions of users and ‘just’ have dozens of thousands of users – how can you stretch your infrastructure to support it?
For that you need flexible scalability… I gave a try to two leading solutions:
Google App Engine – “Enables you to build web applications on the same scalable systems that power Google applications”
Amazon Elastic Compute Cloud (EC2) “A web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers.”

My intermediate impression after working with both solutions for a short time is:

Google App Engine is relatively simple to use. You just need to have Google account and after a short registration you have your engine setup and free for usage until you reach ~5 million monthly page views (did not manage to test that…). It contains an ‘offline’ SDK that allows you to develop and test the application locally and then to upload it to their environment which makes it easy. The main drawback (for me) is that it is designed for running web applications using a specific engine based on the Python programming language which requires learning a bit but by using the tutorial it is still easy to use.

Amazon EC2 is actually part of a bunch of web services that allow using Amazon scalable platform for building apps by consuming processing power, storage, etc’. It’s not free and you pay for the usage (CPU time, storage, network traffic and some other parameters).Basically it allows to choose a machine image with relevant applications and to run number of instances based on the need. However although it allows using variety of machine images, containing different types of applications, it is not completely straightforward (flexibility has its cost). As it’s not free - I had to pay for my tests - up till now only 50 cents, but on the other hand, I managed only to run an existing image and even did not manage to get a proper web page shown.

Hope next time I will have more impressive results…


Sunday, July 27, 2008

Confront Your Fears


It's been 4 weeks since I started my vacation and almost 4 months since I've decided to leave SAP and I still do not have anything concrete yet for my 'second career' - For all the non-believers, I'm ready to collect the bets :-) Don't get me wrong, I have no complaints and I enjoy this unique period of time.

It’s a very interesting situation and my days now seem much, much different than a few months back (more details in another post). The days are different not only in the location (beach vs. office) the people I spend time with (my kids instead of managers), my clothes (shorts instead of buttoned shirts) but mostly in the level of uncertainty.
At SAP I dealt with uncertainty on a daily basis but it's incomparable to what I have now - my career related activities are less predictable.

I'm checking now some promising but with high risk options and although at this situation there are ups and downs, it gives me a lot of fresh energy. On the other hands it requires me to confront some basic fears. As I believe that fears are great source for energy, I'm ready to confront them…
Talking about fears, I have a small fear of heights (nothing serious), which I tried to confront by climbing a 10 meters wall. Another thing I learned is that technology cannot help you when you need to leave you hand and try reaching a higher anchor. It’s you and only you…


And, as Michael Scofield said “Just have a little faith:-)

Wednesday, July 16, 2008

Bugs...


Background:
One of the goals I set to myself lately is to improve my physical fitness by improve my ability to run long distance in good pace. As a gadgets lover, first thing was to buy the right equipment – Nike + iPod. I’m embarrassed to admit that I did not have an iPod until lately so it was a good opportunity to close the gap. The chip in the shoe and the iPod are cool accessories to track running distance and pace (relatively accurately). Nike has (of course) a web-site that allows syncing runs, define goals, track records… (check my runs)

Why am I telling all of that?
A few weeks ago I ran a nice 8K run (in record time) to find out that during my sync the run data got lost somewhere in the cyberspace… The amount of sweat I put into this run did not allow me to let it go so quickly. Looking in several forums I found that it’s a known bug that happens rarely and that there is no official way to re-sync the lost run. Note that whenever there is no ‘official’ solution there must be an ‘unofficial’ one. And indeed there is a ‘simple’ solution:
1. Connect the iPod the PC as a disk drive
2. Find the ‘synced’ folder
3. Copy the relevant run (in an XML format) to the ‘unsynced ‘folder
4. Sync again and magically the lost run appears

This is only one example of a software bug that appears in ‘normal' device. It happens with our phones, DVD players, PlayStation/Xbox and other devices.

Conclusion:
· Software is never perfect and has bugs
· Software is an integral part of our life
=> we would suffer from annoying bugs in many activities we take

Sunday, July 6, 2008

Do it yourself


The first week of vacation is over and it was great… What should I do with all the spare time I have now (at least theoretically)? So I prepared a ToDo list of the things I wanted to do but did not have the time to.
One of these things is to build a small cabinet/table for my bedroom. Being an ‘old-school’ guy I took a paper a pencil in order to draw the sketch. Wrong! So not cool! Did they invent the computer for nothing?!

OK. But I do not want to have a building engineering degree and do not want to spend days on days learning a complex CAD program. Surprise… Google… I found a relatively powerful but very simple program by Google that allows drawing 3D models called SketchUp (check how a sketch of a chair is created).

After understanding the principles it took me minutes to design my desirable cabinet.


Unfortunately, I still do not have the 3D printer so I would need to build it the old way (wood, nails, hammer…). Somehow I assume it will not be as nice as it shows on the PC but I will not lose my faith. If worst comes to worst I have planty of other things on my list...

Friday, June 27, 2008

Farewell – Leaving SAP - Personal Post



More than 10 years ago I joined a small start-up company, called TopTier, which was acquired by SAP a few years later. In fact, I joined TopTier right after graduating from the university and since then I did not leave the company. But now it’s going to be changed as I’m leaving SAP…

In these 10 years I experienced so many things, met fascinating people and faced tons of challenges. Basically, all stages in my career were very interesting and meaningful for me. If you are really interested you can check the details on LinkedIn but here I would prefer to tell a few things about myself and about what I learned that you cannot read in any CV.

There are people who wake up in the morning, go to work and get back home in the evening (or at night). There are other people who do not distinguish between work and home (besides the physical separation) and for them the borders are very blurred – they are always at work and feel like they are at home. I belong to the second group and I do not regret that for a sec. SAP (and of course my family) gave me the opportunity to excel in that.

It’s not simple to summarize what I achieved and learned along these years but if I could share with you only 5 insights/tips I took from these years at SAP, these will be:
· Don’t look for shortcuts – “The dictionary is the only place that success comes before work” – there is no substitute to hard work
· Be open to new things - No matter how experienced (or clever) you are, you are (and always be) a student who can and should learn from everyone – therefore always, listen, be open to other opinions, learn and challenge your ‘truth’
· Make a difference - Independently of your role or seniority, your ability to influence is huge, therefore do your best to impact according to your believes
· Keep your own integrity - Always be faithful to yourself as at the end of the day, you need to ‘report’ back mainly to yourself
· It’s all about the people - Organizations might seem they are based on rules and policies but in the end they are based on people – no matter if it’s your boss, your boss’ boss or someone reporting to you, treat everyone as human being

And one bonus tip – don’t forget what is really important in life (for me, as you can guess, is my family)

At SAP there were ups and downs but I had it all, I learned tons of things, influenced up, down and sideways, was able to keep personal integrity aligned with the company’s integrity and of course the best people to work with. And for all of that I’m grateful!

So why the hell am I leaving SAP?
I gave it hours on hours of thoughts before making the decision and there are some logical reasons, like my ambition to take my career forward in a different pace and path, to explore new areas, to face new challenges but probably it is something I cannot really explain as it is what my heart tells me… and I’m going to follow my heart.
The decision was not easy first because SAP can offer a lot and mainly because of the people.

For all the worried people, who worry about what will be the tomorrow for them, the team, the company or something else, it reminds me a line from a nice song "Everybody's Free to Wear Sunscreen!"

“Don't worry about the future; or worry, but know that worrying is as effective as trying to solve an algebra equation by chewing bubblegum. The real troubles in your life are apt to be things that never crossed your worried mind; the kind that blindside you at 4pm on some idle Tuesday.”


What am I going to do next?
3 months ago, when I’ve decided to leave SAP, I was sure that by this time I would have something. A week ago I was sure it will take me 3 more months and I will be able to spend some time doing nothing. However based on the last days, it seems I know what it will be but it's not final until it is...

Stay tuned... Subscribe for live updates AddThis Feed Button



Tuesday, June 24, 2008

End User Technology



When I started this blog I had in mind to stay up date mainly as a developer or as a tech geek. However during this time I found out a couple of things – one is that many of the things that in the past required writing code are now part of ‘ready to use’ applications. And second that as an end-user I still have a gap to close.
The challenge that I faced in the last week was to publish some pictures/videos from my trip, which is a good excuse to share them – June ’08 Trip (apology for the non-Hebrew readers).



Ok, using Picasa is not such a thing, but downloading pictures from your camera, editing them, uploading them to a site, adding titles and putting the position on the map is not a trivial thing.
All of that caused me to realize a third thing (which is the opposite of the first two) – sometimes these so called simple applications are not so simple.

Another experienced I had that demonstrated that - I bought lately a new HD camcorder and did not understand why there is a ‘one click burn to disk’ button. Maybe it’s because I’m such a guy who always choose the advanced option when installing something or maybe because it’s not so simple to burn a disk. The task of taking a couple of videos I took, edit them a bit (just merging and removing 10 seconds at the end) and upload it YouTube required some good tech skills and a few programs. But this is another excuse to share my first YouTube video – alpine coaster (don’t miss the almost crash) – highly recommended!.




Monday, June 16, 2008

No internet for you





I’ve just returned from a great vacation (link to some pictures will be available soon).
During this week I found how much we depend on the internet. I’m not referring to emails, IMs or facebook ‘twittering’ but to elementary stuff like checking the weather in your next day site, checking opening hours of a park/zoo or getting recommendations for a spontaneous route.
Mobile phones started to provide solutions for being away from a computer and allow you being online wherever you go. Anyhow, it reminded me a nice episode of South-Park. If you like their humor check episode S12E06 ‘Over Logging’

Wednesday, June 4, 2008

Vacation 2.0

This picture illustrates how my vacation will NOT look like

Yep, it happens also to me, I’m going on a vacation with my family :-)

I remember a few years ago that planning a trip route was involved in opening paper maps all over the floor, marking notes in a traveling book, calling to check availability and making reservations over the phone to find out later that the info was not updated and the zoo moved already to another city…

Today the steps seem differently
· Starting with relevant forums and searching for recommendations on the area you want to travel to.
· Each place has a web site (even if it’s a small guest-house with 2 rooms) in which you can get detailed and updated information.
· Checking availability and making reservation is done online or via email.
· And most impressive is the ability to place the sites on a dynamic map which helps visualize locations, calculate route and make changes on the fly.
As a relative novice planner I’m sure there is much more that could be done (e.g. check traffic, send positions to the GPS…) but for me it was already a nice leap compared to the paper-age.

For that I tried two maps sites – Michelin and Google Maps. It seems that Michelin is richer with more feathers but I liked Google more (less ads, faster…)

However this is not an end-user blog so wearing the developer hat I looked under the hood and understood there are two options for developing using Google Maps:
· Google Maps API – Allows embedding maps in any web site and lets users manipulating them (There is JavaScript version and Flash version)
· Google Mapplets API - Mini-applications that run within Google Maps and add features on top of Google Maps

For the moment I’m spending my time on building the trip although my fingers are tickling to develop something using these APIs (I already found some missing features)

P.S. I updated the Facebook Notify Me app

Friday, May 30, 2008

Bubble 2.0 ???



As part of my (fun) exploration, I’ve been reading about many products available on the web which made my questioning “are we entering the next Dot Com Bubble?” (not to say we are in the middle of it…). I’m not an expert to answer this question and there are several parameters to define a ‘bubble’ but there are tons of Web 2.0 products which look like they are based on –
“I had some spare time over the weekend, why shouldn’t I write something” or
“Taking product x and adding a couple of features would make it jackpot” or
“First let’s have enough users then worry about how to make money out of it”

Anyhow, it’s definitely interesting how it will evolve and good luck to all of them/us.

More practically, you probably noticed that the blog was ‘upgraded’ as I adopted some new ‘capabilities’ to my blog
- Google custom search – be able to search my ‘huge’ blog :-)
- Snap Shots – get an immediate preview screen of the external links
- Add This – quick subscription to the blog (don't forget to subscribe)
- Odiogo – text-to-speech technology, podcasting my posts
- FeedBurner – publicizes the content of my blog and makes it easy for people to subscribe to it
I’ll keep updating the blog as I’ll keep encountering appropriate stuff

In addition I’m taking a deeper look into 3 platforms:
- Google App Engine – Google promises a simple, free, scalable hosting environment for building and publishing web applications. I registered for the beta but meanwhile based on the SDK and the tutorials it seems simple as long as you know Python
- Microsoft Popfly – a no code mashup environment, allows building web applications (sites, facebook apps, gadgets…) using visual tools. It also allows developing Popfly building blocks (called ‘Blocks’) and sharing them with others.
- Facebook – I consider facebook as a platform. Still need to find out a platform for what

Saturday, May 17, 2008

My first Facebook Application


I had a busy couple of weeks in which I managed to read and learn about some new technologies - Microsoft mesh, Google Friends Connect, Facebook connect and dozens of small other applications / solutions / widgets...
It seems that besides the big gorillas, there is room for many small players.

So, one very small player was born - I managed to 'release' my first Facebook (windows) application (still alpha release) - FB Notify Me – a small windows program which sits in the system tray and notifies when you have a new message or someone wants to be your friend or someone poked you.

It was a short but interesting lesson in which I learned a couple of things:
About myself - I’m definitely rusty and have several things to learn but still enjoy developing
About Facebook - The APIs allow access to many features but still somewhat limited

Wednesday, April 30, 2008

The beauty of exploration or “planned vs. actual”

One of the fun things of exploring new things is that you know how it starts but you don’t know how it ends. One more thing I learned is that as much as you learn you know less. Why? Because you find out that there is much more to learn.
This is what happened to me right at the beginning and since in our environment you must be agile – I will be. Starting to play with the facebook toolkit for .NET I found out that I need a good idea for an application and until I’ll have it I put on hold the development of the facebook app and instead will develop a facebook windows app. Still need to complete the definition but I already have a high level idea. I’ll give it a try…

Monday, April 28, 2008

My first Facebook application

First application I’ve decided to develop was facebook. For that I needed first a facebook account (am I the last one to join the network?!). Creating an account was easy and I already have some friends :-)

Creating an application is also relatively simple. After installing the developer application and following the nice tutorial . Tip: at this point don't bother too much with most of the parametes (besides the app name) as you can (and will) change them later.

Now comes a surprise - the application should be hosted and I need to find a host for it. The web is full of free hosting services so which one to choose? Again, googled a bit and found out that joyent is a good choice. After trying twice (did not get a response for my first request) I managed to have an account, just to find out that it's not so simple as it requires php and linux knowledge.

I've decided to take it one step at the time and to start with the technology I know best (.NET).

Next episode - how to develop a facebook .NET application

Sunday, April 27, 2008

Let’s start blogging

As a geek in the past I woke up one day and realized that I’m too rusty and not up-to-date enough so I’ve decided to explore some of the cool technologies existing out there.

My journey is starting! I got a tip from a friend, Benzi: “blog your journey”, so here it comes:

I’ve decided that I want to blog. Using what? After googling a bit I found out that there are 2 finalists (when it comes to free hosting): blogger and wordpress (check this comparison). And although most recommendations I found were for wordpress I chose blogger. Let’s see if I'll regret it or not.
Creating the blog was easy (besides choosing the name) as well posting this first post.

Next stop is facebook - let's develop a facebook app