Wednesday, December 10, 2008

Lack of sleep - new personal insight into

I have four kids aged nine to three.  This means that for the last decade I have basically been constantly  sleep deprived.  I haven't given it  that much thought, it's just the way things are for most parents I suppose.

Lately the kids are beginning to grow older. A three-year old is significantly different from a two-year old.  The last week I have had almost enough sleep, so  yesterday something happend that gave me reason to pause:
  • I started the day smiling
  • I had a brilliant idea
  • then another
  • I felt wonderfully fresh
  • In the evening I still  felt need for input, so instead of going to sleep, I watched a movie (the insider, a wonderful movie with a script much more ingenious than I had noticed the first or second time I saw it) .

Then I went to bed, and I had still two more ideas:

  • The last decade or so I believe that I have basically learned how to function adequatly even when significant parts of my brain is shut down due to sleep deprivation.  When I do get enough sleep I become euphoric and immediately use the surplus energy to do something that drain myself of energy.  This means first off all that my tiredness is actually self-perpetuating and secondly that the statement that people need less sleep as they age might be due to higher tolerance for the degradation of cognitive capacity than actually being able to do the same things as before with less sleep.
  • The final idea was about how to use models of infection (like the ones  MIDAS people are using) to model customer demand for media content  in situations where demand is driven by social interactions.

I obviously need to get more sleep ;)

Sunday, November 30, 2008

Rmz's observation.

Children that make a mess outside the house do not make mess inside the house (at least not at the same time)

Tuesday, November 25, 2008

Friday, November 14, 2008

OpenID woes

Today's topic is the Acegi plugin (Spring Security) for grails . It doesn't work out of the box. This guy seems to have done some work with it and even claims to have the thing working for his site, but even if my user authenticates at I'm still not allowed into my experimental site. *grrr* (this was more of a rant than I wished when I started writing, but that is how things work out sometimes).

Update: I figured out what was wrong ;) It was simply that when typing in my OpenID URL, ( I was inconsistent with regards to typing a terminating "/" or not. Big difference! acegi uses the entire url as an user identifier, and a difference of one character makes a difference. I would characterize this as a bug, since it means that semantically identical but syntactically different URLs map to different user identities.

Wednesday, November 5, 2008

It's the small things that makes life worth living

Today I added OpenID login to a project I am working on.  I used the OpenID plugin for grails, but it didn't work properly.   Only after a long while did I figure out the reason:

  • The application is called "widgary", and grails by default gives it the url http://.../widgary
  • I don't like this, so I forced Jetty to set the context path to "/".
  • The plugin doesn't grok this, it wrongly assumes that it is -only- the .../widgary/.. path that is valid, and hence no openid logins work.
During the course of this (*ehrm*) discovery process, I also discovered that the spring security plugin (formerly called acegi  plugin) is probably a better choice, so perhaps I'll end up using that now that I know how to make plugins work ;)

Friday, October 17, 2008

Couple of interesting things

Ubuiquity is of course mandatory these days.  It's nice to see that kind of crativity being inherited (second generation Raskin ;).

Also I found brightkite  (here too)which seems to be exactly the kind of location aware application we have been dreaming of the last decade finally making it into something resembling mainstream.

Tuesday, September 30, 2008

Making web servers accepting chunked uploads

I've finally grown sick and tired of the fact that most web servers seems to be quite unable to accept chunked upload. This is a serious problem since Java ME insists on using chunked upload and I'm working on Java ME software ;)

So we know that Apache/PHP seems to work. Tomcat possibly works in some situation. Jetty doesn't work.

I wish to use Groovy on Grails to develop nice services for mobile phones, but since Groovy by default uses Jetty I need to fix Jetty. My test case ws to use a WebAlbum application I found on the net, and modify it to use the Object tags introduced in widger to allow image content uploads from forms.

I check out the svn repository , but Maven won't build :-/ By asking the very nice people at #jetty I discovered that this was due to a bug in maven 2.0.9, and that 2.0.8 or 2.1 would probably work. Being an adventurous soul I chose Maven 2.1.0-M1, and sure enough now Maven worked. Unvortunately it was not a clean build, since an unit test failed. The kind people at #jetty had a look at the test and indicated that the failure was probably nothing to worry about, so I disabled it (by renaming to and sure enough everything else seemed to build and test quite nicely.

