Re: Strategies for dealing with large number of languages?

2024-01-06 Thread 'Alexander Bertram' via GWT Users
Thanks!
This is all very helpful. 

Following on what Collin suggested, I took a look at what the effect would 
be of collapsing all the permutations.

I found that collapsing all 23 languages into a single permutation would 
increase the gzipped initial download of our application from 443k to 633k, 
which is not a good tradeoff for us as many our users are working in areas 
with poor or limited connectivity. But there is a probably room to group 
2-3 languages together to reduce the number of permutations in the 
short-term.

Also, I did some experimenting with virtual machines, and for what it's 
worth, moving from n1-highmem-32 to c3d-standard-8 cut our build time in 
half, and is much much cheaper. The C3D, which is based on AMD's Genoa 
processor seems to do better than the corresponding Intel-based C3 (and is 
cheaper).

However, long-term, it sounds like using side-loaded dictionaries are both 
feasable and much more practical. We'll start investigating how we can make 
the change this year.

Thanks again, and all the best for 2024.

Alex


 
 

On Thursday, January 4, 2024 at 2:16:24 PM UTC+1 Leon Pennings wrote:

> All,
>
> Same as Ralph, we've always been using a custom Translator class (since 
> 2009/2010 or so).
> so for instance .setText(Translator.translate("Submit"))
>
> The Translator loads all labels and puts them in mem based on the language 
> preference of the user. So only 1 set of language labels in mem.
> Works like a charm and never had a problem.
> The translations are on the server side in the db so that a superuser can 
> manage translations.
>
> rg,
>
> Leon.
>
> Op donderdag 4 januari 2024 om 09:55:26 UTC+1 schreef Ralph Fiergolla:
>
> Hi! 
> Since a big part of our string content comes from database records anyway, 
> we decided to go without any static texts but use dynamic labels. Initial 
> concerns about performance and memory footprint have proven to be 
> unfounded. That is, despite working in the context of European Institutions 
> we go with a single static language and avoid the compile time performance 
> bottleneck of having a large number of permutations. 
> Cheers,
> Ralph 
>
> On Thursday, January 4, 2024 at 1:29:08 AM UTC+1 Alexander Bertram wrote:
>
> Hi there,
> We have been using GWT to build our product for a very long time. 
> Recently, we've faced a new challenge as we've steadily been increasing the 
> number of supported translations of the application to support a global 
> audience. We're up to 24 languages, and could conceivably hit 40 in the 
> coming year.
>
> With all of these languages, come more permutations! We've stripped away 
> browser-specific permutations, but we do have a mobile version of the app, 
> which means that we have 2 x 24 permutations = 48.
>
> So far, we've addressed this problem by increasing the size of the VM that 
> builds the app, but even with 16 vCPUs it takes 10-12 minutes to build the 
> app. I'm experimenting with increasing to 32 vCPUs, but so far I can't get 
> the build time to drop linearly.
>
> Anyone else out there using alternate strategies? Is it worth trying to 
> create some sort of distributed cache from the intermediate files the 
> compiler writes out? Load translations dynamically at runtime instead? Or 
> just through more hardware at it :-)
>
> Just curious to hear what others are doing?
>
> Best,
> Alex
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/6cdd1d45-7f03-4ed0-88b9-f878cec84e09n%40googlegroups.com.


Strategies for dealing with large number of languages?

2024-01-03 Thread 'Alexander Bertram' via GWT Users
Hi there,
We have been using GWT to build our product for a very long time. Recently, 
we've faced a new challenge as we've steadily been increasing the number of 
supported translations of the application to support a global audience. 
We're up to 24 languages, and could conceivably hit 40 in the coming year.

With all of these languages, come more permutations! We've stripped away 
browser-specific permutations, but we do have a mobile version of the app, 
which means that we have 2 x 24 permutations = 48.

So far, we've addressed this problem by increasing the size of the VM that 
builds the app, but even with 16 vCPUs it takes 10-12 minutes to build the 
app. I'm experimenting with increasing to 32 vCPUs, but so far I can't get 
the build time to drop linearly.

Anyone else out there using alternate strategies? Is it worth trying to 
create some sort of distributed cache from the intermediate files the 
compiler writes out? Load translations dynamically at runtime instead? Or 
just through more hardware at it :-)

Just curious to hear what others are doing?

Best,
Alex

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/9713894e-f5e5-4603-9481-76752ccd199en%40googlegroups.com.


Re: GWT Java Full Stack Developer Job

2022-06-02 Thread 'Alexander Bertram' via GWT Users
To pile on the thread, we also have an opening for a developer position 
with a very important GWT component.

We are a small software firm based in the Hague, the Netherlands, that 
develops a niche database software, ActivityInfo, used by UN agencies and 
NGOs in more than 60 countries to collect, manage, analyze data. Think of a 
very user-friendly version of Microsoft Access, but web-based, with offline 
synchronization.

We have been using GWT from the start, since 2008, but in 2019 completed a 
full rewrite of the codebase that kept GWT, but shifted towards a 
functional reactive user interface built on a GWT port of Preact and more 
GWT-friendly version of RxJava instead of widgets. It works really well for 
reliable, complex user interfaces like our form designer, spreadsheet 
importer and more.

