Hacker News new | past | comments | ask | show | jobs | submit login
WeatherKit (developer.apple.com)
335 points by ag8 86 days ago | hide | past | favorite | 191 comments

The Norwegian Meteorological Institute has an excellent free HTTP/JSON weather API that covers the globe. No signup required.


Lucky for them that they’re not a public service in Germany, otherwise they would get sued for unfair competition (and lose): https://www.deskmodder.de/blog/2020/03/12/kostenlose-warnwet...

This is comparing apples to pears, as the saying goes.

Only the free app was deemed anticompetitive. All the data is available: Geoservers: https://maps.dwd.de/geoserver/web/ (weather and warnings) https://cdc.dwd.de/geoserver/web/ (climate infomarmation) https://www.dwd.de/DE/leistungen/geodienste/geodienste.html (Overview)

You are also free to embed all the information from the website (maps, etc.) and there is also the raw data server: https://opendata.dwd.de/

For context, from the court ruling (BGH, DeepL translation):

  Originally, it was envisaged that all services provided by the DWD to the general public for public dissemination via modern means of communication, such as mobile devices via an app, as specified in Section 4 (1) DWDG should be free of charge (Explanatory Memorandum to the Government Draft of a First Law Amending the Law on the German Meteorological Service, BT-Drucks. 18/11533, S. 22). The Bundesrat has commented on this and raised competition law concerns about the tax-funded DWD making meteorological and climatological services available to the end consumer free of charge, because such a free charge constitutes an impediment to established private-sector providers and erects barriers to market entry for new providers or new offerings (explanatory memorandum to the government draft of a first law amending the law on the German Meteorological Service, BT-Drucks. 18/11533, S. 25). The version of Section 6 (2a) DWDG that has become law is based on the resolution recommendation and report of the Bundestag Committee on Transport and Digital Infrastructure (BT-Drucks. 18/12836, p. 2), according to which not all services provided by the DWD to the general public pursuant to Section 4 (1) DWDG should be free of charge, but only those pursuant to Section 4 (1) Nos. 3 and 7 DWDG.

Quite interesting reasoning given in how many places the state intervenes and how high taxes are.

Though then again not that surprising that they manage to publicly fund something and then ruin it, leaving the taxpayer in the worst condition. I believe there’s even no official source of laws online in Germany decades after the internet has made it cheap and easy to provide access to information.

Good point. It’s even worse with court decisions. Every lawyer needs access to them. But there is no free central source for them. Instead, the government has made a deal with a private company, which itself is a spin-off of a former government entity, which receives court decisions directly from the courts. And they then sell it as a membership to lawyers and professionals, with the profits going to that private company. It’s a government subsidized monopoly. On access to documents which were created by tax funded institutions. Which all citizens need for access to the court system. It is quite a disgrace.

I think the alternative would be much worse. It's perfectly fine as it is.

The person with the most freedom of speech in their bank accounts should be able to have the most say in how the government runs. Because they have most freedom of speech at stake.

No disagreement on the weird reasoning from me, but I don't think the part about the laws is true. gesetze-im-internet.de is, according to their Impress, run by the ministry of justice.

They law part is not true, according to the website they provide almost all of the German laws. The site is also linked from the ministry of justice itself, so it is definitely legit: https://www.bmj.de/DE/Service/GesetzeInternet/GesetzeInterne... They even have an RSS feed when laws are updated: https://www.gesetze-im-internet.de/aktuDienst.html (Funnily enough, they also say IE 6 does not support the RSS feed)

It’s legit but not complete, it’s not the official form (amtliche Fassung) and only the current laws, not the historic view. In Austria for instance RIS is much more complete: https://www.ris.bka.gv.at/

Edit: not directly related but a fun fact: in Switzerland you can get a copy of the constitutional laws for free at any bookstore and it’s supposed to be understandable for normal citizens and not only for lawyers.

Interesting, did not now about the amtliche Fassung. But the full archive with the amtliche Fassung is also published online for free, starting from 1949: https://www.bgbl.de/xaver/bgbl/start.xav

They also mention it on the gesetze-im-internet website: https://www.gesetze-im-internet.de/hinweise.html

It seems that the Austrian way is much better though.

They still publish all their data free of charge and are required to do so by law. For weather forecast, they dump all parameters of their recent model runs.

So I guess I'm saying that you can already build such a system yourself quite trivially...

Like Meteocool? https://github.com/v4lli/meteocool

Developed by a former colleague of mine. Open source and my favorite for 2h forecasts about upcoming rain in Germany.