I then installed the newly built binaries into grails's lib directory and verified that chunked upload does indeed not work with a freshly built jetty. I then set out to work. Instrumenting the file in Grails, indicated that the MultipartHttpServletRequest parser in Spring for some reason return nothing, instead of something when parsing the input. Instrumenting Jetty's HTTP parser indicated that it continued to read HTTP input after Grails had already thrown an null pointer exception for trying t0 work with nonexistant input. I then spent the better part of a day to install an instrumented version of spring (spring is -h-u-g-e-!) and making it work with my already installed grails. Well, after too many hours I got a combination of consistent spring and flow to compile, install and combine with grails. I then set a trap inside spring, to capture the setting of the result of a multipart parse, and discovered that the culprit probably (but so far not for sure) is in Apache's file upload package. When faced with a multipart and chunked input from the web server (Jetty in this case) it returns an empty map of parameters. It turns out that the fix is simple: Replace the commons-fileupload-1.1.1.jar file with commons-fileupload-1.2.1.jar, and things just work. Whee. Now I can get back to my real task, which is to make intersting web based applications for the brand new widger web client ;)

Tuesday, June 24, 2008

Opening ceremony

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

It is very very painful to listen to public officials who cannot speak English trying to do so from a podium. Nuff said.

Implementing ODF in Belgium (Bart Hanssens)

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

Belgium. 10.6 million people, dense population, three languages (Dutch, French, German). Very little layering of public services. All the various parts of the government has a high degree of autonomy. A converter using .Net 2.0 and 3 separate .MSIs. Can convert stuff here and there. Integration with MS-office OK, pretty good .doc conversion, but not quite there yet. A bunch of rough edges but mostly useful.

He mentioned a lot of other stuff as well. It seems to be sort of useful, but still a whole bunch of rough edges. If you want to ODF is probably useful for prime time today.

His presentation was not the most inspiring one, so I spent spent most of my available attention on reading mail and news ;-)

The Neo FreRunner (alias Neo1973 GTA 02)

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

General stuff

It is a way nice hanset, uses standard USB cables for charging. Wifi, will have two 3 axis axelerometers. Can not feel rotation along top/down axis. Will hav GSM 2.5, no edge no umts, no 3G. About 100kbps. Don´t know why these limitations will be in the handset.

Backing from the supplier

FIC - First Internation Computer. The OpenMoko folks tried to approach Motorola first but they were not interested. FIC works with the community. Intend to get higher profits by selling direct to consumer. FIC produce about 20% of all laptops in the world. Not under their own name (Toshiba is one of the names they sell by).


On the wiki there is a ton of information, including information on how to take the phone apart and put it together ;)

On a pc, there are various kinds of firmware drivers that are not available. On the freerunner, one uses Hayes AT commands to talk to the GSM chip, and NMEA with the GPS chip. For everything else there is a driver available as open source code. There is a free wifi driver available. The sourcecode was made available through the community (the community found a supplier and a(n open source) deal was struck).

There are people hired to write contacts, calendar, application managers, and a lot of other boring stuff. Basic smartphone applications will be available out of the box. Everything else (including updates to the basic applications) will be available as Debian packages.

How will networks exclude phones to run on their networks (Terrence Barr asks). Ole didn´t have a good answer for that, but didn´t think it would be a problem either.

Qtopia was ported on the Neo1973, but will run without changes on the FreeRunner. Seems like Qt will be used for most of the OpenMoko stuff. Can run GTK as well.

Android: rumors. Virtual machine with hooks into the operating system, will be open source, will be free. Facts. Not available yet. If rumors are true, then OpenMoko will run Android.

Developers will run as root initially. Later, sandboxing will probably be introduced.

Some ideas he wish to have implemented:
  1. Location based calendar. Wish to have a calendar that at a certain place triggers an alarm that will remind him to buy toohpaste when he is close to the shop. Perhaps including opening hours.
  2. Get off at a bus stop: Point to a map where you want to go off, but get a reminder a bit before.
  3. GPS friends. Choose who your friends are, get an alarm when they are close.
  4. Find the closest wifi. Find the closest open access point. Put it on a map, give some indication when it was located.
  5. Find the nearest whatever, get the gas prices for the closest gas station.
  6. Detect congestion, speed limit, one way street. Use Guess what is one way streets, etc.
  7. Profiles (automatic or semi-automatic profile detection)
  8. Firewalling. timebased, locationbased, whitelisting. We will probably see spam on phones in a few years, so we need something to stop that.
  9. Dasher input: There is a motion sensor, can be used to input text, tilting in the right direction. Really, really cool (I agree with that statement, if the demo was realistic ;)
  10. Cheap data transfer: Different subscbtions give different ideas. Fre voice,d ata sms, call etc. Advice to telcos: Go flat rate.
Some ideas from people in the room
  • Location based profiles (when at work, use the work profile, when at home use the home profile).
  • Dating service :)