To meet the needs of our users, we have our own query engine that runs both 
on the server, using Google Cloud Datastore as storage, in the browser, 
backed by IndexedDB, and on our on-premise version where Sqlite is used for 
storage.

We're looking for someone to join our team to help build new features, 
particularly in our data analysis and visualization toolset, fix the 
edge-case bugs our users run into, and continuously improve performance and 
usability. We have a great CI/CD setup, release several times a week, and 
get great, direct feedback from our users in Yemen, Afghanistan, Ukraine, 
everywhere else. 

Full job post is 
here: https://www.activityinfo.org/about/careers/software-engineer.html

We anticipate fully remote, would be nice if you are close to the European 
timezone. If you're in the Netherlands, then we can offer you a nice office 
as well.

Thanks!

Alex






On Friday, May 27, 2022 at 2:01:03 AM UTC+2 Thomas wrote:

> Yes, in the reply above.
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/64519726-bf86-4b6e-bf30-9d05ade06eadn%40googlegroups.com.


Re: Our 10+ year journey with GWT (+ job opening)

2021-01-04 Thread 'Alexander Bertram' via GWT Users
Nice to hear from everyone!

Here's to the next ten years :-)

Best wishes for 2021,
Alex

On Tuesday, December 22, 2020 at 10:22:08 AM UTC+1 Segun Razaq Sobulo wrote:

>
> I've been using GWT for 7+ years (with appengine java backends) and 
> actively looking for a job. I'll push my resume.
>
> Thanks
> On Monday, 21 December 2020 at 15:24:19 UTC+1 aka...@gmail.com wrote:
>
>> We are in times where working remotly id actually a good option.
>>
>> On Monday, December 21, 2020 at 4:19:13 PM UTC+2 David Nouls wrote:
>>
>>> Hi Alex,
>>>
>>> Same story here. I have been working with GWT since it first came out. 
>>> For our current project we again opted for GWT because we share a lot of 
>>> code between client and server and productivity is high.
>>>
>>> I’m not available at the moment (maybe end of next year)… but living in 
>>> Belgium/Leuven I don’t think that is doable. Relocation is not an option. 
>>> Good luck finding people, there are not a lot on the market.
>>>
>>> Groeten,
>>> David
>>> On 20 Dec 2020, 16:16 +0100, 'Alexander Bertram' via GWT Users <
>>> google-we...@googlegroups.com>, wrote:
>>>
>>>
>>> Dear all,  
>>>
>>> I hope this email isn't too off-topic, but I wanted to share an opening 
>>> for a job on our team with a large GWT component.
>>>
>>> https://jobs.bedatadriven.com/software-engineer
>>>
>>> The first version of our product, ActivityInfo, a data collection and 
>>> analysis platform for humanitarian relief, was built with GWT, GXT and 
>>> Google Gears in 2009 and seriously would not have been possible without 
>>> GWT. 
>>>
>>> In 2018, nearly 10 years later, we looked at the amazing js ecosystem 
>>> and considered moving to Typescript or Elm.
>>>
>>> Instead, we decided to keep the bits that we loved about GWT: the 
>>> typesafety, code-reuse with the server, i18n, code splitting, linkers, and 
>>> the amazing compiler, and add SCSS for styles and our own port of Preact + 
>>> rxJava-like reactivity for dom manipulation using Elemental2.
>>>
>>> Three years after the start of ActivityInfo 4.0 we couldn't be happier 
>>> with the choice, and are more productive than ever. 
>>>
>>> If you're an experienced GWT developer that would enjoy the challenge of 
>>> a working on a modern GWT codebase, I hope you'll consider joining our team!
>>>
>>>
>>> Best,
>>> Alex
>>>
>>> --
>>> You received this message because you are subscribed to the Google 
>>> Groups "GWT Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to google-web-tool...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/google-web-toolkit/46240bd9-f716-4448-a481-acfc87229f8fn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/google-web-toolkit/46240bd9-f716-4448-a481-acfc87229f8fn%40googlegroups.com?utm_medium=email_source=footer>
>>> .
>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/aef7519b-7bcf-468e-8147-6c287a76565dn%40googlegroups.com.


Our 10+ year journey with GWT (+ job opening)

2020-12-20 Thread 'Alexander Bertram' via GWT Users

Dear all, 

I hope this email isn't too off-topic, but I wanted to share an opening for 
a job on our team with a large GWT component.

https://jobs.bedatadriven.com/software-engineer

The first version of our product, ActivityInfo, a data collection and 
analysis platform for humanitarian relief, was built with GWT, GXT and 
Google Gears in 2009 and seriously would not have been possible without 
GWT. 

In 2018, nearly 10 years later, we looked at the amazing js ecosystem and 
considered moving to Typescript or Elm.

Instead, we decided to keep the bits that we loved about GWT: the 
typesafety, code-reuse with the server, i18n, code splitting, linkers, and 
the amazing compiler, and add SCSS for styles and our own port of Preact + 
rxJava-like reactivity for dom manipulation using Elemental2. 

Three years after the start of ActivityInfo 4.0 we couldn't be happier with 
the choice, and are more productive than ever. 

If you're an experienced GWT developer that would enjoy the challenge of a 
working on a modern GWT codebase, I hope you'll consider joining our team!


Best,
Alex

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/46240bd9-f716-4448-a481-acfc87229f8fn%40googlegroups.com.