What upgrades are currently available for my Framework? (without comparing every part in the parts list)

I’m looking for a way to more easily get a complete list what newer hardware upgrades are available now for my framework.

What I’d like to be able to do is just enter my device model/year/QR or serial and have nicely curated list of all the latest available upgrades for my device.

For example, I speculatively hunted through all the parts on the framework website recently and then discovered ‘oh, there appears to be a newer wifi module that I wasn’t aware of’ or does the F16 speaker part represent a newer improved hardware speaker compared to my original gen 1 speakers or is it merely an exact replacement part of what I already have etc etc.

I think Framework is missing out on hardware parts sales because it is not easy to get a complete list of newer/better parts that a Framework owner could buy to update their particular hardware.

Taking an original gen 1 F16 for example, I didn’t find it very easy to find out that I now have several new motherboard options, a new full width track pad, new expansion slot options, newer wifi module, new 10G ethernet card etc. Compiling this list wasn’t easy for me to do manually and I suspect my list is very incomplete too. Oh, yeah, higher capacity power supply too etc etc

So, any ideas on how to summarise all the new upgrade options for older frameworks in a simple “bring your framework hardware up to date” list?

I think maybe a website wizard would be great for this ie enter your device and date of purchase/serial number and answer a few questions then it should spit out a list of all the current upgrade parts that you could buy if you want to make your hardware more up to date.

Thoughts?

4 Likes

Thanks for creating this topic! I’d love to know if you have any examples of this from other sites? I’m currently running a discussion topic similar to this here: Configuration Science Survey Pt. 2 The only one I can think that’s similar is something like PC Part Picker, but let me know if there are other ones as well

I very much like this idea. Apple does this well: it can determine a full spec from an asset tag, and from there, it will know what items will fit.

This is probably even more powerful for Framework, since they won’t deprecate parts at the same rate Apple does.