To develop, you go to the wiki, install something (the whole environment), and within a few minutes you will be up and running.

Software patents:
Some ideas are patented. Patents are harmful mostly to small developers. Big ones can exchange patents. Suggests joining,,

For the end user:

It will be like a distribution. Can subscribe to various types of distributions (stable, expeimental, etc).

How much and when:
  • 12 juli 2007 : First wave.
  • Summer 2008 ( production started). USD 400
  • -> Lower price, but you have to buy ten at a time (USD 370).

Terrence (Barr) thinks that at once you have an open phone, the carriers will have to use a lot more resources to become a good pipe, because locking customers into a particular (and sometimes quit bad) deck of applications will no lenger be a viable option.

Espen Eskedal Trolltech XUI future GUI on mobile phones.

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

Espen has been working Qt for Nokia series 60. Yesterday he became a Nokia employee. Has been working based in Berlin. Will talk about what the typical probmes are when making applications for mobile phones.
  • Tools: It is in general hard to get the toolchain up and working. Process tools, memory debuggers. ON the desktop (Desktop bad->annoying) (Mobile nonexisting->annoying). Best of the pack today is probably Microsoft CE.
  • APIs: In general too limited or too difficult.
  • Platforms: Very bad fragmentation. You need a lot of binaries, a lot of toolchains.
Mobile gui problems:
  • Resolutions are different.
  • Orientations are different. Some devices even have animations when orientations shift.
  • Custom styles: Styles can change at runtime. Also you may wish th have applications that looks different from others.
  • Input devices: Huuuge variation. Softkeys, touch screens, multitouch (iphone). You need to take into consideration that the user might have a bunch of different devices.
His thesis:
  • QT solves all of these things, at least part of the way.

Showing demo:
Showing qt running on windows mobile. Different parts of Qt running on an HTC thingy under windows mobile. It´s pretty nice :) Most people see no difference between a Qt application and a really native application. Same application running on OpenMoko (XXX Get link to this demo). Same code, but recompiled and deployed. Different resolutions, but looks nice. Uses layouts to handle tings like orientation changes. Senses dpi resolutions etc.

Qt have both GPL2 and GPL3 and commercial licenses. He is now working on Qt for series 60.

His advice to operators: Flat rate. Available interfaces.

Qt 4.4 has webkit in it, has scriptsupport. There is also a crosspatform multimedia toolkit.

Demo of various stuff to build an application.
He explains the signals/slots thingy that Qt is based on.
He demonstrates that Qt has a stylesheet (qss) file that uses the cascading stylesheet syntax, but does layouts on the qt thingy. Doesn´t need recompliation, but is read at runtime. They have a qstyle class than be hacked

his email address espenr (at) epen.riskedal (at)

Goal to make phone input/output as well as video input/output. It should be possible to make a video editor . They only support playback for sound now. There is some kind of support now, they wish to do more, many people wish to go in that direction right now, but it´s not there yet.

On licensing: It´s hard. Terrence Barr says that Sun has the same type of issues that Trolltech has. If you are doing something GPL-like, you may have to talk to some GPL-aware lawyers, because there may be differences in the different companies interpretations of the GPL terms.

OSS work at NTNU

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

Letizia Jaccieri and Reidar Conradi

History about OSS software work at NTNU:

Looks at various roles (provider, participant, integrator, user, customer). Mentions some skills: Technical comercial, organizational, creative.
More history. Reuse is now very different than before.
They have done s bunch of surveys on COTS. A patte

Forthcoming article IEEE software 2008 (ten facts about open source development)
Finding: In reviews of sprints in SCRUM the customer is very very seldom present. That is probably a mistake.

Metod for learing about OTS:
1. Ask someone on the office. 1b. search the net, download 3-6 canidates. No formal selection method. Quality is not a problem (?? why). Problems: Effort estinatiln, integration, debugging, customer non-participation, cliencing, comany policies, how to classify components. Ontologies are not stable at all.

It is methododically difficult to study open source projects. How do you analyze a project with 300 developers in 30 countries?


Industry and academia. Shared internal development is a goal.
About 50% reuse and integrate OSS components.

Main findings:

Motivations for adoptions of OSS:
  • Simplify developer´s jobs: High availability of information, pcomponents and their source code. Simple procurement.
  • Reusable software assets: Increase productivity increase quality
  • Reduced costs: Reduced development effort, no license fees.
Selection process:
  • Evaluating util something "good enough" is found
  • Tested further throug test integration and prototyping
  • informal knowledge driven rpocess based on previous experience, recommendations, informal searches, surveilance of the OSS community.

