Feed on
Posts
Comments

So, yesterday I installed an upgrade of iTunes and QuickTime (7.6.1.9) for Windows. When I upgrade a software I usually do not read carefully the instructions and often I just click the “install” button without any glimpse. But this time I did stop one moment before I pressed the install button. What is that? Safari?? What has Safari to do with this upgrade. One thing is that Apple have bundled QuickTime and iTunes..thats old stuff and discussed a lot. But now Apple just goes on with this bundle-strategy and use their upgrade mechanism to also install other products. This time it is Safari!

I was actually taken by surprise. Apple has bundled their browser with the iTunes and QuickTime upgrade. Can you believe this? And best of all Safari is prechecked for installation, so if you do not wan’t the Safari browser installed on your computer, you must take action and remove the checked value for Safari to be sure not to install the software.  How many regular users will do that?.. My bet is not many.

My opinion is that Apple has done some major mistakes her. First of all I do not like this bundle, as I do not see what the users that upgrade their iTunes can benefit from the Safari installation. Second, this is an upgrade. So what does Safari do inside the iTunes + QuickTime upgrade? It is not difficult to see why Apple bundles their browser, but is it fair? And do we like it? We have seen this strategy earlier by big players, I am surprised to see Apple do the same.

Well.. the Apple bundling strategy works. I have to install Safari now, just to play with it and test it against my regular browser (read FireFox) ;)

Just got back from London, with an overwelming cinema experience in my bag; The U2 3D Film. The British Film Institute (BFI) IMAX is home to the UK’s biggest cinema screen - more than 20 metres high and 26 metres wide, 12.000 watts of digital surround sound and the most sophisticated motion picture projection system in the world. It gave me the most ultimate experience that I can remember - The first live-action 3D concert movie - featuring u2!

The effect that this technology from 3ality Digital LLC is able to do with a live stadium concert is not possible to describe. Eye position of a stereoscopic camera in real time, high resolution 3D systems with zoom lenses, and integrated digital processing gives us tomorrows film concerts - today!

The film was shot at the Vertigo Tour back in 2005. I had the pleasure of seeing them during this tour in Oslo in the summer of 2005. But seeing the crowed at the huge stadium in Buenos Aires, feeling their heartbeat, smelling their tears and sweat singing to Sunday Bloody Sunday, Pride, With Or Without You and One among all the great songs on this tour was a breathtaking, astonishing and a fantastic experience.

Sitting on top of Larry Mullen Jr. watching him at work, throws me directly to the event, I am not any longer at a cinema in London I am there! When Bono steps towards you it’s like you are able to scratch his nose. When you are in the crowd you are really among them, watching the girl in front of you filming with her cell-phone camera, is so real that all you can do is sit back and laugh.

It is actually a bit scary but this awesome film gives us a glimpse of the future of cinema.

After publishing this post I found a great article/post at Silicon Republic named Even better than the real thing

AirPort Express At the end of 2007 I found my old AirPort Express. Looking down on it I remembered why I put it away; Audio Drop Out. What a big mistake buying that thing. Well, I desided that I had to use some time to solve the problem and start using this fantastic nice gadget.

The first thing I did was to look into the information at Apple’s own site to see if they had written anything about this issue. And yes, they have. a firmware update should solve the issue (firmware update)… BUT it did not.

So I had to search the net to look for help. Whow, it seems that a lot of people is experiencing this problem. There is a lot of fancy and odd solutions and I tried everything I ever came over:

  • Firmware Update
  • Changing wlan channel
  • Using network robustness
  • Moving microwaves and wireless phones around
  • Upgraded the network from 802.11b to 802.11g
  • Using multiple speakers
  • and more…

Here are some links:

Nothing helped. So I then had to figure out what actually happend with my computer during the drop out. I looked at 2 things; Network traffic and CPU usage. What I found out whas that the network traffic was ok, nothing odd with it. But, when I looked at CPU usage, I found one correlation with the drop out. Whenever my computer was working or had a CPU usage that was more than typically a couple of %, I got a drop out.

So, what did I do?

When streaming music to my AirPort Express I shut down all other applications, typically MSN, Firefox, Word etc. This solved the problem. No drop outs.

My conclusion is that there is no problem with the AirPort Express, the problem is related to the client that streams.  AirPort Express drop out is not a problem for me anymore I just have to focus on the music not doing a lot of things at the same time :)

So, after fowa and 90k+ developers in mind, I just had to go ahead and implement a Facebook application. Here is the code and how I implemented it.

