Cracking iPhone at my birthday party

Tuesday, June 29th, 2010

I love this company.

But what follows sounds like total abuse to its products. To start with, I always wanted to get Apple products even though I cannot describe myself as fan of Apple because I never owned any of its products. However, earlier I have bought a few books of Leander Kahney which deal with Apple culture. They are quite interesting because of their unusual formatting as well as content. I have been waiting for two years before there was a chance to buy an Apple gadget. I have been spending money on various things such as a laptop with a touchscreen similar to iPad but it works as a normal laptop as well (btw. I am very happy with it after 2 months of usage even though it is more expensive than typical laptop).

But on June 28th 2010 I turned 29 years old. What a nice number of years, it is not even 30. I guess next birthday will require me to draw big conclusions from the part of life I have lived so far because this stretch of years was by far the most important in my life.

But 29 years is also quite important date to get a special gift for yourself. So I thought yes I should get an iPhone! And I went to the only store in our town that was selling it. Suprisingly on the one hand and quite predictably on the other, most people are still using the kind of phones they were using 5 and even 10 years ago! Nobody here wants to buy an iPhone. Not necessarily because it is expensive but also because it is not trendy, at least in Russia.

But I thought it is trendy and cool and nice to have this amazing gadget. The unboxing ceremony went with lots of excitement:











Then I was able to turn on the phone. It asked me to insert the SIM card. Here is the interesting part. When I got the SIM card and removed the plastic frame that was protecting the hole to which I was supported to insert the card I realized that I had to insert the card with the plastic frame. I tried to do it but unsuccessfully because the frame got stuck in the middle. I removed the card with the frame and then I thought that I needed to insert only the SIM card (what a mistake) which is how it works in many other phones including those that I was using earlier. Of course, I was doubtful because of the plastic frame but I thought that it was possible to always eject the card from the hole or if that does not work to remove the cover of the iPhone to get direct access to SIM card as again is the case in many other phones.

Instead of enjoying birthday party I spent a horrible hour trying to free up SIM card that got stuck in my gorgeous new iPhone! After a while, my parents joined me and they were able to remove the card. In total, we spent over an hour cracking my new iPhone!

However, when the SIM card got into the hole it got stuck there. There was no obvious way of removing it. Then I spent a horrible half an hour trying various ways to release the SIM card. It was possible to lift it up but during the final attempt to get hold of it it was falling back deep into the hole. I used various kinds of screwdrivers and needles to get into the hole. I have scratched my gorgeous iPhone. It looks so shiny after you buy it but when you treat it with needles the nice paint disappears and the phone gets a tough appearance.

Then my parents asked me why amn’t I enjoying the dinner and they realized what I have been occupied with. They joined me with their set of tools! They have used smaller needle and finally after an hour of intense fighting the SIM card was freed! Whoo-hoo! Now everybody was wondering if iPhone is still alive. Yes, it is working! Apple is such a great company, its products are so tough. On that day I even managed to get a free account at iTunes and downloaded a few apps to my iPhone.

Well, after using quite few other phones I should say that iPhone delivers. It is great and simple, and this is the only gadget that my parents found intuitive to use. I agree, its user interface is exceptional. And so is Apple’s hardware!

Unboxing ceremony: my new HP TouchSmart

Wednesday, April 21st, 2010

After years and years of waiting and working on others’ laptops I decided to get my own! It is funny that I bought my previous laptop a whopping 8 years ago when I started graduate school at Stony Brook (I also own a netbook but that is used exclusively when I am on the road).

This is why I decided to get one of the best models available at the moment. I got a 12-inch tablet HP TouchSmart tm2. It has Intel Core 2 Duo SU7300, 4 GB of RAM, 320 GB hard drive, and a Windows 7 with multitouch support.

In fact, it is multiple gadgets in one box: it is possible to use it as follows:

  • an e-book reader because it supports landscape/portrait orientations
  • watching movies is also quite convenient
  • it is a nice development machine with its dual-core CPU and 4GB of RAM.

One of the features that I like the most is hand-writing recognition – it is so accurate nowadays. I only had to go through a small training session in which the computer asked me to write down a number of sentences in my own style. Multitouch gestures is another cool feature which is supported for example in a few games that Microsoft has developed.

I have also installed BumpTop – a state of the art 3D desktop. The only problem with it is that it does not support native input methods, this means that I always had to use keyboard for typing.

While looking for a suitable model at Verkokauppa I have noticed that it offers lots of bigger laptops with screen sizes as much as 17 inch. Of course one can say that 12 inch of TouchSmart is not enough. But this is not the case when size matters. The screen has exceptional brightness which makes it possible and even convenient to use small font sizes. On the other hand, monstrous laptops have so much unused space in the keyboard area. It looks as if I am buying not a laptop but a pad for the coffee cup.