Eskil Sundt: Case open standards (ARM)
  • A masters project, single person one year. Development of a multip.latform graphics application Used ARM platform for embeded graphics.
  • Used OpenVG (Open vector graphics for embeded systems. Target: Map intraces, scalable userinterfaces, e-book reaers,g ames and SVG viewers). SVG (We all know this ;) He was looking at an SVG viewer. OpenVG is built on the SVG model, but there are differences: SVG format, openvg is an API.
  • He wrote a 20KLOC program calledSVG Tiny.
  • Results: It workt nicely ;))

Letizia: Open soure art project.

Cases (all on sourceforge)
  • Open Digital Canvas project
  • Soonic Onyx Project (mobile phones)
  • The Flyndre project
An art competition:

What Letizia wish for: She wish to have a master project about open source, perhaps a national research scool on open source software.

Terrence Barr: Competitive landscape in mobile:

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

Inovator´s dilemma:
  • Carrier networks v.s. voip. Is ubiqutious, open standards, no control point, no barriers to entry, cpractically free to use. Even if not perfect it marganiilzes tradition voice model
  • Walled gardens vs. open internet: Open technologies and economies of scale outside the wall. Harnessing these revenue opportunities requires adopting the rules outside the wall. Scarcity value begins to evaporate (AOL v.s. internet).
Openness turning the model on its head.
  • Openness increases market opportunity, but decrease scarcity value.

The wireless industry at a crossroads:
  • Today: predominatly proprietary and closed
  • Huge investmens and rapidly commoditizing services
  • Massive friction in the ecosystems. Content creators must deal with each island separately making service creation very inefficient.
  • Existing revenue models not suited for new services. Monthly subscribtion fee is not granular enough. Customers are wary of random ads but also of data mining.
  • Customer satisfaction low and turnover high
  • Bottom line: Industry needs new revenue models and needs to renvient itself through innovation and openness.
Comment: Many carriers around the world is using security models to clob developers into submission. Carriers are saying that the developer requires a cut from the usage of every application. This is because there are features on the phones that requires signing of applications.

Open source and open standars: Problems or solution
  • Technology diffusion is a fact of capitalist economies.
  • Must face this evolution, since it is inevitable. Nust reinvent find new sources of revenue fbefore margins disappear. Must open up and deal with loss of control. Must deal with technology evilution
  • Open soure and open standards are simply accelerating this rnd

What is "open" really about?
  • Empowerment
  • Choice
  • Local decision making
  • Control of your destiny
  • People no longer accept to be tied into a proprietary model. People are waking up to the fact that tis is not a good ple to be in.
Contrasting approaches:
hierarchical v.s. flatness. Resisting change v.s. dealing with change. Scarcity vs. value. Us and them v.s. we

Do customers really care?
  • Governenments (Brazil and EU does).
  • Most -people- probably doesn´t care. However, the DRM model example shows that people -do- care in some cases (DRM doesn´give any value to users, users kept circumventing until the industry just gave up). So, consumers -do- care at the end of the day because it gives them choice.
Lead users and open source
  • Lead users crave openness. They represent cutting edge of the user base. Notcontetn with stqus quo. Pus the limits and aren ´t afraid to go through some pain. Primary adopters of open soruce and open standars tchnologies.
  • lead users create market shifts: If they succeed the word spredáds, the herd of customers following, creating a market shift. If you havent anticipated it you´ll be left behind fast.
The wireless industry is different
  • Mobile is the new desktop but. Complex and rapidly evolving technolgy stack. Many players. Security paramount. Enormous scale. Consumer focus (price, functionality) unique deployment model Entrenched distribution and business models. On the desktop everyone have to be a semi expert, but on phones that is just not the case.
  • Mismatches. Open source properties v.s. wireless requirements and established models.

  • Client-side technology stack. You can´t really build an open blown phone on open source, yet. Bazaar causes fragmentation, at least initially. P nd integration is a headache.
  • Innovation and deployment model: Open source works best on continous beta style. Mobile idustry runs on complete functionality, solid testing and long term stability.
  • Choice: Can there be too much?
  • Open access and data connectivity. Requires open and reasonably fast data pipe. Mobile access predominatnly limited, controlled, slow and expensive. Always on cheal fast mobile eonternet still years avways for most.
My own comment: OpenMoko is really, really important for the near term future.

Terrence mentions a rumour: Venture captialists in the bay area says: If your business model requires a business deal requires on a carrier, the VC won´t fund you.

The shift that is occuring:
  • Customers are increasingly driving technolgy adoptio: Bacic needs are met. Choice important. Empowered by standards etc.
  • Customers vote with their feet.
