"I just got my first Powered Up train and, after just a few minutes, went online to order more PU parts in order to learn more and build some interesting things with PU, so my initial (first five minutes) experience was actually quite good.
After a very short time I realized the first huge failing of this new system: the battery life is absolutely horrible. The press releases for Powered Up said battery life would be comparable to Power Functions, and it absolutely is not. You are lucky to get more than 25 minutes out of it, if the first two sets of batteries I've wasted are any indication (I've since ordered some rechargeable batteries). Frankly, for a company that touts its environmental record, it's unconscionable to have such miserable battery life, and it's a huge disappointment for a kid wanting to run their new train all day on Christmas.
The second failing is that this system has been pushed as an educational system for kids to learn how to program, but they give ZERO documentation for using the app to create your own programs. I'm a professional computer programmer, and while I've figured out what nearly all the building blocks do, I find it hard to believe someone with no experience would be able to on their own - and there are still blocks that I don't understand. They apparently sent a "cheat sheet" PDF out to some, but I've seen it and it's incomplete - and says what the building blocks are, but not really how to use them. How many people with no programming experience understand what a variable is, let alone the difference between a local and global one? This system won't teach them that - not without documentation and examples. The system also doesn't allow any sort of feedback; there's nothing that lets your "program" display, for example, how fast your motor is running.
The third is that switching apps on your phone (like you get a text message while playing) will actually disconnect and shut down the train motor, which is not the behavior I would expect or want. It might be OK for a default, but there's no way to change this, so there's no way to let your train run for a long time. This will also happen if the hub goes out of range.
Additionally, PU is incompatible with Power Functions, despite the fact that PF motors only require power (which PU cables are obviously delivering); third parties are making cables that reportedly work (I have not tried one, as I'm trying to stick to "real" LEGO), while most incompatibility complaints seem to be met with "you never know what our engineers will come up with next!" Unlike PF motors (and 9V before that), when The LEGO Group decides to abandon PU for something new, the apps will eventually be out-dated, phone/tablet OSes will stop being compatible; I feel like the motors and hubs and controllers will become useless. You can use a 9V speed regulator from 30 years ago - how old is your oldest working mobile phone?
Lastly, there is only mobile support. The apps don't work with Windows, and you can't program them using existing and commonly available languages. They should release libraries for various platforms, like .Net, if they really want people to find this programming ability useful in STEM education.
All in all, I really feel like this product was rushed out the door without enough research and feedback, and once it was out they felt the need to push products using it, despite not really being ready. I've figured out how to do a few neat things with it (like a program that continuously runs the train around the track, stopping periodically at the station, pausing, and continuing on) but, while the promise is there, the delivery just doesn't seem there yet.
Please, if you do nothing else, either fix battery life or stop saying it's comparable to PF."