First of all my goal was to use an existing web application, write a facebook integration module that communicates with the Facebook APIs, extracting some information/data and presenting them inside the existing web application. The web application I used is based on a j2ee framework (jsp, java). The architecture is much like Struts The first thing to do was to get the Developer Application to my existing Facebook account. Then I had to download the Client Library. I choosed the Java Library since my development environment was Java. When I extracted the Client Library, only the source files where included. So what I had to do first (besides looking into the source code), was to compile the java-files. I actually wrote an ant-task for this purpose, but a more easier way is just to use javac without using ant-framework. The next step was to take the output from the compile process and put it into an archived file (.jar). This is not necessary but I like to do it this way and the facebook.jar file I now had is easily dropped into my existing web application library. In my Facebook profile I had to create (set up) a new application. This is done by clicking the developer application that was installed earlier. Its some steps including getting a key (API key and secret key) that I used in my java-code but this process is straight forward.

Ok, now lets start the coding process. Here is the java code controlling the session and authentication:

String apiKey = “something”;
String secretKey = “something”;

FacebookRestClient frc = null;
HttpSession session = request.getSession();
String sessionKey = (String) session.getAttribute(”facebookSession”);
String token = request.getParameter(”auth_token”);

try {

if (sessionKey != null && sessionKey.length() > 0) {

frc = new FacebookRestClient(apiKey, secretKey, sessionKey);
this.doTheThing(request, response, frc);
} else if (token != null) {
frc = new FacebookRestClient(apiKey, secretKey);
session.setAttribute(”facebookSession”, sessionKey);
sessionKey = frc.auth_getSession(token);
session.setAttribute(”facebookSession”, sessionKey);
this.doTheThing(request, response, frc);

} else {
response.sendRedirect(”http://www.facebook.com/login.php?api_key=” + apiKey + “&v=1.0″);
}
} catch (FacebookException fe) {
} catch (IOException ioe) {

The doTheThing method is extracting the information and looks like this:

int myid = frc.users_getLoggedInUser();
EnumSet<ProfileField> fields = EnumSet.of(com.facebook.api.ProfileField.NAME, com.facebook.api.ProfileField.PIC, com.facebook.api.ProfileField.PIC_BIG, com.facebook.api.ProfileField.PIC_SMALL);
Collection<Integer> users = new ArrayList();
users.add(myid);

// Get my information
Document d = frc.users_getInfo(users, fields);
String myname = d.getElementsByTagName(”name”).item(0).getTextContent();
String mypicture = d.getElementsByTagName(”pic”).item(0).getTextContent();

// Get my friends id
Document d2 = frc.friends_get();
String s = d2.toString();
NodeList userIDNodes = d2.getElementsByTagName(”uid”);
int fcount = userIDNodes.getLength();

Collection<Integer> friends = new ArrayList<Integer>();
for (int i = 0; i < fcount; i++) {
Node node = userIDNodes.item(i);
String idText = node.getTextContent();
Integer id = Integer.valueOf(idText);
friends.add(id);
}

List l = new ArrayList();
Map m = new HashMap();
Document d3 = frc.users_getInfo(friends, fields);

// Get my friends information
for (int j = 0; j < fcount; j++) {
String name2 = d3.getElementsByTagName(”name”).item(j).getTextContent();
String picture2 = d3.getElementsByTagName(”pic”).item(j).getTextContent();
String picture3 = d3.getElementsByTagName(”pic_small”).item(j).getTextContent();
String picture4 = d3.getElementsByTagName(”pic_big”).item(j).getTextContent();

m.put(”name”, name2);
m.put(”picture”, picture2);
m.put(”picture_small”, picture3);
m.put(”picture_big”, picture4);

l .add(m);
m = new HashMap();

}
request.setAttribute(”friends”, l);
request.setAttribute(”myname”, myname);
request.setAttribute(”mypicture”, mypicture);
request.setAttribute(”numFriends”, new Integer(fcount));

 

 

So all the information from Facebook is now added to the request and can be displayed in a JSP. The code above is not very elegant and is not optimized(!). Its just a pice of code done after half an hour of work and my goal was to implement an integration module for testing purpose.

Hope this blog post can help others looking for hints when getting started with Facebook application development/integration.

Google buys Jaiku

Google operates orkut a social network service similar to Facebook. Today they bought Jaiku so it seems that Google is really focusing on the competition they get from Facebook and other social networking sites, and I look forward to see what Google will do with orkut and jaiku related to the amazing success that Facebook has achieved. Twitter and other social networking sites should definitively wath out for some hard competition.

 

Future Of Web Apps

Just got back from the Future of Web Apps conference in London. My impressions from this event and also some other events I have attended the last couple of months is that the focus are upon open api’s, open data and open authentication giving a foundation for the internet to become a network of different services loosely joined. Almost all start-ups are built on this foundation and this is not a surprise. More interesting is it to see what strategical positions the already big web companies will take in this landscape.

At the event Dave Morin talked about The Story Behind The Facebook Platform, and the figures he gave was amazing(!). Since the launch of the Facebook Platform on the 24th of may 2007 (kick-off video with Mark Zuckerberg) they have reached:

  • 90.000 + developers
  • 5000 + apps total
  • 100 + new apps a day

Facebook is now the 6th most-trafficked site in the US. They are bigger than eBay, and will (I suppose) soon pass Google(!).

On oct 2, the San Dimas Project launched the public beta of its application and finally renamed it “eBay Desktop”. I’m still trying to figure out how this product will affect the regular users of ebay and why eBay is using this amount of resources in building a desktop application. I do not buy the general arguments for building desktop applications .

MIPTV 2007

MIPTV 2007, has just ended (Cannes, France, 16-19th of april) and the conference focused on the ongoing convergence between TV, Web and Mobile. I’ll give my reflections regarding some of the most interesting topics (for me) from the four-day event.

A new industry is emerging, that will revolutionise the way we see television. Two promizing platforms/actors in building this new industry is Babelgum and Joost . Both Babelgum and Joost are in beta version. The first one not seeing a final first release before the end of this year. Joost’s Henrik Werderlin announced that they definitively would go live with a first release before summer 2007. Joost’s Fredrik de Wahl and Babelgum’s Silvio Scaglia hopes that “peer-to-peer” internet television will turn the business model up side down and we all know what peer-to-peer technology has done in other areas.

Jana Bennet and Ashley Highfield from BBC gave an outstanding co-presentation and could announce that their innovative work within the distribution of their content, would be backed up by doubling the investment in 360-degree content. Ashley Highfield, director of future media & technology gave a presentation of the iPlayer, and told the audience that the trial period (since last august) had been a great success. He was relative sure that the iPlayer would get final approval from the Trust at the beginning of May.

Dr. Hyun-Oh Yoo president and CEO of SK Communications gave a presentation of cyworld and the plans for expanding the highly successful social networking service outside South Korea and fight the competition. One of the new services in Cyworld is the “Cyworld Market”. With the huge success of Cyworld 1; 20 million subscribers, 20 billion monthly pageviews, $300.00 revenues daily, 96% of 19-29 year old has a subscription…the Market service has the potential to put successful players like ebay.com and finn.no out of business?

London 2.0

London 2.0
I’ve just attended The Future of Web Apps conference in London.
Here is my impressions and thougts. The program was impressive and with the list of speakers this could not be a boring and non-visionary conference.
Thanks to the Carsons Systems for the conference and program work.

Day one summary (skiped some speakers):

Mike Arrington of TechCrunch talked about start-ups and web companies focusing on how to be successful. I think his bubble 2.0 discussion was interesting focusing on the fact that in 2006 more money was used buying start-ups and web companies than invested with venture capital.

Tara Hunt of Citizen Agency had a presentation about communities. The presentation probably worked well for newbies@communities.

Last.fm with Matthew Ogle & Anil Bawa Cavie, gave a brilliant presentation. Interesting topic from the guys was the use of attention data as a foundation for ranking the songs (popularity). They used tag clouds as example and showed us how much more elegant use of attention data is rather than just focusing on traffic etc. It gave me some nice ideas for a project I am working on.

Werner Vogels from Amazon gave a nice presentation focusing on the hosting-service from Amazon. The company has had great success with this service.

Kevin Rose form Digg announced that they intend to support OpenID. Actually this was the most interesting point with the whole presentation, a some what disapointing talk. Maybe I just had too high expectations to this presentation!

Day two summary (skiped some speakers):

Mark Anders from Adobe gave a great presentation, just in my alley :). Use simple tools in an elegant fashion and the geeks are with you. He presented Flex a rich Internet application framwork. I will definitly look more into this interesting technology.

Chris Wilson from Microsoft. I had hopes for a talk around the future of Internet Explorer (MSIE), but Chris’s focus was the past and present and what happend with Microsoft and the web during 2001-2006

Khoi Vinh from New York Times talked about design issues at NY Times. This newspaper is really working hard and develops some pretty nice stuff.

Simon Willison gave an outstanding presentation of OpenID. OpenID may be the solution to web-authentication. It is promising, and several of the big sites out there is now supporting OpenID. Some issues still have to be looked into. Just made a nslookup for larre.myopenid.com and the result was:

P:\>nslookup http://larre.myopenid.com

Navn: http://larre.myopenid.com
Address: 67.137.230.67
P:\>

This says me that we might see some issues related to performance. Hope performance will be an issue at some openID articles.

Daniel Applequist from Vodafone gave a presentation about the future of mobile. The presentation may have been interesting for people not so into mobile development.

Time to do some work

Just adding my first post to this newborn blog. More to come soon….