Positioning for opportunities: Where do you want to be?
You can
  • control Not successful in the long run.
  • lead You need to be the leader in something.
  • follow No value added.

The opportunities:
  • Expect ideas from unexpeted places.
  • Open yoursel to outside innovation
  • Redefine your value-add. "Which business are you -really- in
  • Engage your new market research an customer outreach departmet." The community is your best friend. Lead users an untapped source of value
  • Monetize different: Commodities are not a bad thing. Many small profits are also very good. Selling intangibles are cool. Build side-channels for monetization .
  • Money follow trust ;)

  • Open soure her to stay Customers won´t have anything else
  • Wireless industry being hitt by perferct storm. Commoditzation, infrastructure, shifting expectation.
  • etc.

SIM next generation: Lars Hoff Telenor R&I

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

First a bit about Telenor R&I and Telenor.

SIM a widespread technology. Present in all GSM phones. 2.4 billion 2007, more than 3billion today. A SIM card is a small CPU and memory. It is the secure part of the phone system. it is tamper resistant. An application stored in SIM can not be taken out of there. Thre main groups of cardss. Current sim . UICC (global platform. java card 2.x, UICC glboal paltform, java card 3.x).

  • Current and future SIM: Today, limited memory, single application.
  • Nexte gen SIM (green card): Browser ineraction, NFC, USB interface to the phone (faster than today´s 9.6 kbps). This enables all kinds of bandwidth using stuff inside the card. Can have multiple keys. The sim card can be dividedn into multiple security domains. The ISD (Issuer security domain) is the operator´s stuff. Can contain SIM part, WIB and applications. Master key for the SIM card. Can have several secondary security domains (SSD), have separate keys, but can also have several applications. The primary key can be used to install and remove ful SSDs, but they can not be changed.
Question: How can you get access to phone features? Different question, but don´t know how that will be handled.

Some example applications:
  • Credit cards
  • Tickets
  • Keys
  • Money
  • Music

Question about Telenor´s role: We may be a content provider, the main business will be to enable this service for other. A kind of rental model. That it at least the most probable model being considered by GSMA.

Smart card web server - SCWS.
Allows browser in phones to access services on local SIM card though special URLs. Can run MIDLets running on the card. APDU commands over JSR 177. Don´t know if it will be done, it is technically possible.

  • Near Field communication (contactless smart card). Used today for metro ticketing systems, some credit cards. We (Telenor) would like to combine the NFC thingy with applications running on the SIM card. Separate NFC controller on smart card, NFC hw on phone.

How to do provisioning:
  1. Do it in factories before the card is sent to the custoomer
  2. Can use OTA (Over the Air) protool to send the thing using SMS or something.
Comment: One domain can be fully open, and ca be accessed from the phone as a memory card (say). You can define dieffent roles with different levels of security, including no security at all.

Plug for wireless future from the audience.

UICC is well connected:
  • Physcal environemnt, java on phone, SCSW (end user), and the network.

The java card:

  • Familiar programming langauge
  • Ineteroperable apps etwen manufatureres
  • Secure (secure stuff)
  • CC EAL 4+ certified (some certification thingy)
  • java card 2.1. API


Service providers, network operatores, handset vendors, trusted service managers (TSMs). Some kind of trusted third party is necessary.

Even more future cards

  • In essence the the cards become full computers.

Question: How will the keys be managed? Well, you need an agreement with TSMs.

Knut Yrvin: Qt Webkit integration.

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

Trolltech: 14 years of history. Founded in Oslo 1994. Recently
aquired by Nokia. 217 mill. NOK (revenue?). Will continue to
support hundres of thousands open source developers. Nokia will base
their developent stuf on Debian.

The business model:
Dual licensing. GPL for GPL usage. Commercial
terms for commercial use. Some products, multiple licenses..

Virtous cycle: Develops produts. Release beta versions. Community
feedback (more than 50% of bug reports from open source people, KDE
very significant in this respect). Rapid product stabilization.
Final release sell to customrs. Sales fund further development.

Shows slides of state of the art in UI widgets 1996.

Kool Desktop Environment: Wanted games, impress his girlfriend ;)

Also, "hello world" was 300 lines code.

Whacking at it for 12 years. Nothing reaching the level of
depoloyment KDE is pulling off.

Without KDE Trolltech would be tinytech. So opens ource is good for
Many people herad about QT through KDE and open source. 1/3
customers buy after trying free version.
Knut rants a bit about music industry DRM and copying madness :-)
Trolltech inverts this, and says that free copies is good marketing
and good development practice.
KDE´s adoption gives cred. bugreports. Many contributions:
Phonon and webkit.

