My Photo

Ordering Information

Tomi on Twitter is @tomiahonen

  • Follow Tomi on Twitter as @tomiahonen
    Follow Tomi's Twitterfloods on all matters mobile, tech and media. Tomi has over 8,000 followers and was rated by Forbes as the most influential writer on mobile related topics

Book Tomi T Ahonen to Speak at Your Event

  • Contact Tomi T Ahonen for Speaking and Consulting Events
    Please write email to tomi (at) tomiahonen (dot) com and indicate "Speaking Event" or "Consulting Work" or "Expert Witness" or whatever type of work you would like to offer. Tomi works regularly on all continents

Tomi on Video including his TED Talk

  • Tomi on Video including his TED Talk
    See Tomi on video from several recent keynote presentations and interviews, including his TED Talk in Hong Kong about Augmented Reality as the 8th Mass Media

Subscribe


Blog powered by Typepad

« Debate Review: Ted Cruz knocked this one out of the park | Main | Can We Now Finally Agree that Smart Watches Were a Dumb Idea? - This is Apple's Revenge on the Nerds »

January 15, 2016

Comments

ch

@Tester IIRC Bringing the windowing system closer to the metal was done with NT when it got to 4. Also windows 2000 was never published but was made and at that time Windows on Itanium was running. It is also not only assembly that has issues with porting. int, floats etc. can also have a different definition on different architectures which can introduce problems.

@winter

Main drain is screen, second one is not cpu but SoC of which cpu is only part, and if the soc is used heavily than it is probably more the GPU part than the cpu

Winter

@ch
I see I have to update my knowledge more. So it currently is down to first mover advantage: ARM.


http://www.alphr.com/features/390064/arm-vs-intel-processors-what-s-the-difference

http://www.androidauthority.com/arm-vs-x86-key-differences-explained-568718/

Winter

@ch
Intel seema to have spend $7B subsidizing tablets:

http://iphone.appleinsider.com/articles/15/01/07/after-intel-spent-billions-to-subsidize-40m-android-atom-tablets-microsoft-releases-office-only-for-arm

But I can understand why the big players prefer their own ARM designs over Intel's monopoly over Atom CPUs.

In the end, thw profits always end up in the pockets of the monopolist.

chithanh

@Winter
> Compatibility with the alpha was the result of copyright/patent suits brought against MS (NT was a clone of DEC VMS, according to US courts). This compatibility was dropped in 1999 in Windows 2000.

NT supported other architectures besides x86 and Alpha initially.
The Xbox 360 (PowerPC) used a Windows 2000 based operating system.
Other posters have mentioned Itanium which was supported until Windows Server 2008 R2.

There was never a technical reason for the failure. DEC showed that you can run legacy x86 code on non-x86 platforms with acceptable performance.

> All these optimizations must be ported "by hand" when cross compiling to ARM.

Not sure what that has to do with cross compiling.
Porting older applications can indeed be a problem, but these are the ones which are most likely to run fast enough in an x86 emulator.

If it is still too slow, one can also address the problem through hardware assisted acceleration of x86 emulation. Loongson does this for example.

Winter

@chithanh
"The Xbox 360 (PowerPC) used a Windows 2000 based operating system."

Very true. But the important word is "Windows 2000 based". The fact that Android is based on the Linux kernel does not mean that Ubuntu will run on a phone. My experience on Windows is limited, but I cannot remember having heard about XP supporting anything but x86 and Itanium. Itanium was an exception anyhow as MS made a very big effort to support it. No such effort was made to port Win32 to ARM.

@chithananh
"There was never a technical reason for the failure. DEC showed that you can run legacy x86 code on non-x86 platforms with acceptable performance."

No, the reason was bad coding practices. And DEC Alpha and other non-intel platforms were supported until NT was moved to become a consumer platform. Exceptions were Itanium and 64 bit instruction set from AMD. The latter had to do with the failure of the former.

@chithnanh
"Not sure what that has to do with cross compiling."

You cannot cross-compile assembler, you have to translate it "by hand", i.e., programmers have to think how to perform what was done on one architecture on the other architecture.

@chithnanh
"Porting older applications can indeed be a problem, but these are the ones which are most likely to run fast enough in an x86 emulator."

