TamsPPC – the Windows Phone Blog

The Windows Mobile news and opinion source

July 25th, 2009

Create icons for Windows Mobile 6.5

Windows Mobile icons have always been an eeker of some sort: while not as batshitly difficult as S60 application icons, they have nevertheless given me quite some thought due to the lack of specification on Microsoft’s behalf.

Fortunately, Microsoft has now tackled the problem – the Windows Mobile blog team has just added a post which starts like this:

This post provides a step-by-step tutorial for creating professional iconography for your Windows Mobile application. With these guidelines and Adobe Photoshop, developers will learn to apply the appropriate styling and sizing to their image assets for use within their applications as well as in the Windows® Marketplace for Mobile. In addition to the tutorial, a Photoshop action file is provided for assisting with the creation of the required files. Developers who are planning to distribute applications on the Windows® Marketplace for Mobile are encouraged to utilize these guidelines to ensure their applications adhere to the application submission criteria.

Even though the tutorial is very well-written, it seems to require that wannabe icon makers own a recent copy of PhotoShop. This means that GIMP heads are likely to be left in the rain when it comes to sample images – but they can now get their hands onto the sizes there, too.

Further information can be had here:
http://windowsteamblog.com/blogs/windowsphone/archive/2009/07/24/creating-custom-icons-for-windows-mobile-6-5.aspx

June 5th, 2009

Windows Mobile 6.5 SDK released

Microsoft has just unleashed the Windows Mobile 6.5 SDK upon the masses:
 Windows Mobile 6.5 SDK released

Surprisingly, the SDK is based on the Windows Mobile 6 SDK and even goes as far as to require it installed. This gives us system requirements of at least Windows XP SP3 (no Windows 2000) and Visual Studio 2005…

Hit the link below for further info (and be pprepared for a 300MB download if you wish to develop for Standard and Professional)!

Windows Mobile 6.5 SDK

May 28th, 2009

NS Basic/CE updated

ScreenShot 1 NS Basic/CE updatedNS Basic/CE has just been updated to version 8.0 – the latest version of George Henne’s ultra-easy (and very affordable) Visual Basic lookalike adds the following new features:

1. Gradient Buttons (picture on the left)
2. Creation of installers
3. Vastly simplified installation and distribution of apps
4. No separate runtime required
5. Embedded resources
6. Lots of other stuff as well. Read on below for more…

Upgrade prices begin at 50$:

Upgrades are available to existing users starting at $49.95. Customers who purchased NS Basic/CE after April 1, 2009 will receive the upgrade for no charge.

All those of you seeking further information should hit the URL below:
http://www.nsbasic.com/ce/info/Readme.htm

March 14th, 2009

Red Five Labs updates Net60

redfive Red Five Labs updates Net60The .NET CF was originally intended to be highly portable: unfortunately no implementations were made available except for the various breeds of Windows Mobile.

Developers who want to extend the reach of their .NET CF apps to the millions of Nokia devices in the market have thus looked to a South African company called Red Five Labs – their Net60 runtime allows .NET developers to target S60-based devices.

Net60 has just received a major update, adding touchscreen support under S60v5 among other changes. The full press release is below:

We’re proud to bring you another improved release of our acclaimed Net60 .NET framework for Symbian.

Our 4th release in as many quarters contains many significant improvements.

Version 2.1 now has a great looking WinForms UI which is much more stable than previously. The look and feel of the controls is more polished, much faster and all known issues related to the UI have been fixed.

The Net60 Version 2.1 UI also supports touch, meaning S60 5th edition devices are now supported!

Cross-platform Mobility Framework
Net60 is compatible with Microsoft’s .NET Compact Framework 2.0 and our 30 day trial now ships with an evaluation version of the Red Five Labs Mobility Framework. The Mobility Framework incorporates a host of managed APIs in a collection of DLLs which make it possible to develop cross platform solutions for both Windows Mobile and S60 using one framework. We’re shipping a great sample application which demonstrates the concept using the messaging layer provided in RedFiveLabs.Mobile.Messaging.DLL.

We’ve also made major advances on our runtime: performance has improved overall with significant improvements in many sub-components of the class libraries. Its a much more stable build.

The development tool chain also contains many improvements. Our debug build of Net60 containing the Net60 Launcher now supports folder navigation and loads wait cursors and icon resource files too.

The Genesis wizard now generates your application’s .pkg file and also allows developers to edit and therefore customise their .SIS file.

January 22nd, 2009

Visual Basic 10.0 vs C# 4.0

