Tag Archives: Mango

Fixing the Mango Microphone issue – part 2

In the first part of this short series I have demonstrated that Mango has somewhat broken XNA Microphone object, at least when it is used in Silverlight. Even the standard Microsoft’s own Silverlight Microphone Sample generates a broken sound record with some data missing, if you change the buffer length from default 500 ms to 100 ms.

Look at the sound sample recorded with 500 ms buffer on Mango, or with 100 ms buffer on NoDo:

Debug Wave recorded by NoDo 7.0 Emulator in SDK 7.1

Joined 100 ms NoDo or 500 ms Mango Debug Wave records on both phone and emulator look similar to this graph (click on it for a bigger picture).

The same sound sample recorded with 100 ms buffer on Mango:

Debug Wave recorded by Mango 7.1 Samsung Omnia 7 with 100 ms buffer

Joined 100 ms Mango Debug Wave records on both phone and emulator look similar to this one. The wider (louder) marker waves are unevenly spaced, so some data is missing.

My next step was to measure the real rhytm of the buffers generated by the Microphone. Note that you cannot use System.DateTime.Now property, because of its ca 50 ms resolution. Instead, we will use System.Diagnostics.Stopwatch object, which provides better than 1 ms accuracy.

In theory, the Microphone should fire the BufferReady event every 100 ms. But the reality is quite different.

This is the list of the intervals – measured in milliseconds – between the subsequent 100 ms BufferReady events in the (emulated) NoDo:

101
51
151
101
51
150
51
152
101
51
151
51
151
51
101
151
51
152
51
101
152
51

As you can see, there is a regular pattern of the three 100+, 50+ and 150+ ms intervals, with some swaps. Ten intervals usually make ca 1011 ms. The length of the buffer is always 3200 B and the buffer contains 1600 x 16bit samples, which make 100 ms of sound. Buffers are perfectly connected to each other and no sample is missing or superfluous. (I haven’t yet cracked the interesting question where are going these surplus 11 milliseconds.)

Let’s switch to Mango:

97
139
69
105
68
135
70
104
138
69
139
35
138
138
35
139
69
105
137
70
138
69

This is recorded on Samsung Omnia 7. The emulator produces different values, but with a similar pattern: This time there are four, not three typical lengths – ca 100, ca 140, ca 70, ca 35. The sum of ten intervals is usually ca 1005 ms now, so it’s better, but the output data is incomplete. It seems that the intervals longer than 100 ms overflow the buffer.

The Microphone object is part of Microsoft.Xna.Framework.Audio namespace. It is dependent on the XNA Framework game loop. You can use it in the Silverlight Windows Phone project, but you have to simulate the game loop with a code like this:

DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(33);
dt.Tick += new EventHandler(dt_Tick);
dt.Start();

void dt_Tick(object sender, EventArgs e)
{
     try { FrameworkDispatcher.Update(); }
     catch { }
}

33 milliseconds is a timer interval used in the Microsoft’s Silverlight Microphone Sample. I have used the same value, but my next step was to experiment with different timer intervals. Indeed, the resulting Microphone tick lengths were somewhat different, but there was always some data missing, overflowing the buffer – the fundamental issue hasn’t disappeared.

Perhaps you already suspect the solution: We just need a bigger buffer! So, let’s record it with a 6400 B buffer.

Debug Wave recorded with a 6.400 B buffer

Folks, this looks promising! At first look, when we erase the gaps, and join the signal segments, the resulting record may be perfect… Let’s try it in Excel…

6400 B buffer segments compacted in Excel

Oops! 😦 What could have gone wrong???

Why are some segments too long, but no segment is too short? These 35 ms segments should have been short, I guess? Wait! Do I clear the buffer every time? No, it wasn’t necessary in NoDo, because the buffer was always filled up to its fullness in every Microphone tick. In Mango, the Microphone buffer must be cleared before every BufferReady event. 😦 Let’s go on!

Cleared, recorded and compacted 6400 B buffers.

Bingo!

So the winning process is:

  1. Allocate bigger than nominal buffers.
  2. Clear them.
  3. Fill them.
  4. Join only the filled parts of them.

This seems weird. The Microphone object has GetSampleSizeInBytes method. So we should just invoke this method after (or before) every tick and it should return the actual buffer size… but no, it doesn’t work this way. I have played with it for some time, but it always returns just the BufferDuration x 3200 value. It doesn’t reflect the real tick record size, just its ideal size, which is always matched in NoDo, but never in Mango…

The issue with the XNA Microphone object in Mango with 100 ms buffer is that the real buffer length is variable and there is no working API to get its length!

The good news is that no data is really lost. We just don’t know we actual size of the one tick record, so we have to figure it with some workaround. The way to go is to count zeros from the end of the buffer backwards. It may be slightly wrong in some cases, when the sound samples are actually zero at the end of the partial records, for example when the wave crosses the X axis and has exactly zero value at the end of the record. But these cases are quite rare and we can neglect them – at least if we are building a tuner.