To summarize, TouchSmart is a compact and lightweight (2.1 kg) yet extremely capable device! The only problem that I have experienced so far is learning which touch gesture is doing what – there are so many possible gestures on a multitouch screen! But the time spent learning multitouch is not wasted as this is the technology of the future, undoubtedly.

Obligatory unboxing ceremony images:











Mobile Dev Camp 2010 in Helsinki

Monday, March 1st, 2010

I have attended Mobile Dev Camp. It was an event that included presentations from all major mobile vendors as well as workshops. To me it looks like it was targeted to younger developers as the level of the presentations was introductory. The funny thing was that organizers announced a development contest 48 hours before the conference. The topic of this application contest was outdoors. I did not participate because I thought I could not create a usable application within such short time. But in one category the winner has created an application while he was sitting in the conference. This means that there was almost no competition but the prizes were quite good. In each vendor category a new phone was offered as the prize. For example in the Apple category an iPad was awarded.

The conference started with a Nokia presentation in which Qt framework was described. This is a cross-platform development framework. A number of new features was described including Smart installer for Symbian that allows to add dependencies from your applications similar to debian packaging. Also changes were promised to Ovi Store which is now open for contribution only if you are a company. Obviously, it will become possible for individual developers to upload their apps to Ovi Store soon. It was recommended that developers take a close look at WebKit because it makes porting applications easy. However, later during the day the participants of a panel described the difficulties involved in porting WebKit applications because of lack of standards. But WebKit makes it possible to use native APIs from your web pages. For example if you want to find a pizza restaurant near YOU then you need to ask your device what is your current location and then use Ovi Maps API with those coordinates to display a map in the browser.

Another interesting presentation was that of Jürgen Scheible, the author of Mobile Python book. He described a number of tools such as Pluthon – python using Eclipse. It turns out that Python is available on touch devices nowadays. Jurgen mentioned that during his 3-5 day workshops people learn to program games involving touch gestures and animation. That’s a great achievement as teaching people to program is a challenging task.

There was a presentation dedicated to Microsoft Phone 7 system. As always, Microsoft has impressed the attendees of the conference with a game console available in its workshop room. I remember that when I attended another conference dedicated to Microsoft Mobile OS there was a whole Formula-1 simulator in that building! The new mobile OS looks quite impressive. They are saying that their goal is to add a 3rd dimension to the 2D screen of a mobile phone. That 3rd dimension comes from animations and effects, and therefore the new Microsoft Phone OS has lots of those.

In the Ericsson presentation the importance of a web browser was stressed. In particular, this company is developing web background service which allows the browser to perform tasks while in the background. They have also implemented a notification system as part of the browser. I guess they are moving in the direction of implementing a whole browser-based OS.

To summarize, the attendees of Mobile Dev Camp had an opportunity to meet with representatives of all major mobile vendors and listen to their ideas on the future of mobile technology. It is surprising that each company has its own view on this subject, thus we can expect lots of competition and interesting ideas implemented in the next generation of mobile devices.

In Amsterdam, part 3

Thursday, October 15th, 2009

Besides visiting the conference I tried to spend a lot of time exploring the city and its magnificent museums.

Last time I was in Amsterdam in 2000 and that was actually the first time I was abroad. But during these years I had to travel a lot, I spent a number of years in New York as well as in Finland. Before arriving to Amsterdam I was mentally comparing it with Venice because of its canals. But after walking in the city I think it more resembles New York. It is well known that New York was earlier called New Amsterdam. The similarity is in the narrow buildings that can go as high as 5 floors but their width is 3 windows.

Another interesting detail is that in Amsterdam there are lots of bikes, a lot more than in Helsinki. The number of bikes is greater than the number of cars and there are probably more bikes than people.

On Saturday afternoon I went to the hotel and checked in. As soon as you enter the hotel’s door there is a huge staircase going up and up a couple of floors. There is a turn only at the end of the third floor. Fortunately, the window of my room was going to the inner court, not to a busy street in the center. I was surprised that the court looks so quiet and a bit rural.

Then I went to Rembrandt’s house. In this museum there are lots of paintings of his predecessors on the first floor. But the most interesting part of that museum is a collection of Rembrandt’s etchings. Works of his pupils and followers are also available. Unfortunately, his paintings are not present in this museums as I expected. The gorgeous Night Watch is located in another museum in Amsterdam which I did not have time to visit.

After visiting Rembrandt’s house I went to Russian museum called Hermitage. It is a division of Russian main museum in Saint-Petersburg. In fact, it opened only this summer and now it occupies a huge 3-storied building which was earlier a nursing house. In this museum it is possible to see the items of Russian Tzar court including portraits of Tzars and their wives. The museum also explains a connection between Russian Royal family and that of Netherlands. It turns out that their connections are pretty intertwined.