The topic of VB against C# is as old as the two languages themselves: I am firmly in the VB camp and consider C# a rather useless language which will have a fate similar to Ada. Others feel that VB is a language for idiots and should not be used by anyone (in extreme cases, these boys insist on offering C# to students even though 80% preferred Java when having to pick their subject).

It looks like all of the squabbling is just about syntax, as Microsoft’s team is actively committed to keeping the two languages feature-equal. The chart below comes from the official VB blog and outlines the “new” features found in C# 4.0 and Visual Basic 10.0 (released in VS 2010):
image thumb Visual Basic 10.0 vs C# 4.0

This quote accompanies the post:

One thing you may notice is that the lists look very much the same! That is part of our efforts to ensure that whichever language you are using, you will have the same functionality available to tackle your development tasks.

So: what do you think? C# of VB?

December 27th, 2008

TCHAR vs char – or – Windows String types made “easy”

.NET developers are blessed by not having to care about the joys of character representation on Win32-based platforms – while most other OSses (e.g. Palm OS) are limited to single-byte chars, our friends at M$’s have cooked up a variety of different types including Unicode.

One resource I personally found extremely useful was Michael Dunn’s two-part tutorial. It starts by looking at the memory representation of “advanced” strings, and ends at string conversions – find it at CodeProject’s:
The Complete Guide to C++ Strings, Part I – Win32 Character Encodings
The Complete Guide to C++ Strings, Part II – String Wrapper Classes

Microsoft’s MSDN unfortunately is very confusing when it comes to strings. Nevertheless, the Win32’s String Chapter contains a few useful articles (hidden under UI…as if anyone would look there) – hit the URL below for the full scoop:
Unicode in the Windows API

December 7th, 2008

Carbide.c++ – now free

 Carbide.c++   now free
Just in case anyone of you currently evaluates S60 development: Carbide.c++, the official IDE from Nokia, is now completely free according to Lucian Tomuta:

The new Carbide.c++ 2.0 has been released today and there’s a bit of extra surprise coming with this news: all the Carbide.c++ editions are now free of charge.

In fact the Express version as such no longer exists, and while the installer still prompts you to select one of the three remaining editions they are all available to you for free so you may as well pick the OEM edition and have all the product features enabled.

Find out more at our sister site TamsS60:
TamsS60 – Carbide.c++ – now free

November 23rd, 2008

Visual Studio 2010 – what will change

CNet News managed to get their hands onto two Microsoft executives willing to talk about the upcoming changes in Visual Studio 2010 and .NET 4.0.

In general, the changes will be rather irrelevant to individual developers, and will be felt only in bigger teams. For example, Microsoft has beefed up the logging features for a “testers edition” of Visual Studio – it now makes tracing bugs easier.

Desktop developers will also be happy about a new bunch of libraries enabling the creation of “parallel” programs: as industry insiders told me that the first dual-core devices should be due around 2011, the timing turn out to be right after all…

What would you like to see in VS 2010?

October 9th, 2008

GapiDraw 4.0 released

Breakout 280 GapiDraw 4.0 released GapiDraw, a high-performance graphics framework used for developing Windows Mobile games, has just received a significant update. Version 4.0 of the product adds the following features:

New features in GapiDraw 4.0

DirectDraw support. GapiDraw will now use DirectDraw instead of GAPI or GETRAWFRAMEBUFFER to access the display on Windows Mobile 5.0 devices and later. Switching to DirectDraw means that GapiDraw applications can take advantage of hardware accelerated graphics and run in windowed mode, at the cost of slightly lower performance on devices without hardware acceleration.

Hardware-accelerated graphics. GapiDraw will now detect and use DirectDraw hardware acceleration on Windows Mobile devices if available. Functions supporting hardware accelerated graphics are marked in the documentation.

Windowed mode support. You can now run GapiDraw applications at high performance in windowed mode using DirectDraw on Windows Mobile 5.0 devices and later. In windowed mode you can take advantage of the SIP input panel to allow the user to enter text data.

Fullscreen toggle. You can now seamlessly switch between windowed mode and fullscreen mode on Windows Mobile 5.0 devices and later.

QuarterSize display. If you use the new display flag GDDISPLAY_QUARTERSIZE, GapiDraw will use a backbuffer that is half the width and half the height of the display, if either the width or the height of the display is greater than 320 pixels. This is a great option for developing and running mobile games on newer mobile devices with display resolutions of 800×480 pixels and more (in this particular example the backbuffer would be sized to 400×240 or 240×400 depending on display orientation).

GradientRect. GapiDraw 4.0 introduces an optimized gradient fill operation with support for opacity. GradientRect can draw top-to-bottom, bottom-to-top, left-to-right, and right-to-left, and prerenders the entire gradient in two directions for very fast performance.