The app „Tiny Weather Forecast Germany“ (https://codeberg.org/Starfish/TinyWeatherForecastGermany) seems to exactly make use of that. There are probably others, but it is the only one I found on F-Droid.

New Zealanders pay taxes for a weather agency and a separate climate agency, neither of which provides weather local for most farms (one farm client of my agtech automation business is an hour from town; the weather report only applies to town).

Additionally, the weather service is a "state owned enterprise" expected to turn a profit.

So everyone who needs farm weather uses yr.no

After covid, I'm going to go talk to some politicians about our weather forecasting problem.

I'm somewhat surprised. The National Weather Service in the US has a website: https://weather.gov. There is a radar map https://radar.weather.gov/ and forecasts https://digital.weather.gov.

They also publish the data for free, such as map layers/radar https://opengeo.ncep.noaa.gov/geoserver/www/index.html or the weather forecasts https://www.ncei.noaa.gov/products/weather-climate-models/na...

In the past The Weather Channel lobbied to get public access shut down but failed but most people selling weather data compete by building improved forecasts, local knowledge, etc on top of NWS data. It greatly lowers the barrier to entry for anyone wanting to get into the space.

Commonwealth countries also have something called "crown copyright" unlike the US putting all tax-funded works in the public domain.

I still don't really understand it.

I believe it was Accuweather (sic) and Rick Santorum.

I have a weather app on Android and, as a New Zealander, wanted to include NZ data. MetService made it difficult and costly. When I asked how much for radar data, they essentially asked how much the app earned. I wrote to MP Megan Woods about this but never got a reply. Philip Duncan of WeatherWatch in NZ has fought this in the past. There is also a PriceWaterhouseCooper report on MetService:


My weather app has five weather models that cover NZ include a high resolution model from Expedition Marine, an NZ based meteorologist. I hope to bring model farming related weather data in the future.

Is weather forecast enough for agtech business. Until recently I was in that industry and apparently the local weather station was the way to go for accurate predictions. we have a few of these hardware companies here in Europe and always wondered why this was necessary, knowing that we have some of the most accurate predictions here in central europe. How is it for you in NZ?

It's not that my business is weather, it's that I can't do certain things in the rain, and not being able to work out a schedule is a big problem. It can cost people and businesses a lot of money. It can cost the country a lot of lost tax revenue.

If yr.no weren't providing us free weather, we'd get a lot less done, because we wouldn't know the weather 2 or 3 days in advance because our forecasters do not tell us what is happening a 45 minute drive up a valley from here.

> After covid

what do you mean? are there still restrictions in NZ?

Maskless face-to-face meetings are more effective than masked ones, in my opinion. Nevermind more effective than email or a phone call. I'd like to meet when I can have a frank discussion without a mask on so that we can gauge one another's sincerity and receptiveness to an idea.

Why can't you have a maskless face-to-face meeting? I'm having maskless face-to-face meetings in Auckland all the time.

Well, my coworker's wife wound up in the hospital because he brought covid home, and I don't want mine to. I wear a mask, he never did. Case load hasn't dropped much yet.

Also, even if I didn't care, there's no guarantee any of the politicians will meet me maskless yet.

Who are you planning to talk to? A National MP will be in favour of just selling it and then bungle the IPO returning very little to the government. A Labour MP will propose opening it up but then get distracted trying to pass other legislation that nobody wants.

That aside you might make some progress talking to the Greens if you framed it as an environmental issue.

I've set up an iPad in my hallway to show their SVG weather charts. Super simple to integrate into a simple home made dashboard website.

Here is Oslo: https://www.yr.no/en/content/1-72837/meteogram.svg

That's a great idea

Apple api - nope. Norwegian Meteorological Institute api - yup.

That’s mostly in jest though (sent from an iphone) but also because Apple bought darksky (which was my preferred weather api/source in the past) and I’d assume that’s a big part of/rolled into the weatherkit offerings now?

I loved dark sky, I'm using it for my own smart home app, but I should move away from it much earlier, because it just became so inaccurate I can no longer rely on it. I don't know if this is for my region only, or a country (Poland) or whatever, but if a forecast says it will rain for 7 days straight and there is no rain, but the rain falled immediately after forecast stopped showing any rain then it's worthless to use.

I don't know if Weather Kit will provide the same accuracy.

I'm in a process of switching to Open Weather Map right now, I started when apple announced Weather Kit to Dark Sky users via mail. But I will try this Norwegian API as well.

Same here. I have a weather station at home that publishes out to the internet and have used Dark Sky's API for years to display some maps on it. Now I have to switch to something. I live OpenWeatherMap, but going to check out the Norwegian API now.

I'm in NYC and I think Dark Sky has become more innaccurate. Don't know if it's truly gotten worse than before but there are plenty of times it's wrong on if it's going to rain. The funniest thing is it seems Siri still uses the Weather Channel data because my Dark Sky app is usually a bit different than if I ask Siri what the weather is like.

I've been using Dark Sky for years but I uninstalled it yesterday. Since the acquisition, the native Weather app has been massively upgraded with a lot of Dark Sky's best features and is very good now.

I ran the two in parallel for a few months to compare the alerts and accuracy. Weather won out.

Weird, because for me, in the UK, the weather radar is much, much lower resolution in the Weather app.

Dark Sky app however always had a longstanding bug that it’d never show past radar, only future sliding predictions, so I guess both have their problems.

I’m holding on a bit longer until Apple releases their app for the iPad. Until then, Dark Sky is probably still the best bet.

Check out the giant red warning at the top of this page: https://darksky.net/forecast/40.7127,-74.0059/us12/en

Interesting. The notice doesn’t appear within the Dark Sky app at all. But the Weather app does have a lot of improvements, I think. Perhaps under iOS 16 we’ll just see the Dark Sky app disappear and get replaced by the Apple Weather app.

I assume the Dark Sky app simply disappears from the App Store on December 31, and existing copies display an error message directing you to the weather app.

If you preferred Dark Sky before then what do you have against WeatherKit? Isn't it basically a repackaged Dark Sky for half the price?

Yr (Norwegian word meaning drizzle rain) is indeed truly excellent, but it should be noted that while its coverage is global, their forecasts outside of Europe are based on lower-accuracy models.

Do they actually do these forecasts themselves, aren't they cooperating with other meteorological agencies and sharing not only data but also forecasts?

My understanding is that those shared global models are of somewhat lower fidelity.

Free is always good but when it's fee you also get no guarantees and commitments. Apple and the free options probably target different segments.

Their weather app is also pretty good. It comes with an English language option.

Does the app provide anything valuable that you don't get with the website?

Does it have equally good data as WeatherKit? I vaguely remember that yr.no shows raw ECMWF data. WeatherKit probably provides weather.com data, which are postprocessed from ECMWF and perhaps other models and they provide the best forecasts.

The main issue with raw model data is that they are not adjusted for local altitude.

According to https://developer.apple.com/WeatherKit WeatheKit uses a forecast from Apple, and the data sources listed on https://WeatherKit.apple.com/legal-attribution.html don’t include The Weather Channel or weather.com.

Oh ok. So they're probably using the acquired DarkSky forecast.

It's what the GNOME weather applet uses. I thought it's weird it uses a Norwegian service for my UK weather, but makes sense now.

As a farmer in Australia, I use yr all the time as a alternate model to our BOM. It's proven to be very good for rainfall forecasts.

Thank you, Is this only forecast? Is there anything like this which provides reliable historical data?

I think weather underground did i.e. until Apple gulped it.

I've been searching for weather apps on Android since Apple acquired DarkSky, and eventually settled on Yr. Would recommend them.

Thank you, there are so many weather API, someone suggesting a good one helps.

Thank you!! That’s really cool!

I learned in a meeting at my last job that many weather apps solely exist to collect and sell location data. Don’t have specific evidence but it seemed to be par for the course. So I’m glad to see this API, hopefully it’ll help more privacy focused weather apps thrive.

Apple has continued to take on services third parties previously used to exploit the private information of Apple’s customers.

This includes Apple Card, but also the recently introduced multi-week payment options Apple is offering to buy its products. (Previously offered by other services “for free.”)

I have no doubt that Apple is looking at how data is leaking across the ecosystem and is seeking to stop it as much as possible.

I’m curious to see what else is in the works.

> I have no doubt that Apple is looking at how data is leaking across the ecosystem and is seeking to stop it as much as possible.

I have no doubt that Apple is looking to exploit it to their exclusive advantage as much as possible, while marketing it under the guise of their privacy measures.

Seems like a win/win when the customers and businesses interests align.

No one is pretending Apple is a charity. Of course they do all this for obscene amounts of profit. But if we get stronger privacy as a side effect, I think that’s a generally okay situation.

We're selling our freedoms for a sense of security.

Apple is almost too big to defeat. With the flip of a switch, they could turn course. (I would argue in many senses that they have.)

They're already obeying local governments as a central point of censorship and control. Even the FBI/NSA has them monitoring the files on your device.

Apple is too many functions wrapped up as a single legal entity. They have too much control, and they're growing bigger every year.

Sure, (maybe) a valid cause for concern. They seem to be the lesser of three evils though.

"Even the FBI/NSA has them monitoring the files on your device."


Why not both? If privacy is another thing that sells, then it’s a win-win for them. Especially since no-one else seems to care about it.

The point is that they don’t actually care because they’re not offering true privacy. Real privacy means my data is mine, and I decide individually which people or groups get access, including Apple.

Apples’ “privacy” is that they retain monopoly control over my data. Basically they stiff arm the competition (Facebook, Google, Amazon, etc) and get to profit exclusively by spying on me.

> Apples’ “privacy” is that they retain monopoly control over my data.

That's a strange way to describe the situation where Apple is not allowing third parties to share your private data without your permission. Apple is doing exactly what you wanted in your first paragraph, which is to let you decide who gets access to your private data. If you only give it to Apple, that's YOU deciding to voluntarily grant Apple that monopoly. It's only a "monopoly" if YOU choose it to be.

If you want to download the Facebook app from the App Store and voluntarily give your private data to Facebook, Apple isn't standing in your way. Monopoly? Seriously, I have no idea what that complaint could possibly be based on.

> and get to profit exclusively by spying on me.

I'll set aside the weird claim that Apple is "spying" on you, as though you didn't know Apple is involved in the functioning of your device. Really I'm confused why exclusivity would be a grievance. You think it'd be better if Apple were giving your data to other companies so more companies could spy on you?

The point is that there's no option where nobody gets to spy on me. I should have the option to host the server-side software myself, and/or delegate that to a third party of my choosing which provides a standardized API.

Calling what Apple does "privacy" is a sleight of hand. True privacy means my data is mine, I am not forced to share it with whatever random employees of a multinational corporation happen to be able to access it, it is not necessarily within the crosshairs of bulk warrants imposed on Apple by governments, and I have the option to refuse to allow it to be used to demographically and psychologically profile me for the purposes of advertising or anything else by any other entity including Apple.

What they are engaged in is the monopolization of user data, duplicitously dressed in the robes of "privacy".

You can choose to run your own weather data aggregation service. Just because that's something Apple is selling doesn't mean you need to buy it.

Don’t use iCloud and all your wishes are granted. You can use non-iCloud services for email, calendars, contacts etc. It’s true that you won’t get the full iCloud experience of course, but any such complaint is invalid—you can’t have your cake and eat it too, as the saying goes.

> You think it'd be better if Apple were giving your data to other companies so more companies could spy on you?

No, I think it would be better if Apple stopped spying on me at all, full stop.

The complaint was that Apple was supposedly spying with exclusivity, i.e. not allowing others to spy on you.

And regardless, if you don’t like it, the solution is entirely within your grasp. After all, there’s no law forcing you to reveal your private self to Apple.

Yeah, and I should be able to run Arch on my iPhone! /s

I can happily tolerate low quality app store ads if it means my personal data isn't being sold

Apple actually directly sells personalized App Store ads themselves: https://searchads.apple.com/

My attention is far more valuable to me than my privacy.

What business advantage does it being to Apple to (just) stop those data leaks?

I've heard (2nd-level -- ie, people that talked to people in Apple, in confidence) rumors that they want to use the data themselves to sell more stuff. All under the guise of "privacy," it's the best marketing ploy ever... if true.

I like what Apple is doing, but I've heard that rumor enough times from former employees who worked on this stuff, and people who've come out of meetings with the Safari guys, that I continue to be wary of Apple.

Apple has not that many products. The opportunities for sophisticated marketing based on purchase history are pretty slim. If they wanted to run a strategy like “market iPads to people who already have iPhones and Macs” starting a credit card business is a pretty roundabout way to do that.

I think it was clear from the beginning of Apple Pay that they’re running a very long term embrace-extend-extinguish on Visa and Mastercard, and everything in their product roadmap to date has been consistent with that, especially opening up native tap-to-pay acceptance on iPhones.

> The opportunities for sophisticated marketing based on purchase history are pretty slim.

Not really? Apple sells ads and directly profits from recommending high-margin, exploitative apps on the App Store. Seeing as their 30% cut is a multi-billion dollar market, I wouldn't just call it a "slim opportunity". More like "a better way to optimize the money printer without the SEC shouting at us" or something.

This is plausible. Apple is blocking methods used by more aggressive/invasive ad networks (at the App Store policy level, the iOS level like with IDFA, and the Safari level with ITP), which makes using Apple's ad network more advantageous (since Apple's anti-tracking strategy favors first-party tracking).