Trolltech helps KDE
Good development tools. Engeneering team of 100 peope doing boring
work. Sponsors KDE developers. Trolltech system commit
components to other projects. Example: Font rendering in
Firefox. Font rendering in OLPC. KDE deelpers have a hotline to
Trolltech, and influence Qt releses.

Question: Does KDE requirements make problems for Qt developers (too
dominant customer). Answer: No ;) The question is rised from time to time, but it is not perceived to be problem.

Cross plattform: Same API across desktop, embedded and mobile.
Provides a GUGI emulation layer. Need to follow a lot of GUIs ;)
(vista, Mac, KDE, Motif etc.) Covering desktops and devices with this
approach. Probably why Nokia did this, so developer don´t have to
think about all this.

The web kit story:
1998 KDE cleaned up their web engine, making KHTML.
2003 Applea nnounce webkit for Safarei, beuilt on KHTML
2005 webkit and khtml diverged, apple submittd code in bulks
(difficult to keep up).
Apple opened up developemtn june 7 2005. A week later nokia
announced web browser S60 made with webkit.

KHTML people a bit crossed. There was a fork between webkit and
KHTML, but in 2005 they opened up like a good open source project
is supposed to do. An employee made the Nokia S60 browser in one
night, on his own time. After that it was adapted by Nokia proper.

2005 support for SVG. 2006/2007 webkit tested at Trolltech´s
creative Fridays. Jun 2007 windows port. jul 2007 KDE team moves
to webkit May 2008 Trolltech integrates webkit.

Demo: Playing Anthony Rother playing on Amarok. Displaying ewbkit
components in the user interface. Mixing elements, getting cover art
from Amazon. Embedding web elements into applications. Blurring the
borders between applications and browsers.

Comment: I see why this (letting you integrate your web pages into any
application) is a good idea: It lets you control stuff on the backend
way simpler than you can from a sandboxed browser, while you still let
the rendering being done like normal web rendering. The alternative
would be to break open the browser sandbox, and let it access system
resources quite freely (in essence writing a sandbox-breaking plugin).
Two ways of doing things, chose one that fits.

Market share data:
Using ccid consulting source
Perhaps this url:
(silly number)

Realtime games:
Most popular game in England: Bingo. Mention university of
Lancaster, using bluetooth connectivity example: When in proximity
of a friend, your phone starts to vibrate, you have to pull it out
and pull the trigger. Two pictures "shooting you", "Booom". Very
very simple game, but interesting gameplay. You don´t need cool
graphics to make interesting games.

Showing student examples: Battleship and tower of devense. Knut believes that gaming will be a big thing on phones ;)

Internet enabled applications with webkit, making it easy to program the devices.

The Gaia library javascript library

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

The presentation is on http://
About Gaia: Standards, dual licensed javascript library. Works on many things.
What is the open web?

The way forward is to build on standards, and build small stuff on top of that. JavaFX, silverlight etc, is emphaticly not the way forward.

There are a bunch of AJAX framework. Many, many many, in some periods there were three of them every week.

Hmm, this guy is heavy on the ideology, booring. I´m reading Yegge instad ;)

Ok, he said something interesting: "Bill Gates´s last act as an agent of influence in MS was to set the company up for failure" ;)

Espen Andersen: Disruptive technolgoes, open source and mobile.

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.
Espen Andersen: Disruptive technolgoes, open source and mobile.

Teach at BI, speeches here and there. Interested in serarch right now. Last time he did research on the mobile industry was seen years ago.

The relationship with technology revolution and business. Technologies wishes to make the best technologies.b Examples: Amiga. BeeOs, NeXT, Wankel engine, Betamax, NeXT.

He tells about Microsoft FolderShare that saved him when his computer died, presentation now running on Knut Yrvin´s pc.

The betamax case: Beta had max playtime of 1 hour. VHS worse in every respect, except that it had two hours of . He then tells about the "," and "something" buttons that whites or blacks out the presentation.

Innovation and technology evolution is anything but simple. First of all there is a mix of incremental and revolutional jumps. All the small steps over time do most of the work.

In the beginning of a new technology (in the revolutionary phase), you get a lot of diferent set of sollutions. Mentions weird examples from car industri ;) After a time a dominant design surfaces. For the computers it was the IBM-PC, for the airplane industry it was the DC-3 (Dakota) (mye comment: actually, it was the DC-4 that had the nosewheel, and after that the basic configuration didn´t change). After that you don´t compete on functionality, but on faster better cheaper. The dominant design is never the best technology.

When marketing technology, you have to figure out where you are. He thinks we are in that space with laptops now.

The innovation process is multi leveled: Smooth aggregate growth shadows many levels of variation.

