from Hacker News

Flutter: UI platform designed for ambient computing

by plexicle on 12/11/19, 5:19 PM with 69 comments

  • by losvedir on 12/11/19, 6:49 PM

    Wow, talk about burying the lede. I'm not sure how I feel about Google's so-called "ambient computing" idea that they were all about at this year's Google I/O, but Flutter being championed for desktop and web are huge! Does this mean the end of Electron, finally? They say it runs on macOS, I hope they get to Windows and Linux soon.

    I built a little Android/iOS app in Flutter and it was a real delight. I didn't especially like Dart at first, but it was easy enough to pick up and then got out of the way more or less. I'd love to be able to easily run an app like that on the web. I know Dart's original vision was to replace JS but it seems they backed off that a bit. But it sounds like it's back on the menu!

    I don't know if this changes anything exactly, in terms of what Flutter can do right now. I think web/desktop have always sort of been there. But what's new for me is this perspective that they intend to support other devices beyond mobile. I wasn't really sure about that before, since it seemed mostly tailored to just iOS/Android when I was working with it.

  • by yesimahuman on 12/11/19, 6:27 PM

    Bizarre reading the vision for this "ambient computing" platform given that the web platform has already been doing that for years and you could imagine the Chrome team using nearly identical terms to describe what their mission is.
  • by DonHopkins on 12/11/19, 6:40 PM

    31 years late, Google attempts to re-brand "Ubiquitous Computing" (aka "Calm Technology") as "Ambient Computing". At least it sounds more mellow, less intrusive, unwelcome, penetrative, and phallic than the other attempt at rebranding UbiComp as "Pervasive Computing" in order to sell it to the military.

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

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

    https://www.researchgate.net/post/What_is_differents_between...

    https://internetofthingsagenda.techtarget.com/definition/per...

    >The term pervasive computing followed in the late 1990s, largely popularized by the creation of IBM's pervasive computing division. Though synonymous today, Professor Friedemann Mattern of the Swiss Federal Institute of Technology in Zurich noted in a 2004 paper that:

    >Weiser saw the term 'ubiquitous computing' in a more academic and idealistic sense as an unobtrusive, human-centric technology vision that will not be realized for many years, yet [the] industry has coined the term 'pervasive computing' with a slightly different slant. Though this also relates to pervasive and omnipresent information processing, its primary goal is to use this information processing in the near future in the fields of electronic commerce and web-based business processes. In this pragmatic variation -- where wireless communication plays an important role alongside various mobile devices such as smartphones and PDAs -- ubiquitous computing is already gaining a foothold in practice.

    You say pervasive, I say perversive. Let's call the whole thing off.

  • by erokar on 12/11/19, 7:01 PM

    What are people's impression of Dart as a language, compared to e.g. Typescript? Reviews so far seems lackluster. Does Dart have anything that sets it apart from JS, like immutable data structures out of the box? How's the support for functional programming, e.g. first order functions, closures, higher order functions like map, filter, reduce, etc?

    How advanced is the typing system, are we talking Java level or significantly more powerful?

  • by arkanciscan on 12/11/19, 6:29 PM

    Scanned the whole article, still don't know what "ambient computing" is. I suppose they mean writing apps that run on the little microphones they want us to put all over our houses. Seems like I remember there being a platform that was built in the '90s to run on any device. What was it called..
  • by whytaka on 12/11/19, 6:38 PM

    This is what I understood from all the hubbub around Fuchsia with Flutter powering the interfaces.
  • by g5becks on 12/12/19, 4:31 PM

    It would be really nice if Google would get something going for dart on the server-side. I personally would make the switch to using dart full time for my side projects if I got the same benefits as I do with using node / react.
  • by pjmlp on 12/11/19, 7:06 PM

    I guess the folks doing Jetpack Compose better hurry up getting a stable version out.
  • by soneca on 12/11/19, 6:32 PM

    Not sure if it is counter-intuitive, but I was deciding between React Native and Flutter for a project and this announcement nudged me to decide on React Native.

    I am pretty sure I just want my app to run on Android, iOS, and web. If Flutter's vision is making it possible to also design to TVs, smartwatches, thermostats, doorbells, fridges, etc it means that there will be trade-offs, added complexity, overhead, design choices to support that "ambient computing" vision.

    I don't want any of that, and it is good to know that in advance. RN it is.

  • by ble52 on 12/11/19, 7:54 PM

    Am I the only one who sees all these Electrons, React Natives, Flutters, etc. as mostly middle-management-pleasing technologies made for crunching cookie-cutter apps with the least amount of outsourced developers as possible?

    Whenever I see Slack, Spotify, VS Code, or any other "universal" app, it always strikes me as a completely out of place it looks and behaves, no matter what OS it's running on. Yes, it's relatively easy to make a multiplatform app with these technologies, ticking all the boxes specified by bean-counters, but in the process it usually completely sacrifices all the little details, integrations, patterns, etc. that make platform-specific apps such a pleasure to use. If you're used to apps behaving in a predictable manner, e.g. having similar shortcuts, similar icons having the same meaning (and other way round - similar actions having the same icon), then e.g. seeing a Material Design on macOS is just weird and looks completely out-of-place, not mentioning event UX aspects.

    I know it's hard to quantify this in an Excel spreadsheet, but in my opinion following interface guidelines of the target platform and properly using its native technologies makes for a much better user experience (I'm talking here about the basic meaning of this phrase). For example, just look at Google Docs app for iPad - for sure it's written using some Google's weird "universal" technology, but every time Apple announces new iOS (now iPadOS) features, like split screen, multiple windows, etc. it taks Google months to provide support for them. At the same time, developers that follow Apple's guidelines and recommendation, they usually get these features in their apps "for free" or with relatively small amounts of work required.

    I'm simplifying the whole situation here, of course, but I think trend of making all apps in Flutter et al. might be good for some people, but end-users are usually not one of them.