@catastrophic had a look at PC Part Picker and the Survey and I don’t have examples from other sites but if you agree that Framework has a quite unique hardware approach generally then it might make sense to have a new and unique website hardware upgrade wizard too? What I have in mind could start very simply with some basic javascript (later it could possibly be underpinned by AI and become much more sophisticated and more of a 'hardware upgrade concierge rather then just a hardware wizard?) maybe something like this in very rough broad terms:

  1. user starts the wizard on the Framework website eg ‘Framework Hardware Upgrade Assistant/Concierge Wizard’
  2. user picks their original/existing device from a list (categorised by generation/model/QR code or similar)
  3. the wizard ask for current RAM/HDD sizes, any existing upgrades (or asks if the user is using the device in question and then does a hardware scan), either way it then lists the original/existing specs for that Framework by category eg lists the motherboard, video, processor choices for that generation device. This produces a basic starting hardware audit of the existing device hardware which the wizard can then go on to use as a baseline from which to suggest new available upgrades for that original device.
  4. the wizard then asks some questions eg It says, “Yes, there are hardware upgrades available for your device”, "Are you interested in hardware upgrades A. by category eg mb/processor/video etc B. by function eg longer runtime on battery, faster video, faster processing C. cosmetic and accessories eg expansion modules, trim etc
  5. the wizard then returns the currently available hardware upgrades based on the data above. Taking response B above, just for example, if the user chooses “B > Increase battery runtime” then the wizard might respond 'if you upgrade your F13 with the new F13 pro battery, new intel mb and keyboard kit, your battery runtime originally was approx 3.5hours and would now increase to approx 20hours (based on netflix video test, link here) (NOTE, I JUST MADE UP THE DATA ABOVE, SIMPLY AS A SOMEWHAT PLAUSIBLE EXAMPLE RESPONSE, NOT LITERALLY ACCURATE OF COURSE)
  6. the wizard/AI then produces the pick list of parts to achieve that outcome, it then asks if the user has “finished upgrading for now” or would they like to view other upgrades (loop the wizard back to Step 4 above) and then ultimately sends the customer to the Framework store/checkout once the upgrade choices have been completed.

Any good?

If the user is asked to enter their serial number, I assume the entire factory spec can be fetched from a database. This way the user won’t get any starting details wrong, which could invalidate the answers the wizard supplies.

I like your idea otherwise, but the main question of a project of this size is measuring the business benefit in concrete terms, and deciding whether it is important enough to displace resources on other projects. Running a complex business is always about trade-offs.

The complexity to this type of thing is.

  1. The first time you go through the process is it quite easy. Look at the original order, and show list of newer/upgradable parts… ← Simples.
  2. The second time, you have already bought some of the parts, so the use of a single serial number from (1), should really only show the list minus what you have already purchased at (1). If you upgraded the mainboard in(1), and use that new SN in (2), it might not link that to anything apart from the new mainboard. Or you brought some parts second hand. ← more difficult
  3. It gets even more complex if you have two or more laptops, because the system might not know which system you installed the new parts in the previous time. ← hardest.

There is a way to handle all the above scenarios, but I am just wishing to mention that it is not simple.

I terms of the ‘complexity’ concerns above, my suggestion is that ‘wizard’ is built to be very simple initially and then developed to be more sophisticated over time. In the simplest form the wizard could just pull from the QR or serial number the original hardware baseline as the starting point for the upgrade. Optionally it could then either ask the user if they’ve upgraded any parts or better yet it would ask for permission to scan the hardware on the device for the most accurate current baseline.

@James3 is right on about this. It seems simple at first, then will quickly get overly complicated to code dependencies unless there is a database that handles parts with exceptions and dependencies like they do in the automotive world.

Using the serial number does only give what shipped from Framework and I guess that is a start. Pulling the build sheet would really be a nice-to-have not a must have at the start. It could be developed later.

Picking from a list of drop downs and initial configurations is probably the easiest to start with. Then a list could be made of all the parts broken down by category that were successors from that initial model.

The Framework Laptop 16 was cited as an example by @m_p_h, so start with that.

Here are all the parts that make up the 16: (broken out by category)

Here are new parts/products that became available after the original release: (broken out by category)

The “Wizard” part can come later because a ton of time will be spent trying to fix inconsistencies and mistakes it is going to make because the dependencies and successors are going to be a whole different issue to tackle so the interface looks clean to the user.

No doubt someone will try to “let’s use AI” this mess and it is going to be a jumbled hunk once someone starts to look at the data it throws together and sadly the “AI” doesn’t learn from itself traditionally so the same mistakes will likely crop up and just be bandaged instead of solving the root of the problem which is coming up with a structured dataset that will work with current and future parts/models from Framework.

The weak point about using the serial # for anything but the original build: it will never know what parts were purchased or replaced after it shipped. This works well for Lenovo, HP, Dell, Apple, because their machines are not marketed as ala carte and certainly not in the DIY arena.

I am not saying do not ever implement it, just do not spend the effort initially when almost all Framework users have familiarity with picking from a list of drop-down choices when they built their machines or those who have numerous times “built” a virtual machine on the website just to see what the cost came up to and what options were available. (Lots of people do this)

It might be hard to not get lost in the weeds trying to figure out all the parts and pieces, one thing that might help is putting additional information on the webpage about items that are already on the store.

For example: RZ616 WIFI card, after the Compatible with table; superseded by: RZ717 WiFi card (with link to this parts page) and have this in some sort of table format. Odds are good some of these “properties” already exist on the parts in the store, they just are not published on the webpages currently. If there is not a successor or alternate, it could just show “Latest”. Even going along the same lines links to previous generation parts OR all the parts that fit in this same position on the store pages might make it easier for users to figure out all of what is/was available for their devices.

Something that might help.
If you go to the part shop.
You can select/click-on the Laptop model, based on the mainboard, and then it will filter the results down to the only components compatible with it.

Appreciate the comment.

Yes, filtering the parts list is current ‘best practice’ for users to find future upgrades but IMO it isn’t adequately user friendly. Perhaps some further refinement of these ‘filters’ and listing of more ‘bundles’ might be sufficient for some users but I suspect the upgrade process could be much better optimised for customers.

For example, in the parts list

  1. if I tick/filter for a gen 1 f16 AMD 7040 and click the ‘Bundles’ filter it only returns one item, (the expansion bay shell) and I get why it does that ie it is the only current bundled product but the actual bundle a user might want could be a bundle with "everything in it to take a gen1 and make it a gen2 plus further cosmetic suggestions eg expansion coloured ports etc etc.
  2. If I have F13 7040 gen 1 and I think ‘what do I need to buy to turn my current hardware into an F13 Pro’? I can tick the original device spec and then choose different filters above but the filters return a long list of parts and it isn’t clear which parts are relevant to my use case and which aren’t. A newbie might click bundle and find ‘the input cover kit’. Would they know if they need that? They might then click, ‘What’s new’ and be presented with a list of (I guess) 50-100 parts from which they would have to manually understand and decide what is relevant for their goal to go from f13 to f13 pro.

So in summary, perhaps more ‘bundles’ can be added to address common customer use cases or the ‘wizard’ concept above used, so that customers who want to go from generation to generation have a simpler way to get all the parts they might need suggested in simple bundles?