> Apple Ads Attribution API (used by Search Ads campaigns) provides visibility into clickDate, adGroupId, creativeSetId. “This is a massive, and unfair, advantage Apple is giving to its own systems and advertisers,” said Sergio Serra, senior product manager at supply-side platform InMobi.


> Which is particularly interesting considering that late last week, Eric Seufert, a mobile strategist and editor of Mobile Dev Memo, discovered a settings option in the forthcoming iOS 14 that would give preferential treatment to Apple ads personalization.

(IDFA tracking is opt-in, Apple's tracking is opt-out)

It’d be the dumbest marketing move ever, Apple makes billions from selling their devices and the rest of the ecosystem, the location data they could gather under the table would be worth small change compared to the risk they’d be taking.

It’d be an embarrassment to emphasize their privacy advantage in their announcements only to throw away that trust in pursuit of a few pennies.

Even if there is little upside reward, they might just want to decrease downside risk. It's inexpensive for them to limit data gathering. But letting data gathering fester outside their control and they are 1 PR disaster away from damaging their brand. Which is extremely valuable.

It is possible they don't get 30% cuts of any of that sale of info so want it out to avoid contagion ("but they dont pay 30% on X" spreads to "I don't want to pay 30% on Y and maybe we'll go to court over it").

Based on the emails that have come out from various trials, they want a 30% cut of everything, eventually including real world services mediated through the phone.

App Store is 14 years old. If Apple wanted to take a cut of literally everything that was facilitated using the phone e.g. Amazon or eBay they would've done it a long time ago.

The benefit to Apple is the same reason that Google invests in Project Zero.

Higher consumer confidence that a product is safe = higher engagement = higher revenue.

Here are a few of the emails I was mentioning:


>This includes Apple Card

Credit card companies have been doing this for decades.

There is a whole ecosystem of apps that exist only to justify permissions. Weather and emergency alert/extreme weather notification apps are the most common ones to harvest location data from users in the background.

Yep. Can confirm this. Weather apps provide location data. Email apps provide logged in users. SOurce: Ex-yahoo person here.

Looks like this is what they did with DarkSky after they acquired it. It looks awesome. It's a shame it's only available to Apple developers and users

Edit: my bad for skimming too fast, I'm glad there's a REST API, that's unexpected and cool!

Seems like a REST API is available, but you’ll have to be in the Apple developer program to access it. I think this might be to allow previous Dark Sky API users to continue using it.

And idea why the Apple Weather app still has the “The Weather Channel” logo on it?

I hope they continue to support Darksky, at least until the Apple Weather app is on par with it.

> I hope they continue to support Darksky

Some bad news: iOS app support ends at the end of this year, and the API/website gets yanked next March.


Because iOS 15 doesn't have WeatherKit in it yet. iOS 16 removes the Weather Channel logo.

from my understanding Dark Sky never had a network of weather stations. they collected data from multiple sources: https://darksky.net/attribution

Says there’s a REST API?

Oops, that's what I get for not reading closely enough! In my defense, my eyes glazed over after the fourth Apple-product-OS version number ;) but yes, my bad on that

Looks like it's 500k calls per month per Apple Developer Program account, so essentially $99/yr. Not totally unreasonable pricing, although I wish I could buy it a la carte. It's a bit out of my price range for hobby projects. If I ever start developing apps for my family members (who mostly have iPhones at this point) though this will be a nice freebie to come with that. Ah well.

OpenWeather is better and has 1M calls per month for free.


Those 1M calls per month do come with a pretty onerous 1 call/second limit.

That limits the number of use cases quite dramatically.

Why is it better? I thought everyone agreed Dark Sky was the best one?


Here's the pricing for those that might need >500k/mo. It looks like it won't be available until after this hits beta, but it looks to be $50/mo extra for each 1m calls (plus the price of a membership).

A quiet note of appreciation for Adam Grossman, one of the co-founders of Dark Sky. It's one thing to have an idea about a weather app, quite another to pursue it successfully within a small design agency and then make it polished enough over the years to sell it to a giant corporation like Apple. Even during that acquisition, Grossman went to bat for DarkSky's users, making sure that the API was kept live (for 2+ years running now). Post-acquisition, he has evidently become comfortable enough in a corporate environment to help evangelize the API's transition to an Apple-native SDK and Swift API. The creation of the REST API with a full mapping guide means that Grossman continues to bat for DarkSky API developers. The use of the native Swift API to create brand new Apple weather apps also appears to be well done. All-in-all, it has been a remarkable journey from a small, independent agency to a large corporate while keeping core values alive, a journey where many others have flamed out. An inspiration to all. Hats off to you, Grossman!

I’m looking forward to it, but it might be a while, before I can rely on it. It’s almost certainly iOS 16 (and above)-only. I always write my apps to support (at least) one version back, at time of release.

I’m also interested in weather (*<|:o) or not it will be completely free to use, or if there will be some attempt to monetize (like the current Weather app takes you to that God-awful Weather Channel page, if you want anything other than a summary).

At least, I hope the built-in app finally becomes usable.


Looks like it’s sort of “the Google API” model (https://developer.apple.com/weatherkit/get-started/).

If your app isn’t that popular (like most of mine), then it’s free (with attribution).

This summer, I decided to build a better weather website with my 8 year old as an educational project. We have found that the weather forecasts in our area are terrible and decided we could build a more accurate prediction algorithm.

I haven't coded in 20 years (and never did any web dev), and I'm trying to figure out what tech stack to use so that my (1) it's comprehensible to my kid, (2) it's not too frustrating for someone as inexperienced as me, and (3) it allows us to get something off the ground relatively quickly.

Anyone have suggestions for what technologies to use, or if there are sample weather websites that we can look at and model after?

edit: just to clarify, I'm not talking about the tech stack for making predictions, just for the user-facing website. We have already developed an algorithm that predicts weather much more accurately than any weather website/app we've been able to find, in our local area. We are not looking outside our local area at this time.

i think you should probably start by reassessing your expectations. creating accurate weather forecasts is a huge industry worth billions of dollars, and is a very hard problem.

creating a better prediction algorithm is probably not something that's going to be achievable for an inexperienced programmer and their 8-year-old.

ECMWF is what you are after. It's usually better than GFS.

You could also let the user choose which model to use or show a comparison.

I'm doing something related and my next step is compare models vs current weather to see which I model is more accurate.

As models change and sometimes depend on current conditions this is something that you should never stop doing (comparing which model is better)

We'd like to have our website display comparisons, so people can see how much more accurate we are than other websites. Not sure whether there are IP rules that would stop us from displaying someone else's forecasts though. Don't want to land in hot water for some simple summer project!

You say you’re trying to build a more accurate prediction algorithm to beat meteorologists. Given that goal, you should probably look to acquire a supercomputer first; tech stack wouldn’t be a concern until then.

For our local area, it was actually trivial to develop a better weather prediction algorithm. We're not looking to build something for the whole world, which would be very difficult. At this point, I'm just trying to sort out the tech stack for the website, now that we have our prediction algorithm figured out. We'll of course optimize it over time, but even our v1 blows weather.com out of the water.

If you’re just building a website for the weather forecast of one place, you don’t really need a tech stack. Completely static HTML maybe with a couple SVG weather symbols updated hourly to daily will do. Every single programming language can do the simple HTML templating needed for that; at worst you just print some strings.

I was hoping to include a few neighboring towns, but I did wonder if I could use static HTML with a dropdown menu to select the proper town. I wouldn't need to update frequently, just a couple times a day. I'd love to find a template for something along these lines, since as I mentioned, I'm extremely rusty! I have found some "build a weather website" tutorials, and I was planning to start with one of those.

Im interested to know how weather forecasts can be trivialised or 'simple' in other words for a local area? It is still dependant on predicting what happens in a washing machine of pressure systems and weather patterns split between 2 hemispheres that are in different seasons.

Perhaps it's just that the existing weather websites are quite so bad! In recent weeks, the forecasted high has been off by as much as 15 degrees.

I had the same thoughts (that it would be easy to improve on my local area's forecasts) and considered toying with it too, just for fun.

Are there any resources you'd recommend looking at? Also, if you have any interest in sharing your algorithm I'd love to take a look.

Happy to chat — contact in profile! In terms of resources, I've just been looking at "build your first website" tutorials that happen to use a weather website as the example. We've been focused on gathering data to create/validate our algo up to now, so just turning to the tech stack as this new API is released. Perfect timing!

What technology did you use to implement your prediction algorithm? It might make sense to use the same language to have less moving parts. If you used Python, for example, you may consider using either Django or Flask for the web site.

Thanks, that's helpful! The algorithm is still in a spreadsheet at this point, so it's up for grabs right now.

Disagree, if he's only interested in producing a better forecast for his location.

Im interested to know how weather forecasts can be trivialised or 'simple' in other words for a local area. How is it easy to predict what happens in a washing machine of pressure systems and weather patterns split between 2 hemispheres that are in different seasons?

I'm not sure I understand the 2nd part of your comment, but:

from first principles, coming up with an all-purpose algorithm or generally-applicable model is going to be harder than making it work for a single "use case".

for weather patterns, some parts of the country (speaking of the US here since that's where I'm familiar with) have fairly predictable cold front movements from west to east. others have ocean interactions, lake effects, etc.

Well the weather by nature is a chaotic mess of pressure systems and weather patterns, a major cause being the junction between the hot and cold temperatures of the 2 hemispheres, no?

I say 'washing machine' as it is a swirling mass of unpredictability. Yes there are obvious patterns that follow the seasons, but forecasts are required to be much more accurate than predicting the weather by patterns of the season.

They need to be accurate to each day, predicting temp, rainfall, wind etc. etc. The only way to do that is to try and predict how this chaotic system will progress over a period of time. Thats why all these weather agency talk about their new 'supercomputers' able to create more accurate forecasts. The processing power required to build these models is enormous.

No matter if you are forecasting locally or across the multiple states or countries, it still depends on forecasting the outcome of this chaotic system.

Thanks for clarifying. And I agree with everything you've written. I'm (clearly!) not an expert. Would be fun to see this done as a challenge similar to the old Netflix recommendations ML challenges.

I just wanted to know if I was missing something, Maybe there is some way of simplify forecasts for local areas that I'm not aware of. I would be interested to know.

I expect there is if you constrain what we mean by "forecasts".

Like, for my purposes, I'd simply like to know the temperature trend for the next 3-5 days. Will each day's high be hotter or cooler than the previous?

Bonus points: what's the high temperature for the next 3 days (within say, 3°F).

Anecdotally, using these standards, this seems to be consistently wrong where I live for much of the summer. I don't pay attention in the other seasons as the weather is much milder.

Does this provide any historical data like daily max, min temperatures? Quality historical weather data would be great to have in this.

I think the REST API is supposed to support this, but I didn't spot anything relevant in the Swift interface.

Glad to see this released publicly! I used it internally last year, and it was frustrating but useful (mostly relating to not having access rights and quickly changing versions).

Can you share some experiences like response times etc? Did you use Swift or the Rest API?

I used the Swift API. Response times were generally very fast, but it was also not a production build with a beta iOS version.

What data is Apple using in Central Europe? Because all weather apps only using data from US providers only are hilariously wrong.

Not sure for Central Europe, but for the UK, their app has logos for the Weather Channel, along with BreezoMeter for air quality info.

Doesn't feel as accurate as the Met Office's app, but not too bad (tends to over predict chance of rain).

Are you in iOS 16 or iOS 15 - in iOS 15 the Weather Channel logo shows in all countries.

iOS 15 - interesting, assumed they’d only be attributing data they were actually using!

Apple’s forecast does vary slightly from the ones the BBC (using MeteoGroup) and the Met Office give, so I’m not sure what their source is if it’s not the weather channel.

They use Dark Sky for some data points, even on iOS 15. But I believe the 10 day forecast is from the Weather Channel (which, to clarify, means weather.com)

I wonder too, they get the rain forecasts wrong all the time. They are at least off by 1-2 hours or somtimed forecast rain when there is none. Compare that to other apps like WeatherPro which are way closer

That's also what I'm using (WeatherPro). But sadly it's on the decline and seems to have been abandoned since the data supplier was acquired by another company. I only heard rumours though.

Using it in a watch complication right now to replace the low density ones that Apple provides; the native API is quite pleasant to use. Seems like they’re rapidly evolving it and dogfooding it heavily, since there’s a ton of deprecated API that seems to support internal clients, and hidden fields (AQI) that aren’t exposed yet to third party apps. Setup is a little clunky though because you have to register with them and wait a little while before they grant you access.

While I appreciate the foreseeable improvements in the native (Apple) weather app, I will sorely miss the no-nonsense UI of DarkSky.

It has been my go-to for years now, especially as it relates to my photography hobby. I sure hope someone steps up to replace the DarkSky experience as Apple will surely cherry pick a small subset of their core pieces to implement, likely leaving the best weather geek features on the chopping block.

It‘s the first time that I have come across the term ‚hyperlocal‘. As far as I understand in this context it means ‚high spatial and temporal resolution‘. Is that correct?

The Wikipedia article states that hyperlocal is used for information, which is relevant to the population of some given community. Does this always refer to a geographically defined community or has it been extended to other logical communities, as well?

The term hyperlocal was used by the Dark Sky app which was acquired by Apple two years ago.

I believe the term was used to mean that the weather forecast was based on your GPS position rather than the town you are in, allowing for more 'real time' forecasts like 'it is going to rain in the next 5 minutes, but this will stop in 10 minutes' (while a traditional forecast would just say '10% chance of rain at 1pm in Leeds').

The ability to get some rain and look on an app and say "it looks like this will ease off in about half an hour, so we might as well get another beer before we go to the next pub" is really useful, and on that timespan there can be different weather in different parts of town which is why a more refined forecast is required.

It's interesting to me how people think that just because it's apple it's not still skimming your data.

Saying something is "privacy first" is cheap and easy. Proving it is another and we have enough evidence to support that they are not perfect on this front.

For my money, I'll just buy a porch thermometer and look at clouds...

I always wondered how DarkSky got that "hyperlocal" weather data. After getting into amateur radio and learning about APRS, I'm thinking they used APRS weather beacons to obtain that data. If not, it sure would be good source for very localized weather in an app.

I made my own weather app for the area I live in. NOAA makes that easy here in the U.S. so it's trivial to hack for anyone with some web skills:


A few years ago there was an amazing site with graphs laid out like yours, with historical data for any location. Sadly it was flash based, and the author decided not to port it across to some other framework. I really miss easy to use graph-based weather sites.


It's now something akin to a weather almanac, describing the general weather patterns of locations. I still find it useful, but it's a shadow of its former self.

I don't really know Swift, but does the following line from that site make any sense?

"And with Swift concurrency, it’s easy to request weather data with just a few lines of code."

Without Swift Concurrency, you'd write something like this (pseudocode):

GetWeather() { results in

   // Do something with the results


The part in the curly braces is a closure/completion handler. The GetWeather call is not blocking, so it runs on another thread and then it calls your completion code when it's done.

This looks fine in a small example, but it quickly gets gnarly when you need to pipe those results to something else, or you can also end up deep in many completion handlers.

With the new concurrency model it's just this

let results = await GetWeather ()


Now let's say your UpdateUI call was also non blocking:

GetWeather() { results in

   UpdateUI(results) {

       DoSomethingElse ()


Which just becomes this

let results = await GetWeather ()

await UpdateUI(results)


They're saying that since it supports async/await the developer doesn't need to deal with callbacks/whatever. That line is accurate ("just a few lines of code") but also marketing.

I think it just says it‘s easy to request weather data concurrently and to integrate that into other concurrency stuff, thanks to Swift.

But I‘ve never used Swift so I don‘t know.

Basically just saying you can use async/await to fetch the data, I think

I just want a nice GPS app with weather radar mixed in

Is there anything in this that DarkSky didn't provide years ago before it was acquired by Apple?

DarkSkys API offering wasn’t free for more than 10k requests per month so there’s that.

perhaps, but this api needs a $99/yr account, so isn't really free at all

AFAIK there is actually LESS data than DarkSky (no daily high, low, feels like, etc..).

All that is there and listed in the documentation.

It's really not - https://developer.apple.com/weatherkit/get-started/

temperatureHigh, temperatureHighTime, apparentTemperatureLow, and dozens of other fields that were in DarkSky have "NONE" listed for the Apple API.

Did they base this off of DarkSky?

What qualifies as new and innovative in apple land is always entertaining to me

We have WewtherKit, yet we still don’t have an iPad port of the official iOS weather app?

<Apple> [doesn’t offer iPad calculator]

<everyone> Apple is hostile to users!

<Apple> [adds iPad calculator]

<everyone> Apple is hostile to third party developers!

The strangest omission to me is the calculator app.

This is deliberate. Jobs saw what the calculator app looked like on an iPad and pulled it at the last minute.

This is a problem specifically caused by the iPad's design. On desktop you just prohibit the user from making the calculator app window bigger than reasonable and that's that. But iPads require that the current app fill the entire screen, so any apps that can't are really awkward and frustrating to use - as can be seen when you run an iPhone-only app on an iPad[0]. Third-party calculator apps have the same problem, too.

Before you mention Stage Manager, I should point out that making the calculator app an iPad Pro (2021) exclusive feature would be even sillier than the current situation of not having one.

At one point this was solvable by putting a widget in the Today view, which would mean you had a properly-proportioned calculator on your homescreen. However, several iPadOS updates have broken this fix:

* iOS 14 introduced a new widget type intended to live on homescreens that does not support user interaction. In iPadOS 14, these widgets sat on top of the older interactive ones and often pushed them far off the bottom where they were basically useless.

* iPadOS 15 redesigned the homescreen to bring it to parity with iOS 14[1], at the expense of completely removing the ability to have the Today view on the homescreen. You now have to swipe to the left to get at it.

So on a current-OS iPad, the only place for a calculator app to live that is guaranteed to always be a reasonable size is the legacy widgets section of a rarely-used Minus World of a homescreen that lives to the left of your other homescreens. Everywhere else incurs various levels of silly-looking design.

[0] Only recently did we even get the ability to rotate iPhone apps contrary to the device orientation. Before that, if you used a keyboard case, iPhone apps would more or less demand you take the iPad out of the case and hold the iPad in portrait in order to use it.

[1] If I had a nickel for every iOS feature that took a year to come to the iPad, I'd have two nickels.

Space is not a good reason: you could easily fill some with a calculation history log, or even implement type/editor features like the Numi app on macOS.

Or add in a financial + graphing calculator

For what it's worth, Apple offers Numbers free on the App Store. I'm not sure how deep the financial functions go.

Graphing: The classic has been ported by its original author. Not free but a pleasant surprise https://swift.org/blog/graphing-calculator/

Sure, but they've had 12 years to solve this problem.

Is it really a problem though?

It really isn't. You likely have a phone, there's a whole App Store full of calculators, and in a pinch there's always Spotlight.

PCalc has been on iPad since just after iPad launched. https://www.loopinsight.com/2010/04/07/pcalc-now-available-f...

Apple could use this to build a weather app for the ipad. Calculator kit when?

I don't know about Calculator, but Weather for iPad is coming: https://www.theverge.com/2022/6/6/23156804/apple-weather-app...

You've got to wonder why the focus isn't on providing a seamless general Rest API experience for all services rather then having specific Swift extensions for each service.

There is a rest api.

> It’s easy to use WeatherKit in your apps for iOS 16, iPadOS 16, macOS 13, tvOS 16, and watchOS 9 with a platform-specific Swift API, and on any other platform with a REST API.

[edited for tone]

I was questioning why WeatherKit needs a "platform-specific Swift API" at all.

If the general REST API in Swift is good then WeatherKit can be integrated into Swift apps as easily as any other service. If it's not easy then improvements to the general REST API could be considered.

There are all kinds of potential performance benefits to a native SDK. Cross app caching for such common data could be a huge boon for watchOS complications & Home/Lock Screen widgets, for instance.

No idea if they are implementing those kinds of enhancements but it’s no surprise that a native SDK would be provided.

Also, how would they implement the privacy preserving black box location implementation with a REST API? There is no need for the app to ask for or receive specific location details by using this SDK.

> Cross app caching for such common data could be a huge boon for watchOS complications..

What is your differentiation criteria between anticipating a "huge" boon versus a "regular" or "modest" boon"?

What's your differentiation criteria for whether a comment is worth posting or not?

Whenever there's a bj in the username, I definitely go for it!

Would you like to know more? If so just shoot me an email.

The Swift API is ergonomic and strongly-typed.

My hunch, but I'm not sure about this, is that there might be some centralized caching going on on with the native SDK, so that if multiple apps use the WeatherKit API, they can share the cache.

No idea if there's caching across apps, but similar requests from the same app does hit a cache.

I imagine WeatherKit can then have leverage to do system-level caching of same data being requested by multiple apps?

Also not having to deal with web requests (client, retry logic, polling, etc)

> I was questioning why WeatherKit needs a "platform-specific Swift API" at all

So you can use it without having to deal with the low level detail of HTTP connections.

Low level detail of HTTP connections is already abstracted away in any general REST API.

Yes but many developers end up writing objects to hold the REST API data and methods to operate on it. And as the API changes you then to have a whole bunch of code you need to maintain and keep up to date.

Client library frees you from that.

Types is at least one thing that immediately comes to mind

If you're building a site or something, why would you use WeatherKit's REST API rather than using something like OpenWeatherMap?

Dark Sky had a big focus on "hyperlocal" weather prediction prior to the Apple acquisition.

If you're a weather app, being able to tell your users "it will start raining in 35 minutes but pass in 55 minutes" is a huge value add over "80% chance of rain in the next hour". I found it to be quite accurate down to the 5-10 minute increment when I used to live in an area with frequent summer thunderstorms.

a) WeatherKit has the resources of Apple behind it so the API you would expect be more performance and available.

b) OpenWeatherMap limits not just by total API calls but by API calls per second.

Applications are open for YC Winter 2023

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact