--
---
You received this message because you are subscribed to the Google Groups "Noda Time" group.
To unsubscribe from this group and stop receiving emails from it, send an email to noda-time+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
On 22 May 2013 01:37, Matt Johnson <mj1...@hotmail.com> wrote:So's nodatime.org, fwiw.
I'd be very supportive of moving our end-user site to somewhere other
than Google Code, while retaining Google Code for issue tracking, and
so on.
Unfortunately, my HTML/CSS is only workable; I'm no designer.
Well, I saw Jon's tweet and agree with the idea! We did this recently with http://hotglue.info/. Although that actually came from a modified template. However, looking at the sites mentioned you could go anywhere from a simple front-end, like autofac did where all documentation still exists in the code project, to a fuller version such as momentjs and ninject. I fully believe that ninject gained higher adoption due to the it's website (which doesn't look like it has changed much in a while.)Either way I'm willing to take on the project and can put together some ideas. But I'd like to gather some information on what you guys are looking for having as part of it.Nathan Palmer
--
Hi Nathan,Many thanks for getting this started! Here is some constructive feedback:
- I like the basic layout - clean and simple.- I like the colors. They are distinctive enough to separate this from other libraries. For example, a black/white page might be too close to momentjs.- Have we decided, is it "NodaTime" or "Noda Time" (one word or two?) We should be consistent. My vote is for one word, but it's up to Jon.
- The clock logo is simple, which is good. But it doesn't convey much other than its a time library. Have you considered anything else?
- If the name is to be one word, probably the logo should go on the left or centered above, rather than split up the text.- I think we can probably come up with better text for the subtitle and left-side. I assume this is just as a placeholder. I do like the positioning and layout.- Probably the sample shown isn't the best "hello world" example. I like that it shows a zone name and a LocalDateTime, but I think mappings are more of an advanced concept. Also, the zone shown "Brazil/East" is an alias for "America/Sao_Paulo". But IMHO, we should probably show something very common like "America/New_York" or "Europe/London".
- Have we decided, is it "NodaTime" or "Noda Time" (one word or two?) We should be consistent. My vote is for one word, but it's up to Jon.
Yes, this is purely placeholder. To be honest one of the short comings to the existing documentation is figuring out exactly "how" you use NodaTime.
We need to come up several "quick start" examples that demonstrate how you would commonly use it within an application.
This page needs to pass the 12 second test when a user pulls it up and see's the example and immediately will recognize that it provides a benefit (within 12 seconds.) If we have enough good examples I could see expanding this section out to include 4 simple usage examples.
It might be useful as well to highlight a proper way to work with timezone's since that seems like the focus of Jon's original "what's wrong with DateTime" post (the ambiguity of it.) I think I'd be looking for someone here on the list to step forward with some ideas though as I haven't written code directly against NodaTime before (just reviewed code that contained it.)
The way I have it currently setup is through Jekyll (http://jekyllrb.com/) which generates a static site after the build is done. The user guide documentation would be in simple markdown files in a directory and any new file that shows up there would end up being part of the site. I think it will be pretty easy to update via source control. I have my local version in source control just haven't pushed it anywhere yet. Now GitHub supports Jekyll as a first-class citizen which means when you push changes it goes live, however if it's hosted somewhere else then it's a pretty simple "jekyll build" to get all the HTML and it could be setup on a build server if necessary. (ruby required)I too believe that it should be easy to update the content, for anybody. Having the content in source controlled text files makes it easily approachable for a developer. However, let me know if you have any thoughts/changes on my current setup.
Also, it should be pretty easy to do versioned directories for the user guide. All it would really require is to layout the directory that way and point the main url at whatever the "live" version is. If you wanted to create a 1.1 then you duplicate 1.0 and start making the necessary changes. Then swap the main URL when it's ready. Jekyll just makes it easy to automate the templating, nav, sidebar for user guide, etc but ultimately ends up being a static site.
The generated site is pretty simple at this point and it looks very similar to the "ungenerated" site except all the markdown (md) files are converted into html and all variables/loops/includes in the templates are pulled into the file itself. We're dealing with about 4 megs of data at this point with both ungenerated and generated. All generated files go under the _site directory. I can push it up somewhere tonight/tomorrow if you want to have a look.
css/fonts/img/js/index.htmlrobots.txt
We could look at pulling the user guide dynamically via the build as well as you mentioned. Could either branch the entire site code.. or could subrepo/submodule one that contained just the documentation. Are you planning on keeping simultaneous version of the documentation online at the same time? (i.e. version 1.0 and 1.1?)
Build would need to just pull from the branch/tag for each revision into a specific directory and then run jekyll to generate it.
Ok. I put together an easy way to do the user guide using markdown files. Essentially what we have talked about so you can have multiple version folders if necessary. What format is the userguide in now? I'd like to take it and convert it over so I have the full set of pages. I have converted several of them manually to get an idea on styling. I still have a few things I want to update on that though before showing.
Now for the front-page we need to nail down exactly what we want said assuming we'd like to expand on the small amount of information on the page now. From what you guys have discussed so far it sounds like we can together 4 simple sections. I took the feedback provided and came up with a list. Take a look at this and add/modify what you can. If there are any code snippet examples you could provide or point me at that would be great as well.Reducing surprises* There are no default time zones* DateTime tries to be everything and makes too many assumptions. This leads to time consuming and difficult to identify problems.* Thread-default culture is explicit
Separation of concerns* Several data types available* LocalTime when you just need the time component* LocalDate for dates only* Instant to represent "ticks" similar to a unix timestamp
Multiple timezone providers* TZDB* Windows* Conversion to and from* Easily allow you to update the listTestability* Encourages testability* Injectable clocks* Injectable timezone providers
Hi!
This looks really great guys. Looks like it’s time to pull down Noda again and this time maybe it will be included in production code, we will see!
Great work.
Steinar.
Check out nodatime.org now :)
On 8 June 2013 09:22, Jon Skeet <sk...@pobox.com> wrote:
Check out nodatime.org now :)Looks great.Couple of comments:- The user guide at http://nodatime.org/userguide/1.1.0/ is clearly the 1.2.x user guide :-).
- Are we ditching the download links? We _could_ (it would certainly simplify distribution), but I'd like it to be a deliberate choice to depend upon NuGet, if so. (And we also don't have a source package available via NuGet, so we'd probably need to remedy that.) fwiw, we currently get about 20-25% of downloads directly, split evenly between the source and binary archives (it may be some of source downloads are from people who already downloaded the binary via NuGet).
- The persistent TOC on the user guide is quite nice vs the next/previous links I put in place, though it loses the ability to easily move through the guide without repeatedly remembering where you are. Also, reading the guide linearly through second-level topics (i.e. the pattern-specific pages) is now quite hard, as they're not on the TOC at all.