What is a disruptive technology anaway.
  • Your best customers don´t want it
  • It has lower performance (at least in the dimensions you are used to measuring it in)
  • If you did it will loose money
... And it will kill you :) (examples: CDs)

Example: Cookbooks. He was talking to a publisher as a consultant to develop a strategy to put DVDs with cooking videos as a part of a cookbok. He said: What about using the internet (typing in the stuff you have in the fridge, see what google makes of that).. He was never invited to that strategy seminar.

Displaying Clayton Christensen´s clasic quality overshoot diagram, talks through the "disruption from below" scenario.

Talks about media monitoring services (meltwater, etc.)

Then about speed responsivenes and customization as factors to use when competing against a functionally superior competitor.

Telco: There is a stack: Network operators, virtual operators, service hosts payment providers and social networks. Layered services building on the servies below. The customers need to talk to each other. Claim: Open source has very little to do with this picture. Roaming agreements do some things: Works for banks, sms, phones.

When you get services built on services, the value of those services increase. The services on top pays for the services down. This is called service complementarity. Users like the whole stack better than we like any one of the networks (note: an operator that is not capable of facilitating complementary services may have a problem).

Some advice to opera: Think like a weapons manufacturer. Start with operating systems, go to handset manufacturers, now sells to operators. Go to the places where there are the most wars (metaphorically ;) (btw, this part of Espen's presentation was picked up by the press and reported in :-)

Showing an image of the iphone. Telling that the phone people in Ericsson or Nokia would probably say "this is a shitty phone", but it is

The evolution of functionality: Problem, Product, Plattform, Protocol.

Refers to an essay by Neal Stephensen ("in the beginning was the command line"). Great essay. go read it!

If you are going to continue being closed, you have to be -way- much better than the others people. Predicts that facebook will have to burst open or it will be outcompeted by googe.

  • Open soure bild little in elecommunications.
  • Everything needs a business model in the end
  • Open source requires identifiable customers
  • The end user does not care about weher the sercie is open or not (except for DRM and then largely about convenience)
  • Software vendors are weapons amnufacturers. They need to find uruely areas with many local warlords: Opera os-> handset makers -> operators.

Specifici functionality is what it is all about:
  • Always on: Does not need to initiate the session.
  • Location aware: Knows where it is.
  • Information capture Can capture information such as bar codes.
  • Authentication: Can securely identify its user or owner
Talks about a collegue (or something) that has a camera strapped to his body, taking an image every few seconds. He remebers -everything- he has done the last few years.

The personal architecture is where the competition will be played out.

How do you make a technology disruptive: Shows picture the Think car. How do you market an electric car? What you need to do is a find a situatio where the drawbacks of the technology is a plus? Suggestion: Sell to youngsters. You have to address one of two targets: People who can´t affort the stuff. Kids around here (Skien) drives tractors and mopeds. Question: Why don´t Think come up with a moped car that can´t run faster that 45 kph? Just an example ;))

Find unique features (good and bad) Find markets where bad features are good features. Fin markets that are overserved by current tehcology, find markets that is not consuming available technology. Mentions: Sony: Hearing aids for deaf people and transistor radios for teenagers. do not try to take the main competitor head on.

Advice to audience: Focus on the service, find someone who really need you.

Bill Gates laid out his strategy in a Fortune article in 1984. Spelled it out how windows was going to do things. The journalist says that this will not happen because there are mch better offerings out there.,,

Thursday, June 19, 2008

Terrence Barr: The future of java on mobile plattforms

This is a blog from the Open Nordic conference in Skien Norway 19-20 june 2008.

Terrence Barr: The future of java on mobile plattforms

Listening to Terrence Barr talking about the future of java on mobule phones. I got in a little late, but this is a few notes from what I did get what I got:

PhoneME is an open source implementation of java for small machine.
Can run midlets, can run on Sun SPOT & Squawk VM and PSP. Can be used to make your own consumer device :-). It has a number of persistence frameworks. A bunch of IU toolkits.

GUI stuff

SVG (Scalable Vector Graphics) is a part of MSA (Mobile Service Architecture), and should be available on most newer phones.

LWUIT -> Lightweight UI Toolkit. Quite interesting.
  • Swing inspired
  • Matisse will be integrated with LWUIT (a specific widget set).
  • Doesn´t have a HTML renderer, but that would be nice ;)
Beyond mobile.
One example is the blueRay runtime (which is quite capable), that makes it possible to mesh static content (DVDs or whatever) with dynamically updated content. Imagine a DVD that contains an up-to-date list of stuff relevant to the content on the DVD, it´s possible today or so the man says ;)

