Live data from Hacker News

Before the iPhone, I worked on a few games for what were called "feature phones"

twitter.com

361–370 of 407 posts

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#361
post #353

Earlier quoted context omitted.

The refcounting isn't so bad but freeing and running destructors can pause. There's also memory fragmentation from not having a compacting GC. It's all fixable though.

Though nowadays GC is also “fixable”, and probably more performant than refcounting, at least for non-single-threaded code.

Cross-thread refcounting is not that common and the CPU has very fast atomics anyway. It's still a better tradeoff than having to sweep (which might need to page in), make all pointers visible, accept the occasional peak memory increase, etc.

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#363
post #226

Earlier quoted context omitted.

C# has structs and support for native heap management, and as of C# 9 very few features missing versus something like Modula-3 or even D. You can provide your own GC on .NET via the COM API. https://github.com/Potapy4/dotnet-coreclr/blob/master/Docume... Just like Java since version 10, https://medium.com/@unmeshvjoshi/writing-your-own-garbage-co...

> C# has structs And yet so little code uses them that to eschew the builtin GC is to eschew basically the entire .NET framework. Even basic foreach loops go through IEnumerable interfaces - theoretically boxing even structs. They also come with different semantics - sometimes terrfiyingly subtly differences when combined with properties. > and support for native heap management IDisposable and friends are awkward fi…

Some developers know their stuff,

https://devblogs.microsoft.com/aspnet/grpc-performance-impro...

Others are doomed never to move away from new.

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#364
post #353

Earlier quoted context omitted.

Though nowadays GC is also “fixable”, and probably more performant than refcounting, at least for non-single-threaded code.

Cross-thread refcounting is not that common and the CPU has very fast atomics anyway. It's still a better tradeoff than having to sweep (which might need to page in), make all pointers visible, accept the occasional peak memory increase, etc.

What are the options for sharing an object between threads then? And even with having good atomics, it is a very significant overhead. Also, the primary reason for modern GCs having significantly better performance than refcounting is that with GC one can move the majority of work to another thread, letting them continue the work.

Refcounting is good for some simple programs where ownership is not trivial, and the language doesn’t support a GC/or when memory is constrained, etc. But it is not an accident that high level languages with GC doesn’t choose refcounting, and having the cost of destruction at the given thread is just one point, afaik circular references are similarly not an easily solved problem. And basically with every single “solution” to these problems you are moving towards a full-blown GC.

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#365
post #339

Earlier quoted context omitted.

At the time, "second screen" was the term I heard used for those types of experience. The only prominent example I can think of these days is kahoot, which is only sort of the same idea.

Ah yes, I'd forgotten about the phrase "second screen". It was going to be big thing until people realized that no one wanted to look at 2 screens at once.

That's not my experience. There's a constant background hum of "what else have I seen him/her in" in my house.

Not so much "lets all talk about this in realtime!" I admit, but there seems to be a subset of people who use Twitter/Reddit like that when watching politics or sports.

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#366

I worked at a startup, Javaground [1], where we ported and developed games for J2ME phones. We had a room full of dressers full of all the different mobile phones of the day. Each phone had different implementation quirks, such as variable audio delay when playing a file, audio/image formats that were faster/slower, odd button events (some used press, some used ondown, some had no ondown, etc). A lot of our work was…

My very first industry job was making J2ME games and oh my god does it still give me nightmares.

I read the J2ME spec, looked at the procedure to draw an array of pixels to the screen, and noped out of there. Browser Java was bad enough, but J2ME? I wasn't gonna do that to myself.

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#367
post #200

Oh man, do I have fond memories of developing on feature phones! Started wayyy back in 2007, and was a cofounder of a startup that made popular J2ME games available for free to people by wrapping it in our proprietary ad serving software. We launched more or less the same time that AbMob did, invented more or less the same stack (ad delivery to mobile phones), but we focussed on the product (games) whereas they focus…

> I, along with a friend, developed one of the first real-time multiplayer games called Blingster Battle, which was on top of Verizon's charts for a brief period of time! Truly groundbreaking stuff at that time.. Impressive - how did you manage to run real-time multiplayer on that technology?

The game was initially developed as a single-player game (kind of like Tetris). Then to make it multiplayer the entire session management and messaging was moved to a third-party service (it was called electroserver, IIRC). Don't really remember the details now unfortunately!

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#368
post #238

Earlier quoted context omitted.

> 3. Looking at a screen on the windshield while driving was never going to be approved by authorities. The solution to that seems so obvious: make the phone speak to the driver instead. Was turn-by-turn navigation not feasible back then? Or what else am I missing?

Back in the before times, taxi drivers knew how to navigate a city just by memory. Give them an address and they'd probably know how to find it. Most likely this app was not navigation. Remember, feature phone, probably had less than a couple hundred MB of memory for the entire device. I assume the app would just give the taxi driver address details and what not.

These feature phone did have Google Maps, and lists of GMaps directions, and could have done navigation just like the Garmin devices - but they crucially didn't have GPS.

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#369

Earlier quoted context omitted.

They are not completely wrong. Crowdfunding a product is not the same as purchasing that product because often people only decide to donate because the resulting product is free. (For example, I give $5 a month to Lichess, but I am unwilling to pay for a Chess.com subscription.)

I can understand why one would want to donate if you find the product useful, but donating because it’s free doesn’t make any sense to me. Could you elaborate?

There is an argument that free chess service benefits chess community (and society in general) in a way that a paid service doesn't.

Re: Before the iPhone, I worked on a few games for what were called "feature phones"

#370
post #236

Earlier quoted context omitted.

"Good idea but before it's time" crashed so many mobile startups pre-iPhone.

I worked for a company that allowed you to play along with jeopardy on your brew/Jme device in real time as you watch the show live on tv. You could compete with your friends in real time, leaderboards, chat etc. The company eventually went under but I can’t help but think if it had been ported to iOS when it came out it would have been a hit. I’ve still never seen any technology like it.

This was a prototype app we built circa-2012 for a rapid app dev class. Due to time constraints though, we took the less interesting path and ran off pre-time & answer coded data files.

The best thing to come out of the project was the "advertising" video featuring YT casually answering every question correctly. Which is a thing you can do when you've watched the same episode 15 times to record second-level timing!

It always confused me why Jeopardy never pushed anything official.

Post reply on HN