In the next and the last part of this mini-series I will publish the source code of the Carousel object, which uses the above described methods to deliver solid data from the capricious Mango Microphone. The living proof of its reliability is my app Accurate Tuner Pro, probably the best pitch tuner for Windows Phone.

INSTALL ACCURATE TUNER PRO UNLIMITED TRIAL FOR FREE

What should Microsoft do now? Change GetSampleSizeInBytes of the Microphone object to return the actual size of the just recorded buffer.

Let’s hope it’s fixed in Tango. But still, Tango rollout is going to take some time, so the Carousel object may help you.

To be continued.

5 Comments

Filed under WP developement

Fixing the Mango Microphone issue – part 1

Last september, when Windows Phone 7.5 Mango update was released, it broked my Accurate Tuner Beta. I’ve analysed the issue and was able to release the update that fixed it.

The two videos below illustrate the situation. First the trouble (Mango is installed on the phone, while the emulator still uses NoDo and works properly):

Then the solution:

I promised to explain it in detail back then, but I lacked the time to do it. Now, when I have sent Accurate Tuner Pro to the Marketplace certification, I can fulfill my promise and write a short series about this issue.

Perhaps it is not so important now, because new Tango update is behind the corner and may fix it. In the last part of this series (3rd or 4th) I will publish the source code for the Carousel object, which is used by Accurate Tuner for harvesting solid sound data from somewhat broken Mango microphone.

To map the problem I have created a simple tone generator. It produces a 500 Hz wave (B4 + 21 cents) with a specific shape: “Normal” wave has the amplitude of  5.000, while every 10th wave has the amplitude of 15.000. The resulting “hedge clipper” shape makes a growling sound and looks like this:

Source Debug Wave 500 Hz with 50 Hz markers

Source Debug Wave 500 Hz with 50 Hz markers

Click on it for a bigger picture.

Wave parameters:

  • Sampling rate: 16 000 Hz – the default sampling rate of Windows Phone OS 7.0 and 7.1
  • Base frequency: 500 Hz, wave length 32 samples
  • Frequency of the markers: 50 Hz, wave length 320 samples

Tone Generator source code:

/// <summary>
/// Creates the DEBUG Wave with the debug parameters
/// </summary>
public void CreateDebugWave()
{
    // DEBUG PARAMETERS
    _samplingRate = 16000;
    _frequency = 500;
    double _normalAmplitude = _amplitude = 5000;
    double markerWaveAmplitude = 15000;
    int markerWaveStep = 10;

    int waveLength = (int)(_samplingRate / _frequency);
    int markerSampleStep = markerWaveStep * waveLength;

    double doubleSample = 0;
    Int16 intSample = 0;
    byte[] byteSample = new byte[2];
    double b = (Math.PI * 2) * _frequency / _samplingRate;

    int j = 0;

    // The wave buffer is one second long
    //
    // This works for whole number of waves (= integer 
    // frequencies) only. 500 Hz or 440 Hz is OK, while
    // 261.63 Hz will make a snapping sound every second.
    //
    for (int i = 0; i < _samplingRate; i++)
    {
        // Marker wave creation
        //
        // This is simple and clear, but not very efficient.
        // It doesn't matter here.
        //
        if (i % markerSampleStep == 0)
            _amplitude = markerWaveAmplitude;
        else
            if (i % markerSampleStep == waveLength)
                _amplitude = _normalAmplitude;

        doubleSample = Math.Sin(i * b) * _amplitude;
        intSample = (Int16)Math.Round(doubleSample);
        byteSample = BitConverter.GetBytes(intSample);

        _buffer[j] = byteSample[0];
        _buffer[j + 1] = byteSample[1];

        // DEBUG For debug visualization purposes only
        _bufferInt16[i] = intSample;

        j += 2;
    }
}

/// <summary> 
/// Creates and plays the wave.
/// </summary> 
public void Start()
{
     // DEBUG 
    CreateDebugWave();

    SoundEffect sound = new SoundEffect(_buffer,
                        _samplingRate, AudioChannels.Mono);

    if (_isPlaying)
    {
        _soundInstance.Stop();
        _soundInstance.Dispose();
        _soundInstance = null;
    }

    _soundInstance = sound.CreateInstance();
    _soundInstance.IsLooped = true;
    _soundInstance.Volume = _volume;

    _isPlaying = true;
    _soundInstance.Play();
}

/// <summary>
/// Stops playing the wave.
/// </summary>
public void Stop()
{
    if (!_isPlaying)
        return;

    _soundInstance.Stop();
    _isPlaying = false;
}

By the way, the more universal version of this tone generator is included in Accurate Tuner Pro.

Now the interesting part begins: To avoid any mistake in my code I’ve used the standard Silverlight Microphone Sample provided by Microsoft. It uses 500 ms long sound buffer by default. This is the record it produces on NoDo (recorded in the 7.0 Emulator of the 7.1 SDK):

Debug Wave recorded by NoDo 7.0 Emulator in SDK 7.1

Debug Wave recorded by NoDo 7.0 Emulator in SDK 7.1