Sun has a kind of vision about it being possible to create content that is cross-plattform for just about all kinds of screens: Workstations, phones TV etc.

  • Rich content should be simpler. Flash does a lot of intersting things.
  • At its core it is the JavaFX scripting language.
  • Targeted towards designer/consumer segment.
  • Hope for cool tools to be developed, but they don´t exist yet.
  • Java 6 has scripting extensions, and FX is just one more of these.
  • Is a runtime that is layered on top of java.
  • The idea is to run one JavaFX application, and then let tools deploy it to various platforms, very close to a final version.
  • Question: How easy will it be to run JavaFX on an Android platform :-)
  • The FX runtime and SDK will be out this summer (beta). Player available. Coming to more mobile devices spring 09. Will be an application to be installed on top of the phone.
  •, open source version of some FX stuff.

Questions and answers:

  • Java on the iPhone: Some legal wrangeling going on, nothing determined yet. Need to distribute things from the apple store. Have it running internally at Sun, but it cant´be released. The prototype is running, they hava both jamvm (java se) running, a clean room implementation. Can be run on a jailbroken iphone. The core VM was ported in two days. phoneme alred support
  • What about a newer java than 1.4 on phones: Sun is thinking about updating the CDC/CLDC (Connected device configuration / Connected Limited Device Configuration). Terrence is not reallyb certain that you need a more fancy language, claims it requires more resources (I´m not so sure about that). CDC now has a fairly modern Java except for the java 5 language features: CDC now has reflection but still don´t have generics and autoboxing.

Wednesday, June 11, 2008

Stuff that works, and stuff that doesn't.

A (too large) part of my job seems to be finding out what pieces of software works together and which doesn't. So here is a short list of the last few day's findings:
  • Jboss tools doesn't work with MyEclipse, but do work with the J2EE distribution of Eclipse 3.2.2.
  • Google AppEngine doesn't work with the ZSI web services library, and as far as I know there is no tractable way of getting web services in to or out of the AppEngine.
  • Ubuntu Hardy Heron:
    • a) Is incapable of seeing the disks on my spare workstation (which is surprising since both XP and the BIOS is perfectly capable of seeing them).
    • b) Has a network configuration utility that seems broken beyond what simple twiddeling can fix: It is impossible to set a static IP address when running as a vmware appliance!! (this is actually quite mindboggling)

  • jBoss 4.2.2 and jBossSeam installs and runs quite nicely under Ubuntu 7.10.

Wednesday, June 4, 2008

Mac OSX Freeze, mega frustration!

Today I installed a routine upgrade of OSX from Apple on my MacBook, and now the beautiful machine won't boot. It is black, utterly black. This is so frustrating!

Monday, January 21, 2008

Languages :-)

I love languages. Right now I am quite interested in Perl 6 (I just read Simon Cozen's blog), for a couple of years I've been tracking Fortress , a Sun Microsystem's a research project. Now: Fortress needs a really good backend VM. They may have to develop it themselves, they may do that by hacking a Java VM, or they can adopt some other VM. I wonder: How hard would it be to a) strap Parrot (Perl 6's backend) to Fortress (probably not that hard, as these things go) and b) make Parrot run with really high runtime efficiency, the kind needed in the high performance applications Forress is intended to be used in?

I would really, really like to know the answer to b.

Monday, January 14, 2008

"Procrastination laddering" as a productivity tool

Yesterday I discovered that I had discovered a new productivity tool: Procrastination laddering.

First a bit of background. I am an INFP personality type, that means that I always juggle more balls than I can manage, at least it feels that way. I work as a research scientist, I'm a father of four so you can imagine that I'm quite busy. Even so (and in character :), I have set a (wild, hairy) target for myself: To (eventually) learn enough physics to have some form of comprehension of quantum field theory (and String theory ;). Now, in order to that I have to both brush up college math, and learn a lot of new math and physics. All this in addition to my regular duties at work in family.

So how do I do that, and get some progression? Well: I have a list of stuff I need to learn and relearn (basic calculus, linear algebra, differential equations, topology, physics this and physics that ....). The list is long and daunting, and the method I'm currently using is that I always have two topics that I'm focusing on. One quite hairy, one less hairy. The thing is that I'm also a terrible procrastinator, but in this case my propensity to procrastinate can be turned into a effective motivator: I procrastinate by substituting what I feel i should (the really hairy stuff) by something I feel that I want to do right now (the less hairy stuff). When I eventually catch up with the really hairy stuff through more or less steady progress on the less hairy stuff I just set a new really hairy learning target that I can continue my procrastination while still making progress.

It works for me and I call it "procrastination laddering" :-)