Microsoft has been heavily focused on low-end Windows Phone hardware over the past two years to grow market share, but its upcoming Windows 10 update won’t be finely tuned for these devices with low specifications. Microsoft’s Joe Belfiore revealed on Twitter yesterday that the software maker is working on Windows 10 for phones with 512MB of RAM, but that “features may vary.”
This is the other side of the coin of focusing on low-end devices.
I’m wondering, this is a PHONE operating system, to store some basic phone numbers (12 bytes long without name) SMS (remember, 160 bytes long) or tweets (140 bytes long) and it needs at least 512 MB of memory ?
I remember my good old Nokia N95 that had less tech features yet worked flawlessly, even played Dixv with TheCorePlayer.
Dudes, seriously…
[pedant]
Tweets are 160 characters – they also include ‘@’, ‘ ‘, and 18 characters for the name of the person who sent the tweet.
[/pedant]
Software is far, far more complicated than the days of the N95, though, and far more useful. This complexity doesn’t come for free.
I don’t understand why people are so nostalgic for the days of simpler, yet far less useful software. I like that I can point my phone at a constellation in a night sky usually made invisible by city lights and automatically be provided information about it, along with up-to-date satellite tracks, because hey, lots of satellites are also visible from the darker parts of the city, and they’re cool to see.
I think you somewhat missed the point…
There’s no real reason that software today should not be as performant as software was 10 years ago.
That is, the core system should still be able to run on a system 10 years old under the same requirements. However, programmer and organization laziness has led us to the point that the same software will require more processor and memory, even if the features are the same.
Now, I can buy the argument that “we don’t need to write everything in Assembler”. But if you have a program like Notepad (whose feature set has not really changed much at all in 20+ years), there’s no reason why it shouldn’t have a consistent memory/processor utilization footprint and just work faster. But that’s not the case.
Often, programmers try to abstract too much and each abstraction means additional CPU cycles or frames on the stack for more functions to be called; or they use a language (f.e Java) that is simply sub-optimal because well, that’s what they taught in school or “it can do everything and I know it”, but it’s not really a good tool for the job at hand.
And, wrt proprietary software at least, business decisions come into play just as much. The manager sees the program as “useful enough” and declares it done so the team moves on. Okay from a business perspective, but not necessarily the right thing to do as you may have now eliminated a group from being part of your customer base that just a few more hours of work would have made possible; or another team relies on it but they’re cheaper, so they have to optimize their part when this other part would have had a lot more impact on the actual performance.
And the “software is complex” argument is a misnomer as well. Software is not any more complex; it’s just complex in a different way. The OP isn’t saying that they don’t want the extra features, but that par for the course, the software is just too bloated because the programmers didn’t really do their job and the business folks let them get away with it by writing off a portion of the market that they had been targeting, which will now bit them back as their small customer base sees the company doesn’t really value them so their market (that they’ve been fighting tooth and nail and dumping billions of dollars into to try to get even the small toe hold they have) will go elsewhere and they’ll remain a niche player where people come for a time and leave only to never come back.
It isn’t? Does it take longer to search and replace through a text file than it did 15 years ago? Does Photoshop take longer now to do a gaussian blur than it did 15 years ago? Or, does it seem to be unchanged, simply because we are working with larger images?
Often times, it seems things haven’t gotten faster, but added complexity and capability can distort performance levels. For example, it still takes ~3 hours to render a single frame of animation meant for the big screen – that hasn’t changed between Toy Story and Toy Story 3. Scenes in Toy Story 3 are a helluva lot more complex, though. There are plenty of tasks that take the same amount of time, but are actually much more complex.
That’s true. However, the requirements imposed on the core system are greater now. It’s not enough to provide a slice of memory for a program to run in – kernels have to enforce sandboxing and other security techniques to protect data from malicious software (which has a cost), provide more robust error protection and recovery (which has a cost), etc.
Additionally, it has to provide services that developers expect to be on the platform – location service (which has a performance cost), map services (which has a performance cost), media, UI, graphics, animation, etc.
Or, do you think those things should be re-invented every time somebody needs them? Should a developer writing a “Where’s My Car” app need to implement their own map platform? Should they rely on a third party who’s goals might not align with those of the platform developer, and might eventually cripple maps to drive them to their own platform?
[citation needed]
Abstraction has a cost in performance, but it also often reduces development time, which also costs. Yes, abstraction is bad, but if and only if you think performance is the absolute most important goal, or even the only goal.
As far as language choice, if you stick with C, C++, Obj C, Java, or C#, for most pieces of software you’re not likely to be in a situation where the choice of language matters. In the case of Java, for example, overall architecture of your software is more important than language performance.
Minecraft is a perfect example of that. Everybody says Java is a bad choice for Minecraft, and they point to Minetest, the C++ re-write using the Irrlicht engine as evidence. However, the reason it is much faster not because of the language choice, but because its development started with the end result of Minecraft in mind, not with a different goal that eventually morphed into Minecraft. Notch and his crew are great at game design, but they are not great at software design.
Now, you could argue that Minecraft actually illustrates your example of software bloat or bad programming being able to get away with things by just upping the hardware requirements, but Minecraft is a special case, as a community of mods grew up around what was essentially alpha software. Sometimes, performance is not the top priority, and in this case, supporting the community was more important, and rightfully so.
Again, you seem to think that pure performance is the only goal. Sure, with a (possibly) limited amount of extra development time, they can make the product run on lower-end hardware. Or, they can use those same limited developer resources to add features useful to higher-end users. I actually use the platform. Guess which one I want.
Which is more complex: A textbox that lets you place text into it, or a textbox that lets you put text, but when you do, it analyzes the text to determine if the input is ASCII, UTF-8, or UTF-16 (Since it might not be told ahead of time), sanitizes the inputs for illegal characters, and bounds-checks it to make sure it doesn’t overflow the buffer?
Or, what about a javascript engine that interprets javascript, versus an engine that interprets javascript, but also compiles it into an intermediate byte code which is significantly faster to execute, does so based on which code is more complex, performance sensitive, and which is more likely to affect a user’s perception of performance, then prioritizes blocks of code and eventually goes through and converts it all as time allows, while also maintaining data structures in a manner so the interpreted code and compiled byte code can share the data structures without error?
Blah blah blah. I get it. You don’t like Microsoft, and they can never do anything right, and everything they do is horrible and the bad ALWAYS outweighs the benefits, and they are a always going to be a niche player in the phone market, just like when they couldn’t compete against WordPerfect for desktop productivity, or when they couldn’t compete with Novell in workgroup networking software, or Sun/SGI/all others in a workstation platform, or Apple with media creation, or UNIX for servers, or Nintendo/Sega/Sony for console systems, or Metrowerks/Borland for IDE/compilers, or Netscape for browser software…
Do you even realize that 512 MB is almost 75% of a 700 MB CD-ROM ? Could you put this into perspective and try to figure out that your whole speech MIGHT have a point for full featured computers, but not for phones ?
I mean, a little agenda, a little phone book, sub par full screen applications, not windowed full featured Photoshop or Office. Usage haven’t changed much for the past 10 years, the screen resolution does not explain everything.
My Nokia N95 was IrDA, Wifi, Bluetooth, dual core 600 MHz, 240×320 no touch screen, had Opera mini as browser. In 2007.
For the screen itself, at 800×480 on the Lumia 520, it is at least double-buffered, using ~24MB of RAM. It may be triple buffered, as that ends up being smoother, at the cost of extra ram – 36MB in this case.
Windows (And smartphones in general) are complicated pieces of software.
It provides not just a calendar, but a calendar that syncs with multiple sources (Gmail, Live, Outlook, Facebook, plus more), an address book that syncs with the same services, provides a feature to access that from other applications in a secure and safe manner.
They also provide a full-featured web browser – far more complex than Opera Mini – which can also be embedded into other applications.
Plus, animation that users want, it has to have be able to parse unicode characters, including emojis, (Unicode support is costly), etc etc etc. There is far, far more stuff that goes into a phone platform, and phone platforms are extremely robust.
Why shouldn’t software increase capability as hardware increases? Just because you don’t see immediate benefit doesn’t mean others don’t. Just because you don’t find features useful doesn’t mean others don’t, and it certainly doesn’t mean the software is bloated.
And, it has to be small enough to allow other applications to run smoothly.
I can understand the 512 MB requirement, but “features” (functionalities) limitation ? Not !
Your Nokia N95 had 240×320 with plain framebuffer. Lumias have somewhat higher resolution with 3D acceleration.
Also, they have somewhat more advanced web browser – that one from Symbian would not cut it (Thinking about it, my Symbian Nokia didn’t have any web broswser – it was neccesary do get some on my own).
Basically, you are comparing Apples to Oranges. No pun intented.
That Nokia N95 came out in 2007 and had 128 MB.
2015 smartphones have 1 GB but you complain that that is more than a 2003 OS that only required 256 MB.
That means you should also complain that your 2007 smarthpone required more memory than a 1995 OS that only required 16 MB.
There, your N95 was a horribly bloated device/OS monstrosity according to your own logic.
(You don’t even know which features are not going to be available. It might be the “Hey Cortana” always listening feature for all we know. And if you think smartphones are only used for a SIM-addressbook and snake you haven’t used a smartphone since that N95)
No, you don’t read what I wrote.
The N95 had 128 MB and had no feature limitation (bloated or not)
The 520 have 512 MB and is supposed to be feature limited.
Why ?
If the screen is now 36 MB, that fits inside the 384 MB additional memory.
At this point, I’m not sure you’re making sense.
Whether you mean to or not, you’re implying that Windows 10 on the Lumia 520 will be feature limited compared to the N95, which is probably far from accurate.
It will be feature limited compared to 1GB phones running Windows 10 -always listening Cortana, for example, or, maybe some fancy new background picture option won’t be available (Like iOS 4 on older models of iPod/iPhone) Of course, we won’t know until it’s out, will we?
Low-end phones often don’t support all features when the phones are new, so it’s no surprise they’ll miss out on new features. It’s unfortunate of course, but you have to expect that when you pay $100 for a phone, you aren’t getting the best experience you could.
The important thing is which features are missing. If Microsoft has a plan that will lead to much better app support that for some reason won’t work on low-end phones, that’s a big problem. But other features are less important, or could be tied to specific hardware, like the 3D stuff that was rumored a while back, then canceled.
It’s like missing out on a new version of Directx vs missing Aero. You might have liked the way Aero looked (though you probably shouldn’t have), but it’s not something to get too upset about lacking.
Do we get to complain about fragmentation now?
Ah the smell of revenge in the morning…lovely!
Huh… I’m not so sure about what you’re implying here. Other than an approximate love for Coppola’s movie.
This! This might become my default tagline from now on…
Even entry level phones will have a minimum of 1GB RAM in 12 months. In 2-3 years that will probably increase to a minimum of 2GB.
The newly released Lumia 535 (in UK, been out in other regions since end of last year), which is pretty much the same price as the Lumia 630, has 1GB RAM. I picked one up to play with Windows Phone development and it is pretty decent really. This does put the 630 in a somewhat weird position – it’s worse spec’d, except for the processor – which is better, but it costs the same… I picked my 535 up for ^Alb89 sim free (unlocked) – at that price, it’s a no brainer.
Edited 2015-02-10 10:07 UTC
That is strange. My 630 has 512mb ram.
Yeah, exactly. It has the Snapdragon 400 though, and the 535 only has the 200 (MSM8212).. but other than that, the 535 wins as it also has a front facing camera, 5″ screen and more sensors, so, well, it is actually a pretty decent upgrade over the 630 and 635. The 735 looks and feels better in every way, but it’s double the price.
Edited 2015-02-10 13:13 UTC