Performance improvements. GapiDraw 4.0 adds StrongARM and XScale precaching (pre-reading four cache lines simultaneously) to BltFast and AlphaBltFast for important performance improvements. GapiDraw 4.0 also has improved performance on stationary PCs in windowed mode and much faster GDI surface locking.

Documentation improvements. All documentation was reviewed and much of it was rewritten. A new and easy to follow “Getting Started with GapiDraw” tutorial was added. Click here for the new and updated documentation.

New advanced tutorial: Breakout. Learn how to use GapiDraw to create a complete mobile game using the easy to follow tutorial “Breakout”. You will find Breakout in the samples folder.

Improved Visual Studio 2008 support. All samples now include ready to run projects for Visual Studio 2008 mobile and stationary environments.

The basic license for the program costs rather steep 1000$, but allows you unlimited usage inside your company. The source code can be obtained for 3500$. Developers wishing to find out more can visit the GapiDraw web site and/or look at the above-mentioned tutorial.

September 6th, 2008

XPERIA X1 – Panel SDK released

Developers wanting to create panels that plug into Sony Ericsson’s “Sliding Panel homescreen” can now do so – the SDK has just been released. The requirements for the SDK are pretty humane – you need Visual Studio 2005, the WM6 SDK and the latest version of ActiveSync 4.5.

Unfortunately, Sony Ericsson does not specify which programming language(s) can/must be used to create these panels – I am pretty sure that .NET CF developers will be left out due to the way-too-long startup time of the CLR interpreter (up to three seconds on my rx4240).

Amusingly, the SDK ships with a full XPERIA simulator – should anyone of you feel like taking the box for a spin: this is your opportunity…

Further information can be found at Sony Ericsson’s developer network!

August 17th, 2008

Visual Studio may get multi-monitor support

I have used a dual-screen workstation for literally years, and don’t feel comfortable working on a device that has just one screen (laptops included). However, development tools have traditionally ignored multi-screen setups, leading to awkward setup procedures in order to get the most out of your two screens.

The UK-based tech news service TheRegister has claimed that Microsoft’s VS product manager has confirmed that the next version of Visual Studio will include changed that make VS work better on multi-monitor systems.

As of now, no information is available on what the folks at Microsoft’s will come up with – but its definitely a good thing to see the biggest developer of development tools focus on multi-monitor issues…

August 4th, 2008

Windows Mobile API usage tool released

Reverse engineers (Microsoft seems to love these guys given the lackadaisical state of obfuscation) and developers alike celebrate the release of the “Windows Mobile API Usage tool”.

This program allows developers of native applications (no .NET CF support, afaik) to scan their applications and determine which Windows Mobile API’s are used. Additionally, the usage of depreciated API’s can also be analyzed and tracked.

The generated data can be used for a variety of purposes. For example, third parties can analyze applications to determine which API’s their emulators/simulators need to support in order to run a particular application.

Further information is available from the Windows Mobile Team’s blog.

July 30th, 2008

Resco releases CustomKeyboard component for .NET apps

Resco recently branched out into the components busi9ness, and has released loads of interesting and/or useful components since then. Their latest offering is called CustomKeyboard and is just that…a control that allows you to create custom keyboards for your application.

The image below (animated GIF) shows a few of the endless possibilities:
CustomKeyboard Resco releases CustomKeyboard component for .NET apps

Developers interested can obtain a free evaluation version of the control at Resco’s web site. The controlo itself comes as part of Resco’s MobileForms toolkit and – unfortunately – costs at least 500$…

July 23rd, 2008

How to switch between VB.NET and C# perspectives in Visual Studio 2005

Microsoft Visual Studio 2005 supports different “perspectives” that are optimized for specific programming languages. Usually, the program lets you decide when you start it for the first time…but what do you do if you selected VB.NET and want to switch back to C# or vice versa?

The trick involves the use of Extra menu which can be used to make settings “transportable” – the full scoop is available in Microsoft’s knowledge base.

February 13th, 2008

Code reuse for Pocket PC and Smartphone

I am currently working on “porting” my VB.NET test application from Pocket PC to Windows Mobile Smartphone(two binaries, but one code base) and have found the following links very useful. Treat it as a “collection of resources” for now – a detailed writeup comes in the near future!

Share Source Code Across Platforms (Devices)
This article gives you a broad overview at what’s needed.

Verify Platform Support for Code in Device Projects
A single line can kill your app – this article tells you how to tell the VB compiler to make sure that no “unedible” code is compiled.

Change Platforms in Device Projects
This little writeup tells you how to switch your Visual Studio between the two “platforms”…

If you find any other useful resources, please post them here!