I’ve carefully reviewed much longer part of the record and found no irregularities. This data is solid and can be safely used by Accurate Tuner for two purposes:

  • Wave vizualization, which is phase-normalized for the stroboscopic efect usable for fine tuning.
  • Fast Fourier Transformation algorithm, which analyses component frequencies for rough tuning.

Next, let’s run it on Mango:

Debug Wave recorded by Mango 7.1 Samsung Omnia 7

Debug Wave recorded by Mango 7.1 Samsung Omnia 7 with 500 ms buffer

The growing amplitude is probably caused by the automatically adjusting microphone sensitivity of the phone and is not interesting for us now, it reaches some maximum amplitude and then stays constant. Another thing is more important – I haven’t found anything wrong with this signal too.

Is this the way Accurate Tuner records sound? Almost. 500 ms sound buffer is good enough for most recording purposes, but it is too long for tuners or sound visualizations, because you need fast response in these cases. The shortest buffer length allowed by WP 7.0 and 7.1 is 100 ms and Accurate Tuner uses this buffer length.

So let’s change the buffer length to 100 ms. The picture is wider now, so click on it to maximize it:

Debug Wave recorded by Mango 7.1 Samsung Omnia 7 with 100 ms buffer

Debug Wave recorded by Mango 7.1 Samsung Omnia 7 with 100 ms buffer

Folks, this is clearly wrong!

Apparently, some sound data is lost!

This explains everything: While common sound visualizations used for estetic purposes only will still look as usual, a stroboscopic animation will be inevitably completely broken. FFT will provide more interesting and confusing results, as there are still big portions of correct waves here, but these portions are phase-shifted. The final results will be unstable and very inaccurate, but not completely wrong.

Which is exactly the behavior of the original Accurate Tuner Beta algorithms.

(I’m skipping the chart of the NoDo 100 ms buffer, but believe me the record is perfect and looks just exactly as the chart with the 500 ms buffer. I would also point out that the described issue is present in the WP 7.1 Emulator too, so it isn’t specific for Samsung phones.)

What to do with it??? FFT will work correctly, if only “safe part” of the buffer is used, for example 50 ms. But it will be extremely inaccurate. In fact, even 100 ms is not enough and several buffers must be joined for the analysis to be meaningful. Or I can change the buffer size to 500 ms, but the FTT results would be very delayed in such case and almost unusable. And the wave visualization delayed by 0.5 s will be just comical.

We will see next time.

To be continued.

3 Comments

Filed under WP developement

First Nokia 800 teaser is on air!

Nokia has already started to tease its first Windows Phone device – Nokia 800 – in the UK. The ads are very short clips, just about one second long, flashing between other TV adverts on several channels.

MyNokiaBlog was able to join these micro-spots into one, cca 10 second long video, without sound:

The official launch of Nokia 800 and at least one more Window Phone is expected this Wednesday at Nokia World in London.

The countdown has begun!

Leave a comment

Filed under Uncategorized

Accurate Tuner finally works on Mango

I’ve docummented the issues my Accurate Tuner Beta 1.0.0. has with Mango. Put simply, it does not work at all. After quite a lot of hours, I’ve finally managed to repair it!

Yes, it was more demanding than I expected, but all’s well that ends well. After some final testing I will publish the update, so it will be available in the marketplace in a few days. Also, I will publish my findings about the changed Microphone object behaviour in Mango on this blog.

Let’s comment on the video:

  • Notice the Middle C on the Yamaha keyboard is marked as C3, while the tuner shows C4. It is correct – it really is C4 in the scientific notation, used by the Accurate Tuner (261.64 Hz).
  • My left thumb is shaking… no, I’m not that old or terrified, just a little cold. 🙂
  • The fundamental frequency detection is not perfect. Different tone letters or octaves are flashing at times – this is typical for this hard-to-tune guitar with nylon strings I used for this video. Fortunatelly, it’s better with other instruments, including steel-string guitars. In fact, all these tones are harmonics of the base frequency, so do not really matter. All harmonics are in tune at the same time, so you can safely ignore letters and concentrate just on the needle and/or the wave.
  • When you get accustomed to it (and use steel strings 😉 ), you can tune your instrument extremely fast using the wave only.
  • Accurate Tuner design is not Metro and not even beautiful, I know. But it works! Don’t take it for granted, smartphone tuners in general rather do not work well. 😉

1 Comment

Filed under My Apps

VIDEO: Mango vs. NoDo – A Developer’s Trouble (update)

This is my Accurate Tuner Beta for Windows Phone.

Top: NoDo OS version (WP 7.0 – emulator from SDK 7.0, spring 2011 update)

Bottom: Mango (WP 7.1/7.5 RTM, Samsung Omnia 7)

Select 720p.

When in tune, the Wave above the Needle must stand still.

This beta has better than 0.1 Hz accuracy on NoDo, but doesn’t work at all on Mango. Microsoft has changed the Microphone XNA object behavior. The FFT part (Needle) of the Tuner is less accurate and unstable now, results are completely wrong for lower frequencies. The strobo part doesn’t work at all. And the sound wave has very different shape, it seems to be flipped on both axes…

The app had average rating of 4.88 in the Marketplace before Mango. It will go down fast now, of course. It will take at last a week before the update will be published. I should have test it on Mango before the Mango public release, I know. 😉 But I honestly hadn’t expected this kind of change… I’m trying to figure these changes in the XNA sound processing and to fix it ASAP, but it doesn’t seem to be trivial at first. Does anybody know what has exactly changed with Microphone, XNA events dispatching in Silverlight etc. in Mango?

http://accuratetuner.com

**********

Status update

I hope I’ve already localized the issue – and yes, there is a real change of the Microphone behavior, although it probably still is in accordance with the documentation.

Unfortunately, it’ll take some work to adapt my tuner to that change, but it should be possible. I plan to describe it in my blog later this week.

2 Comments

Filed under My Apps

Český návod: Aktualizujte svůj Windows Phone na Mango ihned!

Note for English speaking readers: If you want to force your Windows Phone to Mango right now, you can! The English instructions are here.

Včera začal Microsoft distribuovat dlouho očekávanou zásadní aktualizaci Windows Phone – verzi 7.1/7.5 s kódovým jménem Mango. Update je však rozloženo do několika týdnů a jen asi 10% uživatelů bylo nabídnuto hned první den. Naštěstí existuje jednoduchý způsob, jak váš telefon k update přinutit.

Návod

  1. Protože je součástí update zálohování obsahu paměti telefonu, které může trvat desítky minut, doporučuji před aktualizací odstranit z mobilu hudbu a odinstalovat nepoužívané aplikace.
  2. Připojte telefon k počítači. Spustí se program Zune.
  3. Vyberte Telefon -> Nastavení -> Aktualizace. Pokud je zde k dispozici update, už na vás došla řada a prostě je potvrďte. Pokud vám Zune stále tvrdí, že je váš telefon aktuální, pokračujte dalším bodem.
  4. Zvolte z levého menu Zune jinou volbu, např. Bezdrátová synchronizace. V této chvíli musí být váš počítač připojen k internetu. Připravte se na jeho rychlé odpojení, například vytažením ethernetového kabelu nebo vypnutím WiFi hardwarovým tlačítkem.
  5. Klikněte opět na položku Aktualizace a asi sekundu poté odpojte počítač od internetu. Pokud budete mít štěstí, Zune vám nabídne aktualizaci.
  6. Počítač opět připojte k internetu a aktualizujte.
  7. Při neúspěchu bodu 5 opakujte body 4 až 5 stále dokola. Chce to trpělivost, mně se to podařilo až asi na dvacátý pokus, jiným napoprvé.
  8. Protože se před Mangem (build 7720) musí nainstalovat aktualizace 7392 a 7403, je možné, že budete muset celý proces několikrát opakovat, jak se to stalo některým lidem v zahraničí. Já jsem už měl nainstalován build 7392, nabídlo se mi update na 7403 a po něm se automaticky nainstalovalo Mango RTM 7720.

A užívejte si Mango, které je opravdu chutné! Všechno ve vašem telefonu bude najednou fungovat lépe a první dlouhý stisk tlačítka Zpět (multitasking) je opravdu zážitek.

Jediné zklamání, které mi update připravilo, bylo uzamčení mého zcela legálně, avšak nestandardně, odemčeného telefonu. Nové odemčení je pro mne poněkud komplikovanější, neboť ještě nejsem registrován jako český vývojář. Ale to jsem stejně v nejbližších dnech plánoval udělat.

Naopak velmi příjemným překvapením je česká klávesnice. Domníval jsem se, že bude k dispozici jen na nových telefonech, ale update ji přineslo i na ten můj.

Fotoreportáž

Váš build 7392 je OK, Mango není k dostání

Váš build 7392 je aktuální, Mango pro vás nemáme!

Wireless on

Jsem připojen k síti. Vyberu v menu aktualizaci a...

Wireless off

...rychle odpojit od sítě! Myslím, že jsem uspěl, když jsem to udělal asi po půl sekundě.

7403 je k dispozici

No vida, Mango leželo pod pultem. Tedy přesně řečeno je to přípravná aktualizace 7403. V této chvíli nezapomeňte znovu zapnout internet, já osel jsem to poprvé neudělal a vše bylo třeba opakovat. 🙂

7403 under construction

Aktualizujeme...

2nd update

Po nainstalování 7403 se automaticky začala instalovat aktualizace 7720, tedy vlastní Mango. Záloha telefonu znovu neproběhla.

Hotovo

Hotovo.

7720 nainstalováno

Mango je Windows Phone 7.1, Microsoft je nicméně marketuje jako 7.5. Nenechte se tím zmást.

Tublatanka, Dnes:

Leave a comment

Filed under Windows Phone Experience

Nokia / TabCo will release Windows 8 tablet tomorrow (just dreaming)

I guess you have already seen this page: http://www.whoistabco.com/