Indeed, I can do this on Linux and Mac. Somehow, MS did not think this a worthwhile path forward on mobile phones.

Cycnus

@Tomi

Rejoice! It has now been reported that Lumia 650 will be the last Lumia and Microsoft will shut down the Lumia unit!

http://www.businessinsider.com/microsoft-last-lumia-2016-1?IR=T

Tester

@Cycnus:

The article says nothing about 'shutting down' the smartphone business. It's only about dropping the 'Lumia' name and replacing it with 'Surface'. Whether that will help resurrect the business is debatable. I don't think so.

But this may be just the next step of removing their smartphone business from investors' scrutiny. It's far easier to quietly exit this loss-making endeavour if the name for the phones is the same as for the tablets...

NO ONE WANTS WINDOWS

@ John F

"We all know that "MICROSOFT" builds totally bloated, virus-ridden, insecure crappy software and then tries to jam that crap down everyone's throat simply because they are a monopoly" ...this is definitely true for microsoft products but NOT true for android or apple ...not even close!

Android incorporates Linux and is part of the thriving open source environment which sees the OS for what it really is, mainly a resource allocator which should remain in background from non-technical app users. Consider an Oreo cookie perspective where the user only finds value in the cookies (app's and shiny hardware bits), the cream (OS) simply holds them together and should not interfere with their correct operation.

Microsoft tries to jam nonsense into the OS to the extent that it interferes (lots of viruses, privacy invasion, slow or frozen apps/devices and blue screens of death...etc.) with the cookies and windows has become extraordinarily bloated, a slow resource hog and virus ridden. In their puny brain dead monopolist perspective "they really think" they have made their crappy windows OS more appealing to the user (now trying to jam that awful desktop down everyone's throat), but in really it is all about extorting monopoly rents from users, partners and developers for this extremely slow insecure and totally crappy OS. I mean how utterly stupid can microsoft be?

Apple, also, is an entirely different business model than microsoft and their stuff works well for their customers.

All you microsoft astroturfers, please take off your clown outfits and yell: NO ONE WANTS WINDOWS ON A PHONE!

Barney

@NO ONE WANTS...

" ...this is definitely true for microsoft products but NOT true for android or apple ...not even close! "

Yes, we all know you hate Microsoft, and that's certainly justified. But what is it with guys like you turning a blind eye towards Apple and Google? These are not really that much better, both abuse their market powers to harm competitors and both play on their monopolistic strengths - and it doesn't really matter that Apple's monopoly is mostly vertical, i.e. they do not monopolize a product category but their customers. All of them are abusive as shit.

As for viruses, I think the common belief that Windows is the only viable target makes it increasingly appealing to target the dumb schmucks who are using one of the other platforms - reveling in a false sense of security that nothing can happen to them.

Both OSX and Linux have had their share of exploits, and especially with Apple mostly keeping silent about these issues we do not even KNOW if some of these exploits were actually exploited. Hell, we do not even know which exploits EXISTED! That concerns me a lot more than the large number of malware that never invaded my Windows system. At the end of the day it's still carelessness by the user that allows most malware to get in in the first place - and then the best security can't help you.

Tomi T Ahonen

Hi Cygnus and all

Thanks for the link. Its not quite the end yet, but its getting there, clearly. Note that still is not official MS saying so, but it looks like very clear signs. Windows Phone market share collapsed after MS took over the Lumia business (for whatever tiny slice they had left) and is at 1.7% by Q3 of 2015 and falling further into Q4 (we will know soon exactly how bad it will have been).

Then the news that latest myth of 'savior' - the perennial Microsoft promise that they will fix it in the next version - which never did, in phones (at least not fix the market share disaster) now seems hopeless too, with the news I blogged, that only about 1M smartphones running Win 10 had shipped for Christmas. Then comes this article you Cygnus mentioned, that now the Lumia brand is being ended, this being the only Lumia device to release this year - a mid-price mid-spec device so no flagship to win any awards and no low-end mass market big seller either. To me, this speaks volumes that MS and Nadella are eager to end the Lumia mess.

Its not definite there could not be yet another Lumia device in 2017 but highly highly unlikely. The smart move by Microsoft is to abandon the dead Lumia brand and shift the resources to the proftable Surface tablet business. That makes sense. Then to quietly shut down the phone business as a(nother) failure (like previous Microsoft phone purchase, Danger aka Microsoft Kin).

One more thought: we are expecting that Nokia return smartphone to be announced soon, the Mobile World Congress would be a perfect opportunity for that. This quick move away from Lumia branding to the safety of Surface branding would smell of that shift away from the embarrassment of a head-to-head loss by disasterous Lumia against the 'real Nokia' even when that real Nokia was only by a third-party vendor with Nokia branding and design licenced.

Now of that Surface smartphone line... could that possibly have a physical keyboard? Like the Surface tablet? They could do away with the neon-color consumer-orientation of the Lumia line and do a subtle black classic business-oriented phablet-screen smartphone, as very clear departure from 'Lumia classic' looks. I think the guidance from occasional MS talk about its Surface smartphone project suggests it should also look quite distinctive and different from the 'radioactively poisonous' Lumia concept as it must now feel at Redmond.

Tomi Ahonen :-)

chithanh

@Winter
> the important word is "Windows 2000 based".
Xbox 360's operating system shared a lot more with Windows 2000 than just the kernel, and I think also more than Android and Ubuntu have in common. The fact remains that since Windows NT times, the OS ran at all times on architectures besides x86.

> Itanium was an exception
No, it was the continuation of the multiplatform concept that Microsoft started with NT and which lives on to this day.

> You cannot cross-compile assembler, you have to translate it "by hand"
I don't think cross compiling means what you think it does. ;)

@Wayne Brady
> Msft just released their flagship Lumia this past quarter. This is a branding move like Lenovo dropping the Motorola brand.

Calling this a branding move would be quite revisionist. Microsoft has made redundant the vast majority of ex-Nokia staff that it acquired together with the phone division. The Surface phone will be designed by an entirely different team than the Lumias.

Winter

@chithanh
"I don't think cross compiling means what you think it does. ;)"

Then please correct my errors. I was always under the impression that cross compiling means that I run my compiler on platform A, e.g., Linux or Mac on x86, and it generates object code and executables for platform B, e.g., Windows on x86 or Android on ARM. What is wrong in my understanding?

And if I add assembler instructions to my Windows C++ code, say to directly manipulate x86 registers, how does a cross compilation change that to automatically insert the equivalent assembler instructions for ARM?

I would love to know.

NO ONE WANTS WINDOWS

How can anyone believe anything from microsoft except for their gullible astroturfers who love to distort the truth ....you know ...tic, toc, tic, toc.... Does anyone truly believe surface is a success. Really!!!! Where are the numbers? Everyone on this list knows that microsoft distorts repeatedly. Here's a great recent example:

"Microsoft is often purposefully confusing about sales of “Xbox” which can include both Ones and 360s"

"....they still went ahead with their worst decision of all, the bundling of Kinect with the Xbox One"

Entertaining reading at: http://www.forbes.com/sites/insertcoin/2015/10/10/its-almost-certain-now-that-xbox-one-will-never-catch-ps4/#2715e4857a0b5b73f8b3270c

Microsoft has a reputation for, lets be kind as say, stretching the truth. Remember all the hype about Kinect when they knew it was a piece of CRAP they tried to jam down their customers throats ....just like windows 10 today and on your phone. The following read is very informative and also entertaining about how a monopolist thinks (or DOESN'T think) ...have fun.

http://www.forbes.com/sites/insertcoin/2015/01/21/xboxs-kinect-reminds-us-to-be-skeptical-of-microsofts-windows-holographic/#2715e485

microsoft clearly has problems with ethical boundaries and the reoccurring theme shows that a monopoly just wants monopoly rents ...there is no innovation, just late to the market with an inferior product followed by astroturfing for slow, buggy, insecure, resource hogging, virus-laden, crappy software.

All you microsoft astroturfers, please shave your long pointed noses flat and yell: NO ONE WANTS WINDOWS ON A PHONE!

Winter

@chithahn
"No, it was the continuation of the multiplatform concept that Microsoft started with NT and which lives on to this day."

Not quite. Itanium was intel's 64 bit gambit. MS went along and ported Windows to itanium as the natural next generation of PCs. When it became clear that itanium was a dead end (titanic), and AMDs x86-64 became popular, MS switched back to AMD with build in compatibility for x86-32.

As far as I know, XP nor normal desktop apps like office ran on Xbox.

My point is not that MS could not port Windows win32 to other platforms. Even Wine was able to do that without help from MS. It is just that it simply too much work to bother, would be an endless bug fix fest, and no one would invest the work to port all the win32 application mess anyway.

Better to concentrate on the 64 bit efforts.

chithanh

@Winter
> I was always under the impression that cross compiling means that I run my compiler on platform A, e.g., Linux or Mac on x86, and it generates object code and executables for platform B
That description is correct. But there needs not be cross compilation involved in generating object code for ARM. Actually, cross compiling may have downsides (like the build environment creeping into the build) which is why it is avoided in certain cases.

Also, assembly code is not compiled.

> Not quite. Itanium was intel's 64 bit gambit.
Thanks to the HP vs. Oracle lawsuit we now know that it was not Intel but actually HP who pushed and financed Itanium. Once HP lost interest, the whole thing fell apart.

> MS switched back to AMD with build in compatibility for x86-32.
If "switching" implies giving up on one platform for the other, this is not correct. Itanium and x64 versions of Windows co-existed for quite some time.
Early Itanium CPUs had hardware compatibility to x86, and later ones used software emulation similar to to DEC's FX!32.

> My point is not that MS could not port Windows win32 to other platforms.
They did it at least 6 times since Windows NT, most recently with Windows RT. RT contains a full Win32 environment, just with DRM restrictions against 3rd party code. Jailbroken Windows RT devices have been demonstrated to run Win32 ARM binaries fine.

Tester

@chithanh:

"They did it at least 6 times since Windows NT, most recently with Windows RT. RT contains a full Win32 environment, just with DRM restrictions against 3rd party code. Jailbroken Windows RT devices have been demonstrated to run Win32 ARM binaries fine."

Indeed. Which makes the whole fiasco even more pathetic. This was obviously a management decision that tried to force RT as the new standard. Which, thankfully, utterly failed. All the bad stuff Microsoft is normally associated with combined with the bad stuff Apple invented in one single package, with one of the shittiest UIs ever invented as the icing on the cake. Anyone with a brain could see that this would fail.

NO ONE WANTS WINDOWS

For all the uninformed regurgitating the non-sense micrsoft security talking points. Please get informed (unless you are an astroturfer then you already know the truth).

"There has not yet been a single widespread Linux virus or malware infection of the type that is common on Microsoft Windows; this is attributable generally to the malware's lack of root access and fast updates to most Linux vulnerabilities". For amore complete story please read the following links:

https://en.wikipedia.org/wiki/Linux_malware

Guess why you might want virus detection in a Linux variant, Please see:

https://help.ubuntu.com/community/Antivirus

more information here for the uninformed:

http://hothardware.com/reviews/why-linux-will-never-suffer-from-viruses-like-windows

http://www.whylinuxisbetter.net/items/viruses/

http://www.pcworld.com/article/202452/why_linux_is_more_secure_than_windows.html

...etc., etc, etc......

Face it. Windows is just buggy, slow, insecure virus-ridden CRAP!

All you microsoft astroturfers now take your fingers out of your ears and yell: NO ONE WANTS WINDOWS ON A PHONE! ....LoL!!!!!

Earendil Star

Thanks for the MS ads... We were just missing that...

Winter

@ chithanh:
"Also, assembly code is not compiled."

Which was my point: Adding inline assembly code in programs make them near unportable to other architectures. Especially as the function of the assembler tends to be forgotten after some (very short) time.

And using inline assembler code is not some dodgy unsupported hack in windows, it is part and parcel of the Windows "Way of Life":

A good article from Dr. Dobb's:
Optimizing C/C++ with Inline Assembly Programming
http://www.drdobbs.com/optimizing-cc-with-inline-assembly-progr/184401967

From MS itself. Note how the use of assembler is UNsupported on x64 and ARM! Why would that be?

Inline Assembler: Visual Studio 2015
https://msdn.microsoft.com/en-us/library/4ks26t93.aspx

Microsoft Specific

Assembly language serves many purposes, such as improving program speed, reducing memory needs, and controlling hardware. You can use the inline assembler to embed assembly-language instructions directly in your C and C++ source programs without extra assembly and link steps. The inline assembler is built into the compiler, so you don't need a separate assembler such as the Microsoft Macro Assembler (MASM).

Programs with inline assembler code are not fully portable to other hardware platforms. If you are designing for portability, avoid using inline assembler.

Inline assembly is not supported on the ARM and x64 processors. The following topics explain how to use the Visual C/C++ inline assembler with x86 processors:

Tester

@NO ONE WANTS...:

"There has not yet been a single widespread Linux virus or malware infection of the type that is common on Microsoft Windows; this is attributable generally to the malware's lack of root access and fast updates to most Linux vulnerabilities".

I'd attribute it to the measly 2% market share in the desktop market, and the wide varierty of configurations that make it hard to target these 2% that there isn't more activity. Furthermore, these 2% are generally experienced IT workers who are hard to be tricked into acting stupid.

Even on Windows these days, root access is only generally available if either:
a) the user is dumb enough to log in with an administrator account and shutting off all safeguards.
b) an installer tricks them into granting access.