- The mobile rendering of at least the front page could use some work (the user guide is fine on mobile, at least, but the front page kinda falls apart).
- On the front page, we seem to have the summary (mission?) split between two lines. The Google Code page uses "Joda Time is the industry standard date and time handling library for Java. Noda Time is an idiomatic port to the .NET platform", which I've always thought is a pretty good summary, while the new page has both "A better date and time API for .NET" (reasonable), and "Noda Time aims to create a library which is powerful and easy to use correctly" (which seems to almost be a non sequitur). Was the latter supposed to be read as a caption for the image instead?
- Is there any way we could pull more of the content up from the bottom of the front page? On my laptop (a fairly-average MBP), the "More Info" text is right at the bottom of the page, so most of the interesting text is below-the-fold. Perhaps consider moving the large title to the left of the image, and ditching the text that's currently there? That would pull the Community/Documentation/Contributing sections entirely onto the page.
- nit: copyright should probably be the same text we use elsewhere (i.e. "The Noda Time Authors").
- nit: we can probably do with a little improvement on the guides' renderings: for example, the body text is serif, but list items are sans serif - and the font choice makes it obvious that we don't have an auto-smart-quotes conversion a la SmartyPants; can we do something like that?
But overall, I think this is a substantial improvement; well done!
Regards,Malcolm

The only thing I don't love about the new site is the text on the home page:"Noda Time aims to create a library which is powerful and easy to use correctly."Isn't there something more intelligent we can say here? I'm racking my brain for suggestions but am coming up empty. Perhaps some rotating testimonials?
Another thing that seems notably absent - there's no contributors list. Jon, having you as the primary author adds tremendous credibility to this library. Perhaps instead of saying "© The Noda Time Authors", could it say "© Jon Skeet and Contributors" instead?
Noda Time is an alternative date and time API for .NET. It helps you to think about your data more clearly, and express operations on that data more precisely.