If not, it may be the right time to see some of their teaser videos. For example that first one, made during Apple WWDC 2011, with the help of skytypers

TabCo is (probably) a virtual company preparing a big media event for tomorrow – Monday, August 15 at 9 a.m. PDT (18:00 CET) – so less than 24 hours from now. They say they are going to launch a new tablet, that will be… er… different. They have said or shown very little so far, but let’s recap these scarce fragments.

  • Avaliable for order in USA in August, in some European countries in September
  • 400 – 500 USD
  • 16:9 screen aspect ratio
  • USB, Bluetooth, SD card slot, WiFi and 3G (no 4G)
  • Build quality comparable to Apple or Nokia
  • Innovative GUI is predictive and takes inspiration from spheres and Rubik cube
  • Will be distributed with a set of apps from the beginning
  • There probably aren’t heaps of native software yet, but Angry Birds and office apps are available
  • Development SDK will be available after the launch

Other observations:

  • They have mentioned Apple or iPad many times, almost always in positive light
  • They have mentioned Google or Android many times, almost always in negative light
  • Microsoft and Nokia were mentioned rarely, usually in positive context

What could TabCo be:

  • Amazon tablet
  • Some startup full of energy and borrowed money
  • ELSE Ltd.
  • Acer Iconia 2
  • Xoom 2, TouchPad 2, Playbook 2 or Galaxy Tab II
  • New Tabasco flavour
  • Well-funded joke
  • Huawei UFO Tablet with Android 2.x much improved by NonSense UI layer
  • Apple iPad HD
  • Nokia (or Intel) MeeGo / Maemo tablet
  • Nokia Windows 8 tablet

The last option is undoubtedly the most interesting one. Let’s dream about it from a developer’s perspective for a while… This would mean that there will be no big revelation at BUILD in September, exactly one month from now. On the contrary, SDK will be available tomorrow and everybody will download it immediately and will frantically play with it for the next few weeks. Many developers will take their own Windows 8 tablets to the BUILD in fact. Everything will be inside out this time…

Although so blatantly betrayed by Microsoft, most developers will be jumping for joy and consider their dreams fulfilled. This new attack of Metro UI will help Windows Phone sales too…

Why this won’t happen

  • We all know Windows 8 is scheduled for 2012. It’s in some unimportant Milestone phase now.
  • Microsoft always gives things to developers first and then – 6-12 months later – the best customers may get something too
  • There are leaked Windows 8 builds with no traces of a tablet interface and these other cool things
  • The Windows 8 UI revelation event showed no spherical interface elements
  • Interface hints in the above video are different – for example that circular context menu hasn’t been shown, video controls were different etc
  • The lack of software for the new platform. Even old Windows software will not work, because this tablet is almost for sure built on the ARM platform.
  • Mary Jo Foley and Paul Thurrott haven’t seen it coming
  • Microsoft is never so fast
  • Microsoft is never so cool (except for that XBox 360 R2D2 Star Wars edition, of course). While some other companies are habitually cool, Microsoft is habitually cold.

Top Secret Microsoft’s Corporate Exchange leak:

Steven Sinofsky: We should develop Windows 8 in a stealth mode and in just two years. That would surprise everybody and make the Wow effect we so desperately need. That would be cool!

Steve Ballmer: NO WAY! WE ARE MICROSOFT! WE NEVER! DO! COOL! THINGS!

XBox 360 Star Wars Limited Edition

XBox 360 Star Wars Limited Edition Kinect bundle is the coolest Microsoft product ever (for sure 😉 )

Why this may happen after all

  • What we have learned about Windows 8 in June was a total surprise to everybody. So Microsoft is able to hide things if it wants (and Sinofsky is in charge). It’s quite probable it wasn’t the final version of UI.
  • That infamous Microsoft silence about the Windows 8 development platform is just insane. It simply makes no sense to hide things just from developers! On the contrary, it sometimes makes sense to hide things from the general public. But a developer conference is not the ideal place for revealing things to the general public! The conclusion? Some revelation is planned before the BUILD.
  • There were hints about Windows development taking just two years, about Windows 8 tablets coming this fall, about Win division defeating Dev division, about Microsoft selecting just a few hardware partners for the first W8 tablets, about Nokia working on a well-thought tablet etc.
  • Nokia – Microsoft pact makes much more sense from a Nokia viewpoint if this is in cards.
  • Software is important. But Microsoft may provide Office, old Windows software written in .NET may work even on ARM, and Windows Phone emulator may provide some not so optimized, but working software. This plan worked for Apple after all.
  • Mary Jo Foley and Paul Thurrott haven’t seen it coming 😉
  • This may just work

🙂

Nokia Sea Ray possible virtual buttons

Windows 8 tablet with the Windows Phone emulator. Oh wait!

The Kinks, You really got me:

3 Comments

Filed under Windows 8

Windows Phone Marketplace opens in 19 new countries: Not yet

Great news from Microsoft are coming these days:

Geographic expansion: A large part of your success in Marketplace hinges  on your app’s discoverability and reach. I’m excited to announce a number of new  consumer and developer markets to help get your app in front of more people.

  • 19 new consumer markets. Starting today developers can publish their  apps to consumers in 19 new countries, in addition to the 16 that Marketplace already supports. The 19 new markets include Brazil, Chile, Colombia, Czech Republic, Denmark, Finland, Greece, Hungary, India, Japan, Netherlands, Norway, Poland, Portugal, Russia, South Africa, South Korea, Sweden and Taiwan.
  • 7 new developer markets: Also starting today developers from 7 new markets (Welcome!) can register in App Hub and submit apps. The 7 new developer markets enabled include: Chile, Colombia, Czech Republic, Hungary, Israel, South Africa and South Korea.
  • In a couple of months (early fall 2011), developers will also be able to register from China. We will also expand the registration support already available in India.

But what does this mean in reality? As a developer, I am able to publish my WP apps in 19 new countries now, but are people in these countries able to buy them?

I cannot change my WP device locale now, because it requires a reset to the factory state. But let’s try something much simpler – to change Zune PC client behavior. When you change the locale of your Windows 7, the Zune opens with locally available features. To be able to browse WP7 marketplace, I have my PC set to the UK locale. Let’s look at the Zune menu now:

Zune July 21st 2011, UK locale

Zune July 21st 2011, UK locale

Switching to the CZ locale…

Zune July 21st 2011, UK locale

Zune July 21st 2011, UK locale

So, that’s it. We are not there yet, it’s not possible to buy or even browse neither paid nor free apps in the Windows Phone marketplace on a correctly set PC in Czech Republic. Perhaps you may do it from a correctly set phone, but I doubt it. If any of my readers is able to reset his or her phone now and try a Live account from any of the above mentioned countries, please let me know.

The Beatles, Wait:

4 Comments

Filed under Windows Phone Marketplace

Windows Phone App Hub updated with new features and new countries

As I predicted on Sunday, App Hub was updated. Now it seems that new countries were added:

New Windows Phon App Hub Registration

I didn’t complete the registration yet, so I can’t confirm there is no remaining obstacle for Czech developers, but I don’t expect it.

There are other improvements too, as many devs report. Just an incomplete list for now:

  • New private beta Marketplace – you can distribute your app to max. 100 selected testers and it will work for 90 days. This way the app probably won’t go through the certification process.
  • You can edit some app details (category, artwork) without submitting update
  • Updated layout
  • New crash reports
  • Export of download/purchase details
  • Updated App Hub tems (no details known yet)

Leave a comment

Filed under Windows Phone Marketplace

Developers from Czech Republic and other countries to get Windows Phone Marketplace access tomorrow! (hopefully)

At Prague Mango Event in June this year, Ondrej Strba from Microsoft said that Czech developers will get official access to the Windows Phone Marketplace in the second half of July.

Mango Event Prague in June 2011.

Picture from the Mango Event in Prague in June 2011. Notice the new square Windows Phone logo.

At MIX 2011, the attendees were told there will be a new version of the AppHub this summer.

http://twitter.com/#!/rschu/status/92212208527880192

And this notice was posted on the Microsoft App Hub (the gate to the Windows Phone and XBox Marketplace for developers) on the last Friday:

App Hub down July 18 for service upgrades

Submitted
7/15/2011

Pardon our dust. App Hub will be down for service upgrades for most of the day starting around 10 a.m. PST on Monday, July 18. During this period, developers will be unable to register, to access their Windows Phone developer accounts, or to use the forums.

We appreciate your patience.

So I bet the safe conclusion is that the Marketplace Access for developers from Czech Republic and other new countries is finally coming!

As I reported before, this should be the list of the new countries now eligible for the application submitting:

  • Chile
  • China
  • Colombia
  • Czech Republic
  • Hungary
  • India
  • South Africa
  • South Korea

Sure it’s not a long list and I especially regret Slovakia is missing. However, it is still a pretty good reason for celebration for us!

And let’s hope other AppHub improvements are coming too. For example – the Marketplace can be opened for buyers from new countries. I rather doubt it, because it seems Microsoft waits for new languages to be implemented in Mango before it. Or the submission of the Mango-compatible app could be newly supported. Again, I don’t see this coming, because the Mango developer tools are still in beta and I expect Microsoft to require the final version to be used for the published apps. But on the other hand, just one big Marketplace update this summer would make sense too. Any improvement would be welcomed.

Update under progress

create.msdn.com

AppHub update under progress

New features? XNA? Maybe my bet wasn’t so safe… 🙂

1 Comment

Filed under Windows Phone Marketplace

Windows Phone 7.5 Mango coming in August?

Japan server Nanapho.jp brought the news that the first Mango handset should be Fujitsu IS12T and that it’s coming in… August this year!

WMPU reports:

Tezawaly from Nanapho.jp has come across and article in Nikkei reporting on Fujitsu Toshiba’s first Windows Phone 7 handset, the Fujitsu IS12T. The handset has already passed through the FCC and Bluetooth Certification and will be launching on the Japanese carrier KDDI.

…Even more unexpected however is that Nikkei says the handset will be launched in August, and will be the first Mango handset launch worldwide.

Fujitsu Windows Phone with Mango presented at WPC 2011 (picture: wp7connect.com)

Fujitsu Windows Phone with Mango presented at WPC 2011 (picture: wp7connect.com)

Perhaps the most interesting feature of this phone is that it is water resistant.

To be honest, I have always felt that Microsoft targets rather Back to School than Christmas season with Mango. It just makes sense.

This is the real Windows Phone launch, dear fellow Windows Phone owners = betatesters! 🙂

But, of course, I am perhaps too optimistic.

Mango wants you to love it, dear customer! Fingers crossed.

The Corrs, What Can I Do:

Leave a comment

Filed under Windows Phone future

Will Mango support 16:9 screen for video playback? (update: Nope)

How many steps it takes to create a nice speculation? Three are more than enough! 🙂

1. Nokia N9’s 854 x 480 screen

Less than a week ago (really?) Nokia announced its beautiful N9 MeeGo prototype. N9 has 16:9 ratio 854 x 480 pixels AMOLED screen.

Nokia N9

Nokia N9

2. Nokia Sea Ray with no hardware buttons

Just a few days later Nokia’s CEO Stephen Elop demonstrated in some internal company meeting their first Windows Phone device, codenamed Sea Ray. The video and photos have leaked to the web (almost surely intentionally). No leaked photo showed the lower part of the phone…

Nokia Sea Ray - photo from the Elop's presentation

Nokia Sea Ray - photo from the Elop's presentation

…but it was clear from the video that there are no hardware buttons and that the device has the same display and screen ratio as N9, and even the same bottom-right front-facing camera.

Nokia Sea Ray front-facing camera (image wmpoweruser.com)

Nokia Sea Ray front-facing camera (image wmpoweruser.com)

So you need virtual buttons, which is no problem. These are quite ugly and hopefully fake, but you get the idea – just make their background black and they won’t differ too much from the capacitive buttons on the current HTC devices.

Nokia Sea Ray possible virtual buttons

Nokia Sea Ray possible virtual buttons

3. High time for some revealing tweet

I personaly don’t value Eldar Murtazin too high as a source, but sometimes he just has the point. And the right timing.

http://twitter.com/#!/eldarmurtazin/status/85243634076749824

Eldar Murtazin:

WP7 Mango Update – according to design guideline there no need to put hardware buttons on front. Samsung, Lg, HTC will have such phones

Conclusion

Mango hardware specification optionally allows 854 x 480 pixels screen, operating in two modes:

  1. Standard 800 x 480 Windows Phone 7 screen with three buttons occupying the remaining 54 vertical pixels.
  2. 854 x 480 16:9 fullscreen for video playback and hopefully for games and other apps too.
That’s it. No guarantees. 🙂
And one more thing… Will these new button-less 16:9 devices be upgradeable to Windows 8 when it’s ready?

Update: Nope

This leaked video seems to confirm Sea Ray has hardware capacitive buttons.

1 Comment

Filed under Windows Phone future

Yalla Apps Experience – Registration

If you happen to live in one of the white countries, behind the Windows Phone Marketplace Iron Curtain, and still want to develop and publish your Windows Phone apps, you have several options:

  1. Move to a green country.
  2. Establish a foreign company.
  3. Ask a developer living in a green country.
  4. Ask some other non-developer friend living in a green country.
  5. Use unofficial unlocking tool ChevronWP7 (available here) and distribute your apps by your own means outside the Marketplace.
  6. Use services of a Marketplace Publisher.

I have seriously considered all these options. For example number 1: It is quite easy for an European Union citizen to move to another EU country for several days, register with marketplace and then move back. By the way, I live 60 km (37 miles) from Austria, which is green. But the marketplace identity verification process is repeated every year, so you have to repeat this nonsense every year. Once your verification fail, your MP account is blocked and all your apps are removed from the phones of all your customers. (At least this was the case the last time I checked the MP policy several months ago, they could have changed it since then.)

Or the option 2 – a foreign company. I could quite easily establish a Ltd in the UK. Sure, it’s more expensive than a yearly marketplace fee $99, but still affordadble. But it is almost impossible for a non-UK resident with no business history to get a British bank account. I could easily get an Austrian bank account, but I wasn’t able to discover if both the company and its bank account must be in the some country or not. I haven’t found the answer on Microsoft web pages, asked several wise people including Microsoft employees, but nobody knew the answer. It would be stupid to try it blindly. By the way, you can pay for WP7 apps by the MoneyBookers British MasterCard from a lot of countries, but MB account cannot be used for receiving money.

The options 3 and 4 in short: It is a lot of work to maintain your apps in the marketplace. 5 – good for a lot of things, but not for making real money.

So the only viable option is a publisher. We know Marketplace is coming to Czech Republic with a Windows Phone Mango update soon. Mango is coming this fall, although considering the NoDo update execution the fall 2012 is a better bet. Just kidding. Microsoft Czech Rep. says devs could expect the Marketplace access this summer. In short: The best case is July 2011, the worst some time next year.