And with the right kind of user, Linux is just as vulnerable than any other system. The biggest security issue, no matter what platform you work on, is ALWAYS the user. Users will do stupid things. You simply cannot protect against stupidity.

This kind of user will not regularly update their system.
This kind of user will download questionable software from the internet and INSTALL it.
This kind of user will click on links in Phishing mails.
and this kind of user will do any dumb thing an OS developer can't imagine.

See it this way:
I'm an experienced developer. I do not fall for these scams. My system is malware free - both my Mac and my Windows system.

My brother, on the other hand, is the type of person, who out of laziness runs his system in admin mode (because warning messages about software wanting to change the config are so annoying.) He doesn't do regular software updates. He does visit questionable websites and downloads stuff there which he installs. And he doesn't regularly check the senders of his mails and occasionally falls for one. And no surprise here, he surely catches some malware every few weeks. None of those through system vulnerabilities, it's always bad decision-making on his behalf that gets the crap in.

The comments to this entry are closed.

Available for Consulting and Speakerships

  • Available for Consulting & Speaking
    Tomi Ahonen is a bestselling author whose twelve books on mobile have already been referenced in over 100 books by his peers. Rated the most influential expert in mobile by Forbes in December 2011, Tomi speaks regularly at conferences doing about 20 public speakerships annually. With over 250 public speaking engagements, Tomi been seen by a cumulative audience of over 100,000 people on all six inhabited continents. The former Nokia executive has run a consulting practise on digital convergence, interactive media, engagement marketing, high tech and next generation mobile. Tomi is currently based out of Helsinki but supports Fortune 500 sized companies across the globe. His reference client list includes Axiata, Bank of America, BBC, BNP Paribas, China Mobile, Emap, Ericsson, Google, Hewlett-Packard, HSBC, IBM, Intel, LG, MTS, Nokia, NTT DoCoMo, Ogilvy, Orange, RIM, Sanomamedia, Telenor, TeliaSonera, Three, Tigo, Vodafone, etc. To see his full bio and his books, visit www.tomiahonen.com Tomi Ahonen lectures at Oxford University's short courses on next generation mobile and digital convergence. Follow him on Twitter as @tomiahonen. Tomi also has a Facebook and Linked In page under his own name. He is available for consulting, speaking engagements and as expert witness, please write to tomi (at) tomiahonen (dot) com

Tomi's eBooks on Mobile Pearls

  • Pearls Vol 1: Mobile Advertising
    Tomi's first eBook is 171 pages with 50 case studies of real cases of mobile advertising and marketing in 19 countries on four continents. See this link for the only place where you can order the eBook for download

Tomi Ahonen Almanac 2009

  • Tomi Ahonen Almanac 2009
    A comprehensive statistical review of the total mobile industry, in 171 pages, has 70 tables and charts, and fits on your smartphone to carry in your pocket every day.

Alan's Third Book: No Straight Lines

Tomi's Fave Twitterati