Skip navigation.

Ambassador

The Royal C++ Embassy

Posts tagged with "port"

Did you hear that? Windows CE port is ready!

, , , ...

According to Opera Press Release, we have announced Windows CE SDK officially, as of yesterday.

I have started Windows CE port a few months ago. This official announcement made me very happy! I can now share my porting experience and excitement of rest of the team.

I would like to start with brief information about basic features we have today:
  • Features are equivalent with Linux SDK, so that a company can basically reuse its code on both platforms (Wow!)
  • Multiple tabs
  • One native window, multiple Opera windows
  • Widgets
  • User JavaScript, User CSS
  • AJAX
  • Wand
  • Bookmarks
  • Netscape Plug-ins
  • Multiple rendering modes (like Medium Screen, Small Screen, Desktop, etc)
  • Page Zoom
  • Native JSPlugin (basically; calling native code from JavaScript)
  • Many more, countless features!


It was a real effort
Starting a new port from scratch is difficult. Platform doesn't provide everything you need so you need to re-invent wheel. You need to know what does platform provide, what's the best way to utilize platform's API and not invent an equivalent one (which is potentially slower and less stable).

Preparing an SDK is slightly more difficult than preparing a full application. Customer of an SDK is usually another company, or say, another developer. These people will build their business upon something you do. They need full and correct documentation; what sort of functions does SDK provide, what are function arguments, return values, disaster scenerios... SDK should prefer telling caller that one of its functions is called incorrectly, instead of crashing whole application. SDK should be more stable, rock-solid than application itself.

SDK is a closed box but vendor should not make people to wonder its code (either just to see "how stuff works" or worse "fix a bug"). At this point, well documentation is crucial. Well testing is essential.

Testing an SDK is slightly different than testing a final product. Most users can test a final product, because, for example, it's got buttons, menus, help - something that they can understand and experience; this may not require any software engineering knowledge.

In SDK case, testers have to be experienced software engineers who can harness given library, who can guess pitfalls in software engineering and find potential crash-bugs. They can call functions in many weird ways, try to break it; like passing NULL to a function, where argument is intended to be an output buffer. Similarly, passing -1, calling from multiple threads, subsequent calls, out-of-memory conditions, etc.

We have added just one more platform, Windows CE, and hundreds of different embedded devices to platforms and devices Opera can run.
Download Opera, the fastest and most secure browser
December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31