The selection of the publisher is a key decision. Once you publish your app with it and somebody installs it, your client is locked to your publisher forever. Thus, although there are several publishers now, for example Kinabalu Innovation or Appa Mundi, I decided to go with Yalla Apps, the only publisher officially supported by Microsoft. (And, by the way, the cheapest one too.)

In the best case I am going to need my publisher for just two months – May and June – but I am going to pay him the yearly MP fee for years ahead. So the simple question is:  Will my apps, published in the next two months, generate at least $99 yearly? I hope the answer is yes, so let’s go ahead! (By the way, the  arabian word yalla means go ahead or hurry up.)

Procedure

  1. Choose your publisher Nickname.
  2. Register as a new user.
  3. Activate your account by paying $99 for the first year. You get 100 credits in exchange.
  4. Order the unlocking of your phone.
  5. Publish your apps.
  6. Buy credits as needed.

I would stress the importance of the step 1. The product description of your application in the Martketplace will include the following sentence: “Developed by [Nickname]“. When I registered several weeks ago I choose a nice Nickname, but I realized the Nickname.com domain is taken later. And guess what? The Nickname cannot be changed. I hadn’t activate the original account, so I registered again, under a different Nickname. But you cannot have two accounts with the same email and cannot change the email too, so I was forced to use a different email for the second registration. But the first email was the email associated with my PayPal account, which is required if you want to get paid. 🙂 So I have to change my PayPal email now. (I have never did it before, so I hope it’s possible.)

I’ve asked Yalla to delete my first account and change the email address on the second one. So let’s see the outcome. 🙂

The first gallery covers the user registration process step by step.

After the registration, this is your user dashboard. Notice which fields you can and cannot edit.

Yalla Apps Dashboard

The next step is to activate your account and unlock your developer phone.

To be continued…

7 Comments

Filed under Windows Phone Marketplace

New countries supported by Mango Windows Phone Update

MIX 2011 Day 2 Keynote presented by Joe Belfiore and others was full of information about the upcoming Windows Phone update, codenamed Mango. For me, the most important piece of information was the list of the new countries supported by this much anticipated release, planned for autumn 2011. Or, to be precise, not the list, but map… in fact several maps… shown for a few short seconds.

I haven’t found the complete list anywhere, so I’ve decided to put together my own from the keynote screenshots. I think it is going to be useful for a lot of us, underprivileged people from the rest of the world. 🙂

You can click on screenshots to see their fullscreen versions.

New languages

This asian calligraphy is so beautiful, isn’t it?

Asian Windows Phone

New languages come here – sorry, I won’t try to identify all the languages, but you can try to find your own. I was happy – there is a Czech “Hello World” – “Ahoj světe”. The interesting point is that the slide shows 14 languages, but claims 16 in the title, so there are two missing. The rest of the world can still hope!

New Mango Languages

You can also see the time when this keynote section begins – at cca 17:30.

Coutries able to sell their apps

One not widely known fact about WP7 is that there are two marketplace countries lists – for selling and buying. They are very different today and the number of countries able to sell apps is much higher than the number of countries able to buy apps. This will somewhat change with Mango and the buying list will grow more, so the difference between the two lists will diminish.

One more important thing to note is that we are talking about buying and selling apps only. Music and other content availability is and will remain much more limited, because of the distribution rights.

This map shows the countries where developers can register in the Marketplace. The current countries are green, the new are yellow.

Mango Marketplace Selling Countries

The list will grow from 30 to 38, which is quite small improvement to be honest, and surely a disappointment.

Let’s try to name new countries:

  • Chile
  • China
  • Colombia
  • Czech Republic
  • Hungary
  • India
  • South Africa
  • South Korea

Please correct my mistakes if you find any.

It is expected that the marketplace registration in these yellow countries will be opened during summer 2011. Developers from the white countries must use services of publishers. There are several publishers now, but as far as I know the only one officially supported by Microsoft is Dubai-based Yalla Apps. (I plan to write a little bit about them later.)

Countries able to buy apps

This list grew much more, from 16 to 35. Joe Belfiore showed two maps – before and after the Mango launch – both in green.

Before:

Countries able to buy apps today.

After:

Countries able to buy apps after the Mango launch.

The happy countries:

  • Brazil
  • Chile
  • Colombia
  • Czech Republic
  • Denmark
  • Finland
  • Greece
  • Hungary
  • India
  • Japan
  • Mexico
  • Netherlands
  • Norway
  • Poland
  • Portugal
  • Russia
  • South Africa
  • South Korea
  • Sweden
  • Taiwan

The interesting thing is that I have found 20 new green countries on the second map, not 19, as the slide title says, so take this with a grain of salt. Or are you able to find a mistake in my list?

For developers this is good news – a great expansion of the market for their apps, although China is strangely missing. Still, India, Brazil, Russia, Japan etc. are welcome additions.

We Love Windows Phone

Nice video made by Brandon Foy:

17 Comments

Filed under Windows Phone future