On Sunday I went to van Gogh museum. There was a huge line of people trying to get the tickets. It was either because it was Sunday or because van Gogh is very popular. In other museums I did not see any lines at all. But after I got my ticket and went through the security check I realized that I was in this museum when I visited Amsterdam on previous occasion. I actually did not remember where I was back then. But I definitely enjoyed visiting van Gogh museum once again. His paintings are so interesting…

Overall, I spent two absolutely fantastic days in Amsterdam! I visited a great conference and a number of gorgeous museums! Amsterdam has so much to offer. I had to go to the airport earlier on Sunday because of the track repair. In fact, I had to take a bus to the airport. But then the plane arrived on time to Helsinki and at 1AM I was already at home. Nice trip, I have got a few souvenirs and lots of nice memories!

A trip to Maemo Summit in Amsterdam, part 1

Tuesday, October 13th, 2009

This weekend I went to Amsterdam to Maemo Summit 2009. In fact, the summit consisted of 3 days but because I am quite busy at work now and also because I was going on my own expense I decided to spend only 2 days in Amsterdam. Finally, I was interested not only in the summit but also in exploring the museums of Amsterdam. The names such as Rembrandt and van Gogh make it worth visiting Amsterdam. Last time I was in Amsterdam in 2000 on a bus trip through European countries. We spend only half of a day back then.

My plane was at 6:45 AM from Helsinki airport. As my apartment is located only a 10-minute walking distance from the train station I woke up early in the morning and went to the bus stop near the train station. I was surprised to find out that so many people were hanging out on this chilly Saturday morning. I needed to change a bus at Tikkurila. I missed that stop and actually got off the bus on the next stop. But then I walked to Tikkurila and was at the airport in time.

When I arrived to Amsterdam I needed to take a train to the center of the city. Mistakenly, I got on a train going in the opposite direction! In the train all the announcements were made in Dutch, quite contrary to Finland in which the announcements are made in 3 languages: Finnish, Swedish, and English. Overall, I now realize that Finland is a lot more English-speaking than Netherlands.

After spending 20 minutes in the train going in the opposite direction and not seeing anything resembling Amsterdam I asked people and they told me I was going in wrong direction. Then I went back but in the middle the train was broken and the passengers had to spend another 10 minutes on the platform waiting for the next train. Meanwhile, the conference was beginning…

When I arrived back to the airport I spent several minutes waiting on platform that the right train should have arrived to. But nothing arrived. Then I heard a radio message in English saying that the trains to Amsterdam center were cancelled because of track works! The people going to the center had to take bus instead. When I got to the bus stop I saw a huge line of people and no buses. After spending half an hour at the bus stop and seeing only 1 or 2 buses coming I decided to take a taxi. I kept asking people around me whether they wanted to share a taxi. After a few attempts I found 3 other guys and we went on taxi. Since the cost was shared I payed only 12 Euros for the taxi.

Oh well, this is how I arrived to Amsterdam.

Sports tracker mobile application

Tuesday, May 5th, 2009

I have started using Nokia Sports Tracker that works on my new 5800 device. Here is an example of a workout that I did yesterday.

The application has two parts: a web-based analysis tool and a mobile part that runs on your phone. The former uses GPS to track your current location and measure speed, distance, etc. After you are done with your workout you can upload the data to the web to share it with others or analyze it.

Very useful application indeed except that when running longer distances such as half-marathon I get wet and the moisture can damage the phone as it happened to me earlier.

My new phone

Sunday, April 12th, 2009

I have got Nokia 5800 – a touchscreen phone with a lot of nice features:

  • 8GB of memory
  • 3.2MP camera
  • GPS


Doom has been ported to S60. An episode consisting of multiple levels is available for free.


This is a graphics editor. Thus, the gadget becomes a touch pad. I was surprised to discover how easy it is to draw using a stylus compared to using a mouse.


Development for S60 has become more convenient as well. I have implemented the expense tracker, the program that I am using on a daily basis. Previously, it was web-based. I used Qt for S60. Qt is a portable GUI framework. Previously it was available on Linux, Windows, MacOS. But now it is available on mobile as well. The development is surprisingly easy. You only need to take the project profile for the desktop version and use Carbide IDE export feature. The project is converted to mobile application automatically.


Web browser is nearly as good as the desktop version. It is possible to play Flash video such as YouTube. It is obvious now that mobile HTML will cease to exist as full-fledged HTML support has been implemented on mobile devices.

040709.jpg

Weather forecast project

Friday, December 5th, 2008

I have submitted the project to Forum Nokia contest. While working on the project I learned a few interesting techniques. I was surprised that such a simple idea would inspire additional project ideas. In particular, after completing the project I got interested in exploring the following directions:

  • Web search. In the project it was necessary to get weather forecast for any location that user might specify. BBC Weather was the source of information as it has nice RSS feeds with 3-day forecast for any place. There is a form in which user enters city name and then clicks Submit button. The BBC Weather website would then search its database of locations and give the user the forecast for the place that was requested. However, we needed to use the form automatically. Obviously, when Submit button is clicked, a certain GET/POST request is executed. Thus filling in the form automatically was not a problem at all. However, the search mechanism of the website was trying to deliver its best, it asked clarifying questions which was not acceptable for artificial intelligence of a PHP script. For example, when entering New York the BBC search engine asked whether the user meant New York City, or New York airport, or whatever else. But this was happening only for a big city such as New York. In most cases the search delivered the required information without asking any questions. How would one adapt a PHP script to using a web form that asks clarifying questions?
  • Creating screencasts and uploading them on YouTube. I am using Ubuntu and I wanted to make a screencast with text narrated. I quickly discovered Istanbul – a program for creating screencasts. It can capture the whole screen or a certain window. However, a screen of YouTube player is smaller than a screen of a Web browser which I needed to record. I decided to show the global view of a website and then zoom-in on certain areas of the screen. Thus, I needed a video editing software that would allow me to zoom-in on an area of a video. Open Movie Editor was the software that I was able to install. I tried a bunch of programs but they all had library dependencies which Ubuntu package manager was unable to resolve. Also, I narrated description that I needed to stitch to the video. And finally I needed to make sure that the output of video editing software is acceptable for YouTube.

I will describe how I solved each of these problems within next few posts. In general, I found out that each problem was a lot of fun to tackle and that it developed skills necessary in general. For example, while implementing a script that used a search engine I figured out how to use web APIs. These mechanisms are the future of the web which will consist of web applications. Semantic web that operates on structured formats will also make heavy use of web APIs. Automating search might improve the penetration of deep search which is at the moment has very basic capabilities.

I noticed how important it is nowdays to accompany your project with a video. Internet users are short-attention people. They visit a web site, look at it, and then switch to the next web site within a minute. Very few people are able to grasp the text-only information within such a short time frame. This is why multimedia content such as images and video is added to the web. While reading blogs I found out that I like those blogs that have a shiny image or a video. There is a buzz on the web that personal blogging is dead because of commercial bloggers that deliver information in larger quantities. When was it ever that quantity dominated quality? Any personal blog that delivers attractive content will become popular. The problem is that individual bloggers are writing text-only entries. They should include images as well as video. But they need tools in order to do that. In my video story I am going to describe a long chain of tools that allowed me to generate a YouTube video. I spent one week to generate one-minute video.

Weather forecast on your mobile device

Wednesday, November 12th, 2008

I am opening up a project that I was working on in my spare time during last month. It is called Weather forecast on the homescreen of a Nokia mobile device.

The homescreen of a mobile phone is designed to list upcoming meetings and to-do notes. However, there is extra space that is often empty. It is often necessary to get certain information such as weather forecast. Placing it on the homescreen allows to access it immediately.

The idea behind the implementation is to add an RSS feed with weather forecast to user’s Google calendar. After that, the user will use a synchronization software that inserts the entries to the mobile’s device calendar. They appear as to-do notes which are displayed on the homescreen automatically.

As of now, the project generates weather forecasts only. But it is possible to display any type of information such as train schedule, stocks, top stories, etc. using this approach.

http://weather.alexeysmirnov.name

Ruby ported to Symbian OS

Monday, November 3rd, 2008

I have installed lots of applications on my Nokia phone. Nowdays I cannot think my life without a few of them such as Qik and Mobile TV.

Developing for a mobile platform was always different from desktop programming. There has been a number of efforts to facilitate transition from desktop to mobile programming, for example scripting languages. Python has been ported long time ago to Symbian. Now Ruby is available as well.

The download includes binaries – the Ruby engine, the frontend, and examples. There is an example that captures a video and an image – very similar to what Qik does. I am now quite convinced that with knowledge of a scripting language mobile programming is not that difficult. It is only a matter of choice whether to use Python or Ruby.

It so happened that I have not developed in either of these languages. When I am developing for the web I am using PHP and JavaScript. Obviously, PHP is the most popular language, lots of web software is written in it, each hosting provider allows to use PHP on their web site. It looks like Ruby is increasing its share in the scripting languages market at a very fast pace. Therefore, I should learn Ruby to develop for desktop, web, and mobile altogether. However, there is lots of interesting applications in which Python is necessary. For example, Google Apps uses Python.

It is funny how essential these scripting languages are nowdays. They are modern equivalent of UNIX command line tools such as sed and awk. Being able to program in those languages is an